| Index: content/browser/service_worker/service_worker_version.cc
|
| diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
|
| index 4da0c87085a4d50d6b5e0d8603ae7c82fa457652..352c33d7e7072c77468e88eb0f5054f286bcf823 100644
|
| --- a/content/browser/service_worker/service_worker_version.cc
|
| +++ b/content/browser/service_worker/service_worker_version.cc
|
| @@ -219,6 +219,13 @@ class WindowOpenedObserver : public WebContentsObserver {
|
| DISALLOW_COPY_AND_ASSIGN(WindowOpenedObserver);
|
| };
|
|
|
| +void DidOpenURL(const WindowOpenedCallback& callback,
|
| + WebContents* web_contents) {
|
| + DCHECK(web_contents);
|
| +
|
| + new WindowOpenedObserver(web_contents, callback);
|
| +}
|
| +
|
| void OpenWindowOnUI(
|
| const GURL& url,
|
| const GURL& script_url,
|
| @@ -250,11 +257,9 @@ void OpenWindowOnUI(
|
| NEW_FOREGROUND_TAB, ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
|
| true /* is_renderer_initiated */);
|
|
|
| - WebContents* web_contents =
|
| - GetContentClient()->browser()->OpenURL(browser_context, params);
|
| - DCHECK(web_contents);
|
| -
|
| - new WindowOpenedObserver(web_contents, callback);
|
| + GetContentClient()->browser()->OpenURL(
|
| + browser_context, params,
|
| + base::Bind(&DidOpenURL, callback));
|
| }
|
|
|
| void KillEmbeddedWorkerProcess(int process_id, ResultCode code) {
|
|
|