| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Simon Hausmann <hausmann@kde.org> | 3 * (C) 2000 Simon Hausmann <hausmann@kde.org> |
| 4 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2004, 2005, 2006, 2008, 2009, 2010, 2012 Apple Inc. All rights
reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 | 29 |
| 30 class TextRun; | 30 class TextRun; |
| 31 | 31 |
| 32 // LayoutObject for embeds and objects, often, but not always, rendered via plug
ins. | 32 // LayoutObject for embeds and objects, often, but not always, rendered via plug
ins. |
| 33 // For example, <embed src="foo.html"> does not invoke a plugin. | 33 // For example, <embed src="foo.html"> does not invoke a plugin. |
| 34 class LayoutEmbeddedObject : public LayoutPart { | 34 class LayoutEmbeddedObject : public LayoutPart { |
| 35 public: | 35 public: |
| 36 LayoutEmbeddedObject(Element*); | 36 LayoutEmbeddedObject(Element*); |
| 37 ~LayoutEmbeddedObject() override; | 37 ~LayoutEmbeddedObject() override; |
| 38 | 38 |
| 39 enum PluginUnavailabilityReason { | 39 enum PluginAvailability { |
| 40 PluginAvailable, |
| 40 PluginMissing, | 41 PluginMissing, |
| 41 PluginBlockedByContentSecurityPolicy, | 42 PluginBlockedByContentSecurityPolicy, |
| 42 }; | 43 }; |
| 43 void setPluginUnavailabilityReason(PluginUnavailabilityReason); | 44 void setPluginAvailability(PluginAvailability); |
| 44 bool showsUnavailablePluginIndicator() const; | 45 bool showsUnavailablePluginIndicator() const; |
| 45 | 46 |
| 46 const char* name() const override { return "LayoutEmbeddedObject"; } | 47 const char* name() const override { return "LayoutEmbeddedObject"; } |
| 47 | 48 |
| 48 const String& unavailablePluginReplacementText() const { return m_unavailabl
ePluginReplacementText; } | 49 const String& unavailablePluginReplacementText() const { return m_unavailabl
ePluginReplacementText; } |
| 49 | 50 |
| 50 private: | 51 private: |
| 51 void paintContents(const PaintInfo&, const LayoutPoint&) const final; | 52 void paintContents(const PaintInfo&, const LayoutPoint&) const final; |
| 52 void paintReplaced(const PaintInfo&, const LayoutPoint&) const final; | 53 void paintReplaced(const PaintInfo&, const LayoutPoint&) const final; |
| 53 void paint(const PaintInfo&, const LayoutPoint&) const final; | 54 void paint(const PaintInfo&, const LayoutPoint&) const final; |
| 54 | 55 |
| 55 void layout() final; | 56 void layout() final; |
| 56 PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidationState
&) final; | 57 PaintInvalidationReason invalidatePaintIfNeeded(const PaintInvalidationState
&) final; |
| 57 | 58 |
| 58 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectEmbeddedObject || LayoutPart::isOfType(type); } | 59 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectEmbeddedObject || LayoutPart::isOfType(type); } |
| 59 LayoutReplaced* embeddedReplacedContent() const final; | 60 LayoutReplaced* embeddedReplacedContent() const final; |
| 60 | 61 |
| 61 PaintLayerType layerTypeRequired() const final; | 62 PaintLayerType layerTypeRequired() const final; |
| 62 | 63 |
| 63 ScrollResult scroll(ScrollGranularity, const FloatSize&) final; | 64 ScrollResult scroll(ScrollGranularity, const FloatSize&) final; |
| 64 | 65 |
| 65 CompositingReasons additionalCompositingReasons() const override; | 66 CompositingReasons additionalCompositingReasons() const override; |
| 66 | 67 |
| 67 bool m_showsUnavailablePluginIndicator; | 68 PluginAvailability m_pluginAvailability = PluginAvailable; |
| 68 PluginUnavailabilityReason m_pluginUnavailabilityReason; | |
| 69 String m_unavailablePluginReplacementText; | 69 String m_unavailablePluginReplacementText; |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutEmbeddedObject, isEmbeddedObject()); | 72 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutEmbeddedObject, isEmbeddedObject()); |
| 73 | 73 |
| 74 } // namespace blink | 74 } // namespace blink |
| 75 | 75 |
| 76 #endif // LayoutEmbeddedObject_h | 76 #endif // LayoutEmbeddedObject_h |
| OLD | NEW |