Chromium Code Reviews| Index: Source/core/frame/DOMWindow.h |
| diff --git a/Source/core/frame/DOMWindow.h b/Source/core/frame/DOMWindow.h |
| index 0d9d20832198e6fd5019d1eedde35873dcf19c88..95e5310466cf664349fc524b1a7daf3b6b8e1ab5 100644 |
| --- a/Source/core/frame/DOMWindow.h |
| +++ b/Source/core/frame/DOMWindow.h |
| @@ -91,11 +91,14 @@ enum PageshowEventPersistence { |
| enum SetLocationLocking { LockHistoryBasedOnGestureState, LockHistoryAndBackForwardList }; |
| - class DOMWindow FINAL : public RefCounted<DOMWindow>, public ScriptWrappable, public EventTargetWithInlineData, public FrameDestructionObserver, public Supplementable<DOMWindow>, public LifecycleContext<DOMWindow> { |
| - REFCOUNTED_EVENT_TARGET(DOMWindow); |
| + class DOMWindow FINAL : public RefCountedWillBeRefCountedGarbageCollected<DOMWindow>, public ScriptWrappable, public EventTargetWithInlineData, public FrameDestructionObserver, public Supplementable<DOMWindow>, public LifecycleContext<DOMWindow> { |
|
haraken
2014/03/26 01:13:32
Don't you need to use WillBeHeapSupplementable<DOM
sof
2014/03/26 06:36:46
I would prefer to do it later; as long as the supp
sof
2014/03/26 07:44:27
The one interesting case is DOMWindowPagePopup::~D
haraken
2014/03/26 08:07:16
Makes sense. Agreed with the point that it's safe
|
| + DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<DOMWindow>); |
| public: |
| static PassRefPtr<Document> createDocument(const String& mimeType, const DocumentInit&, bool forceXHTML); |
| - static PassRefPtr<DOMWindow> create(LocalFrame& frame) { return adoptRef(new DOMWindow(frame)); } |
| + static PassRefPtrWillBeRawPtr<DOMWindow> create(LocalFrame& frame) |
| + { |
| + return adoptRefWillBeRefCountedGarbageCollected(new DOMWindow(frame)); |
| + } |
| virtual ~DOMWindow(); |
| PassRefPtr<Document> installNewDocument(const String& mimeType, const DocumentInit&, bool forceXHTML = false); |
| @@ -148,7 +151,7 @@ enum PageshowEventPersistence { |
| void print(); |
| void stop(); |
| - PassRefPtr<DOMWindow> open(const String& urlString, const AtomicString& frameName, const String& windowFeaturesString, |
| + PassRefPtrWillBeRawPtr<DOMWindow> open(const String& urlString, const AtomicString& frameName, const String& windowFeaturesString, |
| DOMWindow* callingWindow, DOMWindow* enteredWindow); |
| typedef void (*PrepareDialogFunction)(DOMWindow*, void* context); |
| @@ -322,6 +325,8 @@ enum PageshowEventPersistence { |
| // FIXME: This shouldn't be public once DOMWindow becomes ExecutionContext. |
| void clearEventQueue(); |
| + void trace(Visitor*); |
| + |
| protected: |
| DOMWindowLifecycleNotifier& lifecycleNotifier(); |
| @@ -343,27 +348,27 @@ enum PageshowEventPersistence { |
| HashSet<DOMWindowProperty*> m_properties; |
| - mutable RefPtrWillBePersistent<Screen> m_screen; |
| - mutable RefPtrWillBePersistent<History> m_history; |
| - mutable RefPtr<BarProp> m_locationbar; |
| - mutable RefPtr<BarProp> m_menubar; |
| - mutable RefPtr<BarProp> m_personalbar; |
| - mutable RefPtr<BarProp> m_scrollbars; |
| - mutable RefPtr<BarProp> m_statusbar; |
| - mutable RefPtr<BarProp> m_toolbar; |
| - mutable RefPtrWillBePersistent<Console> m_console; |
| - mutable RefPtrWillBePersistent<Navigator> m_navigator; |
| - mutable RefPtrWillBePersistent<Location> m_location; |
| + mutable RefPtrWillBeMember<Screen> m_screen; |
| + mutable RefPtrWillBeMember<History> m_history; |
| + mutable RefPtrWillBeMember<BarProp> m_locationbar; |
| + mutable RefPtrWillBeMember<BarProp> m_menubar; |
| + mutable RefPtrWillBeMember<BarProp> m_personalbar; |
| + mutable RefPtrWillBeMember<BarProp> m_scrollbars; |
| + mutable RefPtrWillBeMember<BarProp> m_statusbar; |
| + mutable RefPtrWillBeMember<BarProp> m_toolbar; |
| + mutable RefPtrWillBeMember<Console> m_console; |
| + mutable RefPtrWillBeMember<Navigator> m_navigator; |
| + mutable RefPtrWillBeMember<Location> m_location; |
| mutable RefPtr<StyleMedia> m_media; |
| String m_status; |
| String m_defaultStatus; |
| - mutable RefPtrWillBePersistent<Storage> m_sessionStorage; |
| - mutable RefPtrWillBePersistent<Storage> m_localStorage; |
| - mutable RefPtrWillBePersistent<ApplicationCache> m_applicationCache; |
| + mutable RefPtrWillBeMember<Storage> m_sessionStorage; |
| + mutable RefPtrWillBeMember<Storage> m_localStorage; |
| + mutable RefPtrWillBeMember<ApplicationCache> m_applicationCache; |
| - mutable RefPtrWillBePersistent<Performance> m_performance; |
| + mutable RefPtrWillBeMember<Performance> m_performance; |
| mutable RefPtr<DOMWindowCSS> m_css; |