Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(276)

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/ScriptPromiseResolverTest.cpp

Issue 2366253002: Remove ActiveDOMObject::stop() (Closed)
Patch Set: temp Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 } 172 }
173 173
174 String onFulfilled, onRejected; 174 String onFulfilled, onRejected;
175 ASSERT_FALSE(promise.isEmpty()); 175 ASSERT_FALSE(promise.isEmpty());
176 { 176 {
177 ScriptState::Scope scope(getScriptState()); 177 ScriptState::Scope scope(getScriptState());
178 promise.then(Function::createFunction(getScriptState(), &onFulfilled), 178 promise.then(Function::createFunction(getScriptState(), &onFulfilled),
179 Function::createFunction(getScriptState(), &onRejected)); 179 Function::createFunction(getScriptState(), &onRejected));
180 } 180 }
181 181
182 getExecutionContext()->stopActiveDOMObjects(); 182 getExecutionContext()->notifyContextDestroyed();
183 { 183 {
184 ScriptState::Scope scope(getScriptState()); 184 ScriptState::Scope scope(getScriptState());
185 EXPECT_TRUE(resolver->promise().isEmpty()); 185 EXPECT_TRUE(resolver->promise().isEmpty());
186 } 186 }
187 187
188 resolver->resolve("hello"); 188 resolver->resolve("hello");
189 v8::MicrotasksScope::PerformCheckpoint(isolate()); 189 v8::MicrotasksScope::PerformCheckpoint(isolate());
190 190
191 EXPECT_EQ(String(), onFulfilled); 191 EXPECT_EQ(String(), onFulfilled);
192 EXPECT_EQ(String(), onRejected); 192 EXPECT_EQ(String(), onRejected);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 ScriptPromiseResolver* resolver = nullptr; 256 ScriptPromiseResolver* resolver = nullptr;
257 { 257 {
258 ScriptState::Scope scope(getScriptState()); 258 ScriptState::Scope scope(getScriptState());
259 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); 259 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState());
260 } 260 }
261 resolver->keepAliveWhilePending(); 261 resolver->keepAliveWhilePending();
262 ThreadState::current()->collectGarbage( 262 ThreadState::current()->collectGarbage(
263 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC); 263 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
264 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); 264 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive());
265 265
266 getExecutionContext()->stopActiveDOMObjects(); 266 getExecutionContext()->notifyContextDestroyed();
267 ThreadState::current()->collectGarbage( 267 ThreadState::current()->collectGarbage(
268 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC); 268 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
269 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); 269 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive());
270 } 270 }
271 271
272 TEST_F(ScriptPromiseResolverTest, suspend) { 272 TEST_F(ScriptPromiseResolverTest, suspend) {
273 ScriptPromiseResolverKeepAlive::reset(); 273 ScriptPromiseResolverKeepAlive::reset();
274 ScriptPromiseResolver* resolver = nullptr; 274 ScriptPromiseResolver* resolver = nullptr;
275 { 275 {
276 ScriptState::Scope scope(getScriptState()); 276 ScriptState::Scope scope(getScriptState());
277 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState()); 277 resolver = ScriptPromiseResolverKeepAlive::create(getScriptState());
278 } 278 }
279 resolver->keepAliveWhilePending(); 279 resolver->keepAliveWhilePending();
280 ThreadState::current()->collectGarbage( 280 ThreadState::current()->collectGarbage(
281 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC); 281 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
282 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); 282 ASSERT_TRUE(ScriptPromiseResolverKeepAlive::isAlive());
283 283
284 getExecutionContext()->suspendActiveDOMObjects(); 284 getExecutionContext()->suspendActiveDOMObjects();
285 resolver->resolve("hello"); 285 resolver->resolve("hello");
286 ThreadState::current()->collectGarbage( 286 ThreadState::current()->collectGarbage(
287 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC); 287 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
288 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive()); 288 EXPECT_TRUE(ScriptPromiseResolverKeepAlive::isAlive());
289 289
290 getExecutionContext()->stopActiveDOMObjects(); 290 getExecutionContext()->notifyContextDestroyed();
291 ThreadState::current()->collectGarbage( 291 ThreadState::current()->collectGarbage(
292 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC); 292 BlinkGC::NoHeapPointersOnStack, BlinkGC::GCWithSweep, BlinkGC::ForcedGC);
293 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive()); 293 EXPECT_FALSE(ScriptPromiseResolverKeepAlive::isAlive());
294 } 294 }
295 295
296 TEST_F(ScriptPromiseResolverTest, resolveVoid) { 296 TEST_F(ScriptPromiseResolverTest, resolveVoid) {
297 ScriptPromiseResolver* resolver = nullptr; 297 ScriptPromiseResolver* resolver = nullptr;
298 ScriptPromise promise; 298 ScriptPromise promise;
299 { 299 {
300 ScriptState::Scope scope(getScriptState()); 300 ScriptState::Scope scope(getScriptState());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 resolver->reject(); 337 resolver->reject();
338 v8::MicrotasksScope::PerformCheckpoint(isolate()); 338 v8::MicrotasksScope::PerformCheckpoint(isolate());
339 339
340 EXPECT_EQ(String(), onFulfilled); 340 EXPECT_EQ(String(), onFulfilled);
341 EXPECT_EQ("undefined", onRejected); 341 EXPECT_EQ("undefined", onRejected);
342 } 342 }
343 343
344 } // namespace 344 } // namespace
345 345
346 } // namespace blink 346 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698