Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(885)

Unified Diff: ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc

Issue 8951014: Change the DidChangeView update to take a new ViewChanged resource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: New patch Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc
index 933b9730dc993bfc02074a2640d3faa2eb81671f..c01cd7b61609c6c036ee6b31fa4b96b6e91d2b6e 100644
--- a/ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc
+++ b/ppapi/native_client/src/shared/ppapi_proxy/browser_ppp_instance.cc
@@ -15,11 +15,14 @@
#include "native_client/src/shared/ppapi_proxy/browser_ppp.h"
#include "native_client/src/shared/ppapi_proxy/trusted/srpcgen/ppp_rpc.h"
#include "native_client/src/shared/ppapi_proxy/utility.h"
+#include "native_client/src/shared/ppapi_proxy/view_data.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_var.h"
#include "ppapi/c/ppp_instance.h"
+#include "ppapi/c/ppb_view.h"
using nacl::scoped_array;
+using ppapi_proxy::ViewData;
namespace ppapi_proxy {
@@ -100,31 +103,26 @@ void DidDestroy(PP_Instance instance) {
NaClSrpcErrorString(srpc_result));
}
-void DidChangeView(PP_Instance instance,
- const PP_Rect* position,
- const PP_Rect* clip) {
+void DidChangeView(PP_Instance instance, PP_Resource view) {
DebugPrintf("PPP_Instance::DidChangeView: instance=%"NACL_PRIu32"\n",
instance);
- int32_t position_array[4];
- const uint32_t kPositionArraySize = NACL_ARRAY_SIZE(position_array);
- position_array[0] = position->point.x;
- position_array[1] = position->point.y;
- position_array[2] = position->size.width;
- position_array[3] = position->size.height;
- int32_t clip_array[4];
- const uint32_t kClipArraySize = NACL_ARRAY_SIZE(clip_array);
- clip_array[0] = clip->point.x;
- clip_array[1] = clip->point.y;
- clip_array[2] = clip->size.width;
- clip_array[3] = clip->size.height;
+ ViewData view_data;
+
+ // We only send the new view info. The plugin side keeps track of the
+ // previous state it sent out, so can do the "changed" part itself.
dmichael (off chromium) 2011/12/20 19:01:34 Is this comment still valid with no PPB_ViewChange
+ const PPB_View* view_interface = static_cast<const PPB_View*>(
+ GetBrowserInterface(PPB_VIEW_INTERFACE));
dmichael (off chromium) 2011/12/20 19:01:34 Could you just use PPBViewInterface that you added
+ view_interface->GetRect(view, &view_data.viewport_rect);
+ view_data.is_fullscreen = view_interface->IsFullscreen(view);
+ view_data.is_page_visible = view_interface->IsPageVisible(view);
+ view_interface->GetClipRect(view, &view_data.clip_rect);
+
NaClSrpcError srpc_result = PppInstanceRpcClient::PPP_Instance_DidChangeView(
GetMainSrpcChannel(instance),
instance,
- kPositionArraySize,
- position_array,
- kClipArraySize,
- clip_array,
- static_cast<int32_t>(PPBFullscreenInterface()->IsFullscreen(instance)));
+ view,
+ sizeof(ViewData),
+ reinterpret_cast<char*>(&view_data));
DebugPrintf("PPP_Instance::DidChangeView: %s\n",
NaClSrpcErrorString(srpc_result));
}

Powered by Google App Engine
This is Rietveld 408576698