OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include <string> |
| 6 |
| 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" |
| 9 #include "ui/base/resource/material_design/material_design_controller.h" |
| 10 #include "ui/base/ui_base_switches.h" |
| 11 |
| 12 namespace ui { |
| 13 |
| 14 bool MaterialDesignController::is_mode_initialized_ = false; |
| 15 |
| 16 MaterialDesignController::Mode MaterialDesignController::mode_ = |
| 17 MaterialDesignController::Mode::NON_MATERIAL; |
| 18 |
| 19 MaterialDesignController::Mode MaterialDesignController::GetMode() { |
| 20 if (!is_mode_initialized_) |
| 21 InitializeMode(); |
| 22 CHECK(is_mode_initialized_); |
| 23 return mode_; |
| 24 } |
| 25 |
| 26 void MaterialDesignController::InitializeMode() { |
| 27 #if !defined(ENABLE_TOPCHROME_MD) |
| 28 SetMode(Mode::NON_MATERIAL); |
| 29 #else |
| 30 const std::string switch_value = |
| 31 base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( |
| 32 switches::kTopChromeMD); |
| 33 |
| 34 if (switch_value == switches::kTopChromeMDMaterial) { |
| 35 SetMode(Mode::MATERIAL); |
| 36 } else if (switch_value == switches::kTopChromeMDMaterialHybrid) { |
| 37 SetMode(Mode::MATERIAL_HYBRID); |
| 38 } else if (switch_value == switches::kTopChromeMDNonMaterial) { |
| 39 SetMode(Mode::NON_MATERIAL); |
| 40 } else { |
| 41 NOTREACHED() << "Invalid value='" << switch_value |
| 42 << "' for command line switch '" << switches::kTopChromeMD |
| 43 << "'."; |
| 44 SetMode(Mode::NON_MATERIAL); |
| 45 } |
| 46 #endif // !defined(ENABLE_TOPCHROME_MD) |
| 47 } |
| 48 |
| 49 void MaterialDesignController::UninitializeMode() { |
| 50 MaterialDesignController::SetMode( |
| 51 MaterialDesignController::Mode::NON_MATERIAL); |
| 52 is_mode_initialized_ = false; |
| 53 } |
| 54 |
| 55 void MaterialDesignController::SetMode(MaterialDesignController::Mode mode) { |
| 56 mode_ = mode; |
| 57 is_mode_initialized_ = true; |
| 58 } |
| 59 |
| 60 } // namespace ui |
OLD | NEW |