mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
fca3c6a755
Clean up MouseScrollHandler::SynthesizedEvent: - Since this is a private local class, move it into the .cpp file, to minimize the number of compilation units that need to parse it. - Explicitly check `mSynthesizingEvent` for validity BEFORE calling nonstatic member functions. (Previously this code would call through `nullptr` as part of normal operation!) - Use `UniquePtr` in preference to explicit `new` and `delete`. Additionally: - At the end of the file, undo the #define-poisoning of `GetMessagePos` to allow WinMouseScrollHandler.cpp to be used in unified builds. Adjust `moz.build` accordingly. - Remove a now-unnecessary kungFuDeathGrip. (The event-object immediately afterwards also holds a strong reference.) No functional changes. Differential Revision: https://phabricator.services.mozilla.com/D226267
213 lines
5.1 KiB
Python
213 lines
5.1 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# 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/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("Core", "Widget: Win32")
|
|
SCHEDULES.exclusive = ["windows"]
|
|
|
|
with Files("*CompositorWidget*"):
|
|
BUG_COMPONENT = ("Core", "Graphics")
|
|
|
|
with Files("*IMEHandler*"):
|
|
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
|
|
|
|
with Files("*IMMHandler*"):
|
|
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
|
|
|
|
with Files("*KeyboardLayout*"):
|
|
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
|
|
|
|
with Files("OSK*"):
|
|
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
|
|
|
|
with Files("*TSFTextStore*"):
|
|
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
|
|
|
|
DIRS += [
|
|
"filedialog",
|
|
]
|
|
|
|
TEST_DIRS += ["tests"]
|
|
|
|
EXPORTS += [
|
|
"nsAppShell.h",
|
|
"nsdefs.h",
|
|
"WindowHook.h",
|
|
"WinUtils.h",
|
|
]
|
|
|
|
EXPORTS.mozilla += [
|
|
"ScreenHelperWin.h",
|
|
"ShellHeaderOnlyUtils.h",
|
|
"ToastNotificationHeaderOnlyUtils.h",
|
|
"UrlmonHeaderOnlyUtils.h",
|
|
"WindowsConsole.h",
|
|
"WindowsEventLog.h",
|
|
"WinHeaderOnlyUtils.h",
|
|
]
|
|
|
|
EXPORTS.mozilla.widget += [
|
|
"AudioSession.h",
|
|
"CompositorWidgetChild.h",
|
|
"CompositorWidgetParent.h",
|
|
"InProcessWinCompositorWidget.h",
|
|
"JumpListBuilder.h",
|
|
"nsWindowLoggedMessages.h",
|
|
"WinCompositorWidget.h",
|
|
"WinCompositorWindowThread.h",
|
|
"WindowsEMF.h",
|
|
"WindowsSMTCProvider.h",
|
|
"WinEventObserver.h",
|
|
"WinMessages.h",
|
|
"WinModifierKeyState.h",
|
|
"WinRegistry.h",
|
|
"WinTaskbar.h",
|
|
"WinWindowOcclusionTracker.h",
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
"AudioSession.cpp",
|
|
"CompositorWidgetChild.cpp",
|
|
"DirectManipulationOwner.cpp",
|
|
"GfxInfo.cpp",
|
|
"IEnumFE.cpp",
|
|
"IMMHandler.cpp",
|
|
"JumpListBuilder.cpp",
|
|
"KeyboardLayout.cpp",
|
|
"LSPAnnotator.cpp",
|
|
"nsAppShell.cpp",
|
|
"nsClipboard.cpp",
|
|
"nsColorPicker.cpp",
|
|
"nsDataObj.cpp",
|
|
"nsDataObjCollection.cpp",
|
|
"nsDragService.cpp",
|
|
"nsLookAndFeel.cpp",
|
|
"nsNativeDragSource.cpp",
|
|
"nsNativeDragTarget.cpp",
|
|
"nsNativeThemeWin.cpp",
|
|
"nsSound.cpp",
|
|
"nsToolkit.cpp",
|
|
"nsUserIdleServiceWin.cpp",
|
|
"nsUXThemeData.cpp",
|
|
"nsWindow.cpp",
|
|
"nsWindowDbg.cpp",
|
|
"nsWindowGfx.cpp",
|
|
"nsWindowLoggedMessages.cpp",
|
|
"nsWindowTaskbarConcealer.cpp",
|
|
"nsWinGesture.cpp",
|
|
"OSKTabTipManager.cpp",
|
|
"OSKVRManager.cpp",
|
|
"RemoteBackbuffer.cpp",
|
|
"ScreenHelperWin.cpp",
|
|
"SystemStatusBar.cpp",
|
|
"TaskbarPreview.cpp",
|
|
"TaskbarPreviewButton.cpp",
|
|
"TaskbarTabPreview.cpp",
|
|
"TaskbarWindowPreview.cpp",
|
|
"WinCompositorWindowThread.cpp",
|
|
"WindowHook.cpp",
|
|
"WindowsConsole.cpp",
|
|
"WinEventObserver.cpp",
|
|
"WinIMEHandler.cpp",
|
|
"WinMouseScrollHandler.cpp",
|
|
"WinPointerEvents.cpp",
|
|
"WinRegistry.cpp",
|
|
"WinTaskbar.cpp",
|
|
"WinTextEventDispatcherListener.cpp",
|
|
"WinUtils.cpp",
|
|
"WinWindowOcclusionTracker.cpp",
|
|
]
|
|
|
|
# The following files cannot be built in unified mode because of name clashes.
|
|
SOURCES += [
|
|
"CompositorWidgetParent.cpp",
|
|
"InProcessWinCompositorWidget.cpp",
|
|
"MediaKeysEventSourceFactory.cpp",
|
|
"nsBidiKeyboard.cpp",
|
|
"nsFilePicker.cpp",
|
|
"nsSharePicker.cpp",
|
|
"nsWidgetFactory.cpp",
|
|
"OSKInputPaneManager.cpp",
|
|
"WinCompositorWidget.cpp",
|
|
"WindowsSMTCProvider.cpp",
|
|
"WindowsUIUtils.cpp",
|
|
]
|
|
|
|
# Needs INITGUID and we don't allow INITGUID in unified sources since bug 970429.
|
|
SOURCES += [
|
|
"InputDeviceUtils.cpp",
|
|
"TSFTextStore.cpp",
|
|
]
|
|
|
|
if CONFIG["NS_PRINTING"]:
|
|
UNIFIED_SOURCES += [
|
|
"nsDeviceContextSpecWin.cpp",
|
|
"nsPrintDialogWin.cpp",
|
|
"nsPrinterWin.cpp",
|
|
"nsPrintSettingsServiceWin.cpp",
|
|
"nsPrintSettingsWin.cpp",
|
|
]
|
|
SOURCES += [
|
|
"nsPrintDialogUtil.cpp",
|
|
]
|
|
|
|
if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
|
|
UNIFIED_SOURCES += [
|
|
"WindowsEMF.cpp",
|
|
]
|
|
|
|
XPCOM_MANIFESTS += [
|
|
"components.conf",
|
|
]
|
|
|
|
include("/ipc/chromium/chromium-config.mozbuild")
|
|
|
|
FINAL_LIBRARY = "xul"
|
|
|
|
if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
|
|
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
|
|
|
|
LOCAL_INCLUDES += [
|
|
"/gfx/cairo/cairo/src",
|
|
"/layout/forms",
|
|
"/layout/generic",
|
|
"/layout/style",
|
|
"/layout/xul",
|
|
"/toolkit/components/jsoncpp/include",
|
|
"/toolkit/xre",
|
|
"/widget",
|
|
"/widget/headless",
|
|
"/xpcom/base",
|
|
]
|
|
|
|
if CONFIG["MOZ_BUILD_APP"] == "browser":
|
|
DEFINES["MOZ_BUILD_APP_IS_BROWSER"] = True
|
|
|
|
DEFINES["MOZ_UNICODE"] = True
|
|
DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
|
|
# Turn `firefox` into `Firefox`.
|
|
DEFINES["MOZ_TOAST_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"].title()
|
|
|
|
USE_LIBS += [
|
|
"jsoncpp",
|
|
]
|
|
|
|
OS_LIBS += [
|
|
"ktmw32",
|
|
"rpcrt4",
|
|
"urlmon",
|
|
"winmm",
|
|
]
|
|
|
|
# mingw is missing Windows toast notification definitions.
|
|
if CONFIG["CC_TYPE"] == "clang-cl":
|
|
SOURCES += [
|
|
"ToastNotification.cpp",
|
|
"ToastNotificationHandler.cpp",
|
|
]
|
|
|
|
SPHINX_TREES["/widget/windows"] = "docs"
|