Index: webkit/glue/plugins/pepper_webplugin_impl.cc |
=================================================================== |
--- webkit/glue/plugins/pepper_webplugin_impl.cc (revision 69381) |
+++ webkit/glue/plugins/pepper_webplugin_impl.cc (working copy) |
@@ -1,226 +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 "webkit/glue/plugins/pepper_webplugin_impl.h" |
- |
-#include <cmath> |
- |
-#include "base/message_loop.h" |
-#include "ppapi/c/pp_var.h" |
-#include "third_party/WebKit/WebKit/chromium/public/WebPluginParams.h" |
-#include "third_party/WebKit/WebKit/chromium/public/WebPoint.h" |
-#include "third_party/WebKit/WebKit/chromium/public/WebRect.h" |
-#include "third_party/WebKit/WebKit/chromium/public/WebView.h" |
-#include "webkit/glue/plugins/pepper_plugin_instance.h" |
-#include "webkit/glue/plugins/pepper_plugin_module.h" |
-#include "webkit/glue/plugins/pepper_url_loader.h" |
-#include "webkit/glue/plugins/pepper_var.h" |
- |
-using WebKit::WebCanvas; |
-using WebKit::WebPluginContainer; |
-using WebKit::WebPluginParams; |
-using WebKit::WebPoint; |
-using WebKit::WebRect; |
-using WebKit::WebString; |
-using WebKit::WebURL; |
-using WebKit::WebVector; |
-using WebKit::WebView; |
- |
-namespace pepper { |
- |
-struct WebPluginImpl::InitData { |
- scoped_refptr<PluginModule> module; |
- base::WeakPtr<PluginDelegate> delegate; |
- std::vector<std::string> arg_names; |
- std::vector<std::string> arg_values; |
-}; |
- |
-WebPluginImpl::WebPluginImpl( |
- PluginModule* plugin_module, |
- const WebPluginParams& params, |
- const base::WeakPtr<PluginDelegate>& plugin_delegate) |
- : init_data_(new InitData()), |
- full_frame_(params.loadManually) { |
- DCHECK(plugin_module); |
- init_data_->module = plugin_module; |
- init_data_->delegate = plugin_delegate; |
- 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()); |
- } |
-} |
- |
-WebPluginImpl::~WebPluginImpl() { |
-} |
- |
-bool WebPluginImpl::initialize(WebPluginContainer* container) { |
- // The plugin delegate may have gone away. |
- if (!init_data_->delegate) |
- return false; |
- |
- instance_ = init_data_->module->CreateInstance(init_data_->delegate); |
- if (!instance_) |
- return false; |
- |
- bool success = instance_->Initialize(container, |
- init_data_->arg_names, |
- init_data_->arg_values, |
- full_frame_); |
- if (!success) { |
- instance_->Delete(); |
- instance_ = NULL; |
- return false; |
- } |
- |
- init_data_.reset(); |
- return true; |
-} |
- |
-void WebPluginImpl::destroy() { |
- if (instance_) { |
- instance_->Delete(); |
- instance_ = NULL; |
- } |
- |
- MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
-} |
- |
-NPObject* WebPluginImpl::scriptableObject() { |
- scoped_refptr<ObjectVar> object( |
- ObjectVar::FromPPVar(instance_->GetInstanceObject())); |
- if (object) |
- return object->np_object(); |
- return NULL; |
-} |
- |
-void WebPluginImpl::paint(WebCanvas* canvas, const WebRect& rect) { |
- if (!instance_->IsFullscreen()) |
- 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_->IsFullscreen()) |
- instance_->ViewChanged(plugin_rect_, clip_rect); |
-} |
- |
-unsigned WebPluginImpl::getBackingTextureId() { |
- return instance_->GetBackingTextureId(); |
-} |
- |
-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_->IsFullscreen()) |
- return false; |
- return instance_->HandleInputEvent(event, &cursor_info); |
-} |
- |
-void WebPluginImpl::didReceiveResponse( |
- const WebKit::WebURLResponse& response) { |
- DCHECK(!document_loader_); |
- |
- document_loader_ = new URLLoader(instance_, true); |
- document_loader_->didReceiveResponse(NULL, response); |
- |
- if (!instance_->HandleDocumentLoad(document_loader_)) |
- document_loader_ = NULL; |
-} |
- |
-void WebPluginImpl::didReceiveData(const char* data, int data_length) { |
- if (document_loader_) |
- document_loader_->didReceiveData(NULL, data, data_length); |
-} |
- |
-void WebPluginImpl::didFinishLoading() { |
- if (document_loader_) { |
- document_loader_->didFinishLoading(NULL, 0); |
- document_loader_ = NULL; |
- } |
-} |
- |
-void WebPluginImpl::didFailLoading(const WebKit::WebURLError& error) { |
- if (document_loader_) { |
- document_loader_->didFail(NULL, error); |
- document_loader_ = NULL; |
- } |
-} |
- |
-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(); |
-} |
- |
-int WebPluginImpl::printBegin(const WebKit::WebRect& printable_area, |
- int printer_dpi) { |
- return instance_->PrintBegin(printable_area, printer_dpi); |
-} |
- |
-bool WebPluginImpl::printPage(int page_number, |
- WebKit::WebCanvas* canvas) { |
- return instance_->PrintPage(page_number, canvas); |
-} |
- |
-void WebPluginImpl::printEnd() { |
- return instance_->PrintEnd(); |
-} |
- |
-} // namespace pepper |