Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Side by Side Diff: chrome/default_plugin/plugin_impl_win.cc

Issue 7036025: Get rid of chrome dependencies from PluginProcessHost by moving dispatching of chrome specific me... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | content/browser/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/default_plugin/plugin_impl_win.h" 5 #include "chrome/default_plugin/plugin_impl_win.h"
6 6
7 #include <shellapi.h> 7 #include <shellapi.h>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/string_util.h" 11 #include "base/string_util.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "chrome/default_plugin/plugin_main.h" 13 #include "chrome/default_plugin/plugin_main.h"
14 #include "content/common/child_thread.h" 14 #include "content/common/child_thread.h"
15 #include "content/common/plugin_messages.h" 15 #include "content/common/plugin_messages.h"
16 #include "googleurl/src/gurl.h" 16 #include "googleurl/src/gurl.h"
17 #include "grit/webkit_strings.h" 17 #include "grit/webkit_strings.h"
18 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
19 #include "unicode/locid.h" 19 #include "unicode/locid.h"
20 #include "webkit/glue/webkit_glue.h" 20 #include "webkit/glue/webkit_glue.h"
21 #include "webkit/plugins/npapi/default_plugin_shared.h" 21 #include "webkit/plugins/npapi/default_plugin_shared.h"
22 22
23 static const int TOOLTIP_MAX_WIDTH = 500; 23 static const int TOOLTIP_MAX_WIDTH = 500;
24 24
25 namespace {
26
27 bool GetPluginFinderURL(std::string* plugin_finder_url) {
28 if (!plugin_finder_url) {
29 NOTREACHED();
30 return false;
31 }
32
33 ChildThread::current()->Send(
34 new PluginProcessHostMsg_GetPluginFinderUrl(plugin_finder_url));
35 // If we get an empty string back this means the plugin finder has been
36 // disabled.
37 return true;
38 }
39
40 bool DownloadUrl(const std::string& url, HWND caller_window) {
41 return ChildThread::current()->Send(
42 new PluginProcessHostMsg_DownloadUrl(MSG_ROUTING_NONE, url,
43 ::GetCurrentProcessId(),
44 caller_window));
45 }
46
47 }
48
49 PluginInstallerImpl::PluginInstallerImpl(int16 mode) 25 PluginInstallerImpl::PluginInstallerImpl(int16 mode)
50 : instance_(NULL), 26 : instance_(NULL),
51 mode_(mode), 27 mode_(mode),
52 disable_plugin_finder_(false), 28 disable_plugin_finder_(false),
53 plugin_install_stream_(NULL), 29 plugin_install_stream_(NULL),
54 plugin_installer_state_(PluginInstallerStateUndefined), 30 plugin_installer_state_(PluginInstallerStateUndefined),
55 install_dialog_(NULL), 31 install_dialog_(NULL),
56 enable_click_(false), 32 enable_click_(false),
57 icon_(NULL), 33 icon_(NULL),
58 bold_font_(NULL), 34 bold_font_(NULL),
(...skipping 28 matching lines...) Expand all
87 DCHECK(module_handle != NULL); 63 DCHECK(module_handle != NULL);
88 64
89 if (mime_type == NULL || strlen(mime_type) == 0) { 65 if (mime_type == NULL || strlen(mime_type) == 0) {
90 NOTREACHED() << __FUNCTION__ << " Invalid parameters passed in"; 66 NOTREACHED() << __FUNCTION__ << " Invalid parameters passed in";
91 return false; 67 return false;
92 } 68 }
93 69
94 instance_ = instance; 70 instance_ = instance;
95 mime_type_ = mime_type; 71 mime_type_ = mime_type;
96 72
97 if (!GetPluginFinderURL(&plugin_finder_url_)) { 73 ChildThread::current()->Send(
98 NOTREACHED() << __FUNCTION__ << " Failed to get the plugin finder URL"; 74 new PluginProcessHostMsg_GetPluginFinderUrl(&plugin_finder_url_));
99 return false;
100 }
101
102 if (plugin_finder_url_.empty()) 75 if (plugin_finder_url_.empty())
103 disable_plugin_finder_ = true; 76 disable_plugin_finder_ = true;
104 77
105 InitializeResources(module_handle); 78 InitializeResources(module_handle);
106 79
107 if (!disable_plugin_finder_) { 80 if (!disable_plugin_finder_) {
108 if (!installation_job_monitor_thread_->Initialize()) { 81 if (!installation_job_monitor_thread_->Initialize()) {
109 NOTREACHED() << "Failed to initialize plugin install job"; 82 NOTREACHED() << "Failed to initialize plugin install job";
110 return false; 83 return false;
111 } 84 }
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 334
362 void PluginInstallerImpl::DownloadPlugin() { 335 void PluginInstallerImpl::DownloadPlugin() {
363 set_plugin_installer_state(PluginDownloadInitiated); 336 set_plugin_installer_state(PluginDownloadInitiated);
364 337
365 DVLOG(1) << "Initiating download for plugin URL " 338 DVLOG(1) << "Initiating download for plugin URL "
366 << plugin_download_url_.c_str(); 339 << plugin_download_url_.c_str();
367 340
368 DisplayStatus(IDS_DEFAULT_PLUGIN_DOWNLOADING_PLUGIN_MSG); 341 DisplayStatus(IDS_DEFAULT_PLUGIN_DOWNLOADING_PLUGIN_MSG);
369 342
370 if (!plugin_download_url_for_display_) { 343 if (!plugin_download_url_for_display_) {
371 DownloadUrl(plugin_download_url_, hwnd()); 344 ChildThread::current()->Send(new PluginProcessHostMsg_DownloadUrl(
345 plugin_download_url_, ::GetCurrentProcessId(), hwnd()));
372 } else { 346 } else {
373 default_plugin::g_browser->geturl(instance(), 347 default_plugin::g_browser->geturl(instance(),
374 plugin_download_url_.c_str(), 348 plugin_download_url_.c_str(),
375 "_blank"); 349 "_blank");
376 set_plugin_installer_state(PluginInstallerLaunchSuccess); 350 set_plugin_installer_state(PluginInstallerLaunchSuccess);
377 DisplayStatus(IDS_DEFAULT_PLUGIN_REFRESH_PLUGIN_MSG); 351 DisplayStatus(IDS_DEFAULT_PLUGIN_REFRESH_PLUGIN_MSG);
378 enable_click_ = true; 352 enable_click_ = true;
379 RefreshDisplay(); 353 RefreshDisplay();
380 } 354 }
381 } 355 }
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 return true; 648 return true;
675 } 649 }
676 650
677 void PluginInstallerImpl::NotifyPluginStatus(int status) { 651 void PluginInstallerImpl::NotifyPluginStatus(int status) {
678 default_plugin::g_browser->getvalue( 652 default_plugin::g_browser->getvalue(
679 instance_, 653 instance_,
680 static_cast<NPNVariable>( 654 static_cast<NPNVariable>(
681 webkit::npapi::default_plugin::kMissingPluginStatusStart + status), 655 webkit::npapi::default_plugin::kMissingPluginStatusStart + status),
682 NULL); 656 NULL);
683 } 657 }
OLDNEW
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | content/browser/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698