gecko-dev/dom/xul/moz.build
Neil Deakin 8d3992adb0 Bug 1558520, rework remote controller to use JSWindowActor instead of having the browser have a controller, r=smaug
When searching for the controller for a command in nsWindowRoot::GetControllerForCommand, look for a focused browsing context instead and get the controller through the Controllers actor associated with that browsing context. When a command update occurs in a window in the child process, send the list of commands to the parent process along with the browsing context for that window. The parent will pass this information to the controllers actor. As long as we can get the right currently focused browsing context descendant, we can get the correct command state and invoke commands through the right actor.

Differential Revision: https://phabricator.services.mozilla.com/D66222

--HG--
rename : toolkit/modules/RemoteController.jsm => toolkit/actors/ControllersParent.jsm
extra : moz-landing-system : lando
2020-03-12 16:47:57 +00:00

90 lines
2.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", "XUL")
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DEFINES['MOZ_BREAK_XUL_OVERLAYS'] = True
MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
if CONFIG['MOZ_XUL']:
EXPORTS += [
'nsXULCommandDispatcher.h',
'nsXULElement.h',
'nsXULPrototypeDocument.h',
'nsXULSortService.h',
]
EXPORTS.mozilla.dom += [
'XULBroadcastManager.h',
'XULFrameElement.h',
'XULMenuElement.h',
'XULPersist.h',
'XULPopupElement.h',
'XULTextElement.h',
'XULTooltipElement.h',
'XULTreeElement.h',
]
UNIFIED_SOURCES += [
'nsXULCommandDispatcher.cpp',
'nsXULContentSink.cpp',
'nsXULContentUtils.cpp',
'nsXULElement.cpp',
'nsXULPopupListener.cpp',
'nsXULPrototypeCache.cpp',
'nsXULPrototypeDocument.cpp',
'nsXULSortService.cpp',
'XULBroadcastManager.cpp',
'XULFrameElement.cpp',
'XULMenuElement.cpp',
'XULPersist.cpp',
'XULPopupElement.cpp',
'XULTextElement.cpp',
'XULTooltipElement.cpp',
'XULTreeElement.cpp',
]
XPIDL_SOURCES += [
'nsIBrowserController.idl',
'nsIController.idl',
'nsIControllers.idl',
]
XPIDL_MODULE = 'xul'
EXPORTS.mozilla.dom += [
'ChromeObserver.h',
]
UNIFIED_SOURCES += [
'ChromeObserver.cpp',
'nsXULControllers.cpp',
]
LOCAL_INCLUDES += [
'/docshell/base',
'/dom/base',
'/dom/html',
'/dom/xml',
'/layout/base',
'/layout/generic',
'/layout/style',
'/layout/xul',
'/layout/xul/tree',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']