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

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 1425303002: OOPIF: Stop using HistoryController and refactor UpdateState. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix nit Created 5 years, 1 month 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
« no previous file with comments | « content/renderer/render_view_browsertest.cc ('k') | content/test/layouttest_support.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer/render_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 794
795 new MHTMLGenerator(this); 795 new MHTMLGenerator(this);
796 #if defined(OS_MACOSX) 796 #if defined(OS_MACOSX)
797 new TextInputClientObserver(this); 797 new TextInputClientObserver(this);
798 #endif // defined(OS_MACOSX) 798 #endif // defined(OS_MACOSX)
799 799
800 // The next group of objects all implement RenderViewObserver, so are deleted 800 // The next group of objects all implement RenderViewObserver, so are deleted
801 // along with the RenderView automatically. 801 // along with the RenderView automatically.
802 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this); 802 mouse_lock_dispatcher_ = new RenderViewMouseLockDispatcher(this);
803 803
804 history_controller_.reset(new HistoryController(this)); 804 // We don't use HistoryController in OOPIF-enabled modes.
805 if (!SiteIsolationPolicy::UseSubframeNavigationEntries())
806 history_controller_.reset(new HistoryController(this));
805 807
806 new IdleUserDetector(this); 808 new IdleUserDetector(this);
807 809
808 if (command_line.HasSwitch(switches::kDomAutomationController)) 810 if (command_line.HasSwitch(switches::kDomAutomationController))
809 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION; 811 enabled_bindings_ |= BINDINGS_POLICY_DOM_AUTOMATION;
810 if (command_line.HasSwitch(switches::kStatsCollectionController)) 812 if (command_line.HasSwitch(switches::kStatsCollectionController))
811 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION; 813 enabled_bindings_ |= BINDINGS_POLICY_STATS_COLLECTION;
812 814
813 GetContentClient()->renderer()->RenderViewCreated(this); 815 GetContentClient()->renderer()->RenderViewCreated(this);
814 816
(...skipping 653 matching lines...) Expand 10 before | Expand all | Expand 10 after
1468 if (in_live_resize) 1470 if (in_live_resize)
1469 webview()->willStartLiveResize(); 1471 webview()->willStartLiveResize();
1470 else 1472 else
1471 webview()->willEndLiveResize(); 1473 webview()->willEndLiveResize();
1472 } 1474 }
1473 #endif 1475 #endif
1474 1476
1475 /////////////////////////////////////////////////////////////////////////////// 1477 ///////////////////////////////////////////////////////////////////////////////
1476 1478
1477 void RenderViewImpl::SendUpdateState() { 1479 void RenderViewImpl::SendUpdateState() {
1478 // Don't send state updates when using subframe FrameNavigationEntries until 1480 // We don't use this path in OOPIF-enabled modes.
1479 // PageState and HistoryController have been updated. For now, the current 1481 DCHECK(!SiteIsolationPolicy::UseSubframeNavigationEntries());
1480 // entry's root WebHistoryItem sometimes points to data for a subframe (e.g.,
1481 // after a subframe back/forward).
1482 // TODO(creis): Fix this in https://crbug.com/545219.
1483 if (SiteIsolationPolicy::UseSubframeNavigationEntries())
1484 return;
1485 1482
1486 HistoryEntry* entry = history_controller_->GetCurrentEntry(); 1483 HistoryEntry* entry = history_controller_->GetCurrentEntry();
1487 if (!entry) 1484 if (!entry)
1488 return; 1485 return;
1489 1486
1490 // Don't send state updates for kSwappedOutURL. 1487 // Don't send state updates for kSwappedOutURL.
1491 if (entry->root().urlString() == WebString::fromUTF8(kSwappedOutURL)) 1488 if (entry->root().urlString() == WebString::fromUTF8(kSwappedOutURL))
1492 return; 1489 return;
1493 1490
1494 Send(new ViewHostMsg_UpdateState( 1491 Send(new ViewHostMsg_UpdateState(
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
1853 } 1850 }
1854 1851
1855 gfx::RectF RenderViewImpl::ClientRectToPhysicalWindowRect( 1852 gfx::RectF RenderViewImpl::ClientRectToPhysicalWindowRect(
1856 const gfx::RectF& rect) const { 1853 const gfx::RectF& rect) const {
1857 gfx::RectF window_rect = rect; 1854 gfx::RectF window_rect = rect;
1858 window_rect.Scale(device_scale_factor_ * webview()->pageScaleFactor()); 1855 window_rect.Scale(device_scale_factor_ * webview()->pageScaleFactor());
1859 return window_rect; 1856 return window_rect;
1860 } 1857 }
1861 1858
1862 void RenderViewImpl::StartNavStateSyncTimerIfNecessary() { 1859 void RenderViewImpl::StartNavStateSyncTimerIfNecessary() {
1860 // TODO(creis): Move this to RenderFrameHost. In the meantime, we'll ignore
1861 // state changes between navigation events in OOPIF-enabled modes.
1862 if (SiteIsolationPolicy::UseSubframeNavigationEntries())
1863 return;
1864
1863 int delay; 1865 int delay;
1864 if (send_content_state_immediately_) 1866 if (send_content_state_immediately_)
1865 delay = 0; 1867 delay = 0;
1866 else if (is_hidden()) 1868 else if (is_hidden())
1867 delay = kDelaySecondsForContentStateSyncHidden; 1869 delay = kDelaySecondsForContentStateSyncHidden;
1868 else 1870 else
1869 delay = kDelaySecondsForContentStateSync; 1871 delay = kDelaySecondsForContentStateSync;
1870 1872
1871 if (nav_state_sync_timer_.IsRunning()) { 1873 if (nav_state_sync_timer_.IsRunning()) {
1872 // The timer is already running. If the delay of the timer maches the amount 1874 // The timer is already running. If the delay of the timer maches the amount
(...skipping 1845 matching lines...) Expand 10 before | Expand all | Expand 10 after
3718 if (IsUseZoomForDSFEnabled()) { 3720 if (IsUseZoomForDSFEnabled()) {
3719 compositor_->SetPaintedDeviceScaleFactor(device_scale_factor_); 3721 compositor_->SetPaintedDeviceScaleFactor(device_scale_factor_);
3720 webview()->setZoomFactorForDeviceScaleFactor( 3722 webview()->setZoomFactorForDeviceScaleFactor(
3721 device_scale_factor_); 3723 device_scale_factor_);
3722 } else { 3724 } else {
3723 webview()->setDeviceScaleFactor(device_scale_factor_); 3725 webview()->setDeviceScaleFactor(device_scale_factor_);
3724 } 3726 }
3725 } 3727 }
3726 3728
3727 } // namespace content 3729 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_browsertest.cc ('k') | content/test/layouttest_support.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698