| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/browser_plugin/browser_plugin_guest.h" | 5 #include "content/browser/browser_plugin/browser_plugin_guest.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/pickle.h" | 10 #include "base/pickle.h" |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 if (!attached()) | 281 if (!attached()) |
| 282 return NULL; | 282 return NULL; |
| 283 return embedder_web_contents_->GetRenderWidgetHostView(); | 283 return embedder_web_contents_->GetRenderWidgetHostView(); |
| 284 } | 284 } |
| 285 | 285 |
| 286 void BrowserPluginGuest::UpdateVisibility() { | 286 void BrowserPluginGuest::UpdateVisibility() { |
| 287 OnSetVisibility(browser_plugin_instance_id(), visible()); | 287 OnSetVisibility(browser_plugin_instance_id(), visible()); |
| 288 } | 288 } |
| 289 | 289 |
| 290 void BrowserPluginGuest::CopyFromCompositingSurface( | 290 void BrowserPluginGuest::CopyFromCompositingSurface( |
| 291 gfx::Rect src_subrect, | 291 gfx::Rect src_subrect, |
| 292 gfx::Size dst_size, | 292 gfx::Size dst_size, |
| 293 const base::Callback<void(bool, const SkBitmap&)>& callback) { | 293 CopyFromCompositingSurfaceCallback& callback) { |
| 294 copy_request_callbacks_.insert(std::make_pair(++copy_request_id_, callback)); | 294 copy_request_callbacks_.insert(std::make_pair(++copy_request_id_, callback)); |
| 295 SendMessageToEmbedder( | 295 SendMessageToEmbedder( |
| 296 new BrowserPluginMsg_CopyFromCompositingSurface( | 296 new BrowserPluginMsg_CopyFromCompositingSurface( |
| 297 browser_plugin_instance_id(), | 297 browser_plugin_instance_id(), |
| 298 copy_request_id_, | 298 copy_request_id_, |
| 299 src_subrect, | 299 src_subrect, |
| 300 dst_size)); | 300 dst_size)); |
| 301 } | 301 } |
| 302 | 302 |
| 303 BrowserPluginGuestManager* | 303 BrowserPluginGuestManager* |
| (...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 mouse_locked_ = false; | 727 mouse_locked_ = false; |
| 728 } | 728 } |
| 729 | 729 |
| 730 void BrowserPluginGuest::OnCopyFromCompositingSurfaceAck( | 730 void BrowserPluginGuest::OnCopyFromCompositingSurfaceAck( |
| 731 int browser_plugin_instance_id, | 731 int browser_plugin_instance_id, |
| 732 int request_id, | 732 int request_id, |
| 733 const SkBitmap& bitmap) { | 733 const SkBitmap& bitmap) { |
| 734 CHECK(copy_request_callbacks_.count(request_id)); | 734 CHECK(copy_request_callbacks_.count(request_id)); |
| 735 if (!copy_request_callbacks_.count(request_id)) | 735 if (!copy_request_callbacks_.count(request_id)) |
| 736 return; | 736 return; |
| 737 const CopyRequestCallback& callback = copy_request_callbacks_[request_id]; | 737 const CopyFromCompositingSurfaceCallback& callback = |
| 738 callback.Run(!bitmap.empty() && !bitmap.isNull(), bitmap); | 738 copy_request_callbacks_[request_id]; |
| 739 bool success = !bitmap.empty() && !bitmap.isNull(); |
| 740 callback.Run(success, |
| 741 bitmap, |
| 742 success ? content::READBACK_SUCCESS : content::READBACK_FAILED); |
| 739 copy_request_callbacks_.erase(request_id); | 743 copy_request_callbacks_.erase(request_id); |
| 740 } | 744 } |
| 741 | 745 |
| 742 void BrowserPluginGuest::OnUpdateGeometry(int browser_plugin_instance_id, | 746 void BrowserPluginGuest::OnUpdateGeometry(int browser_plugin_instance_id, |
| 743 const gfx::Rect& view_rect) { | 747 const gfx::Rect& view_rect) { |
| 744 // The plugin has moved within the embedder without resizing or the | 748 // The plugin has moved within the embedder without resizing or the |
| 745 // embedder/container's view rect changing. | 749 // embedder/container's view rect changing. |
| 746 guest_window_rect_ = view_rect; | 750 guest_window_rect_ = view_rect; |
| 747 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( | 751 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( |
| 748 GetWebContents()->GetRenderViewHost()); | 752 GetWebContents()->GetRenderViewHost()); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 void BrowserPluginGuest::OnImeCompositionRangeChanged( | 808 void BrowserPluginGuest::OnImeCompositionRangeChanged( |
| 805 const gfx::Range& range, | 809 const gfx::Range& range, |
| 806 const std::vector<gfx::Rect>& character_bounds) { | 810 const std::vector<gfx::Rect>& character_bounds) { |
| 807 static_cast<RenderWidgetHostViewBase*>( | 811 static_cast<RenderWidgetHostViewBase*>( |
| 808 web_contents()->GetRenderWidgetHostView())->ImeCompositionRangeChanged( | 812 web_contents()->GetRenderWidgetHostView())->ImeCompositionRangeChanged( |
| 809 range, character_bounds); | 813 range, character_bounds); |
| 810 } | 814 } |
| 811 #endif | 815 #endif |
| 812 | 816 |
| 813 } // namespace content | 817 } // namespace content |
| OLD | NEW |