| 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 | 
|---|