Bug 914426. Don't try to dump DeprecatedTextureHost contents unless HTML tree dumping is enabled. Also, be lenient about null values and unknown formats. r=nrc

--HG--
extra : rebase_source : bc7aff0dacdea4a7c71bdb659774fd96a25fa529
This commit is contained in:
Robert O'Callahan 2013-09-09 17:08:42 -07:00
Родитель ffae4af8c4
Коммит fe273715cd
3 изменённых файлов: 26 добавлений и 29 удалений

Просмотреть файл

@ -229,28 +229,26 @@ ContentHostBase::Dump(FILE* aFile,
const char* aPrefix,
bool aDumpHtml)
{
if (!aDumpHtml) {
return;
}
if (!aFile) {
aFile = stderr;
}
if (aDumpHtml) {
fprintf(aFile, "<ul>");
}
fprintf(aFile, "<ul>");
if (mDeprecatedTextureHost) {
fprintf(aFile, "%s", aPrefix);
fprintf(aFile, aDumpHtml ? "<li> <a href=" : "Front buffer: ");
fprintf(aFile, "<li> <a href=");
DumpDeprecatedTextureHost(aFile, mDeprecatedTextureHost);
fprintf(aFile, aDumpHtml ? "> Front buffer </a></li> " : " ");
fprintf(aFile, "> Front buffer </a></li> ");
}
if (mDeprecatedTextureHostOnWhite) {
fprintf(aFile, "%s", aPrefix);
fprintf(aFile, aDumpHtml ? "<li> <a href=" : "DeprecatedTextureHost on white: ");
fprintf(aFile, "<li> <a href=");
DumpDeprecatedTextureHost(aFile, mDeprecatedTextureHostOnWhite);
fprintf(aFile, aDumpHtml ? "> Front buffer on white </a> </li> " : " ");
fprintf(aFile, "> Front buffer on white </a> </li> ");
}
if (aDumpHtml) {
fprintf(aFile, "</ul>");
}
fprintf(aFile, "</ul>");
}
#endif
@ -754,28 +752,26 @@ ContentHostDoubleBuffered::Dump(FILE* aFile,
bool aDumpHtml)
{
ContentHostBase::Dump(aFile, aPrefix, aDumpHtml);
if (!aDumpHtml) {
return;
}
if (!aFile) {
aFile = stderr;
}
if (aDumpHtml) {
fprintf(aFile, "<ul>");
}
fprintf(aFile, "<ul>");
if (mBackHost) {
fprintf(aFile, "%s", aPrefix);
fprintf(aFile, aDumpHtml ? "<li> <a href=" : "Back buffer: ");
fprintf(aFile, "<li> <a href=");
DumpDeprecatedTextureHost(aFile, mBackHost);
fprintf(aFile, aDumpHtml ? " >Back buffer</a></li>" : " ");
fprintf(aFile, " >Back buffer</a></li>");
}
if (mBackHostOnWhite) {
fprintf(aFile, "%s", aPrefix);
fprintf(aFile, aDumpHtml ? "<li> <a href=" : "Back buffer on white: ");
fprintf(aFile, "<li> <a href=");
DumpDeprecatedTextureHost(aFile, mBackHostOnWhite);
fprintf(aFile, aDumpHtml ? " >Back buffer on white</a> </li>" : " ");
fprintf(aFile, " >Back buffer on white</a> </li>");
}
if (aDumpHtml) {
fprintf(aFile, "</ul>");
}
fprintf(aFile, "</ul>");
}
#endif

Просмотреть файл

@ -114,7 +114,9 @@ ThebesLayerComposite::RenderLayer(const nsIntPoint& aOffset,
#ifdef MOZ_DUMP_PAINTING
if (gfxUtils::sDumpPainting) {
nsRefPtr<gfxImageSurface> surf = mBuffer->GetAsSurface();
WriteSnapshotToDumpFile(this, surf);
if (surf) {
WriteSnapshotToDumpFile(this, surf);
}
}
#endif
@ -158,7 +160,7 @@ ThebesLayerComposite::RenderLayer(const nsIntPoint& aOffset,
CompositableHost*
ThebesLayerComposite::GetCompositableHost()
{
if ( mBuffer && mBuffer->IsAttached()) {
if (mBuffer && mBuffer->IsAttached()) {
return mBuffer.get();
}

Просмотреть файл

@ -1088,14 +1088,13 @@ void GrallocDeprecatedTextureHostOGL::SetCompositor(Compositor* aCompositor)
gfx::SurfaceFormat
GrallocDeprecatedTextureHostOGL::GetFormat() const
{
if (mTextureTarget == LOCAL_GL_TEXTURE_EXTERNAL) {
return gfx::FORMAT_R8G8B8A8;
switch (mTextureTarget) {
case LOCAL_GL_TEXTURE_EXTERNAL: return gfx::FORMAT_R8G8B8A8;
case LOCAL_GL_TEXTURE_2D: return mFormat;
default: return gfx::FORMAT_UNKNOWN;
}
MOZ_ASSERT(mTextureTarget == LOCAL_GL_TEXTURE_2D);
return mFormat;
}
void
GrallocDeprecatedTextureHostOGL::DeleteTextures()
{