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

Side by Side Diff: third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp

Issue 2423213002: Remove a bunch of pointless null checks in FrameLoaderClientImpl.
Patch Set: Fix formatting. Created 4 years, 2 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 * Copyright (C) 2011 Apple 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 are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 } 132 }
133 133
134 FrameLoaderClientImpl::~FrameLoaderClientImpl() {} 134 FrameLoaderClientImpl::~FrameLoaderClientImpl() {}
135 135
136 DEFINE_TRACE(FrameLoaderClientImpl) { 136 DEFINE_TRACE(FrameLoaderClientImpl) {
137 visitor->trace(m_webFrame); 137 visitor->trace(m_webFrame);
138 FrameLoaderClient::trace(visitor); 138 FrameLoaderClient::trace(visitor);
139 } 139 }
140 140
141 void FrameLoaderClientImpl::didCreateNewDocument() { 141 void FrameLoaderClientImpl::didCreateNewDocument() {
142 if (m_webFrame->client()) 142 m_webFrame->client()->didCreateNewDocument(m_webFrame);
143 m_webFrame->client()->didCreateNewDocument(m_webFrame);
144 } 143 }
145 144
146 void FrameLoaderClientImpl::dispatchDidClearWindowObjectInMainWorld() { 145 void FrameLoaderClientImpl::dispatchDidClearWindowObjectInMainWorld() {
147 if (m_webFrame->client()) { 146 m_webFrame->client()->didClearWindowObject(m_webFrame);
148 m_webFrame->client()->didClearWindowObject(m_webFrame); 147 Document* document = m_webFrame->frame()->document();
149 Document* document = m_webFrame->frame()->document(); 148 if (document) {
150 if (document) { 149 DeviceMotionController::from(*document);
151 DeviceMotionController::from(*document); 150 DeviceOrientationController::from(*document);
152 DeviceOrientationController::from(*document); 151 DeviceOrientationAbsoluteController::from(*document);
153 DeviceOrientationAbsoluteController::from(*document); 152 if (RuntimeEnabledFeatures::deviceLightEnabled())
154 if (RuntimeEnabledFeatures::deviceLightEnabled()) 153 DeviceLightController::from(*document);
155 DeviceLightController::from(*document); 154 NavigatorGamepad::from(*document);
156 NavigatorGamepad::from(*document); 155 NavigatorServiceWorker::from(*document);
157 NavigatorServiceWorker::from(*document); 156 DOMWindowStorageController::from(*document);
158 DOMWindowStorageController::from(*document); 157 if (RuntimeEnabledFeatures::webVREnabled() ||
159 if (RuntimeEnabledFeatures::webVREnabled() || 158 OriginTrials::webVREnabled(document->getExecutionContext()))
160 OriginTrials::webVREnabled(document->getExecutionContext())) 159 NavigatorVR::from(*document);
161 NavigatorVR::from(*document);
162 }
163 } 160 }
161
164 // FIXME: when extensions go out of process, this whole concept stops working. 162 // FIXME: when extensions go out of process, this whole concept stops working.
165 WebDevToolsFrontendImpl* devToolsFrontend = 163 WebDevToolsFrontendImpl* devToolsFrontend =
166 m_webFrame->top()->isWebLocalFrame() 164 m_webFrame->top()->isWebLocalFrame()
167 ? toWebLocalFrameImpl(m_webFrame->top())->devToolsFrontend() 165 ? toWebLocalFrameImpl(m_webFrame->top())->devToolsFrontend()
168 : nullptr; 166 : nullptr;
169 if (devToolsFrontend) 167 if (devToolsFrontend)
170 devToolsFrontend->didClearWindowObject(m_webFrame); 168 devToolsFrontend->didClearWindowObject(m_webFrame);
171 } 169 }
172 170
173 void FrameLoaderClientImpl::documentElementAvailable() { 171 void FrameLoaderClientImpl::documentElementAvailable() {
174 if (m_webFrame->client()) 172 m_webFrame->client()->didCreateDocumentElement(m_webFrame);
175 m_webFrame->client()->didCreateDocumentElement(m_webFrame);
176 } 173 }
177 174
178 void FrameLoaderClientImpl::runScriptsAtDocumentElementAvailable() { 175 void FrameLoaderClientImpl::runScriptsAtDocumentElementAvailable() {
179 if (m_webFrame->client()) 176 m_webFrame->client()->runScriptsAtDocumentElementAvailable(m_webFrame);
180 m_webFrame->client()->runScriptsAtDocumentElementAvailable(m_webFrame);
181 // The callback might have deleted the frame, do not use |this|! 177 // The callback might have deleted the frame, do not use |this|!
182 } 178 }
183 179
184 void FrameLoaderClientImpl::runScriptsAtDocumentReady(bool documentIsEmpty) { 180 void FrameLoaderClientImpl::runScriptsAtDocumentReady(bool documentIsEmpty) {
185 if (m_webFrame->client()) 181 m_webFrame->client()->runScriptsAtDocumentReady(m_webFrame, documentIsEmpty);
186 m_webFrame->client()->runScriptsAtDocumentReady(m_webFrame,
187 documentIsEmpty);
188 // The callback might have deleted the frame, do not use |this|! 182 // The callback might have deleted the frame, do not use |this|!
189 } 183 }
190 184
191 void FrameLoaderClientImpl::didCreateScriptContext( 185 void FrameLoaderClientImpl::didCreateScriptContext(
192 v8::Local<v8::Context> context, 186 v8::Local<v8::Context> context,
193 int extensionGroup, 187 int extensionGroup,
194 int worldId) { 188 int worldId) {
195 if (m_webFrame->client()) 189 m_webFrame->client()->didCreateScriptContext(m_webFrame, context,
196 m_webFrame->client()->didCreateScriptContext(m_webFrame, context, 190 extensionGroup, worldId);
197 extensionGroup, worldId);
198 } 191 }
199 192
200 void FrameLoaderClientImpl::willReleaseScriptContext( 193 void FrameLoaderClientImpl::willReleaseScriptContext(
201 v8::Local<v8::Context> context, 194 v8::Local<v8::Context> context,
202 int worldId) { 195 int worldId) {
203 if (m_webFrame->client()) 196 m_webFrame->client()->willReleaseScriptContext(m_webFrame, context, worldId);
204 m_webFrame->client()->willReleaseScriptContext(m_webFrame, context,
205 worldId);
206 } 197 }
207 198
208 bool FrameLoaderClientImpl::allowScriptExtension(const String& extensionName, 199 bool FrameLoaderClientImpl::allowScriptExtension(const String& extensionName,
209 int extensionGroup, 200 int extensionGroup,
210 int worldId) { 201 int worldId) {
211 if (m_webFrame->contentSettingsClient()) 202 if (m_webFrame->contentSettingsClient())
212 return m_webFrame->contentSettingsClient()->allowScriptExtension( 203 return m_webFrame->contentSettingsClient()->allowScriptExtension(
213 extensionName, extensionGroup, worldId); 204 extensionName, extensionGroup, worldId);
214 205
215 return true; 206 return true;
216 } 207 }
217 208
218 void FrameLoaderClientImpl::didChangeScrollOffset() { 209 void FrameLoaderClientImpl::didChangeScrollOffset() {
219 if (m_webFrame->client()) 210 m_webFrame->client()->didChangeScrollOffset(m_webFrame);
220 m_webFrame->client()->didChangeScrollOffset(m_webFrame);
221 } 211 }
222 212
223 void FrameLoaderClientImpl::didUpdateCurrentHistoryItem() { 213 void FrameLoaderClientImpl::didUpdateCurrentHistoryItem() {
224 if (m_webFrame->client()) 214 m_webFrame->client()->didUpdateCurrentHistoryItem();
225 m_webFrame->client()->didUpdateCurrentHistoryItem();
226 } 215 }
227 216
228 bool FrameLoaderClientImpl::allowScript(bool enabledPerSettings) { 217 bool FrameLoaderClientImpl::allowScript(bool enabledPerSettings) {
229 if (m_webFrame->contentSettingsClient()) 218 if (m_webFrame->contentSettingsClient())
230 return m_webFrame->contentSettingsClient()->allowScript(enabledPerSettings); 219 return m_webFrame->contentSettingsClient()->allowScript(enabledPerSettings);
231 220
232 return enabledPerSettings; 221 return enabledPerSettings;
233 } 222 }
234 223
235 bool FrameLoaderClientImpl::allowScriptFromSource(bool enabledPerSettings, 224 bool FrameLoaderClientImpl::allowScriptFromSource(bool enabledPerSettings,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 bool FrameLoaderClientImpl::inShadowTree() const { 292 bool FrameLoaderClientImpl::inShadowTree() const {
304 return m_webFrame->inShadowTree(); 293 return m_webFrame->inShadowTree();
305 } 294 }
306 295
307 Frame* FrameLoaderClientImpl::opener() const { 296 Frame* FrameLoaderClientImpl::opener() const {
308 return toCoreFrame(m_webFrame->opener()); 297 return toCoreFrame(m_webFrame->opener());
309 } 298 }
310 299
311 void FrameLoaderClientImpl::setOpener(Frame* opener) { 300 void FrameLoaderClientImpl::setOpener(Frame* opener) {
312 WebFrame* openerFrame = WebFrame::fromFrame(opener); 301 WebFrame* openerFrame = WebFrame::fromFrame(opener);
313 if (m_webFrame->client() && m_webFrame->opener() != openerFrame) 302 if (m_webFrame->opener() != openerFrame)
314 m_webFrame->client()->didChangeOpener(openerFrame); 303 m_webFrame->client()->didChangeOpener(openerFrame);
315 m_webFrame->setOpener(openerFrame); 304 m_webFrame->setOpener(openerFrame);
316 } 305 }
317 306
318 Frame* FrameLoaderClientImpl::parent() const { 307 Frame* FrameLoaderClientImpl::parent() const {
319 return toCoreFrame(m_webFrame->parent()); 308 return toCoreFrame(m_webFrame->parent());
320 } 309 }
321 310
322 Frame* FrameLoaderClientImpl::top() const { 311 Frame* FrameLoaderClientImpl::top() const {
323 return toCoreFrame(m_webFrame->top()); 312 return toCoreFrame(m_webFrame->top());
(...skipping 16 matching lines...) Expand all
340 } 329 }
341 330
342 void FrameLoaderClientImpl::willBeDetached() { 331 void FrameLoaderClientImpl::willBeDetached() {
343 m_webFrame->willBeDetached(); 332 m_webFrame->willBeDetached();
344 } 333 }
345 334
346 void FrameLoaderClientImpl::detached(FrameDetachType type) { 335 void FrameLoaderClientImpl::detached(FrameDetachType type) {
347 // Alert the client that the frame is being detached. This is the last 336 // Alert the client that the frame is being detached. This is the last
348 // chance we have to communicate with the client. 337 // chance we have to communicate with the client.
349 WebFrameClient* client = m_webFrame->client(); 338 WebFrameClient* client = m_webFrame->client();
350 if (!client) 339 DCHECK(client);
351 return;
352 340
353 m_webFrame->willDetachParent(); 341 m_webFrame->willDetachParent();
354 342
355 // Signal that no further communication with WebFrameClient should take 343 // Signal that no further communication with WebFrameClient should take
356 // place at this point since we are no longer associated with the Page. 344 // place at this point since we are no longer associated with the Page.
357 m_webFrame->setClient(0); 345 m_webFrame->setClient(0);
358 346
359 client->frameDetached(m_webFrame, 347 client->frameDetached(m_webFrame,
360 static_cast<WebFrameClient::DetachType>(type)); 348 static_cast<WebFrameClient::DetachType>(type));
361 // Clear our reference to LocalFrame at the very end, in case the client 349 // Clear our reference to LocalFrame at the very end, in case the client
362 // refers to it. 350 // refers to it.
363 m_webFrame->setCoreFrame(nullptr); 351 m_webFrame->setCoreFrame(nullptr);
364 } 352 }
365 353
366 void FrameLoaderClientImpl::dispatchWillSendRequest(ResourceRequest& request) { 354 void FrameLoaderClientImpl::dispatchWillSendRequest(ResourceRequest& request) {
367 // Give the WebFrameClient a crack at the request. 355 WrappedResourceRequest webreq(request);
368 if (m_webFrame->client()) { 356 m_webFrame->client()->willSendRequest(m_webFrame, webreq);
369 WrappedResourceRequest webreq(request);
370 m_webFrame->client()->willSendRequest(m_webFrame, webreq);
371 }
372 } 357 }
373 358
374 void FrameLoaderClientImpl::dispatchDidReceiveResponse( 359 void FrameLoaderClientImpl::dispatchDidReceiveResponse(
375 const ResourceResponse& response) { 360 const ResourceResponse& response) {
376 if (m_webFrame->client()) { 361 WrappedResourceResponse webresp(response);
377 WrappedResourceResponse webresp(response); 362 m_webFrame->client()->didReceiveResponse(webresp);
378 m_webFrame->client()->didReceiveResponse(webresp);
379 }
380 } 363 }
381 364
382 void FrameLoaderClientImpl::dispatchDidFinishDocumentLoad() { 365 void FrameLoaderClientImpl::dispatchDidFinishDocumentLoad() {
383 // TODO(dglazkov): Sadly, workers are WebFrameClients, and they can totally 366 // TODO(dglazkov): Sadly, workers are WebFrameClients, and they can totally
384 // destroy themselves when didFinishDocumentLoad is invoked, and in turn 367 // destroy themselves when didFinishDocumentLoad is invoked, and in turn
385 // destroy the fake WebLocalFrame that they create, which means that you 368 // destroy the fake WebLocalFrame that they create, which means that you
386 // should not put any code touching `this` after the two lines below. 369 // should not put any code touching `this` after the two lines below.
387 if (m_webFrame->client()) 370 m_webFrame->client()->didFinishDocumentLoad(m_webFrame);
388 m_webFrame->client()->didFinishDocumentLoad(m_webFrame);
389 } 371 }
390 372
391 void FrameLoaderClientImpl::dispatchDidLoadResourceFromMemoryCache( 373 void FrameLoaderClientImpl::dispatchDidLoadResourceFromMemoryCache(
392 const ResourceRequest& request, 374 const ResourceRequest& request,
393 const ResourceResponse& response) { 375 const ResourceResponse& response) {
394 if (m_webFrame->client()) 376 m_webFrame->client()->didLoadResourceFromMemoryCache(
395 m_webFrame->client()->didLoadResourceFromMemoryCache( 377 WrappedResourceRequest(request), WrappedResourceResponse(response));
396 WrappedResourceRequest(request), WrappedResourceResponse(response));
397 } 378 }
398 379
399 void FrameLoaderClientImpl::dispatchDidHandleOnloadEvents() { 380 void FrameLoaderClientImpl::dispatchDidHandleOnloadEvents() {
400 if (m_webFrame->client()) 381 m_webFrame->client()->didHandleOnloadEvents(m_webFrame);
401 m_webFrame->client()->didHandleOnloadEvents(m_webFrame);
402 } 382 }
403 383
404 void FrameLoaderClientImpl:: 384 void FrameLoaderClientImpl::
405 dispatchDidReceiveServerRedirectForProvisionalLoad() { 385 dispatchDidReceiveServerRedirectForProvisionalLoad() {
406 if (m_webFrame->client()) 386 m_webFrame->client()->didReceiveServerRedirectForProvisionalLoad(m_webFrame);
407 m_webFrame->client()->didReceiveServerRedirectForProvisionalLoad(
408 m_webFrame);
409 } 387 }
410 388
411 void FrameLoaderClientImpl::dispatchDidNavigateWithinPage( 389 void FrameLoaderClientImpl::dispatchDidNavigateWithinPage(
412 HistoryItem* item, 390 HistoryItem* item,
413 HistoryCommitType commitType, 391 HistoryCommitType commitType,
414 bool contentInitiated) { 392 bool contentInitiated) {
415 bool shouldCreateHistoryEntry = commitType == StandardCommit; 393 bool shouldCreateHistoryEntry = commitType == StandardCommit;
416 // TODO(dglazkov): Does this need to be called for subframes? 394 // TODO(dglazkov): Does this need to be called for subframes?
417 m_webFrame->viewImpl()->didCommitLoad(shouldCreateHistoryEntry, true); 395 m_webFrame->viewImpl()->didCommitLoad(shouldCreateHistoryEntry, true);
418 if (m_webFrame->client()) 396 m_webFrame->client()->didNavigateWithinPage(
419 m_webFrame->client()->didNavigateWithinPage( 397 m_webFrame, WebHistoryItem(item),
420 m_webFrame, WebHistoryItem(item), 398 static_cast<WebHistoryCommitType>(commitType), contentInitiated);
421 static_cast<WebHistoryCommitType>(commitType), contentInitiated);
422 } 399 }
423 400
424 void FrameLoaderClientImpl::dispatchWillCommitProvisionalLoad() { 401 void FrameLoaderClientImpl::dispatchWillCommitProvisionalLoad() {
425 if (m_webFrame->client()) 402 m_webFrame->client()->willCommitProvisionalLoad(m_webFrame);
426 m_webFrame->client()->willCommitProvisionalLoad(m_webFrame);
427 } 403 }
428 404
429 void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad( 405 void FrameLoaderClientImpl::dispatchDidStartProvisionalLoad(
430 double triggeringEventTime) { 406 double triggeringEventTime) {
431 if (m_webFrame->client()) 407 m_webFrame->client()->didStartProvisionalLoad(m_webFrame,
432 m_webFrame->client()->didStartProvisionalLoad(m_webFrame, 408 triggeringEventTime);
433 triggeringEventTime);
434 if (WebDevToolsAgentImpl* devTools = devToolsAgent()) 409 if (WebDevToolsAgentImpl* devTools = devToolsAgent())
435 devTools->didStartProvisionalLoad(m_webFrame->frame()); 410 devTools->didStartProvisionalLoad(m_webFrame->frame());
436 } 411 }
437 412
438 void FrameLoaderClientImpl::dispatchDidReceiveTitle(const String& title) { 413 void FrameLoaderClientImpl::dispatchDidReceiveTitle(const String& title) {
439 if (m_webFrame->client()) 414 m_webFrame->client()->didReceiveTitle(m_webFrame, title,
440 m_webFrame->client()->didReceiveTitle(m_webFrame, title, 415 WebTextDirectionLeftToRight);
441 WebTextDirectionLeftToRight);
442 } 416 }
443 417
444 void FrameLoaderClientImpl::dispatchDidChangeIcons(IconType type) { 418 void FrameLoaderClientImpl::dispatchDidChangeIcons(IconType type) {
445 if (m_webFrame->client()) 419 m_webFrame->client()->didChangeIcon(m_webFrame,
446 m_webFrame->client()->didChangeIcon(m_webFrame, 420 static_cast<WebIconURL::Type>(type));
447 static_cast<WebIconURL::Type>(type));
448 } 421 }
449 422
450 void FrameLoaderClientImpl::dispatchDidCommitLoad( 423 void FrameLoaderClientImpl::dispatchDidCommitLoad(
451 HistoryItem* item, 424 HistoryItem* item,
452 HistoryCommitType commitType) { 425 HistoryCommitType commitType) {
453 if (!m_webFrame->parent()) { 426 if (!m_webFrame->parent()) {
454 m_webFrame->viewImpl()->didCommitLoad(commitType == StandardCommit, false); 427 m_webFrame->viewImpl()->didCommitLoad(commitType == StandardCommit, false);
455 } 428 }
456 429
457 // Save some histogram data so we can compute the average memory used per 430 // Save some histogram data so we can compute the average memory used per
458 // page load of the glyphs. 431 // page load of the glyphs.
459 // TODO(esprehn): Is this ancient uma actually useful? 432 // TODO(esprehn): Is this ancient uma actually useful?
460 DEFINE_STATIC_LOCAL(CustomCountHistogram, gyphsPagesPerLoadHistogram, 433 DEFINE_STATIC_LOCAL(CustomCountHistogram, gyphsPagesPerLoadHistogram,
461 ("Memory.GlyphPagesPerLoad", 1, 10000, 50)); 434 ("Memory.GlyphPagesPerLoad", 1, 10000, 50));
462 gyphsPagesPerLoadHistogram.count(GlyphPageTreeNode::treeGlyphPageCount()); 435 gyphsPagesPerLoadHistogram.count(GlyphPageTreeNode::treeGlyphPageCount());
463 436
464 if (m_webFrame->client()) 437 m_webFrame->client()->didCommitProvisionalLoad(
465 m_webFrame->client()->didCommitProvisionalLoad( 438 m_webFrame, WebHistoryItem(item),
466 m_webFrame, WebHistoryItem(item), 439 static_cast<WebHistoryCommitType>(commitType));
467 static_cast<WebHistoryCommitType>(commitType));
468 if (WebDevToolsAgentImpl* devTools = devToolsAgent()) 440 if (WebDevToolsAgentImpl* devTools = devToolsAgent())
469 devTools->didCommitLoadForLocalFrame(m_webFrame->frame()); 441 devTools->didCommitLoadForLocalFrame(m_webFrame->frame());
470 } 442 }
471 443
472 void FrameLoaderClientImpl::dispatchDidFailProvisionalLoad( 444 void FrameLoaderClientImpl::dispatchDidFailProvisionalLoad(
473 const ResourceError& error, 445 const ResourceError& error,
474 HistoryCommitType commitType) { 446 HistoryCommitType commitType) {
475 m_webFrame->didFail(error, true, commitType); 447 m_webFrame->didFail(error, true, commitType);
476 } 448 }
477 449
478 void FrameLoaderClientImpl::dispatchDidFailLoad(const ResourceError& error, 450 void FrameLoaderClientImpl::dispatchDidFailLoad(const ResourceError& error,
479 HistoryCommitType commitType) { 451 HistoryCommitType commitType) {
480 m_webFrame->didFail(error, false, commitType); 452 m_webFrame->didFail(error, false, commitType);
481 } 453 }
482 454
483 void FrameLoaderClientImpl::dispatchDidFinishLoad() { 455 void FrameLoaderClientImpl::dispatchDidFinishLoad() {
484 m_webFrame->didFinish(); 456 m_webFrame->didFinish();
485 } 457 }
486 458
487 void FrameLoaderClientImpl::dispatchDidChangeThemeColor() { 459 void FrameLoaderClientImpl::dispatchDidChangeThemeColor() {
488 if (m_webFrame->client()) 460 m_webFrame->client()->didChangeThemeColor();
489 m_webFrame->client()->didChangeThemeColor();
490 } 461 }
491 462
492 static bool allowCreatingBackgroundTabs() { 463 static bool allowCreatingBackgroundTabs() {
493 const WebInputEvent* inputEvent = WebViewImpl::currentInputEvent(); 464 const WebInputEvent* inputEvent = WebViewImpl::currentInputEvent();
494 if (!inputEvent || (inputEvent->type != WebInputEvent::MouseUp && 465 if (!inputEvent || (inputEvent->type != WebInputEvent::MouseUp &&
495 (inputEvent->type != WebInputEvent::RawKeyDown && 466 (inputEvent->type != WebInputEvent::RawKeyDown &&
496 inputEvent->type != WebInputEvent::KeyDown) && 467 inputEvent->type != WebInputEvent::KeyDown) &&
497 inputEvent->type != WebInputEvent::GestureTap)) 468 inputEvent->type != WebInputEvent::GestureTap))
498 return false; 469 return false;
499 470
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 return userPolicy == NavigationPolicyNewBackgroundTab; 502 return userPolicy == NavigationPolicyNewBackgroundTab;
532 } 503 }
533 504
534 NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation( 505 NavigationPolicy FrameLoaderClientImpl::decidePolicyForNavigation(
535 const ResourceRequest& request, 506 const ResourceRequest& request,
536 DocumentLoader* loader, 507 DocumentLoader* loader,
537 NavigationType type, 508 NavigationType type,
538 NavigationPolicy policy, 509 NavigationPolicy policy,
539 bool replacesCurrentHistoryItem, 510 bool replacesCurrentHistoryItem,
540 bool isClientRedirect) { 511 bool isClientRedirect) {
541 if (!m_webFrame->client())
542 return NavigationPolicyIgnore;
543
544 if (policy == NavigationPolicyNewBackgroundTab && 512 if (policy == NavigationPolicyNewBackgroundTab &&
545 !allowCreatingBackgroundTabs() && 513 !allowCreatingBackgroundTabs() &&
546 !UIEventWithKeyState::newTabModifierSetFromIsolatedWorld()) 514 !UIEventWithKeyState::newTabModifierSetFromIsolatedWorld())
547 policy = NavigationPolicyNewForegroundTab; 515 policy = NavigationPolicyNewForegroundTab;
548 516
549 WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(loader); 517 WebDataSourceImpl* ds = WebDataSourceImpl::fromDocumentLoader(loader);
550 518
551 // Newly created child frames may need to be navigated to a history item 519 // Newly created child frames may need to be navigated to a history item
552 // during a back/forward navigation. This will only happen when the parent 520 // during a back/forward navigation. This will only happen when the parent
553 // is a LocalFrame doing a back/forward navigation that has not completed. 521 // is a LocalFrame doing a back/forward navigation that has not completed.
(...skipping 19 matching lines...) Expand all
573 navigationInfo.isHistoryNavigationInNewChildFrame = 541 navigationInfo.isHistoryNavigationInNewChildFrame =
574 isHistoryNavigationInNewChildFrame; 542 isHistoryNavigationInNewChildFrame;
575 navigationInfo.isClientRedirect = isClientRedirect; 543 navigationInfo.isClientRedirect = isClientRedirect;
576 544
577 WebNavigationPolicy webPolicy = 545 WebNavigationPolicy webPolicy =
578 m_webFrame->client()->decidePolicyForNavigation(navigationInfo); 546 m_webFrame->client()->decidePolicyForNavigation(navigationInfo);
579 return static_cast<NavigationPolicy>(webPolicy); 547 return static_cast<NavigationPolicy>(webPolicy);
580 } 548 }
581 549
582 void FrameLoaderClientImpl::dispatchWillSendSubmitEvent(HTMLFormElement* form) { 550 void FrameLoaderClientImpl::dispatchWillSendSubmitEvent(HTMLFormElement* form) {
583 if (m_webFrame->client()) 551 m_webFrame->client()->willSendSubmitEvent(WebFormElement(form));
584 m_webFrame->client()->willSendSubmitEvent(WebFormElement(form));
585 } 552 }
586 553
587 void FrameLoaderClientImpl::dispatchWillSubmitForm(HTMLFormElement* form) { 554 void FrameLoaderClientImpl::dispatchWillSubmitForm(HTMLFormElement* form) {
588 if (m_webFrame->client()) 555 m_webFrame->client()->willSubmitForm(WebFormElement(form));
589 m_webFrame->client()->willSubmitForm(WebFormElement(form));
590 } 556 }
591 557
592 void FrameLoaderClientImpl::didStartLoading(LoadStartType loadStartType) { 558 void FrameLoaderClientImpl::didStartLoading(LoadStartType loadStartType) {
593 if (m_webFrame->client()) 559 m_webFrame->client()->didStartLoading(loadStartType ==
594 m_webFrame->client()->didStartLoading(loadStartType == 560 NavigationToDifferentDocument);
595 NavigationToDifferentDocument);
596 } 561 }
597 562
598 void FrameLoaderClientImpl::progressEstimateChanged(double progressEstimate) { 563 void FrameLoaderClientImpl::progressEstimateChanged(double progressEstimate) {
599 if (m_webFrame->client()) 564 m_webFrame->client()->didChangeLoadProgress(progressEstimate);
600 m_webFrame->client()->didChangeLoadProgress(progressEstimate);
601 } 565 }
602 566
603 void FrameLoaderClientImpl::didStopLoading() { 567 void FrameLoaderClientImpl::didStopLoading() {
604 if (m_webFrame->client()) 568 m_webFrame->client()->didStopLoading();
605 m_webFrame->client()->didStopLoading();
606 } 569 }
607 570
608 void FrameLoaderClientImpl::loadURLExternally(const ResourceRequest& request, 571 void FrameLoaderClientImpl::loadURLExternally(const ResourceRequest& request,
609 NavigationPolicy policy, 572 NavigationPolicy policy,
610 const String& suggestedName, 573 const String& suggestedName,
611 bool shouldReplaceCurrentEntry) { 574 bool shouldReplaceCurrentEntry) {
612 if (!m_webFrame->client())
613 return;
614 DCHECK(m_webFrame->frame()->document()); 575 DCHECK(m_webFrame->frame()->document());
615 Fullscreen::fullyExitFullscreen(*m_webFrame->frame()->document()); 576 Fullscreen::fullyExitFullscreen(*m_webFrame->frame()->document());
616 m_webFrame->client()->loadURLExternally( 577 m_webFrame->client()->loadURLExternally(
617 WrappedResourceRequest(request), static_cast<WebNavigationPolicy>(policy), 578 WrappedResourceRequest(request), static_cast<WebNavigationPolicy>(policy),
618 suggestedName, shouldReplaceCurrentEntry); 579 suggestedName, shouldReplaceCurrentEntry);
619 } 580 }
620 581
621 bool FrameLoaderClientImpl::navigateBackForward(int offset) const { 582 bool FrameLoaderClientImpl::navigateBackForward(int offset) const {
622 WebViewImpl* webview = m_webFrame->viewImpl(); 583 WebViewImpl* webview = m_webFrame->viewImpl();
623 if (!webview->client())
624 return false;
625 584
626 DCHECK(offset); 585 DCHECK(offset);
627 if (offset > webview->client()->historyForwardListCount()) 586 if (offset > webview->client()->historyForwardListCount())
628 return false; 587 return false;
629 if (offset < -webview->client()->historyBackListCount()) 588 if (offset < -webview->client()->historyBackListCount())
630 return false; 589 return false;
631 webview->client()->navigateBackForwardSoon(offset); 590 webview->client()->navigateBackForwardSoon(offset);
632 return true; 591 return true;
633 } 592 }
634 593
635 void FrameLoaderClientImpl::didAccessInitialDocument() { 594 void FrameLoaderClientImpl::didAccessInitialDocument() {
636 if (m_webFrame->client()) 595 m_webFrame->client()->didAccessInitialDocument();
637 m_webFrame->client()->didAccessInitialDocument();
638 } 596 }
639 597
640 void FrameLoaderClientImpl::didDisplayInsecureContent() { 598 void FrameLoaderClientImpl::didDisplayInsecureContent() {
641 if (m_webFrame->client()) 599 m_webFrame->client()->didDisplayInsecureContent();
642 m_webFrame->client()->didDisplayInsecureContent();
643 } 600 }
644 601
645 void FrameLoaderClientImpl::didRunInsecureContent(SecurityOrigin* origin, 602 void FrameLoaderClientImpl::didRunInsecureContent(SecurityOrigin* origin,
646 const KURL& insecureURL) { 603 const KURL& insecureURL) {
647 if (m_webFrame->client()) 604 m_webFrame->client()->didRunInsecureContent(WebSecurityOrigin(origin),
648 m_webFrame->client()->didRunInsecureContent(WebSecurityOrigin(origin), 605 insecureURL);
649 insecureURL);
650 } 606 }
651 607
652 void FrameLoaderClientImpl::didDetectXSS(const KURL& insecureURL, 608 void FrameLoaderClientImpl::didDetectXSS(const KURL& insecureURL,
653 bool didBlockEntirePage) { 609 bool didBlockEntirePage) {
654 if (m_webFrame->client()) 610 m_webFrame->client()->didDetectXSS(insecureURL, didBlockEntirePage);
655 m_webFrame->client()->didDetectXSS(insecureURL, didBlockEntirePage);
656 } 611 }
657 612
658 void FrameLoaderClientImpl::didDispatchPingLoader(const KURL& url) { 613 void FrameLoaderClientImpl::didDispatchPingLoader(const KURL& url) {
659 if (m_webFrame->client()) 614 m_webFrame->client()->didDispatchPingLoader(url);
660 m_webFrame->client()->didDispatchPingLoader(url);
661 } 615 }
662 616
663 void FrameLoaderClientImpl::didDisplayContentWithCertificateErrors( 617 void FrameLoaderClientImpl::didDisplayContentWithCertificateErrors(
664 const KURL& url) { 618 const KURL& url) {
665 if (m_webFrame->client()) 619 m_webFrame->client()->didDisplayContentWithCertificateErrors(url);
666 m_webFrame->client()->didDisplayContentWithCertificateErrors(url);
667 } 620 }
668 621
669 void FrameLoaderClientImpl::didRunContentWithCertificateErrors( 622 void FrameLoaderClientImpl::didRunContentWithCertificateErrors(
670 const KURL& url) { 623 const KURL& url) {
671 if (m_webFrame->client()) 624 m_webFrame->client()->didRunContentWithCertificateErrors(url);
672 m_webFrame->client()->didRunContentWithCertificateErrors(url);
673 } 625 }
674 626
675 void FrameLoaderClientImpl::didChangePerformanceTiming() { 627 void FrameLoaderClientImpl::didChangePerformanceTiming() {
676 if (m_webFrame->client()) 628 m_webFrame->client()->didChangePerformanceTiming();
677 m_webFrame->client()->didChangePerformanceTiming();
678 } 629 }
679 630
680 void FrameLoaderClientImpl::didObserveLoadingBehavior( 631 void FrameLoaderClientImpl::didObserveLoadingBehavior(
681 WebLoadingBehaviorFlag behavior) { 632 WebLoadingBehaviorFlag behavior) {
682 if (m_webFrame->client()) 633 m_webFrame->client()->didObserveLoadingBehavior(behavior);
683 m_webFrame->client()->didObserveLoadingBehavior(behavior);
684 } 634 }
685 635
686 void FrameLoaderClientImpl::selectorMatchChanged( 636 void FrameLoaderClientImpl::selectorMatchChanged(
687 const Vector<String>& addedSelectors, 637 const Vector<String>& addedSelectors,
688 const Vector<String>& removedSelectors) { 638 const Vector<String>& removedSelectors) {
689 if (WebFrameClient* client = m_webFrame->client()) 639 m_webFrame->client()->didMatchCSS(m_webFrame,
690 client->didMatchCSS(m_webFrame, WebVector<WebString>(addedSelectors), 640 WebVector<WebString>(addedSelectors),
691 WebVector<WebString>(removedSelectors)); 641 WebVector<WebString>(removedSelectors));
692 } 642 }
693 643
694 DocumentLoader* FrameLoaderClientImpl::createDocumentLoader( 644 DocumentLoader* FrameLoaderClientImpl::createDocumentLoader(
695 LocalFrame* frame, 645 LocalFrame* frame,
696 const ResourceRequest& request, 646 const ResourceRequest& request,
697 const SubstituteData& data) { 647 const SubstituteData& data) {
698 WebDataSourceImpl* ds = WebDataSourceImpl::create(frame, request, data); 648 WebDataSourceImpl* ds = WebDataSourceImpl::create(frame, request, data);
699 if (m_webFrame->client()) 649 m_webFrame->client()->didCreateDataSource(m_webFrame, ds);
700 m_webFrame->client()->didCreateDataSource(m_webFrame, ds);
701 return ds; 650 return ds;
702 } 651 }
703 652
704 String FrameLoaderClientImpl::userAgent() { 653 String FrameLoaderClientImpl::userAgent() {
705 WebString override = 654 WebString override = m_webFrame->client()->userAgentOverride();
706 m_webFrame->client() ? m_webFrame->client()->userAgentOverride() : "";
707 if (!override.isEmpty()) 655 if (!override.isEmpty())
708 return override; 656 return override;
709 657
710 if (m_userAgent.isEmpty()) 658 if (m_userAgent.isEmpty())
711 m_userAgent = Platform::current()->userAgent(); 659 m_userAgent = Platform::current()->userAgent();
712 return m_userAgent; 660 return m_userAgent;
713 } 661 }
714 662
715 String FrameLoaderClientImpl::doNotTrackValue() { 663 String FrameLoaderClientImpl::doNotTrackValue() {
716 WebString doNotTrack = m_webFrame->client()->doNotTrackValue(); 664 WebString doNotTrack = m_webFrame->client()->doNotTrackValue();
(...skipping 10 matching lines...) Expand all
727 675
728 LocalFrame* FrameLoaderClientImpl::createFrame( 676 LocalFrame* FrameLoaderClientImpl::createFrame(
729 const FrameLoadRequest& request, 677 const FrameLoadRequest& request,
730 const AtomicString& name, 678 const AtomicString& name,
731 HTMLFrameOwnerElement* ownerElement) { 679 HTMLFrameOwnerElement* ownerElement) {
732 return m_webFrame->createChildFrame(request, name, ownerElement); 680 return m_webFrame->createChildFrame(request, name, ownerElement);
733 } 681 }
734 682
735 bool FrameLoaderClientImpl::canCreatePluginWithoutRenderer( 683 bool FrameLoaderClientImpl::canCreatePluginWithoutRenderer(
736 const String& mimeType) const { 684 const String& mimeType) const {
737 if (!m_webFrame->client())
738 return false;
739
740 return m_webFrame->client()->canCreatePluginWithoutRenderer(mimeType); 685 return m_webFrame->client()->canCreatePluginWithoutRenderer(mimeType);
741 } 686 }
742 687
743 Widget* FrameLoaderClientImpl::createPlugin(HTMLPlugInElement* element, 688 Widget* FrameLoaderClientImpl::createPlugin(HTMLPlugInElement* element,
744 const KURL& url, 689 const KURL& url,
745 const Vector<String>& paramNames, 690 const Vector<String>& paramNames,
746 const Vector<String>& paramValues, 691 const Vector<String>& paramValues,
747 const String& mimeType, 692 const String& mimeType,
748 bool loadManually, 693 bool loadManually,
749 DetachedPluginPolicy policy) { 694 DetachedPluginPolicy policy) {
750 if (!m_webFrame->client())
751 return nullptr;
752
753 WebPluginParams params; 695 WebPluginParams params;
754 params.url = url; 696 params.url = url;
755 params.mimeType = mimeType; 697 params.mimeType = mimeType;
756 params.attributeNames = paramNames; 698 params.attributeNames = paramNames;
757 params.attributeValues = paramValues; 699 params.attributeValues = paramValues;
758 params.loadManually = loadManually; 700 params.loadManually = loadManually;
759 701
760 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params); 702 WebPlugin* webPlugin = m_webFrame->client()->createPlugin(m_webFrame, params);
761 if (!webPlugin) 703 if (!webPlugin)
762 return nullptr; 704 return nullptr;
763 705
764 // The container takes ownership of the WebPlugin. 706 // The container takes ownership of the WebPlugin.
765 WebPluginContainerImpl* container = 707 WebPluginContainerImpl* container =
766 WebPluginContainerImpl::create(element, webPlugin); 708 WebPluginContainerImpl::create(element, webPlugin);
767 709
768 if (!webPlugin->initialize(container)) 710 if (!webPlugin->initialize(container))
769 return nullptr; 711 return nullptr;
770 712
771 if (policy != AllowDetachedPlugin && !element->layoutObject()) 713 if (policy != AllowDetachedPlugin && !element->layoutObject())
772 return nullptr; 714 return nullptr;
773 715
774 return container; 716 return container;
775 } 717 }
776 718
777 std::unique_ptr<WebMediaPlayer> FrameLoaderClientImpl::createWebMediaPlayer( 719 std::unique_ptr<WebMediaPlayer> FrameLoaderClientImpl::createWebMediaPlayer(
778 HTMLMediaElement& htmlMediaElement, 720 HTMLMediaElement& htmlMediaElement,
779 const WebMediaPlayerSource& source, 721 const WebMediaPlayerSource& source,
780 WebMediaPlayerClient* client) { 722 WebMediaPlayerClient* client) {
781 WebLocalFrameImpl* webFrame =
782 WebLocalFrameImpl::fromFrame(htmlMediaElement.document().frame());
783
784 if (!webFrame || !webFrame->client())
785 return nullptr;
786
787 HTMLMediaElementEncryptedMedia& encryptedMedia = 723 HTMLMediaElementEncryptedMedia& encryptedMedia =
788 HTMLMediaElementEncryptedMedia::from(htmlMediaElement); 724 HTMLMediaElementEncryptedMedia::from(htmlMediaElement);
789 WebString sinkId(HTMLMediaElementAudioOutputDevice::sinkId(htmlMediaElement)); 725 WebString sinkId(HTMLMediaElementAudioOutputDevice::sinkId(htmlMediaElement));
790 return wrapUnique(webFrame->client()->createMediaPlayer( 726 return wrapUnique(m_webFrame->client()->createMediaPlayer(
791 source, client, &encryptedMedia, encryptedMedia.contentDecryptionModule(), 727 source, client, &encryptedMedia, encryptedMedia.contentDecryptionModule(),
792 sinkId)); 728 sinkId));
793 } 729 }
794 730
795 ObjectContentType FrameLoaderClientImpl::getObjectContentType( 731 ObjectContentType FrameLoaderClientImpl::getObjectContentType(
796 const KURL& url, 732 const KURL& url,
797 const String& explicitMimeType, 733 const String& explicitMimeType,
798 bool shouldPreferPlugInsForImages) { 734 bool shouldPreferPlugInsForImages) {
799 // This code is based on Apple's implementation from 735 // This code is based on Apple's implementation from
800 // WebCoreSupport/WebFrameBridge.mm. 736 // WebCoreSupport/WebFrameBridge.mm.
(...skipping 25 matching lines...) Expand all
826 if (plugInSupportsMIMEType) 762 if (plugInSupportsMIMEType)
827 return ObjectContentNetscapePlugin; 763 return ObjectContentNetscapePlugin;
828 764
829 if (MIMETypeRegistry::isSupportedNonImageMIMEType(mimeType)) 765 if (MIMETypeRegistry::isSupportedNonImageMIMEType(mimeType))
830 return ObjectContentFrame; 766 return ObjectContentFrame;
831 767
832 return ObjectContentNone; 768 return ObjectContentNone;
833 } 769 }
834 770
835 WebCookieJar* FrameLoaderClientImpl::cookieJar() const { 771 WebCookieJar* FrameLoaderClientImpl::cookieJar() const {
836 if (!m_webFrame->client())
837 return 0;
838 return m_webFrame->client()->cookieJar(); 772 return m_webFrame->client()->cookieJar();
839 } 773 }
840 774
841 void FrameLoaderClientImpl::frameFocused() const { 775 void FrameLoaderClientImpl::frameFocused() const {
842 if (m_webFrame->client()) 776 m_webFrame->client()->frameFocused();
843 m_webFrame->client()->frameFocused();
844 } 777 }
845 778
846 void FrameLoaderClientImpl::didChangeName(const String& name, 779 void FrameLoaderClientImpl::didChangeName(const String& name,
847 const String& uniqueName) { 780 const String& uniqueName) {
848 if (!m_webFrame->client())
849 return;
850 m_webFrame->client()->didChangeName(name, uniqueName); 781 m_webFrame->client()->didChangeName(name, uniqueName);
851 } 782 }
852 783
853 void FrameLoaderClientImpl::didEnforceInsecureRequestPolicy( 784 void FrameLoaderClientImpl::didEnforceInsecureRequestPolicy(
854 WebInsecureRequestPolicy policy) { 785 WebInsecureRequestPolicy policy) {
855 if (!m_webFrame->client())
856 return;
857 m_webFrame->client()->didEnforceInsecureRequestPolicy(policy); 786 m_webFrame->client()->didEnforceInsecureRequestPolicy(policy);
858 } 787 }
859 788
860 void FrameLoaderClientImpl::didUpdateToUniqueOrigin() { 789 void FrameLoaderClientImpl::didUpdateToUniqueOrigin() {
861 if (!m_webFrame->client())
862 return;
863 DCHECK(m_webFrame->getSecurityOrigin().isUnique()); 790 DCHECK(m_webFrame->getSecurityOrigin().isUnique());
864 m_webFrame->client()->didUpdateToUniqueOrigin( 791 m_webFrame->client()->didUpdateToUniqueOrigin(
865 m_webFrame->getSecurityOrigin().isPotentiallyTrustworthy()); 792 m_webFrame->getSecurityOrigin().isPotentiallyTrustworthy());
866 } 793 }
867 794
868 void FrameLoaderClientImpl::didChangeSandboxFlags(Frame* childFrame, 795 void FrameLoaderClientImpl::didChangeSandboxFlags(Frame* childFrame,
869 SandboxFlags flags) { 796 SandboxFlags flags) {
870 if (!m_webFrame->client())
871 return;
872 m_webFrame->client()->didChangeSandboxFlags( 797 m_webFrame->client()->didChangeSandboxFlags(
873 WebFrame::fromFrame(childFrame), static_cast<WebSandboxFlags>(flags)); 798 WebFrame::fromFrame(childFrame), static_cast<WebSandboxFlags>(flags));
874 } 799 }
875 800
876 void FrameLoaderClientImpl::didAddContentSecurityPolicy( 801 void FrameLoaderClientImpl::didAddContentSecurityPolicy(
877 const String& headerValue, 802 const String& headerValue,
878 ContentSecurityPolicyHeaderType type, 803 ContentSecurityPolicyHeaderType type,
879 ContentSecurityPolicyHeaderSource source) { 804 ContentSecurityPolicyHeaderSource source) {
880 if (m_webFrame->client()) { 805 m_webFrame->client()->didAddContentSecurityPolicy(
881 m_webFrame->client()->didAddContentSecurityPolicy( 806 headerValue, static_cast<WebContentSecurityPolicyType>(type),
882 headerValue, static_cast<WebContentSecurityPolicyType>(type), 807 static_cast<WebContentSecurityPolicySource>(source));
883 static_cast<WebContentSecurityPolicySource>(source));
884 }
885 } 808 }
886 809
887 void FrameLoaderClientImpl::didChangeFrameOwnerProperties( 810 void FrameLoaderClientImpl::didChangeFrameOwnerProperties(
888 HTMLFrameElementBase* frameElement) { 811 HTMLFrameElementBase* frameElement) {
889 if (!m_webFrame->client())
890 return;
891
892 m_webFrame->client()->didChangeFrameOwnerProperties( 812 m_webFrame->client()->didChangeFrameOwnerProperties(
893 WebFrame::fromFrame(frameElement->contentFrame()), 813 WebFrame::fromFrame(frameElement->contentFrame()),
894 WebFrameOwnerProperties( 814 WebFrameOwnerProperties(
895 frameElement->scrollingMode(), frameElement->marginWidth(), 815 frameElement->scrollingMode(), frameElement->marginWidth(),
896 frameElement->marginHeight(), frameElement->allowFullscreen(), 816 frameElement->marginHeight(), frameElement->allowFullscreen(),
897 frameElement->csp(), frameElement->delegatedPermissions())); 817 frameElement->csp(), frameElement->delegatedPermissions()));
898 } 818 }
899 819
900 void FrameLoaderClientImpl::dispatchWillStartUsingPeerConnectionHandler( 820 void FrameLoaderClientImpl::dispatchWillStartUsingPeerConnectionHandler(
901 WebRTCPeerConnectionHandler* handler) { 821 WebRTCPeerConnectionHandler* handler) {
902 m_webFrame->client()->willStartUsingPeerConnectionHandler(handler); 822 m_webFrame->client()->willStartUsingPeerConnectionHandler(handler);
903 } 823 }
904 824
905 bool FrameLoaderClientImpl::allowWebGL(bool enabledPerSettings) { 825 bool FrameLoaderClientImpl::allowWebGL(bool enabledPerSettings) {
906 if (m_webFrame->client()) 826 return m_webFrame->client()->allowWebGL(enabledPerSettings);
907 return m_webFrame->client()->allowWebGL(enabledPerSettings);
908
909 return enabledPerSettings;
910 } 827 }
911 828
912 void FrameLoaderClientImpl::dispatchWillInsertBody() { 829 void FrameLoaderClientImpl::dispatchWillInsertBody() {
913 if (m_webFrame->client()) 830 m_webFrame->client()->willInsertBody(m_webFrame);
914 m_webFrame->client()->willInsertBody(m_webFrame);
915 } 831 }
916 832
917 std::unique_ptr<WebServiceWorkerProvider> 833 std::unique_ptr<WebServiceWorkerProvider>
918 FrameLoaderClientImpl::createServiceWorkerProvider() { 834 FrameLoaderClientImpl::createServiceWorkerProvider() {
919 if (!m_webFrame->client())
920 return nullptr;
921 return wrapUnique(m_webFrame->client()->createServiceWorkerProvider()); 835 return wrapUnique(m_webFrame->client()->createServiceWorkerProvider());
922 } 836 }
923 837
924 bool FrameLoaderClientImpl::isControlledByServiceWorker( 838 bool FrameLoaderClientImpl::isControlledByServiceWorker(
925 DocumentLoader& loader) { 839 DocumentLoader& loader) {
926 return m_webFrame->client() && 840 return m_webFrame->client()->isControlledByServiceWorker(
927 m_webFrame->client()->isControlledByServiceWorker( 841 *WebDataSourceImpl::fromDocumentLoader(&loader));
928 *WebDataSourceImpl::fromDocumentLoader(&loader));
929 } 842 }
930 843
931 int64_t FrameLoaderClientImpl::serviceWorkerID(DocumentLoader& loader) { 844 int64_t FrameLoaderClientImpl::serviceWorkerID(DocumentLoader& loader) {
932 if (!m_webFrame->client())
933 return -1;
934 return m_webFrame->client()->serviceWorkerID( 845 return m_webFrame->client()->serviceWorkerID(
935 *WebDataSourceImpl::fromDocumentLoader(&loader)); 846 *WebDataSourceImpl::fromDocumentLoader(&loader));
936 } 847 }
937 848
938 SharedWorkerRepositoryClient* 849 SharedWorkerRepositoryClient*
939 FrameLoaderClientImpl::sharedWorkerRepositoryClient() { 850 FrameLoaderClientImpl::sharedWorkerRepositoryClient() {
940 return m_webFrame->sharedWorkerRepositoryClient(); 851 return m_webFrame->sharedWorkerRepositoryClient();
941 } 852 }
942 853
943 std::unique_ptr<WebApplicationCacheHost> 854 std::unique_ptr<WebApplicationCacheHost>
944 FrameLoaderClientImpl::createApplicationCacheHost( 855 FrameLoaderClientImpl::createApplicationCacheHost(
945 WebApplicationCacheHostClient* client) { 856 WebApplicationCacheHostClient* client) {
946 if (!m_webFrame->client())
947 return nullptr;
948 return wrapUnique(m_webFrame->client()->createApplicationCacheHost(client)); 857 return wrapUnique(m_webFrame->client()->createApplicationCacheHost(client));
949 } 858 }
950 859
951 void FrameLoaderClientImpl::dispatchDidChangeManifest() { 860 void FrameLoaderClientImpl::dispatchDidChangeManifest() {
952 if (m_webFrame->client()) 861 m_webFrame->client()->didChangeManifest();
953 m_webFrame->client()->didChangeManifest();
954 } 862 }
955 863
956 unsigned FrameLoaderClientImpl::backForwardLength() { 864 unsigned FrameLoaderClientImpl::backForwardLength() {
957 WebViewImpl* webview = m_webFrame->viewImpl(); 865 WebViewImpl* webview = m_webFrame->viewImpl();
958 if (!webview || !webview->client()) 866 if (!webview || !webview->client())
959 return 0; 867 return 0;
960 return webview->client()->historyBackListCount() + 1 + 868 return webview->client()->historyBackListCount() + 1 +
961 webview->client()->historyForwardListCount(); 869 webview->client()->historyForwardListCount();
962 } 870 }
963 871
964 void FrameLoaderClientImpl::suddenTerminationDisablerChanged( 872 void FrameLoaderClientImpl::suddenTerminationDisablerChanged(
965 bool present, 873 bool present,
966 SuddenTerminationDisablerType type) { 874 SuddenTerminationDisablerType type) {
967 if (m_webFrame->client()) { 875 m_webFrame->client()->suddenTerminationDisablerChanged(
968 m_webFrame->client()->suddenTerminationDisablerChanged( 876 present,
969 present, 877 static_cast<WebFrameClient::SuddenTerminationDisablerType>(type));
970 static_cast<WebFrameClient::SuddenTerminationDisablerType>(type));
971 }
972 } 878 }
973 879
974 BlameContext* FrameLoaderClientImpl::frameBlameContext() { 880 BlameContext* FrameLoaderClientImpl::frameBlameContext() {
975 if (!m_webFrame->client())
976 return nullptr;
977 return m_webFrame->client()->frameBlameContext(); 881 return m_webFrame->client()->frameBlameContext();
978 } 882 }
979 883
980 LinkResource* FrameLoaderClientImpl::createServiceWorkerLinkResource( 884 LinkResource* FrameLoaderClientImpl::createServiceWorkerLinkResource(
981 HTMLLinkElement* owner) { 885 HTMLLinkElement* owner) {
982 return ServiceWorkerLinkResource::create(owner); 886 return ServiceWorkerLinkResource::create(owner);
983 } 887 }
984 888
985 WebEffectiveConnectionType FrameLoaderClientImpl::getEffectiveConnectionType() { 889 WebEffectiveConnectionType FrameLoaderClientImpl::getEffectiveConnectionType() {
986 if (m_webFrame->client()) 890 return m_webFrame->client()->getEffectiveConnectionType();
987 return m_webFrame->client()->getEffectiveConnectionType();
988 return WebEffectiveConnectionType::TypeUnknown;
989 } 891 }
990 892
991 WebDevToolsAgentImpl* FrameLoaderClientImpl::devToolsAgent() { 893 WebDevToolsAgentImpl* FrameLoaderClientImpl::devToolsAgent() {
992 return WebLocalFrameImpl::fromFrame(m_webFrame->frame()->localFrameRoot()) 894 return WebLocalFrameImpl::fromFrame(m_webFrame->frame()->localFrameRoot())
993 ->devToolsAgentImpl(); 895 ->devToolsAgentImpl();
994 } 896 }
995 897
996 KURL FrameLoaderClientImpl::overrideFlashEmbedWithHTML(const KURL& url) { 898 KURL FrameLoaderClientImpl::overrideFlashEmbedWithHTML(const KURL& url) {
997 return m_webFrame->client()->overrideFlashEmbedWithHTML(WebURL(url)); 899 return m_webFrame->client()->overrideFlashEmbedWithHTML(WebURL(url));
998 } 900 }
999 901
1000 } // namespace blink 902 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698