| 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 22 matching lines...) Expand all Loading... |
| 33 class SVGDocument; | 33 class SVGDocument; |
| 34 | 34 |
| 35 class HTMLFrameOwnerElement : public HTMLElement { | 35 class HTMLFrameOwnerElement : public HTMLElement { |
| 36 public: | 36 public: |
| 37 virtual ~HTMLFrameOwnerElement(); | 37 virtual ~HTMLFrameOwnerElement(); |
| 38 | 38 |
| 39 Frame* contentFrame() const { return m_contentFrame; } | 39 Frame* contentFrame() const { return m_contentFrame; } |
| 40 DOMWindow* contentWindow() const; | 40 DOMWindow* contentWindow() const; |
| 41 Document* contentDocument() const; | 41 Document* contentDocument() const; |
| 42 | 42 |
| 43 void setContentFrame(Frame*); | 43 void setContentFrame(Frame&); |
| 44 void clearContentFrame(); | 44 void clearContentFrame(); |
| 45 | 45 |
| 46 void disconnectContentFrame(); | 46 void disconnectContentFrame(); |
| 47 | 47 |
| 48 // Most subclasses use RenderPart (either RenderEmbeddedObject or RenderIFra
me) | 48 // Most subclasses use RenderPart (either RenderEmbeddedObject or RenderIFra
me) |
| 49 // except for HTMLObjectElement and HTMLEmbedElement which may return any | 49 // except for HTMLObjectElement and HTMLEmbedElement which may return any |
| 50 // RenderObject when using fallback content. | 50 // RenderObject when using fallback content. |
| 51 RenderPart* renderPart() const; | 51 RenderPart* renderPart() const; |
| 52 | 52 |
| 53 SVGDocument* getSVGDocument(ExceptionState&) const; | 53 SVGDocument* getSVGDocument(ExceptionState&) const; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 74 virtual bool isFrameOwnerElement() const OVERRIDE { return true; } | 74 virtual bool isFrameOwnerElement() const OVERRIDE { return true; } |
| 75 | 75 |
| 76 Frame* m_contentFrame; | 76 Frame* m_contentFrame; |
| 77 SandboxFlags m_sandboxFlags; | 77 SandboxFlags m_sandboxFlags; |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 DEFINE_NODE_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement()); | 80 DEFINE_NODE_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement()); |
| 81 | 81 |
| 82 class SubframeLoadingDisabler { | 82 class SubframeLoadingDisabler { |
| 83 public: | 83 public: |
| 84 explicit SubframeLoadingDisabler(Node* root) | 84 explicit SubframeLoadingDisabler(Node& root) |
| 85 : m_root(root) | 85 : m_root(root) |
| 86 { | 86 { |
| 87 disabledSubtreeRoots().add(m_root); | 87 disabledSubtreeRoots().add(&m_root); |
| 88 } | 88 } |
| 89 | 89 |
| 90 ~SubframeLoadingDisabler() | 90 ~SubframeLoadingDisabler() |
| 91 { | 91 { |
| 92 disabledSubtreeRoots().remove(m_root); | 92 disabledSubtreeRoots().remove(&m_root); |
| 93 } | 93 } |
| 94 | 94 |
| 95 static bool canLoadFrame(HTMLFrameOwnerElement* owner) | 95 static bool canLoadFrame(HTMLFrameOwnerElement& owner) |
| 96 { | 96 { |
| 97 for (Node* node = owner; node; node = node->parentOrShadowHostNode()) { | 97 for (Node* node = &owner; node; node = node->parentOrShadowHostNode()) { |
| 98 if (disabledSubtreeRoots().contains(node)) | 98 if (disabledSubtreeRoots().contains(node)) |
| 99 return false; | 99 return false; |
| 100 } | 100 } |
| 101 return true; | 101 return true; |
| 102 } | 102 } |
| 103 | 103 |
| 104 private: | 104 private: |
| 105 static HashCountedSet<Node*>& disabledSubtreeRoots() | 105 static HashCountedSet<Node*>& disabledSubtreeRoots() |
| 106 { | 106 { |
| 107 DEFINE_STATIC_LOCAL(HashCountedSet<Node*>, nodes, ()); | 107 DEFINE_STATIC_LOCAL(HashCountedSet<Node*>, nodes, ()); |
| 108 return nodes; | 108 return nodes; |
| 109 } | 109 } |
| 110 | 110 |
| 111 Node* m_root; | 111 Node& m_root; |
| 112 }; | 112 }; |
| 113 | 113 |
| 114 } // namespace WebCore | 114 } // namespace WebCore |
| 115 | 115 |
| 116 #endif // HTMLFrameOwnerElement_h | 116 #endif // HTMLFrameOwnerElement_h |
| OLD | NEW |