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 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" | 5 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "apps/metrics_names.h" | 9 #include "apps/metrics_names.h" |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "chrome/browser/extensions/extension_service.h" | 23 #include "chrome/browser/extensions/extension_service.h" |
24 #include "chrome/browser/extensions/extension_ui_util.h" | 24 #include "chrome/browser/extensions/extension_ui_util.h" |
25 #include "chrome/browser/extensions/launch_util.h" | 25 #include "chrome/browser/extensions/launch_util.h" |
26 #include "chrome/browser/favicon/favicon_service_factory.h" | 26 #include "chrome/browser/favicon/favicon_service_factory.h" |
27 #include "chrome/browser/profiles/profile.h" | 27 #include "chrome/browser/profiles/profile.h" |
28 #include "chrome/browser/ui/app_list/app_list_util.h" | 28 #include "chrome/browser/ui/app_list/app_list_util.h" |
29 #include "chrome/browser/ui/browser_dialogs.h" | 29 #include "chrome/browser/ui/browser_dialogs.h" |
30 #include "chrome/browser/ui/browser_finder.h" | 30 #include "chrome/browser/ui/browser_finder.h" |
31 #include "chrome/browser/ui/browser_tabstrip.h" | 31 #include "chrome/browser/ui/browser_tabstrip.h" |
32 #include "chrome/browser/ui/browser_window.h" | 32 #include "chrome/browser/ui/browser_window.h" |
| 33 #include "chrome/browser/ui/extensions/app_launch_params.h" |
33 #include "chrome/browser/ui/extensions/application_launch.h" | 34 #include "chrome/browser/ui/extensions/application_launch.h" |
34 #include "chrome/browser/ui/extensions/extension_enable_flow.h" | 35 #include "chrome/browser/ui/extensions/extension_enable_flow.h" |
35 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 36 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
36 #include "chrome/browser/ui/webui/extensions/extension_basic_info.h" | 37 #include "chrome/browser/ui/webui/extensions/extension_basic_info.h" |
37 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" | 38 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
38 #include "chrome/browser/ui/webui/ntp/core_app_launcher_handler.h" | 39 #include "chrome/browser/ui/webui/ntp/core_app_launcher_handler.h" |
39 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h" | 40 #include "chrome/browser/ui/webui/ntp/new_tab_ui.h" |
40 #include "chrome/common/extensions/extension_constants.h" | 41 #include "chrome/common/extensions/extension_constants.h" |
41 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" | 42 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" |
42 #include "chrome/common/pref_names.h" | 43 #include "chrome/common/pref_names.h" |
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 CoreAppLauncherHandler::RecordAppLaunchType(launch_bucket, | 515 CoreAppLauncherHandler::RecordAppLaunchType(launch_bucket, |
515 extension->GetType()); | 516 extension->GetType()); |
516 } else { | 517 } else { |
517 CoreAppLauncherHandler::RecordWebStoreLaunch(); | 518 CoreAppLauncherHandler::RecordWebStoreLaunch(); |
518 } | 519 } |
519 | 520 |
520 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB || | 521 if (disposition == NEW_FOREGROUND_TAB || disposition == NEW_BACKGROUND_TAB || |
521 disposition == NEW_WINDOW) { | 522 disposition == NEW_WINDOW) { |
522 // TODO(jamescook): Proper support for background tabs. | 523 // TODO(jamescook): Proper support for background tabs. |
523 AppLaunchParams params(profile, extension, | 524 AppLaunchParams params(profile, extension, |
524 disposition == NEW_WINDOW ? | 525 disposition == NEW_WINDOW |
525 extensions::LAUNCH_CONTAINER_WINDOW : | 526 ? extensions::LAUNCH_CONTAINER_WINDOW |
526 extensions::LAUNCH_CONTAINER_TAB, | 527 : extensions::LAUNCH_CONTAINER_TAB, |
527 disposition); | 528 disposition, extensions::SOURCE_NEW_TAB_PAGE); |
528 params.override_url = GURL(url); | 529 params.override_url = GURL(url); |
529 params.source = extensions::SOURCE_NEW_TAB_PAGE; | |
530 OpenApplication(params); | 530 OpenApplication(params); |
531 } else { | 531 } else { |
532 // To give a more "launchy" experience when using the NTP launcher, we close | 532 // To give a more "launchy" experience when using the NTP launcher, we close |
533 // it automatically. | 533 // it automatically. |
534 Browser* browser = chrome::FindBrowserWithWebContents( | 534 Browser* browser = chrome::FindBrowserWithWebContents( |
535 web_ui()->GetWebContents()); | 535 web_ui()->GetWebContents()); |
536 WebContents* old_contents = NULL; | 536 WebContents* old_contents = NULL; |
537 if (browser) | 537 if (browser) |
538 old_contents = browser->tab_strip_model()->GetActiveWebContents(); | 538 old_contents = browser->tab_strip_model()->GetActiveWebContents(); |
539 | 539 |
540 AppLaunchParams params(profile, extension, | 540 AppLaunchParams params(profile, extension, |
541 old_contents ? CURRENT_TAB : NEW_FOREGROUND_TAB); | 541 old_contents ? CURRENT_TAB : NEW_FOREGROUND_TAB, |
| 542 extensions::SOURCE_NEW_TAB_PAGE); |
542 params.override_url = GURL(url); | 543 params.override_url = GURL(url); |
543 params.source = extensions::SOURCE_NEW_TAB_PAGE; | |
544 WebContents* new_contents = OpenApplication(params); | 544 WebContents* new_contents = OpenApplication(params); |
545 | 545 |
546 // This will also destroy the handler, so do not perform any actions after. | 546 // This will also destroy the handler, so do not perform any actions after. |
547 if (new_contents != old_contents && browser && | 547 if (new_contents != old_contents && browser && |
548 browser->tab_strip_model()->count() > 1) { | 548 browser->tab_strip_model()->count() > 1) { |
549 chrome::CloseWebContents(browser, old_contents, true); | 549 chrome::CloseWebContents(browser, old_contents, true); |
550 } | 550 } |
551 } | 551 } |
552 } | 552 } |
553 | 553 |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 Browser* browser = chrome::FindBrowserWithWebContents( | 846 Browser* browser = chrome::FindBrowserWithWebContents( |
847 web_ui()->GetWebContents()); | 847 web_ui()->GetWebContents()); |
848 extension_uninstall_dialog_.reset( | 848 extension_uninstall_dialog_.reset( |
849 extensions::ExtensionUninstallDialog::Create( | 849 extensions::ExtensionUninstallDialog::Create( |
850 extension_service_->profile(), | 850 extension_service_->profile(), |
851 browser->window()->GetNativeWindow(), | 851 browser->window()->GetNativeWindow(), |
852 this)); | 852 this)); |
853 } | 853 } |
854 return extension_uninstall_dialog_.get(); | 854 return extension_uninstall_dialog_.get(); |
855 } | 855 } |
OLD | NEW |