Backed out changeset 8b091426bc10 (bug 1540776) for build bustages. CLOSED TREE

This commit is contained in:
Razvan Maries 2020-03-26 16:25:45 +02:00
parent d5305f9c5c
commit dd48ca6c20
8 changed files with 10 additions and 70 deletions

View File

@ -4988,13 +4988,6 @@ mozilla::ipc::IPCResult ContentParent::RecvGetGraphicsDeviceInitData(
return IPC_OK();
}
mozilla::ipc::IPCResult ContentParent::RecvGetOutputColorProfileData(
nsTArray<uint8_t>* aOutputColorProfileData) {
(*aOutputColorProfileData) =
gfxPlatform::GetPlatform()->GetCMSOutputProfileData();
return IPC_OK();
}
mozilla::ipc::IPCResult ContentParent::RecvGetFontListShmBlock(
const uint32_t& aGeneration, const uint32_t& aIndex,
mozilla::ipc::SharedMemoryBasic::Handle* aOut) {

View File

@ -1150,9 +1150,6 @@ class ContentParent final
mozilla::ipc::IPCResult RecvGetGraphicsDeviceInitData(
ContentDeviceData* aOut);
mozilla::ipc::IPCResult RecvGetOutputColorProfileData(
nsTArray<uint8_t>* aOutputColorProfileData);
mozilla::ipc::IPCResult RecvGetFontListShmBlock(
const uint32_t& aGeneration, const uint32_t& aIndex,
mozilla::ipc::SharedMemoryBasic::Handle* aOut);

View File

@ -1184,15 +1184,6 @@ parent:
sync GetGraphicsDeviceInitData()
returns (ContentDeviceData aData);
/**
* Request a buffer containing the contents of the output color profile.
* If set, this is the file pointed to by
* gfx.color_management.display_profile, otherwise it contains a
* platform-specific default
*/
sync GetOutputColorProfileData()
returns (uint8_t[] aOutputColorProfileData);
/**
* A shared font list (see gfx/thebes/SharedFontList.*) contains a list
* of shared-memory blocks that are used to store all the font list data.

View File

@ -41,7 +41,6 @@ struct ContentDeviceData
{
DevicePrefs prefs;
D3D11DeviceStatus d3d11;
uint8_t[] cmsOutputProfileData;
};
// Represents the state of a feature that has failed to initialize.

View File

@ -2191,47 +2191,25 @@ nsTArray<uint8_t> gfxPlatform::GetPlatformCMSOutputProfileData() {
}
nsTArray<uint8_t> gfxPlatform::GetCMSOutputProfileData() {
if (XRE_IsContentProcess()) {
// This will be passed in during InitChild so we can avoid sending a
// sync message back to the parent during init.
if (gContentDeviceInitData) {
MOZ_ASSERT(!gContentDeviceInitData->cmsOutputProfileData().IsEmpty());
return gContentDeviceInitData->cmsOutputProfileData();
}
// Otherwise we need to ask the parent for the updated color profile
mozilla::dom::ContentChild* cc = mozilla::dom::ContentChild::GetSingleton();
nsTArray<uint8_t> result;
Unused << cc->SendGetOutputColorProfileData(&result);
return result;
}
if (!mCachedOutputColorProfile.IsEmpty()) {
return nsTArray<uint8_t>(mCachedOutputColorProfile);
}
nsAutoCString fname;
Preferences::GetCString("gfx.color_management.display_profile", fname);
if (fname.IsEmpty()) {
mCachedOutputColorProfile = GetPlatformCMSOutputProfileData();
return nsTArray<uint8_t>(mCachedOutputColorProfile);
return gfxPlatform::GetPlatform()->GetPlatformCMSOutputProfileData();
}
void* mem = nullptr;
size_t size = 0;
qcms_data_from_path(fname.get(), &mem, &size);
if (mem == nullptr) {
mCachedOutputColorProfile = GetPlatformCMSOutputProfileData();
return nsTArray<uint8_t>(mCachedOutputColorProfile);
return gfxPlatform::GetPlatform()->GetPlatformCMSOutputProfileData();
}
MOZ_ASSERT(mCachedOutputColorProfile.IsEmpty());
mCachedOutputColorProfile.AppendElements(static_cast<uint8_t*>(mem), size);
nsTArray<uint8_t> result;
result.AppendElements(static_cast<uint8_t*>(mem), size);
free(mem);
return nsTArray<uint8_t>(mCachedOutputColorProfile);
return result;
}
void gfxPlatform::CreateCMSOutputProfile() {
@ -2248,8 +2226,7 @@ void gfxPlatform::CreateCMSOutputProfile() {
}
if (!gCMSOutputProfile) {
nsTArray<uint8_t> outputProfileData =
gfxPlatform::GetPlatform()->GetCMSOutputProfileData();
nsTArray<uint8_t> outputProfileData = GetCMSOutputProfileData();
if (!outputProfileData.IsEmpty()) {
gCMSOutputProfile = qcms_profile_from_memory(
outputProfileData.Elements(), outputProfileData.Length());
@ -3427,8 +3404,7 @@ void gfxPlatform::GetFrameStats(mozilla::widget::InfoObject& aObj) {
}
void gfxPlatform::GetCMSSupportInfo(mozilla::widget::InfoObject& aObj) {
nsTArray<uint8_t> outputProfileData =
gfxPlatform::GetPlatform()->GetCMSOutputProfileData();
nsTArray<uint8_t> outputProfileData = GetCMSOutputProfileData();
if (outputProfileData.IsEmpty()) {
nsPrintfCString msg("Empty profile data");
aObj.DefineProperty("CMSOutputProfile", msg.get());

View File

@ -738,13 +738,6 @@ class gfxPlatform : public mozilla::layers::MemoryPressureListener {
*/
virtual void ImportGPUDeviceData(const mozilla::gfx::GPUDeviceData& aData);
/**
* Returns the contents of the file containing the output color profile.
* The result may change if gfx.color_management.display_profile is changed
* or the platform-specific default is changed
*/
nsTArray<uint8_t> GetCMSOutputProfileData();
bool HasVariationFontSupport() const { return mHasVariationFontSupport; }
bool HasNativeColrFontSupport() const { return mHasNativeColrFontSupport; }
@ -886,6 +879,8 @@ class gfxPlatform : public mozilla::layers::MemoryPressureListener {
static void InitOpenGLConfig();
static void CreateCMSOutputProfile();
static nsTArray<uint8_t> GetCMSOutputProfileData();
friend void RecordingPrefChanged(const char* aPrefName, void* aClosure);
virtual nsTArray<uint8_t> GetPlatformCMSOutputProfileData();
@ -953,9 +948,6 @@ class gfxPlatform : public mozilla::layers::MemoryPressureListener {
// Total number of screen pixels across all monitors.
int64_t mScreenPixels;
// Cached contents of the output color profile file
nsTArray<uint8_t> mCachedOutputColorProfile;
// An instance of gfxSkipChars which is empty. It is used as the
// basis for error-case iterators.
const gfxSkipChars kEmptySkipChars;

View File

@ -1905,9 +1905,6 @@ void gfxWindowsPlatform::ImportContentDeviceData(
DeviceManagerDx* dm = DeviceManagerDx::Get();
dm->ImportDeviceInfo(aData.d3d11());
}
// aData->cmsOutputProfileData() will be read during color profile init,
// not as part of this import function
}
void gfxWindowsPlatform::BuildContentDeviceData(ContentDeviceData* aOut) {
@ -1924,9 +1921,6 @@ void gfxWindowsPlatform::BuildContentDeviceData(ContentDeviceData* aOut) {
DeviceManagerDx* dm = DeviceManagerDx::Get();
dm->ExportDeviceInfo(&aOut->d3d11());
}
aOut->cmsOutputProfileData() =
gfxPlatform::GetPlatform()->GetCMSOutputProfileData();
}
bool gfxWindowsPlatform::CheckVariationFontSupport() {

View File

@ -1014,9 +1014,7 @@ description = legacy sync IPC - please add detailed description
[PContent::EndDriverCrashGuard]
description = legacy sync IPC - please add detailed description
[PContent::GetGraphicsDeviceInitData]
description = Retrieve information needed to initialize the graphics device in the content process
[PContent::GetOutputColorProfileData]
description = Retrieve the contents of the output color profile file
description = legacy sync IPC - please add detailed description
[PContent::GetFontListShmBlock]
description = for bug 1514869 - layout code needs synchronous access to font list, but this is used only once per block, after which content directly reads the shared memory
[PContent::InitializeFamily]