зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1588484 - Disable Advanced Layers for now when using fission for the window. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D53759 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
2238c15866
Коммит
220b57cf81
|
@ -4151,6 +4151,12 @@
|
||||||
value: false
|
value: false
|
||||||
mirror: always
|
mirror: always
|
||||||
|
|
||||||
|
# Whether we allow advanced layers with fission
|
||||||
|
- name: layers.advanced.fission.enabled
|
||||||
|
type: bool
|
||||||
|
value: false
|
||||||
|
mirror: always
|
||||||
|
|
||||||
# Whether we allow AMD switchable graphics.
|
# Whether we allow AMD switchable graphics.
|
||||||
- name: layers.amd-switchable-gfx.enabled
|
- name: layers.amd-switchable-gfx.enabled
|
||||||
type: bool
|
type: bool
|
||||||
|
|
|
@ -172,6 +172,7 @@ nsBaseWidget::nsBaseWidget()
|
||||||
mPopupLevel(ePopupLevelTop),
|
mPopupLevel(ePopupLevelTop),
|
||||||
mPopupType(ePopupTypeAny),
|
mPopupType(ePopupTypeAny),
|
||||||
mHasRemoteContent(false),
|
mHasRemoteContent(false),
|
||||||
|
mFissionWindow(false),
|
||||||
mUpdateCursor(true),
|
mUpdateCursor(true),
|
||||||
mUseAttachedEvents(false),
|
mUseAttachedEvents(false),
|
||||||
mIMEHasFocus(false),
|
mIMEHasFocus(false),
|
||||||
|
@ -391,6 +392,7 @@ void nsBaseWidget::BaseCreate(nsIWidget* aParent, nsWidgetInitData* aInitData) {
|
||||||
mPopupLevel = aInitData->mPopupLevel;
|
mPopupLevel = aInitData->mPopupLevel;
|
||||||
mPopupType = aInitData->mPopupHint;
|
mPopupType = aInitData->mPopupHint;
|
||||||
mHasRemoteContent = aInitData->mHasRemoteContent;
|
mHasRemoteContent = aInitData->mHasRemoteContent;
|
||||||
|
mFissionWindow = aInitData->mFissionWindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aParent) {
|
if (aParent) {
|
||||||
|
@ -1213,7 +1215,11 @@ already_AddRefed<LayerManager> nsBaseWidget::CreateCompositorSession(
|
||||||
bool enableAPZ = UseAPZ();
|
bool enableAPZ = UseAPZ();
|
||||||
CompositorOptions options(enableAPZ, enableWR);
|
CompositorOptions options(enableAPZ, enableWR);
|
||||||
|
|
||||||
bool enableAL = gfx::gfxConfig::IsEnabled(gfx::Feature::ADVANCED_LAYERS);
|
// Bug 1588484 - Advanced Layers is currently disabled for fission windows,
|
||||||
|
// since it doesn't properly support nested RefLayers.
|
||||||
|
bool enableAL =
|
||||||
|
gfx::gfxConfig::IsEnabled(gfx::Feature::ADVANCED_LAYERS) &&
|
||||||
|
(!mFissionWindow || StaticPrefs::layers_advanced_fission_enabled());
|
||||||
options.SetUseAdvancedLayers(enableAL);
|
options.SetUseAdvancedLayers(enableAL);
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_ANDROID
|
#ifdef MOZ_WIDGET_ANDROID
|
||||||
|
|
|
@ -691,6 +691,7 @@ class nsBaseWidget : public nsIWidget, public nsSupportsWeakReference {
|
||||||
nsPopupType mPopupType;
|
nsPopupType mPopupType;
|
||||||
SizeConstraints mSizeConstraints;
|
SizeConstraints mSizeConstraints;
|
||||||
bool mHasRemoteContent;
|
bool mHasRemoteContent;
|
||||||
|
bool mFissionWindow;
|
||||||
|
|
||||||
bool mUpdateCursor;
|
bool mUpdateCursor;
|
||||||
bool mUseAttachedEvents;
|
bool mUseAttachedEvents;
|
||||||
|
|
|
@ -112,7 +112,8 @@ struct nsWidgetInitData {
|
||||||
mMouseTransparent(false),
|
mMouseTransparent(false),
|
||||||
mHasRemoteContent(false),
|
mHasRemoteContent(false),
|
||||||
mAlwaysOnTop(false),
|
mAlwaysOnTop(false),
|
||||||
mPIPWindow(false) {}
|
mPIPWindow(false),
|
||||||
|
mFissionWindow(false) {}
|
||||||
|
|
||||||
nsWindowType mWindowType;
|
nsWindowType mWindowType;
|
||||||
nsBorderStyle mBorderStyle;
|
nsBorderStyle mBorderStyle;
|
||||||
|
@ -140,6 +141,8 @@ struct nsWidgetInitData {
|
||||||
bool mAlwaysOnTop;
|
bool mAlwaysOnTop;
|
||||||
// Is PictureInPicture window
|
// Is PictureInPicture window
|
||||||
bool mPIPWindow;
|
bool mPIPWindow;
|
||||||
|
// True if fission is enabled for this window
|
||||||
|
bool mFissionWindow;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // nsWidgetInitData_h__
|
#endif // nsWidgetInitData_h__
|
||||||
|
|
|
@ -593,6 +593,9 @@ nsresult nsAppShellService::JustCreateTopWindow(
|
||||||
if (aChromeMask & nsIWebBrowserChrome::CHROME_ALWAYS_ON_TOP)
|
if (aChromeMask & nsIWebBrowserChrome::CHROME_ALWAYS_ON_TOP)
|
||||||
widgetInitData.mAlwaysOnTop = true;
|
widgetInitData.mAlwaysOnTop = true;
|
||||||
|
|
||||||
|
if (aChromeMask & nsIWebBrowserChrome::CHROME_FISSION_WINDOW)
|
||||||
|
widgetInitData.mFissionWindow = true;
|
||||||
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
#ifdef MOZ_WIDGET_GTK
|
||||||
// Linux/Gtk PIP window support. It's Chrome Toplevel window, always on top
|
// Linux/Gtk PIP window support. It's Chrome Toplevel window, always on top
|
||||||
// and without any bar.
|
// and without any bar.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче