Граф коммитов

60 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew a8f81efd8e Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats
--HG--
rename : layout/base/FramePropertyTable.cpp => layout/base/FrameProperties.cpp
rename : layout/base/FramePropertyTable.h => layout/base/FrameProperties.h
2017-05-27 12:36:00 +01:00
cku 0fa11bffa0 Bug 1362000 - (follow-up) Simplify match logic in CSSMaskLayerUserData::operator==. r=mstange
Remove HasUserSpaceOnUseUnitsMaskOrClipPath since it's not necessary.
MozReview-Commit-ID: 2sen23m5GjE

--HG--
extra : rebase_source : fe15fc807daf79f6f2175224928a1d83736cf85b
2017-05-27 01:38:54 +08:00
cku 082f6c2f30 Bug 1362000 - When the position of masked frame changed, always regenerate mask layer if any of maskUnits/maskContentUnits/clipPathUnits is userSpaceOnUse. r=cjku
For SVG mask/clipPath, comparison at [1] is not enough to detect whether cached
mask layer is reusable duriang animation. Since aMaskItem->IsInvalid() may keep
return fasle during OMTA. Bring in new condition check in
CSSMaskLayerUserData::IsMaskReusable..

I do not create a reftest for this bug, the reason is almost the same with bug
1350663.

So I manually verified paiting result by visit this three pages:
 https://codepen.io/tadeuszwojcik/pen/ZKJwRE
 https://codepen.io/tadeuszwojcik/pen/oWexWW
 http://codepen.io/iiroullin/pen/oWEOOM

[1] https://hg.mozilla.org/mozilla-central/file/2bc714f86791/layout/painting/FrameLayerBuilder.cpp#l3887

MozReview-Commit-ID: 7lUKTMYPFXo

--HG--
extra : rebase_source : c3e4d7b9df0c335222f09d7ce7d6918c7dbad00e
extra : source : 4717af028474a700a2b7e81eecae142f2ab82ff1
2017-05-12 20:17:14 +08:00
Emilio Cobos Álvarez 23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
cku 71f1a61edb Bug 1357432 - Part 2. Implement nsSVGEffects::GetBaseURLForLocalRef to export local-ref-url-resolving logic. r=heycam
ResolveURLUsingLocalRef is designed to be internally used by
nsSVGEffects::Get-{SVGEffect}-URI functions. Since we also need it in
SVGUseElement::LookupHref, make it public in nsSVGEffects.

MozReview-Commit-ID: Hsvs8Uzahrz

--HG--
extra : rebase_source : 54698a477a2ebb3f635fb3a77f6bc39b1741b05b
2017-04-20 15:58:19 +08:00
cku 6a92a74443 Bug 1345052 - Remove EffectProperties::MightHaveNoneSVGMask. r=heycam
MozReview-Commit-ID: 3WFAjwhBkDp

--HG--
extra : rebase_source : 1840ab0b7d156e4ff6e65ebe1f6127e5975ac6ac
2017-03-07 17:01:31 +08:00
cku e50551a66d Bug 1323157 - Rename HasNoFilterOrHasValidFilter as HasNoOrValidFilter. r=longsonr+218550
MozReview-Commit-ID: GQzPf9Qy8LJ

--HG--
extra : rebase_source : d03d5609a8ed2eddaf596a019775a35bfd7d2f24
2016-12-13 19:40:27 +08:00
cku 65237b3417 Bug 1322330 - Part 3. Implement EffectProperties::HasInvalidMask. r=longsonr+218550
MozReview-Commit-ID: 7bEheewinTl

--HG--
extra : rebase_source : e695fae9a595c65a28b45e7e0f66690b9afb750c
2016-12-07 00:11:06 -10:00
cku fb19c45aa9 Bug 1322330 - Part 2. Implement EffectProperties::HasInvalidClipPath. r=longsonr+218550
MozReview-Commit-ID: F3m4UZ0ET9x

--HG--
extra : rebase_source : aa11ea80bc566f287095ad91f721a2f70870c13c
2016-12-06 21:28:47 -10:00
cku 932164f048 Bug 1322330 - Part 1. Remove EffectProperties::GetFirstMaskFrame and implement EffectProperties::HasInvalidMaskOrClipPathResource. r=longsonr+218550
MozReview-Commit-ID: 4nfhL7btNFT

--HG--
extra : rebase_source : 37748f1858f9ea42e849cb02ef086183b8a52458
2016-12-06 16:12:36 -10:00
cku a46dd4f00e Bug 1320364 - Correct NS_ASSERTION failure condition in GetPreEffectsVisualOverflowRect. r=heycam
MozReview-Commit-ID: 4675cFLehK4

--HG--
extra : rebase_source : 5ff6778a558e2773b926d9317fef34cdd79e94e6
2016-11-28 16:26:34 +08:00
Cameron McCormack e07dbc8da6 Bug 1298774 - Part 6: Make SVG marker properties use css::URLValue for storage instead of FragmentOrURL. r=cjku
MozReview-Commit-ID: 8OQWmDpP7Ax

--HG--
extra : rebase_source : f372d5d77481bc71d49d0f7446244f6e9162d0ac
2016-10-11 14:56:11 +08:00
tlin@mozilla.com 3100ef24af Bug 1295084 Part 1 - Move FragmentOrURL into mozilla namespace. r=dholbert
--HG--
extra : rebase_source : 2d4be5845d11c03560c7cd3fd60417b47f2a6dac
2016-08-25 09:59:51 +00:00
cku e39570c057 Bug 1291280 - Part 2. Declare nsStyleImageLayers::Layer::mSourceURI as FragmentOrURI r=heycam
MozReview-Commit-ID: 6KFb7MjlLqj

--HG--
extra : rebase_source : 24ac046807f12e3bea6717baab962de94d8fafc5
2016-08-06 06:38:44 +08:00
cku e5a7157308 Bug 652991 - Part 12. Correct pointer/refernce parameter convention. r=me
MozReview-Commit-ID: 2QTCJxnaAi2

--HG--
extra : rebase_source : e83d8d5afd9ecfbc5a685a3e5b7d4324f0333dce
extra : amend_source : c61aa20f453bdc9e76112d50beb7e07224709059
2016-08-02 19:06:14 +08:00
cku 9e967a4f21 Bug 652991 - Part 9. Using FragmentOrURL to represent PanitServer url. r=heycam
MozReview-Commit-ID: IZf0fGantoB

--HG--
extra : rebase_source : 201786ad6a890bb96f5f4384b1420802c926373f
extra : source : 1a80ce736d77b1dba6d9cf53c8a20b5a6078ac6d
2016-07-05 01:00:15 +08:00
cku 856763a293 Bug 652991 - Part 7. Using FragmentOrURL to represent SVG filter url. r=heycam
MozReview-Commit-ID: F6BpTQfC82i

--HG--
extra : rebase_source : 07c2e6fb662b00c453a5d491722267f810ef3fa7
extra : source : 3e53712a3b48bb771a2faeafc1603eb10fbb851f
2016-07-23 16:16:59 +08:00
cku 25577ba9c8 Bug 652991 - Part 5. Using FragmentOrURL to represent SVG clippath. r=heycam
MozReview-Commit-ID: BErpWUQ5iQ1

--HG--
extra : rebase_source : 16ed0cd6bb1fd3bc7ac91b33078c9938306a69b6
extra : source : fd15e7962cffec5b2c1f101a36e32dcdce17146c
2016-07-05 00:59:57 +08:00
cku 385c8ddfb0 Bug 652991 - Part 3. Using FragmentOrURL to represent SVG maker url. r=heycam
MozReview-Commit-ID: IQDGL7j5p1q

--HG--
extra : rebase_source : 3dcfca05e5dd9056c6a332da1e4caa2e7aeaa4b3
2016-06-24 02:11:51 +08:00
Olli Pettay ef55583835 Bug 1286183 - Improve SVGEffects' unlinking. r=mstange 2016-07-15 02:40:30 +03:00
Brad Werth bb6b3396a0 Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Phil Ringnalda 28ae5ce216 Back out changeset 0bb00282a4c2 (bug 1243559) for widespread SVG assertion failures
CLOSED TREE
2016-06-22 18:45:08 -07:00
Brad Werth 179aa18d0d Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron
--HG--
extra : rebase_source : fd19554f1611f8028a364ce93e833d8939688bfb
2016-06-21 13:17:11 -07:00
CJKu fb8594dce2 Bug 1228280 - Part 8. Keep style consistent and stop doing null check for return value of operator new
MozReview-Commit-ID: GoK0xuCWTP
2016-05-19 15:44:42 +08:00
CJKu 936ab8c243 Bug 1228280 - Part 4. Create nsSVGMaskProperty to carry multiple mask info;
MozReview-Commit-ID: LPTqls7wvqJ
2016-05-19 15:43:55 +08:00
Jonathan Watt eef9767c21 No bug - Mark some SVG classes as final. r=sparky 2016-05-06 17:25:55 +01:00
Xidorn Quan 00b4af1798 Bug 1230034 part 10 - Convert remaining frame properties to by typed and remove the unsafe declaring macro. r=dbaron
--HG--
extra : source : 19140dd4f1640c4600a0f9e0ff790b44f0cd83ca
2016-01-28 14:23:59 +11:00
Xidorn Quan e397870be2 Bug 1230034 part 5 - Convert all frame properties which use DeleteValue and ReleaseValue as destructor to be typesafe. r=dbaron
By changing signature of those two functions, we make compiler complain about
all their existing uses, so we can find all of them and convert them.

Some of the callsites of Get() with those properties are also converted, but not
all of them. It is fine because if there is any incorrect conversion, compilers
is able to find out now. So they are completely typesafe.

--HG--
extra : source : 808415985d3d446f18941eb007a9be9d69d180ce
2016-01-28 14:23:59 +11:00
Xidorn Quan 6ad1442a53 Bug 1230034 part 4 - Make FramePropertyDescriptor to be a template. r=froydnj,dbaron
This patch makes methods of FramePropertyTable and FrameProperties to be
simple template wrapper functions. Then it converts all references to
FramePropertyDescriptor to use "void" parameter to simulate the current
unsafe behavior.

SmallValueHolder is used for storing small values like int32_t, float,
which can fit in the size of a pointer directly, and thus no lifetime
management is needed.

--HG--
extra : source : 88b2723cddf119d73d8a442d8238b50406e9d604
2016-01-28 14:23:59 +11:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Michael Layzell b8f6b461c9 Bug 1181323 - Move nsSVGRenderingObserver's isupports/refcounting decl to subclasses, since one subclass (nsSVGFilterReference) already has its own redundant copy of the decl. r=dholbert
--HG--
extra : rebase_source : 25559d56eeab9249fcbf5112bb4b578bd9e96eb3
2015-07-09 20:32:00 +02:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Seth Fowler a271bba567 Bug 1128356 - Add template functions for common frame property destructors. r=dbaron 2015-02-04 15:22:27 -08:00
Ehsan Akhgari 40201d7706 Bug 1065667 - Fix more bad implicit ctors in layout; r=roc 2014-09-11 15:41:21 -04:00
Markus Stange 1d10ec322f Bug 1062832 - Make nsSVGFilterChainObserver participate in cycle collection. r=roc 2014-09-09 17:14:46 +02:00
Markus Stange 291a8d4966 Bug 1062832 - Create abstract class nsSVGFilterChainObserver for observers without frames. r=roc 2014-09-09 17:14:46 +02:00
Markus Stange b12757247a Bug 1062832 - Move frame invalidation from nsSVGFilterReference to nsSVGFilterProperty. r=roc 2014-09-09 17:14:46 +02:00
Markus Stange 5ca816d536 Bug 1062832 - Remove frame handling from nsSVGIDRenderingObserver and put it into nsSVGRenderingObserverProperty. r=roc 2014-09-09 17:14:45 +02:00
Markus Stange 0184e500c3 Bug 1062832 - Use nsRefPtr in the filter references array instead of manual refcounting. r=roc 2014-09-09 17:14:45 +02:00
Markus Stange 9eefe61541 Bug 1062832 - Remove nsSVGFilterProperty::mFilters. r=roc 2014-09-09 17:14:44 +02:00
Ehsan Akhgari 60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Trevor Saunders fd5e9d1fcc bug 1047696 - mark a number of classes MOZ_FINAL to get compilers to devirtualize more r=froydnj 2014-08-05 13:33:55 -04:00
Nicholas Nethercote a7cf4142b4 Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params

--HG--
extra : rebase_source : c25987eb11bae197218d5fc53b77def19afa36ac
2014-08-06 06:31:21 -07:00
Daniel Holbert 5f7fe38bc8 (no bug) Drop end-of-line whitespace in SVG filter code. (whitespace-only, so DONTBUILD) 2014-07-31 17:37:35 -07:00
Andrew McCreight c3a80ae7ac Bug 1038207 - Fix various classes that reimplement nsISupports. r=ehsan 2014-07-14 12:21:34 -07:00
Benoit Jacob 487ba5e6bf Bug 1035394 - Fix dangerous public destructors in layout - r=dbaron 2014-07-08 17:23:18 -04:00
Benoit Jacob e1b7dbca34 Bug 1028588 - Fix dangerous public destructors in layout/ - r=dbaron 2014-06-23 18:40:01 -04:00
L. David Baron 03ba2e465b Bug 976350 patch 1: Move the contents of nsTraceRefcnt.h into nsISupportsImpl.h. r=bsmedberg
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
2014-02-26 13:36:35 -08:00
Max Vujovic 4cee698abc Bug 948265 - Pass an nsStyleFilter chain instead of an nsSVGFilterFrame into nsSVGFilterInstance. r=roc 2014-02-24 10:22:58 -05:00