| 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 f28609efbce01fdb31087dcff923ecaf0c3b0d14..4d0cd0bfdf0bb6570f540f5c201278a3858555a8 100644
|
| --- a/content/browser/service_worker/service_worker_version.cc
|
| +++ b/content/browser/service_worker/service_worker_version.cc
|
| @@ -210,6 +210,13 @@ class WindowOpenedObserver : public WebContentsObserver {
|
| DISALLOW_COPY_AND_ASSIGN(WindowOpenedObserver);
|
| };
|
|
|
| +void DidOpenWindowOnUI(
|
| + const WindowOpenedCallback& callback, WebContents* web_contents) {
|
| + DCHECK(web_contents);
|
| +
|
| + new WindowOpenedObserver(web_contents, callback);
|
| +}
|
| +
|
| void OpenWindowOnUI(
|
| const GURL& url,
|
| const GURL& script_url,
|
| @@ -241,11 +248,9 @@ void OpenWindowOnUI(
|
| ui::PAGE_TRANSITION_AUTO_TOPLEVEL,
|
| false);
|
|
|
| - 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(&DidOpenWindowOnUI, callback));
|
| }
|
|
|
| void KillEmbeddedWorkerProcess(int process_id, ResultCode code) {
|
|
|