| OLD | NEW |
| 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 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 ScriptPromise promise = resolver->Promise(); | 272 ScriptPromise promise = resolver->Promise(); |
| 273 | 273 |
| 274 if (!provider_) { | 274 if (!provider_) { |
| 275 resolver->Reject(DOMException::Create(kInvalidStateError, | 275 resolver->Reject(DOMException::Create(kInvalidStateError, |
| 276 "Failed to register a ServiceWorker: " | 276 "Failed to register a ServiceWorker: " |
| 277 "The document is in an invalid " | 277 "The document is in an invalid " |
| 278 "state.")); | 278 "state.")); |
| 279 return promise; | 279 return promise; |
| 280 } | 280 } |
| 281 | 281 |
| 282 ExecutionContext* execution_context = script_state->GetExecutionContext(); | 282 ExecutionContext* execution_context = ExecutionContext::From(script_state); |
| 283 // FIXME: May be null due to worker termination: http://crbug.com/413518. | 283 // FIXME: May be null due to worker termination: http://crbug.com/413518. |
| 284 if (!execution_context) | 284 if (!execution_context) |
| 285 return ScriptPromise(); | 285 return ScriptPromise(); |
| 286 | 286 |
| 287 KURL script_url = execution_context->CompleteURL(url); | 287 KURL script_url = execution_context->CompleteURL(url); |
| 288 script_url.RemoveFragmentIdentifier(); | 288 script_url.RemoveFragmentIdentifier(); |
| 289 | 289 |
| 290 KURL pattern_url; | 290 KURL pattern_url; |
| 291 if (options.scope().IsNull()) | 291 if (options.scope().IsNull()) |
| 292 pattern_url = KURL(script_url, "./"); | 292 pattern_url = KURL(script_url, "./"); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 309 ScriptPromise promise = resolver->Promise(); | 309 ScriptPromise promise = resolver->Promise(); |
| 310 | 310 |
| 311 if (!provider_) { | 311 if (!provider_) { |
| 312 resolver->Reject(DOMException::Create(kInvalidStateError, | 312 resolver->Reject(DOMException::Create(kInvalidStateError, |
| 313 "Failed to get a " | 313 "Failed to get a " |
| 314 "ServiceWorkerRegistration: The " | 314 "ServiceWorkerRegistration: The " |
| 315 "document is in an invalid state.")); | 315 "document is in an invalid state.")); |
| 316 return promise; | 316 return promise; |
| 317 } | 317 } |
| 318 | 318 |
| 319 ExecutionContext* execution_context = script_state->GetExecutionContext(); | 319 ExecutionContext* execution_context = ExecutionContext::From(script_state); |
| 320 // FIXME: May be null due to worker termination: http://crbug.com/413518. | 320 // FIXME: May be null due to worker termination: http://crbug.com/413518. |
| 321 if (!execution_context) | 321 if (!execution_context) |
| 322 return ScriptPromise(); | 322 return ScriptPromise(); |
| 323 | 323 |
| 324 RefPtr<SecurityOrigin> document_origin = | 324 RefPtr<SecurityOrigin> document_origin = |
| 325 execution_context->GetSecurityOrigin(); | 325 execution_context->GetSecurityOrigin(); |
| 326 String error_message; | 326 String error_message; |
| 327 if (!execution_context->IsSecureContext(error_message)) { | 327 if (!execution_context->IsSecureContext(error_message)) { |
| 328 resolver->Reject(DOMException::Create(kSecurityError, error_message)); | 328 resolver->Reject(DOMException::Create(kSecurityError, error_message)); |
| 329 return promise; | 329 return promise; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 ScriptPromise promise = resolver->Promise(); | 366 ScriptPromise promise = resolver->Promise(); |
| 367 | 367 |
| 368 if (!provider_) { | 368 if (!provider_) { |
| 369 resolver->Reject( | 369 resolver->Reject( |
| 370 DOMException::Create(kInvalidStateError, | 370 DOMException::Create(kInvalidStateError, |
| 371 "Failed to get ServiceWorkerRegistration objects: " | 371 "Failed to get ServiceWorkerRegistration objects: " |
| 372 "The document is in an invalid state.")); | 372 "The document is in an invalid state.")); |
| 373 return promise; | 373 return promise; |
| 374 } | 374 } |
| 375 | 375 |
| 376 ExecutionContext* execution_context = script_state->GetExecutionContext(); | 376 ExecutionContext* execution_context = ExecutionContext::From(script_state); |
| 377 RefPtr<SecurityOrigin> document_origin = | 377 RefPtr<SecurityOrigin> document_origin = |
| 378 execution_context->GetSecurityOrigin(); | 378 execution_context->GetSecurityOrigin(); |
| 379 String error_message; | 379 String error_message; |
| 380 if (!execution_context->IsSecureContext(error_message)) { | 380 if (!execution_context->IsSecureContext(error_message)) { |
| 381 resolver->Reject(DOMException::Create(kSecurityError, error_message)); | 381 resolver->Reject(DOMException::Create(kSecurityError, error_message)); |
| 382 return promise; | 382 return promise; |
| 383 } | 383 } |
| 384 | 384 |
| 385 KURL page_url = KURL(KURL(), document_origin->ToString()); | 385 KURL page_url = KURL(KURL(), document_origin->ToString()); |
| 386 if (!SchemeRegistry::ShouldTreatURLSchemeAsAllowingServiceWorkers( | 386 if (!SchemeRegistry::ShouldTreatURLSchemeAsAllowingServiceWorkers( |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 | 486 |
| 487 if (ServiceWorkerContainerClient* client = | 487 if (ServiceWorkerContainerClient* client = |
| 488 ServiceWorkerContainerClient::From(execution_context)) { | 488 ServiceWorkerContainerClient::From(execution_context)) { |
| 489 provider_ = client->Provider(); | 489 provider_ = client->Provider(); |
| 490 if (provider_) | 490 if (provider_) |
| 491 provider_->SetClient(this); | 491 provider_->SetClient(this); |
| 492 } | 492 } |
| 493 } | 493 } |
| 494 | 494 |
| 495 } // namespace blink | 495 } // namespace blink |
| OLD | NEW |