| 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
|
|
|