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

Allow ws to pass display::Display data to Aura/client #50

Merged

Conversation

tonikitoo
Copy link
Member

Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

@tonikitoo tonikitoo self-assigned this Apr 19, 2017
@tonikitoo tonikitoo requested a review from msisov April 19, 2017 23:25
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 with nits

Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43
@tonikitoo tonikitoo merged commit b0c13ae into Igalia:ozone-wayland-dev Apr 20, 2017
msisov pushed a commit to msisov/chromium that referenced this pull request 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 added a commit that referenced this pull request Apr 26, 2017
PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".
msisov pushed a commit to msisov/chromium that referenced this pull request May 4, 2017
PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request May 15, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request May 15, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request May 22, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43
tonikitoo added a commit that referenced this pull request May 22, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43
msisov pushed a commit that referenced this pull request Jun 5, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

Conflicts:
	services/ui/service.cc
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Jun 5, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43
tonikitoo added a commit that referenced this pull request Jun 7, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

Conflicts:
	services/ui/service.cc
tonikitoo added a commit that referenced this pull request Jun 12, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

Conflicts:
	services/ui/service.cc
msisov pushed a commit that referenced this pull request Jun 19, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
	services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
	services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

Conflicts:
	services/ui/service.cc

Conflicts:
	ui/ozone/public/ozone_platform.h
tonikitoo added a commit that referenced this pull request Jun 26, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
        services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

Conflicts:
        services/ui/service.cc

Conflicts:
        ui/ozone/public/ozone_platform.h
msisov pushed a commit to msisov/chromium that referenced this pull request Jul 3, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
        services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

Conflicts:
        services/ui/service.cc

Conflicts:
        ui/ozone/public/ozone_platform.h
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Jul 16, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

Conflicts:
        services/ui/service.cc

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Conflicts:
        services/ui/service.cc

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

Conflicts:
        services/ui/service.cc

Conflicts:
        ui/ozone/public/ozone_platform.h
msisov pushed a commit that referenced this pull request Jul 31, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43
tonikitoo pushed a commit to tonikitoo/chromium that referenced this pull request 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 pull request 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 pull request Aug 7, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43
tonikitoo added a commit that referenced this pull request Aug 8, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43
msisov pushed a commit that referenced this pull request Aug 14, 2017
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43
tonikitoo pushed a commit that referenced this pull request 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}
tonikitoo added a commit that referenced this pull request Jan 6, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
tonikitoo added a commit that referenced this pull request Jan 6, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
msisov pushed a commit that referenced this pull request Jan 8, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
tonikitoo added a commit that referenced this pull request Jan 15, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
msisov pushed a commit that referenced this pull request Jan 22, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
msisov pushed a commit to msisov/chromium that referenced this pull request Jan 24, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Jan 29, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.
msisov pushed a commit that referenced this pull request Feb 12, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266
msisov pushed a commit that referenced this pull request Feb 19, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266
msisov pushed a commit that referenced this pull request Feb 19, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266
tonikitoo added a commit that referenced this pull request Feb 27, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Mar 5, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266
msisov pushed a commit that referenced this pull request Mar 5, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266

query
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Mar 12, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Mar 12, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
tonikitoo added a commit that referenced this pull request Mar 12, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266

query
jkim-julie pushed a commit that referenced this pull request Mar 19, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266

query
tonikitoo added a commit to tonikitoo/chromium that referenced this pull request Mar 27, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
msisov pushed a commit that referenced this pull request Apr 2, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue #43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue #56
Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

PR #50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue #43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue #43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR #250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue #212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue #266

query
jkim-julie pushed a commit to jkim-julie/chromium that referenced this pull request Apr 9, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
msisov pushed a commit to msisov/chromium that referenced this pull request Apr 16, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
jkim-julie pushed a commit to jkim-julie/chromium that referenced this pull request Apr 23, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
jkim-julie pushed a commit to jkim-julie/chromium that referenced this pull request Apr 23, 2018
Change ScreenManagerOzoneExternal to be able to send out display::Display
updates via ws::UserDisplayManager (which will send the display::Display
to the client).

For this, patch extends OzonePlatform with a method that allows
its instances (X11, Wayland, etc) to query the host system its displays
data (resolution only for now).
ScreenManagerOzoneExternal then calls to ws::DisplayManager, which calls to
ws::UserDisplayManager.

In order to allow ws::DisplayManager to get display::Display and not change
ws::Display in external mode, a new hook was added: ::OnHostDisplaysReady.

Wayland support will come in a fixup.

Issue Igalia#43

  Contains fixup in ozone_platform_headless for fixing
  https://build-chromium.igalia.com/#builders/1/builds/149

(TEMP) fixup! Allow ws to pass display::Display data to Aura/client

  Fix creating ui::Display after https://codereview.chromium.org/2829733002/
  is upstreamed

fixup! Allow ws to pass display::Display data to Aura/client

Use a non-zero value for FrameDecorationValues::normal_client_area_insets,
so that the tabstrip has room to get drawn.

The value '33' was picked up by mimic'ing ChromeOS's Chrome/Mash.

Issue Igalia#56
Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

PR Igalia#50, reverted an initial hack added as part of the commit
"Allow chrome launch with --mus parameter", but it left over one
bit.

This commits removes the left over bit, but in the next rebase
this should be squashed against "Allow chrome launch with --mus parameter"
commit, not "Allow ws to pass display::Display data to Aura/client".

fixup! Allow ws to pass display::Display data to Aura/client

null-check the pointer before dereferencing it. nullptr is
deliberately pass in sometimes.

Issue Igalia#43

fixup! fixup! Allow ws to pass display::Display data to Aura/client

During the April/24 rebase, msisov@ hardcoded the ScreenManager creating
in ws::service. This method adds a call to ws::Service::OnWillCreateTreeForWindowManager,
similarly to how internal window mode does.

fixup! Allow ws to pass display::Display data to Aura/client

Implement OzonePlatformWayland::QueryHostDisplaysData. Note
that by the time WaylandOutput is instantiated, the associated
WaylandConnection object needs to be able to receive and process
events, so that it can handle wl_output_listener hooks.

Issue Igalia#43

fixup! Allow ws to pass display::Display data to Aura/client

Now that Mus runs as a thread within the Browser process, we can not
install ScreenManagerOzoneExternal's Screen instance. Instead, it is
only used internally to track displays (add, remove, modify).

This fixes a crash at shutdown.

PR Igalia#250

fixup! Allow ws to pass display::Display data to Aura/client

Stop early listen to events, when wl_output is installed.
This call was causing us to enter the event loop earlier than we should,
and occasional hangs at start up.

Instead, when display/screen data is queried, we "ask" the server
to close all pending requests associated with a given wl_display.
Screen dimensions then can be queried.

Issue Igalia#212

fixup! Allow ws to pass display::Display data to Aura/client

Fix unittests: after the change to WaylandConnection::Initialize, the
unittests started to hang on startup, because the WaylandOutput::Geometry
had always been empty.

The fix is to create a MockOutput, which is a global wl object on the
server side, with non-empty geometry, which will be set during initializtion
step.

The second fix is to modify WaylandConnectionTest::Output in such a way that
it would not wait in a blocking run loop. At the moment, we have
a wl_display_roundtrip run until WaylandOutput::Geometry is set instead.

fixup! Allow ws to pass display::Display data to Aura/client

This fixes a compilation issue, and removes a hardcoded FrameDecoration
value. In other words, the FrameDecoration instance is still needed, but
not the value.

Issue Igalia#266

query
jkim-julie pushed a commit that referenced this pull request Jun 4, 2018
This reverts commit 62628bf.

Reason for revert: Speculative revert due to Linux ChromiumOS MSan Tests failures:

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

 [ 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
[ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
[9681:9681:0529/225648.292655: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
[9681:9709:0529/225648.491081: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
[9681:9709:0529/225648.491704:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
[9681:9681:0529/225653.563139:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
[9681:9764:0529/225653.719267:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
[9681:9681:0529/225654.670750:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9681:9681:0529/225657.293016:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9681:9681:0529/225700.335612:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9681:9681:0529/225703.324806:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9681:9681:0529/225804.664156:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9681:9681:0529/225928.685288:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f6d3333fcb0 in killpg ??:?
    #5 0x7f6d3333fcb0 in ?? ??:0
    #6 0x7f6d334076d3 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 0x7f6d3332af45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
    #45 0x000000a511ba in _start ??:0:0
[ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
[9971:9971:0529/225953.241021: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
[9971:9999:0529/225953.449328: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
[9971:9999:0529/225953.449892:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
[9971:9971:0529/225958.400556:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
[9971:10053:0529/225958.532493:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
[9971:9971:0529/225959.377349:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9971:9971:0529/230002.227064:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9971:9971:0529/230005.286414:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9971:9971:0529/230008.209328:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9971:9971:0529/230103.646916:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[9971:9971:0529/230224.632095:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f12d1488cb0 in killpg ??:?
    #5 0x7f12d1488cb0 in ?? ??:0
    #6 0x7f12d15506d3 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 0x7f12d1473f45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
    #45 0x000000a511ba in _start ??:0:0
[ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
[10186:10186:0529/230253.379633: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
[10186:10214:0529/230253.588059: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
[10186:10214:0529/230253.589228:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
[10186:10186:0529/230258.651324:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
[10186:10267:0529/230258.790038:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
[10186:10186:0529/230259.634483:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[10186:10186:0529/230302.223698:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[10186:10186:0529/230305.265591:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[10186:10186:0529/230308.238544:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[10186:10186:0529/230402.646445:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
[10186:10186:0529/230525.634213:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f0a55d86cb0 in killpg ??:?
    #5 0x7f0a55d86cb0 in ?? ??:0
    #6 0x000000a6d2d4 in __msan_set_alloca_origin4 /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/msan.cc:558:12
    #7 0x00001b72c053 in std::__1::enable_if<(__is_forward_iterator<std::__1::__wrap_iter<cc::DrawImage*> >::value) && (is_constructible<cc::DrawImage, std::__1::iterator_traits<std::__1::__wrap_iter<cc::DrawImage*> >::reference>::value), std::__1::__wrap_iter<cc::DrawImage*> >::type std::__1::vector<cc::DrawImage, std::__1::allocator<cc::DrawImage> >::insert<std::__1::__wrap_iter<cc::DrawImage*> >(std::__1::__wrap_iter<cc::DrawImage const*>, std::__1::__wrap_iter<cc::DrawImage*>, std::__1::__wrap_iter<cc::DrawImage*>) ./../../buildtools/third_party/libc++/trunk/include/vector:1959:0
    #8 0x00001b71d05d in cc::TileManager::ScheduleTasks(cc::TileManager::PrioritizedWorkToSchedule) ./../../cc/tiles/tile_manager.cc:1021:21
    #9 0x00001b716797 in cc::TileManager::PrepareTiles(cc::GlobalStateThatImpactsTilePriority const&) ./../../cc/tiles/tile_manager.cc:520:3
    #10 0x00001b4bb195 in cc::LayerTreeHostImpl::PrepareTiles() ./../../cc/trees/layer_tree_host_impl.cc:607:42
    #11 0x00001b7ebfac in cc::SingleThreadProxy::ScheduledActionPrepareTiles() ./../../cc/trees/single_thread_proxy.cc:834:15
    #12 0x00001b83107b in cc::Scheduler::ProcessScheduledActions() ./../../cc/scheduler/scheduler.cc:0:20
    #13 0x00001b82fe9f in cc::Scheduler::OnBeginImplFrameDeadline() ./../../cc/scheduler/scheduler.cc:642:3
    #14 0x00001322a1d2 in Run ./../../base/callback.h:96:12
    #15 0x00001322a1d2 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/debug/task_annotator.cc:101:0
    #16 0x0000132ab7a5 in base::MessageLoop::RunTask(base::PendingTask*) ./../../base/message_loop/message_loop.cc:319:25
    #17 0x0000132adb1b in DeferOrRunPendingTask ./../../base/message_loop/message_loop.cc:329:5
    #18 0x0000132adb1b in base::MessageLoop::DoDelayedWork(base::TimeTicks*) ./../../base/message_loop/message_loop.cc:413:0
    #19 0x000013559d67 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_libevent.cc:220:27
    #20 0x00001336b330 in base::RunLoop::Run() ./../../base/run_loop.cc:102:14
    #21 0x000015058275 in content::RunThisRunLoop(base::RunLoop*) ./../../content/public/test/test_utils.cc:128:13
    #22 0x00002b95647d in extensions::ResultCatcher::GetNextResult() ./../../extensions/test/result_catcher.cc:35:5
    #23 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
    #24 0x0000049ace7e in extensions::ExtensionWebRequestApiTest_WebRequestAuthRequired_Test::RunTestOnMainThread() ./../../chrome/browser/extensions/api/web_request/web_request_apitest.cc:445:3
    #25 0x000014f9e3f2 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:385:5
    #26 0x00001387fbe5 in Run ./../../base/callback.h:125:12
    #27 0x00001387fbe5 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() ./../../chrome/browser/chrome_browser_main.cc:2098:0
    #28 0x00001387b5c0 in ChromeBrowserMainParts::PreMainMessageLoopRun() ./../../chrome/browser/chrome_browser_main.cc:1492:18
    #29 0x000007604b81 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() ./../../chrome/browser/chromeos/chrome_browser_main_chromeos.cc:684:32
    #30 0x00000bd8f78b in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:962:13
    #31 0x00000d34ab21 in Run ./../../base/callback.h:125:12
    #32 0x00000d34ab21 in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:44:0
    #33 0x00000bd875e8 in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:873:25
    #34 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
    #35 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
    #36 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
    #37 0x000012ffa9aa in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:964:12
    #38 0x00001c607013 in service_manager::Main(service_manager::MainParams const&) ./../../services/service_manager/embedder/main.cc:459:29
    #39 0x000012ff0d18 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:19:10
    #40 0x000014f9c8c0 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:323:3
    #41 0x00001372d0cf in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:244:20
    #42 0x000008b46826 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #43 0x000008b4a8bc in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2667:11
    #44 0x000008b4c34a in testing::TestCase::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2785:28
    #45 0x000008b82a55 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5047:43
    #46 0x000008b81328 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
    #47 0x0000137959f1 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46
    #48 0x0000137959f1 in base::TestSuite::Run() ./../../base/test/test_suite.cc:275:0
    #49 0x0000131f45a4 in ChromeTestSuiteRunner::RunTestSuite(int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:65:38
    #50 0x000015048025 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:625:31
    #51 0x0000131f5d07 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:170:10
    #52 0x0000131f4390 in main ./../../chrome/test/base/browser_tests_main_chromeos.cc:21:10
    #53 0x7f0a55d71f45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
    #54 0x000000a511ba in _start ??:0:0


Original change's description:
> shared worker: Add tests for Chrome extensions.
> 
> We didn't have specific test coverage for shared worker from Chrome
> extensions, just incidental ones via the ExtensionApiTest.Debugger and
> ExtensionApiTestWithSwitch.ExtensionDebugger.
> 
> Shared workers go through a very different loading path than other
> resources, so it's useful to have tests for them especially
> including interaction with service workers.
> 
> This adds tests that currently fail with NetworkService, a next
> patch will have a fix.
> 
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
> Change-Id: Ifa6bb3dec8bdea34c3fbefbaeab324fadcb5c929
> Bug: 839982
> Reviewed-on: https://chromium-review.googlesource.com/1074848
> Commit-Queue: Matt Falkenhagen <falken@chromium.org>
> Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#562700}

TBR=falken@chromium.org,lazyboy@chromium.org

Change-Id: I880c6e859c9414070ad4783dc9e703f4324ecf29
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 839982
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1078367
Reviewed-by: Thiemo Nagel <tnagel@chromium.org>
Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562766}
jkim-julie pushed a commit that referenced this pull request Jun 4, 2018
This reverts commit 4796a2a.

Reason for revert: The test failure is a flake. I should have checked before. :(

Original change's description:
> Revert "shared worker: Add tests for Chrome extensions."
> 
> This reverts commit 62628bf.
> 
> Reason for revert: Speculative revert due to Linux ChromiumOS MSan Tests failures:
> 
> https://ci.chromium.org/buildbot/chromium.memory/Linux%20ChromiumOS%20MSan%20Tests/7363
> 
>  [ 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
> [ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
> [9681:9681:0529/225648.292655: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
> [9681:9709:0529/225648.491081: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
> [9681:9709:0529/225648.491704:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
> [9681:9681:0529/225653.563139:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
> [9681:9764:0529/225653.719267:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
> [9681:9681:0529/225654.670750:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9681:9681:0529/225657.293016:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9681:9681:0529/225700.335612:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9681:9681:0529/225703.324806:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9681:9681:0529/225804.664156:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9681:9681:0529/225928.685288:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f6d3333fcb0 in killpg ??:?
>     #5 0x7f6d3333fcb0 in ?? ??:0
>     #6 0x7f6d334076d3 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 0x7f6d3332af45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
>     #45 0x000000a511ba in _start ??:0:0
> [ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
> [9971:9971:0529/225953.241021: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
> [9971:9999:0529/225953.449328: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
> [9971:9999:0529/225953.449892:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
> [9971:9971:0529/225958.400556:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
> [9971:10053:0529/225958.532493:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
> [9971:9971:0529/225959.377349:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9971:9971:0529/230002.227064:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9971:9971:0529/230005.286414:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9971:9971:0529/230008.209328:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9971:9971:0529/230103.646916:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [9971:9971:0529/230224.632095:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f12d1488cb0 in killpg ??:?
>     #5 0x7f12d1488cb0 in ?? ??:0
>     #6 0x7f12d15506d3 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 0x7f12d1473f45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
>     #45 0x000000a511ba in _start ??:0:0
> [ RUN      ] ExtensionWebRequestApiTest.WebRequestAuthRequired
> [10186:10186:0529/230253.379633: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
> [10186:10214:0529/230253.588059: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
> [10186:10214:0529/230253.589228:WARNING:alsa_util.cc(24)] PcmOpen: plug:default,No such file or directory
> [10186:10186:0529/230258.651324:ERROR:textfield.cc(1754)] Not implemented reached in virtual bool views::Textfield::ShouldDoLearning()
> [10186:10267:0529/230258.790038:WARNING:embedded_test_server.cc(229)] Request not handled. Returning 404: /favicon.ico
> [10186:10186:0529/230259.634483:INFO:CONSOLE(0)] "[SUCCESS] authRequiredNonBlocking", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [10186:10186:0529/230302.223698:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [10186:10186:0529/230305.265591:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncCancelAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [10186:10186:0529/230308.238544:INFO:CONSOLE(0)] "[SUCCESS] authRequiredSyncSetAuth", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [10186:10186:0529/230402.646445:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncNoAction", source: chrome-extension://chbigaineimkgiedpecafcaejhjcdebm/test_auth_required.html (0)
> [10186:10186:0529/230525.634213:INFO:CONSOLE(0)] "[SUCCESS] authRequiredAsyncCancelAuth", 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 0x7f0a55d86cb0 in killpg ??:?
>     #5 0x7f0a55d86cb0 in ?? ??:0
>     #6 0x000000a6d2d4 in __msan_set_alloca_origin4 /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/msan.cc:558:12
>     #7 0x00001b72c053 in std::__1::enable_if<(__is_forward_iterator<std::__1::__wrap_iter<cc::DrawImage*> >::value) && (is_constructible<cc::DrawImage, std::__1::iterator_traits<std::__1::__wrap_iter<cc::DrawImage*> >::reference>::value), std::__1::__wrap_iter<cc::DrawImage*> >::type std::__1::vector<cc::DrawImage, std::__1::allocator<cc::DrawImage> >::insert<std::__1::__wrap_iter<cc::DrawImage*> >(std::__1::__wrap_iter<cc::DrawImage const*>, std::__1::__wrap_iter<cc::DrawImage*>, std::__1::__wrap_iter<cc::DrawImage*>) ./../../buildtools/third_party/libc++/trunk/include/vector:1959:0
>     #8 0x00001b71d05d in cc::TileManager::ScheduleTasks(cc::TileManager::PrioritizedWorkToSchedule) ./../../cc/tiles/tile_manager.cc:1021:21
>     #9 0x00001b716797 in cc::TileManager::PrepareTiles(cc::GlobalStateThatImpactsTilePriority const&) ./../../cc/tiles/tile_manager.cc:520:3
>     #10 0x00001b4bb195 in cc::LayerTreeHostImpl::PrepareTiles() ./../../cc/trees/layer_tree_host_impl.cc:607:42
>     #11 0x00001b7ebfac in cc::SingleThreadProxy::ScheduledActionPrepareTiles() ./../../cc/trees/single_thread_proxy.cc:834:15
>     #12 0x00001b83107b in cc::Scheduler::ProcessScheduledActions() ./../../cc/scheduler/scheduler.cc:0:20
>     #13 0x00001b82fe9f in cc::Scheduler::OnBeginImplFrameDeadline() ./../../cc/scheduler/scheduler.cc:642:3
>     #14 0x00001322a1d2 in Run ./../../base/callback.h:96:12
>     #15 0x00001322a1d2 in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/debug/task_annotator.cc:101:0
>     #16 0x0000132ab7a5 in base::MessageLoop::RunTask(base::PendingTask*) ./../../base/message_loop/message_loop.cc:319:25
>     #17 0x0000132adb1b in DeferOrRunPendingTask ./../../base/message_loop/message_loop.cc:329:5
>     #18 0x0000132adb1b in base::MessageLoop::DoDelayedWork(base::TimeTicks*) ./../../base/message_loop/message_loop.cc:413:0
>     #19 0x000013559d67 in base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) ./../../base/message_loop/message_pump_libevent.cc:220:27
>     #20 0x00001336b330 in base::RunLoop::Run() ./../../base/run_loop.cc:102:14
>     #21 0x000015058275 in content::RunThisRunLoop(base::RunLoop*) ./../../content/public/test/test_utils.cc:128:13
>     #22 0x00002b95647d in extensions::ResultCatcher::GetNextResult() ./../../extensions/test/result_catcher.cc:35:5
>     #23 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
>     #24 0x0000049ace7e in extensions::ExtensionWebRequestApiTest_WebRequestAuthRequired_Test::RunTestOnMainThread() ./../../chrome/browser/extensions/api/web_request/web_request_apitest.cc:445:3
>     #25 0x000014f9e3f2 in content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() ./../../content/public/test/browser_test_base.cc:385:5
>     #26 0x00001387fbe5 in Run ./../../base/callback.h:125:12
>     #27 0x00001387fbe5 in ChromeBrowserMainParts::PreMainMessageLoopRunImpl() ./../../chrome/browser/chrome_browser_main.cc:2098:0
>     #28 0x00001387b5c0 in ChromeBrowserMainParts::PreMainMessageLoopRun() ./../../chrome/browser/chrome_browser_main.cc:1492:18
>     #29 0x000007604b81 in chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() ./../../chrome/browser/chromeos/chrome_browser_main_chromeos.cc:684:32
>     #30 0x00000bd8f78b in content::BrowserMainLoop::PreMainMessageLoopRun() ./../../content/browser/browser_main_loop.cc:962:13
>     #31 0x00000d34ab21 in Run ./../../base/callback.h:125:12
>     #32 0x00000d34ab21 in content::StartupTaskRunner::RunAllTasksNow() ./../../content/browser/startup_task_runner.cc:44:0
>     #33 0x00000bd875e8 in content::BrowserMainLoop::CreateStartupTasks() ./../../content/browser/browser_main_loop.cc:873:25
>     #34 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
>     #35 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
>     #36 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
>     #37 0x000012ffa9aa in content::ContentMainRunnerImpl::Run() ./../../content/app/content_main_runner_impl.cc:964:12
>     #38 0x00001c607013 in service_manager::Main(service_manager::MainParams const&) ./../../services/service_manager/embedder/main.cc:459:29
>     #39 0x000012ff0d18 in content::ContentMain(content::ContentMainParams const&) ./../../content/app/content_main.cc:19:10
>     #40 0x000014f9c8c0 in content::BrowserTestBase::SetUp() ./../../content/public/test/browser_test_base.cc:323:3
>     #41 0x00001372d0cf in InProcessBrowserTest::SetUp() ./../../chrome/test/base/in_process_browser_test.cc:244:20
>     #42 0x000008b46826 in testing::Test::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
>     #43 0x000008b4a8bc in testing::TestInfo::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2667:11
>     #44 0x000008b4c34a in testing::TestCase::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:2785:28
>     #45 0x000008b82a55 in testing::internal::UnitTestImpl::RunAllTests() ./../../third_party/googletest/src/googletest/src/gtest.cc:5047:43
>     #46 0x000008b81328 in testing::UnitTest::Run() ./../../third_party/googletest/src/googletest/src/gtest.cc:0:0
>     #47 0x0000137959f1 in RUN_ALL_TESTS ./../../third_party/googletest/src/googletest/include/gtest/gtest.h:2329:46
>     #48 0x0000137959f1 in base::TestSuite::Run() ./../../base/test/test_suite.cc:275:0
>     #49 0x0000131f45a4 in ChromeTestSuiteRunner::RunTestSuite(int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:65:38
>     #50 0x000015048025 in content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) ./../../content/public/test/test_launcher.cc:625:31
>     #51 0x0000131f5d07 in LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) ./../../chrome/test/base/chrome_test_launcher.cc:170:10
>     #52 0x0000131f4390 in main ./../../chrome/test/base/browser_tests_main_chromeos.cc:21:10
>     #53 0x7f0a55d71f45 in __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:287:0
>     #54 0x000000a511ba in _start ??:0:0
> 
> 
> Original change's description:
> > shared worker: Add tests for Chrome extensions.
> > 
> > We didn't have specific test coverage for shared worker from Chrome
> > extensions, just incidental ones via the ExtensionApiTest.Debugger and
> > ExtensionApiTestWithSwitch.ExtensionDebugger.
> > 
> > Shared workers go through a very different loading path than other
> > resources, so it's useful to have tests for them especially
> > including interaction with service workers.
> > 
> > This adds tests that currently fail with NetworkService, a next
> > patch will have a fix.
> > 
> > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
> > Change-Id: Ifa6bb3dec8bdea34c3fbefbaeab324fadcb5c929
> > Bug: 839982
> > Reviewed-on: https://chromium-review.googlesource.com/1074848
> > Commit-Queue: Matt Falkenhagen <falken@chromium.org>
> > Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#562700}
> 
> TBR=falken@chromium.org,lazyboy@chromium.org
> 
> Change-Id: I880c6e859c9414070ad4783dc9e703f4324ecf29
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 839982
> Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
> Reviewed-on: https://chromium-review.googlesource.com/1078367
> Reviewed-by: Thiemo Nagel <tnagel@chromium.org>
> Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#562766}

TBR=falken@chromium.org,lazyboy@chromium.org,tnagel@chromium.org

Change-Id: I991a94e747d633670cf7fa886c177626d553f690
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 839982
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Reviewed-on: https://chromium-review.googlesource.com/1078387
Reviewed-by: Thiemo Nagel <tnagel@chromium.org>
Commit-Queue: Thiemo Nagel <tnagel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562770}
jkim-julie pushed a commit that referenced this pull request 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 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
- Fix the label for the remove user button so it reads "Remove user"
- After hitting remove user read the warning message
- Increase the contrast for the remove user button.

TBR=jdufault@google.com

(cherry picked from commit 7984efe)

Bug: 787489
Change-Id: I2003aaa0b63cda33e1a23ceb4b4d2bd55fbd531f
Reviewed-on: https://chromium-review.googlesource.com/c/1278140
Commit-Queue: Jacob Dufault <jdufault@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Reviewed-by: Wenzhao (Colin) Zang <wzang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#599403}
Reviewed-on: https://chromium-review.googlesource.com/c/1284061
Reviewed-by: Jacob Dufault <jdufault@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#50}
Cr-Branched-From: 4226ddf-refs/heads/master@{#599034}
msisov pushed a commit that referenced this pull request Jan 31, 2019
…led."

There's currently no way to resume these sinks from html/js so there's
no point in restoring the sink state after disconnection. Specifically
you can't call MediaElementAudioSourceNode.disconnect() and expect the
underlying media element to be able to ever work again. See this demo:

http://storage.googleapis.com/dalecurtis/webaudio-test.html

Once AudioContext.createMediaElementSource(element) has been called on
an element, that element can never be used standalone again. It must
always be connected to the AudioContext to be used.

In fact it's actually causing unnecessary work when the elements are
destructed since removing the client respins the sink and mixer, etc.

BUG=905506,910951
TEST=passes cq.
R=​hongchan

Change-Id: I5ff7fc532545075d62859a30f96d17c83bff9d21
Reviewed-on: https://chromium-review.googlesource.com/c/1359092
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#613346}(cherry picked from commit 391671c)
Reviewed-on: https://chromium-review.googlesource.com/c/1362296
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/branch-heads/3626@{#50}
Cr-Branched-From: d897fb1-refs/heads/master@{#612437}
msisov pushed a commit that referenced this pull request Mar 14, 2019
Summary of issue: Tab traversal within Assistant was very irregular,
the Assistant cards (backed by NavigableContents) would steal focus
when attempting to traverse the native view hierarchy. See video in
bug comments for example of issue.

Solution: Handle WebContentsDelegate::TakeFocus event to trigger a
clearing of native view focus in NavigableContentsView.

(cherry picked from commit 531da0e)

Bug: b:120682808
Change-Id: Ib571b3a1a6e9ccbc48d44fe29c67c6aa62aa85b0
Reviewed-on: https://chromium-review.googlesource.com/c/1407172
Commit-Queue: David Black <dmblack@google.com>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Xiaohui Chen <xiaohuic@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#626885}
Reviewed-on: https://chromium-review.googlesource.com/c/1444233
Cr-Commit-Position: refs/branch-heads/3683@{#50}
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