Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index e2b1bfa076d3d9247d9bfe495a6b6e8d1841e7cb..5d10916b09af25f77c48fc8ab360d739811a662f 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -24,6 +24,7 @@ |
| #include "content/child/quota_dispatcher.h" |
| #include "content/child/request_extra_data.h" |
| #include "content/child/service_worker/service_worker_network_provider.h" |
| +#include "content/child/service_worker/service_worker_provider_context.h" |
| #include "content/child/service_worker/web_service_worker_provider_impl.h" |
| #include "content/child/web_socket_stream_handle_impl.h" |
| #include "content/child/web_url_request_util.h" |
| @@ -3188,6 +3189,22 @@ blink::WebScreenOrientationClient* |
| return screen_orientation_dispatcher_; |
| } |
| +bool RenderFrameImpl::controlledByServiceWorker() { |
| + // If we're in the middle of committing a load, the data source we need |
| + // will still be provisional. |
| + WebFrame* main_frame = render_view_->webview()->mainFrame(); |
| + WebDataSource* data_source = NULL; |
| + if (main_frame->provisionalDataSource()) |
| + data_source = main_frame->provisionalDataSource(); |
| + else |
| + data_source = main_frame->dataSource(); |
| + ServiceWorkerNetworkProvider* provider = |
| + ServiceWorkerNetworkProvider::FromDocumentState( |
| + DocumentState::FromDataSource(data_source)); |
| + return provider->context()->controller_handle_id() != |
| + kInvalidServiceWorkerHandleId; |
|
nhiroki
2014/09/08 05:45:33
nit: Maybe we need (1) -3-space indent or (2) +4-s
horo
2014/09/08 06:24:25
Done.
|
| +} |
| + |
| void RenderFrameImpl::DidPlay(blink::WebMediaPlayer* player) { |
| Send(new FrameHostMsg_MediaPlayingNotification( |
| routing_id_, reinterpret_cast<int64>(player), player->hasVideo(), |