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

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

Issue 1860743002: Add a flag to change when android's progress bar completes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/frame_host/frame_tree.h" 5 #include "content/browser/frame_host/frame_tree.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <queue> 9 #include <queue>
10 #include <utility> 10 #include <utility>
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 if (!frame->parent()) { 397 if (!frame->parent()) {
398 CHECK_EQ(frame, root_); 398 CHECK_EQ(frame, root_);
399 return; 399 return;
400 } 400 }
401 401
402 // Notify observers of the frame removal. 402 // Notify observers of the frame removal.
403 if (!on_frame_removed_.is_null()) 403 if (!on_frame_removed_.is_null())
404 on_frame_removed_.Run(frame->current_frame_host()); 404 on_frame_removed_.Run(frame->current_frame_host());
405 } 405 }
406 406
407 void FrameTree::UpdateLoadProgress() { 407 void FrameTree::UpdateLoadProgress(FrameTreeNode* frame) {
408 double progress = 0.0; 408 if (root_ != frame)
409 int frame_count = 0; 409 return;
410 410
411 for (FrameTreeNode* node : Nodes()) { 411 double progress = frame->loading_progress();
412 // Ignore the current frame if it has not started loading.
413 if (!node->has_started_loading())
414 continue;
415
416 // Collect progress.
417 progress += node->loading_progress();
418 frame_count++;
419 }
420
421 if (frame_count != 0)
422 progress /= frame_count;
423
424 if (progress <= load_progress_) 412 if (progress <= load_progress_)
425 return; 413 return;
426 load_progress_ = progress; 414 load_progress_ = progress;
427 415
428 // Notify the WebContents. 416 // Notify the WebContents.
429 root_->navigator()->GetDelegate()->DidChangeLoadProgress(); 417 root_->navigator()->GetDelegate()->DidChangeLoadProgress();
430 } 418 }
431 419
432 void FrameTree::ResetLoadProgress() { 420 void FrameTree::ResetLoadProgress() {
433 for (FrameTreeNode* node : Nodes()) 421 for (FrameTreeNode* node : Nodes())
(...skipping 28 matching lines...) Expand all
462 // This is only used to set page-level focus in cross-process subframes, and 450 // This is only used to set page-level focus in cross-process subframes, and
463 // requests to set focus in main frame's SiteInstance are ignored. 451 // requests to set focus in main frame's SiteInstance are ignored.
464 if (instance != root_manager->current_frame_host()->GetSiteInstance()) { 452 if (instance != root_manager->current_frame_host()->GetSiteInstance()) {
465 RenderFrameProxyHost* proxy = 453 RenderFrameProxyHost* proxy =
466 root_manager->GetRenderFrameProxyHost(instance); 454 root_manager->GetRenderFrameProxyHost(instance);
467 proxy->Send(new InputMsg_SetFocus(proxy->GetRoutingID(), is_focused)); 455 proxy->Send(new InputMsg_SetFocus(proxy->GetRoutingID(), is_focused));
468 } 456 }
469 } 457 }
470 458
471 } // namespace content 459 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698