OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include "webkit/glue/plugins/webplugin_delegate_impl.h" | 5 #include "webkit/glue/plugins/webplugin_delegate_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 } | 238 } |
239 | 239 |
240 void WebPluginDelegateImpl::PluginDestroyed() { | 240 void WebPluginDelegateImpl::PluginDestroyed() { |
241 if (handle_event_depth_) { | 241 if (handle_event_depth_) { |
242 MessageLoop::current()->DeleteSoon(FROM_HERE, this); | 242 MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
243 } else { | 243 } else { |
244 delete this; | 244 delete this; |
245 } | 245 } |
246 } | 246 } |
247 | 247 |
248 void WebPluginDelegateImpl::PlatformInitialize(WebPlugin* plugin) { | 248 void WebPluginDelegateImpl::PlatformInitialize() { |
249 plugin->SetWindow(windowed_handle_); | 249 plugin_->SetWindow(windowed_handle_); |
250 if (windowless_) { | 250 if (windowless_) { |
251 CreateDummyWindowForActivation(); | 251 CreateDummyWindowForActivation(); |
252 handle_event_pump_messages_event_ = CreateEvent(NULL, TRUE, FALSE, NULL); | 252 handle_event_pump_messages_event_ = CreateEvent(NULL, TRUE, FALSE, NULL); |
253 plugin->SetWindowlessPumpEvent(handle_event_pump_messages_event_); | 253 plugin_->SetWindowlessPumpEvent(handle_event_pump_messages_event_); |
254 } | 254 } |
255 | 255 |
256 // The windowless version of the Silverlight plugin calls the | 256 // The windowless version of the Silverlight plugin calls the |
257 // WindowFromPoint API and passes the result of that to the | 257 // WindowFromPoint API and passes the result of that to the |
258 // TrackPopupMenu API call as the owner window. This causes the API | 258 // TrackPopupMenu API call as the owner window. This causes the API |
259 // to fail as the API expects the window handle to live on the same | 259 // to fail as the API expects the window handle to live on the same |
260 // thread as the caller. It works in the other browsers as the plugin | 260 // thread as the caller. It works in the other browsers as the plugin |
261 // lives on the browser thread. Our workaround is to intercept the | 261 // lives on the browser thread. Our workaround is to intercept the |
262 // TrackPopupMenu API for Silverlight and replace the window handle | 262 // TrackPopupMenu API for Silverlight and replace the window handle |
263 // with the dummy activation window. | 263 // with the dummy activation window. |
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1146 | 1146 |
1147 // It is ok to pass NULL here to GetCursor as we are not looking for cursor | 1147 // It is ok to pass NULL here to GetCursor as we are not looking for cursor |
1148 // types defined by Webkit. | 1148 // types defined by Webkit. |
1149 HCURSOR previous_cursor = | 1149 HCURSOR previous_cursor = |
1150 g_current_plugin_instance->current_windowless_cursor_.GetCursor(NULL); | 1150 g_current_plugin_instance->current_windowless_cursor_.GetCursor(NULL); |
1151 | 1151 |
1152 g_current_plugin_instance->current_windowless_cursor_.InitFromExternalCursor( | 1152 g_current_plugin_instance->current_windowless_cursor_.InitFromExternalCursor( |
1153 cursor); | 1153 cursor); |
1154 return previous_cursor; | 1154 return previous_cursor; |
1155 } | 1155 } |
OLD | NEW |