OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * Copyright (C) 2014 Opera Software ASA. All rights reserved. | 3 * Copyright (C) 2014 Opera Software ASA. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 class GestureEvent; | 49 class GestureEvent; |
50 class HTMLPlugInElement; | 50 class HTMLPlugInElement; |
51 class IntRect; | 51 class IntRect; |
52 class KeyboardEvent; | 52 class KeyboardEvent; |
53 class MouseEvent; | 53 class MouseEvent; |
54 class ResourceError; | 54 class ResourceError; |
55 class ResourceResponse; | 55 class ResourceResponse; |
56 class TouchEvent; | 56 class TouchEvent; |
57 class WebPlugin; | 57 class WebPlugin; |
58 class WebPluginLoadObserver; | |
59 class WheelEvent; | 58 class WheelEvent; |
60 class Widget; | 59 class Widget; |
61 struct WebPrintParams; | 60 struct WebPrintParams; |
62 struct WebPrintPresetOptions; | 61 struct WebPrintPresetOptions; |
63 | 62 |
64 class WebPluginContainerImpl final : public PluginView, public WebPluginContaine
r, public LocalFrameLifecycleObserver { | 63 class WebPluginContainerImpl final : public PluginView, public WebPluginContaine
r, public LocalFrameLifecycleObserver { |
65 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(WebPluginContainerImpl); | 64 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(WebPluginContainerImpl); |
66 public: | 65 public: |
67 static PassRefPtrWillBeRawPtr<WebPluginContainerImpl> create(HTMLPlugInEleme
nt* element, WebPlugin* webPlugin) | 66 static PassRefPtrWillBeRawPtr<WebPluginContainerImpl> create(HTMLPlugInEleme
nt* element, WebPlugin* webPlugin) |
68 { | 67 { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 void invalidate() override; | 99 void invalidate() override; |
101 void invalidateRect(const WebRect&) override; | 100 void invalidateRect(const WebRect&) override; |
102 void scrollRect(const WebRect&) override; | 101 void scrollRect(const WebRect&) override; |
103 void setNeedsLayout() override; | 102 void setNeedsLayout() override; |
104 void reportGeometry() override; | 103 void reportGeometry() override; |
105 void allowScriptObjects() override; | 104 void allowScriptObjects() override; |
106 void clearScriptObjects() override; | 105 void clearScriptObjects() override; |
107 NPObject* scriptableObjectForElement() override; | 106 NPObject* scriptableObjectForElement() override; |
108 v8::Local<v8::Object> v8ObjectForElement() override; | 107 v8::Local<v8::Object> v8ObjectForElement() override; |
109 WebString executeScriptURL(const WebURL&, bool popupsAllowed) override; | 108 WebString executeScriptURL(const WebURL&, bool popupsAllowed) override; |
110 void loadFrameRequest(const WebURLRequest&, const WebString& target, bool no
tifyNeeded, void* notifyData) override; | 109 void loadFrameRequest(const WebURLRequest&, const WebString& target) overrid
e; |
111 bool isRectTopmost(const WebRect&) override; | 110 bool isRectTopmost(const WebRect&) override; |
112 void requestTouchEventType(TouchEventRequestType) override; | 111 void requestTouchEventType(TouchEventRequestType) override; |
113 void setWantsWheelEvents(bool) override; | 112 void setWantsWheelEvents(bool) override; |
114 WebPoint rootFrameToLocalPoint(const WebPoint&) override; | 113 WebPoint rootFrameToLocalPoint(const WebPoint&) override; |
115 WebPoint localToRootFramePoint(const WebPoint&) override; | 114 WebPoint localToRootFramePoint(const WebPoint&) override; |
116 | 115 |
117 // Non-Oilpan, this cannot be null. With Oilpan, it will be | 116 // Non-Oilpan, this cannot be null. With Oilpan, it will be |
118 // null when in a disposed state, pending finalization during the next GC. | 117 // null when in a disposed state, pending finalization during the next GC. |
119 WebPlugin* plugin() override { return m_webPlugin; } | 118 WebPlugin* plugin() override { return m_webPlugin; } |
120 void setPlugin(WebPlugin*) override; | 119 void setPlugin(WebPlugin*) override; |
(...skipping 27 matching lines...) Expand all Loading... |
148 // Pass the edit command to the plugin. | 147 // Pass the edit command to the plugin. |
149 bool executeEditCommand(const WebString& name); | 148 bool executeEditCommand(const WebString& name); |
150 bool executeEditCommand(const WebString& name, const WebString& value); | 149 bool executeEditCommand(const WebString& name, const WebString& value); |
151 | 150 |
152 // Resource load events for the plugin's source data: | 151 // Resource load events for the plugin's source data: |
153 void didReceiveResponse(const ResourceResponse&) override; | 152 void didReceiveResponse(const ResourceResponse&) override; |
154 void didReceiveData(const char *data, int dataLength) override; | 153 void didReceiveData(const char *data, int dataLength) override; |
155 void didFinishLoading() override; | 154 void didFinishLoading() override; |
156 void didFailLoading(const ResourceError&) override; | 155 void didFailLoading(const ResourceError&) override; |
157 | 156 |
158 #if !ENABLE(OILPAN) | |
159 void willDestroyPluginLoadObserver(WebPluginLoadObserver*); | |
160 #endif | |
161 | |
162 DECLARE_VIRTUAL_TRACE(); | 157 DECLARE_VIRTUAL_TRACE(); |
163 void dispose() override; | 158 void dispose() override; |
164 | 159 |
165 #if ENABLE(OILPAN) | 160 #if ENABLE(OILPAN) |
166 LocalFrame* pluginFrame() const override { return frame(); } | 161 LocalFrame* pluginFrame() const override { return frame(); } |
167 void shouldDisposePlugin() override; | 162 void shouldDisposePlugin() override; |
168 #endif | 163 #endif |
169 | 164 |
170 private: | 165 private: |
171 // Sets |windowRect| to the content rect of the plugin in screen space. | 166 // Sets |windowRect| to the content rect of the plugin in screen space. |
(...skipping 22 matching lines...) Expand all Loading... |
194 IntRect& windowRect, | 189 IntRect& windowRect, |
195 IntRect& clipRect, | 190 IntRect& clipRect, |
196 IntRect& unobscuredRect, | 191 IntRect& unobscuredRect, |
197 Vector<IntRect>& cutOutRects); | 192 Vector<IntRect>& cutOutRects); |
198 void windowCutOutRects( | 193 void windowCutOutRects( |
199 const IntRect& frameRect, | 194 const IntRect& frameRect, |
200 Vector<IntRect>& cutOutRects); | 195 Vector<IntRect>& cutOutRects); |
201 | 196 |
202 RawPtrWillBeMember<HTMLPlugInElement> m_element; | 197 RawPtrWillBeMember<HTMLPlugInElement> m_element; |
203 WebPlugin* m_webPlugin; | 198 WebPlugin* m_webPlugin; |
204 #if !ENABLE(OILPAN) | |
205 Vector<WebPluginLoadObserver*> m_pluginLoadObservers; | |
206 #endif | |
207 | 199 |
208 WebLayer* m_webLayer; | 200 WebLayer* m_webLayer; |
209 | 201 |
210 IntRect m_pendingInvalidationRect; | 202 IntRect m_pendingInvalidationRect; |
211 | 203 |
212 TouchEventRequestType m_touchEventRequestType; | 204 TouchEventRequestType m_touchEventRequestType; |
213 bool m_wantsWheelEvents; | 205 bool m_wantsWheelEvents; |
214 | 206 |
215 bool m_inDispose; | 207 bool m_inDispose; |
216 #if ENABLE(OILPAN) | 208 #if ENABLE(OILPAN) |
217 // Oilpan: if true, the plugin container must dispose | 209 // Oilpan: if true, the plugin container must dispose |
218 // of its plugin when being finalized. | 210 // of its plugin when being finalized. |
219 bool m_shouldDisposePlugin; | 211 bool m_shouldDisposePlugin; |
220 #endif | 212 #endif |
221 }; | 213 }; |
222 | 214 |
223 DEFINE_TYPE_CASTS(WebPluginContainerImpl, Widget, widget, widget->isPluginContai
ner(), widget.isPluginContainer()); | 215 DEFINE_TYPE_CASTS(WebPluginContainerImpl, Widget, widget, widget->isPluginContai
ner(), widget.isPluginContainer()); |
224 // Unlike Widget, we need not worry about object type for container. | 216 // Unlike Widget, we need not worry about object type for container. |
225 // WebPluginContainerImpl is the only subclass of WebPluginContainer. | 217 // WebPluginContainerImpl is the only subclass of WebPluginContainer. |
226 DEFINE_TYPE_CASTS(WebPluginContainerImpl, WebPluginContainer, container, true, t
rue); | 218 DEFINE_TYPE_CASTS(WebPluginContainerImpl, WebPluginContainer, container, true, t
rue); |
227 | 219 |
228 } // namespace blink | 220 } // namespace blink |
229 | 221 |
230 #endif | 222 #endif |
OLD | NEW |