Closed
Bug 817442
Opened 13 years ago
Closed 12 years ago
Remove XPIDL from SVG classes
Categories
(Core :: SVG, defect)
Core
SVG
Tracking
()
RESOLVED
FIXED
mozilla20
People
(Reporter: dzbarsky, Assigned: dzbarsky)
References
Details
Attachments
(11 files, 5 obsolete files)
16.50 KB,
patch
|
bzbarsky
:
review+
jwatt
:
review+
|
Details | Diff | Splinter Review |
40.54 KB,
patch
|
bzbarsky
:
review+
jwatt
:
review+
|
Details | Diff | Splinter Review |
12.95 KB,
patch
|
bzbarsky
:
review+
jwatt
:
review+
|
Details | Diff | Splinter Review |
19.31 KB,
patch
|
bzbarsky
:
review+
jwatt
:
review+
|
Details | Diff | Splinter Review |
34.36 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
34.64 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
32.51 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
32.24 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
31.24 KB,
patch
|
dzbarsky
:
review+
|
Details | Diff | Splinter Review |
45.63 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
27.64 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•13 years ago
|
||
Attachment #687569 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 2•13 years ago
|
||
Attachment #687576 -
Flags: review?(bzbarsky)
![]() |
||
Comment 3•13 years ago
|
||
Comment on attachment 687569 [details] [diff] [review]
Part 1: nsIDOMSVGPointList
Looks fine to me, but please get an SVG peer to ok this too?
Attachment #687569 -
Flags: superreview?(jwatt)
![]() |
||
Updated•13 years ago
|
Attachment #687569 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 4•13 years ago
|
||
Comment on attachment 687576 [details] [diff] [review]
nsIDOMSVG(Animated)PreserveAspectRatio
Should the constants be static?
r=me with that, I think. Again, good to have an SVG peer look this over.
Attachment #687576 -
Flags: superreview?(jwatt)
Attachment #687576 -
Flags: review?(bzbarsky)
Attachment #687576 -
Flags: review+
Assignee | ||
Comment 5•13 years ago
|
||
Attachment #689433 -
Flags: superreview?(jwatt)
Attachment #689433 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 6•13 years ago
|
||
Attachment #689435 -
Flags: superreview?(jwatt)
Attachment #689435 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 7•13 years ago
|
||
Attachment #689437 -
Flags: superreview?(jwatt)
Attachment #689437 -
Flags: review?(bzbarsky)
![]() |
||
Comment 8•13 years ago
|
||
Comment on attachment 689433 [details] [diff] [review]
nsIDOMSVGAnimatedBoolean
r=me. I note you failed at your "no more patches" promise. ;)
Attachment #689433 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 9•13 years ago
|
||
Comment on attachment 689435 [details] [diff] [review]
nsIDOMSVGPathSegList
r=me
Attachment #689435 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 10•13 years ago
|
||
Comment on attachment 689437 [details] [diff] [review]
nsIDOMSVG(Animated)Angle
>+++ b/content/svg/content/src/SVGAngle.cpp
>+SVGAngle::GetValueAsString(nsAString& aValue)
>+{
>+ mVal->GetBaseValueString(aValue);
Looks wrong to me. Should't this use GetAnimValueString if mType == AnimValue?
>+++ b/content/svg/content/src/nsSVGMarkerElement.cpp
>+ dom::SVGAngle* angle = static_cast<dom::SVGAngle*>(aAngle);
That's totally not safe, because any JS object can be passed to a setter or method taking nsISupports. You need to actually check what sort of thing got passed in.
r- to get those sorted out.
Attachment #689437 -
Flags: review?(bzbarsky) → review-
Assignee | ||
Comment 11•13 years ago
|
||
Attachment #689437 -
Attachment is obsolete: true
Attachment #689437 -
Flags: superreview?(jwatt)
Attachment #690001 -
Flags: superreview?(jwatt)
Attachment #690001 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 12•13 years ago
|
||
Attachment #690001 -
Attachment is obsolete: true
Attachment #690001 -
Flags: superreview?(jwatt)
Attachment #690001 -
Flags: review?(bzbarsky)
Attachment #690003 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 13•13 years ago
|
||
I fixed the comment locally.
![]() |
||
Comment 14•13 years ago
|
||
Comment on attachment 690003 [details] [diff] [review]
nsIDOMSVG(Animated)Angle interdiff from last patch
r=me
Attachment #690003 -
Flags: review?(bzbarsky) → review+
Comment 15•13 years ago
|
||
Comment on attachment 690003 [details] [diff] [review]
nsIDOMSVG(Animated)Angle interdiff from last patch
>
>+// We make DOMSVGTransform a pseudo-interface to allow us to QI to it in order
>+// to check that the objects that scripts pass in are our our *native*
>+// transform objects.
DOMSVGTransform, I don't think so. Too much copy and paste here :-)
![]() |
||
Comment 16•13 years ago
|
||
Comment on attachment 687569 [details] [diff] [review]
Part 1: nsIDOMSVGPointList
Review of attachment 687569 [details] [diff] [review]:
-----------------------------------------------------------------
::: content/svg/content/src/nsSVGPolyElement.cpp
@@ +33,5 @@
>
> //----------------------------------------------------------------------
> // nsIDOMSGAnimatedPoints methods:
>
> +/* readonly attribute nsISupports points; */
I don't think this change is appropriate since this comment is supposed to indicate the interface that's implemented by the object that is returned via the outparam.
@@ +42,5 @@
> *aPoints = DOMSVGPointList::GetDOMWrapper(key, this, false).get();
> return NS_OK;
> }
>
> +/* readonly attribute nsISupports animatedPoints; */
Same here.
Attachment #687569 -
Flags: superreview?(jwatt) → superreview+
![]() |
||
Comment 17•13 years ago
|
||
Comment on attachment 687576 [details] [diff] [review]
nsIDOMSVG(Animated)PreserveAspectRatio
Review of attachment 687576 [details] [diff] [review]:
-----------------------------------------------------------------
::: content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp
@@ +77,5 @@
> "Unknown align");
>
> aAlignString.AssignASCII(
> sAlignStrings[aAlign -
> + SVG_PRESERVEASPECTRATIO_NONE]);
Move this up onto the line above now.
@@ +102,5 @@
> "Unknown meetOrSlice");
>
> aMeetOrSliceString.AssignASCII(
> sMeetOrSliceStrings[aMeetOrSlice -
> + SVG_MEETORSLICE_MEET]);
Move up.
@@ +216,5 @@
> GetAlignString(tmpString, mBaseVal.mAlign);
> aValueAsString.Append(tmpString);
>
> if (mBaseVal.mAlign !=
> + SVG_PRESERVEASPECTRATIO_NONE) {
Move up.
::: content/svg/content/src/SVGContentUtils.cpp
@@ +324,2 @@
> a < d) ||
> + (meetOrSlice == SVG_MEETORSLICE_SLICE &&
Could tidy this up too.
@@ +351,1 @@
> a < d)) {
And here.
::: content/svg/content/src/nsSVGImageElement.cpp
@@ +96,5 @@
> {
> return mLengthAttributes[HEIGHT].ToDOMAnimatedLength(aHeight, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
I don't think you should make this comment change to nsISupports. Mention the WebIDL interface name instead.
::: content/svg/content/src/nsSVGMarkerElement.cpp
@@ +121,5 @@
> {
> return mViewBox.ToDOMAnimatedRect(aViewBox, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
Same.
::: content/svg/content/src/nsSVGPatternElement.cpp
@@ +79,5 @@
> {
> return mViewBox.ToDOMAnimatedRect(aViewBox, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
Same.
::: content/svg/content/src/nsSVGSVGElement.cpp
@@ +624,5 @@
> {
> return mViewBox.ToDOMAnimatedRect(aViewBox, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
Same.
@@ +1145,5 @@
> ShouldSynthesizeViewBox()) {
> // If we're synthesizing a viewBox, use preserveAspectRatio="none";
> return SVGPreserveAspectRatio(
> + SVG_PRESERVEASPECTRATIO_NONE,
> + SVG_MEETORSLICE_SLICE);
Can be on one line now.
::: content/svg/content/src/nsSVGSymbolElement.cpp
@@ +93,5 @@
> {
> return mViewBox.ToDOMAnimatedRect(aViewBox, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
I don't think you should make this comment change.
::: content/svg/content/src/nsSVGViewElement.cpp
@@ +90,5 @@
> {
> return mViewBox.ToDOMAnimatedRect(aViewBox, this);
> }
>
> +/* readonly attribute nsISupports preserveAspectRatio; */
Same.
Attachment #687576 -
Flags: superreview?(jwatt) → superreview+
![]() |
||
Updated•13 years ago
|
Attachment #689433 -
Flags: superreview?(jwatt) → superreview+
![]() |
||
Comment 18•13 years ago
|
||
Comment on attachment 689435 [details] [diff] [review]
nsIDOMSVGPathSegList
Review of attachment 689435 [details] [diff] [review]:
-----------------------------------------------------------------
::: content/svg/content/src/nsSVGPathElement.cpp
@@ +317,5 @@
>
> //----------------------------------------------------------------------
> // nsIDOMSVGAnimatedPathData methods:
>
> +/* readonly attribute nsISupports pathSegList; */
Again, not liking the comment change to nsISupports.
@@ +325,5 @@
> *aPathSegList = DOMSVGPathSegList::GetDOMWrapper(key, this, false).get();
> return *aPathSegList ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
> }
>
> +/* readonly attribute nsISupports normalizedPathSegList; */
Here too.
@@ +331,5 @@
> {
> return NS_ERROR_NOT_IMPLEMENTED;
> }
>
> +/* readonly attribute nsISupports animatedPathSegList; */
Here too.
@@ +340,5 @@
> DOMSVGPathSegList::GetDOMWrapper(key, this, true).get();
> return *aAnimatedPathSegList ? NS_OK : NS_ERROR_OUT_OF_MEMORY;
> }
>
> +/* readonly attribute nsISupports animatedNormalizedPathSegList; */
Here too.
Attachment #689435 -
Flags: superreview?(jwatt) → superreview+
![]() |
||
Comment 19•13 years ago
|
||
And of course please address Robert's comment 15.
![]() |
||
Comment 20•13 years ago
|
||
Comment on attachment 687569 [details] [diff] [review]
Part 1: nsIDOMSVGPointList
Changing my sr+ to ar+ since I'm not a superreviewer.
Attachment #687569 -
Flags: superreview+ → review+
![]() |
||
Updated•13 years ago
|
Attachment #687576 -
Flags: superreview+ → review+
![]() |
||
Updated•13 years ago
|
Attachment #689433 -
Flags: superreview+ → review+
![]() |
||
Updated•13 years ago
|
Attachment #689435 -
Flags: superreview+ → review+
Assignee | ||
Comment 21•13 years ago
|
||
Attachment #692193 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 22•13 years ago
|
||
Attachment #692194 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 23•13 years ago
|
||
Attachment #692201 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•13 years ago
|
Attachment #692193 -
Flags: review?(jwatt)
Assignee | ||
Updated•13 years ago
|
Attachment #692194 -
Flags: review?(jwatt)
Assignee | ||
Updated•13 years ago
|
Attachment #692201 -
Flags: review?(jwatt)
Assignee | ||
Comment 24•13 years ago
|
||
Attachment #690003 -
Attachment is obsolete: true
Attachment #692506 -
Flags: review?(jwatt)
Assignee | ||
Updated•13 years ago
|
Attachment #692506 -
Attachment is obsolete: true
Attachment #692506 -
Flags: review?(jwatt)
Assignee | ||
Comment 25•13 years ago
|
||
Attachment #692517 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•13 years ago
|
Attachment #692517 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 26•13 years ago
|
||
Attachment #692518 -
Flags: review?(jwatt)
Assignee | ||
Updated•13 years ago
|
Attachment #692517 -
Flags: review?(bzbarsky) → review?(jwatt)
Assignee | ||
Updated•13 years ago
|
Attachment #692518 -
Attachment is patch: true
![]() |
||
Comment 27•13 years ago
|
||
Comment on attachment 692193 [details] [diff] [review]
nsIDOMSVG(Animated)TransformList
>+++ b/dom/interfaces/svg/nsIDOMSVGGradientElement.idl
>+ readonly attribute nsISupports gradientTransform;
Maybe comment that this is a SVGAnimatedTransformList, for when we're converting to WebIDL?
>+++ b/dom/interfaces/svg/nsIDOMSVGPatternElement.idl
>+ readonly attribute nsISupports patternTransform;
Likewise.
>+++ b/dom/interfaces/svg/nsIDOMSVGTransformable.idl
>+ readonly attribute nsISupports transform;
And here.
>+++ b/dom/interfaces/svg/nsIDOMSVGViewSpec.idl
>+ readonly attribute nsISupports transform;
And this one an SVGTransformList
r=me with that.
Attachment #692193 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 28•13 years ago
|
||
Comment on attachment 692194 [details] [diff] [review]
nsIDOMSVGTransform
>+++ b/dom/interfaces/svg/nsIDOMSVGSVGElement.idl
>+ nsISupports createSVGTransform();
>+ nsISupports createSVGTransformFromMatrix(in nsIDOMSVGMatrix matrix);
Please comment what the real type of the return value is, and r=me
Attachment #692194 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 29•13 years ago
|
||
Comment on attachment 692201 [details] [diff] [review]
nsIDOMSVGMatrix
>+++ b/dom/interfaces/svg/nsIDOMSVGLocatable.idl
>+ nsISupports getCTM();
>+ nsISupports getScreenCTM();
>+ nsISupports getTransformToElement(in nsIDOMSVGElement element);
The same comment-the-type drill.
>+++ b/dom/interfaces/svg/nsIDOMSVGPoint.idl
>+ nsIDOMSVGPoint matrixTransform(in nsISupports matrix);
And here.
>+++ b/dom/interfaces/svg/nsIDOMSVGSVGElement.idl
>+ nsISupports createSVGMatrix();
>+ nsISupports createSVGTransformFromMatrix(in nsISupports matrix);
And here.
r=me
Attachment #692201 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 30•13 years ago
|
||
Comment on attachment 692517 [details] [diff] [review]
nsIDOMSVG(Animated)NumberList
>+++ b/dom/interfaces/svg/nsIDOMSVGFilters.idl
>+ readonly attribute nsISupports values;
You know the drill.
>+ readonly attribute nsISupports tableValues;
And here.
>+ readonly attribute nsISupports kernelMatrix;
And here.
>+++ b/dom/interfaces/svg/nsIDOMSVGTextPositionElem.idl
>+ readonly attribute nsISupports rotate;
And here.
r=me
Attachment #692517 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 31•13 years ago
|
||
Sorry, I forgot to post this before.
Attachment #692553 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 32•13 years ago
|
||
Attachment #692553 -
Attachment is obsolete: true
Attachment #692553 -
Flags: review?(bzbarsky)
Attachment #692555 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•13 years ago
|
Attachment #692555 -
Flags: review?(jwatt)
![]() |
||
Comment 33•13 years ago
|
||
Comment on attachment 692555 [details] [diff] [review]
nsIDOMSVGPoint
r=me
Attachment #692555 -
Flags: review?(bzbarsky) → review+
![]() |
||
Comment 34•12 years ago
|
||
Regarding the general concept of removing the XPIDL code, dzbarsky tells me the most significant issue is that it makes it harder to use the classes from C++. I'm fine with that, since we don't really want to be using the heavyweight DOM objects internally.
longsonr, do you foresee any problems?
Assignee | ||
Updated•12 years ago
|
Attachment #692193 -
Flags: review?(jwatt)
Assignee | ||
Updated•12 years ago
|
Attachment #692194 -
Flags: review?(jwatt)
Assignee | ||
Updated•12 years ago
|
Attachment #692518 -
Flags: review?(jwatt) → review+
Assignee | ||
Updated•12 years ago
|
Attachment #692517 -
Flags: review?(jwatt)
Assignee | ||
Updated•12 years ago
|
Attachment #692201 -
Flags: review?(jwatt)
Assignee | ||
Updated•12 years ago
|
Attachment #692555 -
Flags: review?(jwatt)
Assignee | ||
Updated•12 years ago
|
Flags: needinfo?(longsonr)
Assignee | ||
Comment 35•12 years ago
|
||
Attachment #694702 -
Flags: review?(bzbarsky)
![]() |
||
Comment 36•12 years ago
|
||
Comment on attachment 694702 [details] [diff] [review]
nsIDOMSVG(Animated)LengthList
r=me
Attachment #694702 -
Flags: review?(bzbarsky) → review+
Comment 37•12 years ago
|
||
No, we've completely moved away from using heavyweight DOM objects and I don't think we'll be going back.
Flags: needinfo?(longsonr)
Assignee | ||
Comment 38•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/7fc1c750ee0c
https://hg.mozilla.org/integration/mozilla-inbound/rev/b4e40d2db9ad
https://hg.mozilla.org/integration/mozilla-inbound/rev/9b915ddf9d18
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b53a620ef9e
https://hg.mozilla.org/integration/mozilla-inbound/rev/f76cba206706
https://hg.mozilla.org/integration/mozilla-inbound/rev/822291ecc695
https://hg.mozilla.org/integration/mozilla-inbound/rev/ef22f0b8e466
https://hg.mozilla.org/integration/mozilla-inbound/rev/29225925d6e4
https://hg.mozilla.org/integration/mozilla-inbound/rev/6516c71accd0
https://hg.mozilla.org/integration/mozilla-inbound/rev/3d9587921eb9
https://hg.mozilla.org/integration/mozilla-inbound/rev/a8734f4f5d20
Whiteboard: [leave open]
Comment 40•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/7fc1c750ee0c
https://hg.mozilla.org/mozilla-central/rev/b4e40d2db9ad
https://hg.mozilla.org/mozilla-central/rev/9b915ddf9d18
https://hg.mozilla.org/mozilla-central/rev/8b53a620ef9e
https://hg.mozilla.org/mozilla-central/rev/f76cba206706
https://hg.mozilla.org/mozilla-central/rev/822291ecc695
https://hg.mozilla.org/mozilla-central/rev/ef22f0b8e466
https://hg.mozilla.org/mozilla-central/rev/29225925d6e4
https://hg.mozilla.org/mozilla-central/rev/6516c71accd0
https://hg.mozilla.org/mozilla-central/rev/3d9587921eb9
https://hg.mozilla.org/mozilla-central/rev/a8734f4f5d20
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in
before you can comment on or make changes to this bug.
Description
•