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

Issue 1251633002: Add BubbleManager to manage bubbles and ChromeBubbleManager for events. (Closed)

Created:
5 years, 5 months ago by hcarmona
Modified:
5 years, 3 months ago
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add BubbleManager to manage bubbles and ChromeBubbleManager for events. BubbleManager - Responsible for showing bubbles. BubbleDelegate - Should be implemented to provide the definition of a specific bubble. BubbleUI - This should be implemented for views and cocoa to provide a bubble's UI. BubbleController - Responsible for owning the BubbleUI and the BubbleDelegate for a specific bubble. ChromeBubbleManager - Knows about Chrome browser specifics to hook into the right events. BUG=496955 Committed: https://crrev.com/aa431c041f3bf551cddc077645bc2409bdeade01 Cr-Commit-Position: refs/heads/master@{#346195}

Patch Set 1 : Work in Progress #

Total comments: 3

Patch Set 2 : Kill views_bubble_controller #

Total comments: 6

Patch Set 3 : Broken, Ignore #

Patch Set 4 : Update #

Total comments: 17

Patch Set 5 : Apply Feedback #

Total comments: 46

Patch Set 6 : Partial Feedback #

Total comments: 75

Patch Set 7 : Apply Feedback #

Total comments: 168

Patch Set 8 : Bubble Manager only #

Patch Set 9 : Mac Changes to test trybots #

Total comments: 88

Patch Set 10 : Fix Build #

Total comments: 6

Patch Set 11 : Apply Feedback #

Patch Set 12 : Fix mac compile #

Patch Set 13 : TESTS! #

Total comments: 53

Patch Set 14 : Feedback Applied #

Patch Set 15 : Fix trybots pt1 #

Patch Set 16 : Fix trybots pt2 #

Total comments: 21

Patch Set 17 : Feedback #

Total comments: 2

Patch Set 18 : Address nit #

Patch Set 19 : Feedback #

Total comments: 8

Patch Set 20 : No more //content dep in bubbles #

Patch Set 21 : Less deps #

Total comments: 2

Patch Set 22 : No DEPS in bubble #

Total comments: 1

Patch Set 23 : gn nit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+904 lines, -5 lines) Patch
M chrome/browser/ui/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/DEPS View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/browser.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -0 lines 0 comments Download
M chrome/browser/ui/browser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +7 lines, -0 lines 0 comments Download
A chrome/browser/ui/chrome_bubble_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +40 lines, -0 lines 0 comments Download
A chrome/browser/ui/chrome_bubble_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +50 lines, -0 lines 0 comments Download
M chrome/browser/ui/cocoa/browser_window_controller_private.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_browser_ui.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -0 lines 0 comments Download
M components/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
M components/OWNERS View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
A components/bubble.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +27 lines, -0 lines 0 comments Download
A components/bubble/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +30 lines, -0 lines 0 comments Download
A + components/bubble/OWNERS View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
A components/bubble/bubble_close_reason.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +41 lines, -0 lines 0 comments Download
A components/bubble/bubble_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +47 lines, -0 lines 0 comments Download
A components/bubble/bubble_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +49 lines, -0 lines 0 comments Download
A components/bubble/bubble_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +34 lines, -0 lines 0 comments Download
A + components/bubble/bubble_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -5 lines 0 comments Download
A components/bubble/bubble_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +69 lines, -0 lines 0 comments Download
A components/bubble/bubble_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +106 lines, -0 lines 0 comments Download
A components/bubble/bubble_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +347 lines, -0 lines 0 comments Download
A components/bubble/bubble_ui.h View 1 2 3 4 5 6 7 1 chunk +24 lines, -0 lines 0 comments Download
M components/components.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M components/components_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -0 lines 0 comments Download

Messages

Total messages: 58 (6 generated)
please use gerrit instead
A few initial comments. More to come + offline discussions will be useful, too. https://codereview.chromium.org/1251633002/diff/1/chrome/browser/ui/browser.cc ...
5 years, 5 months ago (2015-07-22 00:09:37 UTC) #2
hcarmona
I applied your feedback. Let's sync up in person.
5 years, 5 months ago (2015-07-22 21:45:56 UTC) #3
please use gerrit instead
Just the large refactoring things. https://codereview.chromium.org/1251633002/diff/20001/chrome/browser/ui/DEPS File chrome/browser/ui/DEPS (right): https://codereview.chromium.org/1251633002/diff/20001/chrome/browser/ui/DEPS#newcode3 chrome/browser/ui/DEPS:3: "+components/bubble", May not be ...
5 years, 5 months ago (2015-07-22 23:56:09 UTC) #4
hcarmona
CC Rachel for bubble status.
5 years, 5 months ago (2015-07-23 20:59:56 UTC) #5
hcarmona
Sending this out for discussion. Tests need to be updated. Things I've noticed now that ...
5 years, 4 months ago (2015-08-05 01:57:37 UTC) #6
please use gerrit instead
https://codereview.chromium.org/1251633002/diff/60001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/60001/chrome/browser/ui/browser.cc#newcode1760 chrome/browser/ui/browser.cc:1760: PermissionBubbleManager* bubble_manager = Shouldn't PermissionBubbleManager go away entirely? https://codereview.chromium.org/1251633002/diff/60001/chrome/browser/ui/chrome_bubble_manager.cc ...
5 years, 4 months ago (2015-08-05 18:05:25 UTC) #7
hcarmona
On deeper inspection: PermissionBubbleDelegate is necessary because the BubbleManager will take ownership. BubbleController still seems ...
5 years, 4 months ago (2015-08-05 18:43:47 UTC) #8
hcarmona
Forgot to publish the comments from yesterday. https://codereview.chromium.org/1251633002/diff/60001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/60001/chrome/browser/ui/browser.cc#newcode1760 chrome/browser/ui/browser.cc:1760: PermissionBubbleManager* bubble_manager ...
5 years, 4 months ago (2015-08-06 17:43:44 UTC) #9
hcarmona
Applied feedback and updated description.
5 years, 4 months ago (2015-08-06 19:51:59 UTC) #10
hcarmona
2 quick things I want to change, but please provide feedback on remainder. Thanks! https://codereview.chromium.org/1251633002/diff/80001/chrome/browser/ui/website_settings/permission_bubble_manager.h ...
5 years, 4 months ago (2015-08-06 20:34:10 UTC) #11
groby-ooo-7-16
A few drive-by notes https://codereview.chromium.org/1251633002/diff/80001/chrome/browser/ui/chrome_bubble_manager.cc File chrome/browser/ui/chrome_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/80001/chrome/browser/ui/chrome_bubble_manager.cc#newcode29 chrome/browser/ui/chrome_bubble_manager.cc:29: friend class content::WebContentsUserData<ChromeWebContentsObserver>; We public ...
5 years, 4 months ago (2015-08-06 21:32:56 UTC) #13
hcarmona
Applied some feedback. I wanted to send this out today to publish comments. I've added ...
5 years, 4 months ago (2015-08-07 02:12:59 UTC) #14
please use gerrit instead
https://codereview.chromium.org/1251633002/diff/80001/chrome/browser/ui/chrome_bubble_manager.cc File chrome/browser/ui/chrome_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/80001/chrome/browser/ui/chrome_bubble_manager.cc#newcode29 chrome/browser/ui/chrome_bubble_manager.cc:29: friend class content::WebContentsUserData<ChromeWebContentsObserver>; On 2015/08/07 02:12:58, Hector Carmona wrote: ...
5 years, 4 months ago (2015-08-07 20:34:28 UTC) #15
please use gerrit instead
https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/browser.cc#newcode1763 chrome/browser/ui/browser.cc:1763: bubble_manager->SetBrowser(this); Hmmm. https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/chrome_bubble_manager.cc File chrome/browser/ui/chrome_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/chrome_bubble_manager.cc#newcode14 chrome/browser/ui/chrome_bubble_manager.cc:14: namespace ...
5 years, 4 months ago (2015-08-07 23:02:28 UTC) #16
hcarmona
https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/website_settings/permission_bubble_manager.h File chrome/browser/ui/website_settings/permission_bubble_manager.h (right): https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/website_settings/permission_bubble_manager.h#newcode58 chrome/browser/ui/website_settings/permission_bubble_manager.h:58: void SetBrowser(Browser* browser) { browser_ = browser; } Remove ...
5 years, 4 months ago (2015-08-07 23:02:38 UTC) #17
hcarmona
Feedback! Still need to update design doc. https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/100001/chrome/browser/ui/browser.cc#newcode1763 chrome/browser/ui/browser.cc:1763: bubble_manager->SetBrowser(this); On ...
5 years, 4 months ago (2015-08-11 02:35:47 UTC) #18
hcarmona
msw, PTAL, this is the bubble API from go/bubble-api. I'll be updating the design doc ...
5 years, 4 months ago (2015-08-11 19:03:47 UTC) #20
msw
On 2015/08/11 19:03:47, Hector Carmona wrote: > msw, > > PTAL, this is the bubble ...
5 years, 4 months ago (2015-08-12 17:37:21 UTC) #21
msw
I think tackling a permission bubble refactoring is too much for this CL, and it ...
5 years, 4 months ago (2015-08-13 03:37:24 UTC) #22
groby-ooo-7-16
Just replying to the main comment block: On 2015/08/13 03:37:24, msw wrote: > I think ...
5 years, 4 months ago (2015-08-13 05:58:45 UTC) #23
groby-ooo-7-16
A few more replies to individual comments. https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.cc File chrome/browser/ui/chrome_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.cc#newcode68 chrome/browser/ui/chrome_bubble_manager.cc:68: this->AsWeakPtr())); Why ...
5 years, 4 months ago (2015-08-13 18:44:38 UTC) #24
msw
https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.h File chrome/browser/ui/chrome_bubble_manager.h (right): https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.h#newcode16 chrome/browser/ui/chrome_bubble_manager.h:16: class ChromeBubbleManager : public BubbleManager, On 2015/08/13 18:44:38, groby ...
5 years, 4 months ago (2015-08-13 19:18:58 UTC) #25
hcarmona
https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.cc File chrome/browser/ui/chrome_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/chrome_bubble_manager.cc#newcode93 chrome/browser/ui/chrome_bubble_manager.cc:93: details.type == content::NAVIGATION_TYPE_SAME_PAGE || On 2015/08/13 03:37:21, msw wrote: ...
5 years, 4 months ago (2015-08-13 20:50:36 UTC) #26
msw
https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/website_settings/permission_bubble_manager.cc File chrome/browser/ui/website_settings/permission_bubble_manager.cc (right): https://codereview.chromium.org/1251633002/diff/120001/chrome/browser/ui/website_settings/permission_bubble_manager.cc#newcode174 chrome/browser/ui/website_settings/permission_bubble_manager.cc:174: (bubble_manager && bubble_manager->ShouldUpdateBubble(active_bubble_)); On 2015/08/13 20:50:35, Hector Carmona wrote: ...
5 years, 4 months ago (2015-08-13 21:41:37 UTC) #27
hcarmona
Applied feedback from Thursday's meeting and addressed comments. The permission bubble's changes have been removed ...
5 years, 4 months ago (2015-08-15 02:03:21 UTC) #28
hcarmona
PTAL. This has both Views and Cocoa changes. Running trybots to see if anything is ...
5 years, 4 months ago (2015-08-18 02:25:02 UTC) #29
msw
https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc#newcode813 chrome/browser/ui/browser.cc:813: bubble_manager_.FullscreenToggle(); nit: name this WindowFullscreenStateChanged for consistency. https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc#newcode813 chrome/browser/ui/browser.cc:813: ...
5 years, 4 months ago (2015-08-18 17:26:20 UTC) #30
hcarmona
Applied feedback. https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc#newcode813 chrome/browser/ui/browser.cc:813: bubble_manager_.FullscreenToggle(); On 2015/08/18 17:26:18, msw wrote: > ...
5 years, 4 months ago (2015-08-18 23:08:49 UTC) #31
msw
https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc#newcode996 chrome/browser/ui/browser.cc:996: bubble_manager_.TabDetached(); On 2015/08/18 23:08:47, Hector Carmona wrote: > On ...
5 years, 4 months ago (2015-08-19 00:18:11 UTC) #32
groby-ooo-7-16
A few tiny remarks https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc File chrome/browser/ui/browser.cc (right): https://codereview.chromium.org/1251633002/diff/160001/chrome/browser/ui/browser.cc#newcode996 chrome/browser/ui/browser.cc:996: bubble_manager_.TabDetached(); On 2015/08/19 00:18:11, msw ...
5 years, 4 months ago (2015-08-19 00:52:01 UTC) #33
hcarmona
Applied feedback and added tests. I'll update the ChromeBubbleManager to be a TabStipModelObserver on Monday. ...
5 years, 4 months ago (2015-08-20 02:34:31 UTC) #34
msw
This is looking much better; nice tests. https://codereview.chromium.org/1251633002/diff/160001/components/bubble/bubble_controller.h File components/bubble/bubble_controller.h (right): https://codereview.chromium.org/1251633002/diff/160001/components/bubble/bubble_controller.h#newcode15 components/bubble/bubble_controller.h:15: class BubbleController ...
5 years, 4 months ago (2015-08-21 01:48:31 UTC) #35
hcarmona
https://codereview.chromium.org/1251633002/diff/240001/components/BUILD.gn File components/BUILD.gn (right): https://codereview.chromium.org/1251633002/diff/240001/components/BUILD.gn#newcode25 components/BUILD.gn:25: "//components/bookmarks/test", On 2015/08/21 01:48:30, msw wrote: > Add //components/bubble ...
5 years, 3 months ago (2015-08-25 02:13:37 UTC) #36
msw
https://codereview.chromium.org/1251633002/diff/240001/components/bubble.gypi File components/bubble.gypi (right): https://codereview.chromium.org/1251633002/diff/240001/components/bubble.gypi#newcode6 components/bubble.gypi:6: 'targets': [ On 2015/08/25 02:13:36, Hector Carmona wrote: > ...
5 years, 3 months ago (2015-08-26 01:42:36 UTC) #37
hcarmona
https://codereview.chromium.org/1251633002/diff/240001/components/bubble/bubble_delegate.h File components/bubble/bubble_delegate.h (right): https://codereview.chromium.org/1251633002/diff/240001/components/bubble/bubble_delegate.h#newcode32 components/bubble/bubble_delegate.h:32: BUBBLE_CLOSE_FULLSCREEN_TOGGLED, On 2015/08/26 01:42:35, msw wrote: > On 2015/08/25 ...
5 years, 3 months ago (2015-08-26 17:25:58 UTC) #38
msw
lgtm with a nit; thanks for bearing with my heavy feedback. I'd like to see ...
5 years, 3 months ago (2015-08-26 20:29:09 UTC) #39
msw
Oh, you should also remove mentions of the permission bubbles from the CL title and ...
5 years, 3 months ago (2015-08-26 20:30:38 UTC) #40
hcarmona
On 2015/08/26 20:29:09, msw wrote: > lgtm with a nit; thanks for bearing with my ...
5 years, 3 months ago (2015-08-26 20:52:28 UTC) #41
hcarmona
Hi blundell@, Please take a quick look at the files we're adding in components. We've ...
5 years, 3 months ago (2015-08-26 21:15:26 UTC) #43
blundell
On 2015/08/26 21:15:26, Hector Carmona wrote: > Hi blundell@, > > Please take a quick ...
5 years, 3 months ago (2015-08-27 09:22:19 UTC) #44
hcarmona
On 2015/08/27 09:22:19, blundell wrote: > On 2015/08/26 21:15:26, Hector Carmona wrote: > > Hi ...
5 years, 3 months ago (2015-08-27 18:35:21 UTC) #45
blundell
Thanks! Please remove all the remaining //content dependencies and DEPS allowances at the //components level ...
5 years, 3 months ago (2015-08-27 18:38:47 UTC) #46
msw
https://codereview.chromium.org/1251633002/diff/360001/components/bubble.gypi File components/bubble.gypi (right): https://codereview.chromium.org/1251633002/diff/360001/components/bubble.gypi#newcode15 components/bubble.gypi:15: '../content/content.gyp:content_browser', You can also remove this now. https://codereview.chromium.org/1251633002/diff/360001/components/bubble/BUILD.gn File ...
5 years, 3 months ago (2015-08-27 18:41:13 UTC) #47
hcarmona
Renamed to |thread_checker_| and removed unneeded dependencies. Dependency on gfx was left over from an ...
5 years, 3 months ago (2015-08-27 20:25:42 UTC) #48
msw
https://codereview.chromium.org/1251633002/diff/400001/components/bubble/DEPS File components/bubble/DEPS (right): https://codereview.chromium.org/1251633002/diff/400001/components/bubble/DEPS#newcode1 components/bubble/DEPS:1: include_rules = [ Is this file still needed? The ...
5 years, 3 months ago (2015-08-27 21:56:10 UTC) #49
hcarmona
https://codereview.chromium.org/1251633002/diff/400001/components/bubble/DEPS File components/bubble/DEPS (right): https://codereview.chromium.org/1251633002/diff/400001/components/bubble/DEPS#newcode1 components/bubble/DEPS:1: include_rules = [ On 2015/08/27 21:56:09, msw wrote: > ...
5 years, 3 months ago (2015-08-27 22:19:51 UTC) #50
msw
still lgtm
5 years, 3 months ago (2015-08-27 22:20:24 UTC) #51
blundell
//components lgtm Thanks! https://codereview.chromium.org/1251633002/diff/420001/components/bubble/BUILD.gn File components/bubble/BUILD.gn (right): https://codereview.chromium.org/1251633002/diff/420001/components/bubble/BUILD.gn#newcode5 components/bubble/BUILD.gn:5: static_library("bubble") { nit: source_set is preferable ...
5 years, 3 months ago (2015-08-28 08:44:32 UTC) #52
hcarmona
Addressed nit. Committing.
5 years, 3 months ago (2015-08-28 17:01:17 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1251633002/440001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1251633002/440001
5 years, 3 months ago (2015-08-28 17:01:39 UTC) #56
commit-bot: I haz the power
Committed patchset #23 (id:440001)
5 years, 3 months ago (2015-08-28 18:46:05 UTC) #57
commit-bot: I haz the power
5 years, 3 months ago (2015-08-28 18:46:42 UTC) #58
Message was sent while issue was closed.
Patchset 23 (id:??) landed as
https://crrev.com/aa431c041f3bf551cddc077645bc2409bdeade01
Cr-Commit-Position: refs/heads/master@{#346195}

Powered by Google App Engine
This is Rietveld 408576698