OLD | NEW |
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 #import "chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controlle
r.h" | 5 #import "chrome/browser/ui/cocoa/extensions/extension_installed_bubble_controlle
r.h" |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/mac/bundle_locations.h" | 8 #include "base/mac/bundle_locations.h" |
9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
10 #include "base/sys_string_conversions.h" | 10 #include "base/sys_string_conversions.h" |
11 #include "base/utf_string_conversions.h" | 11 #include "base/utf_string_conversions.h" |
12 #include "chrome/browser/extensions/api/commands/command_service.h" | 12 #include "chrome/browser/extensions/api/commands/command_service.h" |
13 #include "chrome/browser/extensions/bundle_installer.h" | 13 #include "chrome/browser/extensions/bundle_installer.h" |
14 #include "chrome/browser/extensions/extension_action.h" | 14 #include "chrome/browser/extensions/extension_action.h" |
15 #include "chrome/browser/extensions/extension_action_manager.h" | 15 #include "chrome/browser/extensions/extension_action_manager.h" |
16 #include "chrome/browser/ui/browser.h" | 16 #include "chrome/browser/ui/browser.h" |
17 #include "chrome/browser/ui/browser_navigator.h" | 17 #include "chrome/browser/ui/browser_navigator.h" |
18 #include "chrome/browser/ui/browser_window.h" | 18 #include "chrome/browser/ui/browser_window.h" |
19 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" | 19 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" |
20 #include "chrome/browser/ui/cocoa/browser_window_controller.h" | 20 #include "chrome/browser/ui/cocoa/browser_window_controller.h" |
21 #include "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" | 21 #include "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h" |
22 #include "chrome/browser/ui/cocoa/hover_close_button.h" | 22 #include "chrome/browser/ui/cocoa/hover_close_button.h" |
23 #include "chrome/browser/ui/cocoa/info_bubble_view.h" | 23 #include "chrome/browser/ui/cocoa/info_bubble_view.h" |
24 #include "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" | 24 #include "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h" |
25 #include "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" | 25 #include "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" |
26 #include "chrome/browser/ui/singleton_tabs.h" | 26 #include "chrome/browser/ui/singleton_tabs.h" |
27 #include "chrome/common/chrome_notification_types.h" | 27 #include "chrome/common/chrome_notification_types.h" |
| 28 #include "chrome/common/extensions/api/extension_action/action_info.h" |
28 #include "chrome/common/extensions/api/omnibox/omnibox_handler.h" | 29 #include "chrome/common/extensions/api/omnibox/omnibox_handler.h" |
29 #include "chrome/common/extensions/extension.h" | 30 #include "chrome/common/extensions/extension.h" |
30 #include "chrome/common/url_constants.h" | 31 #include "chrome/common/url_constants.h" |
31 #include "content/public/browser/notification_details.h" | 32 #include "content/public/browser/notification_details.h" |
32 #include "content/public/browser/notification_registrar.h" | 33 #include "content/public/browser/notification_registrar.h" |
33 #include "content/public/browser/notification_source.h" | 34 #include "content/public/browser/notification_source.h" |
34 #include "grit/chromium_strings.h" | 35 #include "grit/chromium_strings.h" |
35 #include "grit/generated_resources.h" | 36 #include "grit/generated_resources.h" |
36 #import "skia/ext/skia_utils_mac.h" | 37 #import "skia/ext/skia_utils_mac.h" |
37 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h" | 38 #import "third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h" |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 extensions::ExtensionActionManager* extension_action_manager = | 115 extensions::ExtensionActionManager* extension_action_manager = |
115 extensions::ExtensionActionManager::Get(browser_->profile()); | 116 extensions::ExtensionActionManager::Get(browser_->profile()); |
116 | 117 |
117 if (bundle_) { | 118 if (bundle_) { |
118 type_ = extension_installed_bubble::kBundle; | 119 type_ = extension_installed_bubble::kBundle; |
119 } else if (!extensions::OmniboxInfo::GetKeyword(extension).empty()) { | 120 } else if (!extensions::OmniboxInfo::GetKeyword(extension).empty()) { |
120 type_ = extension_installed_bubble::kOmniboxKeyword; | 121 type_ = extension_installed_bubble::kOmniboxKeyword; |
121 } else if (extension_action_manager->GetBrowserAction(*extension)) { | 122 } else if (extension_action_manager->GetBrowserAction(*extension)) { |
122 type_ = extension_installed_bubble::kBrowserAction; | 123 type_ = extension_installed_bubble::kBrowserAction; |
123 } else if (extension_action_manager->GetPageAction(*extension) && | 124 } else if (extension_action_manager->GetPageAction(*extension) && |
124 extensions::OmniboxInfo::IsVerboseInstallMessage(extension)) { | 125 extensions::ActionInfo::IsVerboseInstallMessage(extension)) { |
125 type_ = extension_installed_bubble::kPageAction; | 126 type_ = extension_installed_bubble::kPageAction; |
126 } else { | 127 } else { |
127 type_ = extension_installed_bubble::kGeneric; | 128 type_ = extension_installed_bubble::kGeneric; |
128 } | 129 } |
129 | 130 |
130 if (type_ == extension_installed_bubble::kBundle) { | 131 if (type_ == extension_installed_bubble::kBundle) { |
131 [self showWindow:self]; | 132 [self showWindow:self]; |
132 } else { | 133 } else { |
133 // Start showing window only after extension has fully loaded. | 134 // Start showing window only after extension has fully loaded. |
134 extensionObserver_.reset(new ExtensionLoadedNotificationObserver( | 135 extensionObserver_.reset(new ExtensionLoadedNotificationObserver( |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 return; | 507 return; |
507 } | 508 } |
508 | 509 |
509 NSRect extensionMessageFrame1 = [extensionInstalledMsg_ frame]; | 510 NSRect extensionMessageFrame1 = [extensionInstalledMsg_ frame]; |
510 NSRect extensionMessageFrame2 = [extensionInstalledInfoMsg_ frame]; | 511 NSRect extensionMessageFrame2 = [extensionInstalledInfoMsg_ frame]; |
511 | 512 |
512 extensionMessageFrame1.origin.y = newWindowHeight - ( | 513 extensionMessageFrame1.origin.y = newWindowHeight - ( |
513 extensionMessageFrame1.size.height + | 514 extensionMessageFrame1.size.height + |
514 extension_installed_bubble::kOuterVerticalMargin); | 515 extension_installed_bubble::kOuterVerticalMargin); |
515 [extensionInstalledMsg_ setFrame:extensionMessageFrame1]; | 516 [extensionInstalledMsg_ setFrame:extensionMessageFrame1]; |
516 if (extensions::OmniboxInfo::IsVerboseInstallMessage(extension_)) { | 517 if (!extensions::OmniboxInfo::GetKeyword(extension_).empty() || |
| 518 extension_->browser_action_info() || |
| 519 extensions::ActionInfo::IsVerboseInstallMessage(extension_)) { |
517 // The extra message is only shown when appropriate. | 520 // The extra message is only shown when appropriate. |
518 NSRect extraMessageFrame = [extraInfoMsg_ frame]; | 521 NSRect extraMessageFrame = [extraInfoMsg_ frame]; |
519 extraMessageFrame.origin.y = extensionMessageFrame1.origin.y - ( | 522 extraMessageFrame.origin.y = extensionMessageFrame1.origin.y - ( |
520 extraMessageFrame.size.height + | 523 extraMessageFrame.size.height + |
521 extension_installed_bubble::kInnerVerticalMargin); | 524 extension_installed_bubble::kInnerVerticalMargin); |
522 [extraInfoMsg_ setFrame:extraMessageFrame]; | 525 [extraInfoMsg_ setFrame:extraMessageFrame]; |
523 extensionMessageFrame2.origin.y = extraMessageFrame.origin.y - ( | 526 extensionMessageFrame2.origin.y = extraMessageFrame.origin.y - ( |
524 extensionMessageFrame2.size.height + | 527 extensionMessageFrame2.size.height + |
525 extension_installed_bubble::kInnerVerticalMargin); | 528 extension_installed_bubble::kInnerVerticalMargin); |
526 } else { | 529 } else { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 - (IBAction)onManageShortcutClicked:(id)sender { | 566 - (IBAction)onManageShortcutClicked:(id)sender { |
564 [self close]; | 567 [self close]; |
565 std::string configure_url = chrome::kChromeUIExtensionsURL; | 568 std::string configure_url = chrome::kChromeUIExtensionsURL; |
566 configure_url += chrome::kExtensionConfigureCommandsSubPage; | 569 configure_url += chrome::kExtensionConfigureCommandsSubPage; |
567 chrome::NavigateParams params(chrome::GetSingletonTabNavigateParams( | 570 chrome::NavigateParams params(chrome::GetSingletonTabNavigateParams( |
568 browser_, GURL(configure_url))); | 571 browser_, GURL(configure_url))); |
569 chrome::Navigate(¶ms); | 572 chrome::Navigate(¶ms); |
570 } | 573 } |
571 | 574 |
572 @end | 575 @end |
OLD | NEW |