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

Unified Diff: Source/core/frame/Window.idl

Issue 988683002: Rearrange the Window interface to match the many specs (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: move close() to where it belongs Created 5 years, 9 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/frame/Window.idl
diff --git a/Source/core/frame/Window.idl b/Source/core/frame/Window.idl
index 24ea5ba274e24dc0363f127fc64ea9c58ee4cf67..294d143f8a949c2295e6c42008ea31259cf0b219 100644
--- a/Source/core/frame/Window.idl
+++ b/Source/core/frame/Window.idl
@@ -24,8 +24,8 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-// HTML 5 draft spec:
-// http://www.w3.org/html/wg/drafts/html/master/browsers.html#window
+// https://html.spec.whatwg.org/#the-window-object
+
// FIXME: explain all uses of [DoNotCheckSecurity]
[
CheckSecurity=Frame,
@@ -33,8 +33,12 @@
ImplementedAs=DOMWindow,
PrimaryGlobal,
] interface Window : EventTarget {
- // DOM Level 0
- readonly attribute Screen screen;
+ // the current browsing context
+ [DoNotCheckSecurity, Unforgeable] readonly attribute Window window;
+ [Replaceable, DoNotCheckSecurity] readonly attribute Window self;
+ readonly attribute Document document;
+ attribute DOMString name;
+ [DoNotCheckSecurity, PutForwards=href, Unforgeable] readonly attribute Location location;
readonly attribute History history;
[Replaceable, MeasureAs=BarPropLocationbar] readonly attribute BarProp locationbar;
[Replaceable, MeasureAs=BarPropMenubar] readonly attribute BarProp menubar;
@@ -42,123 +46,125 @@
[Replaceable, MeasureAs=BarPropScrollbars] readonly attribute BarProp scrollbars;
[Replaceable, MeasureAs=BarPropStatusbar] readonly attribute BarProp statusbar;
[Replaceable, MeasureAs=BarPropToolbar] readonly attribute BarProp toolbar;
- [LogActivity=GetterOnly] readonly attribute Navigator navigator;
- [Replaceable] readonly attribute Navigator clientInformation;
- [DoNotCheckSecurity, PutForwards=href, Unforgeable] readonly attribute Location location;
- [Custom, MeasureAs=WindowEvent, NotEnumerable] attribute Event event;
-
- Selection getSelection();
-
- [CheckSecurity=Node, Custom=Getter] readonly attribute Element frameElement;
-
- [DoNotCheckSecurity, CallWith=ExecutionContext] void focus();
- [DoNotCheckSecurity] void blur();
+ attribute DOMString status;
[DoNotCheckSecurity, CallWith=ExecutionContext] void close();
-
- void print();
+ [DoNotCheckSecurity] readonly attribute boolean closed;
void stop();
+ [DoNotCheckSecurity, CallWith=ExecutionContext] void focus();
+ [DoNotCheckSecurity] void blur();
+ // other browsing contexts
+ [Replaceable, DoNotCheckSecurity] readonly attribute Window frames;
+ [Replaceable, DoNotCheckSecurity] readonly attribute unsigned long length;
+ [DoNotCheckSecurity, Unforgeable] readonly attribute Window top;
+ [DoNotCheckSecurity, Custom=Setter] attribute Window opener;
+ [Replaceable, DoNotCheckSecurity] readonly attribute Window parent;
+ [CheckSecurity=Node, Custom=Getter] readonly attribute Element frameElement;
[Custom] Window open(DOMString url,
DOMString name,
optional DOMString options);
+ [NotEnumerable, DoNotCheckSecurity] getter Window (unsigned long index);
+ [Custom, NotEnumerable, DoNotCheckSecurity] getter Window (DOMString name);
+
+ // the user agent
+ [LogActivity=GetterOnly] readonly attribute Navigator navigator;
+ [RuntimeEnabled=ApplicationCache, LogActivity=GetterOnly] readonly attribute ApplicationCache applicationCache;
+ // user prompts
void alert();
void alert(DOMString message);
boolean confirm(optional DOMString message = "");
DOMString? prompt(optional DOMString message = "",
optional DOMString defaultValue = "");
+ void print();
- boolean find([Default=Undefined] optional DOMString string,
- [Default=Undefined] optional boolean caseSensitive,
- [Default=Undefined] optional boolean backwards,
- [Default=Undefined] optional boolean wrap,
- [Default=Undefined] optional boolean wholeWord,
- [Default=Undefined] optional boolean searchInFrames,
- [Default=Undefined] optional boolean showDialog);
+ [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(RequestAnimationFrameCallback callback);
+ void cancelAnimationFrame(long id);
- [Replaceable, MeasureAs=WindowOffscreenBuffering, NotEnumerable] readonly attribute boolean offscreenBuffering;
+ [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScriptValue message, DOMString targetOrigin, optional sequence<Transferable> transfer);
- [Replaceable] readonly attribute long outerHeight;
- [Replaceable] readonly attribute long outerWidth;
- [Replaceable] readonly attribute long innerHeight;
+ // HTML obsolete features
+ // https://html.spec.whatwg.org/#Window-partial
+ [MeasureAs=WindowCaptureEvents] void captureEvents();
+ [MeasureAs=WindowReleaseEvents] void releaseEvents();
+
+ // CSS Object Model (CSSOM)
+ // http://dev.w3.org/csswg/cssom/#extensions-to-the-window-interface
+ [TypeChecking=Interface] CSSStyleDeclaration getComputedStyle(Element element, optional DOMString? pseudoElt = null);
+ // http://dev.w3.org/csswg/cssom/#utility-apis
+ [Replaceable] readonly attribute CSS CSS;
+
+ // CSSOM View Module
+ // http://dev.w3.org/csswg/cssom-view/#extensions-to-the-window-interface
+ MediaQueryList matchMedia(DOMString query);
+ readonly attribute Screen screen;
+
+ // browsing context
+ void moveTo(optional long x, optional long y); // FIXME: Arguments should not be optional, or should have defaults.
+ void moveBy(optional long x, optional long y);
+ void resizeTo(optional long width, optional long height); // FIXME: Arguments should not be optional, or should have defaults.
+ void resizeBy(optional long x, optional long y);
+
+ // viewport
[Replaceable] readonly attribute long innerWidth;
- [Replaceable] readonly attribute long screenX;
- [Replaceable] readonly attribute long screenY;
- [Replaceable] readonly attribute long screenLeft;
- [Replaceable] readonly attribute long screenTop;
+ [Replaceable] readonly attribute long innerHeight;
+
+ // viewport scrolling
[Replaceable] readonly attribute double scrollX;
- [Replaceable] readonly attribute double scrollY;
readonly attribute double pageXOffset;
+ [Replaceable] readonly attribute double scrollY;
readonly attribute double pageYOffset;
-
- void scrollBy(unrestricted double x, unrestricted double y);
- [RuntimeEnabled=CSSOMSmoothScroll] void scrollBy([Default=Undefined] optional ScrollToOptions scrollToOptions);
- void scrollTo(unrestricted double x, unrestricted double y);
- [RuntimeEnabled=CSSOMSmoothScroll] void scrollTo([Default=Undefined] optional ScrollToOptions scrollToOptions);
- void scroll(unrestricted double x, unrestricted double y);
[RuntimeEnabled=CSSOMSmoothScroll] void scroll([Default=Undefined] optional ScrollToOptions scrollOptions);
- void moveBy(optional long x, optional long y);
- void moveTo(optional long x, optional long y); // FIXME: Arguments should not be optional, or should have defaults.
- void resizeBy(optional long x, optional long y);
- void resizeTo(optional long width, optional long height); // FIXME: Arguments should not be optional, or should have defaults.
+ void scroll(unrestricted double x, unrestricted double y);
+ [RuntimeEnabled=CSSOMSmoothScroll] void scrollTo([Default=Undefined] optional ScrollToOptions scrollToOptions);
+ void scrollTo(unrestricted double x, unrestricted double y);
+ [RuntimeEnabled=CSSOMSmoothScroll] void scrollBy([Default=Undefined] optional ScrollToOptions scrollToOptions);
+ void scrollBy(unrestricted double x, unrestricted double y);
- [DoNotCheckSecurity] readonly attribute boolean closed;
+ // client
+ [Replaceable] readonly attribute long screenX;
+ [Replaceable] readonly attribute long screenY;
+ [Replaceable] readonly attribute long outerWidth;
+ [Replaceable] readonly attribute long outerHeight;
+ [Replaceable] readonly attribute double devicePixelRatio;
- [Replaceable, DoNotCheckSecurity] readonly attribute unsigned long length;
+ // Selection API
+ // http://w3c.github.io/selection-api/#extensions-to-window-interface
+ Selection getSelection();
- attribute DOMString name;
+ // Console API (non-standard but widely implemented in some form)
+ // https://developer.chrome.com/devtools/docs/console-api
+ [Replaceable] readonly attribute Console console;
- attribute DOMString status;
+ // Non-standard APIs
+ [Replaceable] readonly attribute Navigator clientInformation;
+ [Custom, MeasureAs=WindowEvent, NotEnumerable] attribute Event event;
+ boolean find([Default=Undefined] optional DOMString string,
+ [Default=Undefined] optional boolean caseSensitive,
+ [Default=Undefined] optional boolean backwards,
+ [Default=Undefined] optional boolean wrap,
+ [Default=Undefined] optional boolean wholeWord,
+ [Default=Undefined] optional boolean searchInFrames,
+ [Default=Undefined] optional boolean showDialog);
+ [Replaceable, MeasureAs=WindowOffscreenBuffering, NotEnumerable] readonly attribute boolean offscreenBuffering;
+ [Replaceable] readonly attribute long screenLeft;
+ [Replaceable] readonly attribute long screenTop;
[MeasureAs=WindowDefaultStatus] attribute DOMString defaultStatus;
- // This attribute is an alias of defaultStatus and is necessary for legacy uses.
[ImplementedAs=defaultStatus, MeasureAs=WindowDefaultstatus] attribute DOMString defaultstatus;
-
- // Self referential attributes
- [Replaceable, DoNotCheckSecurity] readonly attribute Window self;
- [DoNotCheckSecurity, Unforgeable] readonly attribute Window window;
- [Replaceable, DoNotCheckSecurity] readonly attribute Window frames;
-
- [DoNotCheckSecurity, Custom=Setter] attribute Window opener;
- [Replaceable, DoNotCheckSecurity] readonly attribute Window parent;
- [DoNotCheckSecurity, Unforgeable] readonly attribute Window top;
-
- // DOM Level 2 AbstractView Interface
- readonly attribute Document document;
-
- // CSSOM View Module
- MediaQueryList matchMedia(DOMString query);
-
- // styleMedia has been removed from the CSSOM View specification.
[MeasureAs=StyleMedia] readonly attribute StyleMedia styleMedia;
-
- // DOM Level 2 Style Interface
- [TypeChecking=Interface] CSSStyleDeclaration getComputedStyle(Element element, optional DOMString? pseudoElt = null);
-
- // WebKit extensions
[DeprecateAs=GetMatchedCSSRules] CSSRuleList getMatchedCSSRules([Default=Undefined] optional Element element,
[TreatUndefinedAs=NullString, Default=Undefined] optional DOMString? pseudoElement);
-
- [Replaceable] readonly attribute double devicePixelRatio;
-
- [RuntimeEnabled=ApplicationCache, LogActivity=GetterOnly] readonly attribute ApplicationCache applicationCache;
-
// 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.
[RuntimeEnabled=OrientationEvent, MeasureAs=WindowOrientation] readonly attribute long orientation;
-
- [Replaceable] readonly attribute Console console;
-
- // cross-document messaging
- [DoNotCheckSecurity, Custom, RaisesException] void postMessage(SerializedScriptValue message, DOMString targetOrigin, optional sequence<Transferable> transfer);
-
- [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(RequestAnimationFrameCallback callback);
- void cancelAnimationFrame(long id);
[DeprecateAs=PrefixedRequestAnimationFrame] long webkitRequestAnimationFrame(RequestAnimationFrameCallback callback);
[DeprecateAs=PrefixedCancelAnimationFrame, ImplementedAs=cancelAnimationFrame] void webkitCancelAnimationFrame(long id);
[DeprecateAs=PrefixedCancelRequestAnimationFrame, ImplementedAs=cancelAnimationFrame] void webkitCancelRequestAnimationFrame(long id);
-
- [Replaceable] readonly attribute CSS CSS;
+ [MeasureAs=PrefixedTransitionEventConstructor] attribute TransitionEventConstructor WebKitTransitionEvent;
+ [RuntimeEnabled=CSSAnimationUnprefixed] attribute WebKitAnimationEventConstructor AnimationEvent;
+ [DeprecateAs=PrefixedWindowURL] attribute URLConstructor webkitURL;
+ [MeasureAs=PrefixedMutationObserverConstructor] attribute MutationObserverConstructor WebKitMutationObserver;
// Event handler attributes
[RuntimeEnabled=CSSAnimationUnprefixed] attribute EventHandler onanimationend;
@@ -177,20 +183,8 @@
attribute EventHandler onwebkittransitionend;
attribute EventHandler onwheel;
- [MeasureAs=WindowCaptureEvents] void captureEvents();
- [MeasureAs=WindowReleaseEvents] void releaseEvents();
-
- // Additional constructors.
- [MeasureAs=PrefixedTransitionEventConstructor] attribute TransitionEventConstructor WebKitTransitionEvent;
- [RuntimeEnabled=CSSAnimationUnprefixed] attribute WebKitAnimationEventConstructor AnimationEvent;
- [DeprecateAs=PrefixedWindowURL] attribute URLConstructor webkitURL;
- [MeasureAs=PrefixedMutationObserverConstructor] attribute MutationObserverConstructor WebKitMutationObserver;
-
// window.toString() requires special handling in V8
[DoNotCheckSignature, DoNotCheckSecurity, Custom, NotEnumerable] stringifier;
-
- [NotEnumerable, DoNotCheckSecurity] getter Window (unsigned long index);
- [Custom, NotEnumerable, DoNotCheckSecurity] getter Window (DOMString name);
};
// http://www.whatwg.org/specs/web-apps/current-work/#transferable-objects
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698