dom/moz.build
author Masayuki Nakano <masayuki@d-toybox.com>
Tue, 19 Apr 2016 20:09:37 +0900
changeset 294638 1952b7fec843cbb6e1b402c7a0e2a42ba9ba335f
parent 284567 6d28a05772dbde665c1ef59a0a4efa1011c1f021
child 295386 83b0db55bdc9c55e68ccb8f912118ee7ed16ec6b
permissions -rw-r--r--
Bug 1257759 part.5 PluginInstanceChild should post received native key event to chrome process if the key combination may be a shortcut key r=jimm When PluginInstanceChild receives native key events, it should post the events to the chrome process first for checking if the key combination is reserved. However, posting all key events to the chrome process may make damage to the performance of text input. Therefore, this patch starts to post a key event whose key combination may be a shortcut key. However, for avoiding to shuffle the event order, it posts following key events until all posted key events are handled by the chrome process. For receiving response from widget, this patch defines nsIKeyEventInPluginCallback. It's specified by nsIWidget::OnWindowedPluginKeyEvent() for ensuring the caller will receive the reply. Basically, the caller of nsIWidget::OnWindowedPluginKeyEvent() should reply to the child process. However, if the widget is a PuppetWidget, it cannot return the result synchronously. Therefore, PuppetWidget::OnWindowedPluginKeyEvent() returns NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY and stores the callback to mKeyEventInPluginCallbacks. Then, TabParent::HandledWindowedPluginKeyEvent() will call PuppetWidget::HandledWindowedPluginKeyEvent(). MozReview-Commit-ID: G6brOU26NwQ

# -*- Mode: python; c-basic-offset: 4; 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/.

JAR_MANIFESTS += ['jar.mn']

interfaces = [
    'base',
    'canvas',
    'core',
    'html',
    'events',
    'settings',
    'stylesheets',
    'sidebar',
    'css',
    'traversal',
    'range',
    'xbl',
    'xpath',
    'xul',
    'security',
    'storage',
    'json',
    'offline',
    'geolocation',
    'notification',
    'permission',
    'svg',
    'smil',
    'apps',
    'gamepad',
]

if not CONFIG['MOZ_SIMPLEPUSH']:
    interfaces += ['push']

DIRS += ['interfaces/' + i for i in interfaces]

DIRS += [
    'animation',
    'apps',
    'base',
    'bluetooth',
    'activities',
    'archivereader',
    'requestsync',
    'bindings',
    'battery',
    'browser-element',
    'cache',
    'canvas',
    'cellbroadcast',
    'contacts',
    'crypto',
    'phonenumberutils',
    'alarm',
    'datastore',
    'devicestorage',
    'encoding',
    'events',
    'fetch',
    'filehandle',
    'filesystem',
    'fmradio',
    'geolocation',
    'html',
    'icc',
    'inputport',
    'json',
    'jsurl',
    'asmjscache',
    'mathml',
    'media',
    'messages',
    'mobileconnection',
    'notification',
    'offline',
    'power',
    'quota',
    'security',
    'settings',
    'storage',
    'svg',
    'mobilemessage',
    'time',
    'locales',
    'network',
    'permission',
    'plugins/base',
    'plugins/ipc',
    'indexedDB',
    'system',
    'ipc',
    'workers',
    'camera',
    'audiochannel',
    'broadcastchannel',
    'messagechannel',
    'promise',
    'smil',
    'telephony',
    'tv',
    'voicemail',
    'inputmethod',
    'webidl',
    'xbl',
    'xml',
    'xslt',
    'xul',
    'resourcestats',
    'manifest',
    'vr',
    'newapps',
    'u2f',
]

if CONFIG['OS_ARCH'] == 'WINNT':
    DIRS += ['plugins/ipc/hangui']

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    DIRS += [
        'speakermanager',
        'tethering',
        'wifi',
    ]

if CONFIG['MOZ_B2G_RIL']:
    DIRS += [
        'wappush',
    ]

if CONFIG['MOZ_PAY']:
    DIRS += ['payment']

if CONFIG['MOZ_GAMEPAD']:
    DIRS += ['gamepad']

if CONFIG['MOZ_NFC']:
    DIRS += ['nfc']

if CONFIG['MOZ_SIMPLEPUSH']:
    DIRS += ['simplepush']
else:
    DIRS += ['push']

if CONFIG['MOZ_SECUREELEMENT']:
    DIRS += ['secureelement']

if CONFIG['MOZ_B2G']:
    DIRS += [
        'downloads',
        'identity',
        'mobileid',
        'engineeringmode'
    ]

DIRS += ['presentation']

TEST_DIRS += [
    'tests',
    'imptests',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'cocoa', 'windows', 'android', 'qt'):
    TEST_DIRS += ['plugins/test']