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 |