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

Unified Diff: content/renderer/render_view_impl.cc

Issue 11414180: Add a gyp flag to allow removing dependency on ppapi. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years 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 | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_pepper_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index bf789db64077005ed1540d96a5ae1d4b1f06f1f8..720dc1ea77f41e00963f363809d71173cec456dc 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -88,6 +88,7 @@
#include "content/renderer/media/rtc_peer_connection_handler.h"
#include "content/renderer/mhtml_generator.h"
#include "content/renderer/notification_provider.h"
+#include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
#include "content/renderer/plugin_channel_host.h"
#include "content/renderer/render_process.h"
#include "content/renderer/render_thread_impl.h"
@@ -199,7 +200,6 @@
#include "webkit/plugins/npapi/webplugin_delegate.h"
#include "webkit/plugins/npapi/webplugin_delegate_impl.h"
#include "webkit/plugins/npapi/webplugin_impl.h"
-#include "webkit/plugins/ppapi/ppapi_webplugin_impl.h"
#if defined(OS_ANDROID)
#include "content/common/android/device_info.h"
@@ -608,8 +608,12 @@ RenderViewImpl::RenderViewImpl(RenderViewImplParams* params)
updating_frame_tree_(false),
pending_frame_tree_update_(false),
target_process_id_(0),
- target_routing_id_(0),
- ALLOW_THIS_IN_INITIALIZER_LIST(pepper_delegate_(this)) {
+ target_routing_id_(0) {
+#if defined(ENABLE_PLUGINS)
+ pepper_helper_.reset(new PepperPluginDelegateImpl(this));
+#else
+ pepper_helper_.reset(new RenderViewPepperHelper());
+#endif
set_throttle_input_events(params->renderer_prefs.throttle_input_events);
routing_id_ = params->routing_id;
surface_id_ = params->surface_id;
@@ -4375,16 +4379,11 @@ WebKit::WebPlugin* RenderViewImpl::CreatePlugin(
WebKit::WebFrame* frame,
const webkit::WebPluginInfo& info,
const WebKit::WebPluginParams& params) {
- bool pepper_plugin_was_registered = false;
- scoped_refptr<webkit::ppapi::PluginModule> pepper_module(
- pepper_delegate_.CreatePepperPluginModule(info,
- &pepper_plugin_was_registered));
- if (pepper_plugin_was_registered) {
- if (!pepper_module)
- return NULL;
- return new webkit::ppapi::WebPluginImpl(
- pepper_module.get(), params, pepper_delegate_.AsWeakPtr());
- }
+ WebKit::WebPlugin* pepper_webplugin =
+ pepper_helper_->CreatePepperWebPlugin(info, params);
+
+ if (pepper_webplugin)
+ return pepper_webplugin;
#if defined(USE_AURA) && !defined(OS_WIN)
return NULL;
@@ -4568,8 +4567,8 @@ void RenderViewImpl::SyncSelectionIfRequired() {
size_t offset;
ui::Range range;
- if (pepper_delegate_.IsPluginFocused()) {
- pepper_delegate_.GetSurroundingText(&text, &range);
+ if (pepper_helper_->IsPluginFocused()) {
+ pepper_helper_->GetSurroundingText(&text, &range);
offset = 0; // Pepper API does not support offset reporting.
// TODO(kinaba): cut as needed.
} else {
@@ -5538,12 +5537,12 @@ void RenderViewImpl::OnResize(const gfx::Size& new_size,
void RenderViewImpl::WillInitiatePaint() {
// Notify the pepper plugins that we're about to paint.
- pepper_delegate_.ViewWillInitiatePaint();
+ pepper_helper_->ViewWillInitiatePaint();
}
void RenderViewImpl::DidInitiatePaint() {
// Notify the pepper plugins that we've painted, and are waiting to flush.
- pepper_delegate_.ViewInitiatedPaint();
+ pepper_helper_->ViewInitiatedPaint();
}
void RenderViewImpl::DidFlushPaint() {
@@ -5551,7 +5550,7 @@ void RenderViewImpl::DidFlushPaint() {
// and we it may ask to close itself as a result. This will, in turn, modify
// our set, possibly invalidating the iterator. So we iterate on a copy that
// won't change out from under us.
- pepper_delegate_.ViewFlushedPaint();
+ pepper_helper_->ViewFlushedPaint();
// If the RenderWidget is closing down then early-exit, otherwise we'll crash.
// See crbug.com/112921.
@@ -5597,7 +5596,7 @@ webkit::ppapi::PluginInstance* RenderViewImpl::GetBitmapForOptimizedPluginPaint(
gfx::Rect* location,
gfx::Rect* clip,
float* scale_factor) {
- return pepper_delegate_.GetBitmapForOptimizedPluginPaint(
+ return pepper_helper_->GetBitmapForOptimizedPluginPaint(
paint_bounds, dib, location, clip, scale_factor);
}
@@ -5718,7 +5717,7 @@ bool RenderViewImpl::WillHandleMouseEvent(const WebKit::WebMouseEvent& event) {
ui::DragDropTypes::DRAG_EVENT_SOURCE_MOUSE;
possible_drag_event_info_.event_location =
gfx::Point(event.globalX, event.globalY);
- pepper_delegate_.WillHandleMouseEvent();
+ pepper_helper_->WillHandleMouseEvent();
// If the mouse is locked, only the current owner of the mouse lock can
// process mouse events.
@@ -5767,7 +5766,7 @@ void RenderViewImpl::OnWasHidden() {
}
// Inform PPAPI plugins that their page is no longer visible.
- pepper_delegate_.PageVisibilityChanged(false);
+ pepper_helper_->PageVisibilityChanged(false);
#if defined(OS_MACOSX)
// Inform NPAPI plugins that their container is no longer visible.
@@ -5789,7 +5788,7 @@ void RenderViewImpl::OnWasShown(bool needs_repainting) {
}
// Inform PPAPI plugins that their page is visible.
- pepper_delegate_.PageVisibilityChanged(true);
+ pepper_helper_->PageVisibilityChanged(true);
#if defined(OS_MACOSX)
// Inform NPAPI plugins that their container is now visible.
@@ -5833,7 +5832,7 @@ void RenderViewImpl::OnSetFocus(bool enable) {
}
}
// Notify all Pepper plugins.
- pepper_delegate_.OnSetFocus(enable);
+ pepper_helper_->OnSetFocus(enable);
// Notify all BrowserPlugins of the RenderView's focus state.
if (browser_plugin_manager_)
browser_plugin_manager()->SetEmbedderFocus(this, enable);
@@ -5855,9 +5854,9 @@ void RenderViewImpl::PpapiPluginCaretPositionChanged() {
}
bool RenderViewImpl::GetPpapiPluginCaretBounds(gfx::Rect* rect) {
- if (!pepper_delegate_.IsPluginFocused())
+ if (!pepper_helper_->IsPluginFocused())
return false;
- *rect = pepper_delegate_.GetCaretBounds();
+ *rect = pepper_helper_->GetCaretBounds();
return true;
}
@@ -5896,12 +5895,12 @@ void RenderViewImpl::OnImeSetComposition(
const std::vector<WebKit::WebCompositionUnderline>& underlines,
int selection_start,
int selection_end) {
- if (pepper_delegate_.IsPluginFocused()) {
+ if (pepper_helper_->IsPluginFocused()) {
// When a PPAPI plugin has focus, we bypass WebKit.
- pepper_delegate_.OnImeSetComposition(text,
- underlines,
- selection_start,
- selection_end);
+ pepper_helper_->OnImeSetComposition(text,
+ underlines,
+ selection_start,
+ selection_end);
} else {
#if defined(OS_WIN)
// When a plug-in has focus, we create platform-specific IME data used by
@@ -5938,9 +5937,9 @@ void RenderViewImpl::OnImeSetComposition(
void RenderViewImpl::OnImeConfirmComposition(
const string16& text, const ui::Range& replacement_range) {
- if (pepper_delegate_.IsPluginFocused()) {
+ if (pepper_helper_->IsPluginFocused()) {
// When a PPAPI plugin has focus, we bypass WebKit.
- pepper_delegate_.OnImeConfirmComposition(text);
+ pepper_helper_->OnImeConfirmComposition(text);
} else {
#if defined(OS_WIN)
// Same as OnImeSetComposition(), we send the text from IMEs directly to
@@ -5977,17 +5976,17 @@ void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) {
}
ui::TextInputType RenderViewImpl::GetTextInputType() {
- return pepper_delegate_.IsPluginFocused() ?
- pepper_delegate_.GetTextInputType() : RenderWidget::GetTextInputType();
+ return pepper_helper_->IsPluginFocused() ?
+ pepper_helper_->GetTextInputType() : RenderWidget::GetTextInputType();
}
void RenderViewImpl::GetSelectionBounds(gfx::Rect* start, gfx::Rect* end) {
- if (pepper_delegate_.IsPluginFocused()) {
+ if (pepper_helper_->IsPluginFocused()) {
// TODO(kinaba) http://crbug.com/101101
// Current Pepper IME API does not handle selection bounds. So we simply
// use the caret position as an empty range for now. It will be updated
// after Pepper API equips features related to surrounding text retrieval.
- gfx::Rect caret = pepper_delegate_.GetCaretBounds();
+ gfx::Rect caret = pepper_helper_->GetCaretBounds();
*start = caret;
*end = caret;
return;
@@ -6026,8 +6025,8 @@ void RenderViewImpl::GetCompositionCharacterBounds(
}
bool RenderViewImpl::CanComposeInline() {
- return pepper_delegate_.IsPluginFocused() ?
- pepper_delegate_.CanComposeInline() : true;
+ return pepper_helper_->IsPluginFocused() ?
+ pepper_helper_->CanComposeInline() : true;
}
#if defined(OS_WIN)
@@ -6282,13 +6281,13 @@ void RenderViewImpl::LaunchAndroidContentIntent(const GURL& intent,
if (!intent.is_empty())
Send(new ViewHostMsg_StartContentIntent(routing_id_, intent));
}
-#endif
+#endif // defined(OS_ANDROID)
void RenderViewImpl::OnAsyncFileOpened(
base::PlatformFileError error_code,
IPC::PlatformFileForTransit file_for_transit,
int message_id) {
- pepper_delegate_.OnAsyncFileOpened(
+ pepper_helper_->OnAsyncFileOpened(
error_code,
IPC::PlatformFileForTransitToPlatformFile(file_for_transit),
message_id);
@@ -6297,14 +6296,14 @@ void RenderViewImpl::OnAsyncFileOpened(
void RenderViewImpl::OnPpapiBrokerChannelCreated(
int request_id,
const IPC::ChannelHandle& handle) {
- pepper_delegate_.OnPpapiBrokerChannelCreated(request_id,
- handle);
+ pepper_helper_->OnPpapiBrokerChannelCreated(request_id,
+ handle);
}
void RenderViewImpl::OnPpapiBrokerPermissionResult(
int request_id,
bool result) {
- pepper_delegate_.OnPpapiBrokerPermissionResult(request_id, result);
+ pepper_helper_->OnPpapiBrokerPermissionResult(request_id, result);
}
#if defined(OS_MACOSX)
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_pepper_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698