| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |