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

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

Issue 683013002: Extract a DOMWindow interface from LocalDOMWindow and use it in the idl. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix incorrect assumption Created 6 years, 1 month 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
Index: Source/core/frame/DOMWindow.h
diff --git a/Source/core/frame/DOMWindow.h b/Source/core/frame/DOMWindow.h
index d514d60461a3231c0efd5c2ae9e9d12599fb562a..1c3682c973e29c4987a99203d352fb898e4aa6f4 100644
--- a/Source/core/frame/DOMWindow.h
+++ b/Source/core/frame/DOMWindow.h
@@ -6,25 +6,40 @@
#define DOMWindow_h
#include "core/events/EventTarget.h"
+#include "core/frame/DOMWindowBase64.h"
#include "platform/heap/Handle.h"
+#include "platform/scroll/ScrollableArea.h"
+
+#include "wtf/Forward.h"
namespace blink {
class ApplicationCache;
class BarProp;
+class CSSRuleList;
+class CSSStyleDeclaration;
class Console;
+class DOMSelection;
class DOMWindowCSS;
class Document;
+class Element;
class Frame;
class History;
class Location;
+class MediaQueryList;
class Navigator;
class Performance;
+class RequestAnimationFrameCallback;
class Screen;
+class ScrollOptions;
+class SerializedScriptValue;
class Storage;
class StyleMedia;
-class DOMWindow : public RefCountedWillBeGarbageCollectedFinalized<DOMWindow>, public EventTargetWithInlineData {
+typedef WillBeHeapVector<RefPtrWillBeMember<MessagePort>, 1> MessagePortArray;
+
+class DOMWindow : public RefCountedWillBeGarbageCollectedFinalized<DOMWindow>, public EventTargetWithInlineData, public DOMWindowBase64 {
+ DEFINE_WRAPPERTYPEINFO();
REFCOUNTED_EVENT_TARGET(DOMWindow);
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DOMWindow);
public:
@@ -34,6 +49,8 @@ public:
EventTargetWithInlineData::trace(visitor);
}
+ virtual bool isLocalDOMWindow() const { return false; }
+
virtual Frame* frame() const = 0;
// DOM Level 0
@@ -109,6 +126,71 @@ public:
virtual Performance* performance() const = 0;
virtual DOMWindowCSS* css() const = 0;
+
+ virtual DOMSelection* getSelection() = 0;
+
+ virtual void focus(ExecutionContext* = 0) = 0;
+ virtual void blur() = 0;
+ virtual void close(ExecutionContext* = 0) = 0;
+ virtual void print() = 0;
+ virtual void stop() = 0;
+
+ virtual void alert(const String& message = String()) = 0;
+ virtual bool confirm(const String& message) = 0;
+ virtual String prompt(const String& message, const String& defaultValue) = 0;
+
+ virtual bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const = 0;
+
+ virtual void scrollBy(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const = 0;
+ virtual void scrollBy(double x, double y, const ScrollOptions&, ExceptionState&) const = 0;
+ virtual void scrollTo(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const = 0;
+ virtual void scrollTo(double x, double y, const ScrollOptions&, ExceptionState&) const = 0;
+ void scroll(double x, double y) const { scrollTo(x, y); }
+ void scroll(double x, double y, const ScrollOptions& scrollOptions, ExceptionState& exceptionState) const { scrollTo(x, y, scrollOptions, exceptionState); }
+ virtual void moveBy(float x, float y) const = 0;
+ virtual void moveTo(float x, float y) const = 0;
+
+ virtual void resizeBy(float x, float y) const = 0;
+ virtual void resizeTo(float width, float height) const = 0;
+
+ virtual PassRefPtrWillBeRawPtr<MediaQueryList> matchMedia(const String&) = 0;
+
+ // DOM Level 2 Style Interface
+ virtual PassRefPtrWillBeRawPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const = 0;
+
+ // WebKit extensions
+ virtual PassRefPtrWillBeRawPtr<CSSRuleList> getMatchedCSSRules(Element*, const String& pseudoElt) const = 0;
+
+ // WebKit animation extensions
+ virtual int requestAnimationFrame(RequestAnimationFrameCallback*) = 0;
+ virtual int webkitRequestAnimationFrame(RequestAnimationFrameCallback*) = 0;
+ virtual void cancelAnimationFrame(int id) = 0;
+
+ void captureEvents() { }
+ void releaseEvents() { }
+
+ // FIXME: Should this be returning DOMWindows?
+ virtual LocalDOMWindow* anonymousIndexedGetter(uint32_t) = 0;
+
+ virtual void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePortArray*, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&) = 0;
haraken 2014/11/08 09:17:25 Split these changes to a separate CL.
dcheng 2014/11/08 23:59:56 Done.
+
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(animationend);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(animationiteration);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(animationstart);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(search);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(transitionend);
+ 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);
+
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(orientationchange);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(touchstart);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(touchmove);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(touchend);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(touchcancel);
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698