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

Unified Diff: webkit/plugins/ppapi/ppapi_webplugin_impl.cc

Issue 20165002: Move webkit/plugins/ppapi to content/renderer/pepper. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: more more clang fun Created 7 years, 5 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 | « webkit/plugins/ppapi/ppapi_webplugin_impl.h ('k') | webkit/plugins/ppapi/ppb_audio_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/plugins/ppapi/ppapi_webplugin_impl.cc
===================================================================
--- webkit/plugins/ppapi/ppapi_webplugin_impl.cc (revision 213561)
+++ webkit/plugins/ppapi/ppapi_webplugin_impl.cc (working copy)
@@ -1,308 +0,0 @@
-// Copyright (c) 2012 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 "webkit/plugins/ppapi/ppapi_webplugin_impl.h"
-
-#include <cmath>
-
-#include "base/debug/crash_logging.h"
-#include "base/message_loop/message_loop.h"
-#include "ppapi/shared_impl/ppapi_globals.h"
-#include "ppapi/shared_impl/var_tracker.h"
-#include "third_party/WebKit/public/platform/WebPoint.h"
-#include "third_party/WebKit/public/platform/WebRect.h"
-#include "third_party/WebKit/public/platform/WebSize.h"
-#include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
-#include "third_party/WebKit/public/web/WebBindings.h"
-#include "third_party/WebKit/public/web/WebDocument.h"
-#include "third_party/WebKit/public/web/WebElement.h"
-#include "third_party/WebKit/public/web/WebFrame.h"
-#include "third_party/WebKit/public/web/WebPluginContainer.h"
-#include "third_party/WebKit/public/web/WebPluginParams.h"
-#include "third_party/WebKit/public/web/WebPrintParams.h"
-#include "third_party/WebKit/public/web/WebPrintScalingOption.h"
-#include "third_party/WebKit/public/web/WebView.h"
-#include "url/gurl.h"
-#include "webkit/plugins/ppapi/message_channel.h"
-#include "webkit/plugins/ppapi/npobject_var.h"
-#include "webkit/plugins/ppapi/plugin_module.h"
-#include "webkit/plugins/ppapi/ppapi_plugin_instance_impl.h"
-
-using ppapi::NPObjectVar;
-using WebKit::WebCanvas;
-using WebKit::WebPlugin;
-using WebKit::WebPluginContainer;
-using WebKit::WebPluginParams;
-using WebKit::WebPoint;
-using WebKit::WebPrintParams;
-using WebKit::WebRect;
-using WebKit::WebSize;
-using WebKit::WebString;
-using WebKit::WebURL;
-using WebKit::WebVector;
-using WebKit::WebView;
-
-namespace webkit {
-namespace ppapi {
-
-struct WebPluginImpl::InitData {
- scoped_refptr<PluginModule> module;
- base::WeakPtr<PluginDelegate> delegate;
- base::WeakPtr<content::RenderView> render_view;
- std::vector<std::string> arg_names;
- std::vector<std::string> arg_values;
- GURL url;
-};
-
-WebPluginImpl::WebPluginImpl(
- PluginModule* plugin_module,
- const WebPluginParams& params,
- const base::WeakPtr<PluginDelegate>& plugin_delegate,
- const base::WeakPtr<content::RenderView>& render_view)
- : init_data_(new InitData()),
- full_frame_(params.loadManually),
- instance_object_(PP_MakeUndefined()),
- container_(NULL) {
- DCHECK(plugin_module);
- init_data_->module = plugin_module;
- init_data_->delegate = plugin_delegate;
- init_data_->render_view = render_view;
- for (size_t i = 0; i < params.attributeNames.size(); ++i) {
- init_data_->arg_names.push_back(params.attributeNames[i].utf8());
- init_data_->arg_values.push_back(params.attributeValues[i].utf8());
- }
- init_data_->url = params.url;
-
- // Set subresource URL for crash reporting.
- base::debug::SetCrashKeyValue("subresource_url", init_data_->url.spec());
-}
-
-WebPluginImpl::~WebPluginImpl() {
-}
-
-WebKit::WebPluginContainer* WebPluginImpl::container() const {
- return container_;
-}
-
-bool WebPluginImpl::initialize(WebPluginContainer* container) {
- // The plugin delegate may have gone away.
- if (!init_data_->delegate.get())
- return false;
-
- instance_ = init_data_->module->CreateInstance(
- init_data_->delegate.get(), init_data_->render_view.get(), container,
- init_data_->url);
- if (!instance_.get())
- return false;
-
- // Enable script objects for this plugin.
- container->allowScriptObjects();
-
- bool success = instance_->Initialize(init_data_->arg_names,
- init_data_->arg_values,
- full_frame_);
- if (!success) {
- instance_->Delete();
- instance_ = NULL;
-
- WebKit::WebPlugin* replacement_plugin =
- init_data_->delegate->CreatePluginReplacement(
- init_data_->module->path());
- if (!replacement_plugin || !replacement_plugin->initialize(container))
- return false;
-
- container->setPlugin(replacement_plugin);
- return true;
- }
-
- init_data_.reset();
- container_ = container;
- return true;
-}
-
-void WebPluginImpl::destroy() {
- // Tell |container_| to clear references to this plugin's script objects.
- if (container_)
- container_->clearScriptObjects();
-
- if (instance_.get()) {
- ::ppapi::PpapiGlobals::Get()->GetVarTracker()->ReleaseVar(instance_object_);
- instance_object_ = PP_MakeUndefined();
- instance_->Delete();
- instance_ = NULL;
- }
-
- base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
-}
-
-NPObject* WebPluginImpl::scriptableObject() {
- // Call through the plugin to get its instance object. The plugin should pass
- // us a reference which we release in destroy().
- if (instance_object_.type == PP_VARTYPE_UNDEFINED)
- instance_object_ = instance_->GetInstanceObject();
- // GetInstanceObject talked to the plugin which may have removed the instance
- // from the DOM, in which case instance_ would be NULL now.
- if (!instance_.get())
- return NULL;
-
- scoped_refptr<NPObjectVar> object(NPObjectVar::FromPPVar(instance_object_));
- // If there's an InstanceObject, tell the Instance's MessageChannel to pass
- // any non-postMessage calls to it.
- if (object.get()) {
- instance_->message_channel().SetPassthroughObject(object->np_object());
- }
- NPObject* message_channel_np_object(instance_->message_channel().np_object());
- // The object is expected to be retained before it is returned.
- WebKit::WebBindings::retainObject(message_channel_np_object);
- return message_channel_np_object;
-}
-
-NPP WebPluginImpl::pluginNPP() {
- return instance_->instanceNPP();
-}
-
-bool WebPluginImpl::getFormValue(WebString& value) {
- return false;
-}
-
-void WebPluginImpl::paint(WebCanvas* canvas, const WebRect& rect) {
- if (!instance_->FlashIsFullscreenOrPending())
- instance_->Paint(canvas, plugin_rect_, rect);
-}
-
-void WebPluginImpl::updateGeometry(
- const WebRect& window_rect,
- const WebRect& clip_rect,
- const WebVector<WebRect>& cut_outs_rects,
- bool is_visible) {
- plugin_rect_ = window_rect;
- if (!instance_->FlashIsFullscreenOrPending()) {
- std::vector<gfx::Rect> cut_outs;
- for (size_t i = 0; i < cut_outs_rects.size(); ++i)
- cut_outs.push_back(cut_outs_rects[i]);
- instance_->ViewChanged(plugin_rect_, clip_rect, cut_outs);
- }
-}
-
-void WebPluginImpl::updateFocus(bool focused) {
- instance_->SetWebKitFocus(focused);
-}
-
-void WebPluginImpl::updateVisibility(bool visible) {
-}
-
-bool WebPluginImpl::acceptsInputEvents() {
- return true;
-}
-
-bool WebPluginImpl::handleInputEvent(const WebKit::WebInputEvent& event,
- WebKit::WebCursorInfo& cursor_info) {
- if (instance_->FlashIsFullscreenOrPending())
- return false;
- return instance_->HandleInputEvent(event, &cursor_info);
-}
-
-void WebPluginImpl::didReceiveResponse(
- const WebKit::WebURLResponse& response) {
- DCHECK(!instance_->document_loader());
- instance_->HandleDocumentLoad(response);
-}
-
-void WebPluginImpl::didReceiveData(const char* data, int data_length) {
- WebKit::WebURLLoaderClient* document_loader = instance_->document_loader();
- if (document_loader)
- document_loader->didReceiveData(NULL, data, data_length, 0);
-}
-
-void WebPluginImpl::didFinishLoading() {
- WebKit::WebURLLoaderClient* document_loader = instance_->document_loader();
- if (document_loader)
- document_loader->didFinishLoading(NULL, 0.0);
-}
-
-void WebPluginImpl::didFailLoading(const WebKit::WebURLError& error) {
- WebKit::WebURLLoaderClient* document_loader = instance_->document_loader();
- if (document_loader)
- document_loader->didFail(NULL, error);
-}
-
-void WebPluginImpl::didFinishLoadingFrameRequest(const WebKit::WebURL& url,
- void* notify_data) {
-}
-
-void WebPluginImpl::didFailLoadingFrameRequest(
- const WebKit::WebURL& url,
- void* notify_data,
- const WebKit::WebURLError& error) {
-}
-
-bool WebPluginImpl::hasSelection() const {
- return !selectionAsText().isEmpty();
-}
-
-WebString WebPluginImpl::selectionAsText() const {
- return instance_->GetSelectedText(false);
-}
-
-WebString WebPluginImpl::selectionAsMarkup() const {
- return instance_->GetSelectedText(true);
-}
-
-WebURL WebPluginImpl::linkAtPosition(const WebPoint& position) const {
- return GURL(instance_->GetLinkAtPosition(position));
-}
-
-void WebPluginImpl::setZoomLevel(double level, bool text_only) {
- instance_->Zoom(WebView::zoomLevelToZoomFactor(level), text_only);
-}
-
-bool WebPluginImpl::startFind(const WebKit::WebString& search_text,
- bool case_sensitive,
- int identifier) {
- return instance_->StartFind(search_text, case_sensitive, identifier);
-}
-
-void WebPluginImpl::selectFindResult(bool forward) {
- instance_->SelectFindResult(forward);
-}
-
-void WebPluginImpl::stopFind() {
- instance_->StopFind();
-}
-
-bool WebPluginImpl::supportsPaginatedPrint() {
- return instance_->SupportsPrintInterface();
-}
-
-bool WebPluginImpl::isPrintScalingDisabled() {
- return instance_->IsPrintScalingDisabled();
-}
-
-int WebPluginImpl::printBegin(const WebPrintParams& print_params) {
- return instance_->PrintBegin(print_params);
-}
-
-bool WebPluginImpl::printPage(int page_number,
- WebKit::WebCanvas* canvas) {
- return instance_->PrintPage(page_number, canvas);
-}
-
-void WebPluginImpl::printEnd() {
- return instance_->PrintEnd();
-}
-
-bool WebPluginImpl::canRotateView() {
- return instance_->CanRotateView();
-}
-
-void WebPluginImpl::rotateView(RotationType type) {
- instance_->RotateView(type);
-}
-
-bool WebPluginImpl::isPlaceholder() {
- return false;
-}
-
-} // namespace ppapi
-} // namespace webkit
« no previous file with comments | « webkit/plugins/ppapi/ppapi_webplugin_impl.h ('k') | webkit/plugins/ppapi/ppb_audio_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698