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

Revive tooltips #84

Merged
merged 2 commits into from
May 10, 2017
Merged

Conversation

tonikitoo
Copy link
Member

... and various other widgets that were broken: "add/remove/edit bookmark" widget, "zoom in/out" banner upon control +/- press, tooltips, "crash restore" banner upon browser crash, etc

…creation

Chrome/Mus/Mash default to using DesktopNativeWidgetAura for widgets creation.
For this, there is a coorperation between server and client sides for the widget
creation. Some of this codepath requires Ash to help with the window creation.

For Ozone/LinuxOS, this CL uses the same code path as regular X11/Linux in
order to deal with widgets creation: using NativeWidgetAura rather than
DesktopNativeWidgetAura.

This fixes "add/remove/edit bookmark" widget, zoom in/out banner upon
control +/- press, tooltips, "crash restore" banner upon browser crash, etc.

This code path does not take place for widgets that required being backed by
a real native window (e.g. 3-dot menu).

Issue Igalia#78
@tonikitoo tonikitoo self-assigned this May 10, 2017
@tonikitoo tonikitoo requested a review from msisov May 10, 2017 14:58
Copy link
Member

@msisov msisov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@tonikitoo tonikitoo merged commit 79d297a into Igalia:ozone-wayland-dev May 10, 2017
This was referenced May 10, 2017
msisov pushed a commit to msisov/chromium that referenced this pull request Sep 25, 2017
render_frame_host() can be null after finishing async operations.
Remove DCHECK to stop accessing it.

BUG=762797
TEST=build
TBR=hashimoto@chromium.org

(cherry picked from commit 9ccbde3)

Change-Id: I2e05eca525bea28fb1ac3d75f3dbc500c7bd50c7
Reviewed-on: https://chromium-review.googlesource.com/654279
Reviewed-by: Tomasz Mikolajewski <mtomasz@chromium.org>
Reviewed-by: Shuhei Takahashi <nya@chromium.org>
Commit-Queue: Ryo Hashimoto <hashimoto@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#500229}
Reviewed-on: https://chromium-review.googlesource.com/656745
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{Igalia#84}
Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}
jkim-julie pushed a commit that referenced this pull request 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}
msisov pushed a commit that referenced this pull request Dec 23, 2018
On the start setup page of OOBE, change the text of the cancel button to
read "No thanks" instead of "Cancel".

Screenshots:
OOBE: https://drive.google.com/open?id=1QjHg1_v1QFg1tph986Xi2igPUYG8nJlneA
post-OOBE: https://drive.google.com/open?id=1-hxQjU-WVMi8sAWNAZB-7LyrcX3F5ju5bQ

Bug: 893353
Change-Id: I748f282b392bccfe17bd14f8bc036cca786bb8f9
Tested: Manual; ./out/Default/browser_tests --gtest_filter=*MultiDevice*
Reviewed-on: https://chromium-review.googlesource.com/c/1272067
Commit-Queue: Josh Nohle <nohle@chromium.org>
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#599860}(cherry picked from commit 8c25763)
Reviewed-on: https://chromium-review.googlesource.com/c/1286873
Reviewed-by: Jeremy Klein <jlklein@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#84}
Cr-Branched-From: 4226ddf-refs/heads/master@{#599034}
msisov pushed a commit that referenced this pull request Jan 31, 2019
Previously, we would attempt a BLE scan any time that we got a
DeviceChanged() or DeviceAdded() callback. However, the DeviceChanged()
callback was invoked when a device was in the process of disconnecting,
meaning that we would see a disconnecting device, then try to start a
connection immediately. This resulted in spurious connection requests
which could sometime cause a deadlock in underlying Bluetooth code.
Additionally, we would rely on the DeviceChanged() and DeviceRemoved()
callbacks to listen for Bluetooth disconnections, which also resulted in
error-prone disconnections.

This CL updates both call sites to use the updated
DeviceAdvertisementReceived() and DeviceConnectedStateChanged()
callbacks instead.

Bug: 898334
Change-Id: I743e51e6e47194649ab6852966b9d892c3ef334d
Reviewed-on: https://chromium-review.googlesource.com/c/1359478
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613358}
(cherry picked from commit af8d33b)

TBR: ortuno@chromium.org
Change-Id: I743e51e6e47194649ab6852966b9d892c3ef334d
Reviewed-on: https://chromium-review.googlesource.com/c/1363685
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#84}
Cr-Branched-From: d897fb1-refs/heads/master@{#612437}
msisov pushed a commit that referenced this pull request Mar 14, 2019
This reverts commit 7c4d25d.

Reason for revert: feature punted to M74

Bug: 914210

Original change's description:
> Enable Assistant for child accounts.
>
> This reverts commit 71f820a ("Disable assistant for child account").
>
> Bug: b:120075638
> Test: built and tested locally
> Change-Id: I59d3d4869ba596fa462a904b8a64a88230c28325
> Reviewed-on: https://chromium-review.googlesource.com/c/1351155
> Commit-Queue: Henrique Nazaré Santos <nazare@google.com>
> Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
> Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
> Reviewed-by: Sam McNally <sammc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#613206}

TBR=xiyuan@chromium.org,sammc@chromium.org,xiaohuic@chromium.org,nazare@google.com

Bug: b:120075638
Change-Id: I452fba75870677ec70fc3d1bcec3ab433c5361fd
Reviewed-on: https://chromium-review.googlesource.com/c/1447270
Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
Cr-Commit-Position: refs/branch-heads/3683@{#84}
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

Successfully merging this pull request may close these issues.

2 participants