Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(694)

Side by Side Diff: chrome/browser/ui/gtk/location_bar_view_gtk.cc

Issue 10827191: Convert extension action icons code to use ImageSkia instead of SkBitmap (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/gtk/location_bar_view_gtk.h" 5 #include "chrome/browser/ui/gtk/location_bar_view_gtk.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1786 current_url_ = url; 1786 current_url_ = url;
1787 1787
1788 bool visible = contents && 1788 bool visible = contents &&
1789 (preview_enabled_ || page_action_->GetIsVisible(current_tab_id_)); 1789 (preview_enabled_ || page_action_->GetIsVisible(current_tab_id_));
1790 if (visible) { 1790 if (visible) {
1791 // Set the tooltip. 1791 // Set the tooltip.
1792 gtk_widget_set_tooltip_text(event_box_.get(), 1792 gtk_widget_set_tooltip_text(event_box_.get(),
1793 page_action_->GetTitle(current_tab_id_).c_str()); 1793 page_action_->GetTitle(current_tab_id_).c_str());
1794 1794
1795 // Set the image. 1795 // Set the image.
1796 gfx::Image icon = page_action_->GetIcon(current_tab_id_); 1796 gfx::ImageSkia icon = page_action_->GetIcon(current_tab_id_);
1797 if (!icon.IsEmpty()) { 1797 if (!icon.empty()) {
1798 GdkPixbuf* pixbuf = icon.ToGdkPixbuf(); 1798 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(*icon.bitmap());
1799 DCHECK(pixbuf); 1799 DCHECK(pixbuf);
1800 gtk_image_set_from_pixbuf(GTK_IMAGE(image_.get()), pixbuf); 1800 gtk_image_set_from_pixbuf(GTK_IMAGE(image_.get()), pixbuf);
1801 } 1801 }
1802 } 1802 }
1803 1803
1804 bool old_visible = IsVisible(); 1804 bool old_visible = IsVisible();
1805 if (visible) 1805 if (visible)
1806 gtk_widget_show_all(event_box_.get()); 1806 gtk_widget_show_all(event_box_.get());
1807 else 1807 else
1808 gtk_widget_hide_all(event_box_.get()); 1808 gtk_widget_hide_all(event_box_.get());
(...skipping 12 matching lines...) Expand all
1821 int index) { 1821 int index) {
1822 // We loaded icons()->size() icons, plus one extra if the page action had 1822 // We loaded icons()->size() icons, plus one extra if the page action had
1823 // a default icon. 1823 // a default icon.
1824 int total_icons = static_cast<int>(page_action_->icon_paths()->size()); 1824 int total_icons = static_cast<int>(page_action_->icon_paths()->size());
1825 if (!page_action_->default_icon_path().empty()) 1825 if (!page_action_->default_icon_path().empty())
1826 total_icons++; 1826 total_icons++;
1827 DCHECK(index < total_icons); 1827 DCHECK(index < total_icons);
1828 1828
1829 // Map the index of the loaded image back to its name. If we ever get an 1829 // Map the index of the loaded image back to its name. If we ever get an
1830 // index greater than the number of icons, it must be the default icon. 1830 // index greater than the number of icons, it must be the default icon.
1831 if (index < static_cast<int>(page_action_->icon_paths()->size())) 1831 if (index < static_cast<int>(page_action_->icon_paths()->size())) {
1832 page_action_->CacheIcon(page_action_->icon_paths()->at(index), image); 1832 page_action_->CacheIcon(page_action_->icon_paths()->at(index),
1833 else 1833 *image.ToImageSkia());
1834 page_action_->CacheIcon(page_action_->default_icon_path(), image); 1834 } else {
1835 page_action_->CacheIcon(page_action_->default_icon_path(),
1836 *image.ToImageSkia());
1837 }
1835 1838
1836 // If we have no owner, that means this class is still being constructed. 1839 // If we have no owner, that means this class is still being constructed.
1837 TabContents* tab_contents = owner_ ? owner_->GetTabContents() : NULL; 1840 TabContents* tab_contents = owner_ ? owner_->GetTabContents() : NULL;
1838 if (tab_contents) 1841 if (tab_contents)
1839 UpdateVisibility(tab_contents->web_contents(), current_url_); 1842 UpdateVisibility(tab_contents->web_contents(), current_url_);
1840 } 1843 }
1841 1844
1842 void LocationBarViewGtk::PageActionViewGtk::TestActivatePageAction() { 1845 void LocationBarViewGtk::PageActionViewGtk::TestActivatePageAction() {
1843 GdkEventButton event = {}; 1846 GdkEventButton event = {};
1844 event.button = 1; 1847 event.button = 1;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
2052 } 2055 }
2053 2056
2054 void LocationBarViewGtk::PageActionViewGtk::InspectPopup( 2057 void LocationBarViewGtk::PageActionViewGtk::InspectPopup(
2055 ExtensionAction* action) { 2058 ExtensionAction* action) {
2056 ExtensionPopupGtk::Show( 2059 ExtensionPopupGtk::Show(
2057 action->GetPopupUrl(current_tab_id_), 2060 action->GetPopupUrl(current_tab_id_),
2058 owner_->browser_, 2061 owner_->browser_,
2059 event_box_.get(), 2062 event_box_.get(),
2060 ExtensionPopupGtk::SHOW_AND_INSPECT); 2063 ExtensionPopupGtk::SHOW_AND_INSPECT);
2061 } 2064 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698