15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Copyright (C) 2006, 2007, 2009, 2010 Apple Inc. All rights reserved. 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * modification, are permitted provided that the following conditions 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * are met: 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * notice, this list of conditions and the following disclaimer. 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 2. Redistributions in binary form must reproduce the above copyright 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * notice, this list of conditions and the following disclaimer in the 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * documentation and/or other materials provided with the distribution. 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 24e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */ 265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifndef DOMWindow_h 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define DOMWindow_h 295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)#include "bindings/v8/Dictionary.h" 31e52495584422c5edb5b2944981473a2e208da323Torne (Richard Coles)#include "bindings/v8/ScriptWrappable.h" 3206f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "core/events/EventTarget.h" 33a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#include "core/frame/DOMWindowBase64.h" 341e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "core/frame/FrameDestructionObserver.h" 35f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)#include "platform/LifecycleContext.h" 361e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles)#include "platform/Supplementable.h" 37f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#include "platform/heap/Handle.h" 38e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 395267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles)#include "wtf/Forward.h" 405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)namespace WebCore { 42e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) class ApplicationCache; 43e52495584422c5edb5b2944981473a2e208da323Torne (Richard Coles) class BarProp; 445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class CSSRuleList; 455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class CSSStyleDeclaration; 465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Console; 4753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) class DOMPoint; 485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class DOMSelection; 495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class DOMURL; 505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class DOMWindowProperty; 515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Database; 525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class DatabaseCallback; 535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Document; 54f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) class DocumentInit; 55f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) class DOMWindowEventQueue; 56e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) class DOMWindowLifecycleNotifier; 575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Element; 585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class EventListener; 59f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) class EventQueue; 607757ec2eadfa2dd8ac2aeed0a4399e9b07ec38cbBen Murdoch class ExceptionState; 615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class FloatRect; 626f543c786fc42989f552b4daa774ca5ff32fa697Ben Murdoch class FrameConsole; 635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class History; 645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class IDBFactory; 656f543c786fc42989f552b4daa774ca5ff32fa697Ben Murdoch class LocalFrame; 665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Location; 675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class MediaQueryList; 685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class MessageEvent; 695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Navigator; 705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Node; 715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Page; 725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Performance; 735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class PostMessageTimer; 7453e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) class RequestAnimationFrameCallback; 755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class ScheduledAction; 765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Screen; 775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class ScriptCallStack; 785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class SecurityOrigin; 795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class SerializedScriptValue; 805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class Storage; 815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) class StyleMedia; 82926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) class DOMWindowCSS; 835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) struct WindowFeatures; 855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) typedef Vector<RefPtr<MessagePort>, 1> MessagePortArray; 875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 88f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)enum PageshowEventPersistence { 89f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) PageshowEventNotPersisted = 0, 90f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) PageshowEventPersisted = 1 91f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles)}; 92f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) enum SetLocationLocking { LockHistoryBasedOnGestureState, LockHistoryAndBackForwardList }; 945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 9576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) class LocalDOMWindow FINAL : public RefCountedWillBeRefCountedGarbageCollected<LocalDOMWindow>, public ScriptWrappable, public EventTargetWithInlineData, public DOMWindowBase64, public FrameDestructionObserver, public WillBeHeapSupplementable<LocalDOMWindow>, public LifecycleContext<LocalDOMWindow> { 9676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalDOMWindow); 9776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) REFCOUNTED_EVENT_TARGET(LocalDOMWindow); 985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) public: 99d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) static PassRefPtrWillBeRawPtr<Document> createDocument(const String& mimeType, const DocumentInit&, bool forceXHTML); 10076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) static PassRefPtrWillBeRawPtr<LocalDOMWindow> create(LocalFrame& frame) 10107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch { 10276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) return adoptRefWillBeRefCountedGarbageCollected(new LocalDOMWindow(frame)); 10307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch } 10476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) virtual ~LocalDOMWindow(); 1055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 106d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) PassRefPtrWillBeRawPtr<Document> installNewDocument(const String& mimeType, const DocumentInit&, bool forceXHTML = false); 1075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1081e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) virtual const AtomicString& interfaceName() const OVERRIDE; 1091e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) virtual ExecutionContext* executionContext() const OVERRIDE; 1105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 11176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) virtual LocalDOMWindow* toDOMWindow() OVERRIDE; 1125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void registerProperty(DOMWindowProperty*); 1145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void unregisterProperty(DOMWindowProperty*); 1155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 11653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) void reset(); 1175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 118d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) PassRefPtrWillBeRawPtr<MediaQueryList> matchMedia(const String&); 1195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) unsigned pendingUnloadEventListeners() const; 1215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 122d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) static FloatRect adjustWindowRect(LocalFrame&, const FloatRect& pendingChanges); 1235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool allowPopUp(); // Call on first window, not target window. 125d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) static bool allowPopUp(LocalFrame& firstFrame); 126d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) static bool canShowModalDialogNow(const LocalFrame*); 1275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // DOM Level 0 1295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 130d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Screen& screen() const; 131d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) History& history() const; 132d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& locationbar() const; 133d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& menubar() const; 134d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& personalbar() const; 135d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& scrollbars() const; 136d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& statusbar() const; 137d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BarProp& toolbar() const; 138d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Navigator& navigator() const; 139d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Navigator& clientInformation() const { return navigator(); } 140d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 141d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Location& location() const; 14276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) void setLocation(const String& location, LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow, 1435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) SetLocationLocking = LockHistoryBasedOnGestureState); 1445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DOMSelection* getSelection(); 1465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Element* frameElement() const; 1485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1491e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) void focus(ExecutionContext* = 0); 1505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void blur(); 1511e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) void close(ExecutionContext* = 0); 1525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void print(); 1535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void stop(); 1545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 15576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) PassRefPtrWillBeRawPtr<LocalDOMWindow> open(const String& urlString, const AtomicString& frameName, const String& windowFeaturesString, 15676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow); 1575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 15876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) typedef void (*PrepareDialogFunction)(LocalDOMWindow*, void* context); 1595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void showModalDialog(const String& urlString, const String& dialogFeaturesString, 16076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow, PrepareDialogFunction, void* functionContext); 1615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 162d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) void alert(const String& message = String()); 1635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool confirm(const String& message); 1645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) String prompt(const String& message, const String& defaultValue); 1655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const; 1675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool offscreenBuffering() const; 1695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int outerHeight() const; 1715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int outerWidth() const; 1725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int innerHeight() const; 1735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int innerWidth() const; 1745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int screenX() const; 1755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int screenY() const; 1765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int screenLeft() const { return screenX(); } 1775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int screenTop() const { return screenY(); } 1785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int scrollX() const; 1795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int scrollY() const; 1805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int pageXOffset() const { return scrollX(); } 1815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int pageYOffset() const { return scrollY(); } 1825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool closed() const; 1845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) unsigned length() const; 1865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 187a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) const AtomicString& name() const; 188a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) void setName(const AtomicString&); 1895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) String status() const; 1915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void setStatus(const String&); 1925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) String defaultStatus() const; 1935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void setDefaultStatus(const String&); 1945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // Self-referential attributes 1965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 19776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* self() const; 19876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* window() const { return self(); } 19976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* frames() const { return self(); } 2005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 20176c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* opener() const; 20276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* parent() const; 20376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* top() const; 2045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // DOM Level 2 AbstractView Interface 2065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Document* document() const; 2085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // CSSOM View Module 2105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 211d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) StyleMedia& styleMedia() const; 2125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // DOM Level 2 Style Interface 2145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 215323480423219ecd77329f8326dc5e0e3b50926d4Torne (Richard Coles) PassRefPtrWillBeRawPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const; 2165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // WebKit extensions 2185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 219d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) PassRefPtrWillBeRawPtr<CSSRuleList> getMatchedCSSRules(Element*, const String& pseudoElt) const; 2205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) double devicePixelRatio() const; 2215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 22207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch PassRefPtrWillBeRawPtr<DOMPoint> webkitConvertPointFromPageToNode(Node*, const DOMPoint*) const; 22307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch PassRefPtrWillBeRawPtr<DOMPoint> webkitConvertPointFromNodeToPage(Node*, const DOMPoint*) const; 2245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 225d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Console& console() const; 2266f543c786fc42989f552b4daa774ca5ff32fa697Ben Murdoch FrameConsole* frameConsole() const; 2275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void printErrorMessage(const String&); 22976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) String crossDomainAccessErrorMessage(LocalDOMWindow* callingWindow); 23076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) String sanitizedCrossDomainAccessErrorMessage(LocalDOMWindow* callingWindow); 2315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 23276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&); 233c4de9692585dd12fa75b760eebef04fa43fc1ae6Bo Liu void postMessageTimerFired(PostMessageTimer*); 2345d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) void dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigin, PassRefPtrWillBeRawPtr<Event>, PassRefPtrWillBeRawPtr<ScriptCallStack>); 2355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2365d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) void scrollBy(int x, int y) const; 23709380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) void scrollBy(int x, int y, const Dictionary& scrollOptions, ExceptionState&) const; 2385d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) void scrollTo(int x, int y) const; 23909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) void scrollTo(int x, int y, const Dictionary& scrollOptions, ExceptionState&) const; 2405d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) void scroll(int x, int y) const { scrollTo(x, y); } 24109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) void scroll(int x, int y, const Dictionary& scrollOptions, ExceptionState& exceptionState) const { scrollTo(x, y, scrollOptions, exceptionState); } 2425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void moveBy(float x, float y) const; 2445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void moveTo(float x, float y) const; 2455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void resizeBy(float x, float y) const; 2475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void resizeTo(float width, float height) const; 2485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // WebKit animation extensions 250a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) int requestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>); 251a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) int webkitRequestAnimationFrame(PassOwnPtr<RequestAnimationFrameCallback>); 2525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void cancelAnimationFrame(int id); 2535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 254d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) DOMWindowCSS& css() const; 255926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 2565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // Events 2575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // EventTarget API 25843e7502580f146aa5b3db8267ba6dbb5c733a489Torne (Richard Coles) virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture = false) OVERRIDE; 25943e7502580f146aa5b3db8267ba6dbb5c733a489Torne (Richard Coles) virtual bool removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture = false) OVERRIDE; 2601e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) virtual void removeAllEventListeners() OVERRIDE; 2615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) using EventTarget::dispatchEvent; 263f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) bool dispatchEvent(PassRefPtrWillBeRawPtr<Event> prpEvent, PassRefPtrWillBeRawPtr<EventTarget> prpTarget); 264926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 2655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void dispatchLoadEvent(); 2665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2678abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(animationend); 2688abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(animationiteration); 2698abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(animationstart); 2705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(search); 2718abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(transitionend); 272e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(wheel); 2735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationstart, webkitAnimationStart); 2755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationiteration, webkitAnimationIteration); 2765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationend, webkitAnimationEnd); 2775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkittransitionend, webkitTransitionEnd); 2785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 279f5e4ad553afbc08dd2e729bb77e937a9a94d5827Torne (Richard Coles) void captureEvents() { } 280f5e4ad553afbc08dd2e729bb77e937a9a94d5827Torne (Richard Coles) void releaseEvents() { } 281f5e4ad553afbc08dd2e729bb77e937a9a94d5827Torne (Richard Coles) 2825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void finishedLoading(); 2835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // HTML 5 key/value storage 285df95704c49daea886ddad70775bda23618d6274dBen Murdoch Storage* sessionStorage(ExceptionState&) const; 286df95704c49daea886ddad70775bda23618d6274dBen Murdoch Storage* localStorage(ExceptionState&) const; 2875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Storage* optionalSessionStorage() const { return m_sessionStorage.get(); } 2885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Storage* optionalLocalStorage() const { return m_localStorage.get(); } 2895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 290e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) ApplicationCache* applicationCache() const; 291e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) ApplicationCache* optionalApplicationCache() const { return m_applicationCache.get(); } 2925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // This is the interface orientation in degrees. Some examples are: 2945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // 0 is straight up; -90 is when the device is rotated 90 clockwise; 2955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // 90 is when rotated counter clockwise. 2965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) int orientation() const; 2975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(orientationchange); 2995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(touchstart); 3005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(touchmove); 3015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(touchend); 3025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) DEFINE_ATTRIBUTE_EVENT_LISTENER(touchcancel); 3035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 304d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) Performance& performance() const; 3055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 30676c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) // FIXME: When this LocalDOMWindow is no longer the active LocalDOMWindow (i.e., 3075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // when its document is no longer the document that is displayed in its 3085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // frame), we would like to zero out m_frame to avoid being confused 3095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) // by the document that is currently active in m_frame. 3105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool isCurrentlyDisplayedInFrame() const; 3115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void willDetachDocumentFromFrame(); 31376c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) LocalDOMWindow* anonymousIndexedGetter(uint32_t); 3145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 31576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) bool isInsecureScriptAccess(LocalDOMWindow& callingWindow, const String& urlString); 316e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch 31776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) PassOwnPtr<LifecycleNotifier<LocalDOMWindow> > createLifecycleNotifier(); 318f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 319f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) EventQueue* eventQueue() const; 320a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch void enqueueWindowEvent(PassRefPtrWillBeRawPtr<Event>); 321a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch void enqueueDocumentEvent(PassRefPtrWillBeRawPtr<Event>); 322f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void enqueuePageshowEvent(PageshowEventPersistence); 323f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void enqueueHashchangeEvent(const String& oldURL, const String& newURL); 324f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void enqueuePopstateEvent(PassRefPtr<SerializedScriptValue>); 3256f543c786fc42989f552b4daa774ca5ff32fa697Ben Murdoch void dispatchWindowLoadEvent(); 326f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void documentWasClosed(); 327f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void statePopped(PassRefPtr<SerializedScriptValue>); 32851b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 32976c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) // FIXME: This shouldn't be public once LocalDOMWindow becomes ExecutionContext. 33051b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) void clearEventQueue(); 33151b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) 332f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) void acceptLanguagesChanged(); 333f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 334d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) virtual void trace(Visitor*) OVERRIDE; 33507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch 336e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) protected: 337f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) DOMWindowLifecycleNotifier& lifecycleNotifier(); 338e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) 3395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) private: 34076c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) explicit LocalDOMWindow(LocalFrame&); 3415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) Page* page(); 3435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) virtual void frameDestroyed() OVERRIDE; 34509380295ba73501a205346becac22c6978e4671dTorne (Richard Coles) virtual void willDetachFrameHost() OVERRIDE; 3465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 347f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) void clearDocument(); 3485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void resetDOMWindowProperties(); 3495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) void willDestroyDocumentInFrame(); 3505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 351d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // FIXME: Oilpan: the need for this internal method will fall 352d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // away when EventTargets are no longer using refcounts and 353d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // window properties are also on the heap. Inline the minimal 354d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // do-not-broadcast handling then and remove the enum + 355d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) // removeAllEventListenersInternal(). 356d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) enum BroadcastListenerRemoval { 357d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) DoNotBroadcastListenerRemoval, 358d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) DoBroadcastListenerRemoval 359d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) }; 360d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 361d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) void removeAllEventListenersInternal(BroadcastListenerRemoval); 362d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) 363d6cdb82654e8f3343a693ca752d5c4cee0324e17Torne (Richard Coles) RefPtrWillBeMember<Document> m_document; 3645267f701546148b83dfbe1d151cb184385bb5c22Torne (Richard Coles) 3655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) bool m_shouldPrintWhenFinishedLoading; 366f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#if ASSERT_ENABLED 367f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu bool m_hasBeenReset; 368f91f5fa1608c2cdd9af1842fb5dadbe78275be2aBo Liu#endif 3695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) HashSet<DOMWindowProperty*> m_properties; 3715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 37207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Screen> m_screen; 37307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<History> m_history; 37407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_locationbar; 37507a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_menubar; 37607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_personalbar; 37707a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_scrollbars; 37807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_statusbar; 37907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<BarProp> m_toolbar; 38007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Console> m_console; 38107a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Navigator> m_navigator; 38207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Location> m_location; 38307a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<StyleMedia> m_media; 3845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 3855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) String m_status; 3865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) String m_defaultStatus; 3875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 38807a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Storage> m_sessionStorage; 38907a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Storage> m_localStorage; 39007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<ApplicationCache> m_applicationCache; 3915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 39207a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<Performance> m_performance; 393926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 39407a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch mutable RefPtrWillBeMember<DOMWindowCSS> m_css; 395f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) 3965d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles) RefPtrWillBeMember<DOMWindowEventQueue> m_eventQueue; 397f79f16f17ddc4f842d7b7a38603e280e94be826aTorne (Richard Coles) RefPtr<SerializedScriptValue> m_pendingStateObject; 398c4de9692585dd12fa75b760eebef04fa43fc1ae6Bo Liu 399c4de9692585dd12fa75b760eebef04fa43fc1ae6Bo Liu HashSet<OwnPtr<PostMessageTimer> > m_postMessageTimers; 4005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) }; 4015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 40276c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) inline String LocalDOMWindow::status() const 4035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) { 4045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return m_status; 4055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) } 4065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 40776c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) inline String LocalDOMWindow::defaultStatus() const 4085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) { 4095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) return m_defaultStatus; 410e69819bd8e388ea4ad1636a19aa6b2eed4952191Ben Murdoch } 4115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 4125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)} // namespace WebCore 4135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 4145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif // DOMWindow_h 415