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

Side by Side Diff: Source/core/frame/LocalDOMWindow.h

Issue 710873003: Move more methods from LocalDOMWindow to DOMWindow. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/frame/DOMWindow.h ('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, 2009, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2009, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
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
(...skipping 11 matching lines...) Expand all
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 #ifndef LocalDOMWindow_h 27 #ifndef LocalDOMWindow_h
28 #define LocalDOMWindow_h 28 #define LocalDOMWindow_h
29 29
30 #include "core/events/EventTarget.h" 30 #include "core/events/EventTarget.h"
31 #include "core/frame/DOMWindow.h" 31 #include "core/frame/DOMWindow.h"
32 #include "core/frame/DOMWindowBase64.h"
33 #include "core/frame/FrameDestructionObserver.h" 32 #include "core/frame/FrameDestructionObserver.h"
34 #include "core/frame/LocalFrame.h" 33 #include "core/frame/LocalFrame.h"
35 #include "platform/LifecycleContext.h" 34 #include "platform/LifecycleContext.h"
36 #include "platform/Supplementable.h" 35 #include "platform/Supplementable.h"
37 #include "platform/heap/Handle.h" 36 #include "platform/heap/Handle.h"
38 #include "platform/scroll/ScrollableArea.h"
39 37
38 #include "wtf/Assertions.h"
40 #include "wtf/Forward.h" 39 #include "wtf/Forward.h"
41 40
42 namespace blink { 41 namespace blink {
43 42
44 class CSSRuleList;
45 class CSSStyleDeclaration;
46 class Console;
47 class DOMSelection;
48 class DOMWindowCSS;
49 class DOMWindowEventQueue; 43 class DOMWindowEventQueue;
50 class DOMWindowLifecycleNotifier; 44 class DOMWindowLifecycleNotifier;
51 class DOMWindowProperty; 45 class DOMWindowProperty;
52 class DocumentInit; 46 class DocumentInit;
53 class Element;
54 class EventListener; 47 class EventListener;
55 class EventQueue; 48 class EventQueue;
56 class ExceptionState; 49 class ExceptionState;
57 class FloatRect; 50 class FloatRect;
58 class FrameConsole; 51 class FrameConsole;
59 class MediaQueryList;
60 class Page; 52 class Page;
61 class PostMessageTimer; 53 class PostMessageTimer;
62 class RequestAnimationFrameCallback;
63 class ScrollOptions;
64 class ScriptCallStack; 54 class ScriptCallStack;
65 class SecurityOrigin; 55 class SecurityOrigin;
66 class SerializedScriptValue;
67
68 typedef WillBeHeapVector<RefPtrWillBeMember<MessagePort>, 1> MessagePortArray;
69 56
70 enum PageshowEventPersistence { 57 enum PageshowEventPersistence {
71 PageshowEventNotPersisted = 0, 58 PageshowEventNotPersisted = 0,
72 PageshowEventPersisted = 1 59 PageshowEventPersisted = 1
73 }; 60 };
74 61
75 enum SetLocationLocking { LockHistoryBasedOnGestureState, LockHistoryAndBackForw ardList }; 62 enum SetLocationLocking { LockHistoryBasedOnGestureState, LockHistoryAndBackForw ardList };
76 63
77 // Note: if you're thinking of returning something DOM-related by reference, 64 // Note: if you're thinking of returning something DOM-related by reference,
78 // please ping dcheng@chromium.org first. You probably don't want to do that. 65 // please ping dcheng@chromium.org first. You probably don't want to do that.
79 class LocalDOMWindow final : public DOMWindow, public DOMWindowBase64, public Wi llBeHeapSupplementable<LocalDOMWindow>, public LifecycleContext<LocalDOMWindow> { 66 class LocalDOMWindow final : public DOMWindow, public WillBeHeapSupplementable<L ocalDOMWindow>, public LifecycleContext<LocalDOMWindow> {
80 DEFINE_WRAPPERTYPEINFO(); 67 DEFINE_WRAPPERTYPEINFO();
81 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalDOMWindow); 68 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(LocalDOMWindow);
82 public: 69 public:
83 static PassRefPtrWillBeRawPtr<Document> createDocument(const String& mimeTyp e, const DocumentInit&, bool forceXHTML); 70 static PassRefPtrWillBeRawPtr<Document> createDocument(const String& mimeTyp e, const DocumentInit&, bool forceXHTML);
84 static PassRefPtrWillBeRawPtr<LocalDOMWindow> create(LocalFrame& frame) 71 static PassRefPtrWillBeRawPtr<LocalDOMWindow> create(LocalFrame& frame)
85 { 72 {
86 return adoptRefWillBeNoop(new LocalDOMWindow(frame)); 73 return adoptRefWillBeNoop(new LocalDOMWindow(frame));
87 } 74 }
88 virtual ~LocalDOMWindow(); 75 virtual ~LocalDOMWindow();
89 76
90 PassRefPtrWillBeRawPtr<Document> installNewDocument(const String& mimeType, const DocumentInit&, bool forceXHTML = false); 77 PassRefPtrWillBeRawPtr<Document> installNewDocument(const String& mimeType, const DocumentInit&, bool forceXHTML = false);
91 78
92 // EventTarget overrides: 79 // EventTarget overrides:
93 virtual const AtomicString& interfaceName() const override; 80 virtual const AtomicString& interfaceName() const override;
94 virtual ExecutionContext* executionContext() const override; 81 virtual ExecutionContext* executionContext() const override;
95 virtual LocalDOMWindow* toDOMWindow() override; 82 virtual LocalDOMWindow* toDOMWindow() override;
96 83
97 // DOMWindow overrides: 84 // DOMWindow overrides:
98 void trace(Visitor*) override; 85 void trace(Visitor*) override;
86 bool isLocalDOMWindow() const override { return true; }
99 virtual LocalFrame* frame() const override; 87 virtual LocalFrame* frame() const override;
100 Screen* screen() const override; 88 Screen* screen() const override;
101 History* history() const override; 89 History* history() const override;
102 BarProp* locationbar() const override; 90 BarProp* locationbar() const override;
103 BarProp* menubar() const override; 91 BarProp* menubar() const override;
104 BarProp* personalbar() const override; 92 BarProp* personalbar() const override;
105 BarProp* scrollbars() const override; 93 BarProp* scrollbars() const override;
106 BarProp* statusbar() const override; 94 BarProp* statusbar() const override;
107 BarProp* toolbar() const override; 95 BarProp* toolbar() const override;
108 Navigator* navigator() const override; 96 Navigator* navigator() const override;
(...skipping 24 matching lines...) Expand all
133 Document* document() const override; 121 Document* document() const override;
134 StyleMedia* styleMedia() const override; 122 StyleMedia* styleMedia() const override;
135 double devicePixelRatio() const override; 123 double devicePixelRatio() const override;
136 Storage* sessionStorage(ExceptionState&) const override; 124 Storage* sessionStorage(ExceptionState&) const override;
137 Storage* localStorage(ExceptionState&) const override; 125 Storage* localStorage(ExceptionState&) const override;
138 ApplicationCache* applicationCache() const override; 126 ApplicationCache* applicationCache() const override;
139 int orientation() const override; 127 int orientation() const override;
140 Console* console() const override; 128 Console* console() const override;
141 Performance* performance() const override; 129 Performance* performance() const override;
142 DOMWindowCSS* css() const override; 130 DOMWindowCSS* css() const override;
131 DOMSelection* getSelection() override;
132 void focus(ExecutionContext* = 0) override;
133 void blur() override;
134 void close(ExecutionContext* = 0) override;
135 void print() override;
136 void stop() override;
137 void alert(const String& message = String()) override;
138 bool confirm(const String& message) override;
139 String prompt(const String& message, const String& defaultValue) override;
140 bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const override;
141 void scrollBy(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const override;
142 void scrollBy(double x, double y, const ScrollOptions&, ExceptionState&) con st override;
143 void scrollTo(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const override;
144 void scrollTo(double x, double y, const ScrollOptions&, ExceptionState&) con st override;
145 void moveBy(float x, float y) const override;
146 void moveTo(float x, float y) const override;
147 void resizeBy(float x, float y) const override;
148 void resizeTo(float width, float height) const override;
149 PassRefPtrWillBeRawPtr<MediaQueryList> matchMedia(const String&) override;
150 PassRefPtrWillBeRawPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const override;
151 PassRefPtrWillBeRawPtr<CSSRuleList> getMatchedCSSRules(Element*, const Strin g& pseudoElt) const override;
152 int requestAnimationFrame(RequestAnimationFrameCallback*) override;
153 int webkitRequestAnimationFrame(RequestAnimationFrameCallback*) override;
154 void cancelAnimationFrame(int id) override;
155 LocalDOMWindow* anonymousIndexedGetter(uint32_t) override;
156 void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePor tArray*, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&) ov erride;
143 157
144 void registerProperty(DOMWindowProperty*); 158 void registerProperty(DOMWindowProperty*);
145 void unregisterProperty(DOMWindowProperty*); 159 void unregisterProperty(DOMWindowProperty*);
146 160
147 void reset(); 161 void reset();
148 162
149 PassRefPtrWillBeRawPtr<MediaQueryList> matchMedia(const String&);
150
151 unsigned pendingUnloadEventListeners() const; 163 unsigned pendingUnloadEventListeners() const;
152 164
153 static FloatRect adjustWindowRect(LocalFrame&, const FloatRect& pendingChang es); 165 static FloatRect adjustWindowRect(LocalFrame&, const FloatRect& pendingChang es);
154 166
155 bool allowPopUp(); // Call on first window, not target window. 167 bool allowPopUp(); // Call on first window, not target window.
156 static bool allowPopUp(LocalFrame& firstFrame); 168 static bool allowPopUp(LocalFrame& firstFrame);
157 static bool canShowModalDialogNow(const LocalFrame*); 169 static bool canShowModalDialogNow(const LocalFrame*);
158 170
159 // DOM Level 0 171 // DOM Level 0
160 void setLocation(const String& location, LocalDOMWindow* callingWindow, Loca lDOMWindow* enteredWindow, 172 void setLocation(const String& location, LocalDOMWindow* callingWindow, Loca lDOMWindow* enteredWindow,
161 SetLocationLocking = LockHistoryBasedOnGestureState); 173 SetLocationLocking = LockHistoryBasedOnGestureState);
162 174
163 DOMSelection* getSelection();
164
165 Element* frameElement() const; 175 Element* frameElement() const;
166 176
167 void focus(ExecutionContext* = 0);
168 void blur();
169 void close(ExecutionContext* = 0);
170 void print();
171 void stop();
172
173 PassRefPtrWillBeRawPtr<LocalDOMWindow> open(const String& urlString, const A tomicString& frameName, const String& windowFeaturesString, 177 PassRefPtrWillBeRawPtr<LocalDOMWindow> open(const String& urlString, const A tomicString& frameName, const String& windowFeaturesString,
174 LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow); 178 LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow);
175 179
176 typedef void (*PrepareDialogFunction)(LocalDOMWindow*, void* context); 180 typedef void (*PrepareDialogFunction)(LocalDOMWindow*, void* context);
177 void showModalDialog(const String& urlString, const String& dialogFeaturesSt ring, 181 void showModalDialog(const String& urlString, const String& dialogFeaturesSt ring,
178 LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow, PrepareDia logFunction, void* functionContext); 182 LocalDOMWindow* callingWindow, LocalDOMWindow* enteredWindow, PrepareDia logFunction, void* functionContext);
179 183
180 void alert(const String& message = String());
181 bool confirm(const String& message);
182 String prompt(const String& message, const String& defaultValue);
183
184 bool find(const String&, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) const;
185
186 // DOM Level 2 Style Interface
187
188 PassRefPtrWillBeRawPtr<CSSStyleDeclaration> getComputedStyle(Element*, const String& pseudoElt) const;
189
190 // WebKit extensions
191
192 PassRefPtrWillBeRawPtr<CSSRuleList> getMatchedCSSRules(Element*, const Strin g& pseudoElt) const;
193
194 FrameConsole* frameConsole() const; 184 FrameConsole* frameConsole() const;
195 185
196 void printErrorMessage(const String&); 186 void printErrorMessage(const String&);
197 String crossDomainAccessErrorMessage(LocalDOMWindow* callingWindow); 187 String crossDomainAccessErrorMessage(LocalDOMWindow* callingWindow);
198 String sanitizedCrossDomainAccessErrorMessage(LocalDOMWindow* callingWindow) ; 188 String sanitizedCrossDomainAccessErrorMessage(LocalDOMWindow* callingWindow) ;
199 189
200 void postMessage(PassRefPtr<SerializedScriptValue> message, const MessagePor tArray*, const String& targetOrigin, LocalDOMWindow* source, ExceptionState&);
201 void postMessageTimerFired(PostMessageTimer*); 190 void postMessageTimerFired(PostMessageTimer*);
202 void dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigi n, PassRefPtrWillBeRawPtr<Event>, PassRefPtrWillBeRawPtr<ScriptCallStack>); 191 void dispatchMessageEventWithOriginCheck(SecurityOrigin* intendedTargetOrigi n, PassRefPtrWillBeRawPtr<Event>, PassRefPtrWillBeRawPtr<ScriptCallStack>);
203 192
204 void scrollBy(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const ;
205 void scrollBy(double x, double y, const ScrollOptions&, ExceptionState&) con st;
206 void scrollTo(double x, double y, ScrollBehavior = ScrollBehaviorAuto) const ;
207 void scrollTo(double x, double y, const ScrollOptions&, ExceptionState&) con st;
208 void scroll(double x, double y) const { scrollTo(x, y); }
209 void scroll(double x, double y, const ScrollOptions& scrollOptions, Exceptio nState& exceptionState) const { scrollTo(x, y, scrollOptions, exceptionState); }
210
211 void moveBy(float x, float y) const;
212 void moveTo(float x, float y) const;
213
214 void resizeBy(float x, float y) const;
215 void resizeTo(float width, float height) const;
216
217 // WebKit animation extensions
218 int requestAnimationFrame(RequestAnimationFrameCallback*);
219 int webkitRequestAnimationFrame(RequestAnimationFrameCallback*);
220 void cancelAnimationFrame(int id);
221
222 // Events 193 // Events
223 // EventTarget API 194 // EventTarget API
224 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even tListener>, bool useCapture = false) override; 195 virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<Even tListener>, bool useCapture = false) override;
225 virtual bool removeEventListener(const AtomicString& eventType, PassRefPtr<E ventListener>, bool useCapture = false) override; 196 virtual bool removeEventListener(const AtomicString& eventType, PassRefPtr<E ventListener>, bool useCapture = false) override;
226 virtual void removeAllEventListeners() override; 197 virtual void removeAllEventListeners() override;
227 198
228 using EventTarget::dispatchEvent; 199 using EventTarget::dispatchEvent;
229 bool dispatchEvent(PassRefPtrWillBeRawPtr<Event> prpEvent, PassRefPtrWillBeR awPtr<EventTarget> prpTarget); 200 bool dispatchEvent(PassRefPtrWillBeRawPtr<Event> prpEvent, PassRefPtrWillBeR awPtr<EventTarget> prpTarget);
230 201
231 void dispatchLoadEvent(); 202 void dispatchLoadEvent();
232 203
233 // FIXME: It's not clear how to move these to DOMWindow yet.
234 DEFINE_ATTRIBUTE_EVENT_LISTENER(animationend);
235 DEFINE_ATTRIBUTE_EVENT_LISTENER(animationiteration);
236 DEFINE_ATTRIBUTE_EVENT_LISTENER(animationstart);
237 DEFINE_ATTRIBUTE_EVENT_LISTENER(search);
238 DEFINE_ATTRIBUTE_EVENT_LISTENER(transitionend);
239 DEFINE_ATTRIBUTE_EVENT_LISTENER(wheel);
240
241 DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationstart, webkitAnimation Start);
242 DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationiteration, webkitAnima tionIteration);
243 DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkitanimationend, webkitAnimationEn d);
244 DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER(webkittransitionend, webkitTransition End);
245
246 void captureEvents() { }
247 void releaseEvents() { }
248
249 void finishedLoading(); 204 void finishedLoading();
250 205
251 // HTML 5 key/value storage 206 // HTML 5 key/value storage
252 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); } 207 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); }
253 Storage* optionalLocalStorage() const { return m_localStorage.get(); } 208 Storage* optionalLocalStorage() const { return m_localStorage.get(); }
254 ApplicationCache* optionalApplicationCache() const { return m_applicationCac he.get(); } 209 ApplicationCache* optionalApplicationCache() const { return m_applicationCac he.get(); }
255 210
256 // Dispatch the (deprecated) orientationchange event to this DOMWindow and 211 // Dispatch the (deprecated) orientationchange event to this DOMWindow and
257 // recurse on its child frames. 212 // recurse on its child frames.
258 void sendOrientationChangeEvent(); 213 void sendOrientationChangeEvent();
259 214
260 DEFINE_ATTRIBUTE_EVENT_LISTENER(orientationchange);
261 DEFINE_ATTRIBUTE_EVENT_LISTENER(touchstart);
262 DEFINE_ATTRIBUTE_EVENT_LISTENER(touchmove);
263 DEFINE_ATTRIBUTE_EVENT_LISTENER(touchend);
264 DEFINE_ATTRIBUTE_EVENT_LISTENER(touchcancel);
265
266 // FIXME: When this LocalDOMWindow is no longer the active LocalDOMWindow (i .e., 215 // FIXME: When this LocalDOMWindow is no longer the active LocalDOMWindow (i .e.,
267 // when its document is no longer the document that is displayed in its 216 // when its document is no longer the document that is displayed in its
268 // frame), we would like to zero out m_frame to avoid being confused 217 // frame), we would like to zero out m_frame to avoid being confused
269 // by the document that is currently active in m_frame. 218 // by the document that is currently active in m_frame.
270 bool isCurrentlyDisplayedInFrame() const; 219 bool isCurrentlyDisplayedInFrame() const;
271 220
272 void willDetachDocumentFromFrame(); 221 void willDetachDocumentFromFrame();
273 LocalDOMWindow* anonymousIndexedGetter(uint32_t);
274 222
275 bool isInsecureScriptAccess(LocalDOMWindow& callingWindow, const String& url String); 223 bool isInsecureScriptAccess(LocalDOMWindow& callingWindow, const String& url String);
276 224
277 PassOwnPtr<LifecycleNotifier<LocalDOMWindow> > createLifecycleNotifier(); 225 PassOwnPtr<LifecycleNotifier<LocalDOMWindow> > createLifecycleNotifier();
278 226
279 EventQueue* eventQueue() const; 227 EventQueue* eventQueue() const;
280 void enqueueWindowEvent(PassRefPtrWillBeRawPtr<Event>); 228 void enqueueWindowEvent(PassRefPtrWillBeRawPtr<Event>);
281 void enqueueDocumentEvent(PassRefPtrWillBeRawPtr<Event>); 229 void enqueueDocumentEvent(PassRefPtrWillBeRawPtr<Event>);
282 void enqueuePageshowEvent(PageshowEventPersistence); 230 void enqueuePageshowEvent(PageshowEventPersistence);
283 void enqueueHashchangeEvent(const String& oldURL, const String& newURL); 231 void enqueueHashchangeEvent(const String& oldURL, const String& newURL);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 mutable RefPtrWillBeMember<Performance> m_performance; 323 mutable RefPtrWillBeMember<Performance> m_performance;
376 324
377 mutable RefPtrWillBeMember<DOMWindowCSS> m_css; 325 mutable RefPtrWillBeMember<DOMWindowCSS> m_css;
378 326
379 RefPtrWillBeMember<DOMWindowEventQueue> m_eventQueue; 327 RefPtrWillBeMember<DOMWindowEventQueue> m_eventQueue;
380 RefPtr<SerializedScriptValue> m_pendingStateObject; 328 RefPtr<SerializedScriptValue> m_pendingStateObject;
381 329
382 HashSet<OwnPtr<PostMessageTimer> > m_postMessageTimers; 330 HashSet<OwnPtr<PostMessageTimer> > m_postMessageTimers;
383 }; 331 };
384 332
333 DEFINE_TYPE_CASTS(LocalDOMWindow, DOMWindow, x, x->isLocalDOMWindow(), x.isLocal DOMWindow());
334
385 inline String LocalDOMWindow::status() const 335 inline String LocalDOMWindow::status() const
386 { 336 {
387 return m_status; 337 return m_status;
388 } 338 }
389 339
390 inline String LocalDOMWindow::defaultStatus() const 340 inline String LocalDOMWindow::defaultStatus() const
391 { 341 {
392 return m_defaultStatus; 342 return m_defaultStatus;
393 } 343 }
394 344
395 } // namespace blink 345 } // namespace blink
396 346
397 #endif // LocalDOMWindow_h 347 #endif // LocalDOMWindow_h
OLDNEW
« no previous file with comments | « Source/core/frame/DOMWindow.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698