Lines Matching refs:arrow

71   void CreateArrowFromTarget(Arrow** arrow, Target* target) {
75 FROM_HERE, base::Bind(&BackgroundThread::DoCreateArrowFromTarget, arrow,
80 void CreateArrowFromArrow(Arrow** arrow, const Arrow* other) {
84 FROM_HERE, base::Bind(&BackgroundThread::DoCreateArrowFromArrow, arrow,
125 Target* DeRef(const Arrow* arrow) {
130 arrow, &result, &completion));
136 static void DoCreateArrowFromArrow(Arrow** arrow,
139 *arrow = new Arrow;
140 **arrow = *other;
144 static void DoCreateArrowFromTarget(Arrow** arrow,
147 *arrow = new Arrow;
148 (*arrow)->target = target->AsWeakPtr();
152 static void DoDeRef(const Arrow* arrow,
155 *result = arrow->target.get();
378 std::unique_ptr<Arrow> arrow(OffThreadObjectCreator<Arrow>::NewObject());
380 arrow->target = target.AsWeakPtr();
381 EXPECT_EQ(&target, arrow->target.get());
397 Arrow* arrow;
400 background.CreateArrowFromTarget(&arrow, target);
401 EXPECT_EQ(background.DeRef(arrow), target);
406 Arrow arrow;
407 arrow.target = target->AsWeakPtr();
410 EXPECT_EQ(target, background.DeRef(&arrow));
415 background.DeleteArrow(arrow);
422 Arrow* arrow;
426 background.CreateArrowFromTarget(&arrow, &target);
429 EXPECT_EQ(&target, background.DeRef(arrow));
432 arrow->target.reset();
435 arrow->target = target.AsWeakPtr();
438 EXPECT_EQ(&target, arrow->target.get());
443 delete arrow;
450 Arrow arrow;
454 arrow.target = target->factory.GetWeakPtr();
455 EXPECT_EQ(target.get(), arrow.target.get());
458 EXPECT_EQ(nullptr, arrow.target.get());
460 arrow.target = target->factory.GetWeakPtr();
462 EXPECT_EQ(target.get(), background.DeRef(&arrow));
478 Arrow arrow;
479 arrow.target = target.AsWeakPtr();
482 background.CreateArrowFromArrow(&arrow_copy, &arrow);
498 Arrow arrow;
499 arrow.target = target.AsWeakPtr();
500 background.CreateArrowFromArrow(&arrow_copy, &arrow);
517 Arrow arrow;
518 arrow.target = target.AsWeakPtr();
519 background.CreateArrowFromArrow(&arrow_copy, &arrow);
528 // Main thread creates an arrow referencing the Target.
529 Arrow *arrow = new Arrow();
530 arrow->target = target.AsWeakPtr();
532 // Background can copy and assign arrow (as well as the WeakPtr inside).
535 background.CopyAndAssignArrow(arrow);
536 background.DeleteArrow(arrow);
542 // Main thread creates an arrow referencing the Target.
543 Arrow *arrow = new Arrow();
544 arrow->target = target.AsWeakPtr();
546 // Background can copy and assign arrow's WeakPtr to a base class WeakPtr.
549 background.CopyAndAssignArrowBase(arrow);
550 background.DeleteArrow(arrow);
556 // Main thread creates an arrow referencing the Target.
557 Arrow* arrow = new Arrow();
558 arrow->target = target.AsWeakPtr();
560 // Background can delete arrow (as well as the WeakPtr inside).
563 background.DeleteArrow(arrow);
578 // Main thread creates an arrow referencing the Target.
579 Arrow arrow;
580 arrow.target = target.AsWeakPtr();
584 background.CreateArrowFromArrow(&arrow_copy, &arrow);
587 EXPECT_EQ(arrow.target.get(), arrow_copy->target.get());
604 // Main thread creates an arrow referencing the Target (so target's
606 Arrow arrow;
607 arrow.target = target.AsWeakPtr();
608 arrow.target.get();
613 ASSERT_DEATH(background.DeRef(&arrow), "");
623 // Main thread creates an arrow referencing the Target.
624 Arrow arrow;
625 arrow.target = target->AsWeakPtr();
630 background.DeRef(&arrow);
647 // Main thread creates an arrow referencing the Target, and references it, so
649 Arrow arrow;
650 arrow.target = target->AsWeakPtr();
651 arrow.target.get();
666 // Main thread creates an arrow referencing the Target.
667 Arrow arrow;
668 arrow.target = target->AsWeakPtr();
676 ASSERT_DEATH(arrow.target.get(), "");