The IPDL code unconditionally calls forget() on any Shmem instances that are
sent over the IPC channel. This means that if the child process has a
SurfaceDescriptor containing a Shmem (such as a shmem-type SurfaceDescriptorBuffer)
then the shmem object in it will be zeroed out after sending it over IPC. In
order to still have access to the underlying SharedMemory, we need to make a
copy of the shmem or SurfaceDescriptor before doing the IPC call. Note that this
is true for safe and unsafe shmems.
MozReview-Commit-ID: KjEhPNiQhf9
In all of the places touched by this patch, the smart pointer we're
appending is about to become unused, so simply .forget()'ing its
reference into the appropriate nsCOMArray works just fine.
In an expression such as:
const auto& x = cond() ? AClass(...) : AClass();
the C++ standard specifies that the copy constructor of AClass is
invoked on the result of the conditional expression ([expr.cond]p6).
GCC does not honor this part of the specification, whereas clang does;
clang therefore complains about instances of code such as:
const auto& jstrVal = type == widget::PrefsHelper::PREF_STRING ?
jni::StringParam(strVal, aPrefName.Env()) :
jni::StringParam(nullptr);
as jni::StringParam is not copy-constructable.
The simplest solution that does not introduce unnecessary allocation
uses mozilla::Maybe to hold the temporary objects and to hide some of
the details of constructing objects in-place. The compiler may even be
able to optimize away some of the unnnecessary checks that Maybe
introduces (e.g. checking for whether the Maybe is a Some or None at
certain points).
This patch adds a new flag to the LifoAlloc structure, which would be used to
assert when we attempt to allocate a new chunk for the LifoAlloc. This ensure
that we assert (in debug builds) if we attempt to allocate beyong the reserved
space of the ballast.
fixes bug 1280497 by removing the assert and adding missing code in
permission manager.
--HG--
extra : amend_source : 35cf87cc1a13fbb9cbe135a004373783c681ed6b
Due to the conflation, we were returning the wrong thing on get_attribute,
Updated tests to call get_property when that is what they meant.
MozReview-Commit-ID: AY6bd3RECvV
--HG--
extra : rebase_source : d4063cb5f923ff48a408269bf9a4ee72198b707e
Using the Selenium atom we are conflating properties and attributes which is not
thing we really want to be doing.
MozReview-Commit-ID: HdZOz1jQrwz
--HG--
extra : rebase_source : 70118dba39bb1a72e78a264d2a71beff3671f9cb
As it happens, these testcases don't actually have any padding. So for them,
"box-sizing: padding-box" is equivalent to the default "content-box" behavior,
anyway. So, this change (and the unsupporting of 'padding-box') doesn't impact
these tests' rendering.
MozReview-Commit-ID: JPTwmahnOti
Also rename mOriginalFloats to mOriginalFloat.
MozReview-Commit-ID: COfmU34CtJU
--HG--
extra : rebase_source : 5b203dd9f0161f353a4a0b95003afe4af1d1480e