Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(902)

Unified Diff: Source/core/page/DOMWindow.h

Issue 26917003: Move DOMWindow and related clases from page/ to frame/ (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/page/DOMSelection.h ('k') | Source/core/page/DOMWindow.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/page/DOMWindow.h
diff --git a/Source/core/page/DOMWindow.h b/Source/core/page/DOMWindow.h
deleted file mode 100644
index cc16caf62b6d5230ddf2d9864df1f89d6a6990d4..0000000000000000000000000000000000000000
--- a/Source/core/page/DOMWindow.h
+++ /dev/null
@@ -1,444 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef DOMWindow_h
-#define DOMWindow_h
-
-#include "bindings/v8/ScriptWrappable.h"
-#include "core/events/EventTarget.h"
-#include "core/page/FrameDestructionObserver.h"
-#include "core/platform/LifecycleContext.h"
-#include "platform/Supplementable.h"
-
-#include "wtf/Forward.h"
-
-namespace WebCore {
- class ApplicationCache;
- class BarProp;
- class CSSRuleList;
- class CSSStyleDeclaration;
- class Console;
- class DOMPoint;
- class DOMSelection;
- class DOMURL;
- class DOMWindowProperty;
- class Database;
- class DatabaseCallback;
- class Document;
- class DOMWindowLifecycleNotifier;
- class Element;
- class EventListener;
- class ExceptionState;
- class FloatRect;
- class Frame;
- class History;
- class IDBFactory;
- class Location;
- class MediaQueryList;
- class MessageEvent;
- class Navigator;
- class Node;
- class Page;
- class PageConsole;
- class Performance;
- class PostMessageTimer;
- class RequestAnimationFrameCallback;
- class ScheduledAction;
- class Screen;
- class ScriptCallStack;
- class SecurityOrigin;
- class SerializedScriptValue;
- class Storage;
- class StyleMedia;
- class DOMWindowCSS;
-
- struct WindowFeatures;
-
- typedef Vector<RefPtr<MessagePort>, 1> MessagePortArray;
-
- enum SetLocationLocking { LockHistoryBasedOnGestureState, LockHistoryAndBackForwardList };
-
- class DOMWindow : public RefCounted<DOMWindow>, public ScriptWrappable, public EventTargetWithInlineData, public FrameDestructionObserver, public Supplementable<DOMWindow>, public LifecycleContext {
- public:
- static PassRefPtr<DOMWindow> create(Frame* frame) { return adoptRef(new DOMWindow(frame)); }
- virtual ~DOMWindow();
-
- // In some rare cases, we'll re-used a DOMWindow for a new Document. For example,
- // when a script calls window.open("..."), the browser gives JavaScript a window
- // synchronously but kicks off the load in the window asynchronously. Web sites
- // expect that modifications that they make to the window object synchronously
- // won't be blown away when the network load commits. To make that happen, we
- // "securely transition" the existing DOMWindow to the Document that results from
- // the network load. See also SecurityContext::isSecureTransitionTo.
- void setDocument(PassRefPtr<Document>);
-
- virtual const AtomicString& interfaceName() const OVERRIDE;
- virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE;
-
- virtual DOMWindow* toDOMWindow();
-
- void registerProperty(DOMWindowProperty*);
- void unregisterProperty(DOMWindowProperty*);
-
- void reset();
-
- PassRefPtr<MediaQueryList> matchMedia(const String&);
-
- unsigned pendingUnloadEventListeners() const;
-
- static FloatRect adjustWindowRect(Page*, const FloatRect& pendingChanges);
-
- bool allowPopUp(); // Call on first window, not target window.
- static bool allowPopUp(Frame* firstFrame);
- static bool canShowModalDialog(const Frame*);
- static bool canShowModalDialogNow(const Frame*);
-
- // DOM Level 0
-
- Screen* screen() const;
- History* history() const;
- BarProp* locationbar() const;
- BarProp* menubar() const;
- BarProp* personalbar() const;
- BarProp* scrollbars() const;
- BarProp* statusbar() const;
- BarProp* toolbar() const;
- Navigator* navigator() const;
- Navigator* clientInformation() const { return navigator(); }
-
- Location* location() const;
- void setLocation(const String& location, DOMWindow* activeWindow, DOMWindow* firstWindow,
- SetLocationLocking = LockHistoryBasedOnGestureState);
-
- DOMSelection* getSelection();
-
- Element* frameElement() const;
-
- void focus(ScriptExecutionContext* = 0);
- void blur();
- void close(ScriptExecutionContext* = 0);
- void print();
- void stop();
-
- PassRefPtr<DOMWindow> open(const String& urlString, const AtomicString& frameName, const String& windowFeaturesString,
- DOMWindow* activeWindow, DOMWindow* firstWindow);
-
- typedef void (*PrepareDialogFunction)(DOMWindow*, void* context);
- void showModalDialog(const String& urlString, const String& dialogFeaturesString,
- DOMWindow* activeWindow, DOMWindow* firstWindow, PrepareDialogFunction, void* functionContext);
-
- void alert(const String& message);
- bool confirm(const String& message);
- String prompt(const String& message, const String& defaultValue);
-
- bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const;
-
- bool offscreenBuffering() const;
-
- int outerHeight() const;
- int outerWidth() const;
- int innerHeight() const;
- int innerWidth() const;
- int screenX() const;
- int screenY() const;
- int screenLeft() const { return screenX(); }
- int screenTop() const { return screenY(); }
- int scrollX() const;
- int scrollY() const;
- int pageXOffset() const { return scrollX(); }
- int pageYOffset() const { return scrollY(); }
-
- bool closed() const;
-
- unsigned length() const;
-
- String name() const;
- void setName(const String&);
-
- String status() const;
- void setStatus(const String&);
- String defaultStatus() const;
- void setDefaultStatus(const String&);
-
- // This attribute is an alias of defaultStatus and is necessary for legacy uses.
- String defaultstatus() const { return defaultStatus(); }
- void setDefaultstatus(const String& status) { setDefaultStatus(status); }
-
- // Self-referential attributes
-
- DOMWindow* self() const;
- DOMWindow* window() const { return self(); }
- DOMWindow* frames() const { return self(); }
-
- DOMWindow* opener() const;
- DOMWindow* parent() const;
- DOMWindow* top() const;
-
- // DOM Level 2 AbstractView Interface
-
- Document* document() const;
-
- // CSSOM View Module
-
- PassRefPtr<StyleMedia> styleMedia() const;
-
- // DOM Level 2 Style Interface
-
- PassRefPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const;
-
- // WebKit extensions
-
- PassRefPtr<CSSRuleList> getMatchedCSSRules(Element*, const String& pseudoElt, bool authorOnly = true) const;
- double devicePixelRatio() const;
-
- PassRefPtr<DOMPoint> webkitConvertPointFromPageToNode(Node*, const DOMPoint*) const;
- PassRefPtr<DOMPoint> webkitConvertPointFromNodeToPage(Node*, const DOMPoint*) const;
-
- Console* console() const;
- PageConsole* pageConsole() const;
-
- void printErrorMessage(const String&);
- String crossDomainAccessErrorMessage(DOMWindow* activeWindow);
- String sanitizedCrossDomainAccessErrorMessage(DOMWindow* activeWindow);
-
- void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, DOMWindow* source, ExceptionState&);
- void postMessageTimerFired(PassOwnPtr<PostMessageTimer>);
- void dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigin, PassRefPtr<Event>, PassRefPtr<ScriptCallStack>);
-
- void scrollBy(int x, int y) const;
- void scrollTo(int x, int y) const;
- void scroll(int x, int y) const { scrollTo(x, y); }
-
- void moveBy(float x, float y) const;
- void moveTo(float x, float y) const;
-
- void resizeBy(float x, float y) const;
- void resizeTo(float width, float height) const;
-
- // WebKit animation extensions
- int requestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback>);
- int webkitRequestAnimationFrame(PassRefPtr<RequestAnimationFrameCallback>);
- void cancelAnimationFrame(int id);
-
- DOMWindowCSS* css();
-
- // Events
- // EventTarget API
- virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture) OVERRIDE;
- virtual bool removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture) OVERRIDE;
- virtual void removeAllEventListeners() OVERRIDE;
-
- using EventTarget::dispatchEvent;
- bool dispatchEvent(PassRefPtr<Event> prpEvent, PassRefPtr<EventTarget> prpTarget);
-
- void dispatchLoadEvent();
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(abort);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(animationend);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(animationiteration);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(animationstart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(beforeunload);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(blur);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(canplay);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(canplaythrough);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(change);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(click);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(contextmenu);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dblclick);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(drag);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dragend);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dragenter);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dragleave);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dragover);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(dragstart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(drop);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(durationchange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(emptied);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(ended);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(focus);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(hashchange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(input);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(invalid);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(keydown);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(keypress);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(keyup);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(load);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(loadeddata);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(loadedmetadata);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(loadstart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(message);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mousedown);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mouseenter);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mouseleave);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mousemove);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mouseout);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mouseover);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mouseup);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(mousewheel);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(offline);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(online);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(pagehide);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(pageshow);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(pause);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(play);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(playing);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(popstate);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(progress);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(ratechange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(reset);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(resize);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(scroll);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(search);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(seeked);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(seeking);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(select);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(stalled);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(storage);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(submit);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(suspend);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(timeupdate);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(transitionend);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(unload);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(volumechange);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(waiting);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(wheel);
-
- DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationstart, webkitAnimationStart);
- DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationiteration, webkitAnimationIteration);
- DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationend, webkitAnimationEnd);
- DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkittransitionend, webkitTransitionEnd);
-
- void captureEvents() { }
- void releaseEvents() { }
-
- void finishedLoading();
-
- using RefCounted<DOMWindow>::ref;
- using RefCounted<DOMWindow>::deref;
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(devicemotion);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(deviceorientation);
-
- // HTML 5 key/value storage
- Storage* sessionStorage(ExceptionState&) const;
- Storage* localStorage(ExceptionState&) const;
- Storage* optionalSessionStorage() const { return m_sessionStorage.get(); }
- Storage* optionalLocalStorage() const { return m_localStorage.get(); }
-
- ApplicationCache* applicationCache() const;
- ApplicationCache* optionalApplicationCache() const { return m_applicationCache.get(); }
-
-#if ENABLE(ORIENTATION_EVENTS)
- // This is the interface orientation in degrees. Some examples are:
- // 0 is straight up; -90 is when the device is rotated 90 clockwise;
- // 90 is when rotated counter clockwise.
- int orientation() const;
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(orientationchange);
-#endif
-
- DEFINE_ATTRIBUTE_EVENT_LISTENER(touchstart);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(touchmove);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(touchend);
- DEFINE_ATTRIBUTE_EVENT_LISTENER(touchcancel);
-
- Performance* performance() const;
-
- // FIXME: When this DOMWindow is no longer the active DOMWindow (i.e.,
- // when its document is no longer the document that is displayed in its
- // frame), we would like to zero out m_frame to avoid being confused
- // by the document that is currently active in m_frame.
- bool isCurrentlyDisplayedInFrame() const;
-
- void willDetachDocumentFromFrame();
- DOMWindow* anonymousIndexedGetter(uint32_t);
-
- bool isInsecureScriptAccess(DOMWindow* activeWindow, const String& urlString);
-
- protected:
- DOMWindowLifecycleNotifier* lifecycleNotifier();
-
- private:
- explicit DOMWindow(Frame*);
-
- Page* page();
-
- virtual PassOwnPtr<LifecycleNotifier> createLifecycleNotifier() OVERRIDE;
-
- virtual void frameDestroyed() OVERRIDE;
- virtual void willDetachPage() OVERRIDE;
-
- virtual void refEventTarget() OVERRIDE { ref(); }
- virtual void derefEventTarget() OVERRIDE { deref(); }
-
- void resetDOMWindowProperties();
- void willDestroyDocumentInFrame();
-
- RefPtr<Document> m_document;
-
- bool m_shouldPrintWhenFinishedLoading;
-
- HashSet<DOMWindowProperty*> m_properties;
-
- mutable RefPtr<Screen> m_screen;
- mutable RefPtr<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 RefPtr<Console> m_console;
- mutable RefPtr<Navigator> m_navigator;
- mutable RefPtr<Location> m_location;
- mutable RefPtr<StyleMedia> m_media;
-
- String m_status;
- String m_defaultStatus;
-
- mutable RefPtr<Storage> m_sessionStorage;
- mutable RefPtr<Storage> m_localStorage;
- mutable RefPtr<ApplicationCache> m_applicationCache;
-
- mutable RefPtr<Performance> m_performance;
-
- mutable RefPtr<DOMWindowCSS> m_css;
- };
-
- inline String DOMWindow::status() const
- {
- return m_status;
- }
-
- inline String DOMWindow::defaultStatus() const
- {
- return m_defaultStatus;
- }
-
-} // namespace WebCore
-
-#endif // DOMWindow_h
« no previous file with comments | « Source/core/page/DOMSelection.h ('k') | Source/core/page/DOMWindow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698