Index: webkit/pending/DOMWindow.h |
=================================================================== |
--- webkit/pending/DOMWindow.h (revision 2884) |
+++ webkit/pending/DOMWindow.h (working copy) |
@@ -1,304 +0,0 @@ |
-/* |
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. |
- * |
- * 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 "KURL.h" |
-#include "PlatformString.h" |
-#include "SecurityOrigin.h" |
-#include <wtf/Forward.h> |
-#include <wtf/RefCounted.h> |
- |
-#if USE(V8) |
-#include <wtf/HashMap.h> |
-#endif |
-#include <wtf/RefPtr.h> |
- |
-namespace WebCore { |
- |
- class BarInfo; |
- class CSSRuleList; |
- class CSSStyleDeclaration; |
- class Console; |
- class DOMSelection; |
- class Database; |
- class Document; |
- class Element; |
- class FloatRect; |
- class Frame; |
- class History; |
- class Location; |
- class Navigator; |
- class PostMessageTimer; |
- class Screen; |
- class String; |
- |
-#if USE(V8) |
- class ScheduledAction; |
- class PausedTimeouts; |
- class DOMWindowTimer; |
-#endif |
- |
-#if ENABLE(DOM_STORAGE) |
- class SessionStorage; |
- class Storage; |
-#endif |
- |
-#if ENABLE(OFFLINE_WEB_APPLICATIONS) |
- class DOMApplicationCache; |
-#endif |
- |
- typedef int ExceptionCode; |
- |
- class DOMWindow : public RefCounted<DOMWindow> { |
- public: |
- static PassRefPtr<DOMWindow> create(Frame* frame) { return adoptRef(new DOMWindow(frame)); } |
- virtual ~DOMWindow(); |
- |
- Frame* frame() { return m_frame; } |
- void disconnectFrame(); |
- |
- void clear(); |
- |
- void setSecurityOrigin(SecurityOrigin* securityOrigin) { m_securityOrigin = securityOrigin; } |
- SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); } |
- |
- void setURL(const KURL& url) { m_url = url; } |
- KURL url() const { return m_url; } |
- |
- static void adjustWindowRect(const FloatRect& screen, FloatRect& window, const FloatRect& pendingChanges); |
- |
- // DOM Level 0 |
- Screen* screen() const; |
- History* history() const; |
- BarInfo* locationbar() const; |
- BarInfo* menubar() const; |
- BarInfo* personalbar() const; |
- BarInfo* scrollbars() const; |
- BarInfo* statusbar() const; |
- BarInfo* toolbar() const; |
- Navigator* navigator() const; |
- Navigator* clientInformation() const { return navigator(); } |
- Location* location() const; |
- |
- DOMSelection* getSelection(); |
- |
- Element* frameElement() const; |
- |
- void focus(); |
- void blur(); |
- void close(); |
- void print(); |
- void stop(); |
- |
- 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; |
- |
- // 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; |
- |
-#if ENABLE(DATABASE) |
- // HTML 5 client-side database |
- PassRefPtr<Database> openDatabase(const String& name, const String& version, const String& displayName, unsigned long estimatedSize, ExceptionCode&); |
-#endif |
- |
-#if ENABLE(DOM_STORAGE) |
- // HTML 5 key/value storage |
- Storage* sessionStorage() const; |
- Storage* localStorage() const; |
-#endif |
- |
- Console* console() const; |
- |
-#if ENABLE(OFFLINE_WEB_APPLICATIONS) |
- DOMApplicationCache* applicationCache() const; |
-#endif |
- |
- void postMessage(const String& message, const String& targetOrigin, DOMWindow* source, ExceptionCode&); |
- void postMessageTimerFired(PostMessageTimer*); |
- |
- 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; |
- |
- // These methods are used for GC marking. See JSDOMWindow::mark() in |
- // JSDOMWindowCustom.cpp. |
- Screen* optionalScreen() const { return m_screen.get(); } |
- DOMSelection* optionalSelection() const { return m_selection.get(); } |
- History* optionalHistory() const { return m_history.get(); } |
- BarInfo* optionalLocationbar() const { return m_locationbar.get(); } |
- BarInfo* optionalMenubar() const { return m_menubar.get(); } |
- BarInfo* optionalPersonalbar() const { return m_personalbar.get(); } |
- BarInfo* optionalScrollbars() const { return m_scrollbars.get(); } |
- BarInfo* optionalStatusbar() const { return m_statusbar.get(); } |
- BarInfo* optionalToolbar() const { return m_toolbar.get(); } |
- Console* optionalConsole() const { return m_console.get(); } |
- Navigator* optionalNavigator() const { return m_navigator.get(); } |
- Location* optionalLocation() const { return m_location.get(); } |
-#if ENABLE(DOM_STORAGE) |
- Storage* optionalSessionStorage() const { return m_sessionStorage.get(); } |
- Storage* optionalLocalStorage() const { return m_sessionStorage.get(); } |
-#endif |
-#if ENABLE(OFFLINE_WEB_APPLICATIONS) |
- DOMApplicationCache* optionalApplicationCache() const { return m_applicationCache.get(); } |
-#endif |
- |
- private: |
- DOMWindow(Frame*); |
- |
- RefPtr<SecurityOrigin> m_securityOrigin; |
- KURL m_url; |
- |
- Frame* m_frame; |
- mutable RefPtr<Screen> m_screen; |
- mutable RefPtr<DOMSelection> m_selection; |
- mutable RefPtr<History> m_history; |
- mutable RefPtr<BarInfo> m_locationbar; |
- mutable RefPtr<BarInfo> m_menubar; |
- mutable RefPtr<BarInfo> m_personalbar; |
- mutable RefPtr<BarInfo> m_scrollbars; |
- mutable RefPtr<BarInfo> m_statusbar; |
- mutable RefPtr<BarInfo> m_toolbar; |
- mutable RefPtr<Console> m_console; |
- mutable RefPtr<Navigator> m_navigator; |
- mutable RefPtr<Location> m_location; |
-#if ENABLE(DOM_STORAGE) |
- mutable RefPtr<Storage> m_sessionStorage; |
- mutable RefPtr<Storage> m_localStorage; |
-#endif |
-#if ENABLE(OFFLINE_WEB_APPLICATIONS) |
- mutable RefPtr<DOMApplicationCache> m_applicationCache; |
-#endif |
- |
- private: |
- void updateLayout() const; |
- |
- |
-#if USE(V8) |
- public: |
- // DOM methods & attributes for Window. |
- |
- DOMWindow* open(const String& url = "", |
- const String& name = "_blank", |
- const String& options = ""); |
- |
- void back(); |
- void forward(); |
- |
- Navigator* navigator(); |
- void dump(const String&); |
- |
- Location* location(); |
- |
- // Change the current window location to a new location. |
- // The function checks domain security. |
- void setLocation(const String& loc); |
- |
-// void home(); |
-// void stop(); |
- |
- void clearTimeout(int id); |
- void clearInterval(int id) { clearTimeout(id); } |
- |
- void timerFired(DOMWindowTimer* timer); |
- |
-// void updateCommands(const String&); |
-// |
-// String escape(const String&); |
-// String unescape(const String&); |
- |
- int installTimeout(ScheduledAction* a, int t, bool singleShot); |
- |
- void scheduleClose(); |
- void clearAllTimeouts(); |
- |
- void pauseTimeouts(OwnPtr<PausedTimeouts>&); |
- void resumeTimeouts(OwnPtr<PausedTimeouts>&); |
- |
- private: |
- typedef HashMap<int, DOMWindowTimer*> TimeoutsMap; |
- TimeoutsMap m_timeouts; |
-#endif |
- }; |
- |
-} // namespace WebCore |
- |
-#endif |