diff options
author | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-29 00:35:01 +0000 |
---|---|---|
committer | aa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-29 00:35:01 +0000 |
commit | 969894aba3265e77edafbc6556941ea693485cd8 (patch) | |
tree | e3906da6188b7831cfee8a60829989fa12ff2cd8 /chrome/browser/dom_ui | |
parent | acc2f3cca43414cdcc46c0e9eefdb9002350c212 (diff) | |
download | chromium_src-969894aba3265e77edafbc6556941ea693485cd8.zip chromium_src-969894aba3265e77edafbc6556941ea693485cd8.tar.gz chromium_src-969894aba3265e77edafbc6556941ea693485cd8.tar.bz2 |
Add the collapsed 'miniview' to the apps and most visisted sections. Also, fix the bug where the wrench disappears on hover.
BUG=53248,52199
Review URL: http://codereview.chromium.org/3236001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57799 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui')
-rw-r--r-- | chrome/browser/dom_ui/app_launcher_handler.cc | 28 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_favicon_source.cc | 21 | ||||
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_favicon_source.h | 3 |
3 files changed, 34 insertions, 18 deletions
diff --git a/chrome/browser/dom_ui/app_launcher_handler.cc b/chrome/browser/dom_ui/app_launcher_handler.cc index 1592528..2d3dee6 100644 --- a/chrome/browser/dom_ui/app_launcher_handler.cc +++ b/chrome/browser/dom_ui/app_launcher_handler.cc @@ -39,6 +39,15 @@ bool ExtractInt(const ListValue* list, size_t index, int* out_int) { return false; } +std::string GetIconURL(Extension* extension, Extension::Icons icon, + const std::string& default_val) { + GURL url = extension->GetIconURL(icon); + if (!url.is_empty()) + return url.spec(); + else + return default_val; +} + } // namespace AppLauncherHandler::AppLauncherHandler(ExtensionsService* extension_service) @@ -86,18 +95,13 @@ void AppLauncherHandler::CreateAppInfo(Extension* extension, value->SetString("launch_url", extension->GetFullLaunchURL().spec()); value->SetString("options_url", extension->options_url().spec()); - FilePath relative_path = - extension->GetIconResource( - Extension::EXTENSION_ICON_LARGE).relative_path(); - -#if defined(OS_POSIX) - std::string path = relative_path.value(); -#elif defined(OS_WIN) - std::string path = WideToUTF8(relative_path.value()); -#endif // OS_WIN - - GURL icon_url = extension->GetResourceURL(path); - value->SetString("icon", icon_url.spec()); + // TODO(aa): Need a better default icon for apps. + value->SetString("icon_big", GetIconURL( + extension, Extension::EXTENSION_ICON_LARGE, + "chrome://theme/IDR_EXTENSION_DEFAULT_ICON")); + value->SetString("icon_small", GetIconURL( + extension, Extension::EXTENSION_ICON_BITTY, + std::string("chrome://favicon/") + extension->GetFullLaunchURL().spec())); } void AppLauncherHandler::HandleGetApps(const ListValue* args) { diff --git a/chrome/browser/dom_ui/dom_ui_favicon_source.cc b/chrome/browser/dom_ui/dom_ui_favicon_source.cc index 5a52346..55818a3 100644 --- a/chrome/browser/dom_ui/dom_ui_favicon_source.cc +++ b/chrome/browser/dom_ui/dom_ui_favicon_source.cc @@ -26,6 +26,11 @@ void DOMUIFavIconSource::StartDataRequest(const std::string& path, profile_->GetFaviconService(Profile::EXPLICIT_ACCESS); if (favicon_service) { FaviconService::Handle handle; + if (path.empty()) { + SendDefaultResponse(request_id); + return; + } + if (path.size() > 8 && path.substr(0, 8) == "iconurl/") { handle = favicon_service->GetFavicon( GURL(path.substr(8)), @@ -65,12 +70,16 @@ void DOMUIFavIconSource::OnFavIconDataAvailable( // Forward the data along to the networking system. SendResponse(request_id, data); } else { - if (!default_favicon_.get()) { - default_favicon_ = - ResourceBundle::GetSharedInstance().LoadDataResourceBytes( - IDR_DEFAULT_FAVICON); - } + SendDefaultResponse(request_id); + } +} - SendResponse(request_id, default_favicon_); +void DOMUIFavIconSource::SendDefaultResponse(int request_id) { + if (!default_favicon_.get()) { + default_favicon_ = + ResourceBundle::GetSharedInstance().LoadDataResourceBytes( + IDR_DEFAULT_FAVICON); } + + SendResponse(request_id, default_favicon_); } diff --git a/chrome/browser/dom_ui/dom_ui_favicon_source.h b/chrome/browser/dom_ui/dom_ui_favicon_source.h index 7878fd2..84c29fc 100644 --- a/chrome/browser/dom_ui/dom_ui_favicon_source.h +++ b/chrome/browser/dom_ui/dom_ui_favicon_source.h @@ -38,6 +38,9 @@ class DOMUIFavIconSource : public ChromeURLDataManager::DataSource { GURL url); private: + // Sends the default favicon. + void SendDefaultResponse(int request_id); + virtual ~DOMUIFavIconSource(); Profile* profile_; |