Complications:
- had to copy ReftestManifest into a test zip
- reftest harness was emitting multiple suite_start log entries with --repeat
- some extra path manipulation required to find reftests
This was just moved from the old code, but we always call that function in
CreateAnonymousContent, so no need to.
MozReview-Commit-ID: 1zqmQM2KdpW
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
--HG--
extra : rebase_source : c8884cca80fabf3fbd7ad7580b9755e6c6b1dd3e
Removes the nsIDOMHTMLObjectElement XPCOM interface, replacing it with
HTMLObjectElement and FromContent conversion usage.
MozReview-Commit-ID: dmsjSO97uh
--HG--
extra : rebase_source : 9b2c25b8681f754bc34233afccdb6fc5d38f0804
Those structs do not have any private section, so those "friend struct"
declarations are not needed.
MozReview-Commit-ID: BYPPPLAdiEQ
--HG--
extra : rebase_source : 58cb78f8d6f8c60c7345ece204326cf580d5905f
In order to let necko postpone the load of favicon, we have to set request context ID to the http channel that is created to load favicon.
This patch starts with passing a request context ID to nsContentUtils::LoadImage and makes other necessary changes to set the request context ID to the channel.
For layers-full mode, we set the backface-visibility to visible because
visibility would be handled by FLB and layers.
MozReview-Commit-ID: CUbeUabfC7K
For layers-full mode, we set the backface-visibility to visible because
visibility would be handled by FLB and layers.
MozReview-Commit-ID: CUbeUabfC7K
--HG--
extra : rebase_source : ae88579f3718884bd4ddd89dfc3885bada3f15a4
According to the spec, if one of the matrices for transform interpolation is
non-invertible, the used animation function must fall-back to a discrete
animation. However, in the current implementation, we always use an identity
matrix as a fallback for the non-invertible matrix.
Decompose2DMatrix and Decompose3DMatrix both return a boolean, but we just
never use it. So, in this patch, we use the returned boolean from the matrix
decomposition as a condition, and do the fallback discrete procedure for the
non-invertible matrices case.
MozReview-Commit-ID: E7i1a1MJOXN
--HG--
extra : rebase_source : 3dc9b777793dd783cd5e1c4ff750b6f8db0d2185
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.
MozReview-Commit-ID: L9UE3gXHG4Q
--HG--
extra : source : 37d74bf745b23542251cc6b021d6aabb5ffadea1
extra : intermediate-source : 0402b4bd34c293b44c76de22418899420c8e405b
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.
MozReview-Commit-ID: H9I6vNDMdIr
--HG--
extra : rebase_source : cf537a1f65af003c6c4f8919b925b0f305c1dd4d
extra : source : 13b89ce4e6a66c840f82a335c71f5a12938aba22
The NS_LITERAL_CSTRING macro creates a temporary nsLiteralCString to encapsulate the string literal and its length, but AssignLiteral() can determine the string literal's length at compile-time without nsLiteralCString.
MozReview-Commit-ID: DbTW5Bhd9E1
--HG--
extra : rebase_source : b27f666e5ca832d814fb6846208474e1ec66e5f4
extra : source : 9ff4e11402a9a43ed90298a9c354b0164cf9414f
I noticed this error message on fixing dom/workers/test/test_suspend.html:
WARNING: NS_ENSURE_TRUE(mDocViewer) failed:
file layout/base/nsDocumentViewer.cpp, line 3863
It happens when a nsDocumentViewer::Close() is followed by a
nsDocumentViewer::Open(), the viewer would have been disconnected. Since it
takes only one-line change to fix I just include it in this bug.
MozReview-Commit-ID: LMT2PJkUqi1
--HG--
extra : rebase_source : de236f40fdf55c877fd7fb4fe7daab963a82d6f0
ServoStyleSetSizes now has two uses, one for the Stylist, and one for the UA
cache, and so the patch removes 'Stylist' from the field names.
Example output from about:memory:
> +----1,359,608 B (00.55%) -- layout
> | +----756,488 B (00.31%) -- style-sheet-cache [2]
> | +----393,968 B (00.16%) -- servo-ua-cache
> | | +--234,496 B (00.10%) -- element-and-pseudos-maps
> | | +---59,648 B (00.02%) -- revalidation-selectors
> | | +---58,320 B (00.02%) -- invalidation-map
> | | +---30,752 B (00.01%) -- other
> | | +---10,752 B (00.00%) -- precomputed-pseudos
MozReview-Commit-ID: 8oxuJO0ojp
--HG--
extra : rebase_source : 7d86216967259b71df7280261d025cc65bf00ba4
The nsSimplePageSequenceFrame::Reflow calls DateTimeFormat::FormatTime().
In 32 bit environment, this conversion will overflow. So this patch will use
DateTimeFormat::FormatPRTime() instead of it.
MozReview-Commit-ID: 3b1GhlrJDKM
--HG--
extra : rebase_source : 432c4d7c6081694251b7cba08895e855d7b1e341
Both nsSVGMarkerProperty::DoUpdate and nsSVGPaintingProperty::DoUpdate call
nsSVGRenderingObserverProperty::DoUpdate which takes care of posting the
nsChangeHint_InvalidateRenderingObservers change hint. There is no need for
these methods to do that again.
Android build uses cross compiler toolchain, so clang require --target option.
Also, since other options depend on NDK path, it should be set by
BINDGEN_CFLAGS environment value or bug 1397764.
MozReview-Commit-ID: 7jSSV7A5Z3q
--HG--
extra : rebase_source : f719b5130b61ffc2bd9e318103730ecbcccc185b
This makes "shape-outside" be able to transition between percent and pixel
shape-coordinates. This patch is similar to what bug 1266570 fixed for
"clip-path".
This will fix failures in layout/style/test/test_transitions_per_property.html
after introducing Part 4.
MozReview-Commit-ID: CAgXG39nUIl
--HG--
extra : rebase_source : 5e502a1152f780170991f0bb8c4862e6fbe244b5
This function can be used to implement animation for <basic-shape> for
shape-outside, so I remove the clip path in naming to make it more general.
MozReview-Commit-ID: LwVe0Dk5Web
--HG--
extra : rebase_source : eb0136c79b494222cca38ebd68d62f3f825bd29e
Currently reftest.jsm uses logger.testEnd(..) to log all kinds of different
potential failures, from proper test failures to harness issues. This means
there are all kinds of edge cases that would cause multiple testEnd messages to
get logged, something the structured log protocol is supposed to prevent.
This modifies the reftest harness to instead use testStatus for everything. The
testEnd call will always be logged with status "OK". This required some changes
to the reftest formatter and reftest selftests.
MozReview-Commit-ID: 8RxsmHW49oy
--HG--
extra : rebase_source : 2f53e63f00bfc5e0e751b0f2bb3dc67477dc07eb
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.
These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.
- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>
- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
- Count() --> Length()
- ObjectAt() --> ElementAt()
- AppendObject() --> AppendElement()
- RemoveObjectAt() --> RemoveElementAt()
- ns*Hashtable<nsISupportsHashKey, ...> -->
ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>
- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
- This requires adding a Get() method to nsRefPtrHashtable that it lacks but
nsInterfaceHashtable has.
- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
- nsArrayBase::Create() --> nsTArray()
- GetLength() --> Length()
- do_QueryElementAt() --> operator[]
The patch also has some changes to Rust code that manipulates nsIAtom.
MozReview-Commit-ID: DykOl8aEnUJ
--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
As noted in my code-comment here: Gecko's CSS parser incorrectly accepts this
CSS -- wherease Stylo correctly rejects it. Rather than trying to fix this in
Gecko, I'm just adding it in such a way that our expectation changes depending
on which CSS engine we're using. This lets us regression-test this in our
now-default stylo configuration, and still detect accidental/unexpected
behavior-changes in Gecko.
MozReview-Commit-ID: whLGIrh7TQ
--HG--
extra : rebase_source : fd80ea3ca3ef0a39d1ceae36db11ec2a9e281e25
The variables (basicShapeSVGBoxValues, etc.) in property_database.js are
moved to the beginning of the file so that they're defined before usage.
MozReview-Commit-ID: 7L3obIY1alP
--HG--
extra : rebase_source : 6c3dff5ecbdad8ef6cf1a49953e4ad1001620b6c
`MallocSizeOfOps::enclosing_size_of_op` is an `Option<>` type, and the panic in
question is caused by not providing a value in a case where it's needed for
measuring a HashSet.
HashMaps and HashSets are common enough that it makes sense to make
`enclosing_size_of_op` non-optional, which this patch does.
MozReview-Commit-ID: IB2aRuXHj8E
--HG--
extra : rebase_source : a6f593b718ca9e92a7a36ca7e2063a01e11c7e04
nsReflowStatus::IsEmpty() assertions are added after DISPLAY_REFLOW in the
beginning of the Reflow().
A few Reflow() implementations have Reset() calls at the end which are left
in place by this patch (with an explanatory comment added to each). These
ending Reset()s are only needed for cases where a non-splittable frame
passes its own nsReflowStatus to a child's reflow method. Just in case the
child leaves a "not fully complete" value in the nsReflowStatus, the
non-splittable parent frame must clear out the nsReflowStatus before
returning, so that its own parent doesn't then try to split it.
MozReview-Commit-ID: 6Jj3jfMAqj4
--HG--
extra : rebase_source : e1fe6a775ad97e16a6d7cc224634ff962ccb0fbf
This ensures the Reflow() call in nsContainerFrame::ReflowChild() is using
an empty reflow status.
MozReview-Commit-ID: K2Ln2i4XkB5
--HG--
extra : rebase_source : ec74a2fece0cda7e61f112e778afe13f128dc76b
This ensures the nsIFrame::Reflow() call in nsLineLayout::ReflowFrame() is
using an empty reflow status.
MozReview-Commit-ID: EBHs8xX7MI1
--HG--
extra : rebase_source : 806d5b542e1165b80e98d154c10d8c1c56b26a74
The only caller (nsAbsoluteContainingBlock::Reflow()) declares
nsReflowStatus before passing it in. Add an assertion to record this
knowledge.
MozReview-Commit-ID: 8M3Oi38nDyG
--HG--
extra : rebase_source : 296239e3cdbf74e9dc19d3c89e7ecdb68b13e4d4
It's good to save a copy constructor call.
Also, make nsBlockFrame::SplitFloat() return void because the only
caller (BlockReflowInput::FlowAndPlaceFloat()) doesn't check its return
value, and (more importantly) because it only ever returns NS_OK.
MozReview-Commit-ID: 9LmDCXd7xGS
--HG--
extra : rebase_source : ea5fb41890c4ca58cd1d7f400a7c1becd66c3fdd