Index: content/browser/browser_plugin/browser_plugin_guest.cc |
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc |
index abfbde694709541e826b223b632a4135374e85ca..7e7f97ea95442f030875f3d341648fc6da8816b6 100644 |
--- a/content/browser/browser_plugin/browser_plugin_guest.cc |
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc |
@@ -25,7 +25,6 @@ |
#include "content/common/browser_plugin/browser_plugin_messages.h" |
#include "content/common/content_constants_internal.h" |
#include "content/common/drag_messages.h" |
-#include "content/common/gpu/gpu_messages.h" |
#include "content/common/input_messages.h" |
#include "content/common/view_messages.h" |
#include "content/port/browser/render_view_host_delegate_view.h" |
@@ -33,9 +32,7 @@ |
#include "content/public/browser/browser_context.h" |
#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/navigation_controller.h" |
-#include "content/public/browser/render_process_host.h" |
#include "content/public/browser/render_widget_host_view.h" |
-#include "content/public/browser/resource_request_details.h" |
#include "content/public/browser/user_metrics.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "content/public/browser/web_contents_view.h" |
@@ -47,7 +44,6 @@ |
#include "net/url_request/url_request.h" |
#include "third_party/WebKit/public/platform/WebCursorInfo.h" |
#include "ui/events/keycodes/keyboard_codes.h" |
-#include "ui/surface/transport_dib.h" |
#include "webkit/common/resource_type.h" |
#if defined(OS_MACOSX) |
@@ -198,9 +194,6 @@ BrowserPluginGuest::BrowserPluginGuest( |
: WebContentsObserver(web_contents), |
embedder_web_contents_(NULL), |
instance_id_(instance_id), |
- damage_buffer_sequence_id_(0), |
- damage_buffer_size_(0), |
- damage_buffer_scale_factor_(1.0f), |
guest_device_scale_factor_(1.0f), |
guest_hang_timeout_( |
base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), |
@@ -401,7 +394,6 @@ bool BrowserPluginGuest::OnMessageReceivedFromEmbedder( |
IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_SetVisibility, OnSetVisibility) |
IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_UnlockMouse_ACK, OnUnlockMouseAck) |
IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_UpdateGeometry, OnUpdateGeometry) |
- IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_UpdateRect_ACK, OnUpdateRectACK) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -776,41 +768,6 @@ WebContentsImpl* BrowserPluginGuest::GetWebContents() { |
return static_cast<WebContentsImpl*>(web_contents()); |
} |
-base::SharedMemory* BrowserPluginGuest::GetDamageBufferFromEmbedder( |
- const BrowserPluginHostMsg_ResizeGuest_Params& params) { |
- if (!attached()) { |
- LOG(WARNING) << "Attempting to map a damage buffer prior to attachment."; |
- return NULL; |
- } |
-#if defined(OS_WIN) |
- base::ProcessHandle handle = |
- embedder_web_contents_->GetRenderProcessHost()->GetHandle(); |
- scoped_ptr<base::SharedMemory> shared_buf( |
- new base::SharedMemory(params.damage_buffer_handle, false, handle)); |
-#elif defined(OS_POSIX) |
- scoped_ptr<base::SharedMemory> shared_buf( |
- new base::SharedMemory(params.damage_buffer_handle, false)); |
-#endif |
- if (!shared_buf->Map(params.damage_buffer_size)) { |
- LOG(WARNING) << "Unable to map the embedder's damage buffer."; |
- return NULL; |
- } |
- return shared_buf.release(); |
-} |
- |
-void BrowserPluginGuest::SetDamageBuffer( |
- const BrowserPluginHostMsg_ResizeGuest_Params& params) { |
- damage_buffer_.reset(GetDamageBufferFromEmbedder(params)); |
- // Sanity check: Verify that we've correctly shared the damage buffer memory |
- // between the embedder and browser processes. |
- DCHECK(!damage_buffer_ || |
- *static_cast<unsigned int*>(damage_buffer_->memory()) == 0xdeadbeef); |
- damage_buffer_sequence_id_ = params.damage_buffer_sequence_id; |
- damage_buffer_size_ = params.damage_buffer_size; |
- damage_view_size_ = params.view_rect.size(); |
- damage_buffer_scale_factor_ = params.scale_factor; |
-} |
- |
gfx::Point BrowserPluginGuest::GetScreenCoordinates( |
const gfx::Point& relative_position) const { |
gfx::Point screen_pos(relative_position); |
@@ -941,7 +898,7 @@ void BrowserPluginGuest::RenderViewReady() { |
if (auto_size_enabled_) |
rvh->EnableAutoResize(min_auto_size_, max_auto_size_); |
else |
- rvh->DisableAutoResize(damage_view_size_); |
+ rvh->DisableAutoResize(full_size_); |
Send(new ViewMsg_SetName(routing_id(), name_)); |
OnSetContentsOpaque(instance_id_, guest_opaque_); |
@@ -997,7 +954,6 @@ bool BrowserPluginGuest::ShouldForwardToBrowserPluginGuest( |
case BrowserPluginHostMsg_SetVisibility::ID: |
case BrowserPluginHostMsg_UnlockMouse_ACK::ID: |
case BrowserPluginHostMsg_UpdateGeometry::ID: |
- case BrowserPluginHostMsg_UpdateRect_ACK::ID: |
return true; |
default: |
return false; |
@@ -1320,10 +1276,8 @@ void BrowserPluginGuest::OnResizeGuest( |
delegate_->SizeChanged(last_seen_view_size_, params.view_rect.size()); |
last_seen_auto_size_enabled_ = false; |
} |
- // Invalid damage buffer means we are in HW compositing mode, |
- // so just resize the WebContents and repaint if needed. |
- if (base::SharedMemory::IsHandleValid(params.damage_buffer_handle)) |
- SetDamageBuffer(params); |
+ // Just resize the WebContents and repaint if needed. |
+ full_size_ = params.view_rect.size(); |
if (!params.view_rect.size().IsEmpty()) |
GetWebContents()->GetView()->SizeContents(params.view_rect.size()); |
if (params.repaint) |
@@ -1370,10 +1324,9 @@ void BrowserPluginGuest::OnSetSize( |
GetWebContents()->GetRenderViewHost()->EnableAutoResize( |
min_auto_size_, max_auto_size_); |
// TODO(fsamuel): If we're changing autosize parameters, then we force |
- // the guest to completely repaint itself, because BrowserPlugin has |
- // allocated a new damage buffer and expects a full frame of pixels. |
- // Ideally, we shouldn't need to do this because we shouldn't need to |
- // allocate a new damage buffer unless |max_auto_size_| has changed. |
+ // the guest to completely repaint itself. |
+ // Ideally, we shouldn't need to do this unless |max_auto_size_| has |
+ // changed. |
// However, even in that case, layout may not change and so we may |
// not get a full frame worth of pixels. |
Send(new ViewMsg_Repaint(routing_id(), max_auto_size_)); |
@@ -1425,13 +1378,6 @@ void BrowserPluginGuest::OnUnlockMouseAck(int instance_id) { |
mouse_locked_ = false; |
} |
-void BrowserPluginGuest::OnUpdateRectACK( |
- int instance_id, |
- const BrowserPluginHostMsg_AutoSize_Params& auto_size_params, |
- const BrowserPluginHostMsg_ResizeGuest_Params& resize_guest_params) { |
- OnSetSize(instance_id_, auto_size_params, resize_guest_params); |
-} |
- |
void BrowserPluginGuest::OnCopyFromCompositingSurfaceAck( |
int instance_id, |
int request_id, |
@@ -1530,7 +1476,6 @@ void BrowserPluginGuest::OnUpdateRect( |
relay_params.scale_factor = params.scale_factor; |
relay_params.is_resize_ack = ViewHostMsg_UpdateRect_Flags::is_resize_ack( |
params.flags); |
- relay_params.needs_ack = false; |
bool size_changed = last_seen_view_size_ != params.view_size; |
gfx::Size old_size = last_seen_view_size_; |
@@ -1542,7 +1487,6 @@ void BrowserPluginGuest::OnUpdateRect( |
} |
last_seen_auto_size_enabled_ = auto_size_enabled_; |
- relay_params.damage_buffer_sequence_id = 0; |
SendMessageToEmbedder( |
new BrowserPluginMsg_UpdateRect(instance_id(), relay_params)); |
} |