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

Side by Side Diff: chrome/browser/extensions/api/downloads/downloads_api.cc

Issue 503033002: Move ExtensionWarningService and ExtensionsWarningSet to extensions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@3_web_view_internal
Patch Set: rebase Created 6 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/extensions/api/downloads/downloads_api.h" 5 #include "chrome/browser/extensions/api/downloads/downloads_api.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 17 matching lines...) Expand all
28 #include "chrome/browser/browser_process.h" 28 #include "chrome/browser/browser_process.h"
29 #include "chrome/browser/download/download_danger_prompt.h" 29 #include "chrome/browser/download/download_danger_prompt.h"
30 #include "chrome/browser/download/download_file_icon_extractor.h" 30 #include "chrome/browser/download/download_file_icon_extractor.h"
31 #include "chrome/browser/download/download_prefs.h" 31 #include "chrome/browser/download/download_prefs.h"
32 #include "chrome/browser/download/download_query.h" 32 #include "chrome/browser/download/download_query.h"
33 #include "chrome/browser/download/download_service.h" 33 #include "chrome/browser/download/download_service.h"
34 #include "chrome/browser/download/download_service_factory.h" 34 #include "chrome/browser/download/download_service_factory.h"
35 #include "chrome/browser/download/download_shelf.h" 35 #include "chrome/browser/download/download_shelf.h"
36 #include "chrome/browser/download/download_stats.h" 36 #include "chrome/browser/download/download_stats.h"
37 #include "chrome/browser/download/drag_download_item.h" 37 #include "chrome/browser/download/drag_download_item.h"
38 #include "chrome/browser/extensions/extension_warning_service.h"
39 #include "chrome/browser/icon_loader.h" 38 #include "chrome/browser/icon_loader.h"
40 #include "chrome/browser/icon_manager.h" 39 #include "chrome/browser/icon_manager.h"
41 #include "chrome/browser/platform_util.h" 40 #include "chrome/browser/platform_util.h"
42 #include "chrome/browser/profiles/profile.h" 41 #include "chrome/browser/profiles/profile.h"
43 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" 42 #include "chrome/browser/renderer_host/chrome_render_message_filter.h"
44 #include "chrome/browser/ui/browser.h" 43 #include "chrome/browser/ui/browser.h"
45 #include "chrome/browser/ui/browser_list.h" 44 #include "chrome/browser/ui/browser_list.h"
46 #include "chrome/browser/ui/browser_window.h" 45 #include "chrome/browser/ui/browser_window.h"
47 #include "chrome/common/extensions/api/downloads.h" 46 #include "chrome/common/extensions/api/downloads.h"
48 #include "components/web_modal/web_contents_modal_dialog_manager.h" 47 #include "components/web_modal/web_contents_modal_dialog_manager.h"
49 #include "content/public/browser/download_interrupt_reasons.h" 48 #include "content/public/browser/download_interrupt_reasons.h"
50 #include "content/public/browser/download_item.h" 49 #include "content/public/browser/download_item.h"
51 #include "content/public/browser/download_save_info.h" 50 #include "content/public/browser/download_save_info.h"
52 #include "content/public/browser/download_url_parameters.h" 51 #include "content/public/browser/download_url_parameters.h"
53 #include "content/public/browser/notification_details.h" 52 #include "content/public/browser/notification_details.h"
54 #include "content/public/browser/notification_service.h" 53 #include "content/public/browser/notification_service.h"
55 #include "content/public/browser/notification_source.h" 54 #include "content/public/browser/notification_source.h"
56 #include "content/public/browser/render_process_host.h" 55 #include "content/public/browser/render_process_host.h"
57 #include "content/public/browser/render_view_host.h" 56 #include "content/public/browser/render_view_host.h"
58 #include "content/public/browser/render_widget_host_view.h" 57 #include "content/public/browser/render_widget_host_view.h"
59 #include "content/public/browser/resource_context.h" 58 #include "content/public/browser/resource_context.h"
60 #include "content/public/browser/resource_dispatcher_host.h" 59 #include "content/public/browser/resource_dispatcher_host.h"
61 #include "content/public/browser/web_contents.h" 60 #include "content/public/browser/web_contents.h"
62 #include "extensions/browser/event_router.h" 61 #include "extensions/browser/event_router.h"
63 #include "extensions/browser/extension_function_dispatcher.h" 62 #include "extensions/browser/extension_function_dispatcher.h"
64 #include "extensions/browser/extension_prefs.h" 63 #include "extensions/browser/extension_prefs.h"
65 #include "extensions/browser/extension_registry.h" 64 #include "extensions/browser/extension_registry.h"
66 #include "extensions/browser/notification_types.h" 65 #include "extensions/browser/notification_types.h"
66 #include "extensions/browser/warning_service.h"
67 #include "extensions/common/permissions/permissions_data.h" 67 #include "extensions/common/permissions/permissions_data.h"
68 #include "net/base/filename_util.h" 68 #include "net/base/filename_util.h"
69 #include "net/base/load_flags.h" 69 #include "net/base/load_flags.h"
70 #include "net/http/http_util.h" 70 #include "net/http/http_util.h"
71 #include "third_party/skia/include/core/SkBitmap.h" 71 #include "third_party/skia/include/core/SkBitmap.h"
72 #include "ui/base/webui/web_ui_util.h" 72 #include "ui/base/webui/web_ui_util.h"
73 #include "ui/gfx/image/image_skia.h" 73 #include "ui/gfx/image/image_skia.h"
74 74
75 using content::BrowserContext; 75 using content::BrowserContext;
76 using content::BrowserThread; 76 using content::BrowserThread;
(...skipping 654 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 if (determiners_[index].extension_id == extension_id) { 731 if (determiners_[index].extension_id == extension_id) {
732 found_info = true; 732 found_info = true;
733 if (determiners_[index].reported) 733 if (determiners_[index].reported)
734 return false; 734 return false;
735 determiners_[index].reported = true; 735 determiners_[index].reported = true;
736 // Do not use filename if another determiner has already overridden the 736 // Do not use filename if another determiner has already overridden the
737 // filename and they take precedence. Extensions that were installed 737 // filename and they take precedence. Extensions that were installed
738 // later take precedence over previous extensions. 738 // later take precedence over previous extensions.
739 if (!filename.empty() || 739 if (!filename.empty() ||
740 (conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY)) { 740 (conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY)) {
741 ExtensionWarningSet warnings; 741 WarningSet warnings;
742 std::string winner_extension_id; 742 std::string winner_extension_id;
743 ExtensionDownloadsEventRouter::DetermineFilenameInternal( 743 ExtensionDownloadsEventRouter::DetermineFilenameInternal(
744 filename, 744 filename,
745 conflict_action, 745 conflict_action,
746 determiners_[index].extension_id, 746 determiners_[index].extension_id,
747 determiners_[index].install_time, 747 determiners_[index].install_time,
748 determiner_.extension_id, 748 determiner_.extension_id,
749 determiner_.install_time, 749 determiner_.install_time,
750 &winner_extension_id, 750 &winner_extension_id,
751 &determined_filename_, 751 &determined_filename_,
752 &determined_conflict_action_, 752 &determined_conflict_action_,
753 &warnings); 753 &warnings);
754 if (!warnings.empty()) 754 if (!warnings.empty())
755 ExtensionWarningService::NotifyWarningsOnUI(profile, warnings); 755 WarningService::NotifyWarningsOnUI(profile, warnings);
756 if (winner_extension_id == determiners_[index].extension_id) 756 if (winner_extension_id == determiners_[index].extension_id)
757 determiner_ = determiners_[index]; 757 determiner_ = determiners_[index];
758 } 758 }
759 break; 759 break;
760 } 760 }
761 } 761 }
762 if (!found_info) 762 if (!found_info)
763 return false; 763 return false;
764 CheckAllDeterminersCalled(); 764 CheckAllDeterminersCalled();
765 return true; 765 return true;
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after
1659 void ExtensionDownloadsEventRouter::DetermineFilenameInternal( 1659 void ExtensionDownloadsEventRouter::DetermineFilenameInternal(
1660 const base::FilePath& filename, 1660 const base::FilePath& filename,
1661 downloads::FilenameConflictAction conflict_action, 1661 downloads::FilenameConflictAction conflict_action,
1662 const std::string& suggesting_extension_id, 1662 const std::string& suggesting_extension_id,
1663 const base::Time& suggesting_install_time, 1663 const base::Time& suggesting_install_time,
1664 const std::string& incumbent_extension_id, 1664 const std::string& incumbent_extension_id,
1665 const base::Time& incumbent_install_time, 1665 const base::Time& incumbent_install_time,
1666 std::string* winner_extension_id, 1666 std::string* winner_extension_id,
1667 base::FilePath* determined_filename, 1667 base::FilePath* determined_filename,
1668 downloads::FilenameConflictAction* determined_conflict_action, 1668 downloads::FilenameConflictAction* determined_conflict_action,
1669 ExtensionWarningSet* warnings) { 1669 WarningSet* warnings) {
1670 DCHECK(!filename.empty() || 1670 DCHECK(!filename.empty() ||
1671 (conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY)); 1671 (conflict_action != downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY));
1672 DCHECK(!suggesting_extension_id.empty()); 1672 DCHECK(!suggesting_extension_id.empty());
1673 1673
1674 if (incumbent_extension_id.empty()) { 1674 if (incumbent_extension_id.empty()) {
1675 *winner_extension_id = suggesting_extension_id; 1675 *winner_extension_id = suggesting_extension_id;
1676 *determined_filename = filename; 1676 *determined_filename = filename;
1677 *determined_conflict_action = conflict_action; 1677 *determined_conflict_action = conflict_action;
1678 return; 1678 return;
1679 } 1679 }
1680 1680
1681 if (suggesting_install_time < incumbent_install_time) { 1681 if (suggesting_install_time < incumbent_install_time) {
1682 *winner_extension_id = incumbent_extension_id; 1682 *winner_extension_id = incumbent_extension_id;
1683 warnings->insert(ExtensionWarning::CreateDownloadFilenameConflictWarning( 1683 warnings->insert(Warning::CreateDownloadFilenameConflictWarning(
1684 suggesting_extension_id, 1684 suggesting_extension_id,
1685 incumbent_extension_id, 1685 incumbent_extension_id,
1686 filename, 1686 filename,
1687 *determined_filename)); 1687 *determined_filename));
1688 return; 1688 return;
1689 } 1689 }
1690 1690
1691 *winner_extension_id = suggesting_extension_id; 1691 *winner_extension_id = suggesting_extension_id;
1692 warnings->insert(ExtensionWarning::CreateDownloadFilenameConflictWarning( 1692 warnings->insert(Warning::CreateDownloadFilenameConflictWarning(
1693 incumbent_extension_id, 1693 incumbent_extension_id,
1694 suggesting_extension_id, 1694 suggesting_extension_id,
1695 *determined_filename, 1695 *determined_filename,
1696 filename)); 1696 filename));
1697 *determined_filename = filename; 1697 *determined_filename = filename;
1698 *determined_conflict_action = conflict_action; 1698 *determined_conflict_action = conflict_action;
1699 } 1699 }
1700 1700
1701 bool ExtensionDownloadsEventRouter::DetermineFilename( 1701 bool ExtensionDownloadsEventRouter::DetermineFilename(
1702 Profile* profile, 1702 Profile* profile,
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1931 const Extension* extension, 1931 const Extension* extension,
1932 UnloadedExtensionInfo::Reason reason) { 1932 UnloadedExtensionInfo::Reason reason) {
1933 DCHECK_CURRENTLY_ON(BrowserThread::UI); 1933 DCHECK_CURRENTLY_ON(BrowserThread::UI);
1934 std::set<const Extension*>::iterator iter = 1934 std::set<const Extension*>::iterator iter =
1935 shelf_disabling_extensions_.find(extension); 1935 shelf_disabling_extensions_.find(extension);
1936 if (iter != shelf_disabling_extensions_.end()) 1936 if (iter != shelf_disabling_extensions_.end())
1937 shelf_disabling_extensions_.erase(iter); 1937 shelf_disabling_extensions_.erase(iter);
1938 } 1938 }
1939 1939
1940 } // namespace extensions 1940 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698