diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/html/ImageDocument.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/html/ImageDocument.h')
-rw-r--r-- | Source/WebCore/html/ImageDocument.h | 74 |
1 files changed, 41 insertions, 33 deletions
diff --git a/Source/WebCore/html/ImageDocument.h b/Source/WebCore/html/ImageDocument.h index a18fdef55..9078ea051 100644 --- a/Source/WebCore/html/ImageDocument.h +++ b/Source/WebCore/html/ImageDocument.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. + * Copyright (C) 2006, 2007, 2008, 2009, 2014 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY @@ -22,60 +22,68 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef ImageDocument_h -#define ImageDocument_h +#pragma once #include "HTMLDocument.h" namespace WebCore { -class CachedImage; class ImageDocumentElement; +class HTMLImageElement; class ImageDocument final : public HTMLDocument { public: - static PassRefPtr<ImageDocument> create(Frame* frame, const URL& url) + static Ref<ImageDocument> create(Frame& frame, const URL& url) { - return adoptRef(new ImageDocument(frame, url)); + return adoptRef(*new ImageDocument(frame, url)); } - CachedImage* cachedImage(); - ImageDocumentElement* imageElement() const { return m_imageElement; } - void disconnectImageElement() { m_imageElement = 0; } - + WEBCORE_EXPORT HTMLImageElement* imageElement() const; + + void updateDuringParsing(); + void finishedParsing(); + + void disconnectImageElement() { m_imageElement = nullptr; } + +#if !PLATFORM(IOS) void windowSizeChanged(); - void imageUpdated(); void imageClicked(int x, int y); +#endif private: - ImageDocument(Frame*, const URL&); + ImageDocument(Frame&, const URL&); + + Ref<DocumentParser> createParser() override; + + LayoutSize imageSize(); - virtual PassRefPtr<DocumentParser> createParser() override; - void createDocumentStructure(); +#if !PLATFORM(IOS) void resizeImageToFit(); void restoreImageSize(); - bool imageFitsInWindow() const; - bool shouldShrinkToFit() const; - float scale() const; - + bool imageFitsInWindow(); + float scale(); +#endif + + void imageUpdated(); + ImageDocumentElement* m_imageElement; - - // Whether enough of the image has been loaded to determine its size + + // Whether enough of the image has been loaded to determine its size. bool m_imageSizeIsKnown; - - // Whether the image is shrunk to fit or not + +#if !PLATFORM(IOS) + // Whether the image is shrunk to fit or not. bool m_didShrinkImage; - - // Whether the image should be shrunk or not +#endif + + // Whether the image should be shrunk or not. bool m_shouldShrinkImage; }; -inline bool isImageDocument(const Document& document) { return document.isImageDocument(); } -void isImageDocument(const ImageDocument&); // Catch unnecessary runtime check of type known at compile time. - -DOCUMENT_TYPE_CASTS(ImageDocument) - -} +} // namespace WebCore -#endif // ImageDocument_h +SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ImageDocument) + static bool isType(const WebCore::Document& document) { return document.isImageDocument(); } + static bool isType(const WebCore::Node& node) { return is<WebCore::Document>(node) && isType(downcast<WebCore::Document>(node)); } +SPECIALIZE_TYPE_TRAITS_END() |