Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/profiler/scoped_tracker.h" | 8 #include "base/profiler/scoped_tracker.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "base/trace_event/trace_event.h" | 10 #include "base/trace_event/trace_event.h" |
| (...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 325 base::ASCIIToUTF16(kNoDocumentURLErrorMessage))); | 325 base::ASCIIToUTF16(kNoDocumentURLErrorMessage))); |
| 326 return; | 326 return; |
| 327 } | 327 } |
| 328 | 328 |
| 329 if (!CanRegisterServiceWorker( | 329 if (!CanRegisterServiceWorker( |
| 330 provider_host->document_url(), pattern, script_url)) { | 330 provider_host->document_url(), pattern, script_url)) { |
| 331 bad_message::ReceivedBadMessage(this, bad_message::SWDH_REGISTER_CANNOT); | 331 bad_message::ReceivedBadMessage(this, bad_message::SWDH_REGISTER_CANNOT); |
| 332 return; | 332 return; |
| 333 } | 333 } |
| 334 | 334 |
| 335 std::string error_message; | |
| 336 if (ServiceWorkerUtils::ContainsDisallowedCharacter(pattern, script_url, | 335 if (ServiceWorkerUtils::ContainsDisallowedCharacter(pattern, script_url, |
| 337 &error_message)) { | 336 nullptr)) { |
| 338 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( | 337 bad_message::ReceivedBadMessage(this, bad_message::SWDH_REGISTER_CANNOT); |
|
nhiroki
2015/07/31 07:39:36
Can you add tests for this case in service_worker_
| |
| 339 thread_id, request_id, WebServiceWorkerError::ErrorTypeSecurity, | |
| 340 base::ASCIIToUTF16(kServiceWorkerRegisterErrorPrefix) + | |
| 341 base::UTF8ToUTF16(error_message))); | |
| 342 return; | 338 return; |
| 343 } | 339 } |
| 344 | 340 |
| 345 if (!GetContentClient()->browser()->AllowServiceWorker( | 341 if (!GetContentClient()->browser()->AllowServiceWorker( |
| 346 pattern, provider_host->topmost_frame_url(), resource_context_, | 342 pattern, provider_host->topmost_frame_url(), resource_context_, |
| 347 render_process_id_, provider_host->frame_id())) { | 343 render_process_id_, provider_host->frame_id())) { |
| 348 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( | 344 Send(new ServiceWorkerMsg_ServiceWorkerRegistrationError( |
| 349 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, | 345 thread_id, request_id, WebServiceWorkerError::ErrorTypeUnknown, |
| 350 base::ASCIIToUTF16(kServiceWorkerRegisterErrorPrefix) + | 346 base::ASCIIToUTF16(kServiceWorkerRegisterErrorPrefix) + |
| 351 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); | 347 base::ASCIIToUTF16(kUserDeniedPermissionMessage))); |
| (...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1216 if (!handle) { | 1212 if (!handle) { |
| 1217 bad_message::ReceivedBadMessage(this, | 1213 bad_message::ReceivedBadMessage(this, |
| 1218 bad_message::SWDH_TERMINATE_BAD_HANDLE); | 1214 bad_message::SWDH_TERMINATE_BAD_HANDLE); |
| 1219 return; | 1215 return; |
| 1220 } | 1216 } |
| 1221 handle->version()->StopWorker( | 1217 handle->version()->StopWorker( |
| 1222 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); | 1218 base::Bind(&ServiceWorkerUtils::NoOpStatusCallback)); |
| 1223 } | 1219 } |
| 1224 | 1220 |
| 1225 } // namespace content | 1221 } // namespace content |
| OLD | NEW |