OLD | NEW |
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/browser/dom_ui/filebrowse_ui.h" | 5 #include "chrome/browser/dom_ui/filebrowse_ui.h" |
6 | 6 |
7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/message_loop.h" | 11 #include "base/message_loop.h" |
12 #include "base/path_service.h" | 12 #include "base/path_service.h" |
13 #include "base/singleton.h" | 13 #include "base/singleton.h" |
14 #include "base/string_piece.h" | 14 #include "base/string_piece.h" |
15 #include "base/string_util.h" | 15 #include "base/string_util.h" |
16 #include "base/thread.h" | 16 #include "base/thread.h" |
17 #include "base/time.h" | 17 #include "base/time.h" |
18 #include "base/utf_string_conversions.h" | 18 #include "base/utf_string_conversions.h" |
19 #include "base/values.h" | 19 #include "base/values.h" |
20 #include "base/weak_ptr.h" | 20 #include "base/weak_ptr.h" |
21 #include "chrome/browser/bookmarks/bookmark_model.h" | 21 #include "chrome/browser/bookmarks/bookmark_model.h" |
22 #include "chrome/browser/browser.h" | 22 #include "chrome/browser/browser.h" |
23 #include "chrome/browser/browser_list.h" | 23 #include "chrome/browser/browser_list.h" |
| 24 #include "chrome/browser/browser_navigator.h" |
24 #include "chrome/browser/browser_thread.h" | 25 #include "chrome/browser/browser_thread.h" |
25 #include "chrome/browser/browser_window.h" | 26 #include "chrome/browser/browser_window.h" |
26 #include "chrome/browser/dom_ui/dom_ui_favicon_source.h" | 27 #include "chrome/browser/dom_ui/dom_ui_favicon_source.h" |
27 #include "chrome/browser/dom_ui/mediaplayer_ui.h" | 28 #include "chrome/browser/dom_ui/mediaplayer_ui.h" |
28 #include "chrome/browser/download/download_item.h" | 29 #include "chrome/browser/download/download_item.h" |
29 #include "chrome/browser/download/download_manager.h" | 30 #include "chrome/browser/download/download_manager.h" |
30 #include "chrome/browser/download/download_util.h" | 31 #include "chrome/browser/download/download_util.h" |
31 #include "chrome/browser/history/history_types.h" | 32 #include "chrome/browser/history/history_types.h" |
32 #include "chrome/browser/metrics/user_metrics.h" | 33 #include "chrome/browser/metrics/user_metrics.h" |
33 #include "chrome/browser/prefs/pref_service.h" | 34 #include "chrome/browser/prefs/pref_service.h" |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 | 690 |
690 void FilebrowseHandler::OpenNewPopupWindow(const ListValue* args) { | 691 void FilebrowseHandler::OpenNewPopupWindow(const ListValue* args) { |
691 OpenNewWindow(args, true); | 692 OpenNewWindow(args, true); |
692 } | 693 } |
693 | 694 |
694 void FilebrowseHandler::OpenNewWindow(const ListValue* args, bool popup) { | 695 void FilebrowseHandler::OpenNewWindow(const ListValue* args, bool popup) { |
695 std::string url = WideToUTF8(ExtractStringValue(args)); | 696 std::string url = WideToUTF8(ExtractStringValue(args)); |
696 Browser* browser = popup ? | 697 Browser* browser = popup ? |
697 Browser::CreateForType(Browser::TYPE_APP_PANEL, profile_) : | 698 Browser::CreateForType(Browser::TYPE_APP_PANEL, profile_) : |
698 BrowserList::GetLastActive(); | 699 BrowserList::GetLastActive(); |
699 Browser::AddTabWithURLParams params(GURL(url), PageTransition::LINK); | 700 browser::NavigateParams params(browser, GURL(url), PageTransition::LINK); |
700 browser->AddTabWithURL(¶ms); | 701 params.disposition = NEW_FOREGROUND_TAB; |
| 702 browser::Navigate(¶ms); |
| 703 // TODO(beng): The following two calls should be automatic by Navigate(). |
701 if (popup) { | 704 if (popup) { |
702 // TODO(dhg): Remove these from being hardcoded. Allow javascript | 705 // TODO(dhg): Remove these from being hardcoded. Allow javascript |
703 // to specify. | 706 // to specify. |
704 params.target->window()->SetBounds(gfx::Rect(0, 0, 400, 300)); | 707 params.browser->window()->SetBounds(gfx::Rect(0, 0, 400, 300)); |
705 } | 708 } |
706 params.target->window()->Show(); | 709 params.browser->window()->Show(); |
707 } | 710 } |
708 | 711 |
709 void FilebrowseHandler::SendPicasawebRequest() { | 712 void FilebrowseHandler::SendPicasawebRequest() { |
710 #if defined(OS_CHROMEOS) | 713 #if defined(OS_CHROMEOS) |
711 chromeos::UserManager* user_man = chromeos::UserManager::Get(); | 714 chromeos::UserManager* user_man = chromeos::UserManager::Get(); |
712 std::string username = user_man->logged_in_user().email(); | 715 std::string username = user_man->logged_in_user().email(); |
713 | 716 |
714 if (username.empty()) { | 717 if (username.empty()) { |
715 LOG(ERROR) << "Unable to get username"; | 718 LOG(ERROR) << "Unable to get username"; |
716 return; | 719 return; |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1054 if (browser == NULL) { | 1057 if (browser == NULL) { |
1055 browser = Browser::CreateForType(Browser::TYPE_APP_PANEL, profile); | 1058 browser = Browser::CreateForType(Browser::TYPE_APP_PANEL, profile); |
1056 std::string url; | 1059 std::string url; |
1057 if (hashArgument.empty()) { | 1060 if (hashArgument.empty()) { |
1058 url = chrome::kChromeUIFileBrowseURL; | 1061 url = chrome::kChromeUIFileBrowseURL; |
1059 } else { | 1062 } else { |
1060 url = kFilebrowseURLHash; | 1063 url = kFilebrowseURLHash; |
1061 url.append(hashArgument); | 1064 url.append(hashArgument); |
1062 } | 1065 } |
1063 | 1066 |
1064 Browser::AddTabWithURLParams params(GURL(url), PageTransition::LINK); | 1067 browser::NavigateParams params(browser, GURL(url), PageTransition::LINK); |
1065 browser->AddTabWithURL(¶ms); | 1068 params.disposition = NEW_FOREGROUND_TAB; |
1066 params.target->window()->SetBounds(gfx::Rect(kPopupLeft, | 1069 browser::Navigate(¶ms); |
1067 kPopupTop, | 1070 // TODO(beng): The following two calls should be automatic by Navigate(). |
1068 width, | 1071 params.browser->window()->SetBounds(gfx::Rect(kPopupLeft, |
1069 height)); | 1072 kPopupTop, |
| 1073 width, |
| 1074 height)); |
1070 | 1075 |
1071 params.target->window()->Show(); | 1076 params.browser->window()->Show(); |
1072 } else { | 1077 } else { |
1073 browser->window()->Show(); | 1078 browser->window()->Show(); |
1074 } | 1079 } |
1075 | 1080 |
1076 return browser; | 1081 return browser; |
1077 } | 1082 } |
1078 | 1083 |
1079 Browser* FileBrowseUI::GetPopupForPath(const std::string& path, | 1084 Browser* FileBrowseUI::GetPopupForPath(const std::string& path, |
1080 Profile* profile) { | 1085 Profile* profile) { |
1081 std::string current_path = path; | 1086 std::string current_path = path; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1116 } | 1121 } |
1117 } | 1122 } |
1118 | 1123 |
1119 return NULL; | 1124 return NULL; |
1120 } | 1125 } |
1121 | 1126 |
1122 const int FileBrowseUI::kPopupWidth = 250; | 1127 const int FileBrowseUI::kPopupWidth = 250; |
1123 const int FileBrowseUI::kPopupHeight = 300; | 1128 const int FileBrowseUI::kPopupHeight = 300; |
1124 const int FileBrowseUI::kSmallPopupWidth = 250; | 1129 const int FileBrowseUI::kSmallPopupWidth = 250; |
1125 const int FileBrowseUI::kSmallPopupHeight = 50; | 1130 const int FileBrowseUI::kSmallPopupHeight = 50; |
OLD | NEW |