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

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 263973003: Move LoadProgressTracker to the browser process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
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/frame_host/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/containers/hash_tables.h" 8 #include "base/containers/hash_tables.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/metrics/user_metrics_action.h" 10 #include "base/metrics/user_metrics_action.h"
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailProvisionalLoadWithError, 271 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailProvisionalLoadWithError,
272 OnDidFailProvisionalLoadWithError) 272 OnDidFailProvisionalLoadWithError)
273 IPC_MESSAGE_HANDLER(FrameHostMsg_DidRedirectProvisionalLoad, 273 IPC_MESSAGE_HANDLER(FrameHostMsg_DidRedirectProvisionalLoad,
274 OnDidRedirectProvisionalLoad) 274 OnDidRedirectProvisionalLoad)
275 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailLoadWithError, 275 IPC_MESSAGE_HANDLER(FrameHostMsg_DidFailLoadWithError,
276 OnDidFailLoadWithError) 276 OnDidFailLoadWithError)
277 IPC_MESSAGE_HANDLER_GENERIC(FrameHostMsg_DidCommitProvisionalLoad, 277 IPC_MESSAGE_HANDLER_GENERIC(FrameHostMsg_DidCommitProvisionalLoad,
278 OnNavigate(msg)) 278 OnNavigate(msg))
279 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStartLoading, OnDidStartLoading) 279 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStartLoading, OnDidStartLoading)
280 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStopLoading, OnDidStopLoading) 280 IPC_MESSAGE_HANDLER(FrameHostMsg_DidStopLoading, OnDidStopLoading)
281 IPC_MESSAGE_HANDLER(FrameHostMsg_DidChangeLoadProgress,
282 OnDidChangeLoadProgress)
281 IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL) 283 IPC_MESSAGE_HANDLER(FrameHostMsg_OpenURL, OnOpenURL)
282 IPC_MESSAGE_HANDLER(FrameHostMsg_BeforeUnload_ACK, OnBeforeUnloadACK) 284 IPC_MESSAGE_HANDLER(FrameHostMsg_BeforeUnload_ACK, OnBeforeUnloadACK)
283 IPC_MESSAGE_HANDLER(FrameHostMsg_SwapOut_ACK, OnSwapOutACK) 285 IPC_MESSAGE_HANDLER(FrameHostMsg_SwapOut_ACK, OnSwapOutACK)
284 IPC_MESSAGE_HANDLER(FrameHostMsg_ContextMenu, OnContextMenu) 286 IPC_MESSAGE_HANDLER(FrameHostMsg_ContextMenu, OnContextMenu)
285 IPC_MESSAGE_HANDLER(FrameHostMsg_JavaScriptExecuteResponse, 287 IPC_MESSAGE_HANDLER(FrameHostMsg_JavaScriptExecuteResponse,
286 OnJavaScriptExecuteResponse) 288 OnJavaScriptExecuteResponse)
287 IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunJavaScriptMessage, 289 IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunJavaScriptMessage,
288 OnRunJavaScriptMessage) 290 OnRunJavaScriptMessage)
289 IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunBeforeUnloadConfirm, 291 IPC_MESSAGE_HANDLER_DELAY_REPLY(FrameHostMsg_RunBeforeUnloadConfirm,
290 OnRunBeforeUnloadConfirm) 292 OnRunBeforeUnloadConfirm)
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 Send(new FrameMsg_SwapOut(routing_id_)); 505 Send(new FrameMsg_SwapOut(routing_id_));
504 506
505 if (!GetParent()) 507 if (!GetParent())
506 delegate_->SwappedOut(this); 508 delegate_->SwappedOut(this);
507 509
508 // Allow the navigation to proceed. 510 // Allow the navigation to proceed.
509 frame_tree_node_->render_manager()->SwappedOut(this); 511 frame_tree_node_->render_manager()->SwappedOut(this);
510 } 512 }
511 513
512 void RenderFrameHostImpl::OnDidStartLoading(bool to_different_document) { 514 void RenderFrameHostImpl::OnDidStartLoading(bool to_different_document) {
513 delegate_->DidStartLoading(this, to_different_document); 515 frame_tree_node_->navigator()->DidStartLoading(this, to_different_document);
514 } 516 }
515 517
516 void RenderFrameHostImpl::OnDidStopLoading() { 518 void RenderFrameHostImpl::OnDidStopLoading() {
517 delegate_->DidStopLoading(this); 519 frame_tree_node_->navigator()->DidStopLoading(this);
520 }
521
522 void RenderFrameHostImpl::OnDidChangeLoadProgress(double load_progress) {
523 frame_tree_node_->navigator()->DidChangeLoadProgress(this, load_progress);
518 } 524 }
519 525
520 void RenderFrameHostImpl::OnBeforeUnloadACK( 526 void RenderFrameHostImpl::OnBeforeUnloadACK(
521 bool proceed, 527 bool proceed,
522 const base::TimeTicks& renderer_before_unload_start_time, 528 const base::TimeTicks& renderer_before_unload_start_time,
523 const base::TimeTicks& renderer_before_unload_end_time) { 529 const base::TimeTicks& renderer_before_unload_end_time) {
524 // TODO(creis): Support properly beforeunload on subframes. For now just 530 // TODO(creis): Support properly beforeunload on subframes. For now just
525 // pretend that the handler ran and allowed the navigation to proceed. 531 // pretend that the handler ran and allowed the navigation to proceed.
526 if (GetParent()) { 532 if (GetParent()) {
527 render_view_host_->is_waiting_for_beforeunload_ack_ = false; 533 render_view_host_->is_waiting_for_beforeunload_ack_ = false;
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 // browser. But we want to keep the throbber in sync with what's happening 748 // browser. But we want to keep the throbber in sync with what's happening
743 // in the UI. For example, we want to start throbbing immediately when the 749 // in the UI. For example, we want to start throbbing immediately when the
744 // user naivgates even if the renderer is delayed. There is also an issue 750 // user naivgates even if the renderer is delayed. There is also an issue
745 // with the throbber starting because the WebUI (which controls whether the 751 // with the throbber starting because the WebUI (which controls whether the
746 // favicon is displayed) happens synchronously. If the start loading 752 // favicon is displayed) happens synchronously. If the start loading
747 // messages was asynchronous, then the default favicon would flash in. 753 // messages was asynchronous, then the default favicon would flash in.
748 // 754 //
749 // Blink doesn't send throb notifications for JavaScript URLs, so we 755 // Blink doesn't send throb notifications for JavaScript URLs, so we
750 // don't want to either. 756 // don't want to either.
751 if (!params.url.SchemeIs(kJavaScriptScheme)) 757 if (!params.url.SchemeIs(kJavaScriptScheme))
752 delegate_->DidStartLoading(this, true); 758 OnDidStartLoading(true);
753 } 759 }
754 760
755 void RenderFrameHostImpl::NavigateToURL(const GURL& url) { 761 void RenderFrameHostImpl::NavigateToURL(const GURL& url) {
756 FrameMsg_Navigate_Params params; 762 FrameMsg_Navigate_Params params;
757 params.page_id = -1; 763 params.page_id = -1;
758 params.pending_history_list_offset = -1; 764 params.pending_history_list_offset = -1;
759 params.current_history_list_offset = -1; 765 params.current_history_list_offset = -1;
760 params.current_history_list_length = 0; 766 params.current_history_list_length = 0;
761 params.url = url; 767 params.url = url;
762 params.transition = PAGE_TRANSITION_LINK; 768 params.transition = PAGE_TRANSITION_LINK;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 cancel_notification_callbacks_.erase(notification_id); 856 cancel_notification_callbacks_.erase(notification_id);
851 } 857 }
852 858
853 void RenderFrameHostImpl::DesktopNotificationPermissionRequestDone( 859 void RenderFrameHostImpl::DesktopNotificationPermissionRequestDone(
854 int callback_context) { 860 int callback_context) {
855 Send(new DesktopNotificationMsg_PermissionRequestDone( 861 Send(new DesktopNotificationMsg_PermissionRequestDone(
856 routing_id_, callback_context)); 862 routing_id_, callback_context));
857 } 863 }
858 864
859 } // namespace content 865 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698