Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix warning when building with jessie sysroot/clang #15

Closed
tonikitoo opened this issue Apr 3, 2017 · 1 comment
Closed

Fix warning when building with jessie sysroot/clang #15

tonikitoo opened this issue Apr 3, 2017 · 1 comment
Assignees

Comments

@tonikitoo
Copy link
Member

(...)
1 warning generated.
[16353/27046] CXX obj/services/ui/ws/mus_ws_unittests/window_tree_unittest.o
In file included from ../../../home/tonikitoo/Devel/chromium/src/services/ui/ws/window_tree_unittest.cc:5:
../../../home/tonikitoo/Devel/chromium/src/services/ui/ws/window_tree.h:623:36: warning: [chromium-style] WeakPtrFactory members which refer to their outer class must be the last member in the outer class definition.
base::WeakPtrFactory drag_weak_factory_;
^
1 warning generated.
[27046/27046] LINK ./chrome

msisov pushed a commit to msisov/chromium that referenced this issue Apr 4, 2017
…(patchset Igalia#2 id:40001 of https://codereview.chromium.org/2790443004/ )

Reason for revert:
Fails on msan.

https://build.chromium.org/p/chromium.memory.full/builders/Linux%20MSan%20Tests/builds/6793

==25314==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x173e79ea in vp8_intra4x4_predict third_party/libvpx/source/libvpx/vp8/common/reconintra4x4.c:64:3
    Igalia#1 0x17411f49 in vp8_encode_intra4x4block third_party/libvpx/source/libvpx/vp8/encoder/encodeintra.c:55:3
    Igalia#2 0x17080455 in pick_intra4x4block third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:283:3
    Igalia#3 0x17080455 in pick_intra4x4mby_modes third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:313:0
    Igalia#4 0x17083a01 in vp8_pick_intra_mode third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:1425:14
    Igalia#5 0x1740e0b4 in vp8cx_encode_intra_macroblock third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:1089:5
    Igalia#6 0x1740b8f7 in encode_mb_row third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:458:21
    Igalia#7 0x17406d89 in vp8_encode_frame third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:777:9
    Igalia#8 0x17063469 in encode_frame_to_data_rate third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:3987:5
    Igalia#9 0x17063469 in vp8_get_compressed_data third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:5098:0
    Igalia#10 0x170280a7 in vp8e_encode third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:879:25
    Igalia#11 0x1704d1cc in vpx_codec_encode third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c:209:13
    Igalia#12 0x16c10f29 in content::(anonymous namespace)::VpxEncoder::DoEncode(vpx_codec_ctx*, gfx::Size const&, unsigned char*, unsigned char*, int, unsigned char*, int, unsigned char*, int, base::TimeDelta const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) content/renderer/media_recorder/video_track_recorder.cc:932:7
    Igalia#13 0x16c0da73 in content::(anonymous namespace)::VpxEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<media::VideoFrame>, base::TimeTicks) content/renderer/media_recorder/video_track_recorder.cc:871:3
    Igalia#14 0x16c12113 in Invoke<const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:214:12
    Igalia#15 0x16c12113 in MakeItSo<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:285:0
    Igalia#16 0x16c12113 in RunImpl<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const std::__1::tuple<scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks> &, 0, 1, 2> base/bind_internal.h:361:0
    Igalia#17 0x16c12113 in base::internal::Invoker<base::internal::BindState<void (content::VideoTrackRecorder::Encoder::*)(scoped_refptr<media::VideoFrame>, base::TimeTicks), scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339:0
    Igalia#18 0xe0651e5 in Run base/callback.h:91:12
    Igalia#19 0xe0651e5 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
    Igalia#20 0xde5cbc3 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:423:19
    Igalia#21 0xde5e5b1 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:434:5
    Igalia#22 0xde6015e in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:527:13
    Igalia#23 0xde6d8d0 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
    Igalia#24 0xde5bc46 in base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:387:10
    Igalia#25 0xdede3fc in base::RunLoop::Run() base/run_loop.cc:37:10
    Igalia#26 0xdf87aef in base::Thread::ThreadMain() base/threading/thread.cc:333:3
    Igalia#27 0xdf70fb5 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13
    Igalia#28 0x7f49dc121183 in start_thread /build/eglibc-oGUzwX/eglibc-2.19/nptl/pthread_create.c:312:0
    Igalia#29 0x7f49dbc3837c in clone /build/eglibc-oGUzwX/eglibc-2.19/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:111:0

  Uninitialized value was stored to memory at
    #0 0x1707f3e6 in pick_intra4x4block third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:282:18
    Igalia#1 0x1707f3e6 in pick_intra4x4mby_modes third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:313:0
    Igalia#2 0x17083a01 in vp8_pick_intra_mode third_party/libvpx/source/libvpx/vp8/encoder/pickinter.c:1425:14
    Igalia#3 0x1740e0b4 in vp8cx_encode_intra_macroblock third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:1089:5
    Igalia#4 0x1740b8f7 in encode_mb_row third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:458:21
    Igalia#5 0x17406d89 in vp8_encode_frame third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:777:9
    Igalia#6 0x17063469 in encode_frame_to_data_rate third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:3987:5
    Igalia#7 0x17063469 in vp8_get_compressed_data third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:5098:0
    Igalia#8 0x170280a7 in vp8e_encode third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:879:25
    Igalia#9 0x1704d1cc in vpx_codec_encode third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c:209:13
    Igalia#10 0x16c10f29 in content::(anonymous namespace)::VpxEncoder::DoEncode(vpx_codec_ctx*, gfx::Size const&, unsigned char*, unsigned char*, int, unsigned char*, int, unsigned char*, int, base::TimeDelta const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) content/renderer/media_recorder/video_track_recorder.cc:932:7
    Igalia#11 0x16c0da73 in content::(anonymous namespace)::VpxEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<media::VideoFrame>, base::TimeTicks) content/renderer/media_recorder/video_track_recorder.cc:871:3
    Igalia#12 0x16c12113 in Invoke<const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:214:12
    Igalia#13 0x16c12113 in MakeItSo<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:285:0
    Igalia#14 0x16c12113 in RunImpl<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const std::__1::tuple<scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks> &, 0, 1, 2> base/bind_internal.h:361:0
    Igalia#15 0x16c12113 in base::internal::Invoker<base::internal::BindState<void (content::VideoTrackRecorder::Encoder::*)(scoped_refptr<media::VideoFrame>, base::TimeTicks), scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339:0
    Igalia#16 0xe0651e5 in Run base/callback.h:91:12
    Igalia#17 0xe0651e5 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
    Igalia#18 0xde5cbc3 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:423:19
    Igalia#19 0xde5e5b1 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:434:5
    Igalia#20 0xde6015e in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:527:13
    Igalia#21 0xde6d8d0 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
    Igalia#22 0xde5bc46 in base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:387:10
    Igalia#23 0xdede3fc in base::RunLoop::Run() base/run_loop.cc:37:10
    Igalia#24 0xdf87aef in base::Thread::ThreadMain() base/threading/thread.cc:333:3
    Igalia#25 0xdf70fb5 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13

  Uninitialized value was stored to memory at
    #0 0x6c3fcb in __msan_memcpy ??:0:0
    Igalia#1 0x173dba76 in vp8_copy_mem16x16_c third_party/libvpx/source/libvpx/vp8/common/reconinter.c:28:5
    Igalia#2 0x1740b0f7 in encode_mb_row third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:418:5
    Igalia#3 0x17406d89 in vp8_encode_frame third_party/libvpx/source/libvpx/vp8/encoder/encodeframe.c:777:9
    Igalia#4 0x17063469 in encode_frame_to_data_rate third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:3987:5
    Igalia#5 0x17063469 in vp8_get_compressed_data third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:5098:0
    Igalia#6 0x170280a7 in vp8e_encode third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:879:25
    Igalia#7 0x1704d1cc in vpx_codec_encode third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c:209:13
    Igalia#8 0x16c10f29 in content::(anonymous namespace)::VpxEncoder::DoEncode(vpx_codec_ctx*, gfx::Size const&, unsigned char*, unsigned char*, int, unsigned char*, int, unsigned char*, int, base::TimeDelta const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) content/renderer/media_recorder/video_track_recorder.cc:932:7
    Igalia#9 0x16c0da73 in content::(anonymous namespace)::VpxEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<media::VideoFrame>, base::TimeTicks) content/renderer/media_recorder/video_track_recorder.cc:871:3
    Igalia#10 0x16c12113 in Invoke<const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:214:12
    Igalia#11 0x16c12113 in MakeItSo<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:285:0
    Igalia#12 0x16c12113 in RunImpl<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const std::__1::tuple<scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks> &, 0, 1, 2> base/bind_internal.h:361:0
    Igalia#13 0x16c12113 in base::internal::Invoker<base::internal::BindState<void (content::VideoTrackRecorder::Encoder::*)(scoped_refptr<media::VideoFrame>, base::TimeTicks), scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339:0
    Igalia#14 0xe0651e5 in Run base/callback.h:91:12
    Igalia#15 0xe0651e5 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
    Igalia#16 0xde5cbc3 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:423:19
    Igalia#17 0xde5e5b1 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:434:5
    Igalia#18 0xde6015e in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:527:13
    Igalia#19 0xde6d8d0 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
    Igalia#20 0xde5bc46 in base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:387:10
    Igalia#21 0xdede3fc in base::RunLoop::Run() base/run_loop.cc:37:10
    Igalia#22 0xdf87aef in base::Thread::ThreadMain() base/threading/thread.cc:333:3
    Igalia#23 0xdf70fb5 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13
    Igalia#24 0x7f49dc121183 in start_thread /build/eglibc-oGUzwX/eglibc-2.19/nptl/pthread_create.c:312:0

  Uninitialized value was stored to memory at
    #0 0x6c3fcb in __msan_memcpy ??:0:0
    Igalia#1 0x176380f4 in copy_and_extend_plane third_party/libvpx/source/libvpx/vp8/common/extend.c:38:5
    Igalia#2 0x176380f4 in vp8_copy_and_extend_frame third_party/libvpx/source/libvpx/vp8/common/extend.c:73:0
    Igalia#3 0x174262e5 in vp8_lookahead_push third_party/libvpx/source/libvpx/vp8/encoder/lookahead.c:139:5
    Igalia#4 0x1705ceba in vp8_receive_raw_frame third_party/libvpx/source/libvpx/vp8/encoder/onyx_if.c:4817:7
    Igalia#5 0x1702745a in vp8e_encode third_party/libvpx/source/libvpx/vp8/vp8_cx_iface.c:863:11
    Igalia#6 0x1704d1cc in vpx_codec_encode third_party/libvpx/source/libvpx/vpx/src/vpx_encoder.c:209:13
    Igalia#7 0x16c10f29 in content::(anonymous namespace)::VpxEncoder::DoEncode(vpx_codec_ctx*, gfx::Size const&, unsigned char*, unsigned char*, int, unsigned char*, int, unsigned char*, int, base::TimeDelta const&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, bool*) content/renderer/media_recorder/video_track_recorder.cc:932:7
    Igalia#8 0x16c0da73 in content::(anonymous namespace)::VpxEncoder::EncodeOnEncodingTaskRunner(scoped_refptr<media::VideoFrame>, base::TimeTicks) content/renderer/media_recorder/video_track_recorder.cc:871:3
    Igalia#9 0x16c12113 in Invoke<const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:214:12
    Igalia#10 0x16c12113 in MakeItSo<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const scoped_refptr<content::VideoTrackRecorder::Encoder> &, const scoped_refptr<media::VideoFrame> &, const base::TimeTicks &> base/bind_internal.h:285:0
    Igalia#11 0x16c12113 in RunImpl<void (content::VideoTrackRecorder::Encoder::*const &)(scoped_refptr<media::VideoFrame>, base::TimeTicks), const std::__1::tuple<scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks> &, 0, 1, 2> base/bind_internal.h:361:0
    Igalia#12 0x16c12113 in base::internal::Invoker<base::internal::BindState<void (content::VideoTrackRecorder::Encoder::*)(scoped_refptr<media::VideoFrame>, base::TimeTicks), scoped_refptr<content::VideoTrackRecorder::Encoder>, scoped_refptr<media::VideoFrame>, base::TimeTicks>, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339:0
    Igalia#13 0xe0651e5 in Run base/callback.h:91:12
    Igalia#14 0xe0651e5 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
    Igalia#15 0xde5cbc3 in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:423:19
    Igalia#16 0xde5e5b1 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:434:5
    Igalia#17 0xde6015e in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:527:13
    Igalia#18 0xde6d8d0 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
    Igalia#19 0xde5bc46 in base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:387:10
    Igalia#20 0xdede3fc in base::RunLoop::Run() base/run_loop.cc:37:10
    Igalia#21 0xdf87aef in base::Thread::ThreadMain() base/threading/thread.cc:333:3
    Igalia#22 0xdf70fb5 in base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13
    Igalia#23 0x7f49dc121183 in start_thread /build/eglibc-oGUzwX/eglibc-2.19/nptl/pthread_create.c:312:0

  Uninitialized value was created by a heap allocation
    #0 0x6c4363 in __interceptor_posix_memalign ??:0:0
    Igalia#1 0xde417c9 in base::AlignedAlloc(unsigned long, unsigned long) base/memory/aligned_memory.cc:31:7
    Igalia#2 0xfb569fd in media::VideoFrame::AllocateYUV(bool) media/base/video_frame.cc:1205:7
    Igalia#3 0xfb4a6ef in media::VideoFrame::CreateFrameInternal(media::VideoPixelFormat, gfx::Size const&, gfx::Rect const&, gfx::Size const&, base::TimeDelta, bool) media/base/video_frame.cc:1064:10
    Igalia#4 0xfb49db0 in media::VideoFrame::CreateFrame(media::VideoPixelFormat, gfx::Size const&, gfx::Rect const&, gfx::Size const&, base::TimeDelta) media/base/video_frame.cc:180:10
    Igalia#5 0x5865ddd in content::VideoTrackRecorderTest_EncodeFrameWithPaddedCodedSize_Test::TestBody() content/renderer/media_recorder/video_track_recorder_unittest.cc:235:49
    Igalia#6 0xd7f73cc in HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2458:12
    Igalia#7 0xd7f73cc in testing::Test::Run() testing/gtest/src/gtest.cc:2474:0
    Igalia#8 0xd7f9cbb in testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:11
    Igalia#9 0xd7fb259 in testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:28
    Igalia#10 0xd81aefd in testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4647:43
    Igalia#11 0xd819d8e in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2458:12
    Igalia#12 0xd819d8e in testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255:0
    Igalia#13 0xb826860 in RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:46
    Igalia#14 0xb826860 in base::TestSuite::Run() base/test/test_suite.cc:271:0
    Igalia#15 0xb848b7c in Run base/callback.h:80:12
    Igalia#16 0xb848b7c in 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:211:0
    Igalia#17 0xb8483a6 in base::LaunchUnitTests(int, char**, base::Callback<int (), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&) base/test/launcher/unit_test_launcher.cc:453:10
    Igalia#18 0x4f826f6 in main content/test/run_all_unittests.cc:20:10
    Igalia#19 0x7f49dbb5ff44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287:0

Original issue's description:
> Copy based on coded size in VideoTrackRecorder::VEAEncoder
>
> This Cl addresses the below bug making sure that input frame's
> coded size is compared to VEA's requested and frame is copied
> when necessary.
>
> BUG=705273
> TEST=The given bug is fixed and added unittests.
>
> Review-Url: https://codereview.chromium.org/2790443004
> Cr-Commit-Position: refs/heads/master@{#460897}
> Committed: https://chromium.googlesource.com/chromium/src/+/68c20537e9ecd5715ffe280091c37fc6aa0a70f6

TBR=mcasas@chromium.org,emircan@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=705273

Review-Url: https://codereview.chromium.org/2785393002
Cr-Commit-Position: refs/heads/master@{#460975}
@tonikitoo tonikitoo self-assigned this Apr 4, 2017
tonikitoo added a commit that referenced this issue Apr 4, 2017
@fred-wang
Copy link
Member

Fixed by #25

tonikitoo pushed a commit that referenced this issue Apr 10, 2017
Pre-requisite for https://codereview.chromium.org/2690183002/

Otherwise it causes:
[7962:7962:0330/140009.008419:FATAL:task_tracker.cc(394)] Check failed: !shutdown_event_->IsSignaled().
#0 0x000002edc667 base::debug::StackTrace::StackTrace()
#1 0x000002ef500b logging::LogMessage::~LogMessage()
#2 0x000002f3f8b1 base::internal::TaskTracker::BeforePostTask()
#3 0x000002f3f75f base::internal::TaskTracker::WillPostTask()
#4 0x000002f93628 base::internal::SchedulerSingleThreadTaskRunnerManager::SchedulerSingleThreadTaskRunner::PostDelayedTask()
#5 0x000002f4982b base::SequencedWorkerPool::PoolSequencedTaskRunner::PostNonNestableDelayedTask()
#6 0x000002f24e4b base::SequencedTaskRunner::DeleteOrReleaseSoonInternal()
#7 0x000004c6dce5 storage::FileSystemContext::DeleteOnCorrectThread()
#8 0x000000c7232e MediaFileValidatorTest::~MediaFileValidatorTest()
#9 0x000000c722a9 MediaFileValidatorTest_ValidAudio_Test::~MediaFileValidatorTest_ValidAudio_Test()
#10 0x000003d7c391 testing::TestInfo::Run()
#11 0x000003d7c867 testing::TestCase::Run()
#12 0x000003d838a7 testing::internal::UnitTestImpl::RunAllTests()
#13 0x000003d83527 testing::UnitTest::Run()
#14 0x000002fcbc71 base::TestSuite::Run()
#15 0x000002ecef48 ChromeTestSuiteRunner::RunTestSuite()
#16 0x0000035e80ec content::LaunchTests()

BUG=653916

Review-Url: https://codereview.chromium.org/2789923002
Cr-Commit-Position: refs/heads/master@{#461227}
tonikitoo pushed a commit that referenced this issue Apr 10, 2017
…://codereview.chromium.org/2793993003/ )

Reason for revert:
Broke blink_platform_unittests on WebKit Linux Trusty (dbg)

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29

failed 20
Run on OS: 'Ubuntu-14.04'
failures:
GeometryMapperTest.FilterWithClipsAndTransforms
GeometryMapperTest.RoundedClip
GeometryMapperTest.TwoClipsWithTransformBetween
GeometryMapperTest.Root
GeometryMapperTest.ClipAfterTransform
GeometryMapperTest.TwoClipsTransformAbove
GeometryMapperTest.ReflectionWithPaintOffset
GeometryMapperTest.SimpleClip
GeometryMapperTest.SiblingTransforms
GeometryMapperTest.RotationAndScaleTransform
GeometryMapperTest.NestedTransformsScaleAndTranslation
GeometryMapperTest.TranslationTransform
GeometryMapperTest.NestedTransformsIntermediateDestination
GeometryMapperTest.SiblingTransformsWithClip
GeometryMapperTest.NestedTransformsFlattening
GeometryMapperTest.RotationAndScaleTransformWithTransformOrigin
GeometryMapperTest.TwoClips
GeometryMapperTest.IdentityTransform
GeometryMapperTest.NestedTransforms
GeometryMapperTest.ClipBeforeTransform

Sample stack trace:

[ RUN      ] GeometryMapperTest.ClipAfterTransform
../../build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/unique_ptr.h:228: std::unique_ptr::pointer std::unique_ptr<blink::GeometryMapper, std::default_delete<blink::GeometryMapper> >::operator->() const [_Tp = blink::GeometryMapper, _Dp = std::default_delete<blink::GeometryMapper>]: Assertion 'get() != pointer()' failed.
Received signal 6
#0 0x7fe3a88626bb base::debug::StackTrace::StackTrace()
#1 0x7fe3a88613bc base::debug::StackTrace::StackTrace()
#2 0x7fe3a88621cf base::debug::(anonymous namespace)::StackDumpSignalHandler()
#3 0x7fe3a9d72330 <unknown>
#4 0x7fe3a42cbc37 gsignal
#5 0x7fe3a42cf028 abort
#6 0x000000566ccf std::__replacement_assert()
#7 0x0000007706d6 std::unique_ptr<>::operator->()
#8 0x00000075a4b0 blink::GeometryMapperTest_ClipAfterTransform_Test::TestBody()
#9 0x000000eee60e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#10 0x000000ede742 testing::internal::HandleExceptionsInMethodIfSupported<>()
#11 0x000000ed3216 testing::Test::Run()
#12 0x000000ed39cd testing::TestInfo::Run()
#13 0x000000ed3f6f testing::TestCase::Run()
#14 0x000000ed92dc testing::internal::UnitTestImpl::RunAllTests()
#15 0x000000ef259e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#16 0x000000edffd2 testing::internal::HandleExceptionsInMethodIfSupported<>()
#17 0x000000ed8f7f testing::UnitTest::Run()
#18 0x000000e2c431 RUN_ALL_TESTS()
#19 0x000000e2b2d2 base::TestSuite::Run()
#20 0x000000a36565 (anonymous namespace)::runTestSuite()
#21 0x0000005e3a6a _ZN4base8internal13FunctorTraitsIPFvPiEvE6InvokeIJS2_EEEvS4_DpOT_
#22 0x000000a36858 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKPFiPNS_9TestSuiteEEJS5_EEEiOT_DpOT0_
#23 0x000000a36817 _ZN4base8internal7InvokerINS0_9BindStateIPFiPNS_9TestSuiteEEJNS0_17UnretainedWrapperIS3_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#24 0x000000a3675c _ZN4base8internal7InvokerINS0_9BindStateIPFiPNS_9TestSuiteEEJNS0_17UnretainedWrapperIS3_EEEEEFivEE3RunEPNS0_13BindStateBaseE
#25 0x00000082056d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#26 0x000000e50a16 base::(anonymous namespace)::LaunchUnitTestsInternal()
#27 0x000000e50884 base::LaunchUnitTests()
#28 0x000000a364c1 main
#29 0x7fe3a42b6f45 __libc_start_main
#30 0x00000052eb84 <unknown>
  r8: 29287265746e696f  r9: 696c623c6574656c r10: 0000000000000008 r11: 0000000000000206
 r12: 000000000052eb5b r13: 00007ffd79a846a0 r14: 0000000000000000 r15: 0000000000000000
  di: 0000000000006c05  si: 0000000000006c05  bp: 00007ffd79a82540  bx: 0000000000000000
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp: 00007ffd79a823d8
  ip: 00007fe3a42cbc37 efl: 0000000000000206 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.

Original issue's description:
> Make GeometryMapper fully static.
>
> Now that the cache for GeometryMapper is not stored on that object,
> we don't really need to allocate GeometryMapper objects at all. This
> change lets us avoid the cost and plumbing complexity of such objects.
>
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
>
> Review-Url: https://codereview.chromium.org/2793993003
> Cr-Commit-Position: refs/heads/master@{#461510}
> Committed: https://chromium.googlesource.com/chromium/src/+/0be71969c80ff018be92afb6bba2076bf3c1f55f

TBR=haraken@chromium.org,pdr@chromium.org,wangxianzhu@chromium.org,keishi@chromium.org,chrishtr@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2798513002
Cr-Commit-Position: refs/heads/master@{#461620}
msisov pushed a commit to msisov/chromium that referenced this issue Apr 24, 2017
…001 of https://codereview.chromium.org/2823043002/ )

Reason for revert:
Seems to be causing several tests to fail:
https://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/24975

Failure output:
../../build/linux/debian_jessie_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/debug/safe_iterator.210:
    error: attempt to construct a constant iterator from a singular mutable
    iterator.

Objects involved in the operation:
iterator "this" @ 0x0x7fff97b205a0 {
  state = dereferenceable;
  references sequence @ 0x0x7fff97b205a0
}
iterator "other" @ 0x0x7fff97b20878 {
  state = singular;
  references sequence @ 0x0x7fff97b20878
}
Received signal 6
#0 0x7f0cbdddb56b base::debug::StackTrace::StackTrace()
Igalia#1 0x7f0cbddda2ac base::debug::StackTrace::StackTrace()
Igalia#2 0x7f0cbdddb07f base::debug::(anonymous namespace)::StackDumpSignalHandler()
Igalia#3 0x7f0cbe22f330 <unknown>
Igalia#4 0x7f0ca248ac37 gsignal
Igalia#5 0x7f0ca248e028 abort
Igalia#6 0x7f0ca2adffe5 __gnu_debug::_Error_formatter::_M_error()
Igalia#7 0x7f0cb26be3ad _ZN11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKN2cc9SurfaceIdENSt9__cxx19986vectorIS4_SaIS4_EEEEENSt7__debug6vectorIS4_S9_EEEC2INS2_IPS4_SA_EEEERKNS0_IT_NS1_11__enable_ifIXsr3std10__are_sameISJ_SI_EE7__valueESE_E6__typeEEE
Igalia#8 0x7f0cb26ce1de cc::SurfaceAggregator::HandleSurfaceQuad()
Igalia#9 0x7f0cb26ce94f cc::SurfaceAggregator::CopyQuadsToPass()
Igalia#10 0x7f0cb26cf76e cc::SurfaceAggregator::CopyPasses()
Igalia#11 0x7f0cb26d1df6 cc::SurfaceAggregator::Aggregate()
Igalia#12 0x7f0cb268aacc cc::Display::DrawAndSwap()
Igalia#13 0x7f0cb269c3ab cc::DisplayScheduler::DrawAndSwap()
Igalia#14 0x7f0cb269baf6 cc::DisplayScheduler::AttemptDrawAndSwap()
Igalia#15 0x7f0cb269b3ef cc::DisplayScheduler::OnBeginFrameDeadline()
Igalia#16 0x7f0cb269c92b cc::DisplayScheduler::OnBeginFrameDerivedImpl()
Igalia#17 0x7f0cb2f1b179 cc::BeginFrameObserverBase::OnBeginFrame()
Igalia#18 0x7f0cb2f1cd96 cc::DelayBasedBeginFrameSource::OnTimerTick()
Igalia#19 0x7f0cb2f34d1a cc::DelayBasedTimeSource::OnTimerTick()
Igalia#20 0x7f0cb2d90107 _ZN4base8internal13FunctorTraitsIMN2cc28ScrollbarAnimationControllerEFvvEvE6InvokeIRKNS_7WeakPtrIS3_EEJEEEvS5_OT_DpOT0_
Igalia#21 0x7f0cb2f354da _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN2cc20DelayBasedTimeSourceEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_
Igalia#22 0x7f0cb2f35462 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc20DelayBasedTimeSourceEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
Igalia#23 0x7f0cb2f353ac _ZN4base8internal7InvokerINS0_9BindStateIMN2cc20DelayBasedTimeSourceEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
Igalia#24 0x7f0cb2d9044d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
Igalia#25 0x7f0cb2d8fe29 base::CancelableCallback<>::Forward()
Igalia#26 0x7f0cb2d90107 _ZN4base8internal13FunctorTraitsIMN2cc28ScrollbarAnimationControllerEFvvEvE6InvokeIRKNS_7WeakPtrIS3_EEJEEEvS5_OT_DpOT0_
Igalia#27 0x7f0cb2d9005a _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMNS_18CancelableCallbackIFvvEEEKFvvERKNS_7WeakPtrIS6_EEJEEEvOT_OT0_DpOT1_
Igalia#28 0x7f0cb2d8ffe2 _ZN4base8internal7InvokerINS0_9BindStateIMNS_18CancelableCallbackIFvvEEEKFvvEJNS_7WeakPtrIS5_EEEEES4_E7RunImplIRKS7_RKSt5tupleIJS9_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
Igalia#29 0x7f0cb2d8ff2c _ZN4base8internal7InvokerINS0_9BindStateIMNS_18CancelableCallbackIFvvEEEKFvvEJNS_7WeakPtrIS5_EEEEES4_E3RunEPNS0_13BindStateBaseE
Igalia#30 0x7f0cbdde126e _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
Igalia#31 0x7f0cbdde0a61 base::debug::TaskAnnotator::RunTask()
Igalia#32 0x7f0cbde68f1e base::MessageLoop::RunTask()
Igalia#33 0x7f0cbde69184 base::MessageLoop::DeferOrRunPendingTask()
Igalia#34 0x7f0cbde6970c base::MessageLoop::DoDelayedWork()
Igalia#35 0x7f0cbde7ee68 base::MessagePumpGlib::Run()
Igalia#36 0x7f0cbde68b02 base::MessageLoop::RunHandler()
Igalia#37 0x7f0cbdf02a64 base::RunLoop::Run()
Igalia#38 0x000004f3de76 content::RunThisRunLoop()
Igalia#39 0x0000089f1d0e extensions::ResultCatcher::GetNextResult()
Igalia#40 0x000001657c6c ExtensionApiTest::RunExtensionTestImpl()
Igalia#41 0x000001657685 ExtensionApiTest::RunExtensionTest()
Igalia#42 0x000000d8d146 extensions::ContentScriptApiTest_ContentScriptExtensionIframe_Test::RunTestOnMainThread()
Igalia#43 0x000003db23d5 InProcessBrowserTest::RunTestOnMainThreadLoop()
Igalia#44 0x000004eb9764 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
Igalia#45 0x00000093c845 _ZN4base8internal13FunctorTraitsIM25RenderViewContextMenuBaseFvvEvE6InvokeIP21RenderViewContextMenuJEEEvS4_OT_DpOT0_
Igalia#46 0x00000093c761 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKM25RenderViewContextMenuBaseFvvEJP21RenderViewContextMenuEEEvOT_DpOT0_
Igalia#47 0x000004eba6a7 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
Igalia#48 0x000004eba5ec _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
Igalia#49 0x00000092405d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
Igalia#50 0x000003e5880e ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
Igalia#51 0x000003e57450 ChromeBrowserMainParts::PreMainMessageLoopRun()
Igalia#52 0x000001e20bab chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
Igalia#53 0x7f0cb55d2931 content::BrowserMainLoop::PreMainMessageLoopRun()
Igalia#54 0x7f0cb48e4af5 _ZN4base8internal13FunctorTraitsIMN7content13URLLoaderImplEFvvEvE6InvokeIPS3_JEEEvS5_OT_DpOT0_
Igalia#55 0x7f0cb55dbae1 _ZN4base8internal12InvokeHelperILb0EiE8MakeItSoIRKMN7content15BrowserMainLoopEFivEJPS5_EEEiOT_DpOT0_
Igalia#56 0x7f0cb55dba87 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEiOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
Igalia#57 0x7f0cb55db9cc _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE
Igalia#58 0x7f0cb48cb4bd _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
Igalia#59 0x7f0cb60e53cb content::StartupTaskRunner::RunAllTasksNow()
Igalia#60 0x7f0cb55d0530 content::BrowserMainLoop::CreateStartupTasks()
Igalia#61 0x7f0cb55ded17 content::BrowserMainRunnerImpl::Initialize()
  r8: 00007f0ca28149d0  r9: 00007fff97b1ff98 r10: 0000000000000008 r11: 0000000000000202
 r12: 0000000000000002 r13: 00007fff97b28ea0 r14: 0000000000000000 r15: 0000000000000000
  di: 000000000000266d  si: 000000000000266d  bp: 00007fff97b20278  bx: 00007fff97b201f8
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp: 00007fff97b1ffe8
  ip: 00007f0ca248ac37 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]

Original issue's description:
> Use flat_set in SurfaceAggregator.
>
> The sets and maks are typically small or empty and created once. flat_set and
> flat_map will have better performance for these workloads.
>
> See the bug for histograms of sizes.
>
> BUG=712295
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2823043002
> Cr-Commit-Position: refs/heads/master@{#465040}
> Committed: https://chromium.googlesource.com/chromium/src/+/95286bcd87997785c90c4194d65a430d082bc784

TBR=jbauman@chromium.org,brettw@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=712295

Review-Url: https://codereview.chromium.org/2824953002
Cr-Commit-Position: refs/heads/master@{#465068}
tonikitoo pushed a commit that referenced this issue Jun 12, 2017
…hset #15 id:340001 of https://codereview.chromium.org/2874873003/ )

Reason for revert:
Seems to cause device-same-object test to fail consistently on Android, e.g.:

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.webkit%2FWebKit_Android__Nexus4_%2F65576%2F%2B%2Frecipes%2Fsteps%2Fwebkit_tests%2F0%2Fstdout

Original issue's description:
> bluetooth: Implement setNextGATTConnectionResponse()
>
> Sets the next GATT Connection request response for peripheral with
> |address| to |code|. |code| could be an HCI Error Code from
> BT 4.2 Vol 2 Part D 1.3 List Of Error Codes or a number outside that range
> returned by specific platforms e.g. Android returns 0x101 to signal a GATT
> failure
>
> BUG=719814
>
> Review-Url: https://codereview.chromium.org/2874873003
> Cr-Commit-Position: refs/heads/master@{#476940}
> Committed: https://chromium.googlesource.com/chromium/src/+/a7f7ed7b9e28bc9da80a4d36297efa9e3e31871c

TBR=dcheng@chromium.org,scheib@chromium.org,ortuno@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=719814

Review-Url: https://codereview.chromium.org/2921233002
Cr-Commit-Position: refs/heads/master@{#476961}
tonikitoo pushed a commit that referenced this issue Jun 26, 2017
…270001 of https://codereview.chromium.org/2897553002/ )

Reason for revert:
Speculative revert. I suspect this broke the interactive_ui_tests on Linux ChromiumOS MSan Tests (https://build.chromium.org/p/chromium.memory/builders/Linux%20ChromiumOS%20MSan%20Tests/builds/1276). The tests now time out, and the log contains lines with:

Still waiting for the following processes to finish:
	./interactive_ui_tests --brave-new-test-launcher --cfi-diag=0 --gtest_also_run_disabled_tests --gtest_filter=TestAsNormalAndGuestUser/SpokenFeedbackTest.NavigateSystemTray/0 --single_process --test-launcher-bot-mode --test-launcher-print-test-stdio=always --test-launcher-summary-output=/b/s/w/ioS9oZeu/output.json --user-data-dir=/b/s/w/it1bN0Em/.org.chromium.Chromium.iOqw8e/dOj481Q

Original issue's description:
> Do not activate TrayBubbleView by default
>
> - Activating a TrayBubbleView brings an Android window to onPause state.
> - This CL sets can_set_activate to false and makes TrayBubbleView not
>   activated by default.
> - If the TrayBubbleView is not activated, it cannot capture key events
>   for moving focus or closing the view by keyboard. TrayBubbleView tries
>   to register accelerators at the global level to capture those key
>   events.
> - Activates the TrayBubbleView by default if keyboard navigation
>   accessibility feature (e.g. spoken feedback) is enabled.
>
> BUG=726588,731748
> TEST=Follow steps described in the issue
>
> Review-Url: https://codereview.chromium.org/2897553002
> Cr-Commit-Position: refs/heads/master@{#481421}
> Committed: https://chromium.googlesource.com/chromium/src/+/c97f341f1a2f6f359ba1a7c8687aa58af6f7033c

TBR=stevenjb@chromium.org,dmazzoni@chromium.org,msw@chromium.org,jamescook@chromium.org,yawano@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=726588,731748

Review-Url: https://codereview.chromium.org/2948223002
Cr-Commit-Position: refs/heads/master@{#481485}
tonikitoo pushed a commit to tonikitoo/chromium that referenced this issue Aug 7, 2017
This reverts commit d09047b.

Reason for revert: 
This CL breaks Linux Trusty MSAN bot.
See
https://luci-milo.appspot.com/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20MSAN/2350
and successive builds.

Sample logs:
17:44:44.594 32438   ==1:1==WARNING: MemorySanitizer: use-of-uninitialized-value
17:44:44.594 32438       #0 0xf548000 in blink::LayoutTableCell::ShouldClipOverflow() const third_party/WebKit/Source/core/layout/LayoutTableCell.cpp:459:35
17:44:44.594 32438       Igalia#1 0xfdd1161 in NeedsOverflowClip third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:803:48
17:44:44.594 32438       Igalia#2 0xfdd1161 in UpdatePaintProperties third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:1208:0
17:44:44.594 32438       Igalia#3 0xfdd1161 in blink::PaintPropertyTreeBuilder::UpdatePropertiesForSelf(blink::LayoutObject const&, blink::PaintPropertyTreeBuilderContext&) third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:1244:0
17:44:44.594 32438       Igalia#4 0xfd6963c in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:190:28
17:44:44.594 32438       Igalia#5 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
17:44:44.594 32438       Igalia#6 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
17:44:44.594 32438       Igalia#7 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
17:44:44.594 32438       Igalia#8 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
17:44:44.594 32438       Igalia#9 0xfd68046 in blink::PrePaintTreeWalk::Walk(blink::LocalFrameView&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:92:5
17:44:44.594 32438       Igalia#10 0xfd674b4 in blink::PrePaintTreeWalk::Walk(blink::LocalFrameView&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:66:3
17:44:44.594 32438       Igalia#11 0xe513327 in blink::LocalFrameView::PrePaint() third_party/WebKit/Source/core/frame/LocalFrameView.cpp:3255:24
17:44:44.594 32438       Igalia#12 0xe50d013 in blink::LocalFrameView::UpdateLifecyclePhasesInternal(blink::DocumentLifecycle::LifecycleState) third_party/WebKit/Source/core/frame/LocalFrameView.cpp:3186:9
17:44:44.594 32438       Igalia#13 0xfb2ff7c in blink::PageAnimator::UpdateAllLifecyclePhases(blink::LocalFrame&) third_party/WebKit/Source/core/page/PageAnimator.cpp:100:9
17:44:44.594 32438       Igalia#14 0x1451947d in blink::WebViewImpl::UpdateAllLifecyclePhases() third_party/WebKit/Source/core/exported/WebViewImpl.cpp:1984:3
17:44:44.594 32438       Igalia#15 0x6b9e8bb in content::BlinkTestRunner::TestFinished() content/shell/renderer/layout_test/blink_test_runner.cc:606:11
17:44:44.594 32438       Igalia#16 0x11d957ed in test_runner::TestRunner::WorkQueue::ProcessWorkSoon() content/shell/test_runner/test_runner.cc:1572:29
17:44:44.595 32438       Igalia#17 0x11d9db51 in LocationChangeDone content/shell/test_runner/test_runner.cc:2819:17
17:44:44.595 32438       Igalia#18 0x11d9db51 in test_runner::TestRunner::tryToClearTopLoadingFrame(blink::WebFrame*) content/shell/test_runner/test_runner.cc:1951:0
17:44:44.595 32438       Igalia#19 0xf9a560e in blink::ProgressTracker::ProgressCompleted() third_party/WebKit/Source/core/loader/ProgressTracker.cpp:122:26
17:44:44.595 32438       Igalia#20 0xf94bfe5 in blink::FrameLoader::DidFinishNavigation() third_party/WebKit/Source/core/loader/FrameLoader.cpp:478:24
17:44:44.595 32438       Igalia#21 0xdbf17f7 in blink::Document::CheckCompleted() third_party/WebKit/Source/core/dom/Document.cpp:3234:20
17:44:44.595 32438       Igalia#22 0xf94b490 in blink::FrameLoader::FinishedParsing() third_party/WebKit/Source/core/loader/FrameLoader.cpp:448:26
17:44:44.595 32438       Igalia#23 0xdc2c180 in blink::Document::FinishedParsing() third_party/WebKit/Source/core/dom/Document.cpp:5636:21
17:44:44.595 32438       Igalia#24 0x10359be3 in blink::XMLDocumentParser::end() third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp:413:18
17:44:44.595 32438       Igalia#25 0xf9134e4 in blink::DocumentWriter::end() third_party/WebKit/Source/core/loader/DocumentWriter.cpp:109:12
17:44:44.595 32438       Igalia#26 0xf8f9e7f in EndWriting third_party/WebKit/Source/core/loader/DocumentLoader.cpp:896:12
17:44:44.595 32438       Igalia#27 0xf8f9e7f in blink::DocumentLoader::FinishedLoading(double) third_party/WebKit/Source/core/loader/DocumentLoader.cpp:455:0
17:44:44.595 32438       Igalia#28 0x45cfb05 in blink::Resource::CheckNotify() third_party/WebKit/Source/platform/loader/fetch/Resource.cpp:336:8
17:44:44.595 32438       Igalia#29 0x46125d0 in blink::ResourceFetcher::HandleLoaderFinish(blink::Resource*, double, blink::ResourceFetcher::LoaderFinishType) third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp:1333:15
17:44:44.595 32438       Igalia#30 0x1375febb in content::WebURLLoaderImpl::Context::OnCompletedRequest(int, bool, bool, base::TimeTicks const&, long, long, long) content/child/web_url_loader_impl.cc:904:16
17:44:44.595 32438       Igalia#31 0xc0c93f5 in content::ResourceDispatcher::OnRequestComplete(int, content::ResourceRequestCompletionStatus const&) content/child/resource_dispatcher.cc:374:9
17:44:44.595 32438       Igalia#32 0xc0d0e07 in DispatchToMethodImpl<content::ResourceDispatcher *, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), const std::__1::tuple<int, content::ResourceRequestCompletionStatus> &, 0, 1> base/tuple.h:77:3
17:44:44.595 32438       Igalia#33 0xc0d0e07 in DispatchToMethod<content::ResourceDispatcher *, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), const std::__1::tuple<int, content::ResourceRequestCompletionStatus> &> base/tuple.h:84:0
17:44:44.595 32438       Igalia#34 0xc0d0e07 in DispatchToMethod<content::ResourceDispatcher, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), void, std::__1::tuple<int, content::ResourceRequestCompletionStatus> > ipc/ipc_message_templates.h:26:0
17:44:44.595 32438       Igalia#35 0xc0d0e07 in bool IPC::MessageT<ResourceMsg_RequestComplete_Meta, std::__1::tuple<int, content::ResourceRequestCompletionStatus>, void>::Dispatch<content::ResourceDispatcher, content::ResourceDispatcher, void, void (content::ResourceDispatcher::*)(int, content::ResourceRequestCompletionStatus const&)>(IPC::Message const*, content::ResourceDispatcher*, content::ResourceDispatcher*, void*, void (content::ResourceDispatcher::*)(int, content::ResourceRequestCompletionStatus const&)) ipc/ipc_message_templates.h:121:0
17:44:44.595 32438       Igalia#36 0xc0bfe8a in content::ResourceDispatcher::DispatchMessage(IPC::Message const&) content/child/resource_dispatcher.cc:535:5
17:44:44.595 32438       Igalia#37 0xc0bd497 in content::ResourceDispatcher::OnMessageReceived(IPC::Message const&) content/child/resource_dispatcher.cc:136:3
17:44:44.595 32438       Igalia#38 0xc0d86f9 in content::ResourceSchedulingFilter::DispatchMessage(IPC::Message const&) content/child/resource_scheduling_filter.cc:74:27
17:44:44.595 32438       Igalia#39 0x6c8e490 in Run base/callback.h:91:12
17:44:44.595 32438       Igalia#40 0x6c8e490 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
17:44:44.595 32438       Igalia#41 0x46c2540 in blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*, bool, blink::scheduler::LazyNow, base::TimeTicks*) third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:532:19
17:44:44.595 32438       Igalia#42 0x46b600a in blink::scheduler::TaskQueueManager::DoWork(bool) third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:330:13
17:44:44.595 32438       Igalia#43 0x6c8e490 in Run base/callback.h:91:12
17:44:44.595 32438       Igalia#44 0x6c8e490 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
17:44:44.595 32438       Igalia#45 0x6d1f88e in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:404:19
17:44:44.595 32438       Igalia#46 0x6d22ad9 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:415:5
17:44:44.595 32438       Igalia#47 0x6d23ad6 in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:522:13
17:44:44.595 32438       Igalia#48 0x6d3023a in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
17:44:44.595 32438       Igalia#49 0x6dbef5b in base::RunLoop::Run() base/run_loop.cc:112:14
17:44:44.595 32438       Igalia#50 0x113da4bf in content::RendererMain(content::MainFunctionParams const&) content/renderer/renderer_main.cc:219:23
17:44:44.595 32438       Igalia#51 0x4821509 in content::RunZygote(content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:337:14
17:44:44.595 32438       Igalia#52 0x48240fa in content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:416:12
17:44:44.595 32438       Igalia#53 0x4826d77 in content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:687:12
17:44:44.595 32438       Igalia#54 0xbfb00ba in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:469:29
17:44:44.595 32438       Igalia#55 0x16265ee in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
17:44:44.595 32438       Igalia#56 0x4a904f in main content/shell/app/shell_main.cc:48:10
17:44:44.595 32438       Igalia#57 0x7fa0d53baf44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287:0
17:44:44.595 32438       Igalia#58 0x43cf9a in _start ??:0:0
17:44:44.595 32438   
17:44:44.595 32438     Uninitialized value was stored to memory at
17:44:44.596 32438       #0 0xf5430fb in SetCellWidthChanged third_party/WebKit/Source/core/layout/LayoutTableCell.h:235:65
17:44:44.596 32438       Igalia#1 0xf5430fb in blink::LayoutTableCell::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutTableCell.cpp:327:0
17:44:44.596 32438       Igalia#2 0xf59d164 in LayoutIfNeeded third_party/WebKit/Source/core/layout/LayoutObject.h:1110:7
17:44:44.596 32438       Igalia#3 0xf59d164 in blink::LayoutTableSection::LayoutRows() third_party/WebKit/Source/core/layout/LayoutTableSection.cpp:1252:0
17:44:44.596 32438       Igalia#4 0xf524b1c in blink::LayoutTable::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutTable.cpp:717:16
17:44:44.596 32438       Igalia#5 0xf185d49 in LayoutIfNeeded third_party/WebKit/Source/core/layout/LayoutObject.h:1110:7
17:44:44.596 32438       Igalia#6 0xf185d49 in blink::LayoutBlock::LayoutPositionedObject(blink::LayoutBox*, bool, blink::LayoutBlock::PositionedLayoutBehavior) third_party/WebKit/Source/core/layout/LayoutBlock.cpp:828:0
17:44:44.596 32438       Igalia#7 0xf184ef7 in blink::LayoutBlock::LayoutPositionedObjects(bool, blink::LayoutBlock::PositionedLayoutBehavior) third_party/WebKit/Source/core/layout/LayoutBlock.cpp:773:5
17:44:44.596 32438       Igalia#8 0xf1b1e0e in blink::LayoutBlockFlow::UpdateBlockLayout(bool) third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:485:3
17:44:44.596 32438       Igalia#9 0xf17eb46 in blink::LayoutBlock::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutBlock.cpp:427:3
17:44:44.596 32438       Igalia#10 0xf645987 in LayoutContent third_party/WebKit/Source/core/layout/LayoutView.cpp:224:20
17:44:44.596 32438       Igalia#11 0xf645987 in blink::LayoutView::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutView.cpp:316:0
17:44:44.596 32438       Igalia#12 0xe4eadff in blink::LocalFrameView::PerformLayout(bool) third_party/WebKit/Source/core/frame/LocalFrameView.cpp:1082:22
17:44:44.596 32438       Igalia#13 0xe4dee95 in blink::LocalFrameView::UpdateLayout() third_party/WebKit/Source/core/frame/LocalFrameView.cpp:1265:10
17:44:44.596 32438       Igalia#14 0xdbf2315 in blink::Document::ImplicitClose() third_party/WebKit/Source/core/dom/Document.cpp:3155:15
17:44:44.596 32438       Igalia#15 0xdbf1070 in blink::Document::CheckCompleted() third_party/WebKit/Source/core/dom/Document.cpp:3212:5
17:44:44.596 32438       Igalia#16 0xf94b490 in blink::FrameLoader::FinishedParsing() third_party/WebKit/Source/core/loader/FrameLoader.cpp:448:26
17:44:44.596 32438       Igalia#17 0xdc2c180 in blink::Document::FinishedParsing() third_party/WebKit/Source/core/dom/Document.cpp:5636:21
17:44:44.596 32438       Igalia#18 0x10359be3 in blink::XMLDocumentParser::end() third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp:413:18
17:44:44.596 32438       Igalia#19 0xf9134e4 in blink::DocumentWriter::end() third_party/WebKit/Source/core/loader/DocumentWriter.cpp:109:12
17:44:44.596 32438       Igalia#20 0xf8f9e7f in EndWriting third_party/WebKit/Source/core/loader/DocumentLoader.cpp:896:12
17:44:44.596 32438       Igalia#21 0xf8f9e7f in blink::DocumentLoader::FinishedLoading(double) third_party/WebKit/Source/core/loader/DocumentLoader.cpp:455:0
17:44:44.596 32438       Igalia#22 0x45cfb05 in blink::Resource::CheckNotify() third_party/WebKit/Source/platform/loader/fetch/Resource.cpp:336:8
17:44:44.596 32438       Igalia#23 0x46125d0 in blink::ResourceFetcher::HandleLoaderFinish(blink::Resource*, double, blink::ResourceFetcher::LoaderFinishType) third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp:1333:15
17:44:44.596 32438       Igalia#24 0x1375febb in content::WebURLLoaderImpl::Context::OnCompletedRequest(int, bool, bool, base::TimeTicks const&, long, long, long) content/child/web_url_loader_impl.cc:904:16
17:44:44.596 32438   


Original change's description:
> Fix Heap-use-after-free Bug
> 
> Add a new member variable LayoutTableCell::is_spanning_collapsed_row_ so that
> there is no need to access LayoutTableSection::RowHasVisibilityCollapse
> in LayoutTableCell. This avoids using the memory that has already been
> freed.
> 
> Bug: 750016
> Change-Id: I1838a775f3b45315b2dee3e15942af0dff0c5955
> Reviewed-on: https://chromium-review.googlesource.com/594935
> Reviewed-by: Morten Stenshorne <mstensho@opera.com>
> Commit-Queue: Joy Yu <joysyu@google.com>
> Cr-Commit-Position: refs/heads/master@{#491139}

TBR=dgrogan@chromium.org,mstensho@opera.com,joysyu@google.com

Change-Id: Idaad8aba8647775eb2387688919c25b6ad4a8eda
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 750016
Reviewed-on: https://chromium-review.googlesource.com/597667
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491315}
tonikitoo pushed a commit to tonikitoo/chromium that referenced this issue Aug 7, 2017
This reverts commit 0814d71.

Reason for revert: A fix is ready, but requires this reland.

Original change's description:
> Revert "Fix Heap-use-after-free Bug"
> 
> This reverts commit d09047b.
> 
> Reason for revert: 
> This CL breaks Linux Trusty MSAN bot.
> See
> https://luci-milo.appspot.com/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20MSAN/2350
> and successive builds.
> 
> Sample logs:
> 17:44:44.594 32438   ==1:1==WARNING: MemorySanitizer: use-of-uninitialized-value
> 17:44:44.594 32438       #0 0xf548000 in blink::LayoutTableCell::ShouldClipOverflow() const third_party/WebKit/Source/core/layout/LayoutTableCell.cpp:459:35
> 17:44:44.594 32438       Igalia#1 0xfdd1161 in NeedsOverflowClip third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:803:48
> 17:44:44.594 32438       Igalia#2 0xfdd1161 in UpdatePaintProperties third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:1208:0
> 17:44:44.594 32438       Igalia#3 0xfdd1161 in blink::PaintPropertyTreeBuilder::UpdatePropertiesForSelf(blink::LayoutObject const&, blink::PaintPropertyTreeBuilderContext&) third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp:1244:0
> 17:44:44.594 32438       Igalia#4 0xfd6963c in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:190:28
> 17:44:44.594 32438       Igalia#5 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
> 17:44:44.594 32438       Igalia#6 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
> 17:44:44.594 32438       Igalia#7 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
> 17:44:44.594 32438       Igalia#8 0xfd6a1bb in blink::PrePaintTreeWalk::Walk(blink::LayoutObject const&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:215:5
> 17:44:44.594 32438       Igalia#9 0xfd68046 in blink::PrePaintTreeWalk::Walk(blink::LocalFrameView&, blink::PrePaintTreeWalkContext const&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:92:5
> 17:44:44.594 32438       Igalia#10 0xfd674b4 in blink::PrePaintTreeWalk::Walk(blink::LocalFrameView&) third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp:66:3
> 17:44:44.594 32438       Igalia#11 0xe513327 in blink::LocalFrameView::PrePaint() third_party/WebKit/Source/core/frame/LocalFrameView.cpp:3255:24
> 17:44:44.594 32438       Igalia#12 0xe50d013 in blink::LocalFrameView::UpdateLifecyclePhasesInternal(blink::DocumentLifecycle::LifecycleState) third_party/WebKit/Source/core/frame/LocalFrameView.cpp:3186:9
> 17:44:44.594 32438       Igalia#13 0xfb2ff7c in blink::PageAnimator::UpdateAllLifecyclePhases(blink::LocalFrame&) third_party/WebKit/Source/core/page/PageAnimator.cpp:100:9
> 17:44:44.594 32438       Igalia#14 0x1451947d in blink::WebViewImpl::UpdateAllLifecyclePhases() third_party/WebKit/Source/core/exported/WebViewImpl.cpp:1984:3
> 17:44:44.594 32438       Igalia#15 0x6b9e8bb in content::BlinkTestRunner::TestFinished() content/shell/renderer/layout_test/blink_test_runner.cc:606:11
> 17:44:44.594 32438       Igalia#16 0x11d957ed in test_runner::TestRunner::WorkQueue::ProcessWorkSoon() content/shell/test_runner/test_runner.cc:1572:29
> 17:44:44.595 32438       Igalia#17 0x11d9db51 in LocationChangeDone content/shell/test_runner/test_runner.cc:2819:17
> 17:44:44.595 32438       Igalia#18 0x11d9db51 in test_runner::TestRunner::tryToClearTopLoadingFrame(blink::WebFrame*) content/shell/test_runner/test_runner.cc:1951:0
> 17:44:44.595 32438       Igalia#19 0xf9a560e in blink::ProgressTracker::ProgressCompleted() third_party/WebKit/Source/core/loader/ProgressTracker.cpp:122:26
> 17:44:44.595 32438       Igalia#20 0xf94bfe5 in blink::FrameLoader::DidFinishNavigation() third_party/WebKit/Source/core/loader/FrameLoader.cpp:478:24
> 17:44:44.595 32438       Igalia#21 0xdbf17f7 in blink::Document::CheckCompleted() third_party/WebKit/Source/core/dom/Document.cpp:3234:20
> 17:44:44.595 32438       Igalia#22 0xf94b490 in blink::FrameLoader::FinishedParsing() third_party/WebKit/Source/core/loader/FrameLoader.cpp:448:26
> 17:44:44.595 32438       Igalia#23 0xdc2c180 in blink::Document::FinishedParsing() third_party/WebKit/Source/core/dom/Document.cpp:5636:21
> 17:44:44.595 32438       Igalia#24 0x10359be3 in blink::XMLDocumentParser::end() third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp:413:18
> 17:44:44.595 32438       Igalia#25 0xf9134e4 in blink::DocumentWriter::end() third_party/WebKit/Source/core/loader/DocumentWriter.cpp:109:12
> 17:44:44.595 32438       Igalia#26 0xf8f9e7f in EndWriting third_party/WebKit/Source/core/loader/DocumentLoader.cpp:896:12
> 17:44:44.595 32438       Igalia#27 0xf8f9e7f in blink::DocumentLoader::FinishedLoading(double) third_party/WebKit/Source/core/loader/DocumentLoader.cpp:455:0
> 17:44:44.595 32438       Igalia#28 0x45cfb05 in blink::Resource::CheckNotify() third_party/WebKit/Source/platform/loader/fetch/Resource.cpp:336:8
> 17:44:44.595 32438       Igalia#29 0x46125d0 in blink::ResourceFetcher::HandleLoaderFinish(blink::Resource*, double, blink::ResourceFetcher::LoaderFinishType) third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp:1333:15
> 17:44:44.595 32438       Igalia#30 0x1375febb in content::WebURLLoaderImpl::Context::OnCompletedRequest(int, bool, bool, base::TimeTicks const&, long, long, long) content/child/web_url_loader_impl.cc:904:16
> 17:44:44.595 32438       Igalia#31 0xc0c93f5 in content::ResourceDispatcher::OnRequestComplete(int, content::ResourceRequestCompletionStatus const&) content/child/resource_dispatcher.cc:374:9
> 17:44:44.595 32438       Igalia#32 0xc0d0e07 in DispatchToMethodImpl<content::ResourceDispatcher *, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), const std::__1::tuple<int, content::ResourceRequestCompletionStatus> &, 0, 1> base/tuple.h:77:3
> 17:44:44.595 32438       Igalia#33 0xc0d0e07 in DispatchToMethod<content::ResourceDispatcher *, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), const std::__1::tuple<int, content::ResourceRequestCompletionStatus> &> base/tuple.h:84:0
> 17:44:44.595 32438       Igalia#34 0xc0d0e07 in DispatchToMethod<content::ResourceDispatcher, void (content::ResourceDispatcher::*)(int, const content::ResourceRequestCompletionStatus &), void, std::__1::tuple<int, content::ResourceRequestCompletionStatus> > ipc/ipc_message_templates.h:26:0
> 17:44:44.595 32438       Igalia#35 0xc0d0e07 in bool IPC::MessageT<ResourceMsg_RequestComplete_Meta, std::__1::tuple<int, content::ResourceRequestCompletionStatus>, void>::Dispatch<content::ResourceDispatcher, content::ResourceDispatcher, void, void (content::ResourceDispatcher::*)(int, content::ResourceRequestCompletionStatus const&)>(IPC::Message const*, content::ResourceDispatcher*, content::ResourceDispatcher*, void*, void (content::ResourceDispatcher::*)(int, content::ResourceRequestCompletionStatus const&)) ipc/ipc_message_templates.h:121:0
> 17:44:44.595 32438       Igalia#36 0xc0bfe8a in content::ResourceDispatcher::DispatchMessage(IPC::Message const&) content/child/resource_dispatcher.cc:535:5
> 17:44:44.595 32438       Igalia#37 0xc0bd497 in content::ResourceDispatcher::OnMessageReceived(IPC::Message const&) content/child/resource_dispatcher.cc:136:3
> 17:44:44.595 32438       Igalia#38 0xc0d86f9 in content::ResourceSchedulingFilter::DispatchMessage(IPC::Message const&) content/child/resource_scheduling_filter.cc:74:27
> 17:44:44.595 32438       Igalia#39 0x6c8e490 in Run base/callback.h:91:12
> 17:44:44.595 32438       Igalia#40 0x6c8e490 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
> 17:44:44.595 32438       Igalia#41 0x46c2540 in blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*, bool, blink::scheduler::LazyNow, base::TimeTicks*) third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:532:19
> 17:44:44.595 32438       Igalia#42 0x46b600a in blink::scheduler::TaskQueueManager::DoWork(bool) third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:330:13
> 17:44:44.595 32438       Igalia#43 0x6c8e490 in Run base/callback.h:91:12
> 17:44:44.595 32438       Igalia#44 0x6c8e490 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59:0
> 17:44:44.595 32438       Igalia#45 0x6d1f88e in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:404:19
> 17:44:44.595 32438       Igalia#46 0x6d22ad9 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:415:5
> 17:44:44.595 32438       Igalia#47 0x6d23ad6 in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:522:13
> 17:44:44.595 32438       Igalia#48 0x6d3023a in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:33:31
> 17:44:44.595 32438       Igalia#49 0x6dbef5b in base::RunLoop::Run() base/run_loop.cc:112:14
> 17:44:44.595 32438       Igalia#50 0x113da4bf in content::RendererMain(content::MainFunctionParams const&) content/renderer/renderer_main.cc:219:23
> 17:44:44.595 32438       Igalia#51 0x4821509 in content::RunZygote(content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:337:14
> 17:44:44.595 32438       Igalia#52 0x48240fa in content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:416:12
> 17:44:44.595 32438       Igalia#53 0x4826d77 in content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:687:12
> 17:44:44.595 32438       Igalia#54 0xbfb00ba in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:469:29
> 17:44:44.595 32438       Igalia#55 0x16265ee in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10
> 17:44:44.595 32438       Igalia#56 0x4a904f in main content/shell/app/shell_main.cc:48:10
> 17:44:44.595 32438       Igalia#57 0x7fa0d53baf44 in __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287:0
> 17:44:44.595 32438       Igalia#58 0x43cf9a in _start ??:0:0
> 17:44:44.595 32438   
> 17:44:44.595 32438     Uninitialized value was stored to memory at
> 17:44:44.596 32438       #0 0xf5430fb in SetCellWidthChanged third_party/WebKit/Source/core/layout/LayoutTableCell.h:235:65
> 17:44:44.596 32438       Igalia#1 0xf5430fb in blink::LayoutTableCell::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutTableCell.cpp:327:0
> 17:44:44.596 32438       Igalia#2 0xf59d164 in LayoutIfNeeded third_party/WebKit/Source/core/layout/LayoutObject.h:1110:7
> 17:44:44.596 32438       Igalia#3 0xf59d164 in blink::LayoutTableSection::LayoutRows() third_party/WebKit/Source/core/layout/LayoutTableSection.cpp:1252:0
> 17:44:44.596 32438       Igalia#4 0xf524b1c in blink::LayoutTable::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutTable.cpp:717:16
> 17:44:44.596 32438       Igalia#5 0xf185d49 in LayoutIfNeeded third_party/WebKit/Source/core/layout/LayoutObject.h:1110:7
> 17:44:44.596 32438       Igalia#6 0xf185d49 in blink::LayoutBlock::LayoutPositionedObject(blink::LayoutBox*, bool, blink::LayoutBlock::PositionedLayoutBehavior) third_party/WebKit/Source/core/layout/LayoutBlock.cpp:828:0
> 17:44:44.596 32438       Igalia#7 0xf184ef7 in blink::LayoutBlock::LayoutPositionedObjects(bool, blink::LayoutBlock::PositionedLayoutBehavior) third_party/WebKit/Source/core/layout/LayoutBlock.cpp:773:5
> 17:44:44.596 32438       Igalia#8 0xf1b1e0e in blink::LayoutBlockFlow::UpdateBlockLayout(bool) third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:485:3
> 17:44:44.596 32438       Igalia#9 0xf17eb46 in blink::LayoutBlock::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutBlock.cpp:427:3
> 17:44:44.596 32438       Igalia#10 0xf645987 in LayoutContent third_party/WebKit/Source/core/layout/LayoutView.cpp:224:20
> 17:44:44.596 32438       Igalia#11 0xf645987 in blink::LayoutView::UpdateLayout() third_party/WebKit/Source/core/layout/LayoutView.cpp:316:0
> 17:44:44.596 32438       Igalia#12 0xe4eadff in blink::LocalFrameView::PerformLayout(bool) third_party/WebKit/Source/core/frame/LocalFrameView.cpp:1082:22
> 17:44:44.596 32438       Igalia#13 0xe4dee95 in blink::LocalFrameView::UpdateLayout() third_party/WebKit/Source/core/frame/LocalFrameView.cpp:1265:10
> 17:44:44.596 32438       Igalia#14 0xdbf2315 in blink::Document::ImplicitClose() third_party/WebKit/Source/core/dom/Document.cpp:3155:15
> 17:44:44.596 32438       Igalia#15 0xdbf1070 in blink::Document::CheckCompleted() third_party/WebKit/Source/core/dom/Document.cpp:3212:5
> 17:44:44.596 32438       Igalia#16 0xf94b490 in blink::FrameLoader::FinishedParsing() third_party/WebKit/Source/core/loader/FrameLoader.cpp:448:26
> 17:44:44.596 32438       Igalia#17 0xdc2c180 in blink::Document::FinishedParsing() third_party/WebKit/Source/core/dom/Document.cpp:5636:21
> 17:44:44.596 32438       Igalia#18 0x10359be3 in blink::XMLDocumentParser::end() third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp:413:18
> 17:44:44.596 32438       Igalia#19 0xf9134e4 in blink::DocumentWriter::end() third_party/WebKit/Source/core/loader/DocumentWriter.cpp:109:12
> 17:44:44.596 32438       Igalia#20 0xf8f9e7f in EndWriting third_party/WebKit/Source/core/loader/DocumentLoader.cpp:896:12
> 17:44:44.596 32438       Igalia#21 0xf8f9e7f in blink::DocumentLoader::FinishedLoading(double) third_party/WebKit/Source/core/loader/DocumentLoader.cpp:455:0
> 17:44:44.596 32438       Igalia#22 0x45cfb05 in blink::Resource::CheckNotify() third_party/WebKit/Source/platform/loader/fetch/Resource.cpp:336:8
> 17:44:44.596 32438       Igalia#23 0x46125d0 in blink::ResourceFetcher::HandleLoaderFinish(blink::Resource*, double, blink::ResourceFetcher::LoaderFinishType) third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.cpp:1333:15
> 17:44:44.596 32438       Igalia#24 0x1375febb in content::WebURLLoaderImpl::Context::OnCompletedRequest(int, bool, bool, base::TimeTicks const&, long, long, long) content/child/web_url_loader_impl.cc:904:16
> 17:44:44.596 32438   
> 
> 
> Original change's description:
> > Fix Heap-use-after-free Bug
> > 
> > Add a new member variable LayoutTableCell::is_spanning_collapsed_row_ so that
> > there is no need to access LayoutTableSection::RowHasVisibilityCollapse
> > in LayoutTableCell. This avoids using the memory that has already been
> > freed.
> > 
> > Bug: 750016
> > Change-Id: I1838a775f3b45315b2dee3e15942af0dff0c5955
> > Reviewed-on: https://chromium-review.googlesource.com/594935
> > Reviewed-by: Morten Stenshorne <mstensho@opera.com>
> > Commit-Queue: Joy Yu <joysyu@google.com>
> > Cr-Commit-Position: refs/heads/master@{#491139}
> 
> TBR=dgrogan@chromium.org,mstensho@opera.com,joysyu@google.com
> 
> Change-Id: Idaad8aba8647775eb2387688919c25b6ad4a8eda
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 750016
> Reviewed-on: https://chromium-review.googlesource.com/597667
> Reviewed-by: Guido Urdaneta <guidou@chromium.org>
> Commit-Queue: Guido Urdaneta <guidou@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#491315}

TBR=dgrogan@chromium.org,mstensho@opera.com,guidou@chromium.org,joysyu@google.com

Change-Id: I4e1b4c59275699a5aa610d9ff338c062d8982268
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 750016
Reviewed-on: https://chromium-review.googlesource.com/597687
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491322}
tonikitoo added a commit to tonikitoo/chromium that referenced this issue Aug 11, 2017
…oading_tab_count_ (0 vs. 0)

SessionRestoreImpl::ShowBrowser is called by the time the last
active tab is being restored. If this tab isn't the first one,
there will be WebContentsViewAura/WebContents instances created
for the (inactive) tabs previously handled. Each WebContentsViewAura
instance installs itself as a observer of DesktopWindowTreeHostMus'
window.

SessionRestoreImpl::ShowBrowser end up calling
DesktopWindowTreeHostMus::ShowWindowWithState which in turn calls
Window::Show, and it triggers a Window::Show call.

The visibility change on it (due to Window::Show) will trigger notification
to all observers (including WebContentsViewAura instances), and this can
trigger unexpected loads.

  Igalia#1 0x562d73b6043e content::WebContentsImpl::DidStartLoading()
  Igalia#2 0x562d738355bb content::FrameTreeNode::DidStartLoading()
  Igalia#3 0x562d73864977 content::RenderFrameHostImpl::OnDidStartLoading()
  Igalia#4 0x562d7386dd14 content::RenderFrameHostImpl::Navigate()
  Igalia#5 0x562d73853678 content::NavigatorImpl::NavigateToEntry()
  Igalia#6 0x562d73853de5 content::NavigatorImpl::NavigateToPendingEntry()
  Igalia#7 0x562d73841c37 content::NavigationControllerImpl::NavigateToPendingEntryInternal()
  Igalia#8 0x562d7383c384 content::NavigationControllerImpl::NavigateToPendingEntry()
  Igalia#9 0x562d7386dd14 content NavigationControllerImpl::LoadIfNecessary()
 Igalia#10 0x562d76d34846content::NavigationControllerImpl::SetActive(bool is_active)
 Igalia#11 0x562d73b545cd content::WebContentsImpl::WasShown()
 Igalia#12 0x562d78b247d8 content::WebContentsImpl::UpdateWebContentsVisibility(bool visible)
 Igalia#13 0x562d75ff1796 content::WebContentsViewAura::OnWindowVisibilityChanged
 Igalia#14 0x562d75ff4586 aura::Window::NotifyWindowVisibilityChangedAtReceiver()
 Igalia#15 0x562d75ff430e aura::Window::NotifyWindowVisibilityChangedDown()
 Igalia#16 0x562d75ff4428 aura::Window::NotifyWindowVisibilityChangedDown()
 Igalia#17 0x562d75ff1baf aura::Window::SetVisible()
 Igalia#18 0x562d75ff1796 aura::Window::Show()
 Igalia#19 0x562d76f4c328 views::DesktopWindowTreeHostMus::ShowWindowWithState()
 Igalia#20 0x562d78b247d8 views::DesktopNativeWidgetAura::ShowWithWindowState()
 Igalia#21 0x562d764008c0 views::Widget::Show()
 Igalia#22 0x562d76d34846 BrowserView::Show()
 Igalia#23 0x562d74bed220 SessionRestoreImpl::ShowBrowser()
 Igalia#24 0x562d74becf95 SessionRestoreImpl::RestoreTab()
 Igalia#25 0x562d74beba71 SessionRestoreImpl::RestoreTabsToBrowser()
 Igalia#26 0x562d74beb0db SessionRestoreImpl::ProcessSessionWindows()
 Igalia#27 0x562d74be9b92 SessionRestoreImpl::Restore()
 Igalia#28 0x562d74be9617 SessionRestore::RestoreSession()
 Igalia#29 0x562d76cad8f5 StartupBrowserCreatorImpl::RestoreOrCreateBrowser()

SessionRestoreStatsCollector is not expecting tabs other than
the last active one to be loaded, when it is instantiated, causing
the assert.

Patch fixes the issue by disallowing reactions to window visibility changes
while calling ::ShowBrowser, restoring from a previous session.

Issue Igalia#152
tonikitoo added a commit to tonikitoo/chromium that referenced this issue Aug 11, 2017
…oading_tab_count_ (0 vs. 0)

SessionRestoreImpl::ShowBrowser is called by the time the last
active tab is being restored. If this tab isn't the first one,
there will be WebContentsViewAura/WebContents instances created
for the (inactive) tabs previously handled. Each WebContentsViewAura
instance installs itself as a observer of DesktopWindowTreeHostMus'
window.

SessionRestoreImpl::ShowBrowser end up calling
DesktopWindowTreeHostMus::ShowWindowWithState which in turn calls
Window::Show, and it triggers a Window::Show call.

The visibility change on it (due to Window::Show) will trigger notification
to all observers (including WebContentsViewAura instances), and this can
trigger unexpected loads.

  Igalia#1 0x562d73b6043e content::WebContentsImpl::DidStartLoading()
  Igalia#2 0x562d738355bb content::FrameTreeNode::DidStartLoading()
  Igalia#3 0x562d73864977 content::RenderFrameHostImpl::OnDidStartLoading()
  Igalia#4 0x562d7386dd14 content::RenderFrameHostImpl::Navigate()
  Igalia#5 0x562d73853678 content::NavigatorImpl::NavigateToEntry()
  Igalia#6 0x562d73853de5 content::NavigatorImpl::NavigateToPendingEntry()
  Igalia#7 0x562d73841c37 content::NavigationControllerImpl::NavigateToPendingEntryInternal()
  Igalia#8 0x562d7383c384 content::NavigationControllerImpl::NavigateToPendingEntry()
  Igalia#9 0x562d7386dd14 content NavigationControllerImpl::LoadIfNecessary()
 Igalia#10 0x562d76d34846content::NavigationControllerImpl::SetActive(bool is_active)
 Igalia#11 0x562d73b545cd content::WebContentsImpl::WasShown()
 Igalia#12 0x562d78b247d8 content::WebContentsImpl::UpdateWebContentsVisibility(bool visible)
 Igalia#13 0x562d75ff1796 content::WebContentsViewAura::OnWindowVisibilityChanged
 Igalia#14 0x562d75ff4586 aura::Window::NotifyWindowVisibilityChangedAtReceiver()
 Igalia#15 0x562d75ff430e aura::Window::NotifyWindowVisibilityChangedDown()
 Igalia#16 0x562d75ff4428 aura::Window::NotifyWindowVisibilityChangedDown()
 Igalia#17 0x562d75ff1baf aura::Window::SetVisible()
 Igalia#18 0x562d75ff1796 aura::Window::Show()
 Igalia#19 0x562d76f4c328 views::DesktopWindowTreeHostMus::ShowWindowWithState()
 Igalia#20 0x562d78b247d8 views::DesktopNativeWidgetAura::ShowWithWindowState()
 Igalia#21 0x562d764008c0 views::Widget::Show()
 Igalia#22 0x562d76d34846 BrowserView::Show()
 Igalia#23 0x562d74bed220 SessionRestoreImpl::ShowBrowser()
 Igalia#24 0x562d74becf95 SessionRestoreImpl::RestoreTab()
 Igalia#25 0x562d74beba71 SessionRestoreImpl::RestoreTabsToBrowser()
 Igalia#26 0x562d74beb0db SessionRestoreImpl::ProcessSessionWindows()
 Igalia#27 0x562d74be9b92 SessionRestoreImpl::Restore()
 Igalia#28 0x562d74be9617 SessionRestore::RestoreSession()
 Igalia#29 0x562d76cad8f5 StartupBrowserCreatorImpl::RestoreOrCreateBrowser()

SessionRestoreStatsCollector is not expecting tabs other than
the last active one to be loaded, when it is instantiated, causing
the assert.

Patch fixes the issue by disallowing reactions to window visibility changes
while calling ::ShowBrowser, restoring from a previous session.

Issue Igalia#152
Issue Igalia#181
msisov pushed a commit that referenced this issue Aug 14, 2017
Changes: https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git/+log/262f12e..375c817

$ git log 262f12e..375c817 --date=short --no-merges --format=%ad %ae %s
2017-08-07 brandtr@webrtc.org Minor improvements to VideoProcessor and corresponding test.
2017-08-07 brandtr@webrtc.org Rename WEBRTC_VIDEOPROCESSOR_H264_TESTS define to WEBRTC_USE_H264.
2017-08-07 asapersson@webrtc.org Remove unused members in MediaOptimization.
2017-08-04 deadbeef@webrtc.org Make Port (and subclasses) fully "Network"-based, instead of IP-based.
2017-08-04 kthelgason@webrtc.org Destroy compression session instead of reset it on release.
2017-08-04 philipel@webrtc.org Reland of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #1 id:1 of https://codereview.chromium.org/2990183002/ )
2017-08-04 eladalon@webrtc.org Reland of SSRC and RSID may only refer to one sink each in RtpDemuxer (patchset #1 id:1 of https://codereview.webrtc.org/2993633002/ )
2017-08-04 srte@webrtc.org Renamed fields in common_types.h/RtcpStatistics.
2017-08-04 mflodman@webrtc.org Remove video_coding/codecs/OWNERS.
2017-08-04 magjed@webrtc.org ObjC: Support non-native frames in encoder
2017-08-03 deadbeef@webrtc.org Ignore "b=AS:-1" instead of treating as a hard error.
2017-08-03 zstein@webrtc.org JNI wrapper for PeerConnection::SetBitrate.
2017-08-03 mbonadei@webrtc.org Removing unused declared arg
2017-08-03 deadbeef@webrtc.org Relanding: Break peerconnection_jni.cc into multiple files, in "pc" directory.
2017-08-03 zhihuang@webrtc.org Revert of SSRC and RSID may only refer to one sink each in RtpDemuxer (patchset #15 id:280001 of https://codereview.webrtc.org/2968693002/ )
2017-08-03 mflodman@webrtc.org Rename ViEEncoder to VideoStreamEncoder
2017-08-03 eladalon@webrtc.org Mark ~DirectTransport with "override."
2017-08-03 mbonadei@webrtc.org Tracking mock_process_thread with a GN target
2017-08-03 eladalon@webrtc.org SSRC and RSID may only refer to one sink each in RtpDemuxer

TBR=
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng

Bug: 
Change-Id: Ia6abf9078a49ff2c70f05ea08b5e69ee3f20b9e1
Reviewed-on: https://chromium-review.googlesource.com/603848
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492341}
msisov pushed a commit that referenced this issue Aug 14, 2017
…oading_tab_count_ (0 vs. 0)

SessionRestoreImpl::ShowBrowser is called by the time the last
active tab is being restored. If this tab isn't the first one,
there will be WebContentsViewAura/WebContents instances created
for the (inactive) tabs previously handled. Each WebContentsViewAura
instance installs itself as a observer of DesktopWindowTreeHostMus'
window.

SessionRestoreImpl::ShowBrowser end up calling
DesktopWindowTreeHostMus::ShowWindowWithState which in turn calls
Window::Show, and it triggers a Window::Show call.

The visibility change on it (due to Window::Show) will trigger notification
to all observers (including WebContentsViewAura instances), and this can
trigger unexpected loads.

  #1 0x562d73b6043e content::WebContentsImpl::DidStartLoading()
  #2 0x562d738355bb content::FrameTreeNode::DidStartLoading()
  #3 0x562d73864977 content::RenderFrameHostImpl::OnDidStartLoading()
  #4 0x562d7386dd14 content::RenderFrameHostImpl::Navigate()
  #5 0x562d73853678 content::NavigatorImpl::NavigateToEntry()
  #6 0x562d73853de5 content::NavigatorImpl::NavigateToPendingEntry()
  #7 0x562d73841c37 content::NavigationControllerImpl::NavigateToPendingEntryInternal()
  #8 0x562d7383c384 content::NavigationControllerImpl::NavigateToPendingEntry()
  #9 0x562d7386dd14 content NavigationControllerImpl::LoadIfNecessary()
 #10 0x562d76d34846content::NavigationControllerImpl::SetActive(bool is_active)
 #11 0x562d73b545cd content::WebContentsImpl::WasShown()
 #12 0x562d78b247d8 content::WebContentsImpl::UpdateWebContentsVisibility(bool visible)
 #13 0x562d75ff1796 content::WebContentsViewAura::OnWindowVisibilityChanged
 #14 0x562d75ff4586 aura::Window::NotifyWindowVisibilityChangedAtReceiver()
 #15 0x562d75ff430e aura::Window::NotifyWindowVisibilityChangedDown()
 #16 0x562d75ff4428 aura::Window::NotifyWindowVisibilityChangedDown()
 #17 0x562d75ff1baf aura::Window::SetVisible()
 #18 0x562d75ff1796 aura::Window::Show()
 #19 0x562d76f4c328 views::DesktopWindowTreeHostMus::ShowWindowWithState()
 #20 0x562d78b247d8 views::DesktopNativeWidgetAura::ShowWithWindowState()
 #21 0x562d764008c0 views::Widget::Show()
 #22 0x562d76d34846 BrowserView::Show()
 #23 0x562d74bed220 SessionRestoreImpl::ShowBrowser()
 #24 0x562d74becf95 SessionRestoreImpl::RestoreTab()
 #25 0x562d74beba71 SessionRestoreImpl::RestoreTabsToBrowser()
 #26 0x562d74beb0db SessionRestoreImpl::ProcessSessionWindows()
 #27 0x562d74be9b92 SessionRestoreImpl::Restore()
 #28 0x562d74be9617 SessionRestore::RestoreSession()
 #29 0x562d76cad8f5 StartupBrowserCreatorImpl::RestoreOrCreateBrowser()

SessionRestoreStatsCollector is not expecting tabs other than
the last active one to be loaded, when it is instantiated, causing
the assert.

Patch fixes the issue by disallowing reactions to window visibility changes
while calling ::ShowBrowser, restoring from a previous session.

Issue #152
Issue #181
tonikitoo pushed a commit that referenced this issue Aug 21, 2017
…pletes"

This reverts commit 9525c34.

Reason for revert: Looks like this broke interactive_ui_tests on Linux Chromium OS ASan LSan Tests (1):
https://build.chromium.org/p/chromium.memory/builders/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/builds/22950
=================================================================
==27422==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110001fbb88 at pc 0x0000113dc8f8 bp 0x7ffce4666c90 sp 0x7ffce4666c88
READ of size 8 at 0x6110001fbb88 thread T0 (interactive_ui_)
    #0 0x113dc8f7 in begin buildtools/third_party/libc++/trunk/include/vector:1465:30
    #1 0x113dc8f7 in base::ObserverListBase<chromeos::OobeUI::Observer>::RemoveObserver(chromeos::OobeUI::Observer*) base/observer_list.h:286
    #2 0x11ba806a in chromeos::ArcTermsOfServiceScreenHandler::~ArcTermsOfServiceScreenHandler() chrome/browser/ui/webui/chromeos/login/arc_terms_of_service_screen_handler.cc:40:11
    #3 0x11ba8edd in chromeos::ArcTermsOfServiceScreenHandler::~ArcTermsOfServiceScreenHandler() chrome/browser/ui/webui/chromeos/login/arc_terms_of_service_screen_handler.cc:39:67
    #4 0x3b94103 in operator() buildtools/third_party/libc++/trunk/include/memory:2272:5
    #5 0x3b94103 in reset buildtools/third_party/libc++/trunk/include/memory:2585
    #6 0x3b94103 in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2539
    #7 0x3b94103 in destroy buildtools/third_party/libc++/trunk/include/memory:1853
    #8 0x3b94103 in __destroy<std::__1::unique_ptr<content::WebUIMessageHandler, std::__1::default_delete<content::WebUIMessageHandler> > > buildtools/third_party/libc++/trunk/include/memory:1721
    #9 0x3b94103 in destroy<std::__1::unique_ptr<content::WebUIMessageHandler, std::__1::default_delete<content::WebUIMessageHandler> > > buildtools/third_party/libc++/trunk/include/memory:1589
    #10 0x3b94103 in __destruct_at_end buildtools/third_party/libc++/trunk/include/vector:418
    #11 0x3b94103 in clear buildtools/third_party/libc++/trunk/include/vector:361
    #12 0x3b94103 in ~__vector_base buildtools/third_party/libc++/trunk/include/vector:446
    #13 0x3b94103 in content::WebUIImpl::~WebUIImpl() content/browser/webui/web_ui_impl.cc:91
    #14 0x3b9428d in content::WebUIImpl::~WebUIImpl() content/browser/webui/web_ui_impl.cc:87:25
    #15 0x303a2c5 in content::RenderFrameHostManager::ClearWebUIInstances() content/browser/frame_host/render_frame_host_manager.cc:679:25
    #16 0x3aee854 in content::WebContentsImpl::~WebContentsImpl() content/browser/web_contents/web_contents_impl.cc:600:29
    #17 0x3af1b8d in content::WebContentsImpl::~WebContentsImpl() content/browser/web_contents/web_contents_impl.cc:571:37
    #18 0x12091e89 in operator() buildtools/third_party/libc++/trunk/include/memory:2272:5
    #19 0x12091e89 in reset buildtools/third_party/libc++/trunk/include/memory:2585
    #20 0x12091e89 in views::WebView::SetWebContents(content::WebContents*) ui/views/controls/webview/webview.cc:73
    #21 0x120932f1 in ~WebView ui/views/controls/webview/webview.cc:44:3
    #22 0x120932f1 in views::WebView::~WebView() ui/views/controls/webview/webview.cc:43
    #23 0x520969f in operator() buildtools/third_party/libc++/trunk/include/memory:2272:5
    #24 0x520969f in reset buildtools/third_party/libc++/trunk/include/memory:2585
    #25 0x520969f in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2539
    #26 0x520969f in chromeos::WebUILoginView::~WebUILoginView() chrome/browser/chromeos/login/ui/webui_login_view.cc:224
    #27 0x520a07d in chromeos::WebUILoginView::~WebUILoginView() chrome/browser/chromeos/login/ui/webui_login_view.cc:199:35
    #28 0xad7565b in operator() buildtools/third_party/libc++/trunk/include/memory:2272:5
    #29 0xad7565b in reset buildtools/third_party/libc++/trunk/include/memory:2585
    #30 0xad7565b in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2539
    #31 0xad7565b in views::View::DoRemoveChildView(views::View*, bool, bool, bool, views::View*) ui/views/view.cc:2136
    #32 0xad77048 in views::View::RemoveAllChildViews(bool) ui/views/view.cc:302:5
    #33 0xad9b615 in views::internal::RootView::~RootView() ui/views/widget/root_view.cc:181:5
    #34 0xad9b7cd in views::internal::RootView::~RootView() ui/views/widget/root_view.cc:177:23
    #35 0xada5ac1 in operator() buildtools/third_party/libc++/trunk/include/memory:2272:5
    #36 0xada5ac1 in reset buildtools/third_party/libc++/trunk/include/memory:2585
    #37 0xada5ac1 in DestroyRootView ui/views/widget/widget.cc:1434
    #38 0xada5ac1 in views::Widget::~Widget() ui/views/widget/widget.cc:180
    #39 0xada61ad in views::Widget::~Widget() ui/views/widget/widget.cc:179:19
    #40 0xade9e6f in views::NativeWidgetAura::~NativeWidgetAura() ui/views/widget/native_widget_aura.cc
    #41 0xadea10d in views::NativeWidgetAura::~NativeWidgetAura() ui/views/widget/native_widget_aura.cc:986:39
    #42 0xe11b498 in aura::Window::~Window() ui/aura/window.cc:123:16
    #43 0xe11c90d in aura::Window::~Window() ui/aura/window.cc:77:19
    #44 0xadeb043 in Invoke<const base::WeakPtr<views::NativeWidgetAura> &> base/bind_internal.h:196:12
    #45 0xadeb043 in MakeItSo<void (views::NativeWidgetAura::*const &)(), const base::WeakPtr<views::NativeWidgetAura> &> base/bind_internal.h:285
    #46 0xadeb043 in RunImpl<void (views::NativeWidgetAura::*const &)(), const std::__1::tuple<base::WeakPtr<views::NativeWidgetAura> > &, 0> base/bind_internal.h:340
    #47 0xadeb043 in base::internal::Invoker<base::internal::BindState<void (views::NativeWidgetAura::*)(), base::WeakPtr<views::NativeWidgetAura> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:319
    #48 0xb35e805 in Run base/callback.h:91:12
    #49 0xb35e805 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59
    #50 0xb3d46da in base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:410:19
    #51 0xb3d5040 in base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:421:5
    #52 0xb3d5d81 in base::MessageLoop::DoWork() base/message_loop/message_loop.cc:528:13
    #53 0xb3e0820 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:220:31
    #54 0xb3d3535 in base::MessageLoop::Run() base/message_loop/message_loop.cc:350:10
    #55 0xb472370 in base::RunLoop::Run() base/run_loop.cc:123:14
    #56 0x9304487 in RunThisRunLoop content/public/test/test_utils.cc:125:13
    #57 0x9304487 in content::RunAllPendingInMessageLoop() content/public/test/test_utils.cc:133
    #58 0x82fe2ba in InProcessBrowserTest::PostRunTestOnMainThread() chrome/test/base/in_process_browser_test.cc:607:3
    #59 0x92d79f8 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:319:5
    #60 0x83331b2 in Run base/callback.h:80:12
    #61 0x83331b2 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1857
    #62 0x83304b3 in ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1210:18
    #63 0x4dff120 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() chrome/browser/chromeos/chrome_browser_main_chromeos.cc:655:32
    #64 0x2b32584 in content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:1151:13
    #65 0x3a66b08 in Run base/callback.h:80:12
    #66 0x3a66b08 in content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:45
    #67 0x2b2d47f in content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:935:25
    #68 0x2b3b21d in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner.cc:131:17
    #69 0x2b252a6 in content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:42:32
    #70 0x8013aae in content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:408:14
    #71 0x8015aa9 in content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:690:12
    #72 0xe62b2ec in service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:469:29
    #73 0x8011e73 in content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10

Original change's description:
> Makes EmbeddedServiceRunner block until background thread completes
> 
> Prior to this when EmbeddedServiceRunner was destroyed the background
> thread would most likely still be running. Worse yet it was entirely
> possible for ~InstanceManager to run on the same thread as the
> service was running on, which attempts to destroy thread_ (because it
> assumes thread_ was destroyed already). When this happens you hit a
> CHECK in thread_ because you can't join with a thread while you are on
> the thread.
> 
> By making Shutdown() block until the background thread has said it's
> ready to be shutdown, and then destroy the thread from the initiating
> thread we never hit this situation.
> 
> BUG=none
> TEST=covered by test
> 
> Change-Id: I09ebc5167247e2e8a1b15b625fdff8dc8b8d2e8f
> Reviewed-on: https://chromium-review.googlesource.com/611392
> Commit-Queue: Scott Violet <sky@chromium.org>
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#493878}

TBR=sky@chromium.org,rockot@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: none
Change-Id: Ib5a4bdf57e78f5ecb61983c6c29ca8f80d6da04f
Reviewed-on: https://chromium-review.googlesource.com/612810
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494001}
jkim-julie pushed a commit that referenced this issue Jun 4, 2018
This reverts commit 74b9888.

Reason for revert: Flaking on Linux ChromiumOS MSan Tests

https://ci.chromium.org/buildbot/chromium.memory/Linux%20ChromiumOS%20MSan%20Tests/7361
https://ci.chromium.org/buildbot/chromium.memory/Linux%20ChromiumOS%20MSan%20Tests/7363
https://ci.chromium.org/buildbot/chromium.memory/Linux%20ChromiumOS%20MSan%20Tests/7364

[ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
[14149:14149:0529/223016.256914:WARNING:user_session_manager.cc(1091)] Attempting to save user password for non enterprise user.
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
[14149:14299:0529/223016.655436:WARNING:alsa_util.cc(24)] PcmOpen: default,No such file or directory
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4248:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
[14149:14299:0529/223016.656150:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
[14149:14149:0529/223023.245267:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
[14149:14372:0529/223023.626405:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
[14149:14149:0529/223024.849020:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[14149:14149:0529/223027.955574:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[14149:14149:0529/223031.378924:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[14149:14149:0529/223034.498789:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[14149:14149:0529/223216.859287:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
BrowserTestBase received signal: Terminated. Backtrace:
    #0 0x000000a8dfe1 in __interceptor_backtrace /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/../sanitizer_common/sanitizer_common_interceptors.inc:3980:13
    #1 0x00001350f30f in base::debug::StackTrace::StackTrace(unsigned long) ./../../base/debug/stack_trace_posix.cc:808:41
    #2 0x000014f9f062 in content::(anonymous namespace)::DumpStackTraceSignalHandler(int) ./../../content/public/test/browser_test_base.cc:87:5
    #3 0x000000ab5989 in SignalHandler(int) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/msan_interceptors.cc:995:3
    #4 0x7fe3e82dacb0 in killpg ??:?
    #5 0x7fe3e82dacb0 in ?? ??:0
    #6 0x7fe3e83a26d3 in epoll_wait /build/eglibc-ripdx6/eglibc-2.19/misc/../sysdeps/unix/syscall-template.S:81:0
    #7 0x000000a770a4 in __interceptor_epoll_wait /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/msan_interceptors.cc:862:13
    #8 0x00001704b89b in epoll_dispatch ./../../base/third_party/libevent/epoll.c:198:8
    #9 0x00001703ec8b in event_base_loop ./../../base/third_party/libevent/event.c:512:9
    #10 0x00001355a138 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_libevent.cc:247:9
    #11 0x00001336b330 in base::RunLoop::Run() ./../../base/run_loop.cc:102:14
    #12 0x000015058275 in content::RunThisRunLoop(base::RunLoop*) ./../../content/public/test/test_utils.cc:128:13
    #13 0x00002b95647d in extensions::ResultCatcher::GetNextResult() ./../../extensions/test/result_catcher.cc:35:5
    #14 0x000004dfa6f2 in extensions::ExtensionApiTest::RunExtensionTestImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, int) ./../../chrome/browser/extensions/extension_apitest.cc:392:16
    #15 0x0000049ace7e in extensions::ExtensionWebRequestApiTest_WebRequestAuthRequired_Test::RunTestOnMainThread() ./../../chrome/browser/extensions/api/web_request/web_request_apitest.cc:445:3
    #16 0x000014f9e3f2 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:385:5
    #17 0x00001387fbe5 in Run ./../../base/callback.h:125:12
    #18 0x00001387fbe5 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() ./../../chrome/browser/chrome_browser_main.cc:2098:0
    #19 0x00001387b5c0 in ChromeBrowserMainParts::PreMainMessageLoopRun() ./../../chrome/browser/chrome_browser_main.cc:1492:18
    #20 0x000007604b81 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() ./../../chrome/browser/chromeos/chrome_browser_main_chromeos.cc:684:32
    #21 0x00000bd8f78b in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:962:13
    #22 0x00000d34ab21 in Run ./../../base/callback.h:125:12
    #23 0x00000d34ab21 in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:44:0
    #24 0x00000bd875e8 in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:873:25
    #25 0x00000bd9b176 in content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) ./../../content/browser/browser_main_runner_impl.cc:148:15
    #26 0x00000bd7c28c in content::BrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) ./../../content/browser/browser_main.cc:47:20
    #27 0x000012ff6795 in content::RunBrowserProcessMain(content::MainFunctionParams const&, content::ContentMainDelegate*, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >) ./../../content/app/content_main_runner_impl.cc:620:10
    #28 0x000012ffa9aa in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:964:12
    #29 0x00001c607013 in service_manager::Main(service_manager::MainParams const&) ./../../services/service_manager/embedder/main.cc:459:29
    #30 0x000012ff0d18 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:19:10
    #31 0x000014f9c8c0 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:323:3
    #32 0x00001372d0cf in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:244:20
    #33 0x000008b46826 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #34 0x000008b4a8bc in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2667:11
    #35 0x000008b4c34a in testing::TestCase::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2785:28
    #36 0x000008b82a55 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5047:43
    #37 0x000008b81328 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #38 0x0000137959f1 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46
    #39 0x0000137959f1 in base::TestSuite::Run() ./../../base/test/test_suite.cc:275:0
    #40 0x0000131f45a4 in ChromeTestSuiteRunner::RunTestSuite(int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:65:38
    #41 0x000015048025 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:625:31
    #42 0x0000131f5d07 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:170:10
    #43 0x0000131f4390 in main ./../../chrome/test/base/browser_tests_main_chromeos.cc:21:10
    #44 0x7fe3e82c5f45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
    #45 0x000000a511ba in _start ??:0:0


Original change's description:
> Re-enable WebRequestAuthRequired test.
> 
> ExtensionWebRequestApiTest.WebRequestAuthRequired has been disabled
> forever. It was originally disabled for flakiness, but neither the
> flaky crashes nor the code which was crashing appear to exist anymore.
> 
> This CL makes some minor updates to the test expectations and re-enables
> the test.
> 
> Bug: 140976,841827
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
> Change-Id: I97879b51e600cff684defcbef37fcfbae3dfda62
> Reviewed-on: https://chromium-review.googlesource.com/1076683
> Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
> Commit-Queue: Ken Rockot <rockot@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#562546}

TBR=rockot@chromium.org,karandeepb@chromium.org

Change-Id: I31e6774d763450d791f05397214a355e77419e44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 140976, 841827
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1078487
Reviewed-by: Thiemo Nagel <tnagel@chromium.org>
Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562773}
jkim-julie pushed a commit that referenced this issue Jun 4, 2018
…cr-input"

This reverts commit b829c17.

Reason for revert:
SettingsPasswordSectionBrowserTest.uiTests has been failing consistently since this CL landed.

On Linux and CrOS

Stacktrace:
[28290:28290:0531/210110.220114:ERROR:web_ui_browser_test.cc(478)] JS call assumed failed, because JS console error(s) found.
gen/chrome/test/data/webui/settings/settings_passwords_section_browsertest-gen.cc:41: Failure
Value of: RunJavascriptTestF( true, "SettingsPasswordSectionBrowserTest", "uiTests")
  Actual: false
Expected: true
Stack trace:
#0 0x000003df7e60 StackTraceGetter::CurrentStackTrace()
#1 0x000003e18927 testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop()
#2 0x000003e17d8d testing::internal::AssertHelper::operator=()
#3 0x000002f69fe7 SettingsPasswordSectionBrowserTest_uiTests_Test::RunTestOnMainThread()
#4 0x0000075a5ece content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#5 0x0000009a452d _ZN4base8internal13FunctorTraitsIM25RenderViewContextMenuBaseFvvEvE6InvokeIS4_P21RenderViewContextMenuJEEEvT_OT0_DpOT1_
#6 0x0000009a4474 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIM25RenderViewContextMenuBaseFvvEJP21RenderViewContextMenuEEEvOT_DpOT0_
#7 0x0000075a7eb5 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#8 0x0000075a7dfc _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserTestBaseEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#9 0x0000009966ed _ZNKR4base17RepeatingCallbackIFvvEE3RunEv
#10 0x000006519af7 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#11 0x000006517cde ChromeBrowserMainParts::PreMainMessageLoopRun()
#12 0x000003290375 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#13 0x7fd41048cb4c content::BrowserMainLoop::PreMainMessageLoopRun()
#14 0x7fd40f27ea0d _ZN4base8internal13FunctorTraitsIMN7content12ChildProcessEFvvEvE6InvokeIS5_PS3_JEEEvT_OT0_DpOT1_
#15 0x7fd40f27e954 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content12ChildProcessEFvvEJPS5_EEEvOT_DpOT0_
#16 0x7fd4104928e5 _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEiOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#17 0x7fd41049282c _ZN4base8internal7InvokerINS0_9BindStateIMN7content15BrowserMainLoopEFivEJNS0_17UnretainedWrapperIS4_EEEEEFivEE3RunEPNS0_13BindStateBaseE
#18 0x7fd40f18c70d _ZNKR4base17RepeatingCallbackIFvvEE3RunEv
#19 0x7fd4112d797d content::StartupTaskRunner::RunAllTasksNow()
#20 0x7fd410488230 content::BrowserMainLoop::CreateStartupTasks()
#21 0x7fd410494fc7 content::BrowserMainRunnerImpl::Initialize()
#22 0x7fd410480729 content::BrowserMain()
#23 0x7fd41254804b content::RunBrowserProcessMain()
#24 0x7fd41254a055 content::ContentMainRunnerImpl::Run()
#25 0x7fd41253ed55 content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#26 0x7fd40b7add1b service_manager::Main()
#27 0x7fd412544ef5 content::ContentMain()
#28 0x0000075a5478 content::BrowserTestBase::SetUp()
#29 0x00000641cabb InProcessBrowserTest::SetUp()
#30 0x00000091fc3e _ZN7testing8internal12InvokeHelperIRKNSt3__16vectorIPN12user_manager4UserENS2_9allocatorIS6_EEEENS2_5tupleIJEEEE12InvokeMethodIN8chromeos15MockUserManagerEMSH_KFSB_vEEESB_PT_T0_RKSD_


Original change's description:
> WebUI[MD-refresh]: Add [type="password"] and ["readonly"] to cr-input
> 
> Bug: 832177
> Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
> Change-Id: If05ffdfc80374c79dec5bbb1422ff44a4489818d
> Reviewed-on: https://chromium-review.googlesource.com/1070861
> Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
> Commit-Queue: Scott Chen <scottchen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#563488}

TBR=dpapad@chromium.org,scottchen@chromium.org

Change-Id: I48576bfdebf17815a26e48301ae8463452b3e63f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 832177
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Reviewed-on: https://chromium-review.googlesource.com/1082453
Reviewed-by: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Commit-Queue: Sebastien Seguin-Gagnon <sebsg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563605}
jkim-julie pushed a commit that referenced this issue Jul 16, 2018
This is a reland of a663e7f

The original cl causes some flaky tests with stack trace:

[16202:16202:0709/211202.910243:FATAL:single_thread_proxy.cc(237)] Check failed: task_runner_provider_->IsMainThread().
#0 0x7f9b36f8672d base::debug::StackTrace::StackTrace()
#1 0x7f9b36c9d3fc base::debug::StackTrace::StackTrace()
#2 0x7f9b36d06dfd logging::LogMessage::~LogMessage()
#3 0x7f9b2b5692e8 cc::SingleThreadProxy::SetNeedsCommit()
#4 0x7f9b2b45ecef cc::LayerTreeHost::SetNeedsCommit()
#5 0x7f9b2b467426 cc::LayerTreeHost::SetMutatorsNeedCommit()
#6 0x7f9b0fd29981 cc::AnimationHost::SetNeedsCommit()
#7 0x7f9b0fd1962d cc::Animation::SetNeedsCommit()
#8 0x7f9b0fd41151 cc::KeyframeEffect::KeyframeModelAdded()
#9 0x7f9b0fd44e6c cc::KeyframeEffect::AddKeyframeModel()
#10 0x7f9b0fd17fbc cc::Animation::AddKeyframeModelForKeyframeEffect()
#11 0x7f9b0fd71a6d cc::SingleKeyframeEffectAnimation::AddKeyframeModel()
#12 0x7f9b28c83a95 ui::LayerAnimator::AddThreadedAnimation()
#13 0x7f9b28c7498e ui::(anonymous namespace)::ThreadedLayerAnimationElement::RequestEffectiveStart()
#14 0x7f9b28c71113 ui::LayerAnimationElement::Start()
#15 0x7f9b28c7cbe3 ui::LayerAnimationSequence::Start()
#16 0x7f9b28c84287 ui::LayerAnimator::StartSequenceImmediately()
#17 0x7f9b28c81251 ui::LayerAnimator::StartAnimation()
#18 0x7f9b28c80eb6 ui::LayerAnimator::SetTransform()
#19 0x7f9b28c6122e ui::Layer::SetTransform()
#20 0x7f9b28ded831 aura::Window::SetTransform()
#21 0x7f9b22b732df ash::ScopedTransformOverviewWindow::SetTransform()
#22 0x7f9b22b73f69 ash::ScopedTransformOverviewWindow::OnCompositingStarted()
#23 0x7f9b28c4d734 ui::Compositor::DidSubmitCompositorFrame()
#24 0x7f9b2b56cd05 cc::SingleThreadProxy::DoComposite()
#25 0x7f9b2b56e835 cc::SingleThreadProxy::ScheduledActionDrawIfPossible()
#26 0x7f9b2b3736fd cc::Scheduler::DrawIfPossible()
#27 0x7f9b2b36dbdc cc::Scheduler::ProcessScheduledActions()
#28 0x7f9b2b36d5fd cc::Scheduler::OnBeginImplFrameDeadline()

This cl makes that test skip waiting for composit when entering overview, like the tests
in ash.

Original change's description:
> overview: Hide title bars before animating into overview mode.
>
> The title bars should not visible while animating overview mode. This cl
> hides the title bar if needed and waits until the next paint before
> animating the windows. This will hide the title bar as expected while
> keeping the benefits of DeferPaint.
>
> Test: manual
> Bug: 843851
> Change-Id: I99cf7ca39fd1ae14314ac406abd0fec999e2c024
> Reviewed-on: https://chromium-review.googlesource.com/1112774
> Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
> Reviewed-by: Tao Wu <wutao@chromium.org>
> Commit-Queue: Sammie Quon <sammiequon@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#573552}

TBR=oshima@chromium.org

Bug: 843851
Change-Id: I3a538250d5f6d42d6c73e218445080af533b54dc
Reviewed-on: https://chromium-review.googlesource.com/1131874
Commit-Queue: Sammie Quon <sammiequon@chromium.org>
Reviewed-by: Sammie Quon <sammiequon@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574209}
msisov pushed a commit to msisov/chromium that referenced this issue Jul 27, 2018
…askQueueController""

This reverts commit fa8e920.

Reason for revert: Broke https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-chromeos-dbg/6992


[ RUN      ] MainThreadSchedulerImplTest.Tracing
Received signal 11 <unknown> 000000000000
#0 0x7fb8aa445edd base::debug::StackTrace::StackTrace()
Igalia#1 0x7fb8aa15949c base::debug::StackTrace::StackTrace()
Igalia#2 0x7fb8aa445968 base::debug::(anonymous namespace)::StackDumpSignalHandler()
Igalia#3 0x7fb89dd8a330 <unknown>
Igalia#4 0x7fb8aa3eb77e logging::CheckEQImpl<>()
Igalia#5 0x7fb8aa3e531c base::trace_event::TracedValue::EndDictionary()
Igalia#6 0x7fb8aaf41afe blink::scheduler::MainThreadSchedulerImpl::AsValueLocked()
Igalia#7 0x7fb8aaf40792 blink::scheduler::MainThreadSchedulerImpl::AsValue()
Igalia#8 0x00000181a3aa blink::scheduler::main_thread_scheduler_impl_unittest::MainThreadSchedulerImplTest_Tracing_Test::TestBody()
Igalia#9 0x000000c4452e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
Igalia#10 0x000000c38192 testing::internal::HandleExceptionsInMethodIfSupported<>()
Igalia#11 0x000000c1bd06 testing::Test::Run()
Igalia#12 0x000000c1c6f0 testing::TestInfo::Run()
Igalia#13 0x000000c1d19f testing::TestCase::Run()
Igalia#14 0x000000c2f348 testing::internal::UnitTestImpl::RunAllTests()
Igalia#15 0x000000c445be testing::internal::HandleSehExceptionsInMethodIfSupported<>()
Igalia#16 0x000000c39942 testing::internal::HandleExceptionsInMethodIfSupported<>()
Igalia#17 0x000000c2efa7 testing::UnitTest::Run()
Igalia#18 0x000001a62ac1 RUN_ALL_TESTS()
Igalia#19 0x000001a5f48b base::TestSuite::Run()
Igalia#20 0x000000bd1d45 (anonymous namespace)::runTestSuite()
Igalia#21 0x000000a3e560 _ZN4base8internal13FunctorTraitsIPFvPbEvE6InvokeIRKS4_JRKS2_EEEvOT_DpOT0_
Igalia#22 0x000000a3e51d _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIPFvPbEJS4_EEEvOT_DpOT0_
Igalia#23 0x000000bd1f75 _ZN4base8internal7InvokerINS0_9BindStateIPFiPNS_9TestSuiteEEJNS0_17UnretainedWrapperIS3_EEEEEFivEE7RunImplIS6_NSt3__15tupleIJS8_EEEJLm0EEEEiOT_OT0_NSD_16integer_sequenceImJXspT1_EEEE
Igalia#24 0x000000bd1ec9 _ZN4base8internal7InvokerINS0_9BindStateIPFiPNS_9TestSuiteEEJNS0_17UnretainedWrapperIS3_EEEEEFivEE7RunOnceEPNS0_13BindStateBaseE
Igalia#25 0x000001a708fe _ZNO4base12OnceCallbackIFivEE3RunEv
Igalia#26 0x000001a697d0 base::(anonymous namespace)::LaunchUnitTestsInternal()
Igalia#27 0x000001a69645 base::LaunchUnitTests()
Igalia#28 0x000000bd1cd6 main
Igalia#29 0x7fb89d4c3f45 __libc_start_main
Igalia#30 0x000000552d1a _start
  r8: 0000000000000001  r9: 00007fff6f9d4b30 r10: 0000000000000000 r11: 0000000000000000
 r12: 0000000000552cf0 r13: 00007fff6f9d6af0 r14: 0000000000000000 r15: 0000000000000000
  di: 00007fb8aa50a878  si: 200031ca83cdc758  bp: 00007fff6f9d4990  bx: 0000000000000000
  dx: 00007fff6f9d4ae8  ax: 00007fb8aa50a800  cx: 0000000000000000  sp: 00007fff6f9d4960
  ip: 00007fb8aa3eb77e efl: 0000000000010246 cgf: 0000000000000033 erf: 0000000000000000
 trp: 000000000000000d msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.


Original change's description:
> Reland "[scheduler] Refactor FrameSchedulerImpl to use FrameTaskQueueController"
> 
> This is a reland of e2d8996
> 
> Original change's description:
> > [scheduler] Refactor FrameSchedulerImpl to use FrameTaskQueueController
> >
> > This CL moves all task queue management and creation to
> > FrameTaskQueueController and adds the appropriate interface for
> > accessing queues in FrameTaskQueueController. TaskType to QueueTraits
> > management is handled by FrameSchedulerImpl since it embeds policy, and
> > FrameTaskQueueController exposes an interface to get non-loading task
> > queues by QueueTraits, as well as accessing loading and loading
> > control task queues.
> >
> > Bug: 859963
> > Change-Id: I7db5aaaa148d0dc4f3f70e517e088a205e502db8
> > Reviewed-on: https://chromium-review.googlesource.com/1142390
> > Commit-Queue: Scott Haseley <shaseley@google.com>
> > Reviewed-by: Alexander Timin <altimin@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#576619}
> 
> Bug: 859963
> Change-Id: Id2c9179b580759b815602d61b98c99d1f3f5253d
> Reviewed-on: https://chromium-review.googlesource.com/1144608
> Commit-Queue: Scott Haseley <shaseley@google.com>
> Reviewed-by: Alexander Timin <altimin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#578008}

TBR=altimin@chromium.org,panicker@chromium.org,shaseley@google.com

Change-Id: Ia71d2641655c8100b82a8ce7e4a11009d19b5e9a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 859963
Reviewed-on: https://chromium-review.googlesource.com/1150585
Reviewed-by: Derek Cheng <imcheng@chromium.org>
Commit-Queue: Derek Cheng <imcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578067}
msisov pushed a commit to msisov/chromium that referenced this issue Jul 31, 2018
This reverts commit df84748.

Reason for revert: To fix unit_tests (I have to revert this before the earlier patch). Likely suspect for BrowserThemePackTest.HiDpiThemeTest failing on bots. For example, https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-chromeos-rel/11230 :

[ RUN      ] BrowserThemePackTest.HiDpiThemeTest
../../chrome/browser/themes/browser_theme_pack_unittest.cc:204: Failure
Expected equality of these values:
  ""
  error
    Which is: "File doesn't exist."
Stack trace:
#0 0x0000026103ac testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop()
Igalia#1 0x00000260fd89 testing::internal::AssertHelper::operator=()
Igalia#2 0x000000fc9b98 BrowserThemePackTest::BuildFromUnpackedExtension()
Igalia#3 0x000000fd22cc BrowserThemePackTest_HiDpiThemeTest_Test::TestBody()
../../chrome/browser/themes/browser_theme_pack_unittest.cc:205: Failure
Value of: valid_value.get()
  Actual: false
Expected: true
Stack trace:
#0 0x0000026103ac testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop()
Igalia#1 0x00000260fd89 testing::internal::AssertHelper::operator=()
Igalia#2 0x000000fc9e0b BrowserThemePackTest::BuildFromUnpackedExtension()
Igalia#3 0x000000fd22cc BrowserThemePackTest_HiDpiThemeTest_Test::TestBody()
Received signal 11 SEGV_MAPERR 000000000028
#0 0x000004d00e1c base::debug::StackTrace::StackTrace()
Igalia#1 0x000004d00981 base::debug::(anonymous namespace)::StackDumpSignalHandler()
Igalia#2 0x7f26bba79330 <unknown>
Igalia#3 0x0000050f3e24 BrowserThemePack::WriteToDisk()
Igalia#4 0x000000fd22db BrowserThemePackTest_HiDpiThemeTest_Test::TestBody()
Igalia#5 0x0000026161b2 testing::Test::Run()
Igalia#6 0x000002616d30 testing::TestInfo::Run()
Igalia#7 0x000002617247 testing::TestCase::Run()
Igalia#8 0x000002622747 testing::internal::UnitTestImpl::RunAllTests()
Igalia#9 0x0000026222bd testing::UnitTest::Run()
Igalia#10 0x0000045565d1 base::TestSuite::Run()
Igalia#11 0x000004557fca base::(anonymous namespace)::LaunchUnitTestsInternal()
Igalia#12 0x000004557e7a base::LaunchUnitTests()
Igalia#13 0x00000454e155 main
Igalia#14 0x7f26b86c9f45 __libc_start_main
Igalia#15 0x0000006fa82a _start
  r8: 0000000000000000  r9: 54656d6568546970 r10: 747365545f747365 r11: 0000000000000000
 r12: 000024a8af0c0d20 r13: 00007fff447924e8 r14: 00007fff44792560 r15: 0000000000000000
  di: 0000000000000000  si: 00007fff44792560  bp: 00007fff44792520  bx: 00007fff44792578
  dx: 00000000000005e7  ax: 0000000000001fdd  cx: 0000000000000023  sp: 00007fff44792490
  ip: 00000000050f3e24 efl: 0000000000010206 cgf: 0000000000000033 erf: 0000000000000004
 trp: 000000000000000e msk: 0000000000000000 cr2: 0000000000000028
[end of stack trace]

Original change's description:
> Compute colors for the frame and tabs from provided images.
> 
> If theme authors explicitly provide values here, we'll use them; but if they
> don't, but do provide images, set the colors to be the dominant colors of the
> images, using an existing K-means algorithm (similar to what we use for
> computing representative favicon colors etc.).
> 
> This allows us to rely on those colors later when deciding what color to make
> tab text, the new tab button, and similar tabstrip/window frame items.
> 
> This also does a bit of cleanup to the theme pack code, e.g. moving a map used
> in only one function into that function to make its provenance clearer.  I can
> try to split this apart into more CLs if desired.
> 
> Bug: 862664
> Change-Id: I8c3f15893ad491a6fee8aa5f76ae162cecb2c6fd
> Reviewed-on: https://chromium-review.googlesource.com/1152517
> Commit-Queue: Peter Kasting <pkasting@chromium.org>
> Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
> Reviewed-by: Evan Stade <estade@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#578823}

TBR=pkasting@chromium.org,asvitkine@chromium.org,estade@chromium.org

Change-Id: I6a5a7f2916136ccf93101f36c34a17a4e5ef5d4f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 862664
Reviewed-on: https://chromium-review.googlesource.com/1153988
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578856}
msisov pushed a commit to msisov/chromium that referenced this issue Aug 16, 2018
This reverts commit 32cd8fc.

Reason for revert: Reverting the revert because this change was proven to not have caused the issue.

Original change's description:
> Revert "cros: Enable touchable app context menus by default."
> 
> This reverts commit b58ccf6.
> 
> Reason for revert: Possibly introduced a use-after-free bug.
> 
> This is a speculative fix for a use-after-free bug in two ash_unittests:
> 
> 1. OverflowButtonInkDropTest.MouseContextMenu
> 2. OverflowButtonActiveInkDropTest.MouseContextMenu
> 
> [ RUN      ] OverflowButtonInkDropTest.MouseContextMenu
> =================================================================
> ==28149==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000031f68 at pc 0x000008c82106 bp 0x7ffea3cd7190 sp 0x7ffea3cd7188
> READ of size 8 at 0x613000031f68 thread T0
>     #0 0x8c82105 in begin buildtools/third_party/libc++/trunk/include/vector:1479:30
>     Igalia#1 0x8c82105 in begin<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> > > buildtools/third_party/libc++/trunk/include/iterator:1670
>     Igalia#2 0x8c82105 in ContainsValue<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> >, const aura::WindowObserver *, 0> base/stl_util.h:168
>     Igalia#3 0x8c82105 in HasObserver base/observer_list.h:267
>     Igalia#4 0x8c82105 in aura::Window::HasObserver(aura::WindowObserver const*) const ui/aura/window.cc:543
>     Igalia#5 0x8c9d363 in aura::WindowObserver::OnUnobservingWindow(aura::Window*) ui/aura/window_observer.cc:25:15
>     Igalia#6 0x8c799d7 in aura::Window::RemoveObserver(aura::WindowObserver*) ui/aura/window.cc:538:13
>     Igalia#7 0xc2f40e in RemoveAll ui/base/window_tracker_template.h:49:15
>     Igalia#8 0xc2f40e in ui::WindowTrackerTemplate<aura::Window, aura::WindowObserver>::~WindowTrackerTemplate() ui/base/window_tracker_template.h:33
>     Igalia#9 0x9225f3b in ~CompoundEventFilter ui/wm/core/compound_event_filter.cc:49:1
>     Igalia#10 0x9225f3b in wm::CompoundEventFilter::~CompoundEventFilter() ui/wm/core/compound_event_filter.cc:45
>     Igalia#11 0x6b0ae30 in operator() buildtools/third_party/libc++/trunk/include/memory:2321:5
>     Igalia#12 0x6b0ae30 in reset buildtools/third_party/libc++/trunk/include/memory:2634
>     Igalia#13 0x6b0ae30 in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588
>     Igalia#14 0x6b0ae30 in ash::Shell::~Shell() ash/shell.cc:969
>     Igalia#15 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
>     Igalia#16 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
>     Igalia#17 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
>     Igalia#18 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
>     Igalia#19 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
>     Igalia#20 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
>     Igalia#21 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
>     Igalia#22 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
>     Igalia#23 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
>     Igalia#24 0x72b9892 in Run base/callback.h:99:12
>     Igalia#25 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
>     Igalia#26 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
>     Igalia#27 0x178df94 in main ash/test/ash_unittests.cc:37:10
>     Igalia#28 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> 
> 0x613000031f68 is located 296 bytes inside of 328-byte region [0x613000031e40,0x613000031f88)
> freed by thread T0 here:
>     #0 0x6b9062 in operator delete(void*) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:167:3
>     Igalia#1 0x6a547a0 in ash::RootWindowController::CloseChildWindows() ash/root_window_controller.cc:498:7
>     Igalia#2 0x6b0c5cf in ash::Shell::CloseAllRootWindowChildWindows() ash/shell.cc:1387:19
>     Igalia#3 0x6b06637 in ash::Shell::~Shell() ash/shell.cc:837:3
>     Igalia#4 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
>     Igalia#5 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
>     Igalia#6 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
>     Igalia#7 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
>     Igalia#8 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
>     Igalia#9 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
>     Igalia#10 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
>     Igalia#11 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
>     Igalia#12 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
>     Igalia#13 0x72b9892 in Run base/callback.h:99:12
>     Igalia#14 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
>     Igalia#15 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
>     Igalia#16 0x178df94 in main ash/test/ash_unittests.cc:37:10
>     Igalia#17 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> 
> previously allocated by thread T0 here:
>     #0 0x6b8422 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
>     Igalia#1 0x91cb856 in views::NativeWidgetAura::NativeWidgetAura(views::internal::NativeWidgetDelegate*, bool, aura::Env*) ui/views/widget/native_widget_aura.cc:109:15
>     Igalia#2 0x91d615d in views::internal::NativeWidgetPrivate::CreateNativeWidget(views::Widget::InitParams const&, views::internal::NativeWidgetDelegate*) ui/views/widget/native_widget_aura.cc:1113:14
>     Igalia#3 0x917dabd in CreateNativeWidget ui/views/widget/widget.cc:73:10
>     Igalia#4 0x917dabd in views::Widget::Init(views::Widget::InitParams const&) ui/views/widget/widget.cc:334
>     Igalia#5 0x6af249a in ash::ShelfWidget::ShelfWidget(aura::Window*, ash::Shelf*) ash/shelf/shelf_widget.cc:216:3
>     Igalia#6 0x6a96eaa in ash::Shelf::CreateShelfWidget(aura::Window*) ash/shelf/shelf.cc:73:27
>     Igalia#7 0x6a5847a in ash::RootWindowController::InitLayoutManagers() ash/root_window_controller.cc:699:11
>     Igalia#8 0x6a52166 in ash::RootWindowController::Init(ash::RootWindowController::RootWindowType) ash/root_window_controller.cc:663:3
>     Igalia#9 0x68ef135 in ash::WindowTreeHostManager::InitHosts() ash/display/window_tree_host_manager.cc:238:3
>     Igalia#10 0x6afadce in ash::Shell::Init(ui::ContextFactory*, ui::ContextFactoryPrivate*, std::__1::unique_ptr<base::Value, std::__1::default_delete<base::Value> >, std::__1::unique_ptr<ui::ws2::GpuInterfaceProvider, std::__1::default_delete<ui::ws2::GpuInterfaceProvider> >) ash/shell.cc:1250:30
>     Igalia#11 0x6af7163 in ash::Shell::CreateInstance(ash::ShellInitParams) ash/shell.cc:276:14
>     Igalia#12 0xc26ac31 in ash::AshTestHelper::CreateShell() ash/test/ash_test_helper.cc:390:3
>     Igalia#13 0xc26a2a0 in ash::AshTestHelper::SetUp(bool, bool) ash/test/ash_test_helper.cc:245:3
>     Igalia#14 0xc263f8d in ash::AshTestBase::SetUp() ash/test/ash_test_base.cc:159:21
>     Igalia#15 0x1322b16 in ash::ShelfViewTest::SetUp() ash/shelf/shelf_view_unittest.cc:262:18
>     Igalia#16 0x1326366 in SetUp ash/shelf/shelf_view_unittest.cc:2369:20
>     Igalia#17 0x1326366 in ash::OverflowButtonInkDropTest::SetUp() ash/shelf/shelf_view_unittest.cc:2778
>     Igalia#18 0x4722b42 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc
>     Igalia#19 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
>     Igalia#20 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
>     Igalia#21 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
>     Igalia#22 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
>     Igalia#23 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
>     Igalia#24 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
>     Igalia#25 0x72b9892 in Run base/callback.h:99:12
>     Igalia#26 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
>     Igalia#27 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
>     Igalia#28 0x178df94 in main ash/test/ash_unittests.cc:37:10
>     Igalia#29 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> 
> SUMMARY: AddressSanitizer: heap-use-after-free buildtools/third_party/libc++/trunk/include/vector:1479:30 in begin
> Shadow bytes around the buggy address:
>   0x0c267fffe390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>   0x0c267fffe3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>   0x0c267fffe3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
>   0x0c267fffe3c0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
>   0x0c267fffe3d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> =>0x0c267fffe3e0: fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd
>   0x0c267fffe3f0: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
>   0x0c267fffe400: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
>   0x0c267fffe410: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
>   0x0c267fffe420: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
>   0x0c267fffe430: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
> Shadow byte legend (one shadow byte represents 8 application bytes):
>   Addressable:           00
>   Partially addressable: 01 02 03 04 05 06 07 
>   Heap left redzone:       fa
>   Freed heap region:       fd
>   Stack left redzone:      f1
>   Stack mid redzone:       f2
>   Stack right redzone:     f3
>   Stack after return:      f5
>   Stack use after scope:   f8
>   Global redzone:          f9
>   Global init order:       f6
>   Poisoned by user:        f7
>   Container overflow:      fc
>   Array cookie:            ac
>   Intra object redzone:    bb
>   ASan internal:           fe
>   Left alloca redzone:     ca
>   Right alloca redzone:    cb
>   Shadow gap:              cc
> ==28149==ABORTING
> 
> Original change's description:
> > cros: Enable touchable app context menus by default.
> > 
> > This will enable:
> >  - New context menu UI for:
> >   - Application icons
> >   - Shelf context menus
> >   - Desktop context menus
> > 
> > Note:
> >  - Removed tests whose functionality were already being tested.
> >    - MouseContextMenu already tests whether the ink drop is being
> >      shown, so there is no need for
> >      ShelfButtonShowsInkDropHighlightOnMenuShow.
> > 
> > Bug: 871843
> > Change-Id: I4c92ae52f75b25bc9edd1dd67778c4785d8f4058
> > Reviewed-on: https://chromium-review.googlesource.com/1170985
> > Reviewed-by: Scott Violet <sky@chromium.org>
> > Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> > Commit-Queue: Alex Newcomer <newcomer@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#582978}
> 
> TBR=xiyuan@chromium.org,sky@chromium.org,newcomer@chromium.org
> 
> Change-Id: Ib85676861251f41c84f48f956d36c01edb353266
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 871843
> Reviewed-on: https://chromium-review.googlesource.com/1174641
> Reviewed-by: Chris Mumford <cmumford@chromium.org>
> Commit-Queue: Chris Mumford <cmumford@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#583088}

TBR=xiyuan@chromium.org,sky@chromium.org,cmumford@chromium.org,newcomer@chromium.org

Change-Id: I4edeef479d40e1e591ac906aa89ede363668b6a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 871843
Reviewed-on: https://chromium-review.googlesource.com/1174777
Reviewed-by: Alex Newcomer <newcomer@chromium.org>
Commit-Queue: Alex Newcomer <newcomer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583310}
jkim-julie pushed a commit to jkim-julie/chromium that referenced this issue Aug 20, 2018
This reverts commit b58ccf6.

Reason for revert: Possibly introduced a use-after-free bug.

This is a speculative fix for a use-after-free bug in two ash_unittests:

1. OverflowButtonInkDropTest.MouseContextMenu
2. OverflowButtonActiveInkDropTest.MouseContextMenu

[ RUN      ] OverflowButtonInkDropTest.MouseContextMenu
=================================================================
==28149==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000031f68 at pc 0x000008c82106 bp 0x7ffea3cd7190 sp 0x7ffea3cd7188
READ of size 8 at 0x613000031f68 thread T0
    #0 0x8c82105 in begin buildtools/third_party/libc++/trunk/include/vector:1479:30
    Igalia#1 0x8c82105 in begin<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> > > buildtools/third_party/libc++/trunk/include/iterator:1670
    Igalia#2 0x8c82105 in ContainsValue<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> >, const aura::WindowObserver *, 0> base/stl_util.h:168
    Igalia#3 0x8c82105 in HasObserver base/observer_list.h:267
    Igalia#4 0x8c82105 in aura::Window::HasObserver(aura::WindowObserver const*) const ui/aura/window.cc:543
    Igalia#5 0x8c9d363 in aura::WindowObserver::OnUnobservingWindow(aura::Window*) ui/aura/window_observer.cc:25:15
    Igalia#6 0x8c799d7 in aura::Window::RemoveObserver(aura::WindowObserver*) ui/aura/window.cc:538:13
    Igalia#7 0xc2f40e in RemoveAll ui/base/window_tracker_template.h:49:15
    Igalia#8 0xc2f40e in ui::WindowTrackerTemplate<aura::Window, aura::WindowObserver>::~WindowTrackerTemplate() ui/base/window_tracker_template.h:33
    Igalia#9 0x9225f3b in ~CompoundEventFilter ui/wm/core/compound_event_filter.cc:49:1
    Igalia#10 0x9225f3b in wm::CompoundEventFilter::~CompoundEventFilter() ui/wm/core/compound_event_filter.cc:45
    Igalia#11 0x6b0ae30 in operator() buildtools/third_party/libc++/trunk/include/memory:2321:5
    Igalia#12 0x6b0ae30 in reset buildtools/third_party/libc++/trunk/include/memory:2634
    Igalia#13 0x6b0ae30 in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588
    Igalia#14 0x6b0ae30 in ash::Shell::~Shell() ash/shell.cc:969
    Igalia#15 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
    Igalia#16 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
    Igalia#17 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
    Igalia#18 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
    Igalia#19 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
    Igalia#20 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
    Igalia#21 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
    Igalia#22 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
    Igalia#23 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
    Igalia#24 0x72b9892 in Run base/callback.h:99:12
    Igalia#25 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
    Igalia#26 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
    Igalia#27 0x178df94 in main ash/test/ash_unittests.cc:37:10
    Igalia#28 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287

0x613000031f68 is located 296 bytes inside of 328-byte region [0x613000031e40,0x613000031f88)
freed by thread T0 here:
    #0 0x6b9062 in operator delete(void*) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:167:3
    Igalia#1 0x6a547a0 in ash::RootWindowController::CloseChildWindows() ash/root_window_controller.cc:498:7
    Igalia#2 0x6b0c5cf in ash::Shell::CloseAllRootWindowChildWindows() ash/shell.cc:1387:19
    Igalia#3 0x6b06637 in ash::Shell::~Shell() ash/shell.cc:837:3
    Igalia#4 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
    Igalia#5 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
    Igalia#6 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
    Igalia#7 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
    Igalia#8 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
    Igalia#9 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
    Igalia#10 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
    Igalia#11 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
    Igalia#12 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
    Igalia#13 0x72b9892 in Run base/callback.h:99:12
    Igalia#14 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
    Igalia#15 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
    Igalia#16 0x178df94 in main ash/test/ash_unittests.cc:37:10
    Igalia#17 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287

previously allocated by thread T0 here:
    #0 0x6b8422 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
    Igalia#1 0x91cb856 in views::NativeWidgetAura::NativeWidgetAura(views::internal::NativeWidgetDelegate*, bool, aura::Env*) ui/views/widget/native_widget_aura.cc:109:15
    Igalia#2 0x91d615d in views::internal::NativeWidgetPrivate::CreateNativeWidget(views::Widget::InitParams const&, views::internal::NativeWidgetDelegate*) ui/views/widget/native_widget_aura.cc:1113:14
    Igalia#3 0x917dabd in CreateNativeWidget ui/views/widget/widget.cc:73:10
    Igalia#4 0x917dabd in views::Widget::Init(views::Widget::InitParams const&) ui/views/widget/widget.cc:334
    Igalia#5 0x6af249a in ash::ShelfWidget::ShelfWidget(aura::Window*, ash::Shelf*) ash/shelf/shelf_widget.cc:216:3
    Igalia#6 0x6a96eaa in ash::Shelf::CreateShelfWidget(aura::Window*) ash/shelf/shelf.cc:73:27
    Igalia#7 0x6a5847a in ash::RootWindowController::InitLayoutManagers() ash/root_window_controller.cc:699:11
    Igalia#8 0x6a52166 in ash::RootWindowController::Init(ash::RootWindowController::RootWindowType) ash/root_window_controller.cc:663:3
    Igalia#9 0x68ef135 in ash::WindowTreeHostManager::InitHosts() ash/display/window_tree_host_manager.cc:238:3
    Igalia#10 0x6afadce in ash::Shell::Init(ui::ContextFactory*, ui::ContextFactoryPrivate*, std::__1::unique_ptr<base::Value, std::__1::default_delete<base::Value> >, std::__1::unique_ptr<ui::ws2::GpuInterfaceProvider, std::__1::default_delete<ui::ws2::GpuInterfaceProvider> >) ash/shell.cc:1250:30
    Igalia#11 0x6af7163 in ash::Shell::CreateInstance(ash::ShellInitParams) ash/shell.cc:276:14
    Igalia#12 0xc26ac31 in ash::AshTestHelper::CreateShell() ash/test/ash_test_helper.cc:390:3
    Igalia#13 0xc26a2a0 in ash::AshTestHelper::SetUp(bool, bool) ash/test/ash_test_helper.cc:245:3
    Igalia#14 0xc263f8d in ash::AshTestBase::SetUp() ash/test/ash_test_base.cc:159:21
    Igalia#15 0x1322b16 in ash::ShelfViewTest::SetUp() ash/shelf/shelf_view_unittest.cc:262:18
    Igalia#16 0x1326366 in SetUp ash/shelf/shelf_view_unittest.cc:2369:20
    Igalia#17 0x1326366 in ash::OverflowButtonInkDropTest::SetUp() ash/shelf/shelf_view_unittest.cc:2778
    Igalia#18 0x4722b42 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc
    Igalia#19 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
    Igalia#20 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
    Igalia#21 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
    Igalia#22 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
    Igalia#23 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
    Igalia#24 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
    Igalia#25 0x72b9892 in Run base/callback.h:99:12
    Igalia#26 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
    Igalia#27 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
    Igalia#28 0x178df94 in main ash/test/ash_unittests.cc:37:10
    Igalia#29 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287

SUMMARY: AddressSanitizer: heap-use-after-free buildtools/third_party/libc++/trunk/include/vector:1479:30 in begin
Shadow bytes around the buggy address:
  0x0c267fffe390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c267fffe3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c267fffe3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
  0x0c267fffe3c0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c267fffe3d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c267fffe3e0: fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd
  0x0c267fffe3f0: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c267fffe400: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c267fffe410: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c267fffe420: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
  0x0c267fffe430: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==28149==ABORTING

Original change's description:
> cros: Enable touchable app context menus by default.
> 
> This will enable:
>  - New context menu UI for:
>   - Application icons
>   - Shelf context menus
>   - Desktop context menus
> 
> Note:
>  - Removed tests whose functionality were already being tested.
>    - MouseContextMenu already tests whether the ink drop is being
>      shown, so there is no need for
>      ShelfButtonShowsInkDropHighlightOnMenuShow.
> 
> Bug: 871843
> Change-Id: I4c92ae52f75b25bc9edd1dd67778c4785d8f4058
> Reviewed-on: https://chromium-review.googlesource.com/1170985
> Reviewed-by: Scott Violet <sky@chromium.org>
> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> Commit-Queue: Alex Newcomer <newcomer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#582978}

TBR=xiyuan@chromium.org,sky@chromium.org,newcomer@chromium.org

Change-Id: Ib85676861251f41c84f48f956d36c01edb353266
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 871843
Reviewed-on: https://chromium-review.googlesource.com/1174641
Reviewed-by: Chris Mumford <cmumford@chromium.org>
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583088}
jkim-julie pushed a commit to jkim-julie/chromium that referenced this issue Aug 20, 2018
This reverts commit e2c5501.

Reason for revert: Causes ash_unittests regressions. This is NOT
a speculative revert, as I've bisected to this commit and reproduced
it locally. Please do not reland as is.
Failing build: 
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/28629

Original change's description:
> Reland "cros: Enable touchable app context menus by default."
> 
> This reverts commit 32cd8fc.
> 
> Reason for revert: Reverting the revert because this change was proven to not have caused the issue.
> 
> Original change's description:
> > Revert "cros: Enable touchable app context menus by default."
> > 
> > This reverts commit b58ccf6.
> > 
> > Reason for revert: Possibly introduced a use-after-free bug.
> > 
> > This is a speculative fix for a use-after-free bug in two ash_unittests:
> > 
> > 1. OverflowButtonInkDropTest.MouseContextMenu
> > 2. OverflowButtonActiveInkDropTest.MouseContextMenu
> > 
> > [ RUN      ] OverflowButtonInkDropTest.MouseContextMenu
> > =================================================================
> > ==28149==ERROR: AddressSanitizer: heap-use-after-free on address 0x613000031f68 at pc 0x000008c82106 bp 0x7ffea3cd7190 sp 0x7ffea3cd7188
> > READ of size 8 at 0x613000031f68 thread T0
> >     #0 0x8c82105 in begin buildtools/third_party/libc++/trunk/include/vector:1479:30
> >     Igalia#1 0x8c82105 in begin<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> > > buildtools/third_party/libc++/trunk/include/iterator:1670
> >     Igalia#2 0x8c82105 in ContainsValue<std::__1::vector<aura::WindowObserver *, std::__1::allocator<aura::WindowObserver *> >, const aura::WindowObserver *, 0> base/stl_util.h:168
> >     Igalia#3 0x8c82105 in HasObserver base/observer_list.h:267
> >     Igalia#4 0x8c82105 in aura::Window::HasObserver(aura::WindowObserver const*) const ui/aura/window.cc:543
> >     Igalia#5 0x8c9d363 in aura::WindowObserver::OnUnobservingWindow(aura::Window*) ui/aura/window_observer.cc:25:15
> >     Igalia#6 0x8c799d7 in aura::Window::RemoveObserver(aura::WindowObserver*) ui/aura/window.cc:538:13
> >     Igalia#7 0xc2f40e in RemoveAll ui/base/window_tracker_template.h:49:15
> >     Igalia#8 0xc2f40e in ui::WindowTrackerTemplate<aura::Window, aura::WindowObserver>::~WindowTrackerTemplate() ui/base/window_tracker_template.h:33
> >     Igalia#9 0x9225f3b in ~CompoundEventFilter ui/wm/core/compound_event_filter.cc:49:1
> >     Igalia#10 0x9225f3b in wm::CompoundEventFilter::~CompoundEventFilter() ui/wm/core/compound_event_filter.cc:45
> >     Igalia#11 0x6b0ae30 in operator() buildtools/third_party/libc++/trunk/include/memory:2321:5
> >     Igalia#12 0x6b0ae30 in reset buildtools/third_party/libc++/trunk/include/memory:2634
> >     Igalia#13 0x6b0ae30 in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2588
> >     Igalia#14 0x6b0ae30 in ash::Shell::~Shell() ash/shell.cc:969
> >     Igalia#15 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
> >     Igalia#16 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
> >     Igalia#17 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
> >     Igalia#18 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
> >     Igalia#19 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
> >     Igalia#20 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
> >     Igalia#21 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
> >     Igalia#22 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
> >     Igalia#23 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
> >     Igalia#24 0x72b9892 in Run base/callback.h:99:12
> >     Igalia#25 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
> >     Igalia#26 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
> >     Igalia#27 0x178df94 in main ash/test/ash_unittests.cc:37:10
> >     Igalia#28 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> > 
> > 0x613000031f68 is located 296 bytes inside of 328-byte region [0x613000031e40,0x613000031f88)
> > freed by thread T0 here:
> >     #0 0x6b9062 in operator delete(void*) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:167:3
> >     Igalia#1 0x6a547a0 in ash::RootWindowController::CloseChildWindows() ash/root_window_controller.cc:498:7
> >     Igalia#2 0x6b0c5cf in ash::Shell::CloseAllRootWindowChildWindows() ash/shell.cc:1387:19
> >     Igalia#3 0x6b06637 in ash::Shell::~Shell() ash/shell.cc:837:3
> >     Igalia#4 0x6b0c81d in ash::Shell::~Shell() ash/shell.cc:737:17
> >     Igalia#5 0xc26b344 in ash::AshTestHelper::TearDown() ash/test/ash_test_helper.cc:294:3
> >     Igalia#6 0xc26444c in ash::AshTestBase::TearDown() ash/test/ash_test_base.cc:192:21
> >     Igalia#7 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
> >     Igalia#8 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
> >     Igalia#9 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
> >     Igalia#10 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
> >     Igalia#11 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
> >     Igalia#12 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
> >     Igalia#13 0x72b9892 in Run base/callback.h:99:12
> >     Igalia#14 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
> >     Igalia#15 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
> >     Igalia#16 0x178df94 in main ash/test/ash_unittests.cc:37:10
> >     Igalia#17 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> > 
> > previously allocated by thread T0 here:
> >     #0 0x6b8422 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
> >     Igalia#1 0x91cb856 in views::NativeWidgetAura::NativeWidgetAura(views::internal::NativeWidgetDelegate*, bool, aura::Env*) ui/views/widget/native_widget_aura.cc:109:15
> >     Igalia#2 0x91d615d in views::internal::NativeWidgetPrivate::CreateNativeWidget(views::Widget::InitParams const&, views::internal::NativeWidgetDelegate*) ui/views/widget/native_widget_aura.cc:1113:14
> >     Igalia#3 0x917dabd in CreateNativeWidget ui/views/widget/widget.cc:73:10
> >     Igalia#4 0x917dabd in views::Widget::Init(views::Widget::InitParams const&) ui/views/widget/widget.cc:334
> >     Igalia#5 0x6af249a in ash::ShelfWidget::ShelfWidget(aura::Window*, ash::Shelf*) ash/shelf/shelf_widget.cc:216:3
> >     Igalia#6 0x6a96eaa in ash::Shelf::CreateShelfWidget(aura::Window*) ash/shelf/shelf.cc:73:27
> >     Igalia#7 0x6a5847a in ash::RootWindowController::InitLayoutManagers() ash/root_window_controller.cc:699:11
> >     Igalia#8 0x6a52166 in ash::RootWindowController::Init(ash::RootWindowController::RootWindowType) ash/root_window_controller.cc:663:3
> >     Igalia#9 0x68ef135 in ash::WindowTreeHostManager::InitHosts() ash/display/window_tree_host_manager.cc:238:3
> >     Igalia#10 0x6afadce in ash::Shell::Init(ui::ContextFactory*, ui::ContextFactoryPrivate*, std::__1::unique_ptr<base::Value, std::__1::default_delete<base::Value> >, std::__1::unique_ptr<ui::ws2::GpuInterfaceProvider, std::__1::default_delete<ui::ws2::GpuInterfaceProvider> >) ash/shell.cc:1250:30
> >     Igalia#11 0x6af7163 in ash::Shell::CreateInstance(ash::ShellInitParams) ash/shell.cc:276:14
> >     Igalia#12 0xc26ac31 in ash::AshTestHelper::CreateShell() ash/test/ash_test_helper.cc:390:3
> >     Igalia#13 0xc26a2a0 in ash::AshTestHelper::SetUp(bool, bool) ash/test/ash_test_helper.cc:245:3
> >     Igalia#14 0xc263f8d in ash::AshTestBase::SetUp() ash/test/ash_test_base.cc:159:21
> >     Igalia#15 0x1322b16 in ash::ShelfViewTest::SetUp() ash/shelf/shelf_view_unittest.cc:262:18
> >     Igalia#16 0x1326366 in SetUp ash/shelf/shelf_view_unittest.cc:2369:20
> >     Igalia#17 0x1326366 in ash::OverflowButtonInkDropTest::SetUp() ash/shelf/shelf_view_unittest.cc:2778
> >     Igalia#18 0x4722b42 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc
> >     Igalia#19 0x4724c64 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2682:11
> >     Igalia#20 0x4726036 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2800:28
> >     Igalia#21 0x474b566 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5124:43
> >     Igalia#22 0x474a7b5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc
> >     Igalia#23 0x72b431a in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2331:46
> >     Igalia#24 0x72b431a in base::TestSuite::Run() base/test/test_suite.cc:277
> >     Igalia#25 0x72b9892 in Run base/callback.h:99:12
> >     Igalia#26 0x72b9892 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:224
> >     Igalia#27 0x72b9330 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
> >     Igalia#28 0x178df94 in main ash/test/ash_unittests.cc:37:10
> >     Igalia#29 0x7f78e2b62f44 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287
> > 
> > SUMMARY: AddressSanitizer: heap-use-after-free buildtools/third_party/libc++/trunk/include/vector:1479:30 in begin
> > Shadow bytes around the buggy address:
> >   0x0c267fffe390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >   0x0c267fffe3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >   0x0c267fffe3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
> >   0x0c267fffe3c0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
> >   0x0c267fffe3d0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> > =>0x0c267fffe3e0: fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd
> >   0x0c267fffe3f0: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
> >   0x0c267fffe400: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> >   0x0c267fffe410: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
> >   0x0c267fffe420: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
> >   0x0c267fffe430: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
> > Shadow byte legend (one shadow byte represents 8 application bytes):
> >   Addressable:           00
> >   Partially addressable: 01 02 03 04 05 06 07 
> >   Heap left redzone:       fa
> >   Freed heap region:       fd
> >   Stack left redzone:      f1
> >   Stack mid redzone:       f2
> >   Stack right redzone:     f3
> >   Stack after return:      f5
> >   Stack use after scope:   f8
> >   Global redzone:          f9
> >   Global init order:       f6
> >   Poisoned by user:        f7
> >   Container overflow:      fc
> >   Array cookie:            ac
> >   Intra object redzone:    bb
> >   ASan internal:           fe
> >   Left alloca redzone:     ca
> >   Right alloca redzone:    cb
> >   Shadow gap:              cc
> > ==28149==ABORTING
> > 
> > Original change's description:
> > > cros: Enable touchable app context menus by default.
> > > 
> > > This will enable:
> > >  - New context menu UI for:
> > >   - Application icons
> > >   - Shelf context menus
> > >   - Desktop context menus
> > > 
> > > Note:
> > >  - Removed tests whose functionality were already being tested.
> > >    - MouseContextMenu already tests whether the ink drop is being
> > >      shown, so there is no need for
> > >      ShelfButtonShowsInkDropHighlightOnMenuShow.
> > > 
> > > Bug: 871843
> > > Change-Id: I4c92ae52f75b25bc9edd1dd67778c4785d8f4058
> > > Reviewed-on: https://chromium-review.googlesource.com/1170985
> > > Reviewed-by: Scott Violet <sky@chromium.org>
> > > Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> > > Commit-Queue: Alex Newcomer <newcomer@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#582978}
> > 
> > TBR=xiyuan@chromium.org,sky@chromium.org,newcomer@chromium.org
> > 
> > Change-Id: Ib85676861251f41c84f48f956d36c01edb353266
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 871843
> > Reviewed-on: https://chromium-review.googlesource.com/1174641
> > Reviewed-by: Chris Mumford <cmumford@chromium.org>
> > Commit-Queue: Chris Mumford <cmumford@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#583088}
> 
> TBR=xiyuan@chromium.org,sky@chromium.org,cmumford@chromium.org,newcomer@chromium.org
> 
> Change-Id: I4edeef479d40e1e591ac906aa89ede363668b6a3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 871843
> Reviewed-on: https://chromium-review.googlesource.com/1174777
> Reviewed-by: Alex Newcomer <newcomer@chromium.org>
> Commit-Queue: Alex Newcomer <newcomer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#583310}

TBR=xiyuan@chromium.org,sky@chromium.org,cmumford@chromium.org,newcomer@chromium.org

Change-Id: I8398745c9037fb5be605069646b3a655519d023e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 871843
Reviewed-on: https://chromium-review.googlesource.com/1177482
Reviewed-by: Morten Stenshorne <mstensho@chromium.org>
Commit-Queue: Morten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583619}
msisov pushed a commit that referenced this issue Sep 11, 2018
This reverts commit e6df634.

Reason for revert: 
Suspect WebKit Linux Trusty MSAN failures:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20MSAN/9778

crash log for content_shell (pid 19555):
STDOUT: <empty>
STDERR: [1:16:0903/135605.516164:ERROR:adm_helpers.cc(73)] Failed to query stereo recording.
STDERR: CONSOLE WARNING: line 371: The Web Audio autoplay policy will be re-enabled in Chrome 70 (October 2018). Please check that your website is compatible with it. https://goo.gl/7K7WLu
STDERR: ==19555==WARNING: MemorySanitizer: use-of-uninitialized-value
STDERR:     #0 0x119c0a99 in network::P2PSocketUdp::HandleReadResult(int) ./../../services/network/p2p/socket_udp.cc:231:9
STDERR:     #1 0x119bf30b in network::P2PSocketUdp::OnRecv(int) ./../../services/network/p2p/socket_udp.cc:202:3
STDERR:     #2 0xc8cd202 in Run ./../../base/callback.h:99:12
STDERR:     #3 0xc8cd202 in DoReadCallback ./../../net/socket/udp_socket_posix.cc:690:0
STDERR:     #4 0xc8cd202 in net::UDPSocketPosix::DidCompleteRead() ./../../net/socket/udp_socket_posix.cc:711:0
STDERR:     #5 0xc8cc98d in net::UDPSocketPosix::ReadWatcher::OnFileCanReadWithoutBlocking(int) ./../../net/socket/udp_socket_posix.cc:676:14
STDERR:     #6 0xb3aa2ec in base::MessagePumpLibevent::OnLibeventNotification(int, short, void*) ./../../base/message_loop/message_pump_libevent.cc:0:13
STDERR:     #7 0xb3c2bd6 in event_process_active ./../../base/third_party/libevent/event.c:381:4
STDERR:     #8 0xb3c2bd6 in event_base_loop ./../../base/third_party/libevent/event.c:521:0
STDERR:     #9 0xb3aaf3e in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_libevent.cc:214:5
STDERR:     #10 0xb12a9ff in base::RunLoop::Run() ./../../base/run_loop.cc:102:14
STDERR:     #11 0x8655f3e in content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) ./../../content/browser/browser_process_sub_thread.cc:175:11
STDERR:     #12 0xb26ea58 in base::Thread::ThreadMain() ./../../base/threading/thread.cc:357:3
STDERR:     #13 0xb39a887 in base::(anonymous namespace)::ThreadFunc(void*) ./../../base/threading/platform_thread_posix.cc:76:13
STDERR:     #14 0x7ffa170eb183 in start_thread /build/eglibc-ripdx6/eglibc-2.19/nptl/pthread_create.c:312:0
STDERR:     #15 0x7ffa0fa3703c in clone /build/eglibc-ripdx6/eglibc-2.19/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:111:0
STDERR: 
STDERR:   Uninitialized value was created by a heap allocation
STDERR:     #0 0x1ab9a79 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/msan/msan_new_delete.cc:46:35
STDERR:     #1 0x119a51de in network::P2PSocket::Create(network::P2PSocket::Delegate*, mojo::InterfacePtr<network::mojom::P2PSocketClient>, mojo::InterfaceRequest<network::mojom::P2PSocket>, network::P2PSocketType, net::NetLog*, network::ProxyResolvingClientSocketFactory*, network::P2PMessageThrottler*) ./../../services/network/p2p/socket.cc:173:14
STDERR:     #2 0x1198d68c in network::P2PSocketManager::CreateSocket(network::P2PSocketType, net::IPEndPoint const&, network::P2PPortRange const&, network::P2PHostAndIPEndPoint const&, mojo::InterfacePtr<network::mojom::P2PSocketClient>, mojo::InterfaceRequest<network::mojom::P2PSocket>) ./../../services/network/p2p/socket_manager.cc:294:7
STDERR:     #3 0x1e6127b in network::mojom::P2PSocketManagerStubDispatch::Accept(network::mojom::P2PSocketManager*, mojo::Message*) ./gen/services/network/public/mojom/p2p.mojom.cc:1105:13
STDERR:     #4 0x11991146 in network::mojom::P2PSocketManagerStub<mojo::RawPtrImplRefTraits<network::mojom::P2PSocketManager> >::Accept(mojo::Message*) ./gen/services/network/public/mojom/p2p.mojom.h:446:12
STDERR:     #5 0xb407929 in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) ./../../mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:423:32
STDERR:     #6 0xb4056da in mojo::FilterChain::Accept(mojo::Message*) ./../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
STDERR:     #7 0xb421df5 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) ./../../mojo/public/cpp/bindings/lib/multiplex_router.cc:869:42
STDERR:     #8 0xb41f60d in mojo::internal::MultiplexRouter::Accept(mojo::Message*) ./../../mojo/public/cpp/bindings/lib/multiplex_router.cc:590:38
STDERR:     #9 0xb4056da in mojo::FilterChain::Accept(mojo::Message*) ./../../mojo/public/cpp/bindings/lib/filter_chain.cc:40:17
STDERR:     #10 0xb3fdbc2 in mojo::Connector::ReadSingleMessage(unsigned int*) ./../../mojo/public/cpp/bindings/lib/connector.cc:457:51
STDERR:     #11 0xb400300 in mojo::Connector::ReadAllAvailableMessages() ./../../mojo/public/cpp/bindings/lib/connector.cc:486:10
STDERR:     #12 0xb3e106b in Run ./../../base/callback.h:129:12
STDERR:     #13 0xb3e106b in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) ./../../mojo/public/cpp/system/simple_watcher.cc:273:0
STDERR:     #14 0xb3e1a6c in mojo::SimpleWatcher::Context::Notify(unsigned int, MojoHandleSignalsState, unsigned int) ./../../mojo/public/cpp/system/simple_watcher.cc:105:22
STDERR:     #15 0xb3de578 in mojo::SimpleWatcher::Context::CallNotify(MojoTrapEvent const*) ./../../mojo/public/cpp/system/simple_watcher.cc:55:14
STDERR:     #16 0x46bbfd7 in mojo::core::WatcherDispatcher::InvokeWatchCallback(unsigned long, unsigned int, mojo::core::HandleSignalsState const&, unsigned int) ./../../mojo/core/watcher_dispatcher.cc:90:3
STDERR:     #17 0x46b9935 in mojo::core::Watch::InvokeCallback(unsigned int, mojo::core::HandleSignalsState const&, unsigned int) ./../../mojo/core/watch.cc:78:13
STDERR:     #18 0x46a4715 in mojo::core::RequestContext::~RequestContext() ./../../mojo/core/request_context.cc:72:20
STDERR:     #19 0x466c618 in mojo::core::NodeChannel::OnChannelMessage(void const*, unsigned long, std::__1::vector<mojo::PlatformHandle, std::__1::allocator<mojo::PlatformHandle> >) ./../../mojo/core/node_channel.cc:695:1
STDERR:     #20 0x461c6a4 in mojo::core::Channel::OnReadComplete(unsigned long, unsigned long*) ./../../mojo/core/channel.cc:714:18
STDERR: 
STDERR: SUMMARY: MemorySanitizer: use-of-uninitialized-value (/b/s/w/ir/out/Release/content_shell+0x119c0a99)
STDERR: Exiting
STDERR: [19588:19588:0903/135606.482234:WARNING:x11_util.cc(1391)] X error received: serial 170, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)

Original change's description:
> Cleanup lifetime handling in P2P sockets.
> 
> Several fixes for P2P sockets:
>  1. P2PSocketTcpBase no longer posts tasks with base::Unretained().
>  2. Previously P2P sockets were destroyed only in response to Mojo
>     interfaces errors. They were not destroyed on other error. Fixed
>     it now.
>  3. Simplified TCP server socket protocol. Now the accepted socket is
>     passed directly in IncomingTcpConnection.
>  4. Updated unittests to verify that P2P sockets are destroyed in
>     response to errors.
>  5. Other minor cleanups, particularly moved packet dump logic to
>     SocketManager and removed some unittests that are not relevant
>     after migration to mojo.
> 
> Bug: 877515,  877514
> Cq-Include-Trybots: luci.chromium.try:linux_mojo
> Change-Id: I55276e372185c558667289a1efdfcf0421c3d7bc
> Reviewed-on: https://chromium-review.googlesource.com/1189083
> Reviewed-by: Nasko Oskov <nasko@chromium.org>
> Reviewed-by: John Abd-El-Malek <jam@chromium.org>
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#588430}

TBR=nasko@chromium.org,jam@chromium.org,mmenke@chromium.org,sergeyu@chromium.org

Change-Id: I33bfb1c8127a945df37fd8bf9efda681a739095e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 877515, 877514
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1203492
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Commit-Position: refs/heads/master@{#588440}
jkim-julie pushed a commit that referenced this issue Oct 29, 2018
…enChanged()

When running in single threaded mode, calls from
OnBeginImplFrameDeadline() can make their way from the main thread to
the impl thread, and then (erroneously) directly back to the main
thread, causing a crash. See the stack trace below. With this CL, the
call from viz::HostFrameSinkManager::OnFrameTokenChanged() is proxied
back to the main thread for the call to
content::DelegatedFrameHost::OnFrameTokenChanged().

A number of tests also call FrameSinkManagerImpl::SetLocalClient and/or
surface_utils::ConnectWithLocalFrameSinkManager, and I did not want
to change their existing behavior. So the additional task_runner
parameter is defaulted to nullptr, and in that case the old behavior
still applies - the call is not PostTasked.

Example crash:
[243567:243567:1023/120428.757147:FATAL:single_thread_proxy.cc(239)] Check failed: task_runner_provider_->IsMainThread().
#0 0x7f4d3b3bbccd base::debug::StackTrace::StackTrace()
#1 0x7f4d3b0b8a2a base::debug::StackTrace::StackTrace()
#2 0x7f4d3b12a59b logging::LogMessage::~LogMessage()
#3 0x7f4d315b4e9b cc::SingleThreadProxy::SetNeedsCommit()
#4 0x7f4d3149b8ef cc::LayerTreeHost::SetNeedsCommit()
#5 0x7f4d312b28f1 cc::Layer::SetNeedsCommit()
#6 0x7f4d312b8205 cc::Layer::SetBackgroundColor()
#7 0x7f4d2cb5fd54 ui::Layer::SetColorFromAnimation()
#8 0x7f4d2cb79024 ui::LayerAnimator::SetColor()
#9 0x7f4d2cb56a5c ui::Layer::SetColor()
#10 0x7f4d37f1b8a1 content::RenderWidgetHostViewAura::UpdateBackgroundColor()
#11 0x7f4d37f2851e content::RenderWidgetHostViewBase::SetContentBackgroundColor()
#12 0x7f4d37f222cb content::RenderWidgetHostViewAura::OnRenderFrameMetadataChangedAfterActivation()
#13 0x7f4d37e81d5c content::RenderFrameMetadataProviderImpl::OnRenderFrameMetadataChangedAfterActivation()
#14 0x7f4d37e8391f _ZN4base8internal13FunctorTraitsIMN7content31RenderFrameMetadataProviderImplEFvN2cc19RenderFrameMetadataEEvE6InvokeIS7_NS_7WeakPtrIS3_EEJS5_EEEvT_OT0_DpOT1_
#15 0x7f4d37e83805 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIMN7content31RenderFrameMetadataProviderImplEFvN2cc19RenderFrameMetadataEENS_7WeakPtrIS5_EEJS7_EEEvOT_OT0_DpOT1_
#16 0x7f4d37e8377d _ZN4base8internal7InvokerINS0_9BindStateIMN7content31RenderFrameMetadataProviderImplEFvN2cc19RenderFrameMetadataEEJNS_7WeakPtrIS4_EES6_EEEFvvEE7RunImplIS8_NSt3__15tupleIJSA_S6_EEEJLm0ELm1EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#17 0x7f4d37e836f9 _ZN4base8internal7InvokerINS0_9BindStateIMN7content31RenderFrameMetadataProviderImplEFvN2cc19RenderFrameMetadataEEJNS_7WeakPtrIS4_EES6_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#18 0x7f4d35ecd92e _ZNO4base12OnceCallbackIFvvEE3RunEv
#19 0x7f4d37d2d8a3 content::FrameTokenMessageQueue::DidProcessFrame()
#20 0x7f4d37ef17cd content::RenderWidgetHostImpl::DidProcessFrame()
#21 0x7f4d37f2aeaa content::RenderWidgetHostViewBase::OnFrameTokenChangedForView()
#22 0x7f4d3845b99f content::DelegatedFrameHostClientAura::OnFrameTokenChanged()
#23 0x7f4d38483f90 content::DelegatedFrameHost::OnFrameTokenChanged()
#24 0x7f4d1aaa7e8c viz::HostFrameSinkManager::OnFrameTokenChanged()
#25 0x7f4d1b5b41dc viz::FrameSinkManagerImpl::OnFrameTokenChanged()
#26 0x7f4d1b59594e viz::CompositorFrameSinkSupport::OnFrameTokenChanged()
#27 0x7f4d1b61ab83 viz::Surface::ActivateFrame()
#28 0x7f4d1b61920f viz::Surface::ActivatePendingFrame()
#29 0x7f4d1b618f2a viz::Surface::OnSurfaceDependencyAdded()
#30 0x7f4d1b62e241 viz::SurfaceDependencyTracker::OnSurfaceDependencyAdded()
#31 0x7f4d1b6432ac viz::SurfaceManager::SurfaceDependencyAdded()
#32 0x7f4d1b619b7f viz::Surface::UpdateActivationDependencies()
#33 0x7f4d1b6194f3 viz::Surface::QueueFrame()
#34 0x7f4d1b59a155 viz::CompositorFrameSinkSupport::MaybeSubmitCompositorFrameInternal()
#35 0x7f4d1b598206 viz::CompositorFrameSinkSupport::MaybeSubmitCompositorFrame()
#36 0x7f4d1b59801a viz::CompositorFrameSinkSupport::SubmitCompositorFrame()
#37 0x7f4d1b5a4b08 viz::DirectLayerTreeFrameSink::SubmitCompositorFrame()
#38 0x7f4d314d8e24 cc::LayerTreeHostImpl::DrawLayers()
#39 0x7f4d315b8ee8 cc::SingleThreadProxy::DoComposite()
#40 0x7f4d315bb087 cc::SingleThreadProxy::ScheduledActionDrawIfPossible()
#41 0x7f4d3139c9b8 cc::Scheduler::DrawIfPossible()
#42 0x7f4d31396581 cc::Scheduler::ProcessScheduledActions()
#43 0x7f4d3139c7da cc::Scheduler::OnBeginImplFrameDeadline()
#44 0x7f4d313a024d _ZN4base8internal13FunctorTraitsIMN2cc9SchedulerEFvvEvE6InvokeIS5_PS3_JEEEvT_OT0_DpOT1_
#45 0x7f4d313a0194 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN2cc9SchedulerEFvvEJPS5_EEEvOT_DpOT0_
#46 0x7f4d313a0145 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9SchedulerEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunImplIS6_NSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSD_16integer_sequenceImJXspT1_EEEE
#47 0x7f4d313a0089 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc9SchedulerEFvvEJNS0_17UnretainedWrapperIS4_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#48 0x7f4d313a059e _ZNO4base12OnceCallbackIFvvEE3RunEv
#49 0x7f4d313a0544 _ZN4base8internal22CancelableCallbackImplINS_12OnceCallbackIFvvEEEE11ForwardOnceIJEEEvDpT_
#50 0x7f4d3129de9f _ZN4base8internal13FunctorTraitsIMN2cc28ScrollbarAnimationControllerEFvvEvE6InvokeIS5_RKNS_7WeakPtrIS3_EEJEEEvT_OT0_DpOT1_
#51 0x7f4d3129de1a _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN2cc28ScrollbarAnimationControllerEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_
#52 0x7f4d3129ddb0 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc28ScrollbarAnimationControllerEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NSF_16integer_sequenceImJXspT1_EEEE
#53 0x7f4d3137d0d9 _ZN4base8internal7InvokerINS0_9BindStateIMN2cc12ResourcePoolEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#54 0x7f4d3b0683ee _ZNO4base12OnceCallbackIFvvEE3RunEv
#55 0x7f4d3b0ba072 base::debug::TaskAnnotator::RunTask()
#56 0x7f4d3b14f466 base::MessageLoop::RunTask()
#57 0x7f4d3b14f7ee base::MessageLoop::DeferOrRunPendingTask()
#58 0x7f4d3b14fc79 base::MessageLoop::DoWork()
#59 0x7f4d3b1572b6 base::MessagePumpGlib::Run()
#60 0x7f4d3b14eb5b base::MessageLoop::Run()
#61 0x7f4d3b1fac6d base::RunLoop::Run()
#62 0x7f4d372f8dfc content::BrowserMainLoop::MainMessageLoopRun()
#63 0x7f4d372f8a52 content::BrowserMainLoop::RunMainMessageLoopParts()
#64 0x7f4d37301050 content::BrowserMainRunnerImpl::Run()
#65 0x0000018caad1 (anonymous namespace)::RunOneTest()
#66 0x0000018ca696 (anonymous namespace)::RunTests()
#67 0x0000018ca11d LayoutTestBrowserMain()
#68 0x0000018c82c0 content::ShellMainDelegate::RunProcess()
#69 0x7f4d39305d5a content::RunBrowserProcessMain()
#70 0x7f4d39308bc7 content::ContentMainRunnerImpl::Run()
#71 0x7f4d392feabc content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#72 0x7f4d13359c2a service_manager::Main()
#73 0x7f4d393034b3 content::ContentMain()
#74 0x00000075e165 main
#75 0x7f4d13dcd2b1 __libc_start_main
#76 0x00000075e02a _start


Bug: 667551
Change-Id: Iab72ad842b4672f7c3e37060bd2085b2d8ce0803
Reviewed-on: https://chromium-review.googlesource.com/c/1297477
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Mason Freed <masonfreed@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602912}
jkim-julie pushed a commit that referenced this issue Oct 29, 2018
…st_shield"

This reverts commit 0b10763.

Reason for revert: 
Suspect Linux ChromiumOS MSan Tests failures:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20ChromiumOS%20MSan%20Tests/9258

One of error logs:
[ RUN      ] LockStateControllerTest.LockButtonBasicGuest
==6821==ERROR: AddressSanitizer: heap-use-after-free on address 0x616000005c58 at pc 0x000007937b9c bp 0x7ffdd8818530 sp 0x7ffdd8818528
READ of size 8 at 0x616000005c58 thread T0
    #0 0x7937b9b in begin buildtools/third_party/libc++/trunk/include/vector:1506:30
    #1 0x7937b9b in base::ObserverList<ash::TabletModeObserver, false, true, base::internal::UncheckedObserverAdapter>::RemoveObserver(ash::TabletModeObserver const*) base/observer_list.h:282
    #2 0x73376c6 in RemoveAll base/scoped_observer.h:45:20
    #3 0x73376c6 in ScopedObserver<ash::TabletModeController, ash::TabletModeObserver>::~ScopedObserver() base/scoped_observer.h:26
    #4 0x7889542 in ~WallpaperView ash/wallpaper/wallpaper_view.cc:150:1
    #5 0x7889542 in ash::WallpaperView::~WallpaperView() ash/wallpaper/wallpaper_view.cc:148
    #6 0x9a96a66 in views::View::~View() ui/views/view.cc:162:9
    #7 0x788c19d in ash::(anonymous namespace)::LayerControlView::~LayerControlView() ash/wallpaper/wallpaper_view.cc:43:7
    #8 0x9a9b800 in operator() buildtools/third_party/libc++/trunk/include/memory:2325:5
    #9 0x9a9b800 in reset buildtools/third_party/libc++/trunk/include/memory:2638
    #10 0x9a9b800 in ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2592
    #11 0x9a9b800 in views::View::DoRemoveChildView(views::View*, bool, bool, bool, views::View*) ui/views/view.cc:2053
    #12 0x9a9d418 in views::View::RemoveAllChildViews(bool) ui/views/view.cc:300:5
    #13 0x9ac9585 in views::internal::RootView::~RootView() ui/views/widget/root_view.cc:183:5
    #14 0x9ac973d in views::internal::RootView::~RootView() ui/views/widget/root_view.cc:179:23
    #15 0x9ad351b in operator() buildtools/third_party/libc++/trunk/include/memory:2325:5
    #16 0x9ad351b in reset buildtools/third_party/libc++/trunk/include/memory:2638
    #17 0x9ad351b in DestroyRootView ui/views/widget/widget.cc:1456
    #18 0x9ad351b in views::Widget::~Widget() ui/views/widget/widget.cc:187
    #19 0x9ad455d in views::Widget::~Widget() ui/views/widget/widget.cc:186:19
    #20 0x9b2bb12 in views::NativeWidgetAura::~NativeWidgetAura() ui/views/widget/native_widget_aura.cc
    #21 0x9b2bdad in views::NativeWidgetAura::~NativeWidgetAura() ui/views/widget/native_widget_aura.cc:1034:39
    #22 0x95945c5 in aura::Window::~Window() ui/aura/window.cc:139:16
    #23 0x95960ad in aura::Window::~Window() ui/aura/window.cc:94:19

Original change's description:
> Makes wallpaper dim in tablet mode, without relying on app_list_shield
> 
> Bug: 898712
> Change-Id: I96ba08fec3f7df8547d753ff4d31366345be0ac8
> Reviewed-on: https://chromium-review.googlesource.com/c/1298507
> Reviewed-by: Weidong Guo <weidongg@chromium.org>
> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> Commit-Queue: Kevin Strohbehn <ginko@google.com>
> Cr-Commit-Position: refs/heads/master@{#602938}

TBR=xiyuan@chromium.org,weidongg@chromium.org,ginko@google.com

Change-Id: I86dbf4da685e23e5106ac7a778e665729581e0ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 898712
Reviewed-on: https://chromium-review.googlesource.com/c/1301035
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Commit-Position: refs/heads/master@{#602991}
jkim-julie pushed a commit that referenced this issue Nov 12, 2018
This reverts commit 4df3f6e.

Reason for revert: This CL causes crash in RasterCommandBufferStub.
The raster decoder still uses GL context and GL APIs even with vulkan.
Before removing the GL contect for vulkan, we need remove all
unnecessary GL context usage and GL calls for raster decoder.

#0 0x55d1ec37f6ef base::debug::StackTrace::StackTrace()
#1 0x55d1ec37f261 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7fe55e62d0c0 <unknown>
#3 0x55d1ed30103e gpu::RasterCommandBufferStub::Initialize()
#4 0x55d1ed25f35c gpu::GpuChannel::OnCreateCommandBuffer()
#5 0x55d1ed25ed0a bool IPC::MessageT<GpuChannelMsg_CreateCommandBuffer_Meta, std::__1::tuple<GPUCreateCommandBufferConfig, int, base::UnsafeSharedMemoryRegion>, std::__1::tuple<gpu::ContextResult, gpu::Capabilities> >::Dispatch<gpu::GpuChannel, gpu::GpuChannel, void, void (gpu::GpuChannel::*)(GPUCreateCommandBufferConfig const&, int, base::UnsafeSharedMemoryRegion, gpu::ContextResult*, gpu::Capabilities*)>(IPC::Message const*, gpu::GpuChannel*, gpu::GpuChannel*, void*, void (gpu::GpuChannel::*)(GPUCreateCommandBufferConfig const&, int, base::UnsafeSharedMemoryRegion, gpu::ContextResult*, gpu::Capabilities*))
#6 0x55d1ed25fcc4 gpu::GpuChannel::HandleMessageHelper()
#7 0x55d1ec3058f1 base::debug::TaskAnnotator::RunTask()
#8 0x55d1ec3050af base::MessageLoop::RunTask()
#9 0x55d1ec305432 base::MessageLoop::DoWork()
#10 0x55d1ec30743f base::(anonymous namespace)::WorkSourceDispatch()
#11 0x7fe55def6fc7 g_main_context_dispatch
#12 0x7fe55def7200 <unknown>
#13 0x7fe55def728c g_main_context_iteration
#14 0x55d1ec3072f2 base::MessagePumpGlib::Run()
#15 0x55d1ec31fba5 base::RunLoop::Run()
#16 0x55d1eeaedd3c content::GpuMain()
#17 0x55d1ebb80562 content::ContentMainRunnerImpl::Run()
#18 0x55d1ed68984c service_manager::Main()
#19 0x55d1eb1d6081 content::ContentMain()
#20 0x55d1ea8e316b main
#21 0x7fe559a992b1 __libc_start_main
#22 0x55d1ea8e302a _start

Original change's description:
> Add VulkanContextProvider to RasterDecoderContextState.
> 
> Add VulkanContextProvider to RasterDecoderContextState which is needed
> to get VkDevice in shareable image. Refactor RasterDecoderContextState
> class to have seperate constructors for Vulkan and GL.
> 
> Bug: 891060
> Change-Id: I0ca7e657d33fdcfa62ab6465f7023a914610b7ce
> Reviewed-on: https://chromium-review.googlesource.com/c/1312194
> Commit-Queue: vikas soni <vikassoni@chromium.org>
> Reviewed-by: Eric Karl <ericrk@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#605146}

TBR=ericrk@chromium.org,vikassoni@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 891060
Change-Id: I4ceebc7033b4bd74e643a5f89bbbd6791b3eb6c0
Reviewed-on: https://chromium-review.googlesource.com/c/1318073
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605376}
jkim-julie pushed a commit that referenced this issue Nov 19, 2018
This reverts commit 2687587.

Reason for revert: This triggers a use of initialized value on the msan bots. I believe you forgot to initialize is_removing_imm_entry_

https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8929963931985091872/+/steps/unit_tests/0/logs/ArcInputMethodManagerServiceTest.EnableIme/0

==14387==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x5638655272d9 in arc::ArcInputMethodManagerService::ImeMenuListChanged() ./../../chrome/browser/chromeos/arc/input_method_manager/arc_input_method_manager_service.cc:394:7
    #1 0x56385b307d20 in arc::ArcInputMethodManagerServiceTest_EnableIme_Test::TestBody() ./../../chrome/browser/chromeos/arc/input_method_manager/arc_input_method_manager_service_unittest.cc:313:14
    #2 0x56385dbb3cb2 in HandleExceptionsInMethodIfSupported<testing::Test, void> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #3 0x56385dbb3cb2 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2522:0
    #4 0x56385dbb7a6b in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2698:11
    #5 0x56385dbb9559 in testing::TestCase::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2816:28
    #6 0x56385dbf2614 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5182:43
    #7 0x56385dbf0ee7 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #8 0x56385dbf0ee7 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:4791:0
    #9 0x56386b81af20 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2333:46
    #10 0x56386b81af20 in base::TestSuite::Run() ./../../base/test/test_suite.cc:294:0
    #11 0x56386b822e8a in Run ./../../base/callback.h:99:12
    #12 0x56386b822e8a in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) ./../../base/test/launcher/unit_test_launcher.cc:225:0
    #13 0x56386b822607 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) ./../../base/test/launcher/unit_test_launcher.cc:575:10
    #14 0x56386b7e9154 in main ./../../chrome/test/base/run_all_unittests.cc:30:10
    #15 0x7fd6f88f4f44 in __libc_start_main ??:0:0
    #16 0x5638521e2b09 in _start ??:0:0

Original change's description:
> Disable Android IMEs according to given ImeInfo.
> 
> Android IMEs can be disabled in Android side by using 'ime' command.
> This CL ensures that disabled IMEs are also disabled in Chrome OS's
> InputMethodManager.
> 
> Bug: b/119274469
> Change-Id: I46c2996a41327221470d69b778da2b7270c73cd2
> Reviewed-on: https://chromium-review.googlesource.com/c/1331294
> Reviewed-by: Yusuke Sato <yusukes@chromium.org>
> Commit-Queue: Yuichiro Hanada <yhanada@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#607473}

TBR=yusukes@chromium.org,yhanada@chromium.org

Change-Id: I5fd93607e711cd90edc4eb0ccf656b4c82ad5555
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/119274469
Reviewed-on: https://chromium-review.googlesource.com/c/1333892
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607610}
jkim-julie pushed a commit that referenced this issue Nov 19, 2018
… Chrome OS."

This reverts commit 605cb27.

Reason for revert: causes a crash immediately on initialization on ChromeOS Linux build:

[85464:85464:1113/105356.761188:FATAL:shell.cc(281)] Check failed: instance_. 
#0 0x7f6445c3668f base::debug::StackTrace::StackTrace()
#1 0x7f6445b6624b logging::LogMessage::~LogMessage()
#2 0x7f643f32b5c2 ash::Shell::Get()
#3 0x561d123191ba ChromeBrowserMainExtraPartsAsh::PreProfileInit()
#4 0x561d10f06f2a ChromeBrowserMainParts::PreProfileInit()
#5 0x561d10f07c8e ChromeBrowserMainPartsLinux::PreProfileInit()
#6 0x561d1089bc26 chromeos::ChromeBrowserMainPartsChromeos::PreProfileInit()
#7 0x561d10f05fee ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#8 0x561d10f05925 ChromeBrowserMainParts::PreMainMessageLoopRun()
#9 0x561d1089b755 chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#10 0x7f64434b766a content::BrowserMainLoop::PreMainMessageLoopRun()
#11 0x7f64439b1055 content::StartupTaskRunner::RunAllTasksNow()
#12 0x7f64434b6191 content::BrowserMainLoop::CreateStartupTasks()
#13 0x7f64434b9d30 content::BrowserMainRunnerImpl::Initialize()
#14 0x7f64434b3d62 content::BrowserMain()
#15 0x7f6443fed756 content::ContentMainRunnerImpl::Run()
#16 0x7f6434c3ff46 service_manager::Main()
#17 0x7f6443feba44 content::ContentMain()
#18 0x561d10094e63 ChromeMain
#19 0x7f64352042b1 __libc_start_main
#20 0x561d10094cda _start

Original change's description:
> ui_devtools: Encapsulate views server init; use Shell Env for Chrome OS.
> 
> Use the ash::Shell aura::Env in single-process mash ui_devtools.
> Keep a TODO for initializing ui_devtools in Ash for multi-process Mash.
> Encapsulate server init, and the switch and port definitions.
> 
> Bug: 896977
> Test: ui_devtools works well on Chrome OS single-process Mash.
> Change-Id: I3cc285d5f8ee465d45795a3521e7e4eafa354414
> Reviewed-on: https://chromium-review.googlesource.com/c/1324373
> Commit-Queue: Michael Wasserman <msw@chromium.org>
> Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#607408}

TBR=sadrul@chromium.org,msw@chromium.org

Change-Id: Iae50c4a7d67de9602596b0522da3fec0f472e092
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 896977
Reviewed-on: https://chromium-review.googlesource.com/c/1334001
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607689}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
… file"

This reverts commit aa21b3f.

Reason for revert: Suspect of introducing consistent failure on Mac ASAN 64 tests.

First failed run: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20ASan%2064%20Tests%20%281%29/46988

Sample logs:
unit_tests Run on OS: 'Mac-10.13'
Shard duration: 0:07:56.378119
failures:
FileAnalyzerTest.ArchivedArchiveSetForZipNoArchive
FileAnalyzerTest.ArchivedExecutableFalseForZipNoExecutable
DownloadProtectionServiceTest.CheckClientDownloadZip
SandboxedZipAnalyzerTest.ZippedAppWithUnsignedAndSignedExecutable
SandboxedZipAnalyzerTest.NoBinaries
FileAnalyzerTest.ArchivedBinariesSkipsSafeFiles

==34531==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x700015467c14 at pc 0x00013e99c44d bp 0x700015467950 sp 0x7000154670f8
READ of size 5 at 0x700015467c14 thread T16
    #0 0x13e99c44c in __asan_after_dynamic_init ??:0:0
    #1 0x10e3ac931 in safe_browsing::UpdateArchiveAnalyzerResultsWithFile(base::FilePath, base::File*, bool, safe_browsing::ArchiveAnalyzerResults*) ??:0:0
    #2 0x10e3a6707 in safe_browsing::zip_analyzer::AnalyzeZipFile(base::File, base::File, safe_browsing::ArchiveAnalyzerResults*) ??:0:0
    #3 0x115236586 in SafeArchiveAnalyzer::AnalyzeZipFile(base::File, base::File, base::OnceCallback<void (safe_browsing::ArchiveAnalyzerResults const&)>) ??:0:0
    #4 0x10bc0b332 in chrome::mojom::SafeArchiveAnalyzerStubDispatch::AcceptWithResponder(chrome::mojom::SafeArchiveAnalyzer*, mojo::Message*, std::__1::unique_ptr<mojo::MessageReceiverWithStatus, std::__1::default_delete<mojo::MessageReceiverWithStatus> >) ??:0:0
    #5 0x115234a40 in chrome::mojom::SafeArchiveAnalyzerStub<mojo::RawPtrImplRefTraits<chrome::mojom::SafeArchiveAnalyzer> >::AcceptWithResponder(mojo::Message*, std::__1::unique_ptr<mojo::MessageReceiverWithStatus, std::__1::default_delete<mojo::MessageReceiverWithStatus> >) ??:0:0
    #6 0x1165eeb32 in mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) ??:0:0
    #7 0x1165ed1e0 in mojo::FilterChain::Accept(mojo::Message*) ??:0:0
    #8 0x1165f278b in mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) ??:0:0
    #9 0x116605686 in mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) ??:0:0
    #10 0x11660372b in mojo::internal::MultiplexRouter::Accept(mojo::Message*) ??:0:0
    #11 0x1165ed1e0 in mojo::FilterChain::Accept(mojo::Message*) ??:0:0
    #12 0x1165dcea8 in mojo::Connector::ReadSingleMessage(unsigned int*) ??:0:0
    #13 0x1165df32a in mojo::Connector::ReadAllAvailableMessages() ??:0:0
    #14 0x1165deda1 in mojo::Connector::OnHandleReadyInternal(unsigned int) ??:0:0
    #15 0x10d429d44 in mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) ??:0:0
    #16 0x11a802cf5 in mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) ??:0:0
    #17 0x11a803cbd in void base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) ??:0:0
    #18 0x11890131c in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ??:0:0
    #19 0x118995271 in base::MessageLoopImpl::RunTask(base::PendingTask*) ??:0:0
    #20 0x11899691f in base::MessageLoopImpl::DoWork() ??:0:0
    #21 0x118999eb3 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) ??:0:0
    #22 0x118994259 in base::MessageLoopImpl::Run(bool) ??:0:0
    #23 0x118a49a1c in base::RunLoop::Run() ??:0:0
    #24 0x118b962e2 in base::Thread::Run(base::RunLoop*) ??:0:0
    #25 0x118b96e9d in base::Thread::ThreadMain() ??:0:0
    #26 0x118c72a0d in base::(anonymous namespace)::ThreadFunc(void*) ??:0:0
    #27 0x7fff74564660 in _pthread_body ??:0:0
    #28 0x7fff7456450c in _pthread_start ??:0:0


Original change's description:
> Add util method to update ArchiveAnalyzerResults for a single file
> 
> This CL breaks out the code that inspects an individual file within a
> ZIP archive. This will be shared between the ZIP and RAR inspection,
> when RAR files begin doing content inspection.
> 
> Bug: 909778
> Change-Id: I7acf1cabd472f112f2ed7c31735688cae7a6d122
> Reviewed-on: https://chromium-review.googlesource.com/c/1354103
> Commit-Queue: Daniel Rubery <drubery@chromium.org>
> Reviewed-by: Brian White <bcwhite@chromium.org>
> Reviewed-by: Jay Civelli <jcivelli@chromium.org>
> Reviewed-by: Varun Khaneja <vakh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#612799}

TBR=jcivelli@chromium.org,bcwhite@chromium.org,vakh@chromium.org,drubery@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 909778
Change-Id: I92e193707da4a28cee94aa1277a6ca567650760f
Reviewed-on: https://chromium-review.googlesource.com/c/1358491
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613073}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
…ure"

This reverts commit 3f40244.

Reason for revert: Caused a data race running components_unittests with ScopedFeatureList.

Sample failure: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/30398

WARNING: ThreadSanitizer: data race (pid=9805)
  Write of size 8 at 0x55b63bfba2b0 by main thread:
    #0 base::FeatureList::ClearInstanceForTesting() base/feature_list.cc:284:27 (components_unittests+0x85bec63)
    #1 base::test::ScopedFeatureList::~ScopedFeatureList() base/test/scoped_feature_list.cc:98:3 (components_unittests+0x9a65d52)
    #2 content::UnitTestTestSuite::~UnitTestTestSuite() content/public/test/unittest_test_suite.cc:61:1 (components_unittests+0xb03cf21)
    #3 operator() buildtools/third_party/libc++/trunk/include/memory:2325:5 (components_unittests+0x8256779)
    #4 reset buildtools/third_party/libc++/trunk/include/memory:2638 (components_unittests+0x8256779)
    #5 ~unique_ptr buildtools/third_party/libc++/trunk/include/memory:2592 (components_unittests+0x8256779)
    #6 ~__tuple_leaf buildtools/third_party/libc++/trunk/include/tuple:171 (components_unittests+0x8256779)
    #7 ~tuple buildtools/third_party/libc++/trunk/include/tuple:470 (components_unittests+0x8256779)
    #8 ~BindState base/bind_internal.h:871 (components_unittests+0x8256779)
    #9 base::internal::BindState<int (content::UnitTestTestSuite::*)(), std::__1::unique_ptr<content::UnitTestTestSuite, std::__1::default_delete<content::UnitTestTestSuite> > >::Destroy(base::internal::BindStateBase const*) base/bind_internal.h:874 (components_unittests+0x8256779)
    #10 Destruct base/callback_internal.cc:29:3 (components_unittests+0x85b80c7)
    #11 Release base/memory/ref_counted.h:403 (components_unittests+0x85b80c7)
    #12 Release base/memory/scoped_refptr.h:284 (components_unittests+0x85b80c7)
    #13 ~scoped_refptr base/memory/scoped_refptr.h:208 (components_unittests+0x85b80c7)
    #14 base::internal::CallbackBase::~CallbackBase() base/callback_internal.cc:84 (components_unittests+0x85b80c7)
    #15 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:3 (components_unittests+0x9a71272)
    #16 main components/test/run_all_unittests.cc:8:10 (components_unittests+0x4e49ad5)

  Previous read of size 8 at 0x55b63bfba2b0 by thread T12 (mutexes: write M19294):
    #0 base::FeatureList::IsEnabled(base::Feature const&) base/feature_list.cc:200:8 (components_unittests+0x85be82d)
    #1 CanCleanupLockRequired base/task/task_scheduler/scheduler_worker_pool_impl.cc:672:12 (components_unittests+0x866a5e8)
    #2 base::internal::SchedulerWorkerPoolImpl::SchedulerWorkerDelegateImpl::GetWork(base::internal::SchedulerWorker*) base/task/task_scheduler/scheduler_worker_pool_impl.cc:538 (components_unittests+0x866a5e8)
    #3 base::internal::SchedulerWorker::RunWorker() base/task/task_scheduler/scheduler_worker.cc:324:51 (components_unittests+0x866f81d)
    #4 base::internal::SchedulerWorker::RunPooledWorker() base/task/task_scheduler/scheduler_worker.cc:229:3 (components_unittests+0x866f481)
    #5 base::internal::SchedulerWorker::ThreadMain() base/task/task_scheduler/scheduler_worker.cc:208:7 (components_unittests+0x866f2f1)
    #6 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (components_unittests+0x86daf04)

  Location is global 'base::(anonymous namespace)::g_feature_list_instance' of size 8 at 0x55b63bfba2b0 (components_unittests+0x00000ebe52b0)

Original change's description:
> [TaskScheduler]: Create no detach below initial capacity feature
> 
> Under this experiment, scheduler workers are only detached if the pool is
> above its initial capacity (threads that are created to replace blocked threads).
> 
> 2 options were considered:
> Option A: Detach only when over initial capacity.
> 
> Option B: Detach only when over current capacity (includes currently blocked threads in capacity).
> This might better handle the following case: At any given time, there is at least 1 blocked thread.
> On top of that, some periodic work uses all worker every 30s or so. The current capacity will
> encompass for the blocked thread and avoid detaching it periodically.
> 
> Option A was picked because it is more conservative. Initial capacity is smaller or
> equal to current capacity, so detaching is closer to current behavior. We want to avoid having
> too many threads that aren't used.
> 
> Bug: 847501
> Change-Id: I0b116db54095767768b158d92f5f146249720b45
> Reviewed-on: https://chromium-review.googlesource.com/c/1348863
> Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
> Reviewed-by: François Doray <fdoray@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#612698}

TBR=fdoray@chromium.org,etiennep@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 847501
Change-Id: I951f5c5701e2d296b2c4edef37648105c4911cf9
Reviewed-on: https://chromium-review.googlesource.com/c/1359127
Reviewed-by: Robert Flack <flackr@chromium.org>
Commit-Queue: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613229}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
This reverts commit 3bb44fe.

Reason for revert: Suspect of introducing consistent failure on 
 Linux Chromium OS ASan LSan Tests (1) bot.

First failure:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Chromium%20OS%20ASan%20LSan%20Tests%20%281%29/30399

Sample logs:
views_mus_unittests Run on OS: 'Ubuntu-14.04'
Shard duration: 0:01:41.022687
failures:
AXTreeSourceViewsRootTest.Serialize
AXTreeSourceViewsRootTest.Focus
AXTreeSourceViewsRootTest.Accessors
AXTreeSourceViewsRootTest.SerializeWindowSetsClipsChildren
AXTreeSourceViewsRootTest.DoDefault

  ==7985==ERROR: LeakSanitizer: detected memory leaks
  Direct leak of 56 byte(s) in 1 object(s) allocated from:
      #0 0x55ec150a7ed2 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
      #1 0x55ec158f3f9e in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:598:35
      #2 0x55ec158f41c2 in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:604:12
      #3 0x55ec158f41c2 in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:604:12
      #4 0x55ec158f09de in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:422:8
      #5 0x55ec158ee9d9 in views::(anonymous namespace)::AXTreeSourceViewsRootTest_Serialize_Test::TestBody() ui/views/accessibility/ax_tree_source_views_unittest.cc:318:17
      #6 0x55ec17bdd342 in HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc
      #7 0x55ec17bdd342 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2522
      #8 0x55ec17bdf428 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2703:11
      #9 0x55ec17be08e6 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2825:28
      #10 0x55ec17c08f46 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5227:43
      #11 0x55ec17c082c5 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc
      #12 0x55ec17c082c5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4835
      #13 0x55ec180eb7da in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2369:46
      #14 0x55ec180eb7da in base::TestSuite::Run() base/test/test_suite.cc:294
      #15 0x55ec180f1a34 in Run base/callback.h:99:12
      #16 0x55ec180f1a34 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225
      #17 0x55ec180f1500 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
      #18 0x55ec15220e7e in views::ViewsTestSuite::RunTests() ui/views/views_test_suite.cc:33:10
      #19 0x55ec150f46a3 in main ui/views/mus/run_all_unittests_mus.cc:8:47
      #20 0x7fd6ce976f44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44)
  Indirect leak of 8 byte(s) in 1 object(s) allocated from:
      #0 0x55ec150a7ed2 in operator new(unsigned long) /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:106:3
      #1 0x55ec158f6f15 in __libcpp_allocate buildtools/third_party/libc++/trunk/include/new:254:10
      #2 0x55ec158f6f15 in allocate buildtools/third_party/libc++/trunk/include/memory:1800
      #3 0x55ec158f6f15 in allocate buildtools/third_party/libc++/trunk/include/memory:1549
      #4 0x55ec158f6f15 in __split_buffer buildtools/third_party/libc++/trunk/include/__split_buffer:311
      #5 0x55ec158f6f15 in std::__1::vector<ui::ClientTreeNode*, std::__1::allocator<ui::ClientTreeNode*> >::reserve(unsigned long) buildtools/third_party/libc++/trunk/include/vector:1576
      #6 0x55ec158f3a1b in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:573:25
      #7 0x55ec158f41c2 in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:604:12
      #8 0x55ec158f41c2 in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:604:12
      #9 0x55ec158f41c2 in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChangedNodes(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:604:12
      #10 0x55ec158f09de in ui::AXTreeSerializer<views::AXAuraObjWrapper*, ui::AXNodeData, ui::AXTreeData>::SerializeChanges(views::AXAuraObjWrapper*, ui::AXTreeUpdateBase<ui::AXNodeData, ui::AXTreeData>*) ui/accessibility/ax_tree_serializer.h:422:8
      #11 0x55ec158ee9d9 in views::(anonymous namespace)::AXTreeSourceViewsRootTest_Serialize_Test::TestBody() ui/views/accessibility/ax_tree_source_views_unittest.cc:318:17
      #12 0x55ec17bdd342 in HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc
      #13 0x55ec17bdd342 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2522
      #14 0x55ec17bdf428 in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2703:11
      #15 0x55ec17be08e6 in testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2825:28
      #16 0x55ec17c08f46 in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5227:43
      #17 0x55ec17c082c5 in HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc
      #18 0x55ec17c082c5 in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4835
      #19 0x55ec180eb7da in RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2369:46
      #20 0x55ec180eb7da in base::TestSuite::Run() base/test/test_suite.cc:294
      #21 0x55ec180f1a34 in Run base/callback.h:99:12
      #22 0x55ec180f1a34 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225
      #23 0x55ec180f1500 in base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:575:10
      #24 0x55ec15220e7e in views::ViewsTestSuite::RunTests() ui/views/views_test_suite.cc:33:10
      #25 0x55ec150f46a3 in main ui/views/mus/run_all_unittests_mus.cc:8:47
      #26 0x7fd6ce976f44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21f44)



Original change's description:
> Move AXTreeSourceAura tests into AXTreeSourceViews tests
> 
> AXTreeSourceAura doesn't exist any more. The tests exercise the
> integration of AXRootObjWrapper with AXTreeSourceViews, so rename the
> tests ot AXTreeSourceViewsRootTest.
> 
> Note that the tests lived in //chrome/browser/ui/ash. If we need an
> ash-specific tree source we could introduce an AXTreeSourceAsh either
> in //ash (for mash) or //chrome/browser/ui/ash (for SingleProcessMash).
> 
> Bug: 910672
> Test: views_unittests
> Change-Id: I79438345e3ad9bd1aa69d74b3c34cc35efe87142
> Reviewed-on: https://chromium-review.googlesource.com/c/1358972
> Reviewed-by: David Tseng <dtseng@chromium.org>
> Commit-Queue: James Cook <jamescook@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#613308}

TBR=jamescook@chromium.org,dtseng@chromium.org

Change-Id: If77dfe8f468d8f5e8514e2dbe57c9aff3cbf5a3e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 910672
Reviewed-on: https://chromium-review.googlesource.com/c/1360591
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613487}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
Data race happens between SetBehindCaptivePortal on BrowserThread::IO
and CaptivePortalBrowserTest::OnIntercept line 981 on main thread

Change-Id: I58163d96f66f8ca3b2d257d1481b0d12f980c679

ThreadSanitizer Report

WARNING: ThreadSanitizer: data race (pid=37545)
  Read of size 1 at 0x7b44000004d8 by main thread:
    #0 CaptivePortalBrowserTest::OnIntercept(content::URLLoaderInterceptor::RequestParams*) /src/chrome/browser/captive_portal/captive_portal_browsertest.cc:984:9 (browser_tests+0x4ea3f84)
    #1 Invoke<bool (CaptivePortalBrowserTest::*)(content::URLLoaderInterceptor::RequestParams *), CaptivePortalBrowserTest *, content::URLLoaderInterceptor::RequestParams *> /src/base/bind_internal.h:507:12 (browser_tests+0x4ed3a2f)
    #2 MakeItSo<bool (CaptivePortalBrowserTest::*const &)(content::URLLoaderInterceptor::RequestParams *), CaptivePortalBrowserTest *, content::URLLoaderInterceptor::RequestParams *> /src/base/bind_internal.h:607 (browser_tests+0x4ed3a2f)
    #3 RunImpl<bool (CaptivePortalBrowserTest::*const &)(content::URLLoaderInterceptor::RequestParams *), const std::__1::tuple<base::internal::UnretainedWrapper<CaptivePortalBrowserTest> > &, 0> /src/base/bind_internal.h:680 (browser_tests+0x4ed3a2f)
    #4 base::internal::Invoker<base::internal::BindState<bool (CaptivePortalBrowserTest::*)(content::URLLoaderInterceptor::RequestParams*), base::internal::UnretainedWrapper<CaptivePortalBrowserTest> >, bool (content::URLLoaderInterceptor::RequestParams*)>::Run(base::internal::BindStateBase*, content::URLLoaderInterceptor::RequestParams*) /src/base/bind_internal.h:662 (browser_tests+0x4ed3a2f)
    #5 Run /src/base/callback.h:129:12 (browser_tests+0xa8cbbcc)
    #6 content::URLLoaderInterceptor::Intercept(content::URLLoaderInterceptor::RequestParams*) /src/content/public/test/url_loader_interceptor.cc:377 (browser_tests+0xa8cbbcc)
    #7 content::URLLoaderInterceptor::Interceptor::CreateLoaderAndStart(mojo::InterfaceRequest<network::mojom::URLLoader>, int, int, unsigned int, network::ResourceRequest const&, mojo::InterfacePtr<network::mojom::URLLoaderClient>, net::MutableNetworkTrafficAnnotationTag const&) /src/content/public/test/url_loader_interceptor.cc:92:18 (browser_tests+0xa8cd294)
    #8 network::mojom::URLLoaderFactoryProxy_CreateLoaderAndStart_Message::Dispatch(network::mojom::URLLoaderFactory*) /src/out/Default/gen/services/network/public/mojom/url_loader_factory.mojom.cc:145:11 (browser_tests+0x581c781)
    #9 network::mojom::URLLoaderFactoryStubDispatch::Accept(network::mojom::URLLoaderFactory*, mojo::Message*) /src/out/Default/gen/services/network/public/mojom/url_loader_factory.mojom.cc:353:20 (browser_tests+0x581c626)
    #10 network::mojom::URLLoaderFactoryStub<mojo::RawPtrImplRefTraits<network::mojom::URLLoaderFactory> >::Accept(mojo::Message*) /src/out/Default/gen/services/network/public/mojom/url_loader_factory.mojom.h:155:12 (browser_tests+0x69ccb3f)
    #11 mojo::InterfaceEndpointClient::HandleValidatedMessage(mojo::Message*) /src/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:423:32 (browser_tests+0xb97e563)
    #12 mojo::InterfaceEndpointClient::HandleIncomingMessageThunk::Accept(mojo::Message*) /src/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:133:18 (browser_tests+0xb97df6a)
    #13 mojo::FilterChain::Accept(mojo::Message*) /src/mojo/public/cpp/bindings/lib/filter_chain.cc:40:17 (browser_tests+0xb9823ba)
    #14 mojo::InterfaceEndpointClient::HandleIncomingMessage(mojo::Message*) /src/mojo/public/cpp/bindings/lib/interface_endpoint_client.cc:306:19 (browser_tests+0xb9801ba)
    #15 mojo::internal::MultiplexRouter::ProcessIncomingMessage(mojo::internal::MultiplexRouter::MessageWrapper*, mojo::internal::MultiplexRouter::ClientCallBehavior, base::SequencedTaskRunner*) /src/mojo/public/cpp/bindings/lib/multiplex_router.cc:869:42 (browser_tests+0xb98ba4b)
    #16 mojo::internal::MultiplexRouter::Accept(mojo::Message*) /src/mojo/public/cpp/bindings/lib/multiplex_router.cc:590:38 (browser_tests+0xb98a86a)
    #17 mojo::FilterChain::Accept(mojo::Message*) /src/mojo/public/cpp/bindings/lib/filter_chain.cc:40:17 (browser_tests+0xb9823ba)
    #18 mojo::Connector::ReadSingleMessage(unsigned int*) /src/mojo/public/cpp/bindings/lib/connector.cc:457:51 (browser_tests+0xb97a2be)
    #19 mojo::Connector::ReadAllAvailableMessages() /src/mojo/public/cpp/bindings/lib/connector.cc:486:10 (browser_tests+0xb97b0e7)
    #20 mojo::Connector::OnHandleReadyInternal(unsigned int) /src/mojo/public/cpp/bindings/lib/connector.cc:387:3 (browser_tests+0xb97ae8e)
    #21 mojo::Connector::OnWatcherHandleReady(unsigned int) /src/mojo/public/cpp/bindings/lib/connector.cc:364:3 (browser_tests+0xb97ade0)
    #22 Invoke<void (mojo::Connector::*)(unsigned int), mojo::Connector *, unsigned int> /src/base/bind_internal.h:507:12 (browser_tests+0xb97bbcf)
    #23 MakeItSo<void (mojo::Connector::*const &)(unsigned int), mojo::Connector *, unsigned int> /src/base/bind_internal.h:607 (browser_tests+0xb97bbcf)
    #24 RunImpl<void (mojo::Connector::*const &)(unsigned int), const std::__1::tuple<base::internal::UnretainedWrapper<mojo::Connector> > &, 0> /src/base/bind_internal.h:680 (browser_tests+0xb97bbcf)
    #25 base::internal::Invoker<base::internal::BindState<void (mojo::Connector::*)(unsigned int), base::internal::UnretainedWrapper<mojo::Connector> >, void (unsigned int)>::Run(base::internal::BindStateBase*, unsigned int) /src/base/bind_internal.h:662 (browser_tests+0xb97bbcf)
    #26 Run /src/base/callback.h:129:12 (browser_tests+0x66996b8)
    #27 mojo::SimpleWatcher::DiscardReadyState(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&) /src/mojo/public/cpp/system/simple_watcher.h:194 (browser_tests+0x66996b8)
    #28 Invoke<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> /src/base/bind_internal.h:407:12 (browser_tests+0x6699715)
    #29 MakeItSo<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &> /src/base/bind_internal.h:607 (browser_tests+0x6699715)
    #30 RunImpl<void (*const &)(const base::RepeatingCallback<void (unsigned int)> &, unsigned int, const mojo::HandleSignalsState &), const std::__1::tuple<base::RepeatingCallback<void (unsigned int)> > &, 0> /src/base/bind_internal.h:680 (browser_tests+0x6699715)
    #31 base::internal::Invoker<base::internal::BindState<void (*)(base::RepeatingCallback<void (unsigned int)> const&, unsigned int, mojo::HandleSignalsState const&), base::RepeatingCallback<void (unsigned int)> >, void (unsigned int, mojo::HandleSignalsState const&)>::Run(base::internal::BindStateBase*, unsigned int, mojo::HandleSignalsState const&) /src/base/bind_internal.h:662 (browser_tests+0x6699715)
    #32 Run /src/base/callback.h:129:12 (browser_tests+0xa96dece)
    #33 mojo::SimpleWatcher::OnHandleReady(int, unsigned int, mojo::HandleSignalsState const&) /src/mojo/public/cpp/system/simple_watcher.cc:273 (browser_tests+0xa96dece)
    #34 Invoke<void (mojo::SimpleWatcher::*)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /src/base/bind_internal.h:507:12 (browser_tests+0xa96e625)
    #35 MakeItSo<void (mojo::SimpleWatcher::*const &)(int, unsigned int, const mojo::HandleSignalsState &), const base::WeakPtr<mojo::SimpleWatcher> &, const int &, const unsigned int &, const mojo::HandleSignalsState &> /src/base/bind_internal.h:627 (browser_tests+0xa96e625)
    #36 void base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::RunImpl<void (mojo::SimpleWatcher::* const&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&, 0ul, 1ul, 2ul, 3ul>(void (mojo::SimpleWatcher::* const&&&)(int, unsigned int, mojo::HandleSignalsState const&), std::__1::tuple<base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState> const&&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul>) /src/base/bind_internal.h:680 (browser_tests+0xa96e625)
    #37 base::internal::Invoker<base::internal::BindState<void (mojo::SimpleWatcher::*)(int, unsigned int, mojo::HandleSignalsState const&), base::WeakPtr<mojo::SimpleWatcher>, int, unsigned int, mojo::HandleSignalsState>, void ()>::Run(base::internal::BindStateBase*) /src/base/bind_internal.h:662:12 (browser_tests+0xa96e4ce)
    #38 Run /src/base/callback.h:99:12 (browser_tests+0x9a92ee8)
    #39 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /src/base/debug/task_annotator.cc:101 (browser_tests+0x9a92ee8)
    #40 base::MessageLoop::RunTask(base::PendingTask*) /src/base/message_loop/message_loop.cc:432:46 (browser_tests+0x55f355a)
    #41 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /src/base/message_loop/message_loop.cc:443:5 (browser_tests+0x55f3e7c)
    #42 base::MessageLoop::DoWork() /src/base/message_loop/message_loop.cc:487:16 (browser_tests+0x55f41c5)
    #43 base::MessagePumpGlib::Run(base::MessagePump::Delegate*) /src/base/message_loop/message_pump_glib.cc:309:49 (browser_tests+0x9ad27bb)
    #44 base::MessageLoop::Run(bool) /src/base/message_loop/message_loop.cc:374:12 (browser_tests+0x55f2c67)
    #45 non-virtual thunk to base::MessageLoop::Run(bool) /src/base/message_loop/message_loop.cc (browser_tests+0x55f2d54)
    #46 base::RunLoop::Run() /src/base/run_loop.cc:102:14 (browser_tests+0x55f6adf)
    #47 RunThisRunLoop /src/content/public/test/test_utils.cc:132:13 (browser_tests+0xa8c5bf8)
    #48 content::RunMessageLoop() /src/content/public/test/test_utils.cc:127 (browser_tests+0xa8c5bf8)
    #49 (anonymous namespace)::CaptivePortalObserver::WaitForResults(int) /src/chrome/browser/captive_portal/captive_portal_browsertest.cc:432:5 (browser_tests+0x4ea7325)
    #50 CaptivePortalBrowserTest_ShowCaptivePortalInterstitialOnCertError_Test::RunTestOnMainThread() /src/chrome/browser/captive_portal/captive_portal_browsertest.cc:1891:25 (browser_tests+0x4eb9cc3)
    #51 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() /src/content/public/test/browser_test_base.cc:406:5 (browser_tests+0xa863ddd)
    #52 Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> /src/base/bind_internal.h:507:12 (browser_tests+0xa864f28)
    #53 MakeItSo<void (content::BrowserTestBase::*const &)(), content::BrowserTestBase *> /src/base/bind_internal.h:607 (browser_tests+0xa864f28)
    #54 RunImpl<void (content::BrowserTestBase::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase> > &, 0> /src/base/bind_internal.h:680 (browser_tests+0xa864f28)
    #55 base::internal::Invoker<base::internal::BindState<void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase> >, void ()>::Run(base::internal::BindStateBase*) /src/base/bind_internal.h:662 (browser_tests+0xa864f28)
    #56 Run /src/base/callback.h:129:12 (browser_tests+0x9ce722d)
    #57 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() /src/chrome/browser/chrome_browser_main.cc:3181 (browser_tests+0x9ce722d)
    #58 ChromeBrowserMainParts::PreMainMessageLoopRun() /src/chrome/browser/chrome_browser_main.cc:2259:18 (browser_tests+0x9ce52eb)
    #59 content::BrowserMainLoop::PreMainMessageLoopRun() /src/content/browser/browser_main_loop.cc:1021:13 (browser_tests+0x6a854c0)
    #60 Invoke<int (content::BrowserMainLoop::*)(), content::BrowserMainLoop *> /src/base/bind_internal.h:507:12 (browser_tests+0x6a88df8)
    #61 MakeItSo<int (content::BrowserMainLoop::*const &)(), content::BrowserMainLoop *> /src/base/bind_internal.h:607 (browser_tests+0x6a88df8)
    #62 RunImpl<int (content::BrowserMainLoop::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserMainLoop> > &, 0> /src/base/bind_internal.h:680 (browser_tests+0x6a88df8)
    #63 base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*) /src/base/bind_internal.h:662 (browser_tests+0x6a88df8)
    #64 Run /src/base/callback.h:129:12 (browser_tests+0x726d05a)
    #65 content::StartupTaskRunner::RunAllTasksNow() /src/content/browser/startup_task_runner.cc:43 (browser_tests+0x726d05a)
    #66 content::BrowserMainLoop::CreateStartupTasks() /src/content/browser/browser_main_loop.cc:932:25 (browser_tests+0x6a8379a)
    #67 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) /src/content/browser/browser_main_runner_impl.cc:143:15 (browser_tests+0x6a893ea)
    #68 content::BrowserMain(content::MainFunctionParams const&) /src/content/browser/browser_main.cc:45:32 (browser_tests+0x6a80539)
    #69 RunBrowserProcessMain /src/content/app/content_main_runner_impl.cc:613:10 (browser_tests+0x99a6eeb)
    #70 content::ContentMainRunnerImpl::Run(bool) /src/content/app/content_main_runner_impl.cc:973 (browser_tests+0x99a6eeb)
    #71 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() /src/content/app/content_service_manager_main_delegate.cc:53:32 (browser_tests+0x99a414f)
    #72 service_manager::Main(service_manager::MainParams const&) /src/services/service_manager/embedder/main.cc:472:29 (browser_tests+0xd205c76)
    #73 content::ContentMain(content::ContentMainParams const&) /src/content/app/content_main.cc:19:10 (browser_tests+0x99a494b)
    #74 content::BrowserTestBase::SetUp() /src/content/public/test/browser_test_base.cc:322:3 (browser_tests+0xa863831)
    #75 InProcessBrowserTest::SetUp() /src/chrome/test/base/in_process_browser_test.cc:272:20 (browser_tests+0x9c3a89d)
    #76 testing::Test::Run() /src/googletest (browser_tests+0x562b70b)
    #77 testing::TestInfo::Run() /src/googletest (browser_tests+0x562c96c)
    #78 testing::TestCase::Run() /src/googletest (browser_tests+0x562d1f6)
    #79 testing::internal::UnitTestImpl::RunAllTests() /src/googletest (browser_tests+0x563d796)
    #80 testing::UnitTest::Run() /src/googletest (browser_tests+0x563d07a)
    #81 RUN_ALL_TESTS /src/googletest/include/gtest/gtest.h:2329:46 (browser_tests+0x9c5d7f5)
    #82 base::TestSuite::Run() /src/base/test/test_suite.cc:277 (browser_tests+0x9c5d7f5)
    #83 ChromeTestSuiteRunner::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:65:38 (browser_tests+0x9a490f6)
    #84 ChromeTestLauncherDelegate::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:74:19 (browser_tests+0x9a491ff)
    #85 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) /src/content/public/test/test_launcher.cc:650:31 (browser_tests+0xa8c08de)
    #86 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) /src/chrome/test/base/chrome_test_launcher.cc:170:10 (browser_tests+0x9a49784)
    #87 main /src/chrome/test/base/browser_tests_main.cc:36:10 (browser_tests+0x9a48fdc)

  Previous write of size 1 at 0x7b44000004d8 by thread T2:
    #0 CaptivePortalBrowserTest::SetBehindCaptivePortal(bool) /src/chrome/browser/captive_portal/captive_portal_browsertest.cc:745:28 (browser_tests+0x4eb12d8)
    #1 Invoke<void (CaptivePortalBrowserTest::*)(bool), CaptivePortalBrowserTest *, bool> /src/base/bind_internal.h:507:12 (browser_tests+0x4ed0549)
    #2 MakeItSo<void (CaptivePortalBrowserTest::*)(bool), CaptivePortalBrowserTest *, bool> /src/base/bind_internal.h:607 (browser_tests+0x4ed0549)
    #3 RunImpl<void (CaptivePortalBrowserTest::*)(bool), std::__1::tuple<base::internal::UnretainedWrapper<CaptivePortalBrowserTest>, bool>, 0, 1> /src/base/bind_internal.h:680 (browser_tests+0x4ed0549)
    #4 base::internal::Invoker<base::internal::BindState<void (CaptivePortalBrowserTest::*)(bool), base::internal::UnretainedWrapper<CaptivePortalBrowserTest>, bool>, void ()>::RunOnce(base::internal::BindStateBase*) /src/base/bind_internal.h:649 (browser_tests+0x4ed0549)
    #5 Run /src/base/callback.h:99:12 (browser_tests+0x9a92ee8)
    #6 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) /src/base/debug/task_annotator.cc:101 (browser_tests+0x9a92ee8)
    #7 base::MessageLoop::RunTask(base::PendingTask*) /src/base/message_loop/message_loop.cc:432:46 (browser_tests+0x55f355a)
    #8 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) /src/base/message_loop/message_loop.cc:443:5 (browser_tests+0x55f3e7c)
    #9 base::MessageLoop::DoWork() /src/base/message_loop/message_loop.cc:487:16 (browser_tests+0x55f41c5)
    #10 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) /src/base/message_loop/message_pump_libevent.cc:210:31 (browser_tests+0x9bfd9b4)
    #11 base::MessageLoop::Run(bool) /src/base/message_loop/message_loop.cc:374:12 (browser_tests+0x55f2c67)
    #12 non-virtual thunk to base::MessageLoop::Run(bool) /src/base/message_loop/message_loop.cc (browser_tests+0x55f2d54)
    #13 base::RunLoop::Run() /src/base/run_loop.cc:102:14 (browser_tests+0x55f6adf)
    #14 base::Thread::Run(base::RunLoop*) /src/base/threading/thread.cc:255:13 (browser_tests+0x9b8d22b)
    #15 content::BrowserProcessSubThread::IOThreadRun(base::RunLoop*) /src/content/browser/browser_process_sub_thread.cc:184:11 (browser_tests+0x6a95a06)
    #16 content::BrowserProcessSubThread::Run(base::RunLoop*) /src/content/browser/browser_process_sub_thread.cc:134:7 (browser_tests+0x6a95913)
    #17 base::Thread::ThreadMain() /src/base/threading/thread.cc:337:3 (browser_tests+0x9b8d80b)
    #18 base::(anonymous namespace)::ThreadFunc(void*) /src/base/threading/platform_thread_posix.cc:76:13 (browser_tests+0x9bf6458)

  Location is heap block of size 288 at 0x7b44000003c0 allocated by main thread:
    #0 operator new(unsigned long) /src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:65:3 (browser_tests+0x330871d)
    #1 testing::internal::TestFactoryImpl<CaptivePortalBrowserTest_ShowCaptivePortalInterstitialOnCertError_Test>::CreateTest() /src/googletest/include/gtest/internal/gtest-internal.h:466:39 (browser_tests+0x4ed1d69)
    #2 testing::TestInfo::Run() /src/googletest (browser_tests+0x562c8ae)
    #3 testing::TestCase::Run() /src/googletest (browser_tests+0x562d1f6)
    #4 testing::internal::UnitTestImpl::RunAllTests() /src/googletest (browser_tests+0x563d796)
    #5 testing::UnitTest::Run() /src/googletest (browser_tests+0x563d07a)
    #6 RUN_ALL_TESTS /src/googletest/include/gtest/gtest.h:2329:46 (browser_tests+0x9c5d7f5)
    #7 base::TestSuite::Run() /src/base/test/test_suite.cc:277 (browser_tests+0x9c5d7f5)
    #8 ChromeTestSuiteRunner::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:65:38 (browser_tests+0x9a490f6)
    #9 ChromeTestLauncherDelegate::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:74:19 (browser_tests+0x9a491ff)
    #10 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) /src/content/public/test/test_launcher.cc:650:31 (browser_tests+0xa8c08de)
    #11 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) /src/chrome/test/base/chrome_test_launcher.cc:170:10 (browser_tests+0x9a49784)
    #12 main /src/chrome/test/base/browser_tests_main.cc:36:10 (browser_tests+0x9a48fdc)

  Thread T2 'Chrome_IOThread' (tid=37629, running) created by main thread at:
    #0 pthread_create /src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (browser_tests+0x329e755)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) /src/base/threading/platform_thread_posix.cc:115:13 (browser_tests+0x9bf5d96)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) /src/base/threading/platform_thread_posix.cc:200:10 (browser_tests+0x9bf5c55)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) /src/base/threading/thread.cc:112:15 (browser_tests+0x9b8c8c5)
    #4 content::BrowserProcessSubThread::CreateIOThread() /src/content/browser/browser_process_sub_thread.cc:97:19 (browser_tests+0x6a9560e)
    #5 content::ContentMainRunnerImpl::Run(bool) /src/content/app/content_main_runner_impl.cc:953:29 (browser_tests+0x99a6cc8)
    #6 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() /src/content/app/content_service_manager_main_delegate.cc:53:32 (browser_tests+0x99a414f)
    #7 service_manager::Main(service_manager::MainParams const&) /src/services/service_manager/embedder/main.cc:472:29 (browser_tests+0xd205c76)
    #8 content::ContentMain(content::ContentMainParams const&) /src/content/app/content_main.cc:19:10 (browser_tests+0x99a494b)
    #9 content::BrowserTestBase::SetUp() /src/content/public/test/browser_test_base.cc:322:3 (browser_tests+0xa863831)
    #10 InProcessBrowserTest::SetUp() /src/chrome/test/base/in_process_browser_test.cc:272:20 (browser_tests+0x9c3a89d)
    #11 testing::Test::Run() /src/googletest (browser_tests+0x562b70b)
    #12 testing::TestInfo::Run() /src/googletest (browser_tests+0x562c96c)
    #13 testing::TestCase::Run() /src/googletest (browser_tests+0x562d1f6)
    #14 testing::internal::UnitTestImpl::RunAllTests() /src/googletest (browser_tests+0x563d796)
    #15 testing::UnitTest::Run() /src/googletest (browser_tests+0x563d07a)
    #16 RUN_ALL_TESTS /src/googletest/include/gtest/gtest.h:2329:46 (browser_tests+0x9c5d7f5)
    #17 base::TestSuite::Run() /src/base/test/test_suite.cc:277 (browser_tests+0x9c5d7f5)
    #18 ChromeTestSuiteRunner::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:65:38 (browser_tests+0x9a490f6)
    #19 ChromeTestLauncherDelegate::RunTestSuite(int, char**) /src/chrome/test/base/chrome_test_launcher.cc:74:19 (browser_tests+0x9a491ff)
    #20 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) /src/content/public/test/test_launcher.cc:650:31 (browser_tests+0xa8c08de)
    #21 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) /src/chrome/test/base/chrome_test_launcher.cc:170:10 (browser_tests+0x9a49784)
    #22 main /src/chrome/test/base/browser_tests_main.cc:36:10 (browser_tests+0x9a48fdc)

SUMMARY: ThreadSanitizer: data race chrome/browser/captive_portal/captive_portal_browsertest.cc:984:9 in CaptivePortalBrowserTest::OnIntercept(content::URLLoaderInterceptor::RequestParams*)
Change-Id: I58163d96f66f8ca3b2d257d1481b0d12f980c679
Reviewed-on: https://chromium-review.googlesource.com/c/1356582
Commit-Queue: Matt Menke <mmenke@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613677}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
This was done to show the Page which was hidden accidentally when
hiding the main frame's RenderWidgetHost when detaching a main
frame. Detaching a main frame doesn't destroy the RenderWidgetHost
because the renderer's RenderWidget's lifetime is tied to
RenderView.

Now the Page is no longer hiding with the main frame RenderWidget
so this code does not need to show the Page when creating a subframe
in a tree that was empty but used to hold a local main frame.

Lots of investigation/details in crbug.com/908582 from #15 to #19.

R=alexmos@chromium.org, creis@chromium.org

Change-Id: Ie03115c94883c2a19840f7b9e16fc4c94789ede2
Bug: 419087, 908582, 638375
Reviewed-on: https://chromium-review.googlesource.com/c/1357629
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613740}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
This CL is putting back the |AbortScenario| code to the previous state.

Landed here:
  https://chromium-review.googlesource.com/c/chromium/src/+/1289672

The "if (is_tracing_)" is required to avoid calling the tracing controller
when it's not instantiated. This is only happening in the unittest.

[ RUN      ] BackgroundTracingTest.SetupBackgroundTracingFieldTrial
[184899:184899:1204/184233.049256:3597383076062:FATAL:tracing_controller_impl.cc(283)] Check failed: g_tracing_controller.
#0 0x7fefd86edf5d base::debug::StackTrace::StackTrace()
#1 0x7fefd83ded3a base::debug::StackTrace::StackTrace()
#2 0x7fefd8450a4b logging::LogMessage::~LogMessage()
#3 0x7fefd461c1e1 content::TracingControllerImpl::GetInstance()
#4 0x7fefd460e198 content::BackgroundTracingManagerImpl::AbortScenario()
#5 0x55ec45d76fa2 BackgroundTracingTest::TearDown()
#6 0x55ec473ff12e _ZN7testing8internal12InvokeHelperIvNSt3__15tupleIJEEEE12InvokeMethodIN10extensions27ExtensionDownloaderDelegateEMS8_FvvEEEvPT_T0_RKS4_
#7 0x55ec4846fc42 testing::internal::HandleExceptionsInMethodIfSupported<>()
#8 0x55ec4844f2f8 testing::Test::Run()
#9 0x55ec4844ff52 testing::TestInfo::Run()
#10 0x55ec48450e5f testing::TestCase::Run()
#11 0x55ec48464fcb testing::internal::UnitTestImpl::RunAllTests()
#12 0x55ec4847946e testing::internal::HandleSehExceptionsInMethodIfSupported<>()
#13 0x55ec48471472 testing::internal::HandleExceptionsInMethodIfSupported<>()
#14 0x55ec48464c07 testing::UnitTest::Run()
#15 0x55ec4aaa2bc1 RUN_ALL_TESTS()



R=oysteine@chromium.org

Change-Id: I9198c6db87a03daba5f75ece529f104ecbfe8609
Reviewed-on: https://chromium-review.googlesource.com/c/1361830
Reviewed-by: oysteine <oysteine@chromium.org>
Commit-Queue: Etienne Bergeron <etienneb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614056}
jkim-julie pushed a commit that referenced this issue Dec 10, 2018
This reverts commit a612879.

Reason for revert: Suspect Failure single_process_mash_ash_unittests Failure ash_unittests:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-chromeos-rel/16943
https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8927839167159249024/+/steps/single_process_mash_ash_unittests/0/logs/LoginExpandedPublicAccountViewTest.ChangeMenuSelection/0
---
[ RUN      ] LoginExpandedPublicAccountViewTest.ChangeMenuSelection
Received signal 11 SEGV_MAPERR ffffe03f000008fe
#0 0x5631a3caedbf base::debug::StackTrace::StackTrace()
#1 0x5631a3cae941 base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7faa9920f330 <unknown>
#3 0x5631a3aafbbf ash::LoginBubble::~LoginBubble()
#4 0x5631a3ab806c ash::RightPaneView::~RightPaneView()
#5 0x5631a3ab810e ash::RightPaneView::~RightPaneView()
#6 0x5631a40385d4 views::View::~View()
#7 0x5631a3ab6df9 ash::LoginExpandedPublicAccountView::~LoginExpandedPublicAccountView()
#8 0x5631a40385d4 views::View::~View()
#9 0x5631a300afce ash::(anonymous namespace)::DragTestView::~DragTestView()
#10 0x5631a4039b42 views::View::DoRemoveChildView()
#11 0x5631a403a175 views::View::RemoveAllChildViews()
#12 0x5631a4043b81 views::internal::RootView::~RootView()
#13 0x5631a400ef0e views::MenuHostRootView::~MenuHostRootView()
#14 0x5631a404615f views::Widget::~Widget()
#15 0x5631a34d645e exo::(anonymous namespace)::ShellSurfaceWidget::~ShellSurfaceWidget()
#16 0x5631a30c36f0 ash::LoginTestBase::TearDown()

Original change's description:
> cros: Move most event/widget handling logic out of LoginBubble
> 
> Changes made:
> - Move the (keyboard/click/tap) event handling logic into a
>   LoginBubbleHandler class.
> - Move the widget handling into LoginBaseBubbleView itself
> 
> Bug: 912658
> Change-Id: Ia1a9bf4b8d847ef74ef1716e73dfe1b16b8d19b2
> Reviewed-on: https://chromium-review.googlesource.com/c/1366516
> Commit-Queue: Quan Nguyen <qnnguyen@chromium.org>
> Reviewed-by: Jacob Dufault <jdufault@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#614544}

TBR=jdufault@chromium.org,qnnguyen@chromium.org

Change-Id: Ia9b9059f24f6aa6a8551c5c6bc5c76caafe592df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 912658
Reviewed-on: https://chromium-review.googlesource.com/c/1367070
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Commit-Position: refs/heads/master@{#614579}
msisov pushed a commit that referenced this issue Dec 23, 2018
This CL updates the UI to show a badge icon in the app menu icon
whenever the user is running Chrome on a currently unsupported Android
version.  This badge in the app menu is only displayed once, until the
user taps the app menu icon. If the user does in fact get a new version,
the badge state is reset, and will be shown again. The current behavior
for out of date users stays the same as before (once per cold start).

In addition, a new menu item is displayed at the top of the menu that
explains that Chrome is unable to update. Nothing happens when you tap
the menu item in the case of an unsupported OS version.

The new menu item and the new warning message in About Chrome will
always be displayed when the user is in this state, regardless of
whether the app menu has already been tapped (which removes the badge).

This CL also updates the UI in Settings - About Chrome to show a new
message and a warning icon when the user is running Chrome on an
unsupported version of the Android OS.

By default, Jelly Bean is considered unsupported after this CL, but this
can be overridden from the variations framework.

It is possible to use command line flags or chrome://flags for
testing the different states, though that does not impact the
About Chrome screen.

Binary-Size: This CL adds new assets and the minimal code required.
Bug: 847940
Change-Id: If128e1692b66c5804928183718000aaf1e2ffaa6
Reviewed-on: https://chromium-review.googlesource.com/c/1243167
Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#599369}(cherry picked from commit 5423fd8)
Reviewed-on: https://chromium-review.googlesource.com/c/1279959
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#15}
Cr-Branched-From: 4226ddf-refs/heads/master@{#599034}
msisov pushed a commit that referenced this issue Dec 23, 2018
…pported."

This reverts commit 601b3e3.

Reason for revert: Breaks Chrome Custom Tabs.

Original change's description:
> Update UI for unsupported Android OS and make Jelly Bean unsupported.
> 
> This CL updates the UI to show a badge icon in the app menu icon
> whenever the user is running Chrome on a currently unsupported Android
> version.  This badge in the app menu is only displayed once, until the
> user taps the app menu icon. If the user does in fact get a new version,
> the badge state is reset, and will be shown again. The current behavior
> for out of date users stays the same as before (once per cold start).
> 
> In addition, a new menu item is displayed at the top of the menu that
> explains that Chrome is unable to update. Nothing happens when you tap
> the menu item in the case of an unsupported OS version.
> 
> The new menu item and the new warning message in About Chrome will
> always be displayed when the user is in this state, regardless of
> whether the app menu has already been tapped (which removes the badge).
> 
> This CL also updates the UI in Settings - About Chrome to show a new
> message and a warning icon when the user is running Chrome on an
> unsupported version of the Android OS.
> 
> By default, Jelly Bean is considered unsupported after this CL, but this
> can be overridden from the variations framework.
> 
> It is possible to use command line flags or chrome://flags for
> testing the different states, though that does not impact the
> About Chrome screen.
> 
> Binary-Size: This CL adds new assets and the minimal code required.
> Bug: 847940
> Change-Id: If128e1692b66c5804928183718000aaf1e2ffaa6
> Reviewed-on: https://chromium-review.googlesource.com/c/1243167
> Commit-Queue: Tommy Nyquist <nyquist@chromium.org>
> Reviewed-by: Theresa <twellington@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#599369}(cherry picked from commit 5423fd8)
> Reviewed-on: https://chromium-review.googlesource.com/c/1279959
> Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3578@{#15}
> Cr-Branched-From: 4226ddf-refs/heads/master@{#599034}

TBR=nyquist@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 847940
Change-Id: Iec0d8b4c07f123597f4883d1be3f14c3207e7c05
Reviewed-on: https://chromium-review.googlesource.com/c/1286281
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#92}
Cr-Branched-From: 4226ddf-refs/heads/master@{#599034}
msisov pushed a commit that referenced this issue Jan 31, 2019
Revert "[unified-consent] Fix official browser tests"

This reverts commit 44c85b6.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [unified-consent] Fix official browser tests
> 
> The unified consent feature was not enabled in
> UnifiedConsentBrowserTest for official tests.
> This is fixed now.
> 
> Bug: 910523, 888527
> Change-Id: Ied1223b008f83c8c92cf471f90e8021606e25fda
> Reviewed-on: https://chromium-review.googlesource.com/c/1356960
> Commit-Queue: Thomas Tangl <tangltom@chromium.org>
> Reviewed-by: David Roger <droger@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#612678}(cherry picked from commit 3763198)
> Reviewed-on: https://chromium-review.googlesource.com/c/1358449
> Reviewed-by: Thomas Tangl <tangltom@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3626@{#9}
> Cr-Branched-From: d897fb1-refs/heads/master@{#612437}

TBR=tangltom@chromium.org

Change-Id: Ifda419362b527ef0567a4a283542a772389a3261
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 910523, 888527
Reviewed-on: https://chromium-review.googlesource.com/c/1359306
Reviewed-by: Abdul Syed <abdulsyed@google.com>
Cr-Commit-Position: refs/branch-heads/3626@{#15}
Cr-Branched-From: d897fb1-refs/heads/master@{#612437}
msisov pushed a commit that referenced this issue Feb 25, 2019
This reverts commit 9b90992.

Reason for revert: 

Suspect: causes extensions_unittests failures on LinuxTests(dbg)(1).
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20Tests%20%28dbg%29%281%29/78307

https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8921108554761775344/+/steps/extensions_unittests/0/logs/GinPortTest.TestJSDisconnect__status_CRASH_/0

---
[ RUN      ] GinPortTest.TestJSDisconnect

# Fatal error in ../../v8/src/base/atomic-utils.h, line 181
# Debug check failed: old >= amount (12874 vs. 13036).
#
#
#
#FailureMessage Object: 0x7ffe772cb570#0 0x7fcc15c67441 base::debug::CollectStackTrace()
#4 0x7fcbf34d4a98 V8_Fatal()
#5 0x7fcbf34d4805 v8::base::(anonymous namespace)::DefaultDcheckHandler()
#6 0x7fcc05ae9b34 v8::internal::Heap::FinalizeExternalString()
#7 0x7fcc05af3c0e v8::internal::Heap::ExternalStringTable::TearDown()
#8 0x7fcc05af37ed v8::internal::Heap::TearDown()
#9 0x7fcc05c1e90b v8::internal::Isolate::Deinit()
#10 0x7fcc05c1e595 v8::internal::Isolate::Delete()
#11 0x7fcc05184d38 gin::IsolateHolder::~IsolateHolder()
#12 0x5635a0f5381b std::__Cr::default_delete<>::operator()()
#13 0x5635a0f5375f std::__Cr::unique_ptr<>::reset()
#14 0x5635a193afd5 extensions::APIBindingTest::TearDown()
#15 0x56359fcf3ddf extensions::(anonymous namespace)::GinPortTest::TearDown()
#16 0x56359fd693ee testing::internal::HandleSehExceptionsInMethodIfSupported<>()
---

Original change's description:
> Update V8 to version 7.4.196.
> 
> Summary of changes available at:
> https://chromium.googlesource.com/v8/v8/+log/fee9be7a..9f489e34
> 
> Please follow these instructions for assigning/CC'ing issues:
> https://github.com/v8/v8/wiki/Triaging%20issues
> 
> Please close rolling in case of a roll revert:
> https://v8-roll.appspot.com/
> This only works with a Google account.
> 
> CQ_INCLUDE_TRYBOTS=luci.chromium.try:linux-blink-rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel
> 
> TBR=hablich@chromium.org,v8-waterfall-sheriff@grotations.appspotmail.com
> 
> Change-Id: I2422c4d7e92bb63dba87b15567bde4a108536222
> Reviewed-on: https://chromium-review.googlesource.com/c/1477512
> Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/master@{#633211}

TBR=hablich@chromium.org,v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com,v8-waterfall-sheriff@grotations.appspotmail.com

Change-Id: I23bea79ec5187e545b0604b1f4706152e2aa037a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:android_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1477147
Reviewed-by: Takashi Sakamoto <tasak@google.com>
Commit-Queue: Takashi Sakamoto <tasak@google.com>
Cr-Commit-Position: refs/heads/master@{#633217}
msisov pushed a commit that referenced this issue Mar 14, 2019
In the condition when the device is disabled by policy it was referencing a yet
uninitialized LoginScreenClient leading to SYSSEGV and boot/login loop in
Chromebooks.

Bug: 884127
Change-Id: If99d945777e56cbc1299f5094afd32cee1872f3a
Reviewed-on: https://chromium-review.googlesource.com/c/1435436
Commit-Queue: Anatoliy Potapchuk <apotapchuk@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#626120}(cherry picked from commit 1453a24)
Reviewed-on: https://chromium-review.googlesource.com/c/1439075
Reviewed-by: Sergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/branch-heads/3683@{#15}
Cr-Branched-From: e510299-refs/heads/master@{#625896}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants