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

Issue 1955343002: Mac: Use a "less" private API for keeping traffic lights lit while bubbles are showing (Closed)

Created:
4 years, 7 months ago by tapted
Modified:
4 years, 7 months ago
Reviewers:
Robert Sesek
CC:
chromium-reviews, tfarina, chrome-apps-syd-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@20160509-MacViews-HasActiveAppearance-upstream
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mac: Use a "less" private API for keeping traffic lights lit while bubbles are showing The approach: Rather than overriding -[NSWindow _sharesParentKeyState] on the child, override -[NSWindow hasKeyAppearance] on the parent. This is used, e.g., by WebKit since http://wkrev.com/164173. It doesn't have an underscore on the front which I guess is nice. After this, we should be able to phase out the overrides of the slightly "more" private API -_sharesParentKeyState. info_bubble_window.mm still uses this, and it causes a lot of complex interactions with hotkeys and dialog dismissal. Leave this for a follow-up since it will be tricky to ensure there are no regressions while unwinding the existing workarounds for _sharesParentKeyState weirdness. This would also give a nice way to keep traffic lights lit when WebModal dialogs are showing. This isn't currently done, and would make their behaviour more consistent with native sheets. However, WebModals are actually *grand*-children of the Cocoa browser window and have other complications. Leave that for a follow-up as well. BUG=602846, 603881 Committed: https://crrev.com/1b0d712e570d6800634910954d6a6690b1ae5d17 Cr-Commit-Position: refs/heads/master@{#392448}

Patch Set 1 #

Patch Set 2 : Update interactive test #

Patch Set 3 : Add a comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -13 lines) Patch
M chrome/browser/ui/cocoa/chrome_browser_window.mm View 1 2 2 chunks +22 lines, -0 lines 0 comments Download
M ui/views/cocoa/native_widget_mac_nswindow.mm View 2 chunks +8 lines, -4 lines 0 comments Download
M ui/views/widget/native_widget_mac_interactive_uitest.mm View 1 4 chunks +18 lines, -9 lines 0 comments Download

Messages

Total messages: 13 (8 generated)
tapted
Hi Robert, please take a look. (lots of follow-ups, but this will at least fix ...
4 years, 7 months ago (2016-05-09 08:11:58 UTC) #6
Robert Sesek
LGTM, though I haven't researched what exactly this new method you found does.
4 years, 7 months ago (2016-05-09 18:12:19 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1955343002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1955343002/40001
4 years, 7 months ago (2016-05-09 22:27:15 UTC) #9
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 7 months ago (2016-05-09 22:31:48 UTC) #11
commit-bot: I haz the power
4 years, 7 months ago (2016-05-09 22:33:07 UTC) #13
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/1b0d712e570d6800634910954d6a6690b1ae5d17
Cr-Commit-Position: refs/heads/master@{#392448}

Powered by Google App Engine
This is Rietveld 408576698