Closed Bug 1891063 Opened 9 months ago Closed 8 months ago

Various preliminary clean-ups before bug 1850979

Categories

(Core :: Widget: Win32, task)

task

Tracking

()

RESOLVED FIXED
127 Branch
Tracking Status
firefox127 + fixed

People

(Reporter: emilio, Assigned: emilio)

References

Details

(Keywords: perf-alert)

Attachments

(4 files, 4 obsolete files)

No description provided.

No behavior change intended. I plan to use this to hide the titlebar
buttons when drawing to the titlebar (we currently draw on top of them).

But seems worth factoring out regardless.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

Right now, we don't use top level transparent windows (they're
completely unused).

This removes some code that causes trouble when reintroducing them.

Depends on D207297

All the comments on this function are for platforms we don't support.

Right now we don't have any of these top-level transparent windows, but
we want to use DWM and Webrender for these just like for regular windows.

Depends on D207298

Just some clean-ups that I accumulated while going over this code.

Depends on D207299

Again, dead code for now because the windows are always opaque,
but will be useful later on since this allows restricting the
region that needs to have transparency.

Depends on D207300

This shouldn't matter in practice for popups, but we need to do it for
top levels, where otherwise DWM won't re-paint the backdrop material.

Depends on D207301

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/bdb5dbc1e980 Factor out some window style flags code. r=win-reviewers,rkraesig https://hg.mozilla.org/integration/autoland/rev/24dc60b32e21 Remove unused code for transparency. r=win-reviewers,rkraesig
Attachment #9396296 - Attachment description: Bug 1891063 - Various non-functional clean-ups in windows widget code. r=#win-reviewers,#gfx-reviewers → Bug 1891063 - Various clean-ups in windows widget code (no functional changes). r=#win-reviewers,#gfx-reviewers
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1f44d19bb3a9 Allow transparent top level windows to be accelerated. r=win-reviewers,gfx-reviewers,rkraesig,nical
Regressions: 1891583
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/05f93e8ade3c Various clean-ups in windows widget code (no functional changes). r=win-reviewers,gfx-reviewers,bradwerth,rkraesig
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
Backout by acseh@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3439db7ee7a0 Backed out changeset 1f44d19bb3a9 for causing bc failures on browser_test_autoscrolling_in_extension_popup_window.js CLOSED TREE
Status: RESOLVED → REOPENED
Flags: needinfo?(emilio)
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 9 months ago9 months ago
Resolution: --- → FIXED

Yikes, I forgot to add the leave-open keyword again...

Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1d666fbf5ef4 Allow transparent top level windows to be accelerated. r=win-reviewers,gfx-reviewers,rkraesig,nical
Attachment #9396298 - Attachment description: Bug 1891063 - Clear transparent windows on resize. r=#win-reviewers → Bug 1891063 - Improve invalidation of top-level transparent windows. r=#win-reviewers

If we are using custom non-client area (mCustomNonClient) suppress more
directly the default windows actions in WM_NCPAINT / WM_NCACTIVATE.

This prevents titlebars showing up when using custom non-client areas
in semi-transparent windows.

Depends on D207302

Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/294255d72503 Re-introduce some of the opaque region handling removed in bug 1844241. r=win-reviewers,rkraesig
Flags: needinfo?(emilio)

Ray, can you attach a screenshot of what you're seeing in https://phabricator.services.mozilla.com/D208255#7152576? Thanks.

Also, just confirming that you tested that on top of https://phabricator.services.mozilla.com/D207302 (which is what clears the NC Area)

Flags: needinfo?(rkraesig)

(In reply to Emilio Cobos Álvarez (:emilio) from comment #20)

Ray, can you attach a screenshot of what you're seeing in https://phabricator.services.mozilla.com/D208255#7152576? Thanks.

Also, just confirming that you tested that on top of https://phabricator.services.mozilla.com/D207302 (which is what clears the NC Area)

I can confirm the latter now; I piggybacked on the Phabricator-launched try job to create the build. I'll post a screenshot shortly.

Flags: needinfo?(rkraesig)
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/717a883474be Improve invalidation of top-level transparent windows. r=win-reviewers,rkraesig,handyman
Regressions: 1893918
Regressions: 1894135
Regressions: 1894017
Regressions: 1894298

I'll land other patches in other bugs to ease tracking.

Status: REOPENED → RESOLVED
Closed: 9 months ago8 months ago
Resolution: --- → FIXED

I'm reviewing the patches in the linked regressions now, but... given that there are three distinct known regressions, some of whose proposed fixes are decidedly nontrivial, I think it's worth considering reverting these patches, and reapplying them more slowly in separate phases with the fixes integrated appropriately.

Flags: needinfo?(emilio)

I plan to ask for a backout on beta once the soft-freeze is over, which will give them more bake time. I'd prefer that to avoid backing out then re-landing... Does that seem fair to you?

Flags: needinfo?(emilio) → needinfo?(rkraesig)

(In reply to Emilio Cobos Álvarez (:emilio) from comment #26)

I plan to ask for a backout on beta once the soft-freeze is over, which will give them more bake time. I'd prefer that to avoid backing out then re-landing... Does that seem fair to you?

I wouldn't say I'm a fan of that approach; but if that's the plan, I'm at least no longer worried.

I'd probably think it a better idea if I also thought it unlikely that further regressions would manifest, or alternatively, if I gave the fixes better odds of all getting reviewed, approved, and landed before the soft-freeze. (That's at least partly on me, but there's a limit to how much I can do about it at the moment.) I'm also concerned that this is going to be quite the mess for future archaeologists to sort out, but it's probably too late to help that.

Flags: needinfo?(rkraesig)

Yeah, on further thought I really don't think I'm going to have the spare cycles to get through all of these reviews before the freeze. Given that I don't recall anyone else in #win-reviewers even commenting, I doubt anyone else does either.

Given that what's going to be baking is unlikely to be the full fix, and especially since these patches weren't intended to address a user-facing defect...

This backs out:

  • Bug 1894135 - Fix tooltip / unaccelerated transparent window rendering regression. r=win-reviewers,rkraesig
  • Bug 1891063 - Improve invalidation of top-level transparent windows. r=win-reviewers,rkraesig,handyman
  • Bug 1891063 - Allow transparent top level windows to be accelerated. r=win-reviewers,gfx-reviewers,rkraesig,nical
  • Bug 1891063 - Remove unused code for transparency. r=win-reviewers,rkraesig

For various regressions that need more time to get fixes reviewed and
written. Intentionally left in truly-non-behavior-changing patches.

Confirmed that all the reported regressions are working with this build.

Will try to reland these / other similar stuff during the next cycle,
with all these issues sorted out.

Attachment #9400602 - Attachment description: Bug 1891063 - Back out behavior changes this bug and bug 1894135. r=rkraesig! → Bug 1891063 - Back out behavior changes from this bug and bug 1894135. r=rkraesig!
Regressions: 1895683

A patch has been attached on this bug, which was already closed. Filing a separate bug will ensure better tracking. If this was not by mistake and further action is needed, please alert the appropriate party. (Or: if the patch doesn't change behavior -- e.g. landing a test case, or fixing a typo -- then feel free to disregard this message)

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 127 Branch → ---

Backed out for causing regressions

*Backout Link

Flags: needinfo?(emilio)
Regressions: 1895719

I plan to re-land some of this work, but it should happen on separate bugs etc.

Status: REOPENED → RESOLVED
Closed: 8 months ago8 months ago
Flags: needinfo?(emilio)
Resolution: --- → FIXED
Attachment #9400602 - Attachment is obsolete: true

(In reply to Emilio Cobos Álvarez (:emilio) from comment #33)

I plan to re-land some of this work, but it should happen on separate bugs etc.

Thanks, Emilio. I think that's the best approach with some patches from this bug already going into 127. It'll make tracking more straightforward.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 8 months ago8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
Keywords: perf-alert

Comment on attachment 9396298 [details]
Bug 1891063 - Improve invalidation of top-level transparent windows. r=#win-reviewers

Revision D207302 was moved to bug 1911763. Setting attachment 9396298 [details] to obsolete.

Attachment #9396298 - Attachment is obsolete: true

Comment on attachment 9398011 [details]
Bug 1891063 - Simplify non-client-area event handling. r=#win-reviewers

Revision D208255 was moved to bug 1911763. Setting attachment 9398011 [details] to obsolete.

Attachment #9398011 - Attachment is obsolete: true
Attachment #9396295 - Attachment is obsolete: true
Blocks: 1911763
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: