| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef DOMWindow_h | 5 #ifndef DOMWindow_h |
| 6 #define DOMWindow_h | 6 #define DOMWindow_h |
| 7 | 7 |
| 8 #include "bindings/core/v8/SerializedScriptValue.h" |
| 8 #include "core/CoreExport.h" | 9 #include "core/CoreExport.h" |
| 9 #include "core/events/EventTarget.h" | 10 #include "core/events/EventTarget.h" |
| 10 #include "core/frame/DOMWindowBase64.h" | 11 #include "core/frame/DOMWindowBase64.h" |
| 11 #include "core/frame/Location.h" | |
| 12 #include "platform/heap/Handle.h" | 12 #include "platform/heap/Handle.h" |
| 13 #include "platform/scroll/ScrollableArea.h" | 13 #include "platform/scroll/ScrollableArea.h" |
| 14 | 14 |
| 15 #include "wtf/Forward.h" | 15 #include "wtf/Forward.h" |
| 16 | 16 |
| 17 namespace blink { | 17 namespace blink { |
| 18 | 18 |
| 19 class ApplicationCache; | 19 class ApplicationCache; |
| 20 class BarProp; | 20 class BarProp; |
| 21 class CSSRuleList; | 21 class CSSRuleList; |
| 22 class CSSStyleDeclaration; | 22 class CSSStyleDeclaration; |
| 23 class Console; | 23 class Console; |
| 24 class CustomElementsRegistry; | 24 class CustomElementsRegistry; |
| 25 class DOMSelection; | 25 class DOMSelection; |
| 26 class DOMWindowCSS; | 26 class DOMWindowCSS; |
| 27 class Document; | 27 class Document; |
| 28 class Element; | 28 class Element; |
| 29 class Frame; | 29 class Frame; |
| 30 class FrameRequestCallback; | 30 class FrameRequestCallback; |
| 31 class History; | 31 class History; |
| 32 class IdleRequestCallback; | 32 class IdleRequestCallback; |
| 33 class IdleRequestOptions; | 33 class IdleRequestOptions; |
| 34 class Location; |
| 34 class LocalDOMWindow; | 35 class LocalDOMWindow; |
| 35 class MediaQueryList; | 36 class MediaQueryList; |
| 36 class Navigator; | 37 class Navigator; |
| 37 class Screen; | 38 class Screen; |
| 38 class ScrollToOptions; | 39 class ScrollToOptions; |
| 39 class SerializedScriptValue; | 40 class SerializedScriptValue; |
| 40 class Storage; | 41 class Storage; |
| 41 class StyleMedia; | 42 class StyleMedia; |
| 42 | 43 |
| 43 typedef HeapVector<Member<MessagePort>, 1> MessagePortArray; | |
| 44 | |
| 45 class CORE_EXPORT DOMWindow : public EventTargetWithInlineData, public DOMWindow
Base64 { | 44 class CORE_EXPORT DOMWindow : public EventTargetWithInlineData, public DOMWindow
Base64 { |
| 46 DEFINE_WRAPPERTYPEINFO(); | 45 DEFINE_WRAPPERTYPEINFO(); |
| 47 public: | 46 public: |
| 48 ~DOMWindow() override; | 47 ~DOMWindow() override; |
| 49 | 48 |
| 50 // GarbageCollectedFinalized overrides: | 49 // GarbageCollectedFinalized overrides: |
| 51 DECLARE_VIRTUAL_TRACE(); | 50 DECLARE_VIRTUAL_TRACE(); |
| 52 | 51 |
| 53 virtual bool isLocalDOMWindow() const { return false; } | 52 virtual bool isLocalDOMWindow() const { return false; } |
| 54 virtual bool isRemoteDOMWindow() const { return false; } | 53 virtual bool isRemoteDOMWindow() const { return false; } |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 virtual CustomElementsRegistry* customElements() const = 0; | 177 virtual CustomElementsRegistry* customElements() const = 0; |
| 179 | 178 |
| 180 void captureEvents() { } | 179 void captureEvents() { } |
| 181 void releaseEvents() { } | 180 void releaseEvents() { } |
| 182 | 181 |
| 183 // FIXME: This handles both window[index] and window.frames[index]. However, | 182 // FIXME: This handles both window[index] and window.frames[index]. However, |
| 184 // the spec exposes window.frames[index] across origins but not | 183 // the spec exposes window.frames[index] across origins but not |
| 185 // window[index]... | 184 // window[index]... |
| 186 DOMWindow* anonymousIndexedGetter(uint32_t) const; | 185 DOMWindow* anonymousIndexedGetter(uint32_t) const; |
| 187 | 186 |
| 188 void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePor
tArray*, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&); | 187 void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePor
tArray&, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&); |
| 189 | 188 |
| 190 String sanitizedCrossDomainAccessErrorMessage(const LocalDOMWindow* callingW
indow) const; | 189 String sanitizedCrossDomainAccessErrorMessage(const LocalDOMWindow* callingW
indow) const; |
| 191 String crossDomainAccessErrorMessage(const LocalDOMWindow* callingWindow) co
nst; | 190 String crossDomainAccessErrorMessage(const LocalDOMWindow* callingWindow) co
nst; |
| 192 bool isInsecureScriptAccess(LocalDOMWindow& callingWindow, const String& url
String); | 191 bool isInsecureScriptAccess(LocalDOMWindow& callingWindow, const String& url
String); |
| 193 | 192 |
| 194 // FIXME: When this DOMWindow is no longer the active DOMWindow (i.e., | 193 // FIXME: When this DOMWindow is no longer the active DOMWindow (i.e., |
| 195 // when its document is no longer the document that is displayed in its | 194 // when its document is no longer the document that is displayed in its |
| 196 // frame), we would like to zero out m_frame to avoid being confused | 195 // frame), we would like to zero out m_frame to avoid being confused |
| 197 // by the document that is currently active in m_frame. | 196 // by the document that is currently active in m_frame. |
| 198 // See https://bugs.webkit.org/show_bug.cgi?id=62054 | 197 // See https://bugs.webkit.org/show_bug.cgi?id=62054 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 226 // implementation details to scripts. | 225 // implementation details to scripts. |
| 227 bool m_windowIsClosing; | 226 bool m_windowIsClosing; |
| 228 | 227 |
| 229 private: | 228 private: |
| 230 mutable Member<Location> m_location; | 229 mutable Member<Location> m_location; |
| 231 }; | 230 }; |
| 232 | 231 |
| 233 } // namespace blink | 232 } // namespace blink |
| 234 | 233 |
| 235 #endif // DOMWindow_h | 234 #endif // DOMWindow_h |
| OLD | NEW |