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

Unified Diff: ppapi/shared_impl/ppp_instance_combined.cc

Issue 10543029: PPAPI/NaCl: Reinitialize some stuff when the ipc proxy starts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: enforce ordering of events, make previous view emptyenforce ordering of events, make previous view … Created 8 years, 6 months 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.cc
diff --git a/ppapi/shared_impl/ppp_instance_combined.cc b/ppapi/shared_impl/ppp_instance_combined.cc
index e5b79987eade40eb83de602db66cc199f7370a7b..5baaf12c12b11b92c901e19ed405bdfe7e3b7581 100644
--- a/ppapi/shared_impl/ppp_instance_combined.cc
+++ b/ppapi/shared_impl/ppp_instance_combined.cc
@@ -7,6 +7,27 @@
namespace ppapi {
+// static
+PPP_Instance_Combined* PPP_Instance_Combined::Create(
+ base::Callback<const void*(const char*)> get_interface_func) {
+ // Try 1.1.
+ const void* ppp_instance = get_interface_func.Run(PPP_INSTANCE_INTERFACE_1_1);
+ if (ppp_instance) {
+ const PPP_Instance_1_1* ppp_instance_1_1 =
+ static_cast<const PPP_Instance_1_1*>(ppp_instance);
+ return new PPP_Instance_Combined(*ppp_instance_1_1);
+ }
+ // Failing that, try 1.0.
+ ppp_instance = get_interface_func.Run(PPP_INSTANCE_INTERFACE_1_0);
+ if (ppp_instance) {
+ const PPP_Instance_1_0* ppp_instance_1_0 =
+ static_cast<const PPP_Instance_1_0*>(ppp_instance);
+ return new PPP_Instance_Combined(*ppp_instance_1_0);
+ }
+ // No supported PPP_Instance version found.
+ return NULL;
+}
+
PPP_Instance_Combined::PPP_Instance_Combined(
const PPP_Instance_1_0& instance_if)
: did_change_view_1_0_(instance_if.DidChangeView) {

Powered by Google App Engine
This is Rietveld 408576698