"ViewportDeltasAppliedDuringPinch.RunMultiThread_DelegatingRenderer" is flaky |
||||
Issue description"ViewportDeltasAppliedDuringPinch.RunMultiThread_DelegatingRenderer" is flaky. This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label. We have detected 5 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyTQsSBUZsYWtlIkJWaWV3cG9ydERlbHRhc0FwcGxpZWREdXJpbmdQaW5jaC5SdW5NdWx0aVRocmVhZF9EZWxlZ2F0aW5nUmVuZGVyZXIM. Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
,
Jun 13 2017
Can you get an output of the flaky test in the bug so its not lost?
,
Jun 13 2017
pdr just added this here: https://chromium-review.googlesource.com/c/532633/
,
Jun 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/061d80fa409b0723b83c0c96661c550761021e1d commit 061d80fa409b0723b83c0c96661c550761021e1d Author: Dale Curtis <dalecurtis@chromium.org> Date: Tue Jun 13 23:48:57 2017 Disable flaky ViewportDeltasAppliedDuringPinch test. BUG= 733001 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: If695ac586c94f9ae7e8dfbeeece98b7d8a950977 Reviewed-on: https://chromium-review.googlesource.com/534695 Reviewed-by: enne <enne@chromium.org> Reviewed-by: Philip Rogers <pdr@chromium.org> Commit-Queue: Dale Curtis <dalecurtis@chromium.org> Cr-Commit-Position: refs/heads/master@{#479209} [modify] https://crrev.com/061d80fa409b0723b83c0c96661c550761021e1d/cc/trees/layer_tree_host_unittest.cc
,
Jun 13 2017
,
Jun 13 2017
Here's tsan output for one:
[ RUN ] ViewportDeltasAppliedDuringPinch.RunMultiThread_DelegatingRenderer
==================
WARNING: ThreadSanitizer: data race (pid=9436)
Read of size 1 at 0x7b5400000718 by main thread:
#0 cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch::DidCommit() cc/trees/layer_tree_host_unittest.cc:2781:10 (cc_unittests+0xfb3954)
#1 non-virtual thunk to cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch::DidCommit() cc/trees/layer_tree_host_unittest.cc (cc_unittests+0xfb3d1d)
#2 cc::LayerTreeHostClientForTesting::DidCommit() cc/test/layer_tree_test.cc:361:44 (cc_unittests+0x15f3872)
#3 cc::LayerTreeHost::CommitComplete() cc/trees/layer_tree_host.cc:400:12 (cc_unittests+0x1522c2a)
#4 cc::ProxyMain::BeginMainFrame(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >) cc/trees/proxy_main.cc:280:21 (cc_unittests+0x159b439)
#5 Invoke<base::WeakPtr<cc::ProxyMain>, std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> > > base/bind_internal.h:214:12 (cc_unittests+0x15c4dd4)
#6 void base::internal::InvokeHelper<true, void>::MakeItSo<void (cc::ProxyMain::*)(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >), base::WeakPtr<cc::ProxyMain>, std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> > >(void (cc::ProxyMain::*&&)(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >), base::WeakPtr<cc::ProxyMain>&&, std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >&&) base/bind_internal.h:305 (cc_unittests+0x15c4dd4)
#7 RunImpl<void (cc::ProxyMain::*)(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >), std::__1::tuple<base::WeakPtr<cc::ProxyMain>, base::internal::PassedWrapper<std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> > > >, 0, 1> base/bind_internal.h:361:12 (cc_unittests+0x15c4c36)
#8 base::internal::Invoker<base::internal::BindState<void (cc::ProxyMain::*)(std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> >), base::WeakPtr<cc::ProxyMain>, base::internal::PassedWrapper<std::__1::unique_ptr<cc::BeginMainFrameAndCommitState, std::__1::default_delete<cc::BeginMainFrameAndCommitState> > > >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:326 (cc_unittests+0x15c4c36)
#9 base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>::Run() && base/callback.h:91:12 (cc_unittests+0x57a0f1)
#10 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:33 (cc_unittests+0x186fb32)
#11 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:418:19 (cc_unittests+0x17ec8b0)
#12 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:429:5 (cc_unittests+0x17ed18b)
#13 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:536:13 (cc_unittests+0x17ed6ef)
#14 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31 (cc_unittests+0x17f1a49)
#15 base::MessageLoop::Run() base/message_loop/message_loop.cc:365:10 (cc_unittests+0x17ec223)
#16 non-virtual thunk to base::MessageLoop::Run() base/message_loop/message_loop.cc (cc_unittests+0x17ec26d)
#17 base::RunLoop::Run() base/run_loop.cc:111:14 (cc_unittests+0x1811424)
#18 cc::LayerTreeTest::RunTest(cc::CompositorMode) cc/test/layer_tree_test.cc:844:19 (cc_unittests+0x15f2684)
#19 cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch_RunMultiThread_DelegatingRenderer_Test::TestBody() cc/trees/layer_tree_host_unittest.cc:2793:1 (cc_unittests+0xfb2ae7)
#20 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x136e9ad)
#21 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2471 (cc_unittests+0x136e9ad)
#22 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2653:11 (cc_unittests+0x136f8ad)
#23 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2771:28 (cc_unittests+0x13700f6)
#24 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4648:43 (cc_unittests+0x1378ff6)
#25 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x13789f4)
#26 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4256 (cc_unittests+0x13789f4)
#27 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (cc_unittests+0x1627ea5)
#28 base::TestSuite::Run() base/test/test_suite.cc:271 (cc_unittests+0x1627ea5)
#29 Invoke<cc::CCTestSuite *> base/bind_internal.h:214:12 (cc_unittests+0x12ae655)
#30 MakeItSo<int (base::TestSuite::*const &)(), cc::CCTestSuite *> base/bind_internal.h:285 (cc_unittests+0x12ae655)
#31 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<cc::CCTestSuite> > &, 0> base/bind_internal.h:361 (cc_unittests+0x12ae655)
#32 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<cc::CCTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (cc_unittests+0x12ae655)
#33 Run base/callback.h:80:12 (cc_unittests+0x1629e35)
#34 base::(anonymous namespace)::LaunchUnitTestsInternal(base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&, int, int, bool, base::Callback<void (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:216 (cc_unittests+0x1629e35)
#35 base::LaunchUnitTests(int, char**, base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:458:10 (cc_unittests+0x1629c5a)
#36 main cc/test/run_all_unittests.cc:15:10 (cc_unittests+0x12ae5ab)
Previous write of size 1 at 0x7b5400000718 by thread T9:
#0 DrawLayersOnThread cc/trees/layer_tree_host_unittest.cc:2766:21 (cc_unittests+0xfb3c8b)
#1 non-virtual thunk to cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch::DrawLayersOnThread(cc::LayerTreeHostImpl*) cc/trees/layer_tree_host_unittest.cc (cc_unittests+0xfb3c8b)
#2 cc::LayerTreeHostImplForTesting::DrawLayers(cc::LayerTreeHostImpl::FrameData*) cc/test/layer_tree_test.cc:192:18 (cc_unittests+0x15f44d0)
#3 cc::ProxyImpl::DrawInternal(bool) cc/trees/proxy_impl.cc:671:32 (cc_unittests+0x15c27b5)
#4 cc::ProxyImpl::ScheduledActionDrawIfPossible() cc/trees/proxy_impl.cc:529:10 (cc_unittests+0x15c23d1)
#5 non-virtual thunk to cc::ProxyImpl::ScheduledActionDrawIfPossible() cc/trees/proxy_impl.cc (cc_unittests+0x15c2a7d)
#6 cc::Scheduler::DrawIfPossible() cc/scheduler/scheduler.cc:580:32 (cc_unittests+0x14bc39d)
#7 cc::Scheduler::ProcessScheduledActions() cc/scheduler/scheduler.cc:661:9 (cc_unittests+0x14b806d)
#8 cc::Scheduler::OnBeginImplFrameDeadline() cc/scheduler/scheduler.cc:568:3 (cc_unittests+0x14b7a88)
#9 Invoke<const base::WeakPtr<cc::Scheduler> &> base/bind_internal.h:214:12 (cc_unittests+0x14bcb9f)
#10 MakeItSo<void (cc::Scheduler::*const &)(), const base::WeakPtr<cc::Scheduler> &> base/bind_internal.h:305 (cc_unittests+0x14bcb9f)
#11 RunImpl<void (cc::Scheduler::*const &)(), const std::__1::tuple<base::WeakPtr<cc::Scheduler> > &, 0> base/bind_internal.h:361 (cc_unittests+0x14bcb9f)
#12 base::internal::Invoker<base::internal::BindState<void (cc::Scheduler::*)(), base::WeakPtr<cc::Scheduler> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (cc_unittests+0x14bcb9f)
#13 Run base/callback.h:80:12 (cc_unittests+0x134dea0)
#14 base::CancelableCallback<void ()>::Forward() const base/cancelable_callback.h:110 (cc_unittests+0x134dea0)
#15 Invoke<const base::WeakPtr<base::CancelableCallback<void ()> > &> base/bind_internal.h:234:12 (cc_unittests+0x134e0cf)
#16 MakeItSo<void (base::CancelableCallback<void ()>::*const &)() const, const base::WeakPtr<base::CancelableCallback<void ()> > &> base/bind_internal.h:305 (cc_unittests+0x134e0cf)
#17 RunImpl<void (base::CancelableCallback<void ()>::*const &)() const, const std::__1::tuple<base::WeakPtr<base::CancelableCallback<void ()> > > &, 0> base/bind_internal.h:361 (cc_unittests+0x134e0cf)
#18 base::internal::Invoker<base::internal::BindState<void (base::CancelableCallback<void ()>::*)() const, base::WeakPtr<base::CancelableCallback<void ()> > >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (cc_unittests+0x134e0cf)
#19 base::Callback<void (), (base::internal::CopyMode)0, (base::internal::RepeatMode)0>::Run() && base/callback.h:91:12 (cc_unittests+0x57a0f1)
#20 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:33 (cc_unittests+0x186fb32)
#21 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:418:19 (cc_unittests+0x17ec8b0)
#22 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:429:5 (cc_unittests+0x17ed18b)
#23 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:536:13 (cc_unittests+0x17ed6ef)
#24 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31 (cc_unittests+0x17f1a49)
#25 base::MessageLoop::Run() base/message_loop/message_loop.cc:365:10 (cc_unittests+0x17ec223)
#26 non-virtual thunk to base::MessageLoop::Run() base/message_loop/message_loop.cc (cc_unittests+0x17ec26d)
#27 base::RunLoop::Run() base/run_loop.cc:111:14 (cc_unittests+0x1811424)
#28 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (cc_unittests+0x1836ccb)
#29 base::Thread::ThreadMain() base/threading/thread.cc:338:3 (cc_unittests+0x18371e1)
#30 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13 (cc_unittests+0x182dcf8)
Location is heap block of size 544 at 0x7b5400000500 allocated by main thread:
#0 operator new(unsigned long) <null> (cc_unittests+0x5784e2)
#1 testing::internal::TestFactoryImpl<cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch_RunMultiThread_DelegatingRenderer_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484:39 (cc_unittests+0xfb2a2c)
#2 HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test *> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x136f80a)
#3 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2644 (cc_unittests+0x136f80a)
#4 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2771:28 (cc_unittests+0x13700f6)
#5 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4648:43 (cc_unittests+0x1378ff6)
#6 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x13789f4)
#7 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4256 (cc_unittests+0x13789f4)
#8 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (cc_unittests+0x1627ea5)
#9 base::TestSuite::Run() base/test/test_suite.cc:271 (cc_unittests+0x1627ea5)
#10 Invoke<cc::CCTestSuite *> base/bind_internal.h:214:12 (cc_unittests+0x12ae655)
#11 MakeItSo<int (base::TestSuite::*const &)(), cc::CCTestSuite *> base/bind_internal.h:285 (cc_unittests+0x12ae655)
#12 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<cc::CCTestSuite> > &, 0> base/bind_internal.h:361 (cc_unittests+0x12ae655)
#13 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<cc::CCTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (cc_unittests+0x12ae655)
#14 Run base/callback.h:80:12 (cc_unittests+0x1629e35)
#15 base::(anonymous namespace)::LaunchUnitTestsInternal(base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&, int, int, bool, base::Callback<void (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:216 (cc_unittests+0x1629e35)
#16 base::LaunchUnitTests(int, char**, base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:458:10 (cc_unittests+0x1629c5a)
#17 main cc/test/run_all_unittests.cc:15:10 (cc_unittests+0x12ae5ab)
Thread T9 'Compositor' (tid=9470, running) created by main thread at:
#0 pthread_create <null> (cc_unittests+0x5141b3)
#1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:110:13 (cc_unittests+0x182d8f6)
#2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:193:10 (cc_unittests+0x182d7b5)
#3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (cc_unittests+0x1836543)
#4 base::Thread::Start() base/threading/thread.cc:75:10 (cc_unittests+0x183611d)
#5 cc::LayerTreeTest::RunTest(cc::CompositorMode) cc/test/layer_tree_test.cc:820:5 (cc_unittests+0x15f21a2)
#6 cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch_RunMultiThread_DelegatingRenderer_Test::TestBody() cc/trees/layer_tree_host_unittest.cc:2793:1 (cc_unittests+0xfb2ae7)
#7 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x136e9ad)
#8 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2471 (cc_unittests+0x136e9ad)
#9 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2653:11 (cc_unittests+0x136f8ad)
#10 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2771:28 (cc_unittests+0x13700f6)
#11 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4648:43 (cc_unittests+0x1378ff6)
#12 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc:2455:12 (cc_unittests+0x13789f4)
#13 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4256 (cc_unittests+0x13789f4)
#14 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (cc_unittests+0x1627ea5)
#15 base::TestSuite::Run() base/test/test_suite.cc:271 (cc_unittests+0x1627ea5)
#16 Invoke<cc::CCTestSuite *> base/bind_internal.h:214:12 (cc_unittests+0x12ae655)
#17 MakeItSo<int (base::TestSuite::*const &)(), cc::CCTestSuite *> base/bind_internal.h:285 (cc_unittests+0x12ae655)
#18 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<cc::CCTestSuite> > &, 0> base/bind_internal.h:361 (cc_unittests+0x12ae655)
#19 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<cc::CCTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (cc_unittests+0x12ae655)
#20 Run base/callback.h:80:12 (cc_unittests+0x1629e35)
#21 base::(anonymous namespace)::LaunchUnitTestsInternal(base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&, int, int, bool, base::Callback<void (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:216 (cc_unittests+0x1629e35)
#22 base::LaunchUnitTests(int, char**, base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:458:10 (cc_unittests+0x1629c5a)
#23 main cc/test/run_all_unittests.cc:15:10 (cc_unittests+0x12ae5ab)
SUMMARY: ThreadSanitizer: data race cc/trees/layer_tree_host_unittest.cc:2781:10 in cc::(anonymous namespace)::ViewportDeltasAppliedDuringPinch::DidCommit()
,
Jun 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a25eb3463ff98739cc2b094342125f8e998332c3 commit a25eb3463ff98739cc2b094342125f8e998332c3 Author: Philip Rogers <pdr@chromium.org> Date: Thu Jun 15 17:18:01 2017 Deflake ViewportDeltasAppliedDuringPinch test The new test ViewportDeltasAppliedDuringPinch was flaky on tsan due to a thread race. This patch removes DidCommit and instead ends the test in ApplyViewportDeltas. Checking the value of the scroll offset in DidCommit was not necessary as the scroll offset is set before calling ApplyViewportDeltas (see comment in LayerTreeHost::ApplyViewportDeltas). Bug: 733001 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel Change-Id: I7e88e3745ff6cfedb95bf6a4c1098d21201ecd40 Reviewed-on: https://chromium-review.googlesource.com/535162 Reviewed-by: enne <enne@chromium.org> Commit-Queue: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#479745} [modify] https://crrev.com/a25eb3463ff98739cc2b094342125f8e998332c3/cc/trees/layer_tree_host_unittest.cc
,
Jul 6 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by dalecur...@chromium.org
, Jun 13 2017