Closed Bug 1469716 Opened 6 years ago Closed 5 years ago

Stop spewing "Cannot set transparency mode on non-popup windows"

Categories

(Core :: Widget: Gtk, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox70 --- wontfix
firefox71 --- wontfix
firefox72 --- fixed

People

(Reporter: hiro, Assigned: karlt)

References

(Regression)

Details

(Keywords: regression)

Attachments

(5 files, 1 obsolete file)

When I run ./mach run --layoutdebug, there are lots of "Cannot set transparency mode on non-popup windows".  

A call site (all of them?) is nsContainerFrame::SyncWindowProperties [1], and eTransparencyTransparent comes from here[2].

[1] https://searchfox.org/mozilla-central/rev/d0a41d2e7770fc00df7844d5f840067cc35ba26f/layout/generic/nsContainerFrame.cpp#652

[2] https://searchfox.org/mozilla-central/rev/f822a0b61631cbb38901569e69b4967176314aa8/layout/base/nsLayoutUtils.cpp#7269

I'm seeing these warnings with mHasAlphaVisual == false and mTransparencyBitmapForTitlebar == true so I guess the warnings started for me with https://hg.mozilla.org/mozilla-central/rev/7d768598fee79819797f560acc4cff7f5b0a18a8#l2.76
mIsTransparent was first set during Create() in https://hg.mozilla.org/mozilla-central/rev/7b006f2910ccabc207dd3a6c6e861406b5d18fb7#l2.38

Regressed by: 1408360, 1529713
Keywords: regression

The early return for non-popup windows was to workaround
https://bugzilla.mozilla.org/show_bug.cgi?id=1344839 which involved problems
with CleanLayerManagerRecursive(). In cases where layer manager configuration
does not change, there is no need to clean the layer manager and so no need to
return early.

Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/38b37dfa1f33
allow transparency mode to be set appropriately according to whether drawing a titlebar r=stransky

\o/

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Assignee: nobody → karlt
Regressions: 1572691
Regressions: 1572116
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla70 → ---

Natalia, this was backed out only on central?

Flags: needinfo?(ncsoregi)

It's also on the integration branches (autoland, mozilla-inbound), e.g. https://hg.mozilla.org/integration/autoland/rev/9229fd85bc05af4c33c8cb8f5e489eca1043722d

When something gets backed out on central, it usually gets merged to integration branches directly after it. Pulsebot won't comment for merges.

A backout on central can make sense if an issue shall be fixed quickly for all developers or in CI.

Flags: needinfo?(ncsoregi)

After backout 9229fd85bc05af4c33c8cb8f5e489eca1043722d:
== Change summary for alert #22501 (as of Fri, 16 Aug 2019 15:58:42 GMT) ==

Improvements:

12% ts_paint linux64-shippable-qr opt e10s stylo 304.71 -> 268.92
10% ts_paint_webext linux64-shippable-qr opt e10s stylo 305.08 -> 275.33

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=22501

Attachment #9082146 - Attachment is obsolete: true
Flags: needinfo?(karlt)

Just for people's reference, I also saw this warning messages during the local |make mozmill| test suite run of
C-C TB (Full DEBUG version).
My local copy of M-C was updated a few days ago. C-C was updated a day or so ago.

E.g.:
TEST-START | /NREF-COMM-CENTRAL/mozilla/comm/mail/test/mozmill/content-tabs/test-addons-mgr.js | test_addon_prefs
[31740, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /NREF-COMM-CENTRAL/mozilla/widget/gtk/nsWindow.cpp, line 4456
[31740, Main Thread] WARNING: Cannot set transparency mode on non-popup windows.: file /NREF-COMM-CENTRAL/mozilla/widget/gtk/nsWindow.cpp, line 4456
TEST-START | /NREF-COMM-CENTRAL/mozilla/comm/mail/test/mozmill/content-tabs/test-addons-mgr.js | teardownModule

When I ran the |make mozmill| test under valgrind, I get more such errors. I am not sure what goes on there.

These identifiers can be compared with messages from logging from nsWindow.

Also clarify that this log is not intended to indicate each draw.

Attachment #9109357 - Attachment description: Bug 1469716 add log messages for SetTransparencyMode and SetDrawsInTitlebar r?stransky → Bug 1469716 add log messages for SetTransparencyMode r?stransky
Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dafab8054c07
provide identifying handles in CreateWindowSurface() log messages r=rhunt
https://hg.mozilla.org/integration/autoland/rev/19252343b776
add log messages for SetTransparencyMode r=stransky
https://hg.mozilla.org/integration/autoland/rev/e55213821970
SetTransparentMode: only clear out popup window layer manager if a different kind is needed r=stransky
https://hg.mozilla.org/integration/autoland/rev/79821df17239
SetTransparentMode: warn only when requesting translucency without support r=stransky

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

Attachment #9109359 - Attachment description: Bug 1469716 SetTransparentMode: warn only when requesting translucency without support r?stransky → Bug 1469716 SetTransparentMode: warn only when requesting translucency without support

I am terribly sorry, I don't know how I managed to push a change to this changeset o_O (I didn't even knew it was possible)

Pushed by ktomlinson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/30c6394b8be7
update expose event rectangle log message r=mattwoodrow
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: