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

Issue 2313033002: Refactor X11ForeignWindowManager (Reland) (Closed)

Created:
4 years, 3 months ago by Tom (Use chromium acct)
Modified:
4 years, 3 months ago
CC:
chromium-reviews, sadrul, yusukes+watch_chromium.org, derat+watch_chromium.org, tfarina, grt+watch_chromium.org, dcheng, pennymac+watch_chromium.org, wfh+watch_chromium.org, Michael Moss
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

This CL renames XForeignWindowManager to XWindowEventManager since it will be used on local windows now. Get rid of OnWindowDestroyed since this will be used by the XWindowCache for windows other than top-level windows as well. Finally, refactor the old Request implementation to use a Mask instead. This is needed by the XWindowCache which will select events on all windows, and therefore needs to know which masks we've already selected on Chrome windows. This will be the first in the line of 3 CLs. 1. Refactor X11ForeignWindowManager 2. Update Chrome code to use the XWindowManager instead of calling XSelectInput manually 3. Add a PRESUBMIT check to make sure CWEventMask, XSelectInput, or XCB_CW_EVENT_MASK is not added to new code. BUG=634084 Committed: https://crrev.com/5c04e8aa6732cca81e518dacf06c48398426b415 Committed: https://crrev.com/6c01662f504beee3970373de51a1bcf5c0b911d2 Cr-Original-Commit-Position: refs/heads/master@{#417793} Cr-Commit-Position: refs/heads/master@{#418005}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Rename to XWindowEventmanager #

Total comments: 21

Patch Set 3 : Remove nested class #

Patch Set 4 : Refactor #

Patch Set 5 : Fix bug #

Total comments: 6

Patch Set 6 : Make Select/Deselect private #

Total comments: 4

Patch Set 7 : Nits #

Patch Set 8 : Update expected_build_deps #

Patch Set 9 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+215 lines, -189 lines) Patch
M chrome/installer/linux/debian/expected_deps_ia32 View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/linux/debian/expected_deps_x64 View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/installer/linux/rpm/expected_deps_i386 View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/installer/linux/rpm/expected_deps_x86_64 View 1 2 3 4 5 6 7 2 chunks +2 lines, -0 lines 0 comments Download
M ui/base/x/BUILD.gn View 1 1 chunk +2 lines, -2 lines 0 comments Download
M ui/base/x/selection_owner.h View 1 2 3 4 5 4 chunks +6 lines, -6 lines 0 comments Download
M ui/base/x/selection_owner.cc View 1 2 3 4 5 4 chunks +9 lines, -19 lines 0 comments Download
D ui/base/x/x11_foreign_window_manager.h View 1 chunk +0 lines, -71 lines 0 comments Download
D ui/base/x/x11_foreign_window_manager.cc View 1 chunk +0 lines, -74 lines 0 comments Download
A ui/base/x/x11_window_event_manager.h View 1 2 3 4 5 6 1 chunk +73 lines, -0 lines 0 comments Download
A ui/base/x/x11_window_event_manager.cc View 1 2 3 4 5 6 7 8 1 chunk +111 lines, -0 lines 0 comments Download
M ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc View 1 2 5 chunks +6 lines, -11 lines 0 comments Download
M ui/views/widget/desktop_aura/x11_desktop_handler.cc View 2 chunks +0 lines, -6 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 59 (39 generated)
Tom (Use chromium acct)
erg@ + derat@ for X11 stuff thestig@ for expected_build_deps
4 years, 3 months ago (2016-09-06 20:07:58 UTC) #6
Elliot Glaysher
https://codereview.chromium.org/2313033002/diff/1/ui/base/x/x11_window_manager.h File ui/base/x/x11_window_manager.h (right): https://codereview.chromium.org/2313033002/diff/1/ui/base/x/x11_window_manager.h#newcode27 ui/base/x/x11_window_manager.h:27: class UI_BASE_X_EXPORT XWindowManager { The name XWindowManager is a ...
4 years, 3 months ago (2016-09-06 20:11:56 UTC) #7
Tom (Use chromium acct)
Also added ScopedEventSelector because it was useful for the dependant patch set https://codereview.chromium.org/2313033002/diff/1/ui/base/x/x11_window_manager.h File ui/base/x/x11_window_manager.h ...
4 years, 3 months ago (2016-09-06 22:08:29 UTC) #12
Daniel Erat
looks like a new patch set went up while i was writing comments, so some ...
4 years, 3 months ago (2016-09-07 00:37:34 UTC) #17
Tom (Use chromium acct)
https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.cc File ui/base/x/x11_window_event_manager.cc (right): https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.cc#newcode41 ui/base/x/x11_window_event_manager.cc:41: old_mask_ = mask_map_[xid].ToMask(); On 2016/09/07 00:37:33, Daniel Erat wrote: ...
4 years, 3 months ago (2016-09-07 18:02:23 UTC) #21
Daniel Erat
https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.h File ui/base/x/x11_window_event_manager.h (right): https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.h#newcode43 ui/base/x/x11_window_event_manager.h:43: void SelectEvents(XID xid, uint32_t event_mask); On 2016/09/07 18:02:23, Tom ...
4 years, 3 months ago (2016-09-07 20:00:07 UTC) #25
Tom (Use chromium acct)
On 2016/09/07 20:00:07, Daniel Erat wrote: > https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.h > File ui/base/x/x11_window_event_manager.h (right): > > https://codereview.chromium.org/2313033002/diff/20001/ui/base/x/x11_window_event_manager.h#newcode43 ...
4 years, 3 months ago (2016-09-07 21:32:22 UTC) #28
Daniel Erat
thanks, lgtm with a few comments https://codereview.chromium.org/2313033002/diff/100001/ui/base/x/x11_window_event_manager.cc File ui/base/x/x11_window_event_manager.cc (right): https://codereview.chromium.org/2313033002/diff/100001/ui/base/x/x11_window_event_manager.cc#newcode90 ui/base/x/x11_window_event_manager.cc:90: XWindowEventManager::~XWindowEventManager() {} nit: ...
4 years, 3 months ago (2016-09-07 21:45:06 UTC) #32
Elliot Glaysher
lgtm
4 years, 3 months ago (2016-09-07 23:03:14 UTC) #35
Tom (Use chromium acct)
Pinging thestig@. Also, are there any trybots I can add for official builders? The changes ...
4 years, 3 months ago (2016-09-07 23:11:06 UTC) #36
Lei Zhang
lgtm
4 years, 3 months ago (2016-09-08 22:20:00 UTC) #38
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/2313033002/120001
4 years, 3 months ago (2016-09-08 22:23:05 UTC) #41
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/2313033002/130001
4 years, 3 months ago (2016-09-09 22:59:02 UTC) #45
commit-bot: I haz the power
Committed patchset #8 (id:130001)
4 years, 3 months ago (2016-09-10 01:31:07 UTC) #47
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/5c04e8aa6732cca81e518dacf06c48398426b415 Cr-Commit-Position: refs/heads/master@{#417793}
4 years, 3 months ago (2016-09-10 01:34:38 UTC) #49
dmurph
A revert of this CL (patchset #8 id:130001) has been created in https://codereview.chromium.org/2326223002/ by dmurph@chromium.org. ...
4 years, 3 months ago (2016-09-10 02:04:09 UTC) #50
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/2313033002/150001
4 years, 3 months ago (2016-09-12 18:19:23 UTC) #54
Tom (Use chromium acct)
Going to try relanding because this linux-only change couldn't have broken the Windows build
4 years, 3 months ago (2016-09-12 18:19:29 UTC) #55
commit-bot: I haz the power
Committed patchset #9 (id:150001)
4 years, 3 months ago (2016-09-12 19:38:07 UTC) #57
commit-bot: I haz the power
4 years, 3 months ago (2016-09-12 19:40:43 UTC) #59
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/6c01662f504beee3970373de51a1bcf5c0b911d2
Cr-Commit-Position: refs/heads/master@{#418005}

Powered by Google App Engine
This is Rietveld 408576698