summaryrefslogtreecommitdiffstats
path: root/content/renderer/npapi/webplugin_delegate_proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'content/renderer/npapi/webplugin_delegate_proxy.h')
-rw-r--r--content/renderer/npapi/webplugin_delegate_proxy.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/content/renderer/npapi/webplugin_delegate_proxy.h b/content/renderer/npapi/webplugin_delegate_proxy.h
index d980de8..9e3643e 100644
--- a/content/renderer/npapi/webplugin_delegate_proxy.h
+++ b/content/renderer/npapi/webplugin_delegate_proxy.h
@@ -80,6 +80,19 @@ class WebPluginDelegateProxy
// Informs the plugin that its containing content view has gained or lost
// first responder status.
virtual void SetContentAreaFocus(bool has_focus);
+#if defined(OS_WIN)
+ // Informs the plugin that plugin IME has updated its status.
+ virtual void ImeCompositionUpdated(
+ const base::string16& text,
+ const std::vector<int>& clauses,
+ const std::vector<int>& target,
+ int cursor_position,
+ int plugin_id);
+ // Informs the plugin that plugin IME has completed.
+ // If |text| is empty, composition was cancelled.
+ virtual void ImeCompositionCompleted(const base::string16& text,
+ int plugin_id);
+#endif
#if defined(OS_MACOSX)
// Informs the plugin that its enclosing window has gained or lost focus.
virtual void SetWindowFocus(bool window_has_focus);
@@ -143,6 +156,11 @@ class WebPluginDelegateProxy
uint32_t surface_id);
void OnAcceleratedPluginSwappedIOSurface();
#endif
+#if defined(OS_WIN)
+ void OnSetWindowlessData(HANDLE modal_loop_pump_messages_event_handle,
+ gfx::NativeViewId dummy_activation_window);
+ void OnNotifyIMEStatus(const int input_mode, const gfx::Rect& caret_rect);
+#endif
// Helper function that sends the UpdateGeometry message.
void SendUpdateGeometry(bool bitmaps_changed);
@@ -208,6 +226,9 @@ class WebPluginDelegateProxy
bool uses_shared_bitmaps_;
#if defined(OS_MACOSX)
bool uses_compositor_;
+#elif defined(OS_WIN)
+ // Used for windowless plugins so that keyboard activation works.
+ gfx::NativeViewId dummy_activation_window_;
#endif
scoped_refptr<PluginChannelHost> channel_host_;
std::string mime_type_;
@@ -222,6 +243,10 @@ class WebPluginDelegateProxy
// Dummy NPP used to uniquely identify this plugin.
scoped_ptr<NPP_t> npp_;
+ // Event passed in by the plugin process and is used to decide if messages
+ // need to be pumped in the NPP_HandleEvent sync call.
+ scoped_ptr<base::WaitableEvent> modal_loop_pump_messages_event_;
+
// Bitmap for crashed plugin
SkBitmap* sad_plugin_;