I'm making a WebExtension for Chrome and Firefox that adds more information to GitHub. It's supposed to be faster than existing extensions.

I have my manifest set up like Mozilla's documentation recommends.

```
{
    "manifest_version": 2,
    "name": "GitHub Extended",
    "version": "0.0.1",
    "description": "Adds information to GitHub normally accessible only by the API.",
    "permissions": [
        "https://github.com/*"
    ],
    "content_scripts": [
        {
            "all_frames": true,
            "run_at": "document_start",
            "matches": [
                "https://github.com/*"
            ],
            "js": [
                "source/github.js",
                "source/repository.js"
            ]
        }
    ]
}

```

When the page is loaded, the content scripts are injected. The file `github.js` is a light wrapper around GitHub's API, and `repository.js` is the code to modfy the DOM of the main repository root page.

The most important code in there is this the preloader, which makes an API request while the page is loading and waits for both events to complete before adding to the DOM.

While this [current code](https://github.com/spikespaz/github-extended) works fine in Chrome, in Firefox it simply does nothing. I tried testing it by putting `console.log("I'm loaded!");` in `repository.js`. Nothing is printed. Why is this code not working in Firefox?

```
function beginPreload() {
    console.log("Test from preload scope!");

    let urlMatch = window.location.pathname.match(/\/([\w-]+)\/([\w-]+)/);
    console.log(urlMatch);

    Promise.all([
        getSortedReleases(urlMatch[1], urlMatch[2]),
        documentReady()
    ]).then((values) => {
        let releaseJson = values[0];

        let actionsEl = document.getElementsByClassName("pagehead-actions")[0];
        let dlCount = 0;

        for (release of releaseJson)
            for (asset of release.assets)
                dlCount += asset.download_count;

        let buttonEl = createDownloadButton(
            releaseJson[0].html_url,
            window.location.pathname + "/releases",
            formatNum(dlCount)
        );

        actionsEl.appendChild(buttonEl);
    });
}

beginPreload();
console.log("Test from global scope!");

```