summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorsail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-07 21:14:54 +0000
committersail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-07 21:14:54 +0000
commit54ca3ca8928f3c4556f41f638b75b938e9cd0c98 (patch)
treee7ff8b4f3d198210036eb333afe40d5fcaf75b3b /content
parentc3217be503d6aeb920dc55f7c9a3f731ac63e3bd (diff)
downloadchromium_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.h6
-rw-r--r--content/renderer/render_view.cc14
-rw-r--r--content/renderer/render_view.h3
-rw-r--r--content/renderer/render_widget_fullscreen_pepper.cc6
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() {
}