| Index: content/browser/service_worker/service_worker_client_utils.cc
|
| diff --git a/content/browser/service_worker/service_worker_client_utils.cc b/content/browser/service_worker/service_worker_client_utils.cc
|
| index dbd59d7f0a5df5dbd8ec600480a2856ae8b946ec..dab94ae7d79ae18aabbe28503a242c3387d19007 100644
|
| --- a/content/browser/service_worker/service_worker_client_utils.cc
|
| +++ b/content/browser/service_worker/service_worker_client_utils.cc
|
| @@ -24,6 +24,7 @@
|
| #include "content/common/service_worker/service_worker_types.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/content_browser_client.h"
|
| +#include "content/public/browser/navigation_handle.h"
|
| #include "content/public/browser/page_navigator.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/render_widget_host_view.h"
|
| @@ -56,17 +57,16 @@ class OpenURLObserver : public WebContentsObserver {
|
| frame_tree_node_id_(frame_tree_node_id),
|
| callback_(callback) {}
|
|
|
| - void DidCommitProvisionalLoadForFrame(
|
| - RenderFrameHost* render_frame_host,
|
| - const GURL& validated_url,
|
| - ui::PageTransition transition_type) override {
|
| + void DidFinishNavigation(NavigationHandle* navigation_handle) override {
|
| DCHECK(web_contents());
|
| + if (!navigation_handle->HasCommitted())
|
| + return;
|
|
|
| - RenderFrameHostImpl* rfhi =
|
| - static_cast<RenderFrameHostImpl*>(render_frame_host);
|
| - if (rfhi->frame_tree_node()->frame_tree_node_id() != frame_tree_node_id_)
|
| + if (navigation_handle->GetFrameTreeNodeId() != frame_tree_node_id_)
|
| return;
|
|
|
| + RenderFrameHost* render_frame_host =
|
| + navigation_handle->GetRenderFrameHost();
|
| RunCallback(render_frame_host->GetProcess()->GetID(),
|
| render_frame_host->GetRoutingID());
|
| }
|
|
|