summaryrefslogtreecommitdiff
path: root/Source/WebCore/rendering/RenderEmbeddedObject.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/rendering/RenderEmbeddedObject.h')
-rw-r--r--Source/WebCore/rendering/RenderEmbeddedObject.h61
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())