mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
merge b2g-inbound to mozilla-central
This commit is contained in:
commit
f5443911b3
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="70b698c2e8d1764a1e27527a102df6452e405b9a"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="89c5816399e71bda92a8959b5b771c04d6672ea3"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="a9e08b91e9cd1f0930f16cfc49ec72f63575d5fe">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="70b698c2e8d1764a1e27527a102df6452e405b9a"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="d11f524d00cacf5ba0dfbf25e4aa2158b1c3a036"/>
|
||||
|
@ -4,6 +4,6 @@
|
||||
"remote": "",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "f2784b078a4b58c1f0af8238d5325d0f05dc9fc0",
|
||||
"revision": "ee69e9abde3ee9bfa17d255edcba9ac3f5700883",
|
||||
"repo_path": "/integration/gaia-central"
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="70b698c2e8d1764a1e27527a102df6452e405b9a"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="89c5816399e71bda92a8959b5b771c04d6672ea3"/>
|
||||
|
@ -17,7 +17,7 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f64a5aec7d8138d85de6862b8c6b999abc55acca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0e974ff33ba47f3d1e59df1e0ad534f1bbe3ef8a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="266bca6e60dad43e395f38b66edabe8bdc882334"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1f6a1fe07f81c5bc5e1d079c9b60f7f78ca2bf4f"/>
|
||||
|
@ -1512,6 +1512,8 @@ DeviceStorageFile::DoUnmount(nsAString& aStatus)
|
||||
void
|
||||
DeviceStorageFile::GetStatus(nsAString& aStatus)
|
||||
{
|
||||
aStatus.AssignLiteral("unavailable");
|
||||
|
||||
DeviceStorageTypeChecker* typeChecker
|
||||
= DeviceStorageTypeChecker::CreateOrGet();
|
||||
if (!typeChecker) {
|
||||
@ -1522,7 +1524,6 @@ DeviceStorageFile::GetStatus(nsAString& aStatus)
|
||||
return;
|
||||
}
|
||||
|
||||
aStatus.AssignLiteral("unavailable");
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
nsCOMPtr<nsIVolumeService> vs = do_GetService(NS_VOLUMESERVICE_CONTRACTID);
|
||||
NS_ENSURE_TRUE_VOID(vs);
|
||||
@ -1565,6 +1566,8 @@ DeviceStorageFile::GetStatus(nsAString& aStatus)
|
||||
void
|
||||
DeviceStorageFile::GetStorageStatus(nsAString& aStatus)
|
||||
{
|
||||
aStatus.AssignLiteral("undefined");
|
||||
|
||||
DeviceStorageTypeChecker* typeChecker
|
||||
= DeviceStorageTypeChecker::CreateOrGet();
|
||||
if (!typeChecker) {
|
||||
@ -1575,7 +1578,6 @@ DeviceStorageFile::GetStorageStatus(nsAString& aStatus)
|
||||
return;
|
||||
}
|
||||
|
||||
aStatus.AssignLiteral("undefined");
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
nsCOMPtr<nsIVolumeService> vs = do_GetService(NS_VOLUMESERVICE_CONTRACTID);
|
||||
NS_ENSURE_TRUE_VOID(vs);
|
||||
@ -3361,7 +3363,12 @@ nsDOMDeviceStorage::GetDefaultStorageName(const nsAString& aStorageType,
|
||||
GetOrderedVolumeNames(volNames);
|
||||
if (volNames.Length() > 0) {
|
||||
aStorageName = volNames[0];
|
||||
return;
|
||||
}
|
||||
|
||||
// No volumes available, return the empty string. This is normal for
|
||||
// b2g-desktop.
|
||||
aStorageName.Truncate();
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -309,6 +309,7 @@ nsresult imgFrame::Optimize()
|
||||
#ifdef XP_MACOSX
|
||||
mQuartzSurface = nullptr;
|
||||
#endif
|
||||
mDrawSurface = nullptr;
|
||||
|
||||
// We just dumped most of our allocated memory, so tell the discard
|
||||
// tracker that we're not using any at all.
|
||||
@ -368,6 +369,7 @@ nsresult imgFrame::Optimize()
|
||||
mImageSurface = surf;
|
||||
mVBuf = buf;
|
||||
mFormat = optFormat;
|
||||
mDrawSurface = nullptr;
|
||||
}
|
||||
#else
|
||||
if (mOptSurface == nullptr)
|
||||
@ -383,6 +385,7 @@ nsresult imgFrame::Optimize()
|
||||
#ifdef XP_MACOSX
|
||||
mQuartzSurface = nullptr;
|
||||
#endif
|
||||
mDrawSurface = nullptr;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
@ -500,11 +503,28 @@ bool imgFrame::Draw(gfxContext *aContext, GraphicsFilter aFilter,
|
||||
NS_ASSERTION(!sourceRect.Intersect(subimage).IsEmpty(),
|
||||
"We must be allowed to sample *some* source pixels!");
|
||||
|
||||
nsRefPtr<gfxASurface> surf;
|
||||
if (!mSinglePixel) {
|
||||
surf = ThebesSurface();
|
||||
if (!surf)
|
||||
nsRefPtr<gfxASurface> surf = CachedThebesSurface();
|
||||
VolatileBufferPtr<unsigned char> ref(mVBuf);
|
||||
if (!mSinglePixel && !surf) {
|
||||
if (ref.WasBufferPurged()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
surf = mDrawSurface;
|
||||
if (!surf) {
|
||||
long stride = gfxImageSurface::ComputeStride(mSize, mFormat);
|
||||
nsRefPtr<gfxImageSurface> imgSurf =
|
||||
new gfxImageSurface(ref, mSize, stride, mFormat);
|
||||
#if defined(XP_MACOSX)
|
||||
surf = mDrawSurface = new gfxQuartzImageSurface(imgSurf);
|
||||
#else
|
||||
surf = mDrawSurface = imgSurf;
|
||||
#endif
|
||||
}
|
||||
if (!surf || surf->CairoStatus()) {
|
||||
mDrawSurface = nullptr;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
bool doTile = !imageRect.Contains(sourceRect) &&
|
||||
|
@ -112,7 +112,7 @@ public:
|
||||
return mSinglePixel;
|
||||
}
|
||||
|
||||
gfxASurface* ThebesSurface()
|
||||
gfxASurface* CachedThebesSurface()
|
||||
{
|
||||
if (mOptSurface)
|
||||
return mOptSurface;
|
||||
@ -125,22 +125,30 @@ public:
|
||||
#endif
|
||||
if (mImageSurface)
|
||||
return mImageSurface;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
gfxASurface* ThebesSurface()
|
||||
{
|
||||
gfxASurface *sur = CachedThebesSurface();
|
||||
if (sur)
|
||||
return sur;
|
||||
if (mVBuf) {
|
||||
mozilla::VolatileBufferPtr<uint8_t> ref(mVBuf);
|
||||
if (ref.WasBufferPurged())
|
||||
return nullptr;
|
||||
|
||||
gfxImageSurface *sur =
|
||||
gfxImageSurface *imgSur =
|
||||
LockedImageSurface::CreateSurface(mVBuf, mSize, mFormat);
|
||||
#if defined(XP_MACOSX)
|
||||
// Manually addref and release to make sure the cairo surface isn't lost
|
||||
NS_ADDREF(sur);
|
||||
gfxQuartzImageSurface *quartzSur = new gfxQuartzImageSurface(sur);
|
||||
NS_ADDREF(imgSur);
|
||||
gfxQuartzImageSurface *quartzSur = new gfxQuartzImageSurface(imgSur);
|
||||
// quartzSur does not hold on to the gfxImageSurface
|
||||
NS_RELEASE(sur);
|
||||
NS_RELEASE(imgSur);
|
||||
return quartzSur;
|
||||
#else
|
||||
return sur;
|
||||
return imgSur;
|
||||
#endif
|
||||
}
|
||||
// We can return null here if we're single pixel optimized
|
||||
@ -194,6 +202,8 @@ private: // data
|
||||
nsRefPtr<gfxQuartzImageSurface> mQuartzSurface;
|
||||
#endif
|
||||
|
||||
nsRefPtr<gfxASurface> mDrawSurface;
|
||||
|
||||
nsIntSize mSize;
|
||||
nsIntPoint mOffset;
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "mozilla/mozalloc.h"
|
||||
#include "mozilla/RefPtr.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/NullPtr.h"
|
||||
|
||||
/* VolatileBuffer
|
||||
*
|
||||
@ -78,11 +79,18 @@ private:
|
||||
class VolatileBufferPtr_base {
|
||||
public:
|
||||
VolatileBufferPtr_base(VolatileBuffer* vbuf) : mVBuf(vbuf) {
|
||||
mPurged = !vbuf->Lock(&mMapping);
|
||||
if (vbuf) {
|
||||
mPurged = !vbuf->Lock(&mMapping);
|
||||
} else {
|
||||
mMapping = nullptr;
|
||||
mPurged = false;
|
||||
}
|
||||
}
|
||||
|
||||
~VolatileBufferPtr_base() {
|
||||
mVBuf->Unlock();
|
||||
if (mVBuf) {
|
||||
mVBuf->Unlock();
|
||||
}
|
||||
}
|
||||
|
||||
bool WasBufferPurged() const {
|
||||
|
Loading…
Reference in New Issue
Block a user