diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-07 21:14:54 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-07 21:14:54 +0000 |
commit | 54ca3ca8928f3c4556f41f638b75b938e9cd0c98 (patch) | |
tree | e7ff8b4f3d198210036eb333afe40d5fcaf75b3b /content | |
parent | c3217be503d6aeb920dc55f7c9a3f731ac63e3bd (diff) | |
download | chromium_src-54ca3ca8928f3c4556f41f638b75b938e9cd0c98.zip chromium_src-54ca3ca8928f3c4556f41f638b75b938e9cd0c98.tar.gz chromium_src-54ca3ca8928f3c4556f41f638b75b938e9cd0c98.tar.bz2 |
Send live resize messages to renderer
This change sends live resize start/stop messages to the renderer. This is needed for overlay scrollbar support since we need to show overlay scrollbars on live resize start and hide them on live resize end.
BUG=74057
TEST=Ran and verified that overlay scrollbars were shown during live resize.
Review URL: http://codereview.chromium.org/6998002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88206 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/common/view_messages.h | 6 | ||||
-rw-r--r-- | content/renderer/render_view.cc | 14 | ||||
-rw-r--r-- | content/renderer/render_view.h | 3 | ||||
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.cc | 6 |
4 files changed, 28 insertions, 1 deletions
diff --git a/content/common/view_messages.h b/content/common/view_messages.h index b559bfb..2554b28 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h @@ -1126,6 +1126,11 @@ IPC_MESSAGE_ROUTED2(ViewMsg_WindowFrameChanged, gfx::Rect /* window frame */, gfx::Rect /* content view frame */) +// Message sent from the browser to the renderer when the user starts or stops +// resizing the view. +IPC_MESSAGE_ROUTED1(ViewMsg_SetInLiveResize, + bool /* enable */) + // Tell the renderer that plugin IME has completed. IPC_MESSAGE_ROUTED2(ViewMsg_PluginImeCompositionCompleted, string16 /* text */, @@ -1190,7 +1195,6 @@ IPC_MESSAGE_ROUTED0(ViewMsg_GetFPS) // Used to instruct the RenderView to go into "view source" mode. IPC_MESSAGE_ROUTED0(ViewMsg_EnableViewSourceMode) - // Messages sent from the renderer to the browser. // Sent by the renderer when it is creating a new window. The browser creates diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index 57fa875..0d1e8e0 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -685,6 +685,9 @@ bool RenderView::OnMessageReceived(const IPC::Message& message) { #if defined(ENABLE_FLAPPER_HACKS) IPC_MESSAGE_HANDLER(PepperMsg_ConnectTcpACK, OnConnectTcpACK) #endif +#if defined(OS_MACOSX) + IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize) +#endif // Have the super handle all other messages. IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message)) @@ -930,6 +933,17 @@ void RenderView::OnSetInitialFocus(bool reverse) { webview()->setInitialFocus(reverse); } +#if defined(OS_MACOSX) +void RenderView::OnSetInLiveResize(bool in_live_resize) { + if (!webview()) + return; + if (in_live_resize) + webview()->willStartLiveResize(); + else + webview()->willEndLiveResize(); +} +#endif + void RenderView::OnScrollFocusedEditableNodeIntoView() { WebKit::WebNode node = GetFocusedNode(); if (!node.isNull()) { diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h index 816e849..a5cee65 100644 --- a/content/renderer/render_view.h +++ b/content/renderer/render_view.h @@ -802,6 +802,9 @@ class RenderView : public RenderWidget, void OnSetWebUIProperty(const std::string& name, const std::string& value); void OnSetEditCommandsForNextKeyEvent(const EditCommands& edit_commands); void OnSetInitialFocus(bool reverse); +#if defined(OS_MACOSX) + void OnSetInLiveResize(bool in_live_resize); +#endif void OnScrollFocusedEditableNodeIntoView(); void OnSetPageEncoding(const std::string& encoding_name); void OnSetRendererPrefs(const RendererPreferences& renderer_prefs); diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc index f90f0ed..b078f24 100644 --- a/content/renderer/render_widget_fullscreen_pepper.cc +++ b/content/renderer/render_widget_fullscreen_pepper.cc @@ -52,6 +52,9 @@ class PepperWidget : public WebWidget { return size_; } + virtual void willStartLiveResize() { + } + virtual void resize(const WebSize& size) { size_ = size; WebRect plugin_rect(0, 0, size_.width, size_.height); @@ -59,6 +62,9 @@ class PepperWidget : public WebWidget { widget_->Invalidate(); } + virtual void willEndLiveResize() { + } + #ifndef WEBWIDGET_HAS_ANIMATE_CHANGES virtual void animate() { } |