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

Issue 136093007: Widget::ShouldUseNativeFrame is now meaningful on Linux. (Closed)

Created:
6 years, 10 months ago by Matt Giuca
Modified:
6 years, 10 months ago
Reviewers:
Elliot Glaysher, sky
CC:
chromium-reviews, tfarina, ben+views_chromium.org, chrome-apps-syd-reviews_chromium.org
Visibility:
Public.

Description

Widget::ShouldUseNativeFrame is now meaningful on Linux. This change is a big refactor to make this work without breaking Windows. Previously, a lot of views code assumed that ShouldUseNativeFrame meant an Aero Glass window (having the tab strip transparently overlap a native frame), which is not true on Linux. Now, another property, ShouldWindowContentsBeTransparent, is used to in the Aero Glass case. On Windows, these two properties are the same, but on Linux, the former can be true without the latter. Now, in Linux Aura, browser windows run with --use-system-title-bar will have ShouldUseNativeFrame return true, without any visual anomalies. This has two purposes (both of which I will need soon): 1. It allows DesktopWindowTreeHostX11 to behave differently depending on whether the window has a native frame. 2. It will allow the window frame to be added or removed dynamically through Widget::set_frame_type. BUG=317859 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=250391

Patch Set 1 #

Patch Set 2 : Rebase. #

Total comments: 14

Patch Set 3 : Address sky's comments. #

Patch Set 4 : Big refactor; fix Windows opaque windows when Glass is enabled. #

Total comments: 2

Patch Set 5 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+82 lines, -28 lines) Patch
M chrome/browser/ui/views/frame/browser_desktop_root_window_host_win.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/frame/browser_desktop_root_window_host_win.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/ui/views/tabs/tab.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/ui/views/tabs/tab_strip.cc View 1 2 3 4 6 chunks +14 lines, -13 lines 0 comments Download
M chrome/browser/ui/views/toolbar/toolbar_view.cc View 1 2 3 4 3 chunks +5 lines, -3 lines 0 comments Download
M ui/views/widget/desktop_aura/desktop_native_widget_aura.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/widget/desktop_aura/desktop_native_widget_aura.cc View 1 2 3 3 chunks +7 lines, -1 line 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host.h View 1 2 3 1 chunk +5 lines, -1 line 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host_win.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host_win.cc View 1 2 3 4 1 chunk +9 lines, -1 line 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host_x11.h View 1 2 3 4 3 chunks +8 lines, -1 line 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc View 1 2 3 4 4 chunks +13 lines, -4 lines 0 comments Download
M ui/views/widget/native_widget_aura.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/widget/native_widget_aura.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M ui/views/widget/native_widget_private.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/widget/widget.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M ui/views/widget/widget.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
Matt Giuca
Hi guys, some more background info for this CL. (It's one of those CLs that ...
6 years, 10 months ago (2014-01-31 08:45:52 UTC) #1
Elliot Glaysher
I don't see a problem with this, but I defer to sky@.
6 years, 10 months ago (2014-01-31 22:11:26 UTC) #2
Matt Giuca
Btw, OWNERS list is: chrome/browser/ui/views/*: sky ui/views/widget/desktop_aura/*: erg > I don't see a problem with ...
6 years, 10 months ago (2014-02-01 05:19:08 UTC) #3
Elliot Glaysher
oh. lgtm then.
6 years, 10 months ago (2014-02-03 19:16:11 UTC) #4
sky
https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h File chrome/browser/ui/views/tabs/tab.h (right): https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h#newcode248 chrome/browser/ui/views/tabs/tab.h:248: bool UsingWindowsGlass(const views::Widget* widget) const; How about naming this ...
6 years, 10 months ago (2014-02-03 21:53:03 UTC) #5
Matt Giuca
https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h File chrome/browser/ui/views/tabs/tab.h (right): https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h#newcode248 chrome/browser/ui/views/tabs/tab.h:248: bool UsingWindowsGlass(const views::Widget* widget) const; On 2014/02/03 21:53:03, sky ...
6 years, 10 months ago (2014-02-05 23:25:30 UTC) #6
sky
https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h File chrome/browser/ui/views/tabs/tab.h (right): https://codereview.chromium.org/136093007/diff/40001/chrome/browser/ui/views/tabs/tab.h#newcode248 chrome/browser/ui/views/tabs/tab.h:248: bool UsingWindowsGlass(const views::Widget* widget) const; On 2014/02/05 23:25:31, Matt ...
6 years, 10 months ago (2014-02-06 00:36:14 UTC) #7
Matt Giuca
Sorry, I had to refactor again. :( PTAL. Hopefully this addresses all of your previous ...
6 years, 10 months ago (2014-02-07 09:13:10 UTC) #8
sky
https://codereview.chromium.org/136093007/diff/440001/ui/views/widget/widget.h File ui/views/widget/widget.h (right): https://codereview.chromium.org/136093007/diff/440001/ui/views/widget/widget.h#newcode596 ui/views/widget/widget.h:596: bool ShouldWindowContentsBeTransparent() const; This name isn't the greatest at ...
6 years, 10 months ago (2014-02-10 15:04:07 UTC) #9
sky
LGTM
6 years, 10 months ago (2014-02-10 15:04:49 UTC) #10
Matt Giuca
The CQ bit was checked by mgiuca@chromium.org
6 years, 10 months ago (2014-02-11 02:55:02 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mgiuca@chromium.org/136093007/620001
6 years, 10 months ago (2014-02-11 02:58:36 UTC) #12
commit-bot: I haz the power
6 years, 10 months ago (2014-02-11 14:08:18 UTC) #13
Message was sent while issue was closed.
Change committed as 250391

Powered by Google App Engine
This is Rietveld 408576698