New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 884158 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 21
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-09-20
OS: Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

DRM site page is getting hanged in fullscreen upon right click

Project Member Reported by jmukthavaram@chromium.org, Sep 14

Issue description

Chrome Version: 70.0.3538.16 
OS: Windows & Mac

What steps will reproduce the problem?
(1) Launch chrome
(2) Navigate to DRM site (http://drmtest2.adobe.com/AccessPlayer/player.html)
(3) Play the video
(4) Fullscreen video by clicking on 'Full screen' button at bottom right corner of the page
(5) Check forward & reverse (video should be played)
(6) Right click on video (while playing) & observe no popup menu is getting generated & page get hanged
(7) Now try to move forward the video .. it is not working
(8) Try to rewind video.. it is not working
(9) Now unable to play & click any control when it is in full screen
(10) Click on'Full screen' button at bottom right corner of the page
(11) Try to reload the page . Observe page gets crashed after some time

What is the expected result?
DRM site should be played successfully in fullscreen mode when user right click on the video & Forwsrd & rewind mode too

What happens instead?
DRM site page is getting hanged in fullscreen upon right click 

Issue seen on canary-71.0.3552.2 & dev-70.0.3538.16. No issue seen on stable-69.0.3497.92.Issue regressed in M70.

Bisect info:
-----------
Good-70.0.3523.0 
Bad- 70.0.3524.0 

Change log:
----------
You are probably looking for a change made after 583316 (known good), but no later than 583317 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
https://chromium.googlesource.com/chromium/src/+log/8ac49d0dd386e1aa9d647df698cfe30bfa989c7e..2065e9fca33dd2d9b96e1e22bc73c6fbd404ebb0

Suspecting: https://chromium.googlesource.com/chromium/src/+/2065e9fca33dd2d9b96e1e22bc73c6fbd404ebb0

ellyjones@,Could you please take a look into this issue.

Please find the attached screencast for reference.As it is regressed in M70, adding release block stable.

Note: DRM site will not play on Linux OS.

Thanks..!






 
DRM issue-Good-69.0.3497.92.mp4
5.9 MB View Download
DRM site issue on Canary.mp4
3.3 MB View Download
Friendly ping! Could you please provide any update on this issue as it has been marked as a stable blocker.

Thank You!
#1: Does step 3 require Flash? Do you have a repro for this that doesn't require Flash?
ellyjones@, 
At step 3, we have to enable (allow) adobe flash player to play video.
Thanks.!

#3: Right - do we have any repro steps that *don't* use Flash? If this bug only affects Flash content that lowers the priority vs if it also affects non-Flash pages.
Okay, I repro this using the Flash video. Hm.
The renderer is hung here:

(lldb) bt
* thread #1, name = 'CrRendererMain', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff50f8f20a libsystem_kernel.dylib`mach_msg_trap + 10
    frame #1: 0x00007fff50f8e724 libsystem_kernel.dylib`mach_msg + 60
    frame #2: 0x00007fff28f6fff5 CoreFoundation`__CFRunLoopServiceMachPort + 341
    frame #3: 0x00007fff28f6f347 CoreFoundation`__CFRunLoopRun + 1783
    frame #4: 0x00007fff28f6e9b7 CoreFoundation`CFRunLoopRunSpecific + 487
    frame #5: 0x00007fff2b085f26 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
    frame #6: 0x000000010df2d3cd libbase.dylib`base::MessagePumpNSRunLoop::DoRun(this=0x00007fe12a020000, delegate=<unavailable>) at message_pump_mac.mm:729 [opt]
    frame #7: 0x000000010df2be9e libbase.dylib`base::MessagePumpCFRunLoopBase::Run(this=0x00007fe12a020000, delegate=0x00007fe12a020a50) at message_pump_mac.mm:184 [opt]
    frame #8: 0x000000010df26ec2 libbase.dylib`base::MessageLoop::Run(this=0x00007fe12a020a50, application_tasks_allowed=<unavailable>) at message_loop.cc:383 [opt]
    frame #9: 0x000000010df65099 libbase.dylib`base::RunLoop::Run(this=0x00007ffee4032ce8) at run_loop.cc:102 [opt]
    frame #10: 0x00000001192e84c1 libcontent.dylib`content::PPB_Flash_MessageLoop_Impl::InternalRun(this=0x00007fe128d845d0, callback=<unavailable>)> const&) at ppb_flash_message_loop_impl.cc:96 [opt]
    frame #11: 0x000000011d94647f libppapi_proxy.dylib`ppapi::proxy::PPB_Flash_MessageLoop_Proxy::OnMsgRun(this=<unavailable>, flash_message_loop=0x00007ffee4033188, reply=<unavailable>) at ppb_flash_message_loop_proxy.cc:143 [opt]
    frame #12: 0x000000011d9460cc libppapi_proxy.dylib`bool IPC::MessageT<PpapiHostMsg_PPBFlashMessageLoop_Run_Meta, std::__1::tuple<ppapi::HostResource>, std::__1::tuple<int> >::DispatchDelayReply<ppapi::proxy::PPB_Flash_MessageLoop_Proxy, void, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*)>(IPC::Message const*, ppapi::proxy::PPB_Flash_MessageLoop_Proxy*, void*, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*)) [inlined] void base::DispatchToMethodImpl<ppapi::proxy::PPB_Flash_MessageLoop_Proxy*, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*), std::__1::tuple<ppapi::HostResource>, std::__1::tuple<IPC::Message&>, 0ul, 0ul>(method=<unavailable>, in=0x000003ae466eea89, out=<unavailable>)(ppapi::HostResource const&, IPC::Message*), std::__1::tuple<ppapi::HostResource>&&, std::__1::tuple<IPC::Message&>*, std::__1::integer_sequence<unsigned long, 0ul>, std::__1::integer_sequence<unsigned long, 0ul>) at tuple.h:94 [opt]
    frame #13: 0x000000011d9460ad libppapi_proxy.dylib`bool IPC::MessageT<PpapiHostMsg_PPBFlashMessageLoop_Run_Meta, std::__1::tuple<ppapi::HostResource>, std::__1::tuple<int> >::DispatchDelayReply<ppapi::proxy::PPB_Flash_MessageLoop_Proxy, void, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*)>(IPC::Message const*, ppapi::proxy::PPB_Flash_MessageLoop_Proxy*, void*, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*)) [inlined] void base::DispatchToMethod<ppapi::proxy::PPB_Flash_MessageLoop_Proxy*, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*), std::__1::tuple<ppapi::HostResource>, std::__1::tuple<IPC::Message&> >(method=<unavailable>, in=0x000003ae466eea89, out=<unavailable>)(ppapi::HostResource const&, IPC::Message*), std::__1::tuple<ppapi::HostResource>&&, std::__1::tuple<IPC::Message&>*) at tuple.h:105 [opt]
    frame #14: 0x000000011d9460ad libppapi_proxy.dylib`bool IPC::MessageT<PpapiHostMsg_PPBFlashMessageLoop_Run_Meta, std::__1::tuple<ppapi::HostResource>, std::__1::tuple<int> >::DispatchDelayReply<ppapi::proxy::PPB_Flash_MessageLoop_Proxy, void, void (msg=0x00007fe12a5adcd0, obj=<unavailable>, (null)=<unavailable>, func=<unavailable>)(ppapi::HostResource const&, IPC::Message*)>(IPC::Message const*, ppapi::proxy::PPB_Flash_MessageLoop_Proxy*, void*, void (ppapi::proxy::PPB_Flash_MessageLoop_Proxy::*)(ppapi::HostResource const&, IPC::Message*)) at ipc_message_templates.h:229 [opt]
    frame #15: 0x000000011d945cd9 libppapi_proxy.dylib`ppapi::proxy::PPB_Flash_MessageLoop_Proxy::OnMessageReceived(this=0x00007fe128d940a0, msg=0x00007fe12a5adcd0) at ppb_flash_message_loop_proxy.cc:110 [opt]
    frame #16: 0x000000011d8a74f0 libppapi_proxy.dylib`ppapi::proxy::Dispatcher::OnMessageReceived(this=0x00007fe12a42af70, msg=0x00007fe12a5adcd0) at dispatcher.cc:70 [opt]
    frame #17: 0x000000011d93fa36 libppapi_proxy.dylib`ppapi::proxy::HostDispatcher::OnMessageReceived(this=0x00007fe12a42af70, msg=0x00007fe12a5adcd0) at host_dispatcher.cc:206 [opt]
    frame #18: 0x0000000110128f01 libipc.dylib`IPC::ChannelProxy::Context::OnDispatchMessage(this=0x00007fe12a45a910, message=<unavailable>) at ipc_channel_proxy.cc:320 [opt]
    frame #19: 0x000000011013bfc2 libipc.dylib`IPC::SyncChannel::ReceivedSyncMsgQueue::DispatchMessages(this=<unavailable>, dispatching_context=0x00007fe12a45a910) at ipc_sync_channel.cc:230 [opt]
    frame #20: 0x000000011013e0ba libipc.dylib`IPC::SyncChannel::OnDispatchEventSignaled(base::WaitableEvent*) [inlined] IPC::SyncChannel::SyncContext::DispatchMessages(this=0x00007fe12a45a910) at ipc_sync_channel.cc:435 [opt]
    frame #21: 0x000000011013e05f libipc.dylib`IPC::SyncChannel::OnDispatchEventSignaled(this=0x00007fe12a460890, event=0x00007fe12a033460) at ipc_sync_channel.cc:697 [opt]
    frame #22: 0x000000010df8870e libbase.dylib`void base::internal::FunctorTraits<base::OnceCallback<void (base::WaitableEvent*)>, void>::Invoke<base::OnceCallback<void (base::WaitableEvent*)>, base::WaitableEvent*>(base::OnceCallback<void (base::WaitableEvent*)>&&, base::WaitableEvent*&&) [inlined] base::OnceCallback<void (base::WaitableEvent*)>::Run(args=0x00007fe12a033460) at callback.h:99 [opt]
    frame #23: 0x000000010df886b4 libbase.dylib`void base::internal::FunctorTraits<base::OnceCallback<void (base::WaitableEvent*)>, void>::Invoke<base::OnceCallback<void (callback=<unavailable>, args=<unavailable>)>, base::WaitableEvent*>(base::OnceCallback<void (base::WaitableEvent*)>&&, base::WaitableEvent*&&) at bind_internal.h:577 [opt]
    frame #24: 0x000000010df88588 libbase.dylib`base::WaitableEventWatcher::InvokeCallback() [inlined] base::OnceCallback<void ()>::Run(this=<unavailable>) && at callback.h:99 [opt]
    frame #25: 0x000000010df8852e libbase.dylib`base::WaitableEventWatcher::InvokeCallback(this=<unavailable>) at waitable_event_watcher_mac.cc:110 [opt]
    frame #26: 0x000000010df88877 libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher> >, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::FunctorTraits<void (base::WaitableEventWatcher::*)(), void>::Invoke<void (method=<unavailable>, receiver_ptr=<unavailable>)(), base::WeakPtr<base::WaitableEventWatcher> >(void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher>&&) at bind_internal.h:516 [opt]
    frame #27: 0x000000010df887fc libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher> >, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::InvokeHelper<true, void>::MakeItSo<void (functor=<unavailable>, weak_ptr=<unavailable>)(), base::WeakPtr<base::WaitableEventWatcher> >(void (base::WaitableEventWatcher::*&&)(), base::WeakPtr<base::WaitableEventWatcher>&&) at bind_internal.h:636 [opt]
    frame #28: 0x000000010df887d9 libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher> >, void ()>::RunOnce(base::internal::BindStateBase*) [inlined] void base::internal::Invoker<base::internal::BindState<void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher> >, void ()>::RunImpl<void (functor=<unavailable>, bound=<unavailable>)(), std::__1::tuple<base::WeakPtr<base::WaitableEventWatcher> >, 0ul>(void (base::WaitableEventWatcher::*&&)(), std::__1::tuple<base::WeakPtr<base::WaitableEventWatcher> >&&, std::__1::integer_sequence<unsigned long, 0ul>) at bind_internal.h:689 [opt]
    frame #29: 0x000000010df887d9 libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::WaitableEventWatcher::*)(), base::WeakPtr<base::WaitableEventWatcher> >, void ()>::RunOnce(base=<unavailable>) at bind_internal.h:658 [opt]
    frame #30: 0x000000010deef661 libbase.dylib`base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [inlined] base::OnceCallback<void ()>::Run(this=<unavailable>) && at callback.h:99 [opt]
    frame #31: 0x000000010deef607 libbase.dylib`base::debug::TaskAnnotator::RunTask(this=<unavailable>, queue_function=<unavailable>, pending_task=<unavailable>) at task_annotator.cc:101 [opt]
    frame #32: 0x000000010dfa2c9a libbase.dylib`base::sequence_manager::internal::ThreadControllerImpl::DoWork(this=0x00007fe12a021080, work_type=<unavailable>) at thread_controller_impl.cc:196 [opt]
    frame #33: 0x000000010dfa4c4b libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::Run(base::internal::BindStateBase*) [inlined] void base::internal::FunctorTraits<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), void>::Invoke<void (method=<unavailable>, receiver_ptr=<unavailable>, args=<unavailable>)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> const&, base::sequence_manager::internal::ThreadControllerImpl::WorkType const&>(void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> const&&&, base::sequence_manager::internal::ThreadControllerImpl::WorkType const&&&) at bind_internal.h:516 [opt]
    frame #34: 0x000000010dfa4bcc libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::Run(base::internal::BindStateBase*) [inlined] void base::internal::InvokeHelper<true, void>::MakeItSo<void (functor=<unavailable>, weak_ptr=<unavailable>, args=<unavailable>)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> const&, base::sequence_manager::internal::ThreadControllerImpl::WorkType const&>(void (base::sequence_manager::internal::ThreadControllerImpl::* const&&&)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl> const&&&, base::sequence_manager::internal::ThreadControllerImpl::WorkType const&&&) at bind_internal.h:636 [opt]
    frame #35: 0x000000010dfa4ba9 libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::Run(base::internal::BindStateBase*) [inlined] void base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::RunImpl<void (functor=<unavailable>, bound=<unavailable>)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), std::__1::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType> const&, 0ul, 1ul>(void (base::sequence_manager::internal::ThreadControllerImpl::* const&&&)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), std::__1::tuple<base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType> const&&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) at bind_internal.h:689 [opt]
    frame #36: 0x000000010dfa4ba9 libbase.dylib`base::internal::Invoker<base::internal::BindState<void (base::sequence_manager::internal::ThreadControllerImpl::*)(base::sequence_manager::internal::ThreadControllerImpl::WorkType), base::WeakPtr<base::sequence_manager::internal::ThreadControllerImpl>, base::sequence_manager::internal::ThreadControllerImpl::WorkType>, void ()>::Run(base=<unavailable>) at bind_internal.h:671 [opt]
    frame #37: 0x000000010deef661 libbase.dylib`base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) [inlined] base::OnceCallback<void ()>::Run(this=<unavailable>) && at callback.h:99 [opt]
    frame #38: 0x000000010deef607 libbase.dylib`base::debug::TaskAnnotator::RunTask(this=<unavailable>, queue_function=<unavailable>, pending_task=<unavailable>) at task_annotator.cc:101 [opt]
    frame #39: 0x000000010df272be libbase.dylib`base::MessageLoop::RunTask(this=0x00007fe12a020a50, pending_task=0x00007ffee4034878) at message_loop.cc:434 [opt]
    frame #40: 0x000000010df276e3 libbase.dylib`base::MessageLoop::DoWork() [inlined] base::MessageLoop::DeferOrRunPendingTask(this=<unavailable>, pending_task=PendingTask @ 0x00007ffee4034878) at message_loop.cc:445 [opt]
    frame #41: 0x000000010df276d8 libbase.dylib`base::MessageLoop::DoWork(this=0x00007fe12a020a50) at message_loop.cc:517 [opt]
    frame #42: 0x000000010df2cb6a libbase.dylib`base::MessagePumpCFRunLoopBase::RunWork(this=0x00007fe12a020000) at message_pump_mac.mm:455 [opt]
    frame #43: 0x000000010df0f32a libbase.dylib`base::mac::CallWithEHFrame(void () block_pointer) at call_with_eh_frame_asm.S:36
    frame #44: 0x000000010df2c48f libbase.dylib`base::MessagePumpCFRunLoopBase::RunWorkSource(info=<unavailable>) at message_pump_mac.mm:431 [opt]
    frame #45: 0x00007fff28f8cd31 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #46: 0x00007fff2904460c CoreFoundation`__CFRunLoopDoSource0 + 108
    frame #47: 0x00007fff28f6fce0 CoreFoundation`__CFRunLoopDoSources0 + 208
    frame #48: 0x00007fff28f6f15d CoreFoundation`__CFRunLoopRun + 1293
    frame #49: 0x00007fff28f6e9b7 CoreFoundation`CFRunLoopRunSpecific + 487
    frame #50: 0x00007fff2b085f26 Foundation`-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
    frame #51: 0x000000010df2d3cd libbase.dylib`base::MessagePumpNSRunLoop::DoRun(this=0x00007fe12a020000, delegate=<unavailable>) at message_pump_mac.mm:729 [opt]
    frame #52: 0x000000010df2be9e libbase.dylib`base::MessagePumpCFRunLoopBase::Run(this=0x00007fe12a020000, delegate=0x00007fe12a020a50) at message_pump_mac.mm:184 [opt]
    frame #53: 0x000000010df26e54 libbase.dylib`base::MessageLoop::Run(this=0x00007fe12a020a50, application_tasks_allowed=<unavailable>) at message_loop.cc:386 [opt]
    frame #54: 0x000000010df65099 libbase.dylib`base::RunLoop::Run(this=0x00007ffee4035b80) at run_loop.cc:102 [opt]
    frame #55: 0x0000000119242cec libcontent.dylib`content::RendererMain(parameters=<unavailable>) at renderer_main.cc:202 [opt]
    frame #56: 0x000000011932ac69 libcontent.dylib`content::ContentMainRunnerImpl::Run(this=0x00007fe12a00b3c0, start_service_manager_only=<unavailable>) at content_main_runner_impl.cc:899 [opt]
    frame #57: 0x000000010de8bcec libembedder.dylib`service_manager::Main(params=<unavailable>) at main.cc:472 [opt]
    frame #58: 0x0000000119329f24 libcontent.dylib`content::ContentMain(params=0x00007ffee4036510) at content_main.cc:19 [opt]
    frame #59: 0x0000000111ea177f libchrome_dll.dylib`::ChromeMain(argc=<unavailable>, argv=0x00007ffee4036670) at chrome_main.cc:102 [opt]
    frame #60: 0x000000010bbc9d81 Chromium Helper`main(argc=18, argv=0x00007ffee4036670) at chrome_exe_main_mac.cc:101 [opt]
    frame #61: 0x00007fff50e48015 libdyld.dylib`start + 1

My reading of the stack trace in #6: The renderer is sitting in a nested message loop waiting for an acknowledgement of some kind.

My CL does indeed cause this - I reverted it, and now the call to RenderViewHostDelegateView::ShowContextMenu() shows the Flash context menu. I guess the WebContents considers itself occluded by the Flash content here, but the Flash code requires some kind of synchronous interaction with the context menu code. I have no idea what's going on :( so I'm going to revert 2065e9fca33dd2d9b96e1e22bc73c6fbd404ebb0.
NextAction: 2018-09-20
Status: Started (was: Assigned)
Revert: https://chromium-review.googlesource.com/c/chromium/src/+/1230439

Once this lands & soaks I will merge to M70.
The NextAction date has arrived: 2018-09-20
Labels: Merge-Request-70
Requesting merge to M70.
Project Member

Comment 11 by sheriffbot@chromium.org, Sep 20

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: M70 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-70 Merge-Approved-70
branch:3538
Project Member

Comment 14 by sheriffbot@chromium.org, Sep 24

Cc: abdulsyed@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 15 by sheriffbot@chromium.org, Sep 28

This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Approved-70 Merge-Merged-70
It's already merged, sheriffbot, you big silly :)

Sign in to add a comment