Files
tubestation/widget/windows/moz.build
Masayuki Nakano b401605f20 Bug 1953047 - part 4: Implement TSFEmptyTextStore for the disabled document manager and context r=m_kato
Even while IME is disabled (i.e., when non-editable element or nobody has
focus), we'll expose active tab's URL and whether it's in the private browsing
mode via the input scope.  Therefore, we need to handle requests for retrieving
attributes.  So, we need a TextStore instance for that.  However, they may
require special behavior due to its context is marked as empty and not editable.
Unfortunately, `TSFTextStore` is enough complicated and big even after some
features are moved to `TSFUtils` and `TSFTextStoreBase`.  Therefore, this patch
creates `TSFEmptyTextStore` to isolate the implementation from `TSFTextStore`.

Differential Revision: https://phabricator.services.mozilla.com/D242682
2025-03-31 22:03:19 +00:00

217 lines
5.2 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("*TSF*"):
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",
"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",
"TSFEmptyTextStore.cpp",
"TSFInputScope.cpp",
"TSFStaticSink.cpp",
"TSFTextStore.cpp",
"TSFTextStoreBase.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",
"TSFUtils.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"