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

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

Issue 218093002: Ensure fullscreen mode is exited for same-site navigations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Better approach: DidNavigateMainFramePreCommit Created 6 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 | 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/navigator_impl.h" 5 #include "content/browser/frame_host/navigator_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "content/browser/frame_host/frame_tree.h" 8 #include "content/browser/frame_host/frame_tree.h"
9 #include "content/browser/frame_host/frame_tree_node.h" 9 #include "content/browser/frame_host/frame_tree_node.h"
10 #include "content/browser/frame_host/navigation_controller_impl.h" 10 #include "content/browser/frame_host/navigation_controller_impl.h"
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 controller_->GetPendingEntry()); 389 controller_->GetPendingEntry());
390 if (!render_frame_host->frame_tree_node()->IsMainFrame() && 390 if (!render_frame_host->frame_tree_node()->IsMainFrame() &&
391 pending_entry && 391 pending_entry &&
392 pending_entry->frame_tree_node_id() == 392 pending_entry->frame_tree_node_id() ==
393 render_frame_host->frame_tree_node()->frame_tree_node_id()) { 393 render_frame_host->frame_tree_node()->frame_tree_node_id()) {
394 params.transition = PAGE_TRANSITION_AUTO_SUBFRAME; 394 params.transition = PAGE_TRANSITION_AUTO_SUBFRAME;
395 } 395 }
396 } 396 }
397 397
398 if (PageTransitionIsMainFrame(params.transition)) { 398 if (PageTransitionIsMainFrame(params.transition)) {
399 // When overscroll navigation gesture is enabled, a screenshot of the page 399 if (delegate_) {
400 // in its current state is taken so that it can be used during the 400 // When overscroll navigation gesture is enabled, a screenshot of the page
401 // nav-gesture. It is necessary to take the screenshot here, before calling 401 // in its current state is taken so that it can be used during the
402 // RenderFrameHostManager::DidNavigateMainFrame, because that can change 402 // nav-gesture. It is necessary to take the screenshot here, before
403 // WebContents::GetRenderViewHost to return the new host, instead of the one 403 // calling RenderFrameHostManager::DidNavigateMainFrame, because that can
404 // that may have just been swapped out. 404 // change WebContents::GetRenderViewHost to return the new host, instead
405 if (delegate_ && delegate_->CanOverscrollContent()) 405 // of the one that may have just been swapped out.
406 controller_->TakeScreenshot(); 406 if (delegate_->CanOverscrollContent())
407 controller_->TakeScreenshot();
Charlie Reis 2014/04/01 23:12:38 I agree that we shouldn't do it here, but I may mo
miu 2014/04/01 23:39:35 Yeah, I almost did that. ;-) Feel free to use me
408
409 // Run tasks that must execute just before the commit.
410 delegate_->DidNavigateMainFramePreCommit(params);
411 }
407 412
408 if (!use_site_per_process) 413 if (!use_site_per_process)
409 frame_tree->root()->render_manager()->DidNavigateFrame(render_frame_host); 414 frame_tree->root()->render_manager()->DidNavigateFrame(render_frame_host);
410 } 415 }
411 416
412 // When using --site-per-process, we notify the RFHM for all navigations, 417 // When using --site-per-process, we notify the RFHM for all navigations,
413 // not just main frame navigations. 418 // not just main frame navigations.
414 if (use_site_per_process) { 419 if (use_site_per_process) {
415 FrameTreeNode* frame = render_frame_host->frame_tree_node(); 420 FrameTreeNode* frame = render_frame_host->frame_tree_node();
416 frame->render_manager()->DidNavigateFrame(render_frame_host); 421 frame->render_manager()->DidNavigateFrame(render_frame_host);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 591
587 // Navigations in Web UI pages count as browser-initiated navigations. 592 // Navigations in Web UI pages count as browser-initiated navigations.
588 params.is_renderer_initiated = false; 593 params.is_renderer_initiated = false;
589 } 594 }
590 595
591 if (delegate_) 596 if (delegate_)
592 delegate_->RequestOpenURL(render_frame_host, params); 597 delegate_->RequestOpenURL(render_frame_host, params);
593 } 598 }
594 599
595 } // namespace content 600 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698