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/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 2442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2453 default: | 2453 default: |
2454 NOTREACHED(); | 2454 NOTREACHED(); |
2455 } | 2455 } |
2456 } | 2456 } |
2457 | 2457 |
2458 // Create the serviceworker's per-document network observing object if it | 2458 // Create the serviceworker's per-document network observing object if it |
2459 // does not exist (When navigation happens within a page, the provider already | 2459 // does not exist (When navigation happens within a page, the provider already |
2460 // exists). | 2460 // exists). |
2461 if (!ServiceWorkerNetworkProvider::FromDocumentState( | 2461 if (!ServiceWorkerNetworkProvider::FromDocumentState( |
2462 DocumentState::FromDataSource(datasource))) { | 2462 DocumentState::FromDataSource(datasource))) { |
| 2463 ServiceWorkerProviderType provider_type = |
| 2464 SERVICE_WORKER_PROVIDER_FOR_WINDOW; |
| 2465 if ((frame->effectiveSandboxFlags() & blink::WebSandboxFlags::Origin) == |
| 2466 blink::WebSandboxFlags::Origin) { |
| 2467 provider_type = SERVICE_WORKER_PROVIDER_FOR_SANDBOXED_FRAME; |
| 2468 } |
2463 scoped_ptr<ServiceWorkerNetworkProvider> network_provider( | 2469 scoped_ptr<ServiceWorkerNetworkProvider> network_provider( |
2464 new ServiceWorkerNetworkProvider(routing_id_, | 2470 new ServiceWorkerNetworkProvider(routing_id_, provider_type)); |
2465 SERVICE_WORKER_PROVIDER_FOR_WINDOW)); | |
2466 ServiceWorkerNetworkProvider::AttachToDocumentState( | 2471 ServiceWorkerNetworkProvider::AttachToDocumentState( |
2467 DocumentState::FromDataSource(datasource), | 2472 DocumentState::FromDataSource(datasource), |
2468 network_provider.Pass()); | 2473 network_provider.Pass()); |
2469 } | 2474 } |
2470 } | 2475 } |
2471 | 2476 |
2472 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame, | 2477 void RenderFrameImpl::didStartProvisionalLoad(blink::WebLocalFrame* frame, |
2473 double triggering_event_time) { | 2478 double triggering_event_time) { |
2474 DCHECK(!frame_ || frame_ == frame); | 2479 DCHECK(!frame_ || frame_ == frame); |
2475 WebDataSource* ds = frame->provisionalDataSource(); | 2480 WebDataSource* ds = frame->provisionalDataSource(); |
(...skipping 1186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3662 RenderFrameImpl::webScreenOrientationClient() { | 3667 RenderFrameImpl::webScreenOrientationClient() { |
3663 if (!screen_orientation_dispatcher_) | 3668 if (!screen_orientation_dispatcher_) |
3664 screen_orientation_dispatcher_ = new ScreenOrientationDispatcher(this); | 3669 screen_orientation_dispatcher_ = new ScreenOrientationDispatcher(this); |
3665 return screen_orientation_dispatcher_; | 3670 return screen_orientation_dispatcher_; |
3666 } | 3671 } |
3667 | 3672 |
3668 bool RenderFrameImpl::isControlledByServiceWorker(WebDataSource& data_source) { | 3673 bool RenderFrameImpl::isControlledByServiceWorker(WebDataSource& data_source) { |
3669 ServiceWorkerNetworkProvider* provider = | 3674 ServiceWorkerNetworkProvider* provider = |
3670 ServiceWorkerNetworkProvider::FromDocumentState( | 3675 ServiceWorkerNetworkProvider::FromDocumentState( |
3671 DocumentState::FromDataSource(&data_source)); | 3676 DocumentState::FromDataSource(&data_source)); |
| 3677 if (!provider->context()) |
| 3678 return false; |
3672 return provider->context()->controller_handle_id() != | 3679 return provider->context()->controller_handle_id() != |
3673 kInvalidServiceWorkerHandleId; | 3680 kInvalidServiceWorkerHandleId; |
3674 } | 3681 } |
3675 | 3682 |
3676 int64_t RenderFrameImpl::serviceWorkerID(WebDataSource& data_source) { | 3683 int64_t RenderFrameImpl::serviceWorkerID(WebDataSource& data_source) { |
3677 ServiceWorkerNetworkProvider* provider = | 3684 ServiceWorkerNetworkProvider* provider = |
3678 ServiceWorkerNetworkProvider::FromDocumentState( | 3685 ServiceWorkerNetworkProvider::FromDocumentState( |
3679 DocumentState::FromDataSource(&data_source)); | 3686 DocumentState::FromDataSource(&data_source)); |
3680 | 3687 if (provider->context() && provider->context()->controller()) |
3681 if (provider->context()->controller()) | |
3682 return provider->context()->controller()->version_id(); | 3688 return provider->context()->controller()->version_id(); |
3683 return kInvalidServiceWorkerVersionId; | 3689 return kInvalidServiceWorkerVersionId; |
3684 } | 3690 } |
3685 | 3691 |
3686 void RenderFrameImpl::postAccessibilityEvent(const blink::WebAXObject& obj, | 3692 void RenderFrameImpl::postAccessibilityEvent(const blink::WebAXObject& obj, |
3687 blink::WebAXEvent event) { | 3693 blink::WebAXEvent event) { |
3688 HandleWebAccessibilityEvent(obj, event); | 3694 HandleWebAccessibilityEvent(obj, event); |
3689 } | 3695 } |
3690 | 3696 |
3691 void RenderFrameImpl::handleAccessibilityFindInPageResult( | 3697 void RenderFrameImpl::handleAccessibilityFindInPageResult( |
(...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4961 #elif defined(ENABLE_BROWSER_CDMS) | 4967 #elif defined(ENABLE_BROWSER_CDMS) |
4962 cdm_manager_, | 4968 cdm_manager_, |
4963 #endif | 4969 #endif |
4964 this); | 4970 this); |
4965 } | 4971 } |
4966 | 4972 |
4967 return cdm_factory_; | 4973 return cdm_factory_; |
4968 } | 4974 } |
4969 | 4975 |
4970 } // namespace content | 4976 } // namespace content |
OLD | NEW |