| 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/chrome_web_ui_controller_factory.h" | 5 #include "chrome/browser/ui/webui/chrome_web_ui_controller_factory.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 707 // Before determining whether page_url is an extension url, we must handle | 707 // Before determining whether page_url is an extension url, we must handle |
| 708 // overrides. This changes urls in |kChromeUIScheme| to extension urls, and | 708 // overrides. This changes urls in |kChromeUIScheme| to extension urls, and |
| 709 // allows to use ExtensionWebUI::GetFaviconForURL. | 709 // allows to use ExtensionWebUI::GetFaviconForURL. |
| 710 GURL url(page_url); | 710 GURL url(page_url); |
| 711 #if defined(ENABLE_EXTENSIONS) | 711 #if defined(ENABLE_EXTENSIONS) |
| 712 ExtensionWebUI::HandleChromeURLOverride(&url, profile); | 712 ExtensionWebUI::HandleChromeURLOverride(&url, profile); |
| 713 | 713 |
| 714 // All extensions but the bookmark manager get their favicon from the icons | 714 // All extensions but the bookmark manager get their favicon from the icons |
| 715 // part of the manifest. | 715 // part of the manifest. |
| 716 if (url.SchemeIs(extensions::kExtensionScheme) && | 716 if (url.SchemeIs(extensions::kExtensionScheme) && |
| 717 url.host() != extension_misc::kBookmarkManagerId) { | 717 url.host() != extension_misc::kBookmarkManagerId && |
| 718 url.host() != extension_misc::kMDBookmarkManagerId) { |
| 718 ExtensionWebUI::GetFaviconForURL(profile, url, callback); | 719 ExtensionWebUI::GetFaviconForURL(profile, url, callback); |
| 719 return; | 720 return; |
| 720 } | 721 } |
| 721 #endif | 722 #endif |
| 722 | 723 |
| 723 std::vector<favicon_base::FaviconRawBitmapResult>* favicon_bitmap_results = | 724 std::vector<favicon_base::FaviconRawBitmapResult>* favicon_bitmap_results = |
| 724 new std::vector<favicon_base::FaviconRawBitmapResult>(); | 725 new std::vector<favicon_base::FaviconRawBitmapResult>(); |
| 725 | 726 |
| 726 // Use ui::GetSupportedScaleFactors instead of | 727 // Use ui::GetSupportedScaleFactors instead of |
| 727 // favicon_base::GetFaviconScales() because chrome favicons comes from | 728 // favicon_base::GetFaviconScales() because chrome favicons comes from |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 771 } | 772 } |
| 772 | 773 |
| 773 ChromeWebUIControllerFactory::~ChromeWebUIControllerFactory() { | 774 ChromeWebUIControllerFactory::~ChromeWebUIControllerFactory() { |
| 774 } | 775 } |
| 775 | 776 |
| 776 base::RefCountedMemory* ChromeWebUIControllerFactory::GetFaviconResourceBytes( | 777 base::RefCountedMemory* ChromeWebUIControllerFactory::GetFaviconResourceBytes( |
| 777 const GURL& page_url, ui::ScaleFactor scale_factor) const { | 778 const GURL& page_url, ui::ScaleFactor scale_factor) const { |
| 778 #if !defined(OS_ANDROID) // Bookmarks are part of NTP on Android. | 779 #if !defined(OS_ANDROID) // Bookmarks are part of NTP on Android. |
| 779 // The bookmark manager is a chrome extension, so we have to check for it | 780 // The bookmark manager is a chrome extension, so we have to check for it |
| 780 // before we check for extension scheme. | 781 // before we check for extension scheme. |
| 781 if (page_url.host() == extension_misc::kBookmarkManagerId) | 782 if (page_url.host() == extension_misc::kBookmarkManagerId || |
| 783 page_url.host() == extension_misc::kMDBookmarkManagerId) { |
| 782 return BookmarksUI::GetFaviconResourceBytes(scale_factor); | 784 return BookmarksUI::GetFaviconResourceBytes(scale_factor); |
| 785 } |
| 783 | 786 |
| 784 // The extension scheme is handled in GetFaviconForURL. | 787 // The extension scheme is handled in GetFaviconForURL. |
| 785 if (page_url.SchemeIs(extensions::kExtensionScheme)) { | 788 if (page_url.SchemeIs(extensions::kExtensionScheme)) { |
| 786 NOTREACHED(); | 789 NOTREACHED(); |
| 787 return NULL; | 790 return NULL; |
| 788 } | 791 } |
| 789 #endif | 792 #endif |
| 790 | 793 |
| 791 if (!content::HasWebUIScheme(page_url)) | 794 if (!content::HasWebUIScheme(page_url)) |
| 792 return NULL; | 795 return NULL; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 836 #endif | 839 #endif |
| 837 | 840 |
| 838 // Android doesn't use the plugins pages. | 841 // Android doesn't use the plugins pages. |
| 839 if (page_url.host() == chrome::kChromeUIPluginsHost) | 842 if (page_url.host() == chrome::kChromeUIPluginsHost) |
| 840 return PluginsUI::GetFaviconResourceBytes(scale_factor); | 843 return PluginsUI::GetFaviconResourceBytes(scale_factor); |
| 841 | 844 |
| 842 #endif | 845 #endif |
| 843 | 846 |
| 844 return NULL; | 847 return NULL; |
| 845 } | 848 } |
| OLD | NEW |