 Chromium Code Reviews
 Chromium Code Reviews Issue 211373002:
  Oilpan: move DOMWindow object to the oilpan heap.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 211373002:
  Oilpan: move DOMWindow object to the oilpan heap.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| 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; |