Chromium Code Reviews| Index: ui/base/test/scoped_mac_rtl.mm |
| diff --git a/ui/base/test/scoped_mac_rtl.mm b/ui/base/test/scoped_mac_rtl.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e52625a1477bb18d6324ada8d6e214219063627e |
| --- /dev/null |
| +++ b/ui/base/test/scoped_mac_rtl.mm |
| @@ -0,0 +1,43 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "ui/base/test/scoped_mac_rtl.h" |
| + |
| +#import <Cocoa/Cocoa.h> |
| + |
| +#include "base/i18n/rtl.h" |
| +#include "ui/base/cocoa/rtl_feature.h" |
| + |
| +namespace { |
| + |
| +NSString* const kAppleTextDirectionDefaultsKey = @"AppleTextDirection"; |
| +NSString* const kForceRTLWritingDirectionDefaultsKey = |
| + @"NSForceRightToLeftWritingDirection"; |
| + |
| +} // namespace |
|
Robert Sesek
2016/12/07 19:21:01
nit: blank line after
lgrey
2016/12/07 19:34:21
Done.
|
| +namespace ui { |
| + |
| +ScopedEnableMacRTLLayout::ScopedEnableMacRTLLayout() { |
| + scoped_feature_list_.InitAndEnableFeature(ui::kExperimentalMacRTL); |
| + NSUserDefaults* standard_defaults = [NSUserDefaults standardUserDefaults]; |
| + original_apple_text_direction_ = |
| + [standard_defaults boolForKey:kAppleTextDirectionDefaultsKey]; |
| + original_rtl_writing_direction_ = |
| + [standard_defaults boolForKey:kForceRTLWritingDirectionDefaultsKey]; |
| + [standard_defaults setBool:YES forKey:kAppleTextDirectionDefaultsKey]; |
| + [standard_defaults setBool:YES forKey:kForceRTLWritingDirectionDefaultsKey]; |
| + original_locale_ = base::i18n::GetConfiguredLocale(); |
| + base::i18n::SetICUDefaultLocale("he"); |
| +} |
|
Robert Sesek
2016/12/07 19:21:01
nit: blank line after
lgrey
2016/12/07 19:34:21
Done.
|
| +ScopedEnableMacRTLLayout::~ScopedEnableMacRTLLayout() { |
| + [[NSUserDefaults standardUserDefaults] |
| + setBool:original_apple_text_direction_ |
| + forKey:kAppleTextDirectionDefaultsKey]; |
| + [[NSUserDefaults standardUserDefaults] |
| + setBool:original_rtl_writing_direction_ |
| + forKey:kForceRTLWritingDirectionDefaultsKey]; |
| + base::i18n::SetICUDefaultLocale(original_locale_); |
| +} |
| + |
| +} // namespace ui |