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

Unified Diff: tests/fake_browser_ppapi/main.cc

Issue 3391010: Update the PPAPI DEPS revision. This change included parameter profile chang... (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 10 years, 3 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
« no previous file with comments | « tests/fake_browser_ppapi/fake_window.cc ('k') | tests/fake_browser_ppapi/test_scriptable.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/fake_browser_ppapi/main.cc
===================================================================
--- tests/fake_browser_ppapi/main.cc (revision 3312)
+++ tests/fake_browser_ppapi/main.cc (working copy)
@@ -26,8 +26,10 @@
using fake_browser_ppapi::Host;
using fake_browser_ppapi::FakeWindow;
-static fake_browser_ppapi::Host* host = NULL;
+namespace {
+Host* host = NULL;
+
const void* FakeGetInterface(const char* interface_name) {
DebugPrintf("Getting interface for name '%s'\n", interface_name);
if (strcmp(interface_name, PPB_CORE_INTERFACE) == 0) {
@@ -40,11 +42,23 @@
return NULL;
}
-PP_Module FakeGenModuleId() {
+// Module ids are needed for some call APIs, but the fake browser does
+// not implement the storage tracking APIs that would use a real value.
+// TODO(sehr): implement storage tracking.
+// The storage allocated by the browser for the window object, etc., are
+// attributed to the browser's module id.
+PP_Module BrowserModuleId() {
static void* id;
return reinterpret_cast<PP_Module>(&id);
}
+// The storage allocated by the plugin for its scriptable objects are
+// attributed to the its module id.
+PP_Module PluginModuleId() {
+ static void* id;
+ return reinterpret_cast<PP_Module>(&id);
+}
+
bool ParseArgs(const char* str,
uint32_t* argc,
const char*** argn,
@@ -76,14 +90,15 @@
}
// Test instance execution.
-void TestInstance(const PPP_Instance* instance_interface,
+void TestInstance(PP_Module browser_module_id,
+ const PPP_Instance* instance_interface,
const char* page_url,
uint32_t argc,
const char** argn,
const char** argv) {
printf("page url %s\n", page_url);
// Create a fake window object.
- FakeWindow window(host, page_url);
+ FakeWindow window(browser_module_id, host, page_url);
// Create an instance and the corresponding id.
fake_browser_ppapi::Instance browser_instance(&window);
PP_Instance instance_id = reinterpret_cast<PP_Instance>(&browser_instance);
@@ -98,9 +113,12 @@
TestScriptableObject(instance_object,
browser_instance.GetInterface(),
var_interface,
- instance_id);
+ instance_id,
+ browser_module_id);
}
+} // namespace
+
int main(int argc, char** argv) {
// Turn off stdout buffering to aid debugging in case of a crash.
setvbuf(stdout, NULL, _IONBF, 0);
@@ -123,7 +141,7 @@
CHECK(host != NULL);
// Test startup.
- CHECK(host->InitializeModule(FakeGenModuleId(), FakeGetInterface) == PP_OK);
+ CHECK(host->InitializeModule(PluginModuleId(), FakeGetInterface) == PP_OK);
// Get an instance of the plugin.
const PPP_Instance* instance_interface =
@@ -144,7 +162,8 @@
setenv("NACL_PPAPI_LOCAL_ORIGIN", root_path, 1);
// Test an instance.
- TestInstance(instance_interface,
+ TestInstance(BrowserModuleId(),
+ instance_interface,
page_url,
embed_argc,
embed_argn,
« no previous file with comments | « tests/fake_browser_ppapi/fake_window.cc ('k') | tests/fake_browser_ppapi/test_scriptable.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698