summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2021-05-03 12:26:37 +0000
committerMoonchild <moonchild@palemoon.org>2021-05-03 12:26:37 +0000
commitaa0fd3d68c856504646e1d7eb499bc890ef44101 (patch)
tree70066c56efbbfe430472baac892e32a3bab4f04f
parent1bf0734a7249eb0dc1a96d825e7310eb46cac6dc (diff)
downloaduxp-aa0fd3d68c856504646e1d7eb499bc890ef44101.tar.gz
Issue #1751 -- Remove XP_MACOSX conditionals from /layout
-rw-r--r--layout/base/nsCSSFrameConstructor.cpp33
-rw-r--r--layout/base/nsCSSFrameConstructor.h4
-rw-r--r--layout/base/nsPresContext.cpp14
-rw-r--r--layout/base/nsPresShell.cpp2
-rw-r--r--layout/forms/nsListControlFrame.cpp14
-rw-r--r--layout/generic/nsFrame.cpp11
-rw-r--r--layout/generic/nsPluginFrame.cpp127
-rw-r--r--layout/generic/nsSelection.cpp18
-rw-r--r--layout/printing/nsPrintEngine.cpp5
-rw-r--r--layout/style/nsComputedDOMStyle.cpp9
-rw-r--r--layout/style/res/forms.css6
-rw-r--r--layout/xul/nsButtonBoxFrame.cpp3
-rw-r--r--layout/xul/nsMenuBarListener.cpp12
-rw-r--r--layout/xul/nsMenuFrame.cpp16
-rw-r--r--layout/xul/nsMenuPopupFrame.cpp11
-rw-r--r--layout/xul/nsRepeatService.h4
-rw-r--r--layout/xul/nsSliderFrame.cpp12
-rw-r--r--layout/xul/nsXULPopupManager.cpp28
-rw-r--r--layout/xul/tree/nsTreeBodyFrame.cpp53
19 files changed, 11 insertions, 371 deletions
diff --git a/layout/base/nsCSSFrameConstructor.cpp b/layout/base/nsCSSFrameConstructor.cpp
index 9a0410d737..25a5e58108 100644
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-// vim:cindent:ts=2:et:sw=2:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -56,9 +55,6 @@
#include "nsXBLBinding.h"
#include "nsContentUtils.h"
#include "nsIScriptError.h"
-#ifdef XP_MACOSX
-#include "nsIDocShell.h"
-#endif
#include "ChildIterator.h"
#include "nsError.h"
#include "nsLayoutUtils.h"
@@ -4334,11 +4330,7 @@ nsCSSFrameConstructor::FindXULTagData(Element* aElement,
SIMPLE_XUL_CREATE(menu, NS_NewMenuFrame),
SIMPLE_XUL_CREATE(menubutton, NS_NewMenuFrame),
SIMPLE_XUL_CREATE(menuitem, NS_NewMenuItemFrame),
-#ifdef XP_MACOSX
- SIMPLE_TAG_CHAIN(menubar, nsCSSFrameConstructor::FindXULMenubarData),
-#else
SIMPLE_XUL_CREATE(menubar, NS_NewMenuBarFrame),
-#endif /* XP_MACOSX */
SIMPLE_TAG_CHAIN(popupgroup, nsCSSFrameConstructor::FindPopupGroupData),
SIMPLE_XUL_CREATE(iframe, NS_NewSubDocumentFrame),
SIMPLE_XUL_CREATE(editor, NS_NewSubDocumentFrame),
@@ -4413,31 +4405,6 @@ nsCSSFrameConstructor::FindXULDescriptionData(Element* aElement,
return &sDescriptionData;
}
-#ifdef XP_MACOSX
-/* static */
-const nsCSSFrameConstructor::FrameConstructionData*
-nsCSSFrameConstructor::FindXULMenubarData(Element* aElement,
- nsStyleContext* aStyleContext)
-{
- nsCOMPtr<nsIDocShell> treeItem =
- aStyleContext->PresContext()->GetDocShell();
- if (treeItem && nsIDocShellTreeItem::typeChrome == treeItem->ItemType()) {
- nsCOMPtr<nsIDocShellTreeItem> parent;
- treeItem->GetParent(getter_AddRefs(parent));
- if (!parent) {
- // This is the root. Suppress the menubar, since on Mac
- // window menus are not attached to the window.
- static const FrameConstructionData sSuppressData = SUPPRESS_FCDATA();
- return &sSuppressData;
- }
- }
-
- static const FrameConstructionData sMenubarData =
- SIMPLE_XUL_FCDATA(NS_NewMenuBarFrame);
- return &sMenubarData;
-}
-#endif /* XP_MACOSX */
-
/* static */
const nsCSSFrameConstructor::FrameConstructionData*
nsCSSFrameConstructor::FindXULListBoxBodyData(Element* aElement,
diff --git a/layout/base/nsCSSFrameConstructor.h b/layout/base/nsCSSFrameConstructor.h
index abdfbf7ce0..1df38b58a8 100644
--- a/layout/base/nsCSSFrameConstructor.h
+++ b/layout/base/nsCSSFrameConstructor.h
@@ -1471,10 +1471,6 @@ private:
FindXULLabelData(Element* aElement, nsStyleContext* aStyleContext);
static const FrameConstructionData*
FindXULDescriptionData(Element* aElement, nsStyleContext* aStyleContext);
-#ifdef XP_MACOSX
- static const FrameConstructionData*
- FindXULMenubarData(Element* aElement, nsStyleContext* aStyleContext);
-#endif /* XP_MACOSX */
static const FrameConstructionData*
FindXULListBoxBodyData(Element* aElement, nsStyleContext* aStyleContext);
static const FrameConstructionData*
diff --git a/layout/base/nsPresContext.cpp b/layout/base/nsPresContext.cpp
index f7be42b5ff..8f3de7f78d 100644
--- a/layout/base/nsPresContext.cpp
+++ b/layout/base/nsPresContext.cpp
@@ -2895,15 +2895,9 @@ nsRootPresContext::ComputePluginGeometryUpdates(nsIFrame* aFrame,
aList->ComputeVisibilityForRoot(aBuilder, &region);
}
-#ifdef XP_MACOSX
- // We control painting of Mac plugins, so just apply geometry updates now.
- // This is not happening during a paint event.
- ApplyPluginGeometryUpdates();
-#else
if (XRE_IsParentProcess()) {
InitApplyPluginGeometryTimer();
}
-#endif
}
static void
@@ -2939,8 +2933,6 @@ nsRootPresContext::CancelApplyPluginGeometryTimer()
}
}
-#ifndef XP_MACOSX
-
static bool
HasOverlap(const LayoutDeviceIntPoint& aOffset1,
const nsTArray<LayoutDeviceIntRect>& aClipRects1,
@@ -3025,8 +3017,6 @@ PluginGetGeometryUpdate(nsTHashtable<nsRefPtrHashKey<nsIContent>>& aPlugins,
}
}
-#endif // #ifndef XP_MACOSX
-
static void
PluginDidSetGeometry(nsTHashtable<nsRefPtrHashKey<nsIContent>>& aPlugins)
{
@@ -3043,7 +3033,6 @@ PluginDidSetGeometry(nsTHashtable<nsRefPtrHashKey<nsIContent>>& aPlugins)
void
nsRootPresContext::ApplyPluginGeometryUpdates()
{
-#ifndef XP_MACOSX
CancelApplyPluginGeometryTimer();
nsTArray<nsIWidget::Configuration> configurations;
@@ -3055,7 +3044,6 @@ nsRootPresContext::ApplyPluginGeometryUpdates()
SortConfigurations(&configurations);
widget->ConfigureChildren(configurations);
}
-#endif // #ifndef XP_MACOSX
PluginDidSetGeometry(mRegisteredPlugins);
}
@@ -3063,7 +3051,6 @@ nsRootPresContext::ApplyPluginGeometryUpdates()
void
nsRootPresContext::CollectPluginGeometryUpdates(LayerManager* aLayerManager)
{
-#ifndef XP_MACOSX
// Collect and pass plugin widget configurations down to the compositor
// for transmission to the chrome process.
NS_ASSERTION(aLayerManager, "layer manager is invalid!");
@@ -3086,7 +3073,6 @@ nsRootPresContext::CollectPluginGeometryUpdates(LayerManager* aLayerManager)
clm->StorePluginWidgetConfigurations(configurations);
}
PluginDidSetGeometry(mRegisteredPlugins);
-#endif // #ifndef XP_MACOSX
}
static void
diff --git a/layout/base/nsPresShell.cpp b/layout/base/nsPresShell.cpp
index 87435f8cfa..37475d9595 100644
--- a/layout/base/nsPresShell.cpp
+++ b/layout/base/nsPresShell.cpp
@@ -8736,9 +8736,7 @@ PresShell::WillPaintWindow()
return;
}
-#ifndef XP_MACOSX
rootPresContext->ApplyPluginGeometryUpdates();
-#endif
}
void
diff --git a/layout/forms/nsListControlFrame.cpp b/layout/forms/nsListControlFrame.cpp
index 4daa470a9e..12fc4a2dde 100644
--- a/layout/forms/nsListControlFrame.cpp
+++ b/layout/forms/nsListControlFrame.cpp
@@ -842,11 +842,7 @@ nsListControlFrame::HandleListSelection(nsIDOMEvent* aEvent,
nsCOMPtr<nsIDOMMouseEvent> mouseEvent = do_QueryInterface(aEvent);
bool isShift;
bool isControl;
-#ifdef XP_MACOSX
- mouseEvent->GetMetaKey(&isControl);
-#else
mouseEvent->GetCtrlKey(&isControl);
-#endif
mouseEvent->GetShiftKey(&isShift);
return PerformSelection(aClickedIndex, isShift, isControl); // might destroy us
}
@@ -1930,11 +1926,7 @@ nsListControlFrame::DragMove(nsIDOMEvent* aMouseEvent)
nsCOMPtr<nsIDOMMouseEvent> mouseEvent = do_QueryInterface(aMouseEvent);
NS_ASSERTION(mouseEvent, "aMouseEvent is not an nsIDOMMouseEvent!");
bool isControl;
-#ifdef XP_MACOSX
- mouseEvent->GetMetaKey(&isControl);
-#else
mouseEvent->GetCtrlKey(&isControl);
-#endif
nsWeakFrame weakFrame(this);
// Turn SHIFT on when you are dragging, unless control is on.
bool wasChanged = PerformSelection(selectedIndex,
@@ -2142,14 +2134,8 @@ nsListControlFrame::KeyDown(nsIDOMEvent* aKeyEvent)
bool dropDownMenuOnUpDown;
bool dropDownMenuOnSpace;
-#ifdef XP_MACOSX
- dropDownMenuOnUpDown = IsInDropDownMode() && !mComboboxFrame->IsDroppedDown();
- dropDownMenuOnSpace = !keyEvent->IsAlt() && !keyEvent->IsControl() &&
- !keyEvent->IsMeta();
-#else
dropDownMenuOnUpDown = keyEvent->IsAlt();
dropDownMenuOnSpace = IsInDropDownMode() && !mComboboxFrame->IsDroppedDown();
-#endif
bool withinIncrementalSearchTime =
keyEvent->mTime - gLastKeyTime <= INCREMENTAL_SEARCH_KEYPRESS_TIME;
if ((dropDownMenuOnUpDown &&
diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp
index 5d05b71037..b8e66ecbcd 100644
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -1,5 +1,4 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-// vim:cindent:ts=2:et:sw=2:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@@ -3056,11 +3055,7 @@ nsFrame::GetDataForTableSelection(const nsFrameSelection* aFrameSelection,
{
// In Browser, special 'table selection' key must be pressed for table selection
// or when just Shift is pressed and we're already in table/cell selection mode
-#ifdef XP_MACOSX
- doTableSelection = aMouseEvent->IsMeta() || (aMouseEvent->IsShift() && selectingTableCells);
-#else
doTableSelection = aMouseEvent->IsControl() || (aMouseEvent->IsShift() && selectingTableCells);
-#endif
}
if (!doTableSelection)
return NS_OK;
@@ -3329,13 +3324,7 @@ nsFrame::HandlePress(nsPresContext* aPresContext,
if (!frameselection || frameselection->GetDisplaySelection() == nsISelectionController::SELECTION_OFF)
return NS_OK;//nothing to do we cannot affect selection from here
-#ifdef XP_MACOSX
- if (mouseEvent->IsControl())
- return NS_OK;//short circuit. hard coded for mac due to time restraints.
- bool control = mouseEvent->IsMeta();
-#else
bool control = mouseEvent->IsControl();
-#endif
RefPtr<nsFrameSelection> fc = const_cast<nsFrameSelection*>(frameselection);
if (mouseEvent->mClickCount > 1) {
diff --git a/layout/generic/nsPluginFrame.cpp b/layout/generic/nsPluginFrame.cpp
index eee3f46b8b..ea42d9bd37 100644
--- a/layout/generic/nsPluginFrame.cpp
+++ b/layout/generic/nsPluginFrame.cpp
@@ -69,11 +69,6 @@
#endif /* MOZ_LOGGING */
#include "mozilla/Logging.h"
-#ifdef XP_MACOSX
-#include "gfxQuartzNativeDrawing.h"
-#include "mozilla/gfx/QuartzSupport.h"
-#endif
-
#ifdef MOZ_X11
#include "mozilla/X11Util.h"
using mozilla::DefaultXDisplay;
@@ -318,15 +313,6 @@ nsPluginFrame::PrepForDrawing(nsIWidget *aWidget)
mInnerView->AttachWidgetEventHandler(mWidget);
-#ifdef XP_MACOSX
- // On Mac, we need to invalidate ourselves since even windowed
- // plugins are painted through Thebes and we need to ensure
- // the PaintedLayer containing the plugin is updated.
- if (parentWidget == GetNearestWidget()) {
- InvalidateFrame();
- }
-#endif
-
RegisterPluginForGeometryUpdates();
// Here we set the background color for this widget because some plugins will use
@@ -565,27 +551,12 @@ nsPluginFrame::FixupWindow(const nsSize& aSize)
nsIntPoint origin = GetWindowOriginInPixels(windowless);
// window must be in "display pixels"
-#if defined(XP_MACOSX)
- // window must be in "display pixels"
- double scaleFactor = 1.0;
- if (NS_FAILED(mInstanceOwner->GetContentsScaleFactor(&scaleFactor))) {
- scaleFactor = 1.0;
- }
- int intScaleFactor = ceil(scaleFactor);
- window->x = origin.x / intScaleFactor;
- window->y = origin.y / intScaleFactor;
- window->width = presContext->AppUnitsToDevPixels(aSize.width) / intScaleFactor;
- window->height = presContext->AppUnitsToDevPixels(aSize.height) / intScaleFactor;
-#else
window->x = origin.x;
window->y = origin.y;
window->width = presContext->AppUnitsToDevPixels(aSize.width);
window->height = presContext->AppUnitsToDevPixels(aSize.height);
-#endif
-#ifndef XP_MACOSX
mInstanceOwner->UpdateWindowPositionAndClipRect(false);
-#endif
NotifyPluginReflowObservers();
}
@@ -616,13 +587,6 @@ nsPluginFrame::CallSetWindow(bool aCheckIsHidden)
RefPtr<nsPluginInstanceOwner> instanceOwnerRef(mInstanceOwner);
// refresh the plugin port as well
-#ifdef XP_MACOSX
- mInstanceOwner->FixUpPluginWindow(nsPluginInstanceOwner::ePluginPaintEnable);
- // Bail now if our frame has been destroyed.
- if (!instanceOwnerRef->GetFrame()) {
- return NS_ERROR_FAILURE;
- }
-#endif
window->window = mInstanceOwner->GetPluginPort();
// Adjust plugin dimensions according to pixel snap results
@@ -642,24 +606,11 @@ nsPluginFrame::CallSetWindow(bool aCheckIsHidden)
intBounds.x += intOffset.x;
intBounds.y += intOffset.y;
-#if defined(XP_MACOSX)
- // window must be in "display pixels"
- double scaleFactor = 1.0;
- if (NS_FAILED(instanceOwnerRef->GetContentsScaleFactor(&scaleFactor))) {
- scaleFactor = 1.0;
- }
-
- size_t intScaleFactor = ceil(scaleFactor);
- window->x = intBounds.x / intScaleFactor;
- window->y = intBounds.y / intScaleFactor;
- window->width = intBounds.width / intScaleFactor;
- window->height = intBounds.height / intScaleFactor;
-#else
window->x = intBounds.x;
window->y = intBounds.y;
window->width = intBounds.width;
window->height = intBounds.height;
-#endif
+
// BE CAREFUL: By the time we get here the PluginFrame is sometimes destroyed
// and poisoned. If we reference local fields (implicit this deref),
// we will crash.
@@ -1061,11 +1012,6 @@ nsPluginFrame::NotifyPluginReflowObservers()
void
nsPluginFrame::DidSetWidgetGeometry()
{
-#if defined(XP_MACOSX)
- if (mInstanceOwner && !IsHidden()) {
- mInstanceOwner->FixUpPluginWindow(nsPluginInstanceOwner::ePluginPaintEnable);
- }
-#else
if (!mWidget && mInstanceOwner) {
// UpdateWindowVisibility will notify the plugin of position changes
// by updating the NPWindow and calling NPP_SetWindow/AsyncSetWindow.
@@ -1076,29 +1022,20 @@ nsPluginFrame::DidSetWidgetGeometry()
nsLayoutUtils::IsPopup(nsLayoutUtils::GetDisplayRootFrame(this)) ||
!mNextConfigurationBounds.IsEmpty());
}
-#endif
}
bool
nsPluginFrame::IsOpaque() const
{
-#if defined(XP_MACOSX)
- return false;
-#else
-
if (mInstanceOwner && mInstanceOwner->UseAsyncRendering()) {
return false;
}
return !IsTransparentMode();
-#endif
}
bool
nsPluginFrame::IsTransparentMode() const
{
-#if defined(XP_MACOSX)
- return false;
-#else
if (!mInstanceOwner)
return false;
@@ -1120,7 +1057,6 @@ nsPluginFrame::IsTransparentMode() const
bool transparent = false;
pi->IsTransparent(&transparent);
return transparent;
-#endif
}
void
@@ -1141,27 +1077,20 @@ nsPluginFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
DO_GLOBAL_REFLOW_COUNT_DSP("nsPluginFrame");
-#ifndef XP_MACOSX
if (mWidget && aBuilder->IsInTransform()) {
// Windowed plugins should not be rendered inside a transform.
return;
}
-#endif
if (aBuilder->IsForPainting() && mInstanceOwner) {
// Update plugin frame for both content scaling and full zoom changes.
mInstanceOwner->ResolutionMayHaveChanged();
-#ifdef XP_MACOSX
- mInstanceOwner->WindowFocusMayHaveChanged();
-#endif
if (mInstanceOwner->UseAsyncRendering()) {
NPWindow* window = nullptr;
mInstanceOwner->GetWindow(window);
bool isVisible = window && window->width > 0 && window->height > 0;
if (isVisible && aBuilder->ShouldSyncDecodeImages()) {
-#ifndef XP_MACOSX
mInstanceOwner->UpdateWindowVisibility(true);
-#endif
}
mInstanceOwner->NotifyPaintWaiter(aBuilder);
@@ -1238,8 +1167,8 @@ nsPluginFrame::PrintPlugin(nsRenderingContext& aRenderingContext,
window.clipRect.left = 0; window.clipRect.right = 0;
// platform specific printing code
-#if defined(XP_UNIX) || defined(XP_MACOSX)
- // Doesn't work in a thebes world, or on OS X.
+#if defined(XP_UNIX)
+ // Doesn't work in a thebes world.
(void)window;
(void)npprint;
#elif defined(XP_WIN)
@@ -1377,20 +1306,7 @@ nsPluginFrame::BuildLayer(nsDisplayListBuilder* aBuilder,
if (window->width <= 0 || window->height <= 0)
return nullptr;
-#if defined(XP_MACOSX)
- // window is in "display pixels", but size needs to be in device pixels
- // window must be in "display pixels"
- double scaleFactor = 1.0;
- if (NS_FAILED(mInstanceOwner->GetContentsScaleFactor(&scaleFactor))) {
- scaleFactor = 1.0;
- }
-
- size_t intScaleFactor = ceil(scaleFactor);
-#else
- size_t intScaleFactor = 1;
-#endif
-
- IntSize size(window->width * intScaleFactor, window->height * intScaleFactor);
+ IntSize size(window->width, window->height);
nsRect area = GetContentRectRelativeToSelf() + aItem->ToReferenceFrame();
gfxRect r = nsLayoutUtils::RectToGfxRect(area, PresContext()->AppUnitsPerDevPixel());
@@ -1420,11 +1336,6 @@ nsPluginFrame::BuildLayer(nsDisplayListBuilder* aBuilder,
NS_ASSERTION(layer->GetType() == Layer::TYPE_IMAGE, "Bad layer type");
ImageLayer* imglayer = static_cast<ImageLayer*>(layer.get());
-#ifdef XP_MACOSX
- if (!mInstanceOwner->UseAsyncRendering()) {
- mInstanceOwner->DoCocoaEventDrawRect(r, nullptr);
- }
-#endif
imglayer->SetScaleToSize(size, ScaleMode::STRETCH);
imglayer->SetContainer(container);
@@ -1545,37 +1456,11 @@ nsPluginFrame::HandleEvent(nsPresContext* aPresContext,
return rv;
#endif
-#ifdef XP_MACOSX
- // we want to process some native mouse events in the cocoa event model
- if ((anEvent->mMessage == eMouseEnterIntoWidget ||
- anEvent->mMessage == eWheel) &&
- mInstanceOwner->GetEventModel() == NPEventModelCocoa) {
- *anEventStatus = mInstanceOwner->ProcessEvent(*anEvent);
- // Due to plugin code reentering Gecko, this frame may be dead at this
- // point.
- return rv;
- }
-
- // These two calls to nsIPresShell::SetCapturingContext() (on mouse-down
- // and mouse-up) are needed to make the routing of mouse events while
- // dragging conform to standard OS X practice, and to the Cocoa NPAPI spec.
- // See bug 525078 and bug 909678.
- if (anEvent->mMessage == eMouseDown) {
- nsIPresShell::SetCapturingContent(GetContent(), CAPTURE_IGNOREALLOWED);
- }
-#endif
-
rv = nsFrame::HandleEvent(aPresContext, anEvent, anEventStatus);
// We need to be careful from this point because the call to
// nsFrame::HandleEvent() might have killed us.
-#ifdef XP_MACOSX
- if (anEvent->mMessage == eMouseUp) {
- nsIPresShell::SetCapturingContent(nullptr, 0);
- }
-#endif
-
return rv;
}
@@ -1751,11 +1636,7 @@ NS_NewObjectFrame(nsIPresShell* aPresShell, nsStyleContext* aContext)
bool
nsPluginFrame::IsPaintedByGecko() const
{
-#ifdef XP_MACOSX
- return true;
-#else
return !mWidget;
-#endif
}
NS_IMPL_FRAMEARENA_HELPERS(nsPluginFrame)
diff --git a/layout/generic/nsSelection.cpp b/layout/generic/nsSelection.cpp
index ba7f484033..7aca3696b9 100644
--- a/layout/generic/nsSelection.cpp
+++ b/layout/generic/nsSelection.cpp
@@ -552,10 +552,6 @@ nsFrameSelection::nsFrameSelection()
mSelectedCellIndex = 0;
nsAutoCopyListener *autoCopy = nullptr;
- // On macOS, cache the current selection to send to osx service menu.
-#ifdef XP_MACOSX
- autoCopy = nsAutoCopyListener::GetInstance(nsIClipboard::kSelectionCache);
-#endif
// Check to see if the autocopy pref is enabled
// and add the autocopy listener if it is
@@ -1978,16 +1974,6 @@ nsFrameSelection::RepaintSelection(SelectionType aSelectionType)
return NS_ERROR_NULL_POINTER;
NS_ENSURE_STATE(mShell);
-// On macOS, update the selection cache to the new active selection
-// aka the current selection.
-#ifdef XP_MACOSX
- nsFocusManager* fm = nsFocusManager::GetFocusManager();
- // Check an active window exists otherwise there cannot be a current selection
- // and that it's a normal selection.
- if (fm->GetActiveWindow() && aSelectionType == SelectionType::eNormal) {
- UpdateSelectionCacheOnRepaintSelection(mDomSelections[index]);
- }
-#endif
return mDomSelections[index]->Repaint(mShell->GetPresContext());
}
@@ -2711,11 +2697,7 @@ printf("aTarget == %d\n", aTarget);
// Any other mouseup actions require that Ctrl or Cmd key is pressed
// else stop table selection mode
bool doMouseUpAction = false;
-#ifdef XP_MACOSX
- doMouseUpAction = aMouseEvent->IsMeta();
-#else
doMouseUpAction = aMouseEvent->IsControl();
-#endif
if (!doMouseUpAction)
{
#ifdef DEBUG_TABLE_SELECTION
diff --git a/layout/printing/nsPrintEngine.cpp b/layout/printing/nsPrintEngine.cpp
index d232b669bb..23edeb1fe0 100644
--- a/layout/printing/nsPrintEngine.cpp
+++ b/layout/printing/nsPrintEngine.cpp
@@ -1004,10 +1004,6 @@ nsPrintEngine::GetCurrentPrintSettings(nsIPrintSettings * *aCurrentPrintSettings
nsresult
nsPrintEngine::CheckForPrinters(nsIPrintSettings* aPrintSettings)
{
-#if defined(XP_MACOSX)
- // Mac doesn't support retrieving a printer list.
- return NS_OK;
-#else
NS_ENSURE_ARG_POINTER(aPrintSettings);
// See if aPrintSettings already has a printer
@@ -1027,7 +1023,6 @@ nsPrintEngine::CheckForPrinters(nsIPrintSettings* aPrintSettings)
rv = aPrintSettings->SetPrinterName(printerName.get());
}
return rv;
-#endif
}
//----------------------------------------------------------------------
diff --git a/layout/style/nsComputedDOMStyle.cpp b/layout/style/nsComputedDOMStyle.cpp
index 7ac5fa604e..efa485f613 100644
--- a/layout/style/nsComputedDOMStyle.cpp
+++ b/layout/style/nsComputedDOMStyle.cpp
@@ -6648,14 +6648,7 @@ nsComputedDOMStyle::DoGetAnimationIterationCount()
RefPtr<nsROCSSPrimitiveValue> iterationCount = new nsROCSSPrimitiveValue;
float f = animation->GetIterationCount();
- /* Need a nasty hack here to work around an optimizer bug in gcc
- 4.2 on Mac, which somehow gets confused when directly comparing
- a float to the return value of NS_IEEEPositiveInfinity when
- building 32-bit builds. */
-#ifdef XP_MACOSX
- volatile
-#endif
- float inf = NS_IEEEPositiveInfinity();
+ float inf = NS_IEEEPositiveInfinity();
if (f == inf) {
iterationCount->SetIdent(eCSSKeyword_infinite);
} else {
diff --git a/layout/style/res/forms.css b/layout/style/res/forms.css
index db75151d48..281b75d769 100644
--- a/layout/style/res/forms.css
+++ b/layout/style/res/forms.css
@@ -593,15 +593,11 @@ input[type="checkbox"]:disabled:hover:active {
cursor: inherit;
}
-% On Mac, the native theme takes care of this.
-% See nsNativeThemeCocoa::ThemeDrawsFocusForWidget.
-%ifndef XP_MACOSX
input[type="checkbox"]:-moz-focusring,
input[type="radio"]:-moz-focusring {
/* Don't specify the outline-color, we should always use initial value. */
outline: 1px dotted;
}
-%endif
input[type="checkbox"]:hover:active,
input[type="radio"]:hover:active {
@@ -723,12 +719,10 @@ input[type="color"]:-moz-system-metric(color-picker-available):active:hover,
input[type="reset"]:active:hover,
input[type="button"]:active:hover,
input[type="submit"]:active:hover {
-%ifndef XP_MACOSX
padding-block-start: 0px;
padding-inline-end: 5px;
padding-block-end: 0px;
padding-inline-start: 7px;
-%endif
border-style: inset;
background-color: ButtonFace;
}
diff --git a/layout/xul/nsButtonBoxFrame.cpp b/layout/xul/nsButtonBoxFrame.cpp
index ba0b7fb2ab..3e0529e600 100644
--- a/layout/xul/nsButtonBoxFrame.cpp
+++ b/layout/xul/nsButtonBoxFrame.cpp
@@ -126,8 +126,6 @@ nsButtonBoxFrame::HandleEvent(nsPresContext* aPresContext,
break;
}
-// On mac, Return fires the default button, not the focused one.
-#ifndef XP_MACOSX
case eKeyPress: {
WidgetKeyboardEvent* keyEvent = aEvent->AsKeyboardEvent();
if (!keyEvent) {
@@ -142,7 +140,6 @@ nsButtonBoxFrame::HandleEvent(nsPresContext* aPresContext,
}
break;
}
-#endif
case eKeyUp: {
WidgetKeyboardEvent* keyEvent = aEvent->AsKeyboardEvent();
diff --git a/layout/xul/nsMenuBarListener.cpp b/layout/xul/nsMenuBarListener.cpp
index 23df81937a..70955c4301 100644
--- a/layout/xul/nsMenuBarListener.cpp
+++ b/layout/xul/nsMenuBarListener.cpp
@@ -76,15 +76,9 @@ void nsMenuBarListener::InitAccessKey()
if (mAccessKey >= 0)
return;
- // Compiled-in defaults, in case we can't get LookAndFeel --
- // mac doesn't have menu shortcuts, other platforms use alt.
-#ifdef XP_MACOSX
- mAccessKey = 0;
- mAccessKeyMask = 0;
-#else
+ // Compiled-in defaults, in case we can't get LookAndFeel...
mAccessKey = nsIDOMKeyEvent::DOM_VK_ALT;
mAccessKeyMask = MODIFIER_ALT;
-#endif
// Get the menu access key value from prefs, overriding the default:
mAccessKey = Preferences::GetInt("ui.key.menuAccessKey", mAccessKey);
@@ -254,8 +248,7 @@ nsMenuBarListener::KeyPress(nsIDOMEvent* aKeyEvent)
aKeyEvent->PreventDefault();
}
}
-#ifndef XP_MACOSX
- // Also need to handle F10 specially on Non-Mac platform.
+ // Also need to handle F10 specially.
else if (nativeKeyEvent->mMessage == eKeyPress && keyCode == NS_VK_F10) {
if ((GetModifiersForAccessKey(keyEvent) & ~MODIFIER_CONTROL) == 0) {
// The F10 key just went down by itself or with ctrl pressed.
@@ -273,7 +266,6 @@ nsMenuBarListener::KeyPress(nsIDOMEvent* aKeyEvent)
}
}
}
-#endif // !XP_MACOSX
}
return NS_OK;
diff --git a/layout/xul/nsMenuFrame.cpp b/layout/xul/nsMenuFrame.cpp
index a8e81adb55..087323a875 100644
--- a/layout/xul/nsMenuFrame.cpp
+++ b/layout/xul/nsMenuFrame.cpp
@@ -404,26 +404,12 @@ nsMenuFrame::HandleEvent(nsPresContext* aPresContext,
if (aEvent->mMessage == eKeyPress && !IsDisabled()) {
WidgetKeyboardEvent* keyEvent = aEvent->AsKeyboardEvent();
uint32_t keyCode = keyEvent->mKeyCode;
-#ifdef XP_MACOSX
- // On mac, open menulist on either up/down arrow or space (w/o Cmd pressed)
- if (!IsOpen() && ((keyEvent->mCharCode == ' ' && !keyEvent->IsMeta()) ||
- (keyCode == NS_VK_UP || keyCode == NS_VK_DOWN))) {
-
- // When pressing space, don't open the menu if performing an incremental search.
- if (keyEvent->mCharCode != ' ' ||
- !nsMenuPopupFrame::IsWithinIncrementalTime(keyEvent->mTime)) {
- *aEventStatus = nsEventStatus_eConsumeNoDefault;
- OpenMenu(false);
- }
- }
-#else
- // On other platforms, toggle menulist on unmodified F4 or Alt arrow
+ // Toggle menulist on unmodified F4 or Alt arrow
if ((keyCode == NS_VK_F4 && !keyEvent->IsAlt()) ||
((keyCode == NS_VK_UP || keyCode == NS_VK_DOWN) && keyEvent->IsAlt())) {
*aEventStatus = nsEventStatus_eConsumeNoDefault;
ToggleMenuState();
}
-#endif
}
else if (aEvent->mMessage == eMouseDown &&
aEvent->AsMouseEvent()->button == WidgetMouseEvent::eLeftButton &&
diff --git a/layout/xul/nsMenuPopupFrame.cpp b/layout/xul/nsMenuPopupFrame.cpp
index 378d719d44..1d47652dcb 100644
--- a/layout/xul/nsMenuPopupFrame.cpp
+++ b/layout/xul/nsMenuPopupFrame.cpp
@@ -1502,17 +1502,8 @@ nsMenuPopupFrame::SetPopupPosition(nsIFrame* aAnchorFrame, bool aIsMove, bool aS
screenPoint.MoveBy(margin.left + offsetForContextMenu.x,
margin.top + offsetForContextMenu.y);
-#ifdef XP_MACOSX
- // OSX tooltips follow standard flip rule but other popups flip horizontally not vertically
- if (mPopupType == ePopupTypeTooltip) {
- vFlip = FlipStyle_Outside;
- } else {
- hFlip = FlipStyle_Outside;
- }
-#else
- // Other OS screen positioned popups can be flipped vertically but never horizontally
+ // Screen positioned popups can be flipped vertically but never horizontally
vFlip = FlipStyle_Outside;
-#endif // #ifdef XP_MACOSX
}
// If a panel is being moved or has flip="none", don't constrain or flip it. But always do this for
diff --git a/layout/xul/nsRepeatService.h b/layout/xul/nsRepeatService.h
index 81321a4729..c731f8cf59 100644
--- a/layout/xul/nsRepeatService.h
+++ b/layout/xul/nsRepeatService.h
@@ -14,11 +14,7 @@
#define INITAL_REPEAT_DELAY 250
-#ifdef XP_MACOSX
-#define REPEAT_DELAY 25
-#else
#define REPEAT_DELAY 50
-#endif
class nsITimer;
diff --git a/layout/xul/nsSliderFrame.cpp b/layout/xul/nsSliderFrame.cpp
index a9e513e2f2..cc933ab37f 100644
--- a/layout/xul/nsSliderFrame.cpp
+++ b/layout/xul/nsSliderFrame.cpp
@@ -665,11 +665,7 @@ nsSliderFrame::GetScrollToClick()
return false;
}
-#ifdef XP_MACOSX
- return true;
-#else
return false;
-#endif
}
nsIFrame*
@@ -1179,8 +1175,8 @@ nsSliderFrame::ShouldScrollToClickForEvent(WidgetGUIEvent* aEvent)
return false;
}
-#if defined(XP_MACOSX) || defined(MOZ_WIDGET_GTK)
- // On Mac and Linux, clicking the scrollbar thumb should never scroll to click.
+#if defined(MOZ_WIDGET_GTK)
+ // On Linux, clicking the scrollbar thumb should never scroll to click.
if (IsEventOverThumb(aEvent)) {
return false;
}
@@ -1188,11 +1184,7 @@ nsSliderFrame::ShouldScrollToClickForEvent(WidgetGUIEvent* aEvent)
WidgetMouseEvent* mouseEvent = aEvent->AsMouseEvent();
if (mouseEvent->button == WidgetMouseEvent::eLeftButton) {
-#ifdef XP_MACOSX
- bool invertPref = mouseEvent->IsAlt();
-#else
bool invertPref = mouseEvent->IsShift();
-#endif
return GetScrollToClick() != invertPref;
}
diff --git a/layout/xul/nsXULPopupManager.cpp b/layout/xul/nsXULPopupManager.cpp
index 6e8cc3dda1..5fc533e1b9 100644
--- a/layout/xul/nsXULPopupManager.cpp
+++ b/layout/xul/nsXULPopupManager.cpp
@@ -712,21 +712,6 @@ nsXULPopupManager::ShowMenu(nsIContent *aMenu,
nsAutoString position;
-#ifdef XP_MACOSX
- nsCOMPtr<nsIDOMXULMenuListElement> menulist = do_QueryInterface(aMenu);
- bool isNonEditableMenulist = false;
- if (menulist) {
- bool editable;
- menulist->GetEditable(&editable);
- isNonEditableMenulist = !editable;
- }
-
- if (isNonEditableMenulist) {
- position.AssignLiteral("selection");
- }
- else
-#endif
-
if (onMenuBar || !onmenu)
position.AssignLiteral("after_start");
else
@@ -1814,15 +1799,6 @@ nsXULPopupManager::MayShowPopup(nsMenuPopupFrame* aPopup)
return false;
}
-#ifdef XP_MACOSX
- if (rootWin) {
- auto globalWin = nsGlobalWindow::Cast(rootWin.get());
- if (globalWin->IsInModalState()) {
- return false;
- }
- }
-#endif
-
// cannot open a popup that is a submenu of a menupopup that isn't open.
nsMenuFrame* menuFrame = do_QueryFrame(aPopup->GetParent());
if (menuFrame) {
@@ -2328,7 +2304,6 @@ nsXULPopupManager::HandleKeyboardEventWithKeyCode(
switch (keyCode) {
case nsIDOMKeyEvent::DOM_VK_UP:
case nsIDOMKeyEvent::DOM_VK_DOWN:
-#ifndef XP_MACOSX
// roll up the popup when alt+up/down are pressed within a menulist.
bool alt;
aKeyEvent->GetAltKey(&alt);
@@ -2337,7 +2312,6 @@ nsXULPopupManager::HandleKeyboardEventWithKeyCode(
break;
}
MOZ_FALLTHROUGH;
-#endif
case nsIDOMKeyEvent::DOM_VK_LEFT:
case nsIDOMKeyEvent::DOM_VK_RIGHT:
@@ -2366,9 +2340,7 @@ nsXULPopupManager::HandleKeyboardEventWithKeyCode(
break;
case nsIDOMKeyEvent::DOM_VK_TAB:
-#ifndef XP_MACOSX
case nsIDOMKeyEvent::DOM_VK_F10:
-#endif
if (aTopVisibleMenuItem &&
!aTopVisibleMenuItem->Frame()->GetContent()->AttrValueIs(kNameSpaceID_None,
nsGkAtoms::activateontab, nsGkAtoms::_true, eCaseMatters)) {
diff --git a/layout/xul/tree/nsTreeBodyFrame.cpp b/layout/xul/tree/nsTreeBodyFrame.cpp
index ec054a234e..262884c9a8 100644
--- a/layout/xul/tree/nsTreeBodyFrame.cpp
+++ b/layout/xul/tree/nsTreeBodyFrame.cpp
@@ -2613,9 +2613,7 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
// Save last values, we will need them.
int32_t lastDropRow = mSlots->mDropRow;
int16_t lastDropOrient = mSlots->mDropOrient;
-#ifndef XP_MACOSX
int16_t lastScrollLines = mSlots->mScrollLines;
-#endif
// Find out the current drag action
uint32_t lastDragAction = mSlots->mDragAction;
@@ -2633,9 +2631,6 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
mSlots->mDropAllowed = false;
InvalidateDropFeedback(lastDropRow, lastDropOrient);
}
-#ifdef XP_MACOSX
- ScrollByLines(mSlots->mScrollLines);
-#else
if (!lastScrollLines) {
// Cancel any previously initialized timer.
if (mSlots->mTimer) {
@@ -2648,7 +2643,6 @@ nsTreeBodyFrame::HandleEvent(nsPresContext* aPresContext,
LazyScrollCallback, nsITimer::TYPE_ONE_SHOT,
getter_AddRefs(mSlots->mTimer));
}
-#endif
// Bail out to prevent spring loaded timer and feedback line settings.
return NS_OK;
}
@@ -2842,53 +2836,6 @@ nsTreeBodyFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
if (!mView || !GetContent ()->GetComposedDoc()->GetWindow())
return;
-#ifdef XP_MACOSX
- nsIContent* baseElement = GetBaseElement();
- nsIFrame* treeFrame =
- baseElement ? baseElement->GetPrimaryFrame() : nullptr;
- nsCOMPtr<nsITreeSelection> selection;
- mView->GetSelection(getter_AddRefs(selection));
- nsITheme* theme = PresContext()->GetTheme();
- // On Mac, we support native theming of selected rows. On 10.10 and higher,
- // this means applying vibrancy which require us to register the theme
- // geometrics for the row. In order to make the vibrancy effect to work
- // properly, we also need the tree to be themed as a source list.
- if (selection && treeFrame && theme &&
- treeFrame->StyleDisplay()->mAppearance == NS_THEME_MAC_SOURCE_LIST) {
- // Loop through our onscreen rows. If the row is selected and a
- // -moz-appearance is provided, RegisterThemeGeometry might be necessary.
- const auto end = std::min(mRowCount, LastVisibleRow() + 1);
- for (auto i = FirstVisibleRow(); i < end; i++) {
- bool isSelected;
- selection->IsSelected(i, &isSelected);
- if (isSelected) {
- PrefillPropertyArray(i, nullptr);
- nsAutoString properties;
- mView->GetRowProperties(i, properties);
- nsTreeUtils::TokenizeProperties(properties, mScratchArray);
- nsStyleContext* rowContext =
- GetPseudoStyleContext(nsCSSAnonBoxes::moztreerow);
- auto appearance = rowContext->StyleDisplay()->mAppearance;
- if (appearance) {
- if (theme->ThemeSupportsWidget(PresContext(), this, appearance)) {
- nsITheme::ThemeGeometryType type =
- theme->ThemeGeometryTypeForWidget(this, appearance);
- if (type != nsITheme::eThemeGeometryTypeUnknown) {
- nsRect rowRect(mInnerBox.x, mInnerBox.y + mRowHeight *
- (i - FirstVisibleRow()), mInnerBox.width,
- mRowHeight);
- aBuilder->RegisterThemeGeometry(type,
- LayoutDeviceIntRect::FromUnknownRect(
- (rowRect + aBuilder->ToReferenceFrame(this)).ToNearestPixels(
- PresContext()->AppUnitsPerDevPixel())));
- }
- }
- }
- }
- }
- }
-#endif
-
aLists.Content()->AppendNewToTop(new (aBuilder)
nsDisplayTreeBody(aBuilder, this));
}