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

Side by Side Diff: Source/core/loader/NavigationScheduler.cpp

Issue 1229743005: Fix virtual/override/final usage in Source/core/{fetch,loader,streams,xmlhttprequest}/. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 5 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/loader/LinkLoaderTest.cpp ('k') | Source/core/loader/PingLoader.h » ('j') | 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, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
5 * Copyright (C) 2009 Adam Barth. All rights reserved. 5 * Copyright (C) 2009 Adam Barth. All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 10 *
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 protected: 116 protected:
117 ScheduledURLNavigation(double delay, Document* originDocument, const String& url, bool lockBackForwardList, bool isLocationChange) 117 ScheduledURLNavigation(double delay, Document* originDocument, const String& url, bool lockBackForwardList, bool isLocationChange)
118 : ScheduledNavigation(delay, originDocument, lockBackForwardList, isLoca tionChange) 118 : ScheduledNavigation(delay, originDocument, lockBackForwardList, isLoca tionChange)
119 , m_url(url) 119 , m_url(url)
120 , m_shouldCheckMainWorldContentSecurityPolicy(CheckContentSecurityPolicy ) 120 , m_shouldCheckMainWorldContentSecurityPolicy(CheckContentSecurityPolicy )
121 { 121 {
122 if (ContentSecurityPolicy::shouldBypassMainWorld(originDocument)) 122 if (ContentSecurityPolicy::shouldBypassMainWorld(originDocument))
123 m_shouldCheckMainWorldContentSecurityPolicy = DoNotCheckContentSecur ityPolicy; 123 m_shouldCheckMainWorldContentSecurityPolicy = DoNotCheckContentSecur ityPolicy;
124 } 124 }
125 125
126 virtual void fire(LocalFrame* frame) override 126 void fire(LocalFrame* frame) override
127 { 127 {
128 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or(); 128 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or();
129 FrameLoadRequest request(originDocument(), m_url, "_self", m_shouldCheck MainWorldContentSecurityPolicy); 129 FrameLoadRequest request(originDocument(), m_url, "_self", m_shouldCheck MainWorldContentSecurityPolicy);
130 request.setLockBackForwardList(lockBackForwardList()); 130 request.setLockBackForwardList(lockBackForwardList());
131 request.setClientRedirect(ClientRedirect); 131 request.setClientRedirect(ClientRedirect);
132 frame->loader().load(request); 132 frame->loader().load(request);
133 } 133 }
134 134
135 String url() const { return m_url; } 135 String url() const { return m_url; }
136 136
137 private: 137 private:
138 String m_url; 138 String m_url;
139 ContentSecurityPolicyDisposition m_shouldCheckMainWorldContentSecurityPolicy ; 139 ContentSecurityPolicyDisposition m_shouldCheckMainWorldContentSecurityPolicy ;
140 }; 140 };
141 141
142 class ScheduledRedirect final : public ScheduledURLNavigation { 142 class ScheduledRedirect final : public ScheduledURLNavigation {
143 public: 143 public:
144 static PassOwnPtrWillBeRawPtr<ScheduledRedirect> create(double delay, Docume nt* originDocument, const String& url, bool lockBackForwardList) 144 static PassOwnPtrWillBeRawPtr<ScheduledRedirect> create(double delay, Docume nt* originDocument, const String& url, bool lockBackForwardList)
145 { 145 {
146 return adoptPtrWillBeNoop(new ScheduledRedirect(delay, originDocument, u rl, lockBackForwardList)); 146 return adoptPtrWillBeNoop(new ScheduledRedirect(delay, originDocument, u rl, lockBackForwardList));
147 } 147 }
148 148
149 virtual bool shouldStartTimer(LocalFrame* frame) override { return frame->do cument()->loadEventFinished(); } 149 bool shouldStartTimer(LocalFrame* frame) override { return frame->document() ->loadEventFinished(); }
150 150
151 virtual void fire(LocalFrame* frame) override 151 void fire(LocalFrame* frame) override
152 { 152 {
153 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or(); 153 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or();
154 FrameLoadRequest request(originDocument(), url(), "_self"); 154 FrameLoadRequest request(originDocument(), url(), "_self");
155 request.setLockBackForwardList(lockBackForwardList()); 155 request.setLockBackForwardList(lockBackForwardList());
156 if (equalIgnoringFragmentIdentifier(frame->document()->url(), request.re sourceRequest().url())) 156 if (equalIgnoringFragmentIdentifier(frame->document()->url(), request.re sourceRequest().url()))
157 request.resourceRequest().setCachePolicy(ReloadIgnoringCacheData); 157 request.resourceRequest().setCachePolicy(ReloadIgnoringCacheData);
158 request.setClientRedirect(ClientRedirect); 158 request.setClientRedirect(ClientRedirect);
159 frame->loader().load(request); 159 frame->loader().load(request);
160 } 160 }
161 private: 161 private:
(...skipping 16 matching lines...) Expand all
178 : ScheduledURLNavigation(0.0, originDocument, url, lockBackForwardList, !protocolIsJavaScript(url)) { } 178 : ScheduledURLNavigation(0.0, originDocument, url, lockBackForwardList, !protocolIsJavaScript(url)) { }
179 }; 179 };
180 180
181 class ScheduledReload final : public ScheduledNavigation { 181 class ScheduledReload final : public ScheduledNavigation {
182 public: 182 public:
183 static PassOwnPtrWillBeRawPtr<ScheduledReload> create() 183 static PassOwnPtrWillBeRawPtr<ScheduledReload> create()
184 { 184 {
185 return adoptPtrWillBeNoop(new ScheduledReload); 185 return adoptPtrWillBeNoop(new ScheduledReload);
186 } 186 }
187 187
188 virtual void fire(LocalFrame* frame) override 188 void fire(LocalFrame* frame) override
189 { 189 {
190 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or(); 190 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or();
191 ResourceRequest resourceRequest = 191 ResourceRequest resourceRequest =
192 frame->loader().resourceRequestForReload(FrameLoadTypeReload, KURL() , ClientRedirect); 192 frame->loader().resourceRequestForReload(FrameLoadTypeReload, KURL() , ClientRedirect);
193 if (resourceRequest.isNull()) 193 if (resourceRequest.isNull())
194 return; 194 return;
195 FrameLoadRequest request = FrameLoadRequest(nullptr, resourceRequest); 195 FrameLoadRequest request = FrameLoadRequest(nullptr, resourceRequest);
196 request.setClientRedirect(ClientRedirect); 196 request.setClientRedirect(ClientRedirect);
197 frame->loader().load(request, FrameLoadTypeReload); 197 frame->loader().load(request, FrameLoadTypeReload);
198 } 198 }
199 199
200 private: 200 private:
201 ScheduledReload() 201 ScheduledReload()
202 : ScheduledNavigation(0.0, nullptr, true, true) 202 : ScheduledNavigation(0.0, nullptr, true, true)
203 { 203 {
204 } 204 }
205 }; 205 };
206 206
207 class ScheduledPageBlock final : public ScheduledURLNavigation { 207 class ScheduledPageBlock final : public ScheduledURLNavigation {
208 public: 208 public:
209 static PassOwnPtrWillBeRawPtr<ScheduledPageBlock> create(Document* originDoc ument, const String& url) 209 static PassOwnPtrWillBeRawPtr<ScheduledPageBlock> create(Document* originDoc ument, const String& url)
210 { 210 {
211 return adoptPtrWillBeNoop(new ScheduledPageBlock(originDocument, url)); 211 return adoptPtrWillBeNoop(new ScheduledPageBlock(originDocument, url));
212 } 212 }
213 213
214 virtual void fire(LocalFrame* frame) override 214 void fire(LocalFrame* frame) override
215 { 215 {
216 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or(); 216 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or();
217 SubstituteData substituteData(SharedBuffer::create(), "text/plain", "UTF -8", KURL(), ForceSynchronousLoad); 217 SubstituteData substituteData(SharedBuffer::create(), "text/plain", "UTF -8", KURL(), ForceSynchronousLoad);
218 FrameLoadRequest request(originDocument(), url(), substituteData); 218 FrameLoadRequest request(originDocument(), url(), substituteData);
219 request.setLockBackForwardList(true); 219 request.setLockBackForwardList(true);
220 request.setClientRedirect(ClientRedirect); 220 request.setClientRedirect(ClientRedirect);
221 frame->loader().load(request); 221 frame->loader().load(request);
222 } 222 }
223 private: 223 private:
224 ScheduledPageBlock(Document* originDocument, const String& url) 224 ScheduledPageBlock(Document* originDocument, const String& url)
225 : ScheduledURLNavigation(0.0, originDocument, url, true, true) 225 : ScheduledURLNavigation(0.0, originDocument, url, true, true)
226 { 226 {
227 } 227 }
228 228
229 }; 229 };
230 230
231 class ScheduledFormSubmission final : public ScheduledNavigation { 231 class ScheduledFormSubmission final : public ScheduledNavigation {
232 public: 232 public:
233 static PassOwnPtrWillBeRawPtr<ScheduledFormSubmission> create(Document* docu ment, PassRefPtrWillBeRawPtr<FormSubmission> submission, bool lockBackForwardLis t) 233 static PassOwnPtrWillBeRawPtr<ScheduledFormSubmission> create(Document* docu ment, PassRefPtrWillBeRawPtr<FormSubmission> submission, bool lockBackForwardLis t)
234 { 234 {
235 return adoptPtrWillBeNoop(new ScheduledFormSubmission(document, submissi on, lockBackForwardList)); 235 return adoptPtrWillBeNoop(new ScheduledFormSubmission(document, submissi on, lockBackForwardList));
236 } 236 }
237 237
238 virtual void fire(LocalFrame* frame) override 238 void fire(LocalFrame* frame) override
239 { 239 {
240 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or(); 240 OwnPtr<UserGestureIndicator> gestureIndicator = createUserGestureIndicat or();
241 FrameLoadRequest frameRequest(originDocument()); 241 FrameLoadRequest frameRequest(originDocument());
242 m_submission->populateFrameLoadRequest(frameRequest); 242 m_submission->populateFrameLoadRequest(frameRequest);
243 frameRequest.setLockBackForwardList(lockBackForwardList()); 243 frameRequest.setLockBackForwardList(lockBackForwardList());
244 frameRequest.setTriggeringEvent(m_submission->event()); 244 frameRequest.setTriggeringEvent(m_submission->event());
245 frameRequest.setForm(m_submission->form()); 245 frameRequest.setForm(m_submission->form());
246 frame->loader().load(frameRequest); 246 frame->loader().load(frameRequest);
247 } 247 }
248 248
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 m_redirect.clear(); 426 m_redirect.clear();
427 } 427 }
428 428
429 DEFINE_TRACE(NavigationScheduler) 429 DEFINE_TRACE(NavigationScheduler)
430 { 430 {
431 visitor->trace(m_frame); 431 visitor->trace(m_frame);
432 visitor->trace(m_redirect); 432 visitor->trace(m_redirect);
433 } 433 }
434 434
435 } // namespace blink 435 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/loader/LinkLoaderTest.cpp ('k') | Source/core/loader/PingLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698