ConvertStringLineBreaks calls ConvertUnicharLineBreaksInSitu which uses
fallible allocation. We should make the potential allocation in |BeginWriting|
fallible as well and handle the failure. This also updates the callers to
|ConvertStringLineBreaks| to handle the error properly in release builds.
Tests to verify that the number of copies and moves are as expected.
Also check that the runnable is fully self-contained and can be used after the
initial function objects have been destroyed or moved-from.
MozReview-Commit-ID: ArwIG9BEhDX
--HG--
extra : rebase_source : b2ee07294fcff17b76da468ddbaeb2b62d600536
By perfect-forwarding its argument, we can automatically gain move semantics
optimization when storing the given function object into nsRunnableFunction.
Also it allows movable-only function objects.
Note that any reference is removed from the type to be stored, so that the
runnable always contain a concrete function object.
MozReview-Commit-ID: 9EZK84ZhMvR
--HG--
extra : rebase_source : e1f87c3284fda4df6d13839ea6a0b0c2ce196833
aOutputLeft is null checked and then dereferenced twice more in this function,
and all callers pass a non-null pointer. So just remove the null check.
--HG--
extra : rebase_source : 8190a51fde8434ac346a4e23db5ed4703762778c
Disabled on Mac (content processes need to use plugin-container.app for
UI reasons) and on Linux unless --disable-sandboxing (build issues).
Based on work by George Wright <george@mozilla.com>.
--HG--
extra : amend_source : 43986e25743de21e3ddfb7893e3ed550fe6eef76
nsCycleCollector.cpp has three different structs named "Block", which makes it
hard to read. This patch renames them as EdgeBlock, NodeBlock, and PurpleBlock.
--HG--
extra : rebase_source : cae17ba925559b625f65a4741ae0bb4bee99d078
15% of our "small" OOM crashes are allocations of this struct. Halving its size
will hopefully help reduce that.
--HG--
extra : rebase_source : 5480a540a9584899def045c1401a5aa9a271d72c
By perfect-forwarding its argument, we can automatically gain move semantics
optimization when storing the given function object into nsRunnableFunction.
Also it allows movable-only function objects.
MozReview-Commit-ID: 9EZK84ZhMvR
--HG--
extra : rebase_source : 9ec11f728d69d4b032d9ba4263241832030b383a
When using GetIIDForParamNoAlloc to get return paramter type, if param is nsIDOM*, it should get it by GetShimForParam.
When this situation, GetEntryFor Param tries to get nsIDOMDocument, so GetEntryForParam doesn't get entry. Then, GetShimForParam tries to get entry. But since it doesn't traverse parent objects, it will try to get nsIDocShell instead.
So it might not get correct entry.
MozReview-Commit-ID: LaOVymgFMgi
--HG--
extra : rebase_source : 9ce3b38872dd6bcabd473296cc5bda25c7d5ceab
extra : histedit_source : 385797913a2d76e2981b4106d572edd784145126
I don't think anyone is using this anymore. It would be good to assert that there
are no leaks, but that doesn't pass for me in a local build, and I don't have time
to chase it.