Closed Bug 1359844 Opened 7 years ago Closed 7 years ago

Ensure border-image-source be full-decoded after download

Categories

(Core :: Web Painting, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: u459114, Assigned: u459114)

References

Details

Attachments

(1 file, 1 obsolete file)

Separate from Bug 1341703, so that I can land that bug first.
Attachment #8861995 - Attachment is obsolete: true
Depends on: 1341703
Wouldn't we want to land _this_ first, so bug 1341703 doesn't need to work around it?
Flags: needinfo?(cku)
(In reply to Boris Zbarsky [:bz] (still a bit busy) (if a patch has no decent message, automatic r-) from comment #3)
> Wouldn't we want to land _this_ first, so bug 1341703 doesn't need to work
> around it?
Like we had discussed in bug 1341703, this problem(border-image may not be decoded occasionally) is a generic bug for both stylo-enable and stylo-disable build. (Although the hit rate of stylo-enable build is much much hihger) That's the main reason that I think we should take this patch out of bug 1341703.

Here is the try result of bug 1341703 without the patch here:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b1b525481c6900717e62709b48b200db3d03c531&selectedJob=92244773
border-image reftests are located at R4 on "Linux x64 Stylo debug/opt". Retry 10 times.

I do not see intermittent failures on border-image reftest on stylo-disable build because of this timing issue either, which means we won't hit this timing issue on reftest harness(I guess this is because we always do SYNC-DECODE in reftest harness, but that's just a guess). So it's safe to land these two bugs separately.
Flags: needinfo?(cku)
> That's the main reason that I think we should take this patch out of bug 1341703.

I agree that we should land this separately from bug 1341703.

But do we not have stylo-enabled failures after bug 1341703 but without this fix that are due to this bug?
Attachment #8861997 - Flags: review?(mstange)
Comment on attachment 8861997 [details]
Bug 1359844 - Ensure full decode be triggered after style-image was downloaded,

https://reviewboard.mozilla.org/r/133976/#review136946

Relying on side-effects from a constructor seems a bit too implicit for my taste, but with a comment it might be ok.

Thank you for the great commit message!

::: commit-message-35e38:29
(Diff revision 1)
> +In this patch, I try to align the behavior between bg-image/mask-image and
> +border-image: always call nsImageRenderer::PrepareImage.
> +
> +This is a generic fix for both stylo-enable and stylo-disable build. We do not
> +find this problem in reftest is because we use SYNC_DECODE in reftest harness, which
> +hides this race condition. When dairy using firefox, if

"dairy"?

::: layout/painting/nsCSSRendering.cpp:831
(Diff revision 1)
>      uint32_t irFlags = 0;
>      if (aFlags & PaintBorderFlags::SYNC_DECODE_IMAGES) {
>        irFlags |= nsImageRenderer::FLAG_SYNC_DECODE_IMAGES;
>      }
>  
>      Maybe<nsCSSBorderImageRenderer> renderer =

Let's add a comment above here that says that creating the border image renderer will request a decode, and that we rely on that happening.
Attachment #8861997 - Flags: review?(mstange) → review+
Comment on attachment 8861997 [details]
Bug 1359844 - Ensure full decode be triggered after style-image was downloaded,

https://reviewboard.mozilla.org/r/133976/#review136946

> "dairy"?

daily
(In reply to Boris Zbarsky [:bz] (still a bit busy) (if a patch has no decent message, automatic r-) from comment #5)
> > That's the main reason that I think we should take this patch out of bug 1341703.
> 
> I agree that we should land this separately from bug 1341703.
> 
> But do we not have stylo-enabled failures after bug 1341703 but without this
> fix that are due to this bug?
Reftest won't get failure without this patch. But since mstange already reviewed this patch. I triggered autoland.
The current status is 
1. Bug 1341703 stylo part had been merged
   https://github.com/servo/servo/pull/16620
2. Bug 1341703 gecko part had trigger autoland request.
3. Bug 1359844 had trigger autoland request.

" Tree gecko is closed - retrying later. ", I will check the result tomorrow morning.
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ebf68ba9b098
Ensure full decode be triggered after style-image was downloaded, r=mstange
https://hg.mozilla.org/mozilla-central/rev/ebf68ba9b098
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: