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

Unified Diff: content/renderer/render_view_pepper_helper.h

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.cc ('k') | content/renderer/render_view_pepper_helper.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_view_pepper_helper.h
diff --git a/content/renderer/render_view_pepper_helper.h b/content/renderer/render_view_pepper_helper.h
new file mode 100644
index 0000000000000000000000000000000000000000..ced5bf840a1c5c7eee233315eadd31356495247f
--- /dev/null
+++ b/content/renderer/render_view_pepper_helper.h
@@ -0,0 +1,116 @@
+// 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.
+
+// This interface is used by RenderView to talk to the pepper plugin delegate.
+#ifndef CONTENT_RENDERER_RENDER_VIEW_PEPPER_HELPER_H
+#define CONTENT_RENDERER_RENDER_VIEW_PEPPER_HELPER_H
+
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/memory/ref_counted.h"
+#include "base/platform_file.h"
+#include "ui/base/ime/text_input_type.h"
+
+class TransportDIB;
+
+namespace gfx {
+class Rect;
+}
+
+namespace IPC {
+struct ChannelHandle;
+}
+
+namespace ui {
+class Range;
+}
+
+namespace webkit {
+struct WebPluginInfo;
+namespace ppapi {
+class PluginInstance;
+}
+}
+
+namespace WebKit {
+struct WebCompositionUnderline;
+struct WebPluginParams;
+class WebPlugin;
+}
+
+namespace content {
+
+class RenderViewPepperHelper {
+ public:
+ RenderViewPepperHelper() {}
+ virtual ~RenderViewPepperHelper();
+
+ virtual WebKit::WebPlugin* CreatePepperWebPlugin(
+ const webkit::WebPluginInfo& webplugin_info,
+ const WebKit::WebPluginParams& params);
+
+ // Called by RenderView to implement the corresponding function in its base
+ // class RenderWidget (see that for more).
+ virtual webkit::ppapi::PluginInstance* GetBitmapForOptimizedPluginPaint(
+ const gfx::Rect& paint_bounds,
+ TransportDIB** dib,
+ gfx::Rect* location,
+ gfx::Rect* clip,
+ float* scale_factor);
+
+ // Called by RenderView to tell us about painting events, these two functions
+ // just correspond to the WillInitiatePaint, DidInitiatePaint and
+ // DidFlushPaint hooks in RenderView.
+ virtual void ViewWillInitiatePaint() {}
+ virtual void ViewInitiatedPaint() {}
+ virtual void ViewFlushedPaint() {}
+
+ // Called by RenderView when ViewMsg_AsyncOpenFile_ACK.
+ virtual void OnAsyncFileOpened(base::PlatformFileError error_code,
+ base::PlatformFile file,
+ int message_id) {}
+
+ // Called by RenderView when ViewMsg_PpapiBrokerChannelCreated.
+ virtual void OnPpapiBrokerChannelCreated(int request_id,
+ const IPC::ChannelHandle& handle) {}
+
+ // Called when we know whether permission to access the PPAPI broker was
+ // granted.
+ virtual void OnPpapiBrokerPermissionResult(int request_id, bool result) {}
+
+ // Notification that the render view has been focused or defocused. This
+ // notifies all of the plugins.
+ virtual void OnSetFocus(bool has_focus) {}
+
+ // Notification that the page visibility has changed. The default is visible.
+ virtual void PageVisibilityChanged(bool is_visible) {}
+
+ // IME status.
+ virtual bool IsPluginFocused() const;
+ virtual gfx::Rect GetCaretBounds() const;
+ virtual ui::TextInputType GetTextInputType() const;
+ virtual bool IsPluginAcceptingCompositionEvents() const;
+ virtual bool CanComposeInline() const;
+ virtual void GetSurroundingText(string16* text, ui::Range* range) const {}
+
+ // IME events.
+ virtual void OnImeSetComposition(
+ const string16& text,
+ const std::vector<WebKit::WebCompositionUnderline>& underlines,
+ int selection_start,
+ int selection_end) {}
+ virtual void OnImeConfirmComposition(const string16& text) {}
+
+ // Notification that a mouse event has arrived at the render view.
+ virtual void WillHandleMouseEvent() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(RenderViewPepperHelper);
+};
+
+} // namespace content
+
+#endif // CONTENT_RENDERER_RENDER_VIEW_PEPPER_HELPER_H
« no previous file with comments | « content/renderer/render_view_impl.cc ('k') | content/renderer/render_view_pepper_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698