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

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

Issue 8742007: Prepare for didUpdateLayout moving to WebViewClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 1728 matching lines...) Expand 10 before | Expand all | Expand 10 after
1739 void RenderViewImpl::focusPrevious() { 1739 void RenderViewImpl::focusPrevious() {
1740 Send(new ViewHostMsg_TakeFocus(routing_id_, true)); 1740 Send(new ViewHostMsg_TakeFocus(routing_id_, true));
1741 } 1741 }
1742 1742
1743 void RenderViewImpl::focusedNodeChanged(const WebNode& node) { 1743 void RenderViewImpl::focusedNodeChanged(const WebNode& node) {
1744 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node))); 1744 Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node)));
1745 1745
1746 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node)); 1746 FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node));
1747 } 1747 }
1748 1748
1749 void RenderViewImpl::didUpdateLayout() {
1750 // We don't always want to set up a timer, only if we've been put in that
1751 // mode by getting a |ViewMsg_EnablePreferredSizeChangedMode|
1752 // message.
1753 if (!send_preferred_size_changes_ || !webview())
1754 return;
1755
1756 if (check_preferred_size_timer_.IsRunning())
1757 return;
1758 check_preferred_size_timer_.Start(FROM_HERE,
1759 TimeDelta::FromMilliseconds(0), this,
1760 &RenderViewImpl::CheckPreferredSize);
1761 }
1762
1749 void RenderViewImpl::navigateBackForwardSoon(int offset) { 1763 void RenderViewImpl::navigateBackForwardSoon(int offset) {
1750 Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset)); 1764 Send(new ViewHostMsg_GoToEntryAtOffset(routing_id_, offset));
1751 } 1765 }
1752 1766
1753 int RenderViewImpl::historyBackListCount() { 1767 int RenderViewImpl::historyBackListCount() {
1754 return history_list_offset_ < 0 ? 0 : history_list_offset_; 1768 return history_list_offset_ < 0 ? 0 : history_list_offset_;
1755 } 1769 }
1756 1770
1757 int RenderViewImpl::historyForwardListCount() { 1771 int RenderViewImpl::historyForwardListCount() {
1758 return history_list_length_ - historyBackListCount() - 1; 1772 return history_list_length_ - historyBackListCount() - 1;
(...skipping 1111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2870 } 2884 }
2871 2885
2872 void RenderViewImpl::willReleaseScriptContext(WebFrame* frame, 2886 void RenderViewImpl::willReleaseScriptContext(WebFrame* frame,
2873 v8::Handle<v8::Context> context, 2887 v8::Handle<v8::Context> context,
2874 int world_id) { 2888 int world_id) {
2875 content::GetContentClient()->renderer()->WillReleaseScriptContext( 2889 content::GetContentClient()->renderer()->WillReleaseScriptContext(
2876 frame, context, world_id); 2890 frame, context, world_id);
2877 } 2891 }
2878 2892
2879 void RenderViewImpl::didUpdateLayout(WebFrame* frame) { 2893 void RenderViewImpl::didUpdateLayout(WebFrame* frame) {
2880 // We don't always want to set up a timer, only if we've been put in that 2894 didUpdateLayout();
2881 // mode by getting a |ViewMsg_EnablePreferredSizeChangedMode|
2882 // message.
2883 if (!send_preferred_size_changes_ || !webview())
2884 return;
2885
2886 if (check_preferred_size_timer_.IsRunning())
2887 return;
2888 check_preferred_size_timer_.Start(FROM_HERE,
2889 TimeDelta::FromMilliseconds(0), this,
2890 &RenderViewImpl::CheckPreferredSize);
2891 } 2895 }
2892 2896
2893 void RenderViewImpl::CheckPreferredSize() { 2897 void RenderViewImpl::CheckPreferredSize() {
2894 // We don't always want to send the change messages over IPC, only if we've 2898 // We don't always want to send the change messages over IPC, only if we've
2895 // been put in that mode by getting a |ViewMsg_EnablePreferredSizeChangedMode| 2899 // been put in that mode by getting a |ViewMsg_EnablePreferredSizeChangedMode|
2896 // message. 2900 // message.
2897 if (!send_preferred_size_changes_ || !webview()) 2901 if (!send_preferred_size_changes_ || !webview())
2898 return; 2902 return;
2899 2903
2900 gfx::Size size(webview()->mainFrame()->contentsPreferredWidth(), 2904 gfx::Size size(webview()->mainFrame()->contentsPreferredWidth(),
(...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after
3864 } 3868 }
3865 } 3869 }
3866 3870
3867 void RenderViewImpl::OnEnablePreferredSizeChangedMode() { 3871 void RenderViewImpl::OnEnablePreferredSizeChangedMode() {
3868 if (send_preferred_size_changes_) 3872 if (send_preferred_size_changes_)
3869 return; 3873 return;
3870 send_preferred_size_changes_ = true; 3874 send_preferred_size_changes_ = true;
3871 3875
3872 // Start off with an initial preferred size notification (in case 3876 // Start off with an initial preferred size notification (in case
3873 // |didUpdateLayout| was already called). 3877 // |didUpdateLayout| was already called).
3874 if (webview()) 3878 didUpdateLayout();
3875 didUpdateLayout(webview()->mainFrame());
3876 } 3879 }
3877 3880
3878 void RenderViewImpl::OnDisableScrollbarsForSmallWindows( 3881 void RenderViewImpl::OnDisableScrollbarsForSmallWindows(
3879 const gfx::Size& disable_scrollbar_size_limit) { 3882 const gfx::Size& disable_scrollbar_size_limit) {
3880 disable_scrollbars_size_limit_ = disable_scrollbar_size_limit; 3883 disable_scrollbars_size_limit_ = disable_scrollbar_size_limit;
3881 } 3884 }
3882 3885
3883 void RenderViewImpl::OnSetRendererPrefs( 3886 void RenderViewImpl::OnSetRendererPrefs(
3884 const content::RendererPreferences& renderer_prefs) { 3887 const content::RendererPreferences& renderer_prefs) {
3885 renderer_preferences_ = renderer_prefs; 3888 renderer_preferences_ = renderer_prefs;
(...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after
4749 return !!RenderThreadImpl::current()->compositor_thread(); 4752 return !!RenderThreadImpl::current()->compositor_thread();
4750 } 4753 }
4751 4754
4752 void RenderViewImpl::OnJavaBridgeInit( 4755 void RenderViewImpl::OnJavaBridgeInit(
4753 const IPC::ChannelHandle& channel_handle) { 4756 const IPC::ChannelHandle& channel_handle) {
4754 DCHECK(!java_bridge_dispatcher_.get()); 4757 DCHECK(!java_bridge_dispatcher_.get());
4755 #if defined(ENABLE_JAVA_BRIDGE) 4758 #if defined(ENABLE_JAVA_BRIDGE)
4756 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this, channel_handle)); 4759 java_bridge_dispatcher_.reset(new JavaBridgeDispatcher(this, channel_handle));
4757 #endif 4760 #endif
4758 } 4761 }
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698