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

Unified Diff: chrome/renderer/pepper_widget.cc

Issue 6646025: Deleted WebPluginDelegatePepper. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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 | « chrome/renderer/pepper_widget.h ('k') | chrome/renderer/render_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/pepper_widget.cc
===================================================================
--- chrome/renderer/pepper_widget.cc (revision 77518)
+++ chrome/renderer/pepper_widget.cc (working copy)
@@ -1,146 +0,0 @@
-// Copyright (c) 2010 The Chromium 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 "chrome/renderer/pepper_widget.h"
-
-#include "base/hash_tables.h"
-#include "base/lazy_instance.h"
-#include "chrome/renderer/pepper_scrollbar_widget.h"
-#include "chrome/renderer/webplugin_delegate_pepper.h"
-#include "skia/ext/platform_canvas.h"
-#include "webkit/plugins/npapi/plugin_instance.h"
-#include "webkit/plugins/npapi/webplugin.h"
-#include "webkit/plugins/npapi/webplugin_delegate.h"
-
-#if defined(OS_WIN)
-#include "base/win/windows_version.h"
-#endif
-
-static int g_next_id;
-typedef base::hash_map<int, PepperWidget*> WidgetMap;
-static base::LazyInstance<WidgetMap> g_widgets(base::LINKER_INITIALIZED);
-
-NPError NPCreateWidget(NPP instance,
- NPWidgetType type,
- void* params,
- NPWidgetID* id) {
- PepperWidget* widget;
- switch (type) {
- case NPWidgetTypeScrollbar:
- widget = new PepperScrollbarWidget(
- *static_cast<NPScrollbarCreateParams*>(params));
- break;
- default:
- return NPERR_INVALID_PARAM;
- }
-
- *id = ++g_next_id;
- widget->Init(instance, *id);
- return NPERR_NO_ERROR;
-}
-
-NPError NPDestroyWidget(NPP instance, NPWidgetID id) {
- WidgetMap::iterator iter = g_widgets.Get().find(id);
- if (iter == g_widgets.Get().end())
- return NPERR_INVALID_PARAM;
-
- iter->second->Destroy();
- return NPERR_NO_ERROR;
-}
-
-NPError NPPaintWidget(NPP instance,
- NPWidgetID id,
- NPDeviceContext2D* context,
- NPRect* dirty) {
- WidgetMap::iterator iter = g_widgets.Get().find(id);
- if (iter == g_widgets.Get().end())
- return NPERR_INVALID_PARAM;
-
- webkit::npapi::PluginInstance* plugin =
- static_cast<webkit::npapi::PluginInstance*>(instance->ndata);
- WebPluginDelegatePepper* delegate =
- static_cast<WebPluginDelegatePepper*>(plugin->webplugin()->delegate());
- Graphics2DDeviceContext* gdc = delegate->GetGraphicsContext(context);
- iter->second->Paint(gdc, *dirty);
-
-#if defined(OS_WIN)
- if (base::win::GetVersion() == base::win::VERSION_XP) {
- gdc->canvas()->getTopPlatformDevice().makeOpaque(
- dirty->left, dirty->top, dirty->right - dirty->left,
- dirty->bottom - dirty->top);
- }
-#endif
- return NPERR_NO_ERROR;
-}
-
-bool NPHandleWidgetEvent(NPP instance, NPWidgetID id, NPPepperEvent* event) {
- WidgetMap::iterator iter = g_widgets.Get().find(id);
- if (iter == g_widgets.Get().end())
- return false;
-
- return iter->second->HandleEvent(*event);
-}
-
-NPError NPGetWidgetProperty(NPP instance,
- NPWidgetID id,
- NPWidgetProperty property,
- void* value) {
- WidgetMap::iterator iter = g_widgets.Get().find(id);
- if (iter == g_widgets.Get().end())
- return NPERR_INVALID_PARAM;
-
- iter->second->GetProperty(property, value);
- return NPERR_NO_ERROR;
-}
-
-NPError NPSetWidgetProperty(NPP instance,
- NPWidgetID id,
- NPWidgetProperty property,
- void* value) {
- WidgetMap::iterator iter = g_widgets.Get().find(id);
- if (iter == g_widgets.Get().end())
- return NPERR_INVALID_PARAM;
-
- iter->second->SetProperty(property, value);
- return NPERR_NO_ERROR;
-}
-
-NPWidgetExtensions g_widget_extensions = {
- NPCreateWidget,
- NPDestroyWidget,
- NPPaintWidget,
- NPHandleWidgetEvent,
- NPGetWidgetProperty,
- NPSetWidgetProperty
-};
-
-// static
-NPWidgetExtensions* PepperWidget::GetWidgetExtensions() {
- return &g_widget_extensions;
-}
-
-PepperWidget::PepperWidget() : instance_(NULL), id_(0) {
-}
-
-PepperWidget::~PepperWidget() {
- if (id_)
- g_widgets.Get().erase(id_);
-}
-
-void PepperWidget::Init(NPP instance, int id) {
- instance_ = instance;
- id_ = id;
- g_widgets.Get()[id] = this;
-}
-
-void PepperWidget::WidgetPropertyChanged(NPWidgetProperty property) {
- webkit::npapi::PluginInstance* instance =
- static_cast<webkit::npapi::PluginInstance*>(instance_->ndata);
- NPPExtensions* extensions = NULL;
- instance->NPP_GetValue(NPPVPepperExtensions, &extensions);
- if (!extensions)
- return;
-
- extensions->widgetPropertyChanged(instance_, id_, property);
-}
« no previous file with comments | « chrome/renderer/pepper_widget.h ('k') | chrome/renderer/render_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698