Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: Source/core/html/HTMLFrameOwnerElement.h

Issue 517043003: Move Frame to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Back out non-Oilpan experiment + tidy up by adding frame() ref accessors Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 19 matching lines...) Expand all
30 30
31 namespace blink { 31 namespace blink {
32 32
33 class LocalDOMWindow; 33 class LocalDOMWindow;
34 class ExceptionState; 34 class ExceptionState;
35 class Frame; 35 class Frame;
36 class RenderPart; 36 class RenderPart;
37 class Widget; 37 class Widget;
38 38
39 class HTMLFrameOwnerElement : public HTMLElement, public FrameOwner { 39 class HTMLFrameOwnerElement : public HTMLElement, public FrameOwner {
40 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(HTMLFrameOwnerElement);
40 public: 41 public:
41 virtual ~HTMLFrameOwnerElement(); 42 virtual ~HTMLFrameOwnerElement();
42 43
43 Frame* contentFrame() const { return m_contentFrame; } 44 Frame* contentFrame() const { return m_contentFrame; }
44 LocalDOMWindow* contentWindow() const; 45 LocalDOMWindow* contentWindow() const;
45 Document* contentDocument() const; 46 Document* contentDocument() const;
46 47
47 void setContentFrame(Frame&); 48 void setContentFrame(Frame&);
48 void clearContentFrame(); 49 void clearContentFrame();
49 50
(...skipping 19 matching lines...) Expand all
69 70
70 class UpdateSuspendScope { 71 class UpdateSuspendScope {
71 public: 72 public:
72 UpdateSuspendScope(); 73 UpdateSuspendScope();
73 ~UpdateSuspendScope(); 74 ~UpdateSuspendScope();
74 75
75 private: 76 private:
76 void performDeferredWidgetTreeOperations(); 77 void performDeferredWidgetTreeOperations();
77 }; 78 };
78 79
80 virtual void trace(Visitor*) OVERRIDE;
81
79 protected: 82 protected:
80 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&); 83 HTMLFrameOwnerElement(const QualifiedName& tagName, Document&);
81 void setSandboxFlags(SandboxFlags); 84 void setSandboxFlags(SandboxFlags);
82 85
83 bool loadOrRedirectSubframe(const KURL&, const AtomicString& frameName, bool lockBackForwardList); 86 bool loadOrRedirectSubframe(const KURL&, const AtomicString& frameName, bool lockBackForwardList);
84 87
85 private: 88 private:
86 virtual bool isKeyboardFocusable() const OVERRIDE; 89 virtual bool isKeyboardFocusable() const OVERRIDE;
87 virtual bool isFrameOwnerElement() const OVERRIDE FINAL { return true; } 90 virtual bool isFrameOwnerElement() const OVERRIDE FINAL { return true; }
88 91
89 // FrameOwner overrides: 92 // FrameOwner overrides:
90 virtual bool isLocal() const { return true; } 93 virtual bool isLocal() const { return true; }
91 virtual SandboxFlags sandboxFlags() const OVERRIDE { return m_sandboxFlags; } 94 virtual SandboxFlags sandboxFlags() const OVERRIDE { return m_sandboxFlags; }
92 virtual void dispatchLoad() OVERRIDE; 95 virtual void dispatchLoad() OVERRIDE;
93 96
94 Frame* m_contentFrame; 97 RawPtrWillBeMember<Frame> m_contentFrame;
95 RefPtr<Widget> m_widget; 98 RefPtr<Widget> m_widget;
96 SandboxFlags m_sandboxFlags; 99 SandboxFlags m_sandboxFlags;
97 }; 100 };
98 101
99 DEFINE_ELEMENT_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement()); 102 DEFINE_ELEMENT_TYPE_CASTS(HTMLFrameOwnerElement, isFrameOwnerElement());
100 103
101 class SubframeLoadingDisabler { 104 class SubframeLoadingDisabler {
102 STACK_ALLOCATED(); 105 STACK_ALLOCATED();
103 public: 106 public:
104 explicit SubframeLoadingDisabler(Node& root) 107 explicit SubframeLoadingDisabler(Node& root)
(...skipping 22 matching lines...) Expand all
127 static WillBeHeapHashCountedSet<RawPtrWillBeMember<Node> >& disabledSubtreeR oots(); 130 static WillBeHeapHashCountedSet<RawPtrWillBeMember<Node> >& disabledSubtreeR oots();
128 131
129 RawPtrWillBeMember<Node> m_root; 132 RawPtrWillBeMember<Node> m_root;
130 }; 133 };
131 134
132 DEFINE_TYPE_CASTS(HTMLFrameOwnerElement, FrameOwner, owner, owner->isLocal(), ow ner.isLocal()); 135 DEFINE_TYPE_CASTS(HTMLFrameOwnerElement, FrameOwner, owner, owner->isLocal(), ow ner.isLocal());
133 136
134 } // namespace blink 137 } // namespace blink
135 138
136 #endif // HTMLFrameOwnerElement_h 139 #endif // HTMLFrameOwnerElement_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698