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

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

Issue 2847983002: Use unique_ptr for Create{ServiceWorkerNetworkProvider,ApplicationCacheHost} (Closed)
Patch Set: addressed comments Created 3 years, 7 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 } 322 }
323 323
324 void WebEmbeddedWorkerImpl::DidFinishDocumentLoad(WebLocalFrame* frame) { 324 void WebEmbeddedWorkerImpl::DidFinishDocumentLoad(WebLocalFrame* frame) {
325 DCHECK_EQ(frame, main_frame_); 325 DCHECK_EQ(frame, main_frame_);
326 DCHECK(!main_script_loader_); 326 DCHECK(!main_script_loader_);
327 DCHECK(main_frame_); 327 DCHECK(main_frame_);
328 DCHECK(worker_context_client_); 328 DCHECK(worker_context_client_);
329 DCHECK(loading_shadow_page_); 329 DCHECK(loading_shadow_page_);
330 DCHECK(!asked_to_terminate_); 330 DCHECK(!asked_to_terminate_);
331 loading_shadow_page_ = false; 331 loading_shadow_page_ = false;
332 frame->DataSource()->SetServiceWorkerNetworkProvider(WTF::WrapUnique( 332 frame->DataSource()->SetServiceWorkerNetworkProvider(
333 worker_context_client_->CreateServiceWorkerNetworkProvider())); 333 worker_context_client_->CreateServiceWorkerNetworkProvider());
334 main_script_loader_ = WorkerScriptLoader::Create(); 334 main_script_loader_ = WorkerScriptLoader::Create();
335 main_script_loader_->SetRequestContext( 335 main_script_loader_->SetRequestContext(
336 WebURLRequest::kRequestContextServiceWorker); 336 WebURLRequest::kRequestContextServiceWorker);
337 main_script_loader_->LoadAsynchronously( 337 main_script_loader_->LoadAsynchronously(
338 *main_frame_->GetFrame()->GetDocument(), worker_start_data_.script_url, 338 *main_frame_->GetFrame()->GetDocument(), worker_start_data_.script_url,
339 kDenyCrossOriginRequests, worker_start_data_.address_space, nullptr, 339 kDenyCrossOriginRequests, worker_start_data_.address_space, nullptr,
340 Bind(&WebEmbeddedWorkerImpl::OnScriptLoaderFinished, 340 Bind(&WebEmbeddedWorkerImpl::OnScriptLoaderFinished,
341 WTF::Unretained(this))); 341 WTF::Unretained(this)));
342 // Do nothing here since onScriptLoaderFinished() might have been already 342 // Do nothing here since onScriptLoaderFinished() might have been already
343 // invoked and |this| might have been deleted at this point. 343 // invoked and |this| might have been deleted at this point.
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 412
413 WorkerClients* worker_clients = WorkerClients::Create(); 413 WorkerClients* worker_clients = WorkerClients::Create();
414 ProvideContentSettingsClientToWorker(worker_clients, 414 ProvideContentSettingsClientToWorker(worker_clients,
415 std::move(content_settings_client_)); 415 std::move(content_settings_client_));
416 ProvideIndexedDBClientToWorker(worker_clients, 416 ProvideIndexedDBClientToWorker(worker_clients,
417 IndexedDBClientImpl::Create(*worker_clients)); 417 IndexedDBClientImpl::Create(*worker_clients));
418 ProvideServiceWorkerGlobalScopeClientToWorker( 418 ProvideServiceWorkerGlobalScopeClientToWorker(
419 worker_clients, 419 worker_clients,
420 ServiceWorkerGlobalScopeClientImpl::Create(*worker_context_client_)); 420 ServiceWorkerGlobalScopeClientImpl::Create(*worker_context_client_));
421 ProvideServiceWorkerContainerClientToWorker( 421 ProvideServiceWorkerContainerClientToWorker(
422 worker_clients, 422 worker_clients, worker_context_client_->CreateServiceWorkerProvider());
423 WTF::WrapUnique(worker_context_client_->CreateServiceWorkerProvider()));
424 423
425 if (RuntimeEnabledFeatures::offMainThreadFetchEnabled()) { 424 if (RuntimeEnabledFeatures::offMainThreadFetchEnabled()) {
426 std::unique_ptr<WebWorkerFetchContext> web_worker_fetch_context = 425 std::unique_ptr<WebWorkerFetchContext> web_worker_fetch_context =
427
428 worker_context_client_->CreateServiceWorkerFetchContext(); 426 worker_context_client_->CreateServiceWorkerFetchContext();
429 DCHECK(web_worker_fetch_context); 427 DCHECK(web_worker_fetch_context);
430 // TODO(horo): Set more information about the context (ex: DataSaverEnabled) 428 // TODO(horo): Set more information about the context (ex: DataSaverEnabled)
431 // to |web_worker_fetch_context|. 429 // to |web_worker_fetch_context|.
432 ProvideWorkerFetchContextToWorker(worker_clients, 430 ProvideWorkerFetchContextToWorker(worker_clients,
433 std::move(web_worker_fetch_context)); 431 std::move(web_worker_fetch_context));
434 } 432 }
435 433
436 // We need to set the CSP to both the shadow page's document and the 434 // We need to set the CSP to both the shadow page's document and the
437 // ServiceWorkerGlobalScope. 435 // ServiceWorkerGlobalScope.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 // populate the task runners with null document not to confuse the frame 474 // populate the task runners with null document not to confuse the frame
477 // scheduler (which will end up using the thread's default task runner). 475 // scheduler (which will end up using the thread's default task runner).
478 worker_thread_->Start(std::move(startup_data), 476 worker_thread_->Start(std::move(startup_data),
479 ParentFrameTaskRunners::Create(nullptr)); 477 ParentFrameTaskRunners::Create(nullptr));
480 478
481 worker_inspector_proxy_->WorkerThreadCreated(document, worker_thread_.get(), 479 worker_inspector_proxy_->WorkerThreadCreated(document, worker_thread_.get(),
482 script_url); 480 script_url);
483 } 481 }
484 482
485 } // namespace blink 483 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/LocalFrameClientImpl.cpp ('k') | third_party/WebKit/Source/web/WebEmbeddedWorkerImplTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698