summaryrefslogtreecommitdiff
path: root/Source/WebCore/html/ImageDocument.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/html/ImageDocument.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/html/ImageDocument.h')
-rw-r--r--Source/WebCore/html/ImageDocument.h74
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()