зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1597893 : convert NS_STYLE_WINDOW_SHADOW_* to an enum class in nsStyleConsts.h r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53920 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
c5d796f8ad
Коммит
6967337237
|
@ -598,7 +598,7 @@ void nsContainerFrame::SyncWindowProperties(nsPresContext* aPresContext,
|
|||
// even if the HTML doesn't have a background-color set.
|
||||
nsTransparencyMode mode =
|
||||
nsLayoutUtils::GetFrameTransparency(aFrame, rootFrame);
|
||||
int32_t shadow = rootFrame->StyleUIReset()->mWindowShadow;
|
||||
StyleWindowShadow shadow = rootFrame->StyleUIReset()->mWindowShadow;
|
||||
nsCOMPtr<nsIWidget> viewWidget = aView->GetWidget();
|
||||
viewWidget->SetTransparencyMode(mode);
|
||||
windowWidget->SetWindowShadowStyle(shadow);
|
||||
|
|
|
@ -108,6 +108,7 @@ rusty-enums = [
|
|||
"mozilla::StyleBorderCollapse",
|
||||
"mozilla::StyleBorderImageRepeat",
|
||||
"mozilla::StyleBoxPack",
|
||||
"mozilla::StyleWindowShadow",
|
||||
"mozilla::StyleBoxOrient",
|
||||
"mozilla::StyleBoxAlign",
|
||||
"mozilla::StyleUserFocus",
|
||||
|
|
|
@ -734,12 +734,13 @@ enum class StyleWhiteSpace : uint8_t {
|
|||
* -moz-window-shadow
|
||||
* Also used in widget code
|
||||
*/
|
||||
|
||||
#define NS_STYLE_WINDOW_SHADOW_NONE 0
|
||||
#define NS_STYLE_WINDOW_SHADOW_DEFAULT 1
|
||||
#define NS_STYLE_WINDOW_SHADOW_MENU 2
|
||||
#define NS_STYLE_WINDOW_SHADOW_TOOLTIP 3
|
||||
#define NS_STYLE_WINDOW_SHADOW_SHEET 4
|
||||
enum class StyleWindowShadow : uint8_t {
|
||||
None,
|
||||
Default,
|
||||
Menu,
|
||||
Tooltip,
|
||||
Sheet,
|
||||
};
|
||||
|
||||
// dominant-baseline
|
||||
#define NS_STYLE_DOMINANT_BASELINE_AUTO 0
|
||||
|
|
|
@ -3705,7 +3705,7 @@ nsStyleUIReset::nsStyleUIReset(const Document& aDocument)
|
|||
mForceBrokenImageIcon(0),
|
||||
mIMEMode(NS_STYLE_IME_MODE_AUTO),
|
||||
mWindowDragging(StyleWindowDragging::Default),
|
||||
mWindowShadow(NS_STYLE_WINDOW_SHADOW_DEFAULT),
|
||||
mWindowShadow(StyleWindowShadow::Default),
|
||||
mWindowOpacity(1.0),
|
||||
mWindowTransformOrigin{LengthPercentage::FromPercentage(0.5),
|
||||
LengthPercentage::FromPercentage(0.5),
|
||||
|
|
|
@ -2076,7 +2076,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUIReset {
|
|||
uint8_t mForceBrokenImageIcon; // (0 if not forcing, otherwise forcing)
|
||||
uint8_t mIMEMode;
|
||||
mozilla::StyleWindowDragging mWindowDragging;
|
||||
uint8_t mWindowShadow;
|
||||
mozilla::StyleWindowShadow mWindowShadow;
|
||||
float mWindowOpacity;
|
||||
mozilla::StyleTransform mMozWindowTransform;
|
||||
mozilla::StyleTransformOrigin mWindowTransformOrigin;
|
||||
|
|
|
@ -354,17 +354,17 @@ nsresult nsMenuPopupFrame::CreateWidgetForView(nsView* aView) {
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
uint8_t nsMenuPopupFrame::GetShadowStyle() {
|
||||
uint8_t shadow = StyleUIReset()->mWindowShadow;
|
||||
if (shadow != NS_STYLE_WINDOW_SHADOW_DEFAULT) return shadow;
|
||||
StyleWindowShadow nsMenuPopupFrame::GetShadowStyle() {
|
||||
StyleWindowShadow shadow = StyleUIReset()->mWindowShadow;
|
||||
if (shadow != StyleWindowShadow::Default) return shadow;
|
||||
|
||||
switch (StyleDisplay()->mAppearance) {
|
||||
case StyleAppearance::Tooltip:
|
||||
return NS_STYLE_WINDOW_SHADOW_TOOLTIP;
|
||||
return StyleWindowShadow::Tooltip;
|
||||
case StyleAppearance::Menupopup:
|
||||
return NS_STYLE_WINDOW_SHADOW_MENU;
|
||||
return StyleWindowShadow::Menu;
|
||||
default:
|
||||
return NS_STYLE_WINDOW_SHADOW_DEFAULT;
|
||||
return StyleWindowShadow::Default;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -248,7 +248,7 @@ class nsMenuPopupFrame final : public nsBoxFrame,
|
|||
void EnsureWidget(bool aRecreate = false);
|
||||
|
||||
nsresult CreateWidgetForView(nsView* aView);
|
||||
uint8_t GetShadowStyle();
|
||||
mozilla::StyleWindowShadow GetShadowStyle();
|
||||
|
||||
bool IsLeafDynamic() const override;
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ ${helpers.single_keyword(
|
|||
"none default menu tooltip sheet",
|
||||
engines="gecko",
|
||||
gecko_ffi_name="mWindowShadow",
|
||||
gecko_constant_prefix="NS_STYLE_WINDOW_SHADOW",
|
||||
gecko_enum_prefix="StyleWindowShadow",
|
||||
animation_value_type="discrete",
|
||||
enabled_in="chrome",
|
||||
spec="None (Nonstandard internal property)",
|
||||
|
|
|
@ -294,7 +294,7 @@ class nsCocoaWindow final : public nsBaseWidget, public nsPIWidgetCocoa {
|
|||
virtual bool HasPendingInputEvent() override;
|
||||
virtual nsTransparencyMode GetTransparencyMode() override;
|
||||
virtual void SetTransparencyMode(nsTransparencyMode aMode) override;
|
||||
virtual void SetWindowShadowStyle(int32_t aStyle) override;
|
||||
virtual void SetWindowShadowStyle(mozilla::StyleWindowShadow aStyle) override;
|
||||
virtual void SetWindowOpacity(float aOpacity) override;
|
||||
virtual void SetWindowTransform(const mozilla::gfx::Matrix& aTransform) override;
|
||||
virtual void SetShowsToolbarButton(bool aShow) override;
|
||||
|
@ -366,7 +366,7 @@ class nsCocoaWindow final : public nsBaseWidget, public nsPIWidgetCocoa {
|
|||
// if this is a toplevel window, and there is any ongoing fullscreen
|
||||
// transition, it is the animation object.
|
||||
NSAnimation* mFullscreenTransitionAnimation;
|
||||
int32_t mShadowStyle;
|
||||
mozilla::StyleWindowShadow mShadowStyle;
|
||||
|
||||
CGFloat mBackingScaleFactor;
|
||||
CGFloat mAspectRatio;
|
||||
|
|
|
@ -139,7 +139,7 @@ nsCocoaWindow::nsCocoaWindow()
|
|||
mSheetWindowParent(nil),
|
||||
mPopupContentView(nil),
|
||||
mFullscreenTransitionAnimation(nil),
|
||||
mShadowStyle(NS_STYLE_WINDOW_SHADOW_DEFAULT),
|
||||
mShadowStyle(StyleWindowShadow::Default),
|
||||
mBackingScaleFactor(0.0),
|
||||
mAnimationType(nsIWidget::eGenericWindowAnimation),
|
||||
mWindowMadeHere(false),
|
||||
|
@ -999,8 +999,7 @@ void nsCocoaWindow::SetWindowBackgroundBlur() {
|
|||
if (!mWindow || ![mWindow isVisible] || [mWindow windowNumber] == -1) return;
|
||||
|
||||
// Only blur the background of menus and fake sheets.
|
||||
if (mShadowStyle != NS_STYLE_WINDOW_SHADOW_MENU && mShadowStyle != NS_STYLE_WINDOW_SHADOW_SHEET)
|
||||
return;
|
||||
if (mShadowStyle != StyleWindowShadow::Menu && mShadowStyle != StyleWindowShadow::Sheet) return;
|
||||
|
||||
CGSConnection cid = _CGSDefaultConnection();
|
||||
CGSSetWindowBackgroundBlurRadius(cid, [mWindow windowNumber], kWindowBackgroundBlurRadius);
|
||||
|
@ -1992,7 +1991,7 @@ nsresult nsCocoaWindow::GetAttention(int32_t aCycleCount) {
|
|||
|
||||
bool nsCocoaWindow::HasPendingInputEvent() { return nsChildView::DoHasPendingInputEvent(); }
|
||||
|
||||
void nsCocoaWindow::SetWindowShadowStyle(int32_t aStyle) {
|
||||
void nsCocoaWindow::SetWindowShadowStyle(StyleWindowShadow aStyle) {
|
||||
NS_OBJC_BEGIN_TRY_ABORT_BLOCK;
|
||||
|
||||
if (!mWindow) return;
|
||||
|
@ -2001,10 +2000,10 @@ void nsCocoaWindow::SetWindowShadowStyle(int32_t aStyle) {
|
|||
|
||||
// Shadowless windows are only supported on popups.
|
||||
if (mWindowType == eWindowType_popup) {
|
||||
[mWindow setHasShadow:aStyle != NS_STYLE_WINDOW_SHADOW_NONE];
|
||||
[mWindow setHasShadow:aStyle != StyleWindowShadow::None];
|
||||
}
|
||||
|
||||
[mWindow setUseMenuStyle:(aStyle == NS_STYLE_WINDOW_SHADOW_MENU)];
|
||||
[mWindow setUseMenuStyle:(aStyle == StyleWindowShadow::Menu)];
|
||||
AdjustWindowShadow();
|
||||
SetWindowBackgroundBlur();
|
||||
|
||||
|
|
|
@ -179,7 +179,8 @@ class nsBaseWidget : public nsIWidget, public nsSupportsWeakReference {
|
|||
virtual nsTransparencyMode GetTransparencyMode() override;
|
||||
virtual void GetWindowClipRegion(
|
||||
nsTArray<LayoutDeviceIntRect>* aRects) override;
|
||||
virtual void SetWindowShadowStyle(int32_t aStyle) override {}
|
||||
virtual void SetWindowShadowStyle(
|
||||
mozilla::StyleWindowShadow aStyle) override {}
|
||||
virtual void SetShowsToolbarButton(bool aShow) override {}
|
||||
virtual void SetShowsFullScreenButton(bool aShow) override {}
|
||||
virtual void SetWindowAnimationType(WindowAnimationType aType) override {}
|
||||
|
|
|
@ -1117,7 +1117,7 @@ class nsIWidget : public nsISupports {
|
|||
*
|
||||
* Ignored on child widgets and on non-Mac platforms.
|
||||
*/
|
||||
virtual void SetWindowShadowStyle(int32_t aStyle) = 0;
|
||||
virtual void SetWindowShadowStyle(mozilla::StyleWindowShadow aStyle) = 0;
|
||||
|
||||
/**
|
||||
* Set the opacity of the window.
|
||||
|
|
Загрузка…
Ссылка в новой задаче