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 "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h" 6 7 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" 8 9 namespace blink { 10 Trace(Visitor * visitor)11void ScrollStateCallbackV8Impl::Trace(Visitor* visitor) { 12 visitor->Trace(callback_); 13 ScrollStateCallback::Trace(visitor); 14 } 15 Invoke(ScrollState * scroll_state)16void ScrollStateCallbackV8Impl::Invoke(ScrollState* scroll_state) { 17 callback_->InvokeAndReportException(nullptr, scroll_state); 18 } 19 ParseNativeScrollBehavior(const String & native_scroll_behavior)20NativeScrollBehavior ScrollStateCallbackV8Impl::ParseNativeScrollBehavior( 21 const String& native_scroll_behavior) { 22 static const char kDisable[] = "disable-native-scroll"; 23 static const char kBefore[] = "perform-before-native-scroll"; 24 static const char kAfter[] = "perform-after-native-scroll"; 25 26 if (native_scroll_behavior == kDisable) 27 return NativeScrollBehavior::kDisableNativeScroll; 28 if (native_scroll_behavior == kBefore) 29 return NativeScrollBehavior::kPerformBeforeNativeScroll; 30 if (native_scroll_behavior == kAfter) 31 return NativeScrollBehavior::kPerformAfterNativeScroll; 32 33 NOTREACHED(); 34 return NativeScrollBehavior::kDisableNativeScroll; 35 } 36 37 } // namespace blink 38