OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "bindings/core/v8/ScriptPromiseResolver.h" | 5 #include "bindings/core/v8/ScriptPromiseResolver.h" |
6 | 6 |
7 #include "bindings/core/v8/ScriptFunction.h" | 7 #include "bindings/core/v8/ScriptFunction.h" |
8 #include "bindings/core/v8/ScriptValue.h" | 8 #include "bindings/core/v8/ScriptValue.h" |
9 #include "bindings/core/v8/V8Binding.h" | 9 #include "bindings/core/v8/V8Binding.h" |
10 #include "core/dom/DOMException.h" | 10 #include "core/dom/DOMException.h" |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 | 232 |
233 TEST_F(ScriptPromiseResolverTest, keepAliveUntilResolved) | 233 TEST_F(ScriptPromiseResolverTest, keepAliveUntilResolved) |
234 { | 234 { |
235 ScriptPromiseResolverKeepAlive::reset(); | 235 ScriptPromiseResolverKeepAlive::reset(); |
236 ScriptPromiseResolver* resolver = nullptr; | 236 ScriptPromiseResolver* resolver = nullptr; |
237 { | 237 { |
238 ScriptState::Scope scope(getScriptState()); | 238 ScriptState::Scope scope(getScriptState()); |
239 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); | 239 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); |
240 } | 240 } |
241 resolver->keepAliveWhilePending(); | 241 resolver->keepAliveWhilePending(); |
242 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 242 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
243 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); | 243 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); |
244 | 244 |
245 resolver->resolve("hello"); | 245 resolver->resolve("hello"); |
246 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 246 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
247 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); | 247 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); |
248 } | 248 } |
249 | 249 |
250 TEST_F(ScriptPromiseResolverTest, keepAliveUntilRejected) | 250 TEST_F(ScriptPromiseResolverTest, keepAliveUntilRejected) |
251 { | 251 { |
252 ScriptPromiseResolverKeepAlive::reset(); | 252 ScriptPromiseResolverKeepAlive::reset(); |
253 ScriptPromiseResolver* resolver = nullptr; | 253 ScriptPromiseResolver* resolver = nullptr; |
254 { | 254 { |
255 ScriptState::Scope scope(getScriptState()); | 255 ScriptState::Scope scope(getScriptState()); |
256 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); | 256 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); |
257 } | 257 } |
258 resolver->keepAliveWhilePending(); | 258 resolver->keepAliveWhilePending(); |
259 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 259 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
260 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); | 260 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); |
261 | 261 |
262 resolver->reject("hello"); | 262 resolver->reject("hello"); |
263 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 263 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
264 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); | 264 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); |
265 } | 265 } |
266 | 266 |
267 TEST_F(ScriptPromiseResolverTest, keepAliveUntilStopped) | 267 TEST_F(ScriptPromiseResolverTest, keepAliveUntilStopped) |
268 { | 268 { |
269 ScriptPromiseResolverKeepAlive::reset(); | 269 ScriptPromiseResolverKeepAlive::reset(); |
270 ScriptPromiseResolver* resolver = nullptr; | 270 ScriptPromiseResolver* resolver = nullptr; |
271 { | 271 { |
272 ScriptState::Scope scope(getScriptState()); | 272 ScriptState::Scope scope(getScriptState()); |
273 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); | 273 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); |
274 } | 274 } |
275 resolver->keepAliveWhilePending(); | 275 resolver->keepAliveWhilePending(); |
276 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 276 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
277 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); | 277 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); |
278 | 278 |
279 getExecutionContext()->stopActiveDOMObjects(); | 279 getExecutionContext()->stopActiveDOMObjects(); |
280 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 280 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
281 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); | 281 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); |
282 } | 282 } |
283 | 283 |
284 TEST_F(ScriptPromiseResolverTest, suspend) | 284 TEST_F(ScriptPromiseResolverTest, suspend) |
285 { | 285 { |
286 ScriptPromiseResolverKeepAlive::reset(); | 286 ScriptPromiseResolverKeepAlive::reset(); |
287 ScriptPromiseResolver* resolver = nullptr; | 287 ScriptPromiseResolver* resolver = nullptr; |
288 { | 288 { |
289 ScriptState::Scope scope(getScriptState()); | 289 ScriptState::Scope scope(getScriptState()); |
290 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); | 290 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); |
291 } | 291 } |
292 resolver->keepAliveWhilePending(); | 292 resolver->keepAliveWhilePending(); |
293 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 293 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
294 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); | 294 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); |
295 | 295 |
296 getExecutionContext()->suspendActiveDOMObjects(); | 296 getExecutionContext()->suspendActiveDOMObjects(); |
297 resolver->resolve("hello"); | 297 resolver->resolve("hello"); |
298 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 298 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
299 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); | 299 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); |
300 | 300 |
301 getExecutionContext()->stopActiveDOMObjects(); | 301 getExecutionContext()->stopActiveDOMObjects(); |
302 ThreadHeap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSw
eep, BlinkGC::ForcedGC); | 302 Heap::collectGarbage(BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, B
linkGC::ForcedGC); |
303 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); | 303 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); |
304 } | 304 } |
305 | 305 |
306 TEST_F(ScriptPromiseResolverTest, resolveVoid) | 306 TEST_F(ScriptPromiseResolverTest, resolveVoid) |
307 { | 307 { |
308 ScriptPromiseResolver* resolver = nullptr; | 308 ScriptPromiseResolver* resolver = nullptr; |
309 ScriptPromise promise; | 309 ScriptPromise promise; |
310 { | 310 { |
311 ScriptState::Scope scope(getScriptState()); | 311 ScriptState::Scope scope(getScriptState()); |
312 resolver = ScriptPromiseResolver::create(getScriptState()); | 312 resolver = ScriptPromiseResolver::create(getScriptState()); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 resolver->reject(); | 347 resolver->reject(); |
348 v8::MicrotasksScope::PerformCheckpoint(isolate()); | 348 v8::MicrotasksScope::PerformCheckpoint(isolate()); |
349 | 349 |
350 EXPECT_EQ(String(), onFulfilled); | 350 EXPECT_EQ(String(), onFulfilled); |
351 EXPECT_EQ("undefined", onRejected); | 351 EXPECT_EQ("undefined", onRejected); |
352 } | 352 } |
353 | 353 |
354 } // namespace | 354 } // namespace |
355 | 355 |
356 } // namespace blink | 356 } // namespace blink |
OLD | NEW |