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; |