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

Side by Side Diff: content/browser/service_worker/service_worker_dispatcher_host.cc

Issue 2377603002: Disable ServiceWorker when JS is disabled (Closed)
Patch Set: Updated comments, removed the mock headers and renamed the function 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
« no previous file with comments | « chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc ('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 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/service_worker/service_worker_dispatcher_host.h" 5 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/debug/crash_logging.h" 9 #include "base/debug/crash_logging.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 if (ServiceWorkerUtils::ContainsDisallowedCharacter(pattern, script_url, 340 if (ServiceWorkerUtils::ContainsDisallowedCharacter(pattern, script_url,
341 &error_message)) { 341 &error_message)) {
342 bad_message::ReceivedBadMessage(this, bad_message::SWDH_REGISTER_CANNOT); 342 bad_message::ReceivedBadMessage(this, bad_message::SWDH_REGISTER_CANNOT);
343 return; 343 return;
344 } 344 }
345 345
346 if (!GetContentClient()->browser()->AllowServiceWorker( 346 if (!GetContentClient()->browser()->AllowServiceWorker(
347 pattern, provider_host->topmost_frame_url(), resource_context_, 347 pattern, provider_host->topmost_frame_url(), resource_context_,
348 render_process_id_, provider_host->frame_id())) { 348 render_process_id_, provider_host->frame_id())) {
349 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( 349 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError(
350 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, 350 thread_id, request_id, WebServiceWorkerError::ErrorTypeDisabled,
351 base::ASCIIToUTF16(kServiceWorkerRegisterErrorPrefix) + 351 base::ASCIIToUTF16(kServiceWorkerRegisterErrorPrefix) +
352 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); 352 base::ASCIIToUTF16(kUserDeniedPermissionMessage)));
353 return; 353 return;
354 } 354 }
355 355
356 TRACE_EVENT_ASYNC_BEGIN2( 356 TRACE_EVENT_ASYNC_BEGIN2(
357 "ServiceWorker", "ServiceWorkerDispatcherHost::RegisterServiceWorker", 357 "ServiceWorker", "ServiceWorkerDispatcherHost::RegisterServiceWorker",
358 request_id, "Scope", pattern.spec(), "Script URL", script_url.spec()); 358 request_id, "Scope", pattern.spec(), "Script URL", script_url.spec());
359 GetContext()->RegisterServiceWorker( 359 GetContext()->RegisterServiceWorker(
360 pattern, 360 pattern,
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 if (!CanUpdateServiceWorker(provider_host->document_url(), 418 if (!CanUpdateServiceWorker(provider_host->document_url(),
419 registration->pattern())) { 419 registration->pattern())) {
420 bad_message::ReceivedBadMessage(this, bad_message::SWDH_UPDATE_CANNOT); 420 bad_message::ReceivedBadMessage(this, bad_message::SWDH_UPDATE_CANNOT);
421 return; 421 return;
422 } 422 }
423 423
424 if (!GetContentClient()->browser()->AllowServiceWorker( 424 if (!GetContentClient()->browser()->AllowServiceWorker(
425 registration->pattern(), provider_host->topmost_frame_url(), 425 registration->pattern(), provider_host->topmost_frame_url(),
426 resource_context_, render_process_id_, provider_host->frame_id())) { 426 resource_context_, render_process_id_, provider_host->frame_id())) {
427 Send(new ServiceWorkerMsg_ServiceWorkerUpdateError( 427 Send(new ServiceWorkerMsg_ServiceWorkerUpdateError(
428 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, 428 thread_id, request_id, WebServiceWorkerError::ErrorTypeDisabled,
429 base::ASCIIToUTF16(kServiceWorkerUpdateErrorPrefix) + 429 base::ASCIIToUTF16(kServiceWorkerUpdateErrorPrefix) +
430 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); 430 base::ASCIIToUTF16(kUserDeniedPermissionMessage)));
431 return; 431 return;
432 } 432 }
433 433
434 if (!registration->GetNewestVersion()) { 434 if (!registration->GetNewestVersion()) {
435 // This can happen if update() is called during initial script evaluation. 435 // This can happen if update() is called during initial script evaluation.
436 // Abort the following steps according to the spec. 436 // Abort the following steps according to the spec.
437 Send(new ServiceWorkerMsg_ServiceWorkerUpdateError( 437 Send(new ServiceWorkerMsg_ServiceWorkerUpdateError(
438 thread_id, request_id, WebServiceWorkerError::ErrorTypeState, 438 thread_id, request_id, WebServiceWorkerError::ErrorTypeState,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 base::debug::ScopedCrashKey scope_url_key( 505 base::debug::ScopedCrashKey scope_url_key(
506 "swdh_unregister_cannot_scope_url", registration->pattern().spec()); 506 "swdh_unregister_cannot_scope_url", registration->pattern().spec());
507 bad_message::ReceivedBadMessage(this, bad_message::SWDH_UNREGISTER_CANNOT); 507 bad_message::ReceivedBadMessage(this, bad_message::SWDH_UNREGISTER_CANNOT);
508 return; 508 return;
509 } 509 }
510 510
511 if (!GetContentClient()->browser()->AllowServiceWorker( 511 if (!GetContentClient()->browser()->AllowServiceWorker(
512 registration->pattern(), provider_host->topmost_frame_url(), 512 registration->pattern(), provider_host->topmost_frame_url(),
513 resource_context_, render_process_id_, provider_host->frame_id())) { 513 resource_context_, render_process_id_, provider_host->frame_id())) {
514 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError( 514 Send(new ServiceWorkerMsg_ServiceWorkerUnregistrationError(
515 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, 515 thread_id, request_id, WebServiceWorkerError::ErrorTypeDisabled,
516 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); 516 base::ASCIIToUTF16(kUserDeniedPermissionMessage)));
517 return; 517 return;
518 } 518 }
519 519
520 TRACE_EVENT_ASYNC_BEGIN1( 520 TRACE_EVENT_ASYNC_BEGIN1(
521 "ServiceWorker", "ServiceWorkerDispatcherHost::UnregisterServiceWorker", 521 "ServiceWorker", "ServiceWorkerDispatcherHost::UnregisterServiceWorker",
522 request_id, "Scope", registration->pattern().spec()); 522 request_id, "Scope", registration->pattern().spec());
523 GetContext()->UnregisterServiceWorker( 523 GetContext()->UnregisterServiceWorker(
524 registration->pattern(), 524 registration->pattern(),
525 base::Bind(&ServiceWorkerDispatcherHost::UnregistrationComplete, this, 525 base::Bind(&ServiceWorkerDispatcherHost::UnregistrationComplete, this,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 "swdh_get_registration_cannot_document_url", document_url.spec()); 581 "swdh_get_registration_cannot_document_url", document_url.spec());
582 bad_message::ReceivedBadMessage(this, 582 bad_message::ReceivedBadMessage(this,
583 bad_message::SWDH_GET_REGISTRATION_CANNOT); 583 bad_message::SWDH_GET_REGISTRATION_CANNOT);
584 return; 584 return;
585 } 585 }
586 586
587 if (!GetContentClient()->browser()->AllowServiceWorker( 587 if (!GetContentClient()->browser()->AllowServiceWorker(
588 provider_host->document_url(), provider_host->topmost_frame_url(), 588 provider_host->document_url(), provider_host->topmost_frame_url(),
589 resource_context_, render_process_id_, provider_host->frame_id())) { 589 resource_context_, render_process_id_, provider_host->frame_id())) {
590 Send(new ServiceWorkerMsg_ServiceWorkerGetRegistrationError( 590 Send(new ServiceWorkerMsg_ServiceWorkerGetRegistrationError(
591 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, 591 thread_id, request_id, WebServiceWorkerError::ErrorTypeDisabled,
592 base::ASCIIToUTF16(kServiceWorkerGetRegistrationErrorPrefix) + 592 base::ASCIIToUTF16(kServiceWorkerGetRegistrationErrorPrefix) +
593 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); 593 base::ASCIIToUTF16(kUserDeniedPermissionMessage)));
594 return; 594 return;
595 } 595 }
596 596
597 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker", 597 TRACE_EVENT_ASYNC_BEGIN1("ServiceWorker",
598 "ServiceWorkerDispatcherHost::GetRegistration", 598 "ServiceWorkerDispatcherHost::GetRegistration",
599 request_id, "Document URL", document_url.spec()); 599 request_id, "Document URL", document_url.spec());
600 GetContext()->storage()->FindRegistrationForDocument( 600 GetContext()->storage()->FindRegistrationForDocument(
601 document_url, 601 document_url,
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 if (!OriginCanAccessServiceWorkers(provider_host->document_url())) { 648 if (!OriginCanAccessServiceWorkers(provider_host->document_url())) {
649 bad_message::ReceivedBadMessage( 649 bad_message::ReceivedBadMessage(
650 this, bad_message::SWDH_GET_REGISTRATIONS_INVALID_ORIGIN); 650 this, bad_message::SWDH_GET_REGISTRATIONS_INVALID_ORIGIN);
651 return; 651 return;
652 } 652 }
653 653
654 if (!GetContentClient()->browser()->AllowServiceWorker( 654 if (!GetContentClient()->browser()->AllowServiceWorker(
655 provider_host->document_url(), provider_host->topmost_frame_url(), 655 provider_host->document_url(), provider_host->topmost_frame_url(),
656 resource_context_, render_process_id_, provider_host->frame_id())) { 656 resource_context_, render_process_id_, provider_host->frame_id())) {
657 Send(new ServiceWorkerMsg_ServiceWorkerGetRegistrationsError( 657 Send(new ServiceWorkerMsg_ServiceWorkerGetRegistrationsError(
658 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, 658 thread_id, request_id, WebServiceWorkerError::ErrorTypeDisabled,
659 base::ASCIIToUTF16(kServiceWorkerGetRegistrationsErrorPrefix) + 659 base::ASCIIToUTF16(kServiceWorkerGetRegistrationsErrorPrefix) +
660 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); 660 base::ASCIIToUTF16(kUserDeniedPermissionMessage)));
661 return; 661 return;
662 } 662 }
663 663
664 TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker", 664 TRACE_EVENT_ASYNC_BEGIN0("ServiceWorker",
665 "ServiceWorkerDispatcherHost::GetRegistrations", 665 "ServiceWorkerDispatcherHost::GetRegistrations",
666 request_id); 666 request_id);
667 GetContext()->storage()->GetRegistrationsForOrigin( 667 GetContext()->storage()->GetRegistrationsForOrigin(
668 provider_host->document_url().GetOrigin(), 668 provider_host->document_url().GetOrigin(),
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
1455 if (!handle) { 1455 if (!handle) {
1456 bad_message::ReceivedBadMessage(this, 1456 bad_message::ReceivedBadMessage(this,
1457 bad_message::SWDH_TERMINATE_BAD_HANDLE); 1457 bad_message::SWDH_TERMINATE_BAD_HANDLE);
1458 return; 1458 return;
1459 } 1459 }
1460 handle->version()->StopWorker( 1460 handle->version()->StopWorker(
1461 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); 1461 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback));
1462 } 1462 }
1463 1463
1464 } // namespace content 1464 } // namespace content
OLDNEW
« no previous file with comments | « chrome/browser/ui/content_settings/content_setting_bubble_model_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698