OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ | 5 #ifndef CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ |
6 #define CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ | 6 #define CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 28 matching lines...) Expand all Loading... |
39 // tells the WebPlugin to send mouse/keyboard events to the plugin delegate, | 39 // tells the WebPlugin to send mouse/keyboard events to the plugin delegate, |
40 // as well as the information about the HDC for paint operations. | 40 // as well as the information about the HDC for paint operations. |
41 virtual void SetWindow(gfx::PluginWindowHandle window) = 0; | 41 virtual void SetWindow(gfx::PluginWindowHandle window) = 0; |
42 | 42 |
43 // Whether input events should be sent to the delegate. | 43 // Whether input events should be sent to the delegate. |
44 virtual void SetAcceptsInputEvents(bool accepts) = 0; | 44 virtual void SetAcceptsInputEvents(bool accepts) = 0; |
45 | 45 |
46 // Called by the plugin delegate to let it know that the window is being | 46 // Called by the plugin delegate to let it know that the window is being |
47 // destroyed. | 47 // destroyed. |
48 virtual void WillDestroyWindow(gfx::PluginWindowHandle window) = 0; | 48 virtual void WillDestroyWindow(gfx::PluginWindowHandle window) = 0; |
49 #if defined(OS_WIN) | 49 |
50 // |pump_messages_event| is a event handle which is used in NPP_HandleEvent | |
51 // calls to pump messages if the plugin enters a modal loop. | |
52 // |dummy_activation_window} is used to ensure correct keyboard activation. | |
53 // It needs to be a child of the parent window. | |
54 virtual void SetWindowlessData(HANDLE pump_messages_event, | |
55 gfx::NativeViewId dummy_activation_window) = 0; | |
56 #endif | |
57 // Cancels a pending request. | 50 // Cancels a pending request. |
58 virtual void CancelResource(unsigned long id) = 0; | 51 virtual void CancelResource(unsigned long id) = 0; |
59 virtual void Invalidate() = 0; | 52 virtual void Invalidate() = 0; |
60 virtual void InvalidateRect(const gfx::Rect& rect) = 0; | 53 virtual void InvalidateRect(const gfx::Rect& rect) = 0; |
61 | 54 |
62 // Returns the NPObject for the browser's window object. Does not | 55 // Returns the NPObject for the browser's window object. Does not |
63 // take a reference. | 56 // take a reference. |
64 virtual NPObject* GetWindowScriptNPObject() = 0; | 57 virtual NPObject* GetWindowScriptNPObject() = 0; |
65 | 58 |
66 // Returns the DOM element that loaded the plugin. Does not take a | 59 // Returns the DOM element that loaded the plugin. Does not take a |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 | 95 |
103 // Called when the WebPluginResourceClient instance is deleted. | 96 // Called when the WebPluginResourceClient instance is deleted. |
104 virtual void ResourceClientDeleted( | 97 virtual void ResourceClientDeleted( |
105 WebPluginResourceClient* resource_client) {} | 98 WebPluginResourceClient* resource_client) {} |
106 | 99 |
107 // Defers the loading of the resource identified by resource_id. This is | 100 // Defers the loading of the resource identified by resource_id. This is |
108 // controlled by the defer parameter. | 101 // controlled by the defer parameter. |
109 virtual void SetDeferResourceLoading(unsigned long resource_id, | 102 virtual void SetDeferResourceLoading(unsigned long resource_id, |
110 bool defer) = 0; | 103 bool defer) = 0; |
111 | 104 |
| 105 // Handles NPN_URLRedirectResponse calls issued by plugins in response to |
| 106 // HTTP URL redirect notifications. |
| 107 virtual void URLRedirectResponse(bool allow, int resource_id) = 0; |
| 108 |
| 109 // Returns true if the new url is a secure transition. This is to catch a |
| 110 // plugin src url transitioning from https to http. |
| 111 virtual bool CheckIfRunInsecureContent(const GURL& url) = 0; |
| 112 |
| 113 #if defined(OS_WIN) |
| 114 // |pump_messages_event| is a event handle which is used in NPP_HandleEvent |
| 115 // calls to pump messages if the plugin enters a modal loop. |
| 116 // |dummy_activation_window} is used to ensure correct keyboard activation. |
| 117 // It needs to be a child of the parent window. |
| 118 virtual void SetWindowlessData(HANDLE pump_messages_event, |
| 119 gfx::NativeViewId dummy_activation_window) = 0; |
| 120 #endif |
| 121 |
112 #if defined(OS_MACOSX) | 122 #if defined(OS_MACOSX) |
113 // Called to inform the WebPlugin that the plugin has gained or lost focus. | 123 // Called to inform the WebPlugin that the plugin has gained or lost focus. |
114 virtual void FocusChanged(bool focused) {} | 124 virtual void FocusChanged(bool focused) {} |
115 | 125 |
116 // Starts plugin IME. | 126 // Starts plugin IME. |
117 virtual void StartIme() {} | 127 virtual void StartIme() {} |
118 | 128 |
119 // Returns the accelerated surface abstraction for accelerated plugins. | 129 // Returns the accelerated surface abstraction for accelerated plugins. |
120 virtual WebPluginAcceleratedSurface* GetAcceleratedSurface( | 130 virtual WebPluginAcceleratedSurface* GetAcceleratedSurface( |
121 gfx::GpuPreference gpu_preference) = 0; | 131 gfx::GpuPreference gpu_preference) = 0; |
122 | 132 |
123 // Core Animation plugin support. CA plugins always render through | 133 // Core Animation plugin support. CA plugins always render through |
124 // the compositor. | 134 // the compositor. |
125 virtual void AcceleratedPluginEnabledRendering() = 0; | 135 virtual void AcceleratedPluginEnabledRendering() = 0; |
126 virtual void AcceleratedPluginAllocatedIOSurface(int32 width, | 136 virtual void AcceleratedPluginAllocatedIOSurface(int32 width, |
127 int32 height, | 137 int32 height, |
128 uint32 surface_id) = 0; | 138 uint32 surface_id) = 0; |
129 virtual void AcceleratedPluginSwappedIOSurface() = 0; | 139 virtual void AcceleratedPluginSwappedIOSurface() = 0; |
130 #endif | 140 #endif |
131 | |
132 // Handles NPN_URLRedirectResponse calls issued by plugins in response to | |
133 // HTTP URL redirect notifications. | |
134 virtual void URLRedirectResponse(bool allow, int resource_id) = 0; | |
135 }; | 141 }; |
136 | 142 |
137 } // namespace content | 143 } // namespace content |
138 | 144 |
139 #endif // CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ | 145 #endif // CONTENT_CHILD_NPAPI_WEBPLUGIN_H_ |
OLD | NEW |