author Kershaw Chang <>
Thu, 27 Jul 2017 23:41:00 +0200
changeset 420412 43a17f4d5399bcca8f67b3756aadf670792873d2
parent 420083 36f95aeb4c77f7cf3b3366583008cd6e4b6b1dba
child 441160 f541c03beb5f21a380ec2146f37c609b708b5661
permissions -rw-r--r--
Bug 1366822 - Part1: Modify NetworkPrioritizer to only update selected tab's window ID, r=dao The original NetworkPrioritizer tracks each browser window and give the high priority to the selected tab. This patch is based on the NetworkPrioritizer, but only send a notification of the current selected tab's content outer window ID to network module.

# -*- 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

def DevToolsModules(*modules):
    '''Installs JS modules at a resource:// path that corresponds directly to
    their source tree location.

    For this to work as intended, a file should be placed in each
    source directory which uses this template to install only the JS files in
    its own directory.  Subdirectories should use their own

    By following this pattern, there's less magic to require() and resource://
    paths, since they now match the source tree.

    Currently `DevToolsModules` can only be called once per, so we
    build a list manually above.  Bug 1198013 tracks fixing this to make it more
    like other constructs.'''

    for m in modules:
        if '/' in m:
            error('DevToolsModules must be used from the same directory as ' +
                  'the files to be installed.')

    # manifest files are typically used to install files to chrome
    # locations.  Instead of doing this, use this DevToolsModules syntax via
    # files to do the installation so that we can enforce correct
    # paths based on source tree location.
    base =
    for dir in RELATIVEDIR.split('/'):
        base = base[dir]
    base += [m for m in modules]