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/rendering/RenderEmbeddedObject.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/rendering/RenderEmbeddedObject.h')
-rw-r--r-- | Source/WebCore/rendering/RenderEmbeddedObject.h | 61 |
1 files changed, 28 insertions, 33 deletions
diff --git a/Source/WebCore/rendering/RenderEmbeddedObject.h b/Source/WebCore/rendering/RenderEmbeddedObject.h index e74e86e1a..bb7d0c878 100644 --- a/Source/WebCore/rendering/RenderEmbeddedObject.h +++ b/Source/WebCore/rendering/RenderEmbeddedObject.h @@ -20,8 +20,7 @@ * */ -#ifndef RenderEmbeddedObject_h -#define RenderEmbeddedObject_h +#pragma once #include "RenderWidget.h" @@ -35,10 +34,10 @@ class TextRun; // For example, <embed src="foo.html"> does not invoke a plug-in. class RenderEmbeddedObject : public RenderWidget { public: - RenderEmbeddedObject(HTMLFrameOwnerElement&, PassRef<RenderStyle>); + RenderEmbeddedObject(HTMLFrameOwnerElement&, RenderStyle&&); virtual ~RenderEmbeddedObject(); - static RenderPtr<RenderEmbeddedObject> createForApplet(HTMLAppletElement&, PassRef<RenderStyle>); + static RenderPtr<RenderEmbeddedObject> createForApplet(HTMLAppletElement&, RenderStyle&&); enum PluginUnavailabilityReason { PluginMissing, @@ -46,58 +45,56 @@ public: PluginBlockedByContentSecurityPolicy, InsecurePluginVersion, }; - void setPluginUnavailabilityReason(PluginUnavailabilityReason); - void setPluginUnavailabilityReasonWithDescription(PluginUnavailabilityReason, const String& description); + WEBCORE_EXPORT void setPluginUnavailabilityReason(PluginUnavailabilityReason); + WEBCORE_EXPORT void setPluginUnavailabilityReasonWithDescription(PluginUnavailabilityReason, const String& description); bool isPluginUnavailable() const { return m_isPluginUnavailable; } - bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && !m_isUnavailablePluginIndicatorHidden; } - void setUnavailablePluginIndicatorIsHidden(bool); + WEBCORE_EXPORT void setUnavailablePluginIndicatorIsHidden(bool); void handleUnavailablePluginIndicatorEvent(Event*); - bool isReplacementObscured() const; + WEBCORE_EXPORT bool isReplacementObscured() const; -#if USE(ACCELERATED_COMPOSITING) bool allowsAcceleratedCompositing() const; -#endif protected: - virtual void paintReplaced(PaintInfo&, const LayoutPoint&) override final; - virtual void paint(PaintInfo&, const LayoutPoint&) override; + void paintReplaced(PaintInfo&, const LayoutPoint&) final; + void paint(PaintInfo&, const LayoutPoint&) override; - virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const override; + CursorDirective getCursor(const LayoutPoint&, Cursor&) const override; protected: - virtual void layout() override; + void layout() override; + void willBeDestroyed() override; private: - virtual const char* renderName() const override { return "RenderEmbeddedObject"; } - virtual bool isEmbeddedObject() const override final { return true; } + const char* renderName() const override { return "RenderEmbeddedObject"; } + bool isEmbeddedObject() const final { return true; } - void paintSnapshotImage(PaintInfo&, const LayoutPoint&, Image*); - virtual void paintContents(PaintInfo&, const LayoutPoint&) override final; + bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && m_isUnavailablePluginIndicatorState != UnavailablePluginIndicatorState::Hidden; } + void paintSnapshotImage(PaintInfo&, const LayoutPoint&, Image&); + void paintContents(PaintInfo&, const LayoutPoint&) final; -#if USE(ACCELERATED_COMPOSITING) - virtual bool requiresLayer() const override final; -#endif + bool requiresLayer() const final; - virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override final; + bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) final; - virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Element** stopElement = nullptr, RenderBox* startBox = nullptr, const IntPoint& wheelEventAbsolutePoint = IntPoint()) override final; - virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier, Element** stopElement) override final; + bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Element** stopElement = nullptr, RenderBox* startBox = nullptr, const IntPoint& wheelEventAbsolutePoint = IntPoint()) final; + bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier, Element** stopElement) final; void setUnavailablePluginIndicatorIsPressed(bool); - bool isInUnavailablePluginIndicator(MouseEvent*) const; - bool isInUnavailablePluginIndicator(const LayoutPoint&) const; - bool getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, FloatRect& indicatorRect, FloatRect& replacementTextRect, FloatRect& arrowRect, Font&, TextRun&, float& textWidth) const; + bool isInUnavailablePluginIndicator(const MouseEvent&) const; + bool isInUnavailablePluginIndicator(const FloatPoint&) const; + bool getReplacementTextGeometry(const LayoutPoint& accumulatedOffset, FloatRect& contentRect, FloatRect& indicatorRect, FloatRect& replacementTextRect, FloatRect& arrowRect, FontCascade&, TextRun&, float& textWidth) const; LayoutRect unavailablePluginIndicatorBounds(const LayoutPoint&) const; - virtual bool canHaveChildren() const override final; + bool canHaveChildren() const final; virtual bool canHaveWidget() const { return true; } bool m_isPluginUnavailable; - bool m_isUnavailablePluginIndicatorHidden; + enum class UnavailablePluginIndicatorState { Uninitialized, Hidden, Visible }; + UnavailablePluginIndicatorState m_isUnavailablePluginIndicatorState { UnavailablePluginIndicatorState::Uninitialized }; PluginUnavailabilityReason m_pluginUnavailabilityReason; String m_unavailablePluginReplacementText; bool m_unavailablePluginIndicatorIsPressed; @@ -105,8 +102,6 @@ private: String m_unavailabilityDescription; }; -RENDER_OBJECT_TYPE_CASTS(RenderEmbeddedObject, isEmbeddedObject()) - } // namespace WebCore -#endif // RenderEmbeddedObject_h +SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderEmbeddedObject, isEmbeddedObject()) |