Back out 8be2344dcff3 (bug 1089008) for OS X bustage.

This commit is contained in:
Cameron McCormack 2014-11-14 09:50:54 +11:00
Родитель 54dc6aaed1
Коммит b18906567e
2 изменённых файлов: 25 добавлений и 9 удалений

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

@ -2527,14 +2527,11 @@ let E10SUINotification = {
} catch(e) {}
let isHardwareAccelerated = true;
// Linux and Windows are currently ok, mac not so much.
#ifdef XP_MACOSX
try {
let win = RecentWindow.getMostRecentBrowserWindow();
let winutils = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
isHardwareAccelerated = winutils.layerManagerType != "Basic";
} catch (e) {}
#endif
if (!Services.appinfo.inSafeMode &&
!Services.appinfo.accessibilityEnabled &&

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

@ -4613,24 +4613,43 @@ mozilla::BrowserTabsRemoteAutostart()
}
#endif
#if defined(XP_MACOSX)
#if defined(XP_WIN) || defined(XP_MACOSX)
// If for any reason we suspect acceleration will be disabled, disabled
// e10s auto start on mac.
// e10s auto start. (bug 1068199) THIS IS A TEMPORARY WORKAROUND.
if (gBrowserTabsRemoteAutostart) {
// Check prefs
bool accelDisabled = Preferences::GetBool("layers.acceleration.disabled", false) &&
!Preferences::GetBool("layers.acceleration.force-enabled", false);
#if defined(XP_MACOSX)
accelDisabled = accelDisabled || !nsCocoaFeatures::AccelerateByDefault();
#endif
// Check for blocked drivers
if (!accelDisabled) {
nsCOMPtr<nsIGfxInfo> gfxInfo = do_GetService("@mozilla.org/gfx/info;1");
if (gfxInfo) {
int32_t status;
if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(nsIGfxInfo::FEATURE_OPENGL_LAYERS, &status)) &&
status != nsIGfxInfo::FEATURE_STATUS_OK) {
accelDisabled = true;
#if defined(XP_WIN)
long flagsToCheck[4] = {
nsIGfxInfo::FEATURE_DIRECT3D_9_LAYERS,
nsIGfxInfo::FEATURE_DIRECT3D_10_LAYERS,
nsIGfxInfo::FEATURE_DIRECT3D_10_1_LAYERS,
nsIGfxInfo::FEATURE_DIRECT3D_11_LAYERS
};
#elif defined(XP_MACOSX)
long flagsToCheck[1] = {
nsIGfxInfo::FEATURE_OPENGL_LAYERS
};
#endif
for (unsigned int idx = 0; idx < ArrayLength(flagsToCheck); idx++) {
if (NS_SUCCEEDED(gfxInfo->GetFeatureStatus(flagsToCheck[idx], &status))) {
if (status != nsIGfxInfo::FEATURE_STATUS_OK) {
accelDisabled = true;
break;
}
}
}
}
}
@ -4647,7 +4666,7 @@ mozilla::BrowserTabsRemoteAutostart()
LogE10sBlockedReason("Hardware acceleration is disabled");
}
}
#endif // defined(XP_MACOSX)
#endif
mozilla::Telemetry::Accumulate(mozilla::Telemetry::E10S_AUTOSTART, gBrowserTabsRemoteAutostart);
if (Preferences::GetBool("browser.enabledE10SFromPrompt", false)) {