OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #include "core/frame/DOMTimer.h" | 5 #include "core/frame/DOMTimer.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
| 9 #include "bindings/core/v8/IDLTypes.h" |
| 10 #include "bindings/core/v8/NativeValueTraitsImpl.h" |
9 #include "bindings/core/v8/ScriptController.h" | 11 #include "bindings/core/v8/ScriptController.h" |
10 #include "bindings/core/v8/V8Binding.h" | 12 #include "bindings/core/v8/V8Binding.h" |
11 #include "core/dom/Document.h" | 13 #include "core/dom/Document.h" |
12 #include "core/layout/LayoutTestHelper.h" | 14 #include "core/layout/LayoutTestHelper.h" |
13 #include "platform/testing/TestingPlatformSupport.h" | 15 #include "platform/testing/TestingPlatformSupport.h" |
14 #include "testing/gmock/include/gmock/gmock.h" | 16 #include "testing/gmock/include/gmock/gmock.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
16 | 18 |
17 using testing::DoubleNear; | 19 using testing::DoubleNear; |
18 using testing::ElementsAreArray; | 20 using testing::ElementsAreArray; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 v8::Local<v8::Value> EvalExpression(const char* expr) { | 52 v8::Local<v8::Value> EvalExpression(const char* expr) { |
51 return GetDocument() | 53 return GetDocument() |
52 .GetFrame() | 54 .GetFrame() |
53 ->Script() | 55 ->Script() |
54 .ExecuteScriptInMainWorldAndReturnValue(ScriptSourceCode(expr)); | 56 .ExecuteScriptInMainWorldAndReturnValue(ScriptSourceCode(expr)); |
55 } | 57 } |
56 | 58 |
57 Vector<double> ToDoubleArray(v8::Local<v8::Value> value, | 59 Vector<double> ToDoubleArray(v8::Local<v8::Value> value, |
58 v8::HandleScope& scope) { | 60 v8::HandleScope& scope) { |
59 NonThrowableExceptionState exception_state; | 61 NonThrowableExceptionState exception_state; |
60 return ToImplArray<Vector<double>>(value, 0, scope.GetIsolate(), | 62 return NativeValueTraits<IDLSequence<IDLDouble>>::NativeValue( |
61 exception_state); | 63 scope.GetIsolate(), value, exception_state); |
62 } | 64 } |
63 | 65 |
64 void ExecuteScriptAndWaitUntilIdle(const char* script_text) { | 66 void ExecuteScriptAndWaitUntilIdle(const char* script_text) { |
65 ScriptSourceCode script(script_text); | 67 ScriptSourceCode script(script_text); |
66 GetDocument().GetFrame()->Script().ExecuteScriptInMainWorld(script); | 68 GetDocument().GetFrame()->Script().ExecuteScriptInMainWorld(script); |
67 platform_->RunUntilIdle(); | 69 platform_->RunUntilIdle(); |
68 } | 70 } |
69 }; | 71 }; |
70 | 72 |
71 const char* g_k_set_timeout_script_text = | 73 const char* g_k_set_timeout_script_text = |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 ExecuteScriptAndWaitUntilIdle(g_k_set_interval_script_text); | 129 ExecuteScriptAndWaitUntilIdle(g_k_set_interval_script_text); |
128 | 130 |
129 auto times(ToDoubleArray(EvalExpression("times"), scope)); | 131 auto times(ToDoubleArray(EvalExpression("times"), scope)); |
130 | 132 |
131 EXPECT_THAT(times, ElementsAreArray(kExpectedTimings)); | 133 EXPECT_THAT(times, ElementsAreArray(kExpectedTimings)); |
132 } | 134 } |
133 | 135 |
134 } // namespace | 136 } // namespace |
135 | 137 |
136 } // namespace blink | 138 } // namespace blink |
OLD | NEW |