Closed Bug 912763 Opened 11 years ago Closed 11 years ago

Disable background thumbnails on Beta

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
Firefox 26
Tracking Status
firefox24 --- unaffected
firefox25 + verified
firefox26 + verified

People

(Reporter: adw, Assigned: adw)

References

Details

Attachments

(2 files, 6 obsolete files)

The background thumbnail service isn't ready for prime time, mainly because we're still tracking down e10s-related crashes it causes (bug 899758, bug 902755), and also because it's just rough around the edges (see dependency trees of bug 870100 and bug 841495). We'd like to disable it once it makes its way to Beta. This patch uses the text preprocessor to preprocess out the only front-end caller of the bg service so far, in sites.js, in the release, beta, and esr channels. Since this doesn't disable the service, add-ons and Firefox hackers can call still call it if they know about it, and I think that's OK. I looked around and there seem to be many release channels: esr, release, beta, aurora, nightly, nightly-elm, nightly-profiling, nightly-oak, default. So checking for the first three seemed like the easiest thing to do. Once the service is ready, we can revert this patch and let that ride the trains.
Attachment #799828 - Flags: review?(mhammond)
Comment on attachment 799828 [details] [diff] [review] preprocess out the front-end caller Review of attachment 799828 [details] [diff] [review]: ----------------------------------------------------------------- Looks fine to me (although can't we just write a single expression instead of the empty #elif's?), but I think we have enough time to wait for feedback from Gavin.
Attachment #799828 - Flags: review?(mhammond)
Attachment #799828 - Flags: review+
Attachment #799828 - Flags: feedback?(gavin.sharp)
You're right: http://mxr.mozilla.org/mozilla-central/source/config/Expression.py The text preprocessor doc doesn't mention expressions, and no examples I found use them, so I just assumed it wouldn't work.
Attachment #799828 - Attachment is obsolete: true
Attachment #799828 - Flags: feedback?(gavin.sharp)
Attachment #799839 - Flags: review?(mhammond)
Attachment #799839 - Flags: feedback?(gavin.sharp)
Comment on attachment 799839 [details] [diff] [review] preprocess out the front-end caller v2 Review of attachment 799839 [details] [diff] [review]: ----------------------------------------------------------------- Awesome!
Attachment #799839 - Flags: review?(mhammond) → review+
We should use https://wiki.mozilla.org/Platform/Channel-specific_build_defines for this, rather than MOZ_UPDATE_CHANNEL. I wonder whether we should use EARLY_BETA_OR_EARLIER or RELEASE_BUILD, though... it might be helpful to get a short amount of beta feedback to gauge the severity/magnitude of the bugs. On the other hand, enabling the service for beta users even for a short time will end up skewing future testing results, because we'll have collected a bunch of thumbnails (mostly solving the "missing thumbnails" problem indefinitely, even if the service later gets disabled).
Attachment #799839 - Flags: feedback?(gavin.sharp) → feedback-
Attached patch RELEASE_BUILD (obsolete) — Splinter Review
Thanks, Gavin, page bookmarked. RELEASE_BUILD does seem better to me right now than EARLY_BETA_OR_EARLIER. We could use EARLY_BETA_OR_EARLIER down the road when we're more confident in the service's stability, but before we're ready to turn it on in releases for other, smaller problems.
Attachment #799839 - Attachment is obsolete: true
Attachment #799870 - Flags: review?(gavin.sharp)
Comment on attachment 799870 [details] [diff] [review] RELEASE_BUILD Are we super sure this is the only consumer, and will be for the foreseeable future? I would be a bit more comfortable disabling the service entirely (or at least having its public methods renamed to something very visibly testing-only). Seems like too much of a footgun (for addon authors or other chrome-code authors) otherwise.
It's the only consumer now, and Mark and I can make sure to bracket any new consumers, but I don't foresee any new ones in desktop. I like the idea of add-ons and hackers being able to play with it early, but other teams might start using it without our knowledge (Windows Metro: bug 850909), so disabling it or warning against its use are definitely reasonable.
(In reply to Drew Willcoxon :adw from comment #0) > We'd like to disable it once it makes its way to Beta. Will this be accomplished until the merge day, or just somewhere in the 25 betas?
This excludes BackgroundPageThumbs.jsm from the build entirely.
Attachment #800524 - Flags: review?(gavin.sharp)
Attached patch option 3: no-op BPT.capture (obsolete) — Splinter Review
The option 2 patch I just posted has warnings in BPT.jsm, but people sometimes overlook things, and it's still possible for other teams to use it without realizing it's excluded from releases. So as a fail-safe alternative, this patch makes BPT.capture a no-op. Since it's a no-op, it doesn't ifdef out the PT.captureIfStale caller.
Attachment #800525 - Flags: review?(gavin.sharp)
Attached patch option 3: no-op BPT.capture (obsolete) — Splinter Review
Sorry, wrong file.
Attachment #800525 - Attachment is obsolete: true
Attachment #800525 - Flags: review?(gavin.sharp)
Attachment #800526 - Flags: review?(gavin.sharp)
Comment on attachment 800526 [details] [diff] [review] option 3: no-op BPT.capture Review of attachment 800526 [details] [diff] [review]: ----------------------------------------------------------------- Note however that the horse has already bolted for this - the release channel already has background thumbnails - http://mxr.mozilla.org/mozilla-release/source/toolkit/components/thumbnails/BackgroundPageThumbs.jsm
Comment on attachment 800524 [details] [diff] [review] option 2: exclude BPT.jsm from build (I didn't verify that this was exhaustive, but I think that's not necessary)
Attachment #800524 - Flags: review?(gavin.sharp) → review+
Attachment #799870 - Flags: review?(gavin.sharp)
Attachment #800526 - Flags: review?(gavin.sharp)
The patch Gavin r+'ed isn't exactly right, because I added preprocessing directives to PageThumbs.jsm but didn't modify the moz.build to put it in EXTRA_PP_JS_MODULES. Those directives are necessary because PT.captureIfStale calls BPT. It's a symptom of the fact that captureIfStale doesn't really belong in PT but in BPT, like I say in bug 906615. So instead of adding PT.jsm to EXTRA_PP_JS_MODULES, this patch moves captureIfStale to BPT. I'd understand if you r- and want to add PT.jsm to EXTRA_PP_JS_MODULES instead, since these changes are bigger, and all we're trying to do in this bug is disable BPT. However, keeping all BPT functionality in BPT makes disabling it cleaner, and it makes it easier for callers to see what they can and can't use since the disabled functionality is all contained in one file, and I want to make this change at some point anyway (if not here, then in bug 906615).
Attachment #801037 - Flags: review?(mhammond)
Attachment #801037 - Flags: review?(mhammond) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → Firefox 26
Attachment #799870 - Attachment is obsolete: true
Attachment #800524 - Attachment is obsolete: true
Attachment #800526 - Attachment is obsolete: true
[Approval Request Comment] Bug caused by (feature/regressing bug #): background thumbnailing, bug 870100 User impact if declined: possible crashes, hangs due to background thumbnailing on Beta and †hen release Testing completed (on m-c, etc.): no testing specifically for this patch; its purpose is to disable a feature on Beta/release Risk to taking this patch (and alternatives if risky): low String or IDL/UUID changes made by this patch: none
Attachment #802541 - Flags: approval-mozilla-aurora?
Attachment #802541 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
I see thumbnails incrementally appearing in FF 25.0a2 (2013-09-12), 26.0a1 (2013-09-12), in comparison with a nightly before the landing of bug 870100. So...I assume this is not really backed out ?
It's not backed out as such - but it's disabled for all beta/release versions (ie, it will stop working in 25 once that hits beta). We will back out *this* bug when thumbnails are ready to hit beta (probably 26)
That makes sense now. Thanks for explaining, Mark.
Marking relnote? in case we keep this in beta 26
relnote-firefox: --- → ?
Blocks: 927688
Verified disabled on 25.0.1 release, 26 beta 5.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: