Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(648)

Side by Side Diff: content/browser/service_worker/service_worker_provider_host.cc

Issue 1285373002: Ensure that Service Worker clients are always returned in MRU order (1) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix inconsistencies. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_provider_host.h" 5 #include "content/browser/service_worker/service_worker_provider_host.h"
6 6
7 #include "base/guid.h" 7 #include "base/guid.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/time/time.h"
9 #include "content/browser/frame_host/frame_tree.h" 10 #include "content/browser/frame_host/frame_tree.h"
10 #include "content/browser/frame_host/frame_tree_node.h" 11 #include "content/browser/frame_host/frame_tree_node.h"
11 #include "content/browser/frame_host/render_frame_host_impl.h" 12 #include "content/browser/frame_host/render_frame_host_impl.h"
12 #include "content/browser/message_port_message_filter.h" 13 #include "content/browser/message_port_message_filter.h"
13 #include "content/browser/service_worker/service_worker_context_core.h" 14 #include "content/browser/service_worker/service_worker_context_core.h"
14 #include "content/browser/service_worker/service_worker_context_request_handler. h" 15 #include "content/browser/service_worker/service_worker_context_request_handler. h"
15 #include "content/browser/service_worker/service_worker_controllee_request_handl er.h" 16 #include "content/browser/service_worker/service_worker_controllee_request_handl er.h"
16 #include "content/browser/service_worker/service_worker_dispatcher_host.h" 17 #include "content/browser/service_worker/service_worker_dispatcher_host.h"
17 #include "content/browser/service_worker/service_worker_handle.h" 18 #include "content/browser/service_worker/service_worker_handle.h"
18 #include "content/browser/service_worker/service_worker_registration_handle.h" 19 #include "content/browser/service_worker/service_worker_registration_handle.h"
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 int render_frame_id) { 437 int render_frame_id) {
437 RenderFrameHostImpl* render_frame_host = 438 RenderFrameHostImpl* render_frame_host =
438 RenderFrameHostImpl::FromID(render_process_id, render_frame_id); 439 RenderFrameHostImpl::FromID(render_process_id, render_frame_id);
439 if (!render_frame_host) 440 if (!render_frame_host)
440 return ServiceWorkerClientInfo(); 441 return ServiceWorkerClientInfo();
441 442
442 // TODO(mlamouri,michaeln): it is possible to end up collecting information 443 // TODO(mlamouri,michaeln): it is possible to end up collecting information
443 // for a frame that is actually being navigated and isn't exactly what we are 444 // for a frame that is actually being navigated and isn't exactly what we are
444 // expecting. 445 // expecting.
445 return ServiceWorkerClientInfo( 446 return ServiceWorkerClientInfo(
446 render_frame_host->GetVisibilityState(), 447 render_frame_host->GetVisibilityState(), render_frame_host->IsFocused(),
447 render_frame_host->IsFocused(),
448 render_frame_host->GetLastCommittedURL(), 448 render_frame_host->GetLastCommittedURL(),
449 render_frame_host->GetParent() ? REQUEST_CONTEXT_FRAME_TYPE_NESTED 449 render_frame_host->GetParent() ? REQUEST_CONTEXT_FRAME_TYPE_NESTED
450 : REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL, 450 : REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL,
451 render_frame_host->frame_tree_node()->last_focus_time(),
451 blink::WebServiceWorkerClientTypeWindow); 452 blink::WebServiceWorkerClientTypeWindow);
452 } 453 }
453 454
454 void ServiceWorkerProviderHost::AddScopedProcessReferenceToPattern( 455 void ServiceWorkerProviderHost::AddScopedProcessReferenceToPattern(
455 const GURL& pattern) { 456 const GURL& pattern) {
456 associated_patterns_.push_back(pattern); 457 associated_patterns_.push_back(pattern);
457 IncreaseProcessReference(pattern); 458 IncreaseProcessReference(pattern);
458 } 459 }
459 460
460 void ServiceWorkerProviderHost::ClaimedByRegistration( 461 void ServiceWorkerProviderHost::ClaimedByRegistration(
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 return context_ != NULL; 678 return context_ != NULL;
678 } 679 }
679 680
680 void ServiceWorkerProviderHost::Send(IPC::Message* message) const { 681 void ServiceWorkerProviderHost::Send(IPC::Message* message) const {
681 DCHECK(dispatcher_host_); 682 DCHECK(dispatcher_host_);
682 DCHECK(IsReadyToSendMessages()); 683 DCHECK(IsReadyToSendMessages());
683 dispatcher_host_->Send(message); 684 dispatcher_host_->Send(message);
684 } 685 }
685 686
686 } // namespace content 687 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/frame_tree_node.h ('k') | content/browser/service_worker/service_worker_version.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698