OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "core/html/HTMLElement.h" | 24 #include "core/html/HTMLElement.h" |
25 #include "core/svg/SVGDocument.h" | 25 #include "core/svg/SVGDocument.h" |
26 #include "wtf/HashCountedSet.h" | 26 #include "wtf/HashCountedSet.h" |
27 | 27 |
28 namespace WebCore { | 28 namespace WebCore { |
29 | 29 |
30 class DOMWindow; | 30 class DOMWindow; |
31 class ExceptionState; | 31 class ExceptionState; |
32 class Frame; | 32 class Frame; |
33 class RenderPart; | 33 class RenderPart; |
| 34 class Widget; |
34 | 35 |
35 class HTMLFrameOwnerElement : public HTMLElement { | 36 class HTMLFrameOwnerElement : public HTMLElement { |
36 public: | 37 public: |
37 virtual ~HTMLFrameOwnerElement(); | 38 virtual ~HTMLFrameOwnerElement(); |
38 | 39 |
39 Frame* contentFrame() const { return m_contentFrame; } | 40 Frame* contentFrame() const { return m_contentFrame; } |
40 DOMWindow* contentWindow() const; | 41 DOMWindow* contentWindow() const; |
41 Document* contentDocument() const; | 42 Document* contentDocument() const; |
42 | 43 |
43 void setContentFrame(Frame&); | 44 void setContentFrame(Frame&); |
(...skipping 11 matching lines...) Expand all Loading... |
55 virtual ScrollbarMode scrollingMode() const { return ScrollbarAuto; } | 56 virtual ScrollbarMode scrollingMode() const { return ScrollbarAuto; } |
56 | 57 |
57 SandboxFlags sandboxFlags() const { return m_sandboxFlags; } | 58 SandboxFlags sandboxFlags() const { return m_sandboxFlags; } |
58 | 59 |
59 virtual bool loadedNonEmptyDocument() const { return false; } | 60 virtual bool loadedNonEmptyDocument() const { return false; } |
60 virtual void didLoadNonEmptyDocument() { } | 61 virtual void didLoadNonEmptyDocument() { } |
61 | 62 |
62 virtual void renderFallbackContent() { } | 63 virtual void renderFallbackContent() { } |
63 | 64 |
64 virtual bool isObjectElement() const { return false; } | 65 virtual bool isObjectElement() const { return false; } |
| 66 void setWidget(PassRefPtr<Widget>); |
| 67 Widget* ownedWidget() const; |
| 68 |
| 69 class UpdateSuspendScope { |
| 70 public: |
| 71 UpdateSuspendScope(); |
| 72 ~UpdateSuspendScope(); |
| 73 |
| 74 private: |
| 75 void performDeferredWidgetTreeOperations(); |
| 76 }; |
65 | 77 |
66 protected: | 78 protected: |
67 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&); | 79 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&); |
68 void setSandboxFlags(SandboxFlags); | 80 void setSandboxFlags(SandboxFlags); |
69 | 81 |
70 bool loadOrRedirectSubframe(const KURL&, const AtomicString& frameName, bool
lockBackForwardList); | 82 bool loadOrRedirectSubframe(const KURL&, const AtomicString& frameName, bool
lockBackForwardList); |
71 | 83 |
72 private: | 84 private: |
73 virtual bool isKeyboardFocusable() const OVERRIDE; | 85 virtual bool isKeyboardFocusable() const OVERRIDE; |
74 virtual bool isFrameOwnerElement() const OVERRIDE FINAL { return true; } | 86 virtual bool isFrameOwnerElement() const OVERRIDE FINAL { return true; } |
75 | 87 |
76 Frame* m_contentFrame; | 88 Frame* m_contentFrame; |
| 89 RefPtr<Widget> m_widget; |
77 SandboxFlags m_sandboxFlags; | 90 SandboxFlags m_sandboxFlags; |
78 }; | 91 }; |
79 | 92 |
80 DEFINE_ELEMENT_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement()); | 93 DEFINE_ELEMENT_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement()); |
81 | 94 |
82 class SubframeLoadingDisabler { | 95 class SubframeLoadingDisabler { |
83 public: | 96 public: |
84 explicit SubframeLoadingDisabler(Node& root) | 97 explicit SubframeLoadingDisabler(Node& root) |
85 : m_root(root) | 98 : m_root(root) |
86 { | 99 { |
(...skipping 22 matching lines...) Expand all Loading... |
109 DEFINE_STATIC_LOCAL(HashCountedSet<Node*>, nodes, ()); | 122 DEFINE_STATIC_LOCAL(HashCountedSet<Node*>, nodes, ()); |
110 return nodes; | 123 return nodes; |
111 } | 124 } |
112 | 125 |
113 Node& m_root; | 126 Node& m_root; |
114 }; | 127 }; |
115 | 128 |
116 } // namespace WebCore | 129 } // namespace WebCore |
117 | 130 |
118 #endif // HTMLFrameOwnerElement_h | 131 #endif // HTMLFrameOwnerElement_h |
OLD | NEW |