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

Side by Side Diff: third_party/WebKit/Source/core/frame/Window.idl

Issue 2439013002: Implement cross-origin attributes using access check interceptors. (Closed)
Patch Set: . Created 4 years 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 unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/core/frame/Location.idl ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3 * Copyright (C) 2011 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * 13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 // https://html.spec.whatwg.org/#the-window-object 27 // https://html.spec.whatwg.org/#the-window-object
28 28
29 // FIXME: explain all uses of [DoNotCheckSecurity] 29 // FIXME: explain all uses of [CrossOrigin]
30 [ 30 [
31 CheckSecurity=Receiver, 31 CheckSecurity=Receiver,
32 ImplementedAs=DOMWindow, 32 ImplementedAs=DOMWindow,
33 PrimaryGlobal, 33 PrimaryGlobal,
34 ] interface Window : EventTarget { 34 ] interface Window : EventTarget {
35 // the current browsing context 35 // the current browsing context
36 // FIXME: The spec uses the WindowProxy type for this and many other attribu tes. 36 // FIXME: The spec uses the WindowProxy type for this and many other attribu tes.
37 [Unforgeable, CallWith=ScriptState, DoNotCheckSecurity] readonly attribute W indow window; 37 [Unforgeable, CallWith=ScriptState, CrossOrigin] readonly attribute Window w indow;
38 [Replaceable, CallWith=ScriptState, DoNotCheckSecurity] readonly attribute W indow self; 38 [Replaceable, CallWith=ScriptState, CrossOrigin] readonly attribute Window s elf;
39 [Unforgeable, CachedAccessor] readonly attribute Document document; 39 [Unforgeable, CachedAccessor] readonly attribute Document document;
40 attribute DOMString name; 40 attribute DOMString name;
41 [PutForwards=href, Unforgeable, DoNotCheckSecurity] readonly attribute Locat ion location; 41 [PutForwards=href, Unforgeable, CrossOrigin=(Getter,Setter)] readonly attrib ute Location location;
42 readonly attribute History history; 42 readonly attribute History history;
43 [Replaceable, MeasureAs=BarPropLocationbar] readonly attribute BarProp locat ionbar; 43 [Replaceable, MeasureAs=BarPropLocationbar] readonly attribute BarProp locat ionbar;
44 [Replaceable, MeasureAs=BarPropMenubar] readonly attribute BarProp menubar; 44 [Replaceable, MeasureAs=BarPropMenubar] readonly attribute BarProp menubar;
45 [Replaceable, MeasureAs=BarPropPersonalbar] readonly attribute BarProp perso nalbar; 45 [Replaceable, MeasureAs=BarPropPersonalbar] readonly attribute BarProp perso nalbar;
46 [Replaceable, MeasureAs=BarPropScrollbars] readonly attribute BarProp scroll bars; 46 [Replaceable, MeasureAs=BarPropScrollbars] readonly attribute BarProp scroll bars;
47 [Replaceable, MeasureAs=BarPropStatusbar] readonly attribute BarProp statusb ar; 47 [Replaceable, MeasureAs=BarPropStatusbar] readonly attribute BarProp statusb ar;
48 [Replaceable, MeasureAs=BarPropToolbar] readonly attribute BarProp toolbar; 48 [Replaceable, MeasureAs=BarPropToolbar] readonly attribute BarProp toolbar;
49 attribute DOMString status; 49 attribute DOMString status;
50 [DoNotCheckSecurity, CallWith=ExecutionContext] void close(); 50 [CrossOrigin, CallWith=ExecutionContext] void close();
51 [DoNotCheckSecurity] readonly attribute boolean closed; 51 [CrossOrigin] readonly attribute boolean closed;
52 void stop(); 52 void stop();
53 [DoNotCheckSecurity, CallWith=ExecutionContext] void focus(); 53 [CrossOrigin, CallWith=ExecutionContext] void focus();
54 [DoNotCheckSecurity] void blur(); 54 [CrossOrigin] void blur();
55 55
56 // other browsing contexts 56 // other browsing contexts
57 [Replaceable, CallWith=ScriptState, DoNotCheckSecurity] readonly attribute W indow frames; 57 [Replaceable, CallWith=ScriptState, CrossOrigin] readonly attribute Window f rames;
58 [Replaceable, DoNotCheckSecurity] readonly attribute unsigned long length; 58 [Replaceable, CrossOrigin] readonly attribute unsigned long length;
59 [Unforgeable, DoNotCheckSecurity] readonly attribute Window top; 59 [Unforgeable, CrossOrigin] readonly attribute Window top;
60 // FIXME: opener should be of type any. 60 // FIXME: opener should be of type any.
61 [DoNotCheckSecurity, Custom=Setter] attribute Window opener; 61 [CrossOrigin, Custom=Setter] attribute Window opener;
62 [Replaceable, DoNotCheckSecurity] readonly attribute Window parent; 62 [Replaceable, CrossOrigin] readonly attribute Window parent;
63 [CheckSecurity=ReturnValue, Custom=Getter] readonly attribute Element? frame Element; 63 [CheckSecurity=ReturnValue, Custom=Getter] readonly attribute Element? frame Element;
64 // FIXME: open() should have 4 optional arguments with defaults. 64 // FIXME: open() should have 4 optional arguments with defaults.
65 [Custom] Window? open(DOMString url, DOMString target, optional DOMString fe atures); 65 [Custom] Window? open(DOMString url, DOMString target, optional DOMString fe atures);
66 // FIXME: These getters should not have [NotEnumerable]. 66 // FIXME: These getters should not have [NotEnumerable].
67 [NotEnumerable, DoNotCheckSecurity] getter Window (unsigned long index); 67 [NotEnumerable, CrossOrigin] getter Window (unsigned long index);
68 [Custom, NotEnumerable, DoNotCheckSecurity] getter object (DOMString name); 68 [Custom, NotEnumerable, CrossOrigin] getter object (DOMString name);
69 69
70 // the user agent 70 // the user agent
71 [LogActivity=GetterOnly] readonly attribute Navigator navigator; 71 [LogActivity=GetterOnly] readonly attribute Navigator navigator;
72 [LogActivity=GetterOnly] readonly attribute ApplicationCache applicationCach e; 72 [LogActivity=GetterOnly] readonly attribute ApplicationCache applicationCach e;
73 73
74 // user prompts 74 // user prompts
75 [Measure, CallWith=ScriptState] void alert(); 75 [Measure, CallWith=ScriptState] void alert();
76 [Measure, CallWith=ScriptState] void alert(DOMString message); 76 [Measure, CallWith=ScriptState] void alert(DOMString message);
77 [Measure, CallWith=ScriptState] boolean confirm(optional DOMString message = ""); 77 [Measure, CallWith=ScriptState] boolean confirm(optional DOMString message = "");
78 [Measure, CallWith=ScriptState] DOMString? prompt(optional DOMString message = "", optional DOMString defaultValue = ""); 78 [Measure, CallWith=ScriptState] DOMString? prompt(optional DOMString message = "", optional DOMString defaultValue = "");
79 [Measure, CallWith=ScriptState] void print(); 79 [Measure, CallWith=ScriptState] void print();
80 80
81 [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(Frame RequestCallback callback); 81 [MeasureAs=UnprefixedRequestAnimationFrame] long requestAnimationFrame(Frame RequestCallback callback);
82 void cancelAnimationFrame(long handle); 82 void cancelAnimationFrame(long handle);
83 83
84 [Measure] long requestIdleCallback(IdleRequestCallback callback, optional Id leRequestOptions options); 84 [Measure] long requestIdleCallback(IdleRequestCallback callback, optional Id leRequestOptions options);
85 void cancelIdleCallback(long handle); 85 void cancelIdleCallback(long handle);
86 86
87 [DoNotCheckSecurity, Custom, RaisesException] void postMessage(any message, DOMString targetOrigin, optional sequence<Transferable> transfer); 87 [CrossOrigin, Custom, RaisesException] void postMessage(any message, DOMStri ng targetOrigin, optional sequence<Transferable> transfer);
88 88
89 // Custom elements 89 // Custom elements
90 // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api 90 // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api
91 [RuntimeEnabled=CustomElementsV1, CallWith=ScriptState] readonly attribute C ustomElementRegistry customElements; 91 [RuntimeEnabled=CustomElementsV1, CallWith=ScriptState] readonly attribute C ustomElementRegistry customElements;
92 92
93 // HTML obsolete features 93 // HTML obsolete features
94 // https://html.spec.whatwg.org/#Window-partial 94 // https://html.spec.whatwg.org/#Window-partial
95 [MeasureAs=WindowCaptureEvents] void captureEvents(); 95 [MeasureAs=WindowCaptureEvents] void captureEvents();
96 [MeasureAs=WindowReleaseEvents] void releaseEvents(); 96 [MeasureAs=WindowReleaseEvents] void releaseEvents();
97 97
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 // FIXME: make this typedef accurate once enough of https://crbug.com/240176 208 // FIXME: make this typedef accurate once enough of https://crbug.com/240176
209 // is in place. 209 // is in place.
210 // FIXME: consider putting this typedef in an .idl file containing spec-wide 210 // FIXME: consider putting this typedef in an .idl file containing spec-wide
211 // utility type definitions. 211 // utility type definitions.
212 typedef MessagePort Transferable; 212 typedef MessagePort Transferable;
213 213
214 Window implements GlobalEventHandlers; 214 Window implements GlobalEventHandlers;
215 Window implements WindowBase64; 215 Window implements WindowBase64;
216 Window implements WindowEventHandlers; 216 Window implements WindowEventHandlers;
217 Window implements WindowTimers; 217 Window implements WindowTimers;
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/Location.idl ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698