Closed
Bug 1322330
Opened 9 years ago
Closed 9 years ago
Remove EffectProperties::GetFirstMaskFrame
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
FIXED
mozilla53
| Tracking | Status | |
|---|---|---|
| firefox53 | --- | fixed |
People
(Reporter: u459114, Assigned: u459114)
Details
Attachments
(3 files)
According to Bug 1228280 comment 33, Remove EffectProperties::GetFirstFrame().
| Comment hidden (mozreview-request) |
Comment 2•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817128 [details]
Bug 1322330 - Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource.
https://reviewboard.mozilla.org/r/97574/#review97848
::: layout/painting/nsDisplayList.cpp:7466
(Diff revision 1)
> aTo += "clip(basic-shape)";
> first = false;
> }
>
> - if (effectProperties.GetFirstMaskFrame()) {
> + nsTArray<nsSVGMaskFrame*> masks = effectProperties.GetMaskFrames();
> + if (masks.Length() > 0 && masks[0]) {
if (!masks.IsEmpty()) {
::: layout/svg/nsSVGUtils.cpp:751
(Diff revision 1)
> }
>
> + bool isOK = effectProperties.HasNoFilterOrHasValidFilter();
> + nsSVGClipPathFrame *clipPathFrame = effectProperties.GetClipPathFrame(&isOK);
> + nsTArray<nsSVGMaskFrame*> masks = effectProperties.GetMaskFrames();
> + nsSVGMaskFrame *maskFrame = masks.Length() > 0 ? masks[0] : nullptr;
nsSVGMaskFrame *maskFrame = masks.IsEmpty() ? nullptr ? masks[0];
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
Attachment #8817134 -
Flags: review?(longsonr)
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
Attachment #8817150 -
Flags: review?(longsonr)
| Comment hidden (mozreview-request) |
Comment 15•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817150 [details]
Bug 1322330 - Part 3. Implement EffectProperties::HasInvalidMask.
https://reviewboard.mozilla.org/r/97586/#review97878
Comment 16•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817128 [details]
Bug 1322330 - Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource.
https://reviewboard.mozilla.org/r/97574/#review97872
::: layout/painting/nsDisplayList.cpp:7467
(Diff revision 5)
> first = false;
> }
>
> - if (effectProperties.GetFirstMaskFrame()) {
> + nsTArray<nsSVGMaskFrame*> masks = effectProperties.GetMaskFrames();
> + if (!masks.IsEmpty() && masks[0]) {
> if (!first) {
Is the test for masks[0] required?
::: layout/svg/nsSVGEffects.cpp:672
(Diff revision 5)
> return result;
> }
>
> +bool
> +nsSVGEffects::EffectProperties::HasInvalidEffects()
> +{
Would be easier to reverse the logic and create a function called HasValidEffects I expect.
::: layout/svg/nsSVGEffects.cpp:676
(Diff revision 5)
> +nsSVGEffects::EffectProperties::HasInvalidEffects()
> +{
> + if (mClipPath) {
> + bool ok = true;
> + nsSVGClipPathFrame *frame = static_cast<nsSVGClipPathFrame *>
> + (mClipPath->GetReferencedFrame(nsGkAtoms::svgClipPathFrame, &ok));
* should hug type
::: layout/svg/nsSVGEffects.cpp:694
(Diff revision 5)
> + }
> + }
> + }
> +
> + if (!HasNoFilterOrHasValidFilter()) {
> + return true;
return !HasNoFilterOrHasValidFilter();
Attachment #8817128 -
Flags: review?(longsonr)
| Assignee | ||
Comment 17•9 years ago
|
||
| mozreview-review-reply | ||
Comment on attachment 8817128 [details]
Bug 1322330 - Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource.
https://reviewboard.mozilla.org/r/97574/#review97872
> Is the test for masks[0] required?
yes, it's required. After we introduce image mask, we may append empty items into mMask
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
Comment 24•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817128 [details]
Bug 1322330 - Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource.
https://reviewboard.mozilla.org/r/97574/#review98280
Attachment #8817128 -
Flags: review?(longsonr) → review+
Comment 25•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817134 [details]
Bug 1322330 - Part 2. Implement EffectProperties::HasInvalidClipPath.
https://reviewboard.mozilla.org/r/97576/#review97876
::: layout/svg/nsSVGEffects.h:479
(Diff revision 6)
> * @return the clip-path frame, or null if there is no clip-path frame
> - * @param aOK if a clip-path was specified and the designated element
> - * exists but is an element of the wrong type, *aOK is set to false.
> - * Otherwise *aOK is untouched.
> */
> - nsSVGClipPathFrame *GetClipPathFrame(bool* aOK);
> + nsSVGClipPathFrame *GetClipPathFrame();
* should hug type
Attachment #8817134 -
Flags: review?(longsonr) → review+
Comment 26•9 years ago
|
||
| mozreview-review | ||
Comment on attachment 8817150 [details]
Bug 1322330 - Part 3. Implement EffectProperties::HasInvalidMask.
https://reviewboard.mozilla.org/r/97586/#review98282
::: layout/svg/nsSVGEffects.cpp:674
(Diff revision 4)
> bool
> nsSVGEffects::EffectProperties::HasNoOrValidEffects()
> {
> - if (HasInvalidClipPath()) {
> - return false;
> + return HasNoOrValidClipPath() && HasNoOrValidMask() &&
> + HasNoFilterOrHasValidFilter();
> - }
> +}
maybe create a follow up bug to rename HasNoFilterOrHasValidFilter to be consistent with the other two i.e. to become HasNoOrHasValidFilter
Attachment #8817150 -
Flags: review?(longsonr) → review+
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
| Comment hidden (mozreview-request) |
Comment 30•9 years ago
|
||
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/377972df07e0
Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource. r=longsonr+218550
https://hg.mozilla.org/integration/autoland/rev/32b11d935bba
Part 2. Implement EffectProperties::HasInvalidClipPath. r=longsonr+218550
https://hg.mozilla.org/integration/autoland/rev/848bba1099dc
Part 3. Implement EffectProperties::HasInvalidMask. r=longsonr+218550
Comment 31•9 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/377972df07e0
https://hg.mozilla.org/mozilla-central/rev/32b11d935bba
https://hg.mozilla.org/mozilla-central/rev/848bba1099dc
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox53:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
You need to log in
before you can comment on or make changes to this bug.
Description
•