merge b2g-inbound to mozilla-central

This commit is contained in:
Carsten "Tomcat" Book 2014-04-03 12:48:14 +02:00
commit f5443911b3
15 changed files with 70 additions and 25 deletions

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -4,6 +4,6 @@
"remote": "",
"branch": ""
},
"revision": "f2784b078a4b58c1f0af8238d5325d0f05dc9fc0",
"revision": "ee69e9abde3ee9bfa17d255edcba9ac3f5700883",
"repo_path": "/integration/gaia-central"
}

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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

View File

@ -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) &&

View File

@ -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;

View File

@ -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 {