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

Unified Diff: ppapi/shared_impl/ppp_instance_combined.h

Issue 8951014: Change the DidChangeView update to take a new ViewChanged resource. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More nacl fixes 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/shared_impl/ppp_instance_combined.h
diff --git a/ppapi/shared_impl/ppp_instance_combined.h b/ppapi/shared_impl/ppp_instance_combined.h
index 3daf727c6d73cb25908891921a34206c554930ab..7bb229fbbf1f2b571c52025022df714c6352b934 100644
--- a/ppapi/shared_impl/ppp_instance_combined.h
+++ b/ppapi/shared_impl/ppp_instance_combined.h
@@ -11,9 +11,40 @@
namespace ppapi {
-struct PPAPI_SHARED_EXPORT PPP_Instance_Combined : public PPP_Instance_1_0 {
+// This exposes the 1.1 interface and forwards it to the 1.0 interface is
+// necessary.
+struct PPAPI_SHARED_EXPORT PPP_Instance_Combined {
public:
explicit PPP_Instance_Combined(const PPP_Instance_1_0& instance_if);
+ explicit PPP_Instance_Combined(const PPP_Instance_1_1& instance_if);
+
+ PP_Bool DidCreate(PP_Instance instance,
+ uint32_t argc,
+ const char* argn[],
+ const char* argv[]);
+ void DidDestroy(PP_Instance instance);
+
+ // This version of DidChangeView encapsulates all arguments for both 1.0
+ // and 1.1 versions of this function. Conversion from 1.1 -> 1.0 is easy,
+ // but this class doesn't have the necessary context (resource interfaces)
+ // to do the conversion, so the caller must do it.
+ void DidChangeView(PP_Instance instance,
+ PP_Resource view_changed_resource,
+ const struct PP_Rect* position,
+ const struct PP_Rect* clip);
+
+ void DidChangeFocus(PP_Instance instance, PP_Bool has_focus);
+ PP_Bool HandleDocumentLoad(PP_Instance instance, PP_Resource url_loader);
+
+ private:
+ // For version 1.0, DidChangeView will be NULL, and DidChangeView_1_0 will
+ // be set below.
+ PPP_Instance_1_1 instance_1_1_;
+
+ // Non-NULL when Instance 1.0 is used.
+ void (*did_change_view_1_0_)(PP_Instance instance,
+ const struct PP_Rect* position,
+ const struct PP_Rect* clip);
DISALLOW_COPY_AND_ASSIGN(PPP_Instance_Combined);
};

Powered by Google App Engine
This is Rietveld 408576698