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

Issue 2270543003: Display Window Icon In Picker UI (Closed)

Created:
4 years, 3 months ago by qiangchen
Modified:
4 years, 3 months ago
CC:
chromium-reviews, tfarina
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Display Window Icon In Picker UI In this CL, we display the window icon with the window source on the picker window for desktop capture. BUG=631604 Committed: https://crrev.com/e7a9525b5e292c45f8d6db8091afed4ea5045aff Cr-Commit-Position: refs/heads/master@{#415199}

Patch Set 1 #

Patch Set 2 : Unittest crash #

Total comments: 16

Patch Set 3 : Fix Unittest crash #

Patch Set 4 : Add file #

Total comments: 8

Patch Set 5 : Improve Comment #

Patch Set 6 : Old Error Handler #

Total comments: 2

Patch Set 7 : App vs Browser #

Total comments: 11

Patch Set 8 : Add comments #

Patch Set 9 : chrome/browser/ui/views cannot be included from outside folder #

Patch Set 10 : Change Error Handler Back #

Total comments: 4

Patch Set 11 : Error Tracker #

Total comments: 2

Patch Set 12 : Use unique_ptr for Error Tracker #

Total comments: 14

Patch Set 13 : Improve Comments #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+107 lines, -8 lines) Patch
A chrome/browser/media/window_icon_util_chromeos.cc View 1 2 3 4 5 6 7 8 1 chunk +21 lines, -0 lines 0 comments Download
M chrome/browser/media/window_icon_util_x11.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +11 lines, -0 lines 4 comments Download
M chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +38 lines, -0 lines 4 comments Download
M chrome/browser/ui/views/desktop_capture/desktop_media_picker_views.cc View 1 2 3 4 chunks +11 lines, -7 lines 0 comments Download
M chrome/browser/ui/views/desktop_capture/desktop_media_source_view.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +14 lines, -1 line 0 comments Download
M chrome/browser/ui/views/desktop_capture/desktop_media_source_view.cc View 1 2 3 5 chunks +11 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 102 (60 generated)
qiangchen
Can you take a look? Thanks.
4 years, 3 months ago (2016-08-23 18:03:19 UTC) #6
msw
You should seek a reviewer more familiar with GetWindowIcon. https://codereview.chromium.org/2270543003/diff/20001/chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc File chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc (right): https://codereview.chromium.org/2270543003/diff/20001/chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc#newcode29 chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc:29: ...
4 years, 3 months ago (2016-08-23 21:37:12 UTC) #13
msw
Oh, please also post before/after screenshots to the bug.
4 years, 3 months ago (2016-08-23 21:37:30 UTC) #14
qiangchen
sky@: One issue I found when hooking up icon display on the UI is that ...
4 years, 3 months ago (2016-08-23 23:24:30 UTC) #24
sky
See BrowserView::GetWindowIcon, it returns an empy icon. You'll have to be careful that changing the ...
4 years, 3 months ago (2016-08-24 02:04:17 UTC) #25
qiangchen
Yeah, I found BrowserView::GetWindowIcon returns empty icon as default icon. So I think it relies ...
4 years, 3 months ago (2016-08-24 16:24:33 UTC) #26
msw
https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_chromeos.cc File chrome/browser/media/window_icon_util_chromeos.cc (right): https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_chromeos.cc#newcode23 chrome/browser/media/window_icon_util_chromeos.cc:23: // The default icon (for chrome window itself) does ...
4 years, 3 months ago (2016-08-24 17:01:28 UTC) #27
qiangchen
Improved comments. https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_chromeos.cc File chrome/browser/media/window_icon_util_chromeos.cc (right): https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_chromeos.cc#newcode23 chrome/browser/media/window_icon_util_chromeos.cc:23: // The default icon (for chrome window ...
4 years, 3 months ago (2016-08-24 18:03:30 UTC) #30
msw
https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_x11.cc#newcode35 chrome/browser/media/window_icon_util_x11.cc:35: XSetErrorHandler(nullptr); On 2016/08/24 18:03:30, qiangchenC wrote: > On 2016/08/24 ...
4 years, 3 months ago (2016-08-24 18:13:56 UTC) #31
qiangchen
Done. https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/80001/chrome/browser/media/window_icon_util_x11.cc#newcode35 chrome/browser/media/window_icon_util_x11.cc:35: XSetErrorHandler(nullptr); On 2016/08/24 18:13:56, msw wrote: > On ...
4 years, 3 months ago (2016-08-24 18:59:13 UTC) #34
msw
https://codereview.chromium.org/2270543003/diff/120001/chrome/browser/media/window_icon_util_chromeos.cc File chrome/browser/media/window_icon_util_chromeos.cc (right): https://codereview.chromium.org/2270543003/diff/120001/chrome/browser/media/window_icon_util_chromeos.cc#newcode29 chrome/browser/media/window_icon_util_chromeos.cc:29: icon_image_ptr = rb.GetNativeImageNamed(IDR_PRODUCT_LOGO_32).ToImageSkia(); REPEAT: I still think we should ...
4 years, 3 months ago (2016-08-24 20:33:07 UTC) #37
qiangchen
Did a detection between browser and app. Thanks.
4 years, 3 months ago (2016-08-24 23:33:22 UTC) #39
msw
okay, lgtm i suppose
4 years, 3 months ago (2016-08-25 03:07:14 UTC) #43
sky
https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_chromeos.cc File chrome/browser/media/window_icon_util_chromeos.cc (right): https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_chromeos.cc#newcode16 chrome/browser/media/window_icon_util_chromeos.cc:16: DCHECK(id.type == content::DesktopMediaID::TYPE_WINDOW); DCHECK_EQ https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_chromeos.cc#newcode45 chrome/browser/media/window_icon_util_chromeos.cc:45: icon_image_ptr = rb.GetImageSkiaNamed(idr); ...
4 years, 3 months ago (2016-08-25 15:44:51 UTC) #44
qiangchen
Fixed. https://codereview.chromium.org/2270543003/diff/120001/chrome/browser/media/window_icon_util_chromeos.cc File chrome/browser/media/window_icon_util_chromeos.cc (right): https://codereview.chromium.org/2270543003/diff/120001/chrome/browser/media/window_icon_util_chromeos.cc#newcode29 chrome/browser/media/window_icon_util_chromeos.cc:29: icon_image_ptr = rb.GetNativeImageNamed(IDR_PRODUCT_LOGO_32).ToImageSkia(); On 2016/08/24 20:33:06, msw wrote: ...
4 years, 3 months ago (2016-08-25 17:07:59 UTC) #45
sky
+derat/+erg for changes to chrome/browser/media/window_icon_util_x11.cc . https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_x11.cc#newcode12 chrome/browser/media/window_icon_util_x11.cc:12: // The error ...
4 years, 3 months ago (2016-08-25 19:44:17 UTC) #53
qiangchen
replied. And I moved the taking default icon code to UI code, because presubmit trybot ...
4 years, 3 months ago (2016-08-25 20:46:58 UTC) #54
qiangchen
One more investigation on XSetErrorHandler in unittest. https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/140001/chrome/browser/media/window_icon_util_x11.cc#newcode12 chrome/browser/media/window_icon_util_x11.cc:12: // The ...
4 years, 3 months ago (2016-08-25 21:08:44 UTC) #56
Daniel Erat
https://codereview.chromium.org/2270543003/diff/220001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/220001/chrome/browser/media/window_icon_util_x11.cc#newcode32 chrome/browser/media/window_icon_util_x11.cc:32: XErrorHandler old_handler = XSetErrorHandler(&ErrorHandler); please use ui/gfx/x/x11_error_tracker.h instead of ...
4 years, 3 months ago (2016-08-25 23:39:58 UTC) #61
qiangchen
Fixed. Now using existing error tracker to accomplish the crash suppressor. https://codereview.chromium.org/2270543003/diff/220001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): ...
4 years, 3 months ago (2016-08-25 23:54:19 UTC) #62
Daniel Erat
https://codereview.chromium.org/2270543003/diff/240001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/240001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: gfx::X11ErrorTracker error_tracker; this should probably be in an std::unique_ptr ...
4 years, 3 months ago (2016-08-26 01:50:40 UTC) #66
sky
Dan, does it seem right to have to catch an error like this when getting ...
4 years, 3 months ago (2016-08-26 03:27:25 UTC) #67
Daniel Erat
unfortunately, yes. this is something that comes up in X11 window managers as well. an ...
4 years, 3 months ago (2016-08-26 04:41:39 UTC) #68
Daniel Erat
but i'd expect this to be extremely rare in this particular case (although it can ...
4 years, 3 months ago (2016-08-26 04:45:13 UTC) #69
qiangchen
On 2016/08/26 04:45:13, Daniel Erat wrote: > but i'd expect this to be extremely rare ...
4 years, 3 months ago (2016-08-26 15:43:41 UTC) #70
qiangchen
Fixed. Thanks. https://codereview.chromium.org/2270543003/diff/240001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/240001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: gfx::X11ErrorTracker error_tracker; On 2016/08/26 01:50:39, Daniel Erat ...
4 years, 3 months ago (2016-08-26 15:53:46 UTC) #73
sky
https://codereview.chromium.org/2270543003/diff/260001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/260001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: std::unique_ptr<gfx::X11ErrorTracker> error_tracker( Please add a comment here, something similar ...
4 years, 3 months ago (2016-08-26 16:40:35 UTC) #76
Daniel Erat
On 2016/08/26 15:43:41, qiangchenC wrote: > On 2016/08/26 04:45:13, Daniel Erat wrote: > > but ...
4 years, 3 months ago (2016-08-26 17:09:32 UTC) #77
Elliot Glaysher
+thomasanderson fyi Thomas was working on an x11 window tree/property cache so we didn't have ...
4 years, 3 months ago (2016-08-26 17:29:57 UTC) #79
qiangchen
Fixed. Thanks. https://codereview.chromium.org/2270543003/diff/260001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/260001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: std::unique_ptr<gfx::X11ErrorTracker> error_tracker( On 2016/08/26 16:40:35, sky wrote: ...
4 years, 3 months ago (2016-08-26 17:30:01 UTC) #81
chromium-reviews
Is "x11 window tree/property" a structure managing chrome windows? My GetWindowIcon function needs to work ...
4 years, 3 months ago (2016-08-26 17:45:18 UTC) #82
Elliot Glaysher
On 2016/08/26 17:45:18, chromium-reviews wrote: > Is "x11 window tree/property" a structure managing chrome windows? ...
4 years, 3 months ago (2016-08-26 18:12:02 UTC) #85
sky
LGTM, but wait for Dan's approval. https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: // The |error_tracker| ...
4 years, 3 months ago (2016-08-26 19:38:36 UTC) #88
Tom (Use chromium acct)
On 2016/08/26 18:12:02, Elliot Glaysher wrote: > On 2016/08/26 17:45:18, chromium-reviews wrote: > > Is ...
4 years, 3 months ago (2016-08-26 19:53:48 UTC) #89
qiangchen
On 2016/08/26 17:09:32, Daniel Erat wrote: > On 2016/08/26 15:43:41, qiangchenC wrote: > > On ...
4 years, 3 months ago (2016-08-26 19:53:57 UTC) #90
qiangchen
https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc#newcode24 chrome/browser/media/window_icon_util_x11.cc:24: // The |error_tracker| essentially provides an empty X error ...
4 years, 3 months ago (2016-08-26 19:55:24 UTC) #91
Daniel Erat
lgtm for window_icon_util_x11.cc
4 years, 3 months ago (2016-08-29 17:20:15 UTC) #92
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2270543003/280001
4 years, 3 months ago (2016-08-29 17:38:08 UTC) #95
commit-bot: I haz the power
Committed patchset #13 (id:280001)
4 years, 3 months ago (2016-08-30 06:06:44 UTC) #97
commit-bot: I haz the power
Patchset 13 (id:??) landed as https://crrev.com/e7a9525b5e292c45f8d6db8091afed4ea5045aff Cr-Commit-Position: refs/heads/master@{#415199}
4 years, 3 months ago (2016-08-30 06:08:23 UTC) #99
Lei Zhang
https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc File chrome/browser/media/window_icon_util_x11.cc (right): https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/window_icon_util_x11.cc#newcode30 chrome/browser/media/window_icon_util_x11.cc:30: std::unique_ptr<gfx::X11ErrorTracker> error_tracker( Can this just be the following? { ...
4 years, 3 months ago (2016-08-30 09:39:34 UTC) #101
qiangchen
4 years, 3 months ago (2016-08-30 17:10:45 UTC) #102
Message was sent while issue was closed.
https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/w...
File chrome/browser/media/window_icon_util_x11.cc (right):

https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/media/w...
chrome/browser/media/window_icon_util_x11.cc:30:
std::unique_ptr<gfx::X11ErrorTracker> error_tracker(
On 2016/08/30 09:39:34, Lei Zhang wrote:
> Can this just be the following?
> 
> {
>   gfx::X11ErrorTracker error_tracker;
>   int status = XGetWindowProperty(...);
> }

By other reviewer's comment, as we want to release it asap, and thus, we set it
in a unique_ptr. Otherwise, we have to wait till the end of this function.

https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/ui/view...
File chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc (right):

https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/ui/view...
chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc:17: #include
"grit/theme_resources.h"
On 2016/08/30 09:39:34, Lei Zhang wrote:
> BTW, we are trying to ever-so-slowly get rid of using the unqualified path.
This
> should have been chrome/grit/theme_resources.h.
> 
> I'll fix this in https://codereview.chromium.org/2290753004/, but please try
not
> to add more.

Acknowledged.

https://codereview.chromium.org/2270543003/diff/280001/chrome/browser/ui/view...
chrome/browser/ui/views/desktop_capture/desktop_media_list_view.cc:47: #endif
On 2016/08/30 09:39:34, Lei Zhang wrote:
> extra blank line after would be nice to mirror line 26.

Thanks. Will fix it next time I touch this file.

Powered by Google App Engine
This is Rietveld 408576698