Index: webkit/tools/pepper_test_plugin/plugin_object.cc |
=================================================================== |
--- webkit/tools/pepper_test_plugin/plugin_object.cc (revision 33478) |
+++ webkit/tools/pepper_test_plugin/plugin_object.cc (working copy) |
@@ -224,11 +224,12 @@ |
canvas.drawPath(path, paint); |
} |
-NPPepperExtensions* pepper = NULL; |
- |
-void FlushCallback(NPRenderContext* context, void* user_data) { |
+void FlushCallback(NPP instance, NPDeviceContext* context, |
+ NPError err, void* user_data) { |
} |
+NPExtensions* extensions = NULL; |
+ |
} // namespace |
@@ -236,15 +237,19 @@ |
PluginObject::PluginObject(NPP npp) |
: npp_(npp), |
- test_object_(browser->createobject(npp, GetTestClass())) { |
- if (!pepper) { |
+ test_object_(browser->createobject(npp, GetTestClass())), |
+ device2d_(NULL) { |
+ if (!extensions) { |
browser->getvalue(npp_, NPNVPepperExtensions, |
- reinterpret_cast<void*>(&pepper)); |
- CHECK(pepper); |
+ reinterpret_cast<void*>(&extensions)); |
+ CHECK(extensions); |
} |
+ device2d_ = extensions->acquireDevice(npp, NPPepper2DDevice); |
+ CHECK(device2d_); |
} |
PluginObject::~PluginObject() { |
+ // FIXME(brettw) destroy the context. |
browser->releaseobject(test_object_); |
} |
@@ -254,26 +259,12 @@ |
} |
void PluginObject::SetWindow(const NPWindow& window) { |
- // File test |
- /* TODO(brettw): remove this when the file stuff is complete. This code is for |
- testing the OpenFileInSandbox function which is not complete. |
- { |
- void* handle = (void*)112358; |
- NPError err = pepper->openFile(npp_, |
- "q:\\prj\\src2\\src\\webkit\\tools\\pepper_test_plugin\\README", |
- &handle); |
- CHECK(err == NPERR_NO_ERROR); |
- |
- char buf[256]; |
- sprintf(buf, "Got the handle %d", (int)handle); |
- ::MessageBoxA(NULL, buf, "pepper", 0); |
- }*/ |
- |
size_.set_width(window.width); |
size_.set_height(window.height); |
- NPRenderContext context; |
- pepper->initializeRender(npp_, NPRenderGraphicsRGBA, &context); |
+ NPDeviceContext2DConfig config; |
+ NPDeviceContext2D context; |
+ device2d_->initializeContext(npp_, &config, &context); |
SkBitmap bitmap; |
bitmap.setConfig(SkBitmap::kARGB_8888_Config, window.width, window.height); |
@@ -284,7 +275,7 @@ |
// TODO(brettw) figure out why this cast is necessary, the functions seem to |
// match. Could be a calling convention mismatch? |
- NPFlushRenderContextCallbackPtr callback = |
- reinterpret_cast<NPFlushRenderContextCallbackPtr>(&FlushCallback); |
- pepper->flushRender(npp_, &context, callback, NULL); |
+ NPDeviceFlushContextCallbackPtr callback = |
+ reinterpret_cast<NPDeviceFlushContextCallbackPtr>(&FlushCallback); |
+ device2d_->flushContext(npp_, &context, callback, NULL); |
} |