| 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/browser/service_worker/service_worker_version.h" | 5 #include "content/browser/service_worker/service_worker_version.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
| 10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 render_frame_id)); | 203 render_frame_id)); |
| 204 Observe(nullptr); | 204 Observe(nullptr); |
| 205 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); | 205 base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
| 206 } | 206 } |
| 207 | 207 |
| 208 const WindowOpenedCallback callback_; | 208 const WindowOpenedCallback callback_; |
| 209 | 209 |
| 210 DISALLOW_COPY_AND_ASSIGN(WindowOpenedObserver); | 210 DISALLOW_COPY_AND_ASSIGN(WindowOpenedObserver); |
| 211 }; | 211 }; |
| 212 | 212 |
| 213 void DidOpenWindowOnUI( |
| 214 const WindowOpenedCallback& callback, WebContents* web_contents) { |
| 215 DCHECK(web_contents); |
| 216 |
| 217 new WindowOpenedObserver(web_contents, callback); |
| 218 } |
| 219 |
| 213 void OpenWindowOnUI( | 220 void OpenWindowOnUI( |
| 214 const GURL& url, | 221 const GURL& url, |
| 215 const GURL& script_url, | 222 const GURL& script_url, |
| 216 int process_id, | 223 int process_id, |
| 217 const scoped_refptr<ServiceWorkerContextWrapper>& context_wrapper, | 224 const scoped_refptr<ServiceWorkerContextWrapper>& context_wrapper, |
| 218 const WindowOpenedCallback& callback) { | 225 const WindowOpenedCallback& callback) { |
| 219 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 226 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 220 | 227 |
| 221 BrowserContext* browser_context = context_wrapper->storage_partition() | 228 BrowserContext* browser_context = context_wrapper->storage_partition() |
| 222 ? context_wrapper->storage_partition()->browser_context() | 229 ? context_wrapper->storage_partition()->browser_context() |
| (...skipping 11 matching lines...) Expand all Loading... |
| 234 MSG_ROUTING_NONE)); | 241 MSG_ROUTING_NONE)); |
| 235 return; | 242 return; |
| 236 } | 243 } |
| 237 | 244 |
| 238 OpenURLParams params(url, | 245 OpenURLParams params(url, |
| 239 Referrer(script_url, blink::WebReferrerPolicyDefault), | 246 Referrer(script_url, blink::WebReferrerPolicyDefault), |
| 240 NEW_FOREGROUND_TAB, | 247 NEW_FOREGROUND_TAB, |
| 241 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, | 248 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, |
| 242 false); | 249 false); |
| 243 | 250 |
| 244 WebContents* web_contents = | 251 GetContentClient()->browser()->OpenURL( |
| 245 GetContentClient()->browser()->OpenURL(browser_context, params); | 252 browser_context, params, |
| 246 DCHECK(web_contents); | 253 base::Bind(&DidOpenWindowOnUI, callback)); |
| 247 | |
| 248 new WindowOpenedObserver(web_contents, callback); | |
| 249 } | 254 } |
| 250 | 255 |
| 251 void KillEmbeddedWorkerProcess(int process_id, ResultCode code) { | 256 void KillEmbeddedWorkerProcess(int process_id, ResultCode code) { |
| 252 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 257 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 253 | 258 |
| 254 RenderProcessHost* render_process_host = | 259 RenderProcessHost* render_process_host = |
| 255 RenderProcessHost::FromID(process_id); | 260 RenderProcessHost::FromID(process_id); |
| 256 if (render_process_host->GetHandle() != base::kNullProcessHandle) | 261 if (render_process_host->GetHandle() != base::kNullProcessHandle) |
| 257 render_process_host->ReceivedBadMessage(); | 262 render_process_host->ReceivedBadMessage(); |
| 258 } | 263 } |
| (...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1350 int request_id) { | 1355 int request_id) { |
| 1351 callbacks->Remove(request_id); | 1356 callbacks->Remove(request_id); |
| 1352 if (is_doomed_) { | 1357 if (is_doomed_) { |
| 1353 // The stop should be already scheduled, but try to stop immediately, in | 1358 // The stop should be already scheduled, but try to stop immediately, in |
| 1354 // order to release worker resources soon. | 1359 // order to release worker resources soon. |
| 1355 StopWorkerIfIdle(); | 1360 StopWorkerIfIdle(); |
| 1356 } | 1361 } |
| 1357 } | 1362 } |
| 1358 | 1363 |
| 1359 } // namespace content | 1364 } // namespace content |
| OLD | NEW |