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

Unified Diff: ppapi/native_client/tests/ppapi_browser/ppp_instance/ppapi_ppp_instance.cc

Issue 7740013: Cloning a bunch of stuff from the native_client repository at r6528 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 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/native_client/tests/ppapi_browser/ppp_instance/ppapi_ppp_instance.cc
===================================================================
--- ppapi/native_client/tests/ppapi_browser/ppp_instance/ppapi_ppp_instance.cc (revision 0)
+++ ppapi/native_client/tests/ppapi_browser/ppp_instance/ppapi_ppp_instance.cc (revision 0)
@@ -0,0 +1,91 @@
+// Copyright (c) 2011 The Native Client Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string.h>
+
+#include <vector>
+
+#include "native_client/src/include/nacl_macros.h"
+#include "native_client/src/shared/platform/nacl_check.h"
+#include "native_client/tests/ppapi_test_lib/get_browser_interface.h"
+#include "native_client/tests/ppapi_test_lib/test_interface.h"
+
+#include "ppapi/c/pp_bool.h"
+#include "ppapi/c/pp_errors.h"
+#include "ppapi/c/pp_input_event.h"
+#include "ppapi/c/ppp_instance.h"
+
+namespace {
+
+PP_Bool DidCreate(PP_Instance instance,
+ uint32_t argc,
+ const char* argn[],
+ const char* argv[]) {
+ printf("--- PPP_Instance::DidCreate\n");
+ PP_Bool status = DidCreateDefault(instance, argc, argn, argv);
+ // TEST_PASSED has no effect from this function.
+ // But as long as the plugin loads and tests are run, we know this succeeded.
+ // See ppapi_browser/bad for failing DidCreate.
+ return status;
+}
+
+// This should never be called.
+void DidDestroy(PP_Instance instance) {
+ printf("--- PPP_Instance::DidDestroy\n");
+ CHECK(instance == pp_instance());
+ NACL_NOTREACHED();
+}
+
+void DidChangeView(PP_Instance instance,
+ const struct PP_Rect* position,
+ const struct PP_Rect* clip) {
+ printf("--- PPP_Instance::DidChangeView\n");
+ EXPECT(instance == pp_instance());
+ EXPECT(clip->point.x == 0 && clip->point.y == 0);
+ // These are based on embed dimensions.
+ EXPECT(position->size.width == 15 && clip->size.width == 15);
+ EXPECT(position->size.height == 20 && clip->size.height == 20);
+
+ TEST_PASSED;
+}
+
+void DidChangeFocus(PP_Instance instance,
+ PP_Bool has_focus) {
+ printf("--- PPP_Instance::DidChangeFocus has_focus=%d\n", has_focus);
+ // There should be no focus on load, so this will trigger when we gain it
+ // and then release it and so on.
+ static bool expected_has_focus = true;
+ EXPECT(instance == pp_instance());
+ EXPECT(has_focus == expected_has_focus);
+ expected_has_focus = !expected_has_focus;
+
+ TEST_PASSED;
+}
+
+PP_Bool HandleDocumentLoad(PP_Instance instance,
+ PP_Resource url_loader) {
+ // Only called for full-frame plugins. For coverage see:
+ // tests/ppapi_browser/extension_mime_handler/
+ NACL_NOTREACHED();
+ return PP_FALSE;
+}
+
+const PPP_Instance ppp_instance_interface = {
+ DidCreate,
+ DidDestroy,
+ DidChangeView,
+ DidChangeFocus,
+ HandleDocumentLoad
+};
+
+} // namespace
+
+
+void SetupTests() {
+ // Each PPP_Instance function called by the browser acts as a test.
+}
+
+void SetupPluginInterfaces() {
+ RegisterPluginInterface(PPP_INSTANCE_INTERFACE, &ppp_instance_interface);
+}

Powered by Google App Engine
This is Rietveld 408576698