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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 | 70 |
71 public: | 71 public: |
72 static WebPluginContainerImpl* Create(HTMLPlugInElement* element, | 72 static WebPluginContainerImpl* Create(HTMLPlugInElement* element, |
73 WebPlugin* web_plugin) { | 73 WebPlugin* web_plugin) { |
74 return new WebPluginContainerImpl(element, web_plugin); | 74 return new WebPluginContainerImpl(element, web_plugin); |
75 } | 75 } |
76 ~WebPluginContainerImpl() override; | 76 ~WebPluginContainerImpl() override; |
77 | 77 |
78 // PluginView methods | 78 // PluginView methods |
79 void SetParent(FrameView*) override; | 79 void SetParent(FrameView*) override; |
80 FrameView* Parent() const override { return parent_; }; | 80 FrameView* Parent() const override; |
| 81 FrameView* ParentFrameView() const; |
| 82 void SetFrameOrPluginState(FrameOrPluginState) override; |
| 83 FrameOrPluginState GetFrameOrPluginState() const { return plugin_state_; } |
81 void SetParentVisible(bool) override; | 84 void SetParentVisible(bool) override; |
82 WebLayer* PlatformLayer() const override; | 85 WebLayer* PlatformLayer() const override; |
83 v8::Local<v8::Object> ScriptableObject(v8::Isolate*) override; | 86 v8::Local<v8::Object> ScriptableObject(v8::Isolate*) override; |
84 bool SupportsKeyboardFocus() const override; | 87 bool SupportsKeyboardFocus() const override; |
85 bool SupportsInputMethod() const override; | 88 bool SupportsInputMethod() const override; |
86 bool CanProcessDrag() const override; | 89 bool CanProcessDrag() const override; |
87 bool WantsWheelEvents() override; | 90 bool WantsWheelEvents() override; |
88 void UpdateAllLifecyclePhases() override; | 91 void UpdateAllLifecyclePhases() override; |
89 void InvalidatePaint() override { IssuePaintInvalidations(); } | 92 void InvalidatePaint() override { IssuePaintInvalidations(); } |
90 void InvalidateRect(const IntRect&); | 93 void InvalidateRect(const IntRect&); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
210 | 213 |
211 void IssuePaintInvalidations(); | 214 void IssuePaintInvalidations(); |
212 | 215 |
213 void CalculateGeometry(IntRect& window_rect, | 216 void CalculateGeometry(IntRect& window_rect, |
214 IntRect& clip_rect, | 217 IntRect& clip_rect, |
215 IntRect& unobscured_rect); | 218 IntRect& unobscured_rect); |
216 | 219 |
217 friend class WebPluginContainerTest; | 220 friend class WebPluginContainerTest; |
218 | 221 |
219 Member<FrameView> parent_; | 222 Member<FrameView> parent_; |
| 223 FrameOrPluginState plugin_state_; |
220 Member<HTMLPlugInElement> element_; | 224 Member<HTMLPlugInElement> element_; |
221 WebPlugin* web_plugin_; | 225 WebPlugin* web_plugin_; |
222 WebLayer* web_layer_; | 226 WebLayer* web_layer_; |
223 IntRect frame_rect_; | 227 IntRect frame_rect_; |
224 IntRect pending_invalidation_rect_; | 228 IntRect pending_invalidation_rect_; |
225 TouchEventRequestType touch_event_request_type_; | 229 TouchEventRequestType touch_event_request_type_; |
226 bool wants_wheel_events_; | 230 bool wants_wheel_events_; |
227 bool self_visible_; | 231 bool self_visible_; |
228 bool parent_visible_; | 232 bool parent_visible_; |
229 bool is_disposed_; | 233 bool is_disposed_; |
230 }; | 234 }; |
231 | 235 |
232 DEFINE_TYPE_CASTS(WebPluginContainerImpl, | 236 DEFINE_TYPE_CASTS(WebPluginContainerImpl, |
233 PluginView, | 237 PluginView, |
234 plugin, | 238 plugin, |
235 plugin->IsPluginContainer(), | 239 plugin->IsPluginContainer(), |
236 plugin.IsPluginContainer()); | 240 plugin.IsPluginContainer()); |
237 // Unlike FrameViewBase, we need not worry about object type for container. | 241 // Unlike FrameViewBase, we need not worry about object type for container. |
238 // WebPluginContainerImpl is the only subclass of WebPluginContainer. | 242 // WebPluginContainerImpl is the only subclass of WebPluginContainer. |
239 DEFINE_TYPE_CASTS(WebPluginContainerImpl, | 243 DEFINE_TYPE_CASTS(WebPluginContainerImpl, |
240 WebPluginContainer, | 244 WebPluginContainer, |
241 container, | 245 container, |
242 true, | 246 true, |
243 true); | 247 true); |
244 | 248 |
245 } // namespace blink | 249 } // namespace blink |
246 | 250 |
247 #endif | 251 #endif |
OLD | NEW |