| Index: ui/views/cocoa/views_scrollbar_bridge.mm | 
| diff --git a/ui/views/cocoa/views_scrollbar_bridge.mm b/ui/views/cocoa/views_scrollbar_bridge.mm | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..6c64e8d0b261394b242260c987cabdeb0f6a58f5 | 
| --- /dev/null | 
| +++ b/ui/views/cocoa/views_scrollbar_bridge.mm | 
| @@ -0,0 +1,51 @@ | 
| +// 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. | 
| + | 
| +#import "ui/views/cocoa/views_scrollbar_bridge.h" | 
| + | 
| +#include "base/mac/mac_util.h" | 
| +#import "base/mac/sdk_forward_declarations.h" | 
| + | 
| +@interface ViewsScrollbarBridge () | 
| + | 
| +// Called when we receive a NSPreferredScrollerStyleDidChangeNotification. | 
| +- (void)onScrollerStyleChanged:(NSNotification*)notification; | 
| + | 
| +@end | 
| + | 
| +@implementation ViewsScrollbarBridge | 
| + | 
| +- (void)setDelegate:(ViewsScrollbarBridgeDelegate*)delegate { | 
| +  DCHECK_NE(delegate, delegate_); | 
| +  delegate_ = delegate; | 
| +  if (!delegate_) { | 
| +    [[NSNotificationCenter defaultCenter] removeObserver:self]; | 
| +    return; | 
| +  } | 
| +  [[NSNotificationCenter defaultCenter] | 
| +      addObserver:self | 
| +         selector:@selector(onScrollerStyleChanged:) | 
| +             name:NSPreferredScrollerStyleDidChangeNotification | 
| +           object:nil]; | 
| +} | 
| + | 
| +- (void)dealloc { | 
| +  DCHECK(!delegate_); | 
| +  [super dealloc]; | 
| +} | 
| + | 
| +- (void)onScrollerStyleChanged:(NSNotification*)notification { | 
| +  if (delegate_) | 
| +    delegate_->OnScrollerStyleChanged(); | 
| +} | 
| + | 
| ++ (NSScrollerStyle)getPreferredScrollerStyle { | 
| +  if (![NSScroller respondsToSelector:@selector(preferredScrollerStyle)]) { | 
| +    DCHECK(base::mac::IsOSSnowLeopard()); | 
| +    return NSScrollerStyleLegacy; | 
| +  } | 
| +  return [NSScroller preferredScrollerStyle]; | 
| +} | 
| + | 
| +@end | 
|  |