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

Side by Side Diff: chrome/browser/ui/libgtk2ui/gtk2_ui.cc

Issue 17494005: linux_aura: Three fixes for switching themes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup Created 7 years, 6 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/libgtk2ui/gtk2_ui.h" 5 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/environment.h"
10 #include "base/i18n/rtl.h" 11 #include "base/i18n/rtl.h"
11 #include "base/logging.h" 12 #include "base/logging.h"
12 #include "base/nix/mime_util_xdg.h" 13 #include "base/nix/mime_util_xdg.h"
13 #include "base/stl_util.h" 14 #include "base/stl_util.h"
14 #include "chrome/browser/themes/theme_properties.h" 15 #include "chrome/browser/themes/theme_properties.h"
15 #include "chrome/browser/ui/libgtk2ui/chrome_gtk_frame.h" 16 #include "chrome/browser/ui/libgtk2ui/chrome_gtk_frame.h"
16 #include "chrome/browser/ui/libgtk2ui/gtk2_util.h" 17 #include "chrome/browser/ui/libgtk2ui/gtk2_util.h"
17 #include "chrome/browser/ui/libgtk2ui/native_theme_gtk2.h" 18 #include "chrome/browser/ui/libgtk2ui/native_theme_gtk2.h"
18 #include "chrome/browser/ui/libgtk2ui/select_file_dialog_impl.h" 19 #include "chrome/browser/ui/libgtk2ui/select_file_dialog_impl.h"
19 #include "chrome/browser/ui/libgtk2ui/skia_utils_gtk2.h" 20 #include "chrome/browser/ui/libgtk2ui/skia_utils_gtk2.h"
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 bool Gtk2UI::GetColor(int id, SkColor* color) const { 336 bool Gtk2UI::GetColor(int id, SkColor* color) const {
336 ColorMap::const_iterator it = colors_.find(id); 337 ColorMap::const_iterator it = colors_.find(id);
337 if (it != colors_.end()) { 338 if (it != colors_.end()) {
338 *color = it->second; 339 *color = it->second;
339 return true; 340 return true;
340 } 341 }
341 342
342 return false; 343 return false;
343 } 344 }
344 345
346 bool Gtk2UI::HasCustomImage(int id) const {
347 return IsOverridableImage(id);
348 }
349
345 ui::NativeTheme* Gtk2UI::GetNativeTheme() const { 350 ui::NativeTheme* Gtk2UI::GetNativeTheme() const {
346 return NativeThemeGtk2::instance(); 351 return NativeThemeGtk2::instance();
347 } 352 }
348 353
354 bool Gtk2UI::GetDefaultUsesSystemTheme() const {
355 scoped_ptr<base::Environment> env(base::Environment::Create());
356
357 switch (base::nix::GetDesktopEnvironment(env.get())) {
358 case base::nix::DESKTOP_ENVIRONMENT_GNOME:
359 case base::nix::DESKTOP_ENVIRONMENT_UNITY:
360 case base::nix::DESKTOP_ENVIRONMENT_XFCE:
361 return true;
362 case base::nix::DESKTOP_ENVIRONMENT_KDE3:
363 case base::nix::DESKTOP_ENVIRONMENT_KDE4:
364 case base::nix::DESKTOP_ENVIRONMENT_OTHER:
365 return false;
366 }
367 // Unless GetDesktopEnvironment() badly misbehaves, this should never happen.
368 NOTREACHED();
369 return false;
370 }
371
349 ui::SelectFileDialog* Gtk2UI::CreateSelectFileDialog( 372 ui::SelectFileDialog* Gtk2UI::CreateSelectFileDialog(
350 ui::SelectFileDialog::Listener* listener, 373 ui::SelectFileDialog::Listener* listener,
351 ui::SelectFilePolicy* policy) const { 374 ui::SelectFilePolicy* policy) const {
352 return SelectFileDialogImpl::Create(listener, policy); 375 return SelectFileDialogImpl::Create(listener, policy);
353 } 376 }
354 377
355 void Gtk2UI::GetScrollbarColors(GdkColor* thumb_active_color, 378 void Gtk2UI::GetScrollbarColors(GdkColor* thumb_active_color,
356 GdkColor* thumb_inactive_color, 379 GdkColor* thumb_inactive_color,
357 GdkColor* track_color) { 380 GdkColor* track_color) {
358 const GdkColor* theme_thumb_active = NULL; 381 const GdkColor* theme_thumb_active = NULL;
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 1003
981 void Gtk2UI::ClearAllThemeData() { 1004 void Gtk2UI::ClearAllThemeData() {
982 gtk_images_.clear(); 1005 gtk_images_.clear();
983 } 1006 }
984 1007
985 } // namespace libgtk2ui 1008 } // namespace libgtk2ui
986 1009
987 ui::LinuxUI* BuildGtk2UI() { 1010 ui::LinuxUI* BuildGtk2UI() {
988 return new libgtk2ui::Gtk2UI; 1011 return new libgtk2ui::Gtk2UI;
989 } 1012 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698