| 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 "base/file_util.h" | 7 #include "base/file_util.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/gfx/point.h" | 9 #include "base/gfx/point.h" |
| 10 #include "base/stats_counters.h" | 10 #include "base/stats_counters.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 memset(&window_, 0, sizeof(window_)); | 137 memset(&window_, 0, sizeof(window_)); |
| 138 | 138 |
| 139 const WebPluginInfo& plugin_info = instance_->plugin_lib()->plugin_info(); | 139 const WebPluginInfo& plugin_info = instance_->plugin_lib()->plugin_info(); |
| 140 std::wstring filename = file_util::GetFilenameFromPath(plugin_info.file); | 140 std::wstring filename = file_util::GetFilenameFromPath(plugin_info.file); |
| 141 | 141 |
| 142 if (instance_->mime_type() == "application/x-shockwave-flash" || | 142 if (instance_->mime_type() == "application/x-shockwave-flash" || |
| 143 filename == L"npswf32.dll") { | 143 filename == L"npswf32.dll") { |
| 144 // Flash only requests windowless plugins if we return a Mozilla user | 144 // Flash only requests windowless plugins if we return a Mozilla user |
| 145 // agent. | 145 // agent. |
| 146 instance_->set_use_mozilla_user_agent(); | 146 instance_->set_use_mozilla_user_agent(); |
| 147 instance_->set_throttle_invalidate(true); | |
| 148 quirks_ |= PLUGIN_QUIRK_THROTTLE_WM_USER_PLUS_ONE; | 147 quirks_ |= PLUGIN_QUIRK_THROTTLE_WM_USER_PLUS_ONE; |
| 149 } else if (plugin_info.name.find(L"Windows Media Player") != | 148 } else if (plugin_info.name.find(L"Windows Media Player") != |
| 150 std::wstring::npos) { | 149 std::wstring::npos) { |
| 151 // Windows Media Player needs two NPP_SetWindow calls. | 150 // Windows Media Player needs two NPP_SetWindow calls. |
| 152 quirks_ |= PLUGIN_QUIRK_SETWINDOW_TWICE; | 151 quirks_ |= PLUGIN_QUIRK_SETWINDOW_TWICE; |
| 153 } else if (instance_->mime_type() == "audio/x-pn-realaudio-plugin" || | 152 } else if (instance_->mime_type() == "audio/x-pn-realaudio-plugin" || |
| 154 filename == L"nppl3260.dll") { | 153 filename == L"nppl3260.dll") { |
| 155 quirks_ |= PLUGIN_QUIRK_DONT_CALL_WND_PROC_RECURSIVELY; | 154 quirks_ |= PLUGIN_QUIRK_DONT_CALL_WND_PROC_RECURSIVELY; |
| 156 } else if (plugin_info.name.find(L"VLC Multimedia Plugin") != | 155 } else if (plugin_info.name.find(L"VLC Multimedia Plugin") != |
| 157 std::wstring::npos) { | 156 std::wstring::npos) { |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 | 300 |
| 302 void WebPluginDelegateImpl::DidFinishLoadWithReason(NPReason reason) { | 301 void WebPluginDelegateImpl::DidFinishLoadWithReason(NPReason reason) { |
| 303 instance()->DidFinishLoadWithReason(reason); | 302 instance()->DidFinishLoadWithReason(reason); |
| 304 } | 303 } |
| 305 | 304 |
| 306 int WebPluginDelegateImpl::GetProcessId() { | 305 int WebPluginDelegateImpl::GetProcessId() { |
| 307 // We are in process, so the plugin pid is this current process pid. | 306 // We are in process, so the plugin pid is this current process pid. |
| 308 return ::GetCurrentProcessId(); | 307 return ::GetCurrentProcessId(); |
| 309 } | 308 } |
| 310 | 309 |
| 311 HWND WebPluginDelegateImpl::GetWindowHandle() { | |
| 312 return instance()->window_handle(); | |
| 313 } | |
| 314 | |
| 315 void WebPluginDelegateImpl::SendJavaScriptStream(const std::string& url, | 310 void WebPluginDelegateImpl::SendJavaScriptStream(const std::string& url, |
| 316 const std::wstring& result, | 311 const std::wstring& result, |
| 317 bool success, | 312 bool success, |
| 318 bool notify_needed, | 313 bool notify_needed, |
| 319 int notify_data) { | 314 int notify_data) { |
| 320 instance()->SendJavaScriptStream(url, result, success, notify_needed, | 315 instance()->SendJavaScriptStream(url, result, success, notify_needed, |
| 321 notify_data); | 316 notify_data); |
| 322 } | 317 } |
| 323 | 318 |
| 324 void WebPluginDelegateImpl::DidReceiveManualResponse( | 319 void WebPluginDelegateImpl::DidReceiveManualResponse( |
| (...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1061 } | 1056 } |
| 1062 | 1057 |
| 1063 return false; | 1058 return false; |
| 1064 } | 1059 } |
| 1065 | 1060 |
| 1066 void WebPluginDelegateImpl::OnUserGestureEnd() { | 1061 void WebPluginDelegateImpl::OnUserGestureEnd() { |
| 1067 user_gesture_message_posted_ = false; | 1062 user_gesture_message_posted_ = false; |
| 1068 instance()->PopPopupsEnabledState(); | 1063 instance()->PopPopupsEnabledState(); |
| 1069 } | 1064 } |
| 1070 | 1065 |
| OLD | NEW |