Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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 import 'package:sky/theme/theme_data.dart'; | 5 import 'package:sky/theme/theme_data.dart'; |
| 6 import 'basic.dart'; | 6 import 'basic.dart'; |
| 7 import 'widget.dart'; | 7 import 'widget.dart'; |
| 8 | 8 |
| 9 class Theme extends Inherited { | 9 class Theme extends Inherited { |
| 10 | 10 |
| 11 Theme({ | 11 Theme({ |
| 12 String key, | 12 String key, |
| 13 this.data, | 13 this.data, |
| 14 Widget child | 14 Widget child |
| 15 }) : super(key: key, child: child) { | 15 }) : super(key: key, child: child) { |
| 16 assert(child != null); | 16 assert(child != null); |
| 17 assert(data != null); | 17 assert(data != null); |
| 18 } | 18 } |
| 19 | 19 |
| 20 final ThemeData data; | 20 final ThemeData data; |
| 21 | 21 |
| 22 static ThemeData _kFallbackTheme = new ThemeData.fallback(); | |
|
abarth-chromium
2015/06/23 02:11:36
final
jackson
2015/06/23 17:14:09
Fixed in https://codereview.chromium.org/119277300
| |
| 23 | |
| 22 static ThemeData of(Component component) { | 24 static ThemeData of(Component component) { |
| 23 Theme theme = component.inheritedOfType(Theme); | 25 Theme theme = component.inheritedOfType(Theme); |
| 24 // If you hit this assert, you need to wrap your Component in a Theme | 26 return theme == null ? _kFallbackTheme : theme.data; |
| 25 assert(theme != null); | |
| 26 return theme.data; | |
| 27 } | 27 } |
| 28 } | 28 } |
| OLD | NEW |