Closed Bug 1296250 Opened 8 years ago Closed 8 years ago

Fix mask-html-xbl-bound-01.html | assertion count 1 is more than expected 0 assertions

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: u459114, Assigned: u459114)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Get 1 assertion after enable mask-as-shorhand.
REFTEST TEST-UNEXPECTED-FAIL | file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/svg/svg-integration/mask-html-xbl-bound-01.html | assertion count 1 is more than expected 0 assertions

https://treeherder.mozilla.org/logviewer.html#?job_id=25918147&repo=try#L11623
Blocks: 1294660
Attachment #8782387 - Flags: review?(cam)
(In reply to C.J. Ku[:cjku](UTC+8) from comment #3)
> https://treeherder.mozilla.org/#/jobs?repo=try&revision=2ff17dfb3d27

Try result of enable-mask-as-shorthand
Attachment #8782396 - Flags: review?(cam)
Comment on attachment 8782387 [details]
Bug 1296250 - Part 1. Correct the condition of an assertion in SetStyleImage.

https://reviewboard.mozilla.org/r/72570/#review70280

::: layout/style/nsRuleNode.cpp:1284
(Diff revision 2)
> +      // 2. aValue is a not a local-ref URL, but it refers to an element in
> +      //    current document. For example, the url of the current document is

"an element in the current document"

::: layout/style/nsRuleNode.cpp:1290
(Diff revision 2)
> +      //    current document. For example, the url of the current document is
> +      //    "http://foo.html" and aValue is url(http://foo.html#foo)
> +      // 3. aValue is a local-ref URL, e.g. url(#foo)
> +      //
> +      // We skip image download in TryToStartImageLoadOnValue under #2 and #3,
> +      // and that why we get eCSSUnit_URL instead of eCSSUnit_Image here.

"that's why"

::: layout/style/nsRuleNode.cpp:1292
(Diff revision 2)
> +      // Check #2.
> +      nsIDocument* currentDoc = aStyleContext->PresContext()->Document();
> +      nsIURI* docURI = currentDoc->GetDocumentURI();
> +      nsIURI* imageURI = aValue.GetURLValue();
> +      bool isEqualExceptRef = false;
> +      imageURI->EqualsExceptRef(docURI, &isEqualExceptRef);
> +
> +      // Check #3.
>        mozilla::css::URLValueData *urlData = aValue.GetURLStructValue();
> +      bool isLocalRef = urlData->GetLocalURLFlag();

Can we factor this out so that we use the same check from TryToStartImageOnLoad and in here?

Also, it would be good if we could allow "isEqualExceptRef || isLocalRef" only if we're in SetStyleImage for mask-image, but I guess it might be a bit annoying to pass through the property or a boolean.  Up to you.
Attachment #8782387 - Flags: review?(cam) → review+
Comment on attachment 8782396 [details]
Bug 1296250 - Part 2. Promote NS_ASSERTION to MOZ_ASSERT.

https://reviewboard.mozilla.org/r/72584/#review70284
Attachment #8782396 - Flags: review?(cam) → review+
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5d17d3db2b52
Part 1. Correct the condition of an assertion in SetStyleImage. r=heycam
https://hg.mozilla.org/integration/autoland/rev/20885c842fd3
Part 2. Promote NS_ASSERTION to MOZ_ASSERT. r=heycam
https://hg.mozilla.org/mozilla-central/rev/5d17d3db2b52
https://hg.mozilla.org/mozilla-central/rev/20885c842fd3
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: