Index: Source/core/frame/DOMWindow.h |
diff --git a/Source/core/frame/DOMWindow.h b/Source/core/frame/DOMWindow.h |
index b14d7822b705b55fbc9b3202f1ad8bbb6d84c372..9972a4e56b687c8929cec5f2bc117cd90181e1ab 100644 |
--- a/Source/core/frame/DOMWindow.h |
+++ b/Source/core/frame/DOMWindow.h |
@@ -21,6 +21,7 @@ class CSSStyleDeclaration; |
class Console; |
class DOMSelection; |
class DOMWindowCSS; |
+class DOMWindowProperty; |
class Document; |
class Element; |
class Frame; |
@@ -43,10 +44,13 @@ class DOMWindow : public EventTargetWithInlineData, public RefCountedWillBeNoBas |
DEFINE_WRAPPERTYPEINFO(); |
REFCOUNTED_EVENT_TARGET(DOMWindow); |
public: |
+ virtual ~DOMWindow(); |
+ |
// RefCountedWillBeGarbageCollectedFinalized overrides: |
void trace(Visitor* visitor) override |
{ |
dcheng
2015/02/02 19:27:52
+haraken, is there a threshhold that it's preferab
|
EventTargetWithInlineData::trace(visitor); |
+ visitor->trace(m_location); |
} |
virtual bool isLocalDOMWindow() const { return false; } |
@@ -65,8 +69,7 @@ public: |
virtual BarProp* toolbar() const = 0; |
virtual Navigator* navigator() const = 0; |
Navigator* clientInformation() const { return navigator(); } |
- // FIXME: Temporary, until window.location is implemented for remote frames. |
- virtual Location* location() const = 0; |
+ Location* location() const; |
virtual bool offscreenBuffering() const = 0; |
@@ -190,6 +193,13 @@ public: |
// See https://bugs.webkit.org/show_bug.cgi?id=62054 |
bool isCurrentlyDisplayedInFrame() const; |
+ virtual void reset(); |
+ |
+ void registerProperty(DOMWindowProperty*); |
+ void unregisterProperty(DOMWindowProperty*); |
+ void willDestroyDocumentInFrame(); |
+ void willDetachDocumentFromFrame(); |
+ |
DEFINE_ATTRIBUTE_EVENT_LISTENER(animationend); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(animationiteration); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(animationstart); |
@@ -207,6 +217,11 @@ public: |
DEFINE_ATTRIBUTE_EVENT_LISTENER(touchmove); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(touchend); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(touchcancel); |
+ |
+private: |
+ |
dcheng
2015/02/02 19:27:52
Nit: remove blank line.
|
+ WillBeHeapHashSet<RawPtrWillBeWeakMember<DOMWindowProperty>> m_properties; |
+ mutable RefPtrWillBeMember<Location> m_location; |
}; |
} // namespace blink |