Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Issue 1437683004: [Extensions] Don't count bubble dismissal from focus loss as acknowledgment (Closed)

Created:
5 years, 1 month ago by Devlin
Modified:
5 years, 1 month ago
CC:
chromium-reviews, extensions-reviews_chromium.org, msw+watch_chromium.org, tfarina, groby+bubble_chromium.org, hcarmona+bubble_chromium.org, chromium-apps-reviews_chromium.org, rouslan+bubble_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Extensions] Don't count bubble dismissal from focus loss as acknowledgment Currently, if an extension message bubble is shown, and then it is dismissed because it loses focus, we treat it the same as the user clicking the dismiss button - which serves as acknowledging the extension. We could ignore focus loss, but this makes for very noisy, awkward bubbles. Instead, allow the bubble to close, but don't treat this as user acknowledgment, and show the bubble again on next startup. This also involves tracking the close reason for a BubbleDelegateView. BUG=548269 Committed: https://crrev.com/1462f63a60f9c7e1e53a3a42f70afc214d67fa71 Cr-Commit-Position: refs/heads/master@{#360373}

Patch Set 1 : #

Total comments: 4

Patch Set 2 : Finnur's #

Total comments: 8

Patch Set 3 : Scott's #

Patch Set 4 : DCHECK #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+316 lines, -93 lines) Patch
M chrome/browser/extensions/dev_mode_bubble_delegate.h View 1 chunk +2 lines, -3 lines 0 comments Download
M chrome/browser/extensions/dev_mode_bubble_delegate.cc View 2 chunks +4 lines, -12 lines 0 comments Download
M chrome/browser/extensions/extension_message_bubble_controller.h View 4 chunks +23 lines, -10 lines 0 comments Download
M chrome/browser/extensions/extension_message_bubble_controller.cc View 9 chunks +40 lines, -16 lines 0 comments Download
M chrome/browser/extensions/extension_message_bubble_controller_unittest.cc View 10 chunks +94 lines, -14 lines 0 comments Download
M chrome/browser/extensions/ntp_overridden_bubble_delegate.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/ntp_overridden_bubble_delegate.cc View 1 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/extensions/proxy_overridden_bubble_delegate.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/proxy_overridden_bubble_delegate.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/extensions/settings_api_bubble_delegate.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/settings_api_bubble_delegate.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M chrome/browser/extensions/suspicious_extension_bubble_delegate.h View 1 chunk +1 line, -5 lines 0 comments Download
M chrome/browser/extensions/suspicious_extension_bubble_delegate.cc View 2 chunks +2 lines, -10 lines 0 comments Download
M chrome/browser/ui/cocoa/extensions/extension_message_bubble_bridge.mm View 1 chunk +5 lines, -2 lines 0 comments Download
M chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac.mm View 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac_unittest.mm View 3 chunks +6 lines, -3 lines 0 comments Download
M chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h View 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/ui/toolbar/toolbar_actions_bar_unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/toolbar/toolbar_actions_model_unittest.cc View 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/ui/views/extensions/extension_message_bubble_view.cc View 1 2 1 chunk +4 lines, -2 lines 0 comments Download
M chrome/browser/ui/views/extensions/extension_toolbar_icon_surfacing_bubble_views.cc View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M chrome/browser/ui/views/extensions/extension_toolbar_icon_surfacing_bubble_views_unittest.cc View 1 chunk +4 lines, -3 lines 0 comments Download
M ui/views/bubble/bubble_delegate.h View 1 2 4 chunks +12 lines, -0 lines 0 comments Download
M ui/views/bubble/bubble_delegate.cc View 1 2 3 5 chunks +17 lines, -5 lines 0 comments Download
M ui/views/bubble/bubble_delegate_unittest.cc View 1 2 3 chunks +55 lines, -0 lines 0 comments Download
M ui/views/bubble/bubble_frame_view.h View 1 2 3 chunks +6 lines, -0 lines 0 comments Download
M ui/views/bubble/bubble_frame_view.cc View 2 chunks +5 lines, -2 lines 0 comments Download

Messages

Total messages: 22 (7 generated)
Devlin
Hey Finnur, mind taking the extensions/ code? (I'll add on Scott and Avi for the ...
5 years, 1 month ago (2015-11-12 01:09:34 UTC) #5
Finnur
LGTM, with couple of questions/nits. https://codereview.chromium.org/1437683004/diff/40001/chrome/browser/extensions/ntp_overridden_bubble_delegate.cc File chrome/browser/extensions/ntp_overridden_bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/40001/chrome/browser/extensions/ntp_overridden_bubble_delegate.cc#newcode7 chrome/browser/extensions/ntp_overridden_bubble_delegate.cc:7: #include "base/lazy_instance.h" This intentional? ...
5 years, 1 month ago (2015-11-12 15:21:19 UTC) #6
Devlin
https://codereview.chromium.org/1437683004/diff/40001/chrome/browser/extensions/ntp_overridden_bubble_delegate.cc File chrome/browser/extensions/ntp_overridden_bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/40001/chrome/browser/extensions/ntp_overridden_bubble_delegate.cc#newcode7 chrome/browser/extensions/ntp_overridden_bubble_delegate.cc:7: #include "base/lazy_instance.h" On 2015/11/12 15:21:19, Finnur wrote: > This ...
5 years, 1 month ago (2015-11-12 17:17:18 UTC) #7
Devlin
+Sky for views/ and Avi for cocoa/; mind taking a look?
5 years, 1 month ago (2015-11-12 17:17:58 UTC) #9
sky
https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc File ui/views/bubble/bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc#newcode156 ui/views/bubble/bubble_delegate.cc:156: GetBubbleFrameView() && GetBubbleFrameView()->close_button_clicked()) { Can GetBubbleFrameView() really return null ...
5 years, 1 month ago (2015-11-12 21:54:38 UTC) #10
Devlin
https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc File ui/views/bubble/bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc#newcode156 ui/views/bubble/bubble_delegate.cc:156: GetBubbleFrameView() && GetBubbleFrameView()->close_button_clicked()) { On 2015/11/12 21:54:38, sky wrote: ...
5 years, 1 month ago (2015-11-12 22:40:22 UTC) #11
sky
LGTM with a check/dcheck https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc File ui/views/bubble/bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc#newcode156 ui/views/bubble/bubble_delegate.cc:156: GetBubbleFrameView() && GetBubbleFrameView()->close_button_clicked()) { On ...
5 years, 1 month ago (2015-11-12 23:56:22 UTC) #12
Devlin
https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc File ui/views/bubble/bubble_delegate.cc (right): https://codereview.chromium.org/1437683004/diff/60001/ui/views/bubble/bubble_delegate.cc#newcode156 ui/views/bubble/bubble_delegate.cc:156: GetBubbleFrameView() && GetBubbleFrameView()->close_button_clicked()) { On 2015/11/12 23:56:21, sky wrote: ...
5 years, 1 month ago (2015-11-13 00:03:19 UTC) #13
Devlin
Avi, friendly ping?
5 years, 1 month ago (2015-11-17 20:05:33 UTC) #14
Avi (use Gerrit)
lgtm
5 years, 1 month ago (2015-11-18 17:19:09 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1437683004/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1437683004/120001
5 years, 1 month ago (2015-11-18 18:04:24 UTC) #18
commit-bot: I haz the power
Committed patchset #5 (id:120001)
5 years, 1 month ago (2015-11-18 18:52:10 UTC) #19
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/1462f63a60f9c7e1e53a3a42f70afc214d67fa71 Cr-Commit-Position: refs/heads/master@{#360373}
5 years, 1 month ago (2015-11-18 18:52:53 UTC) #20
Devlin
A revert of this CL (patchset #5 id:120001) has been created in https://codereview.chromium.org/1456213002/ by rdevlin.cronin@chromium.org. ...
5 years, 1 month ago (2015-11-18 23:11:00 UTC) #21
Derek Bruening
5 years, 1 month ago (2015-11-18 23:14:34 UTC) #22
Message was sent while issue was closed.
I'm the memory sheriff and this seems to be causing uninitialized read reports
from Valgrind and (pretty sure at least) Msan:

Valgrind on ChromeOS in app_list_unittests:
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28v...

Valgrind on ChromeOS in ash_unittests:
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28v...

The error reports are all similar to this:

UninitCondition
Conditional jump or move depends on uninitialised value(s)
views::BubbleDelegateView::OnWidgetClosing(views::Widget*)
(ui/views/bubble/bubble_delegate.cc:156)
non-virtual thunk to views::BubbleDelegateView::OnWidgetClosing(views::Widget*)
(ui/views/bubble/bubble_delegate.cc:154)
views::Widget::Close() (ui/views/widget/widget.cc:611)
app_list::test::(anonymous namespace)::AppListViewTestContext::Close()
(ui/app_list/views/app_list_view_unittest.cc:264)
app_list::test::(anonymous namespace)::AppListViewTestContext::RunDisplayTest()
(ui/app_list/views/app_list_view_unittest.cc:335)
app_list::test::AppListViewTestAura_Display_Test::TestBody()
(ui/app_list/views/app_list_view_unittest.cc:762)

MSan seems to be having stack trace symbol issues -- but likely the same thing
given the same unit test and timing:
http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20MSan%20Tests...

As discussed separately Devlin will revert.

Powered by Google App Engine
This is Rietveld 408576698