{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla/bedrock/pulls/comments/37761339","id":37761339,"diff_hunk":"@@ -0,0 +1,280 @@\n+/* This Source Code Form is subject to the terms of the Mozilla Public\n+ * License, v. 2.0. If a copy of the MPL was not distributed with this\n+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n+\n+;(function($, Modernizr, dataLayer, site) {\n+    'use strict';\n+\n+    var $html = $(document.documentElement);\n+    var $window = $(window);\n+    var $document = $(document);\n+    var isIELT9 = (site.platform === 'windows' && /MSIE\\s[1-8]\\./.test(navigator.userAgent));\n+    var pathParts = window.location.pathname.split('/');\n+    var queryStr = window.location.search ? window.location.search + '&' : '?';\n+    var params = new window._SearchParams();\n+    var referrer = pathParts[pathParts.length - 2];\n+    var locale = pathParts[1];\n+    var virtualUrl = ('/' + locale + '/products/download.html' +\n+                       queryStr + 'referrer=' + referrer);\n+    var state; // track page state\n+    var noScene2; // track possibility of showing scene 2\n+\n+    var $downloadInteraction = $('#download-interaction'); // wrapper for download ready/started\n+    var $downloadReady = $('#download-ready'); // content displayed before download starts\n+    var $downloadStarted = $('#download-started'); // content displayed after download starts\n+    var $directDownloadLink = $('#direct-download-link');\n+\n+    var uiTourSendEvent = function(action, data) {\n+        var event = new CustomEvent('mozUITour', {\n+            bubbles: true,\n+            detail: {\n+                action: action,\n+                data: data || {}\n+            }\n+        });\n+\n+        document.dispatchEvent(event);\n+    };\n+\n+    var uiTourGetConfiguration = function(configName, callback) {\n+        uiTourSendEvent('getConfiguration', {\n+            configuration: configName,\n+            callbackID: function() {\n+                var id = Math.random().toString(36).replace(/[^a-z]+/g, '');\n+\n+                function listener(event) {\n+                    if (typeof event.detail === 'object' && event.detail.callbackID === id) {\n+                        document.removeEventListener('mozUITourResponse', listener);\n+                        callback(event.detail.data);\n+                    }\n+                }\n+\n+                document.addEventListener('mozUITourResponse', listener);\n+\n+                return id;\n+            }.call()\n+        });\n+    };\n+\n+    if (window.isFirefox()) {\n+        // data-latest-firefox includes point release information\n+        var latestFirefoxVersionFull = $html.attr('data-latest-firefox');\n+\n+        // get latest full version (no point release info) for initial check\n+        var latestFirefoxVersion = parseInt(latestFirefoxVersionFull.split('.')[0], 10);\n+\n+        if (window.isFirefoxUpToDate(latestFirefoxVersion + '')) {\n+            if (window.location.hash !== '#download-fx' && params.get('scene') !== 2) {\n+                // the firefox-latest class prevents the download from triggering\n+                // and scene 2 from showing, which we want if the user lands on\n+                // /firefox/new/ but if the user visits /firefox/new/?scene=2#download-fx\n+                // (from a download button) then we want them to see the same scene 2\n+                // as non-firefox users and initiate a download\n+                $html.addClass('firefox-latest');\n+\n+                // if user is on release channel and has latest version, offer refresh button\n+                uiTourGetConfiguration('appinfo', function(config) {\n+                    if (config.defaultUpdateChannel === 'release' && config.version === latestFirefoxVersionFull) {\n+                        $html.addClass('show-refresh');\n+\n+                        // DOM may not be ready yet, so bind filtered click handler to document\n+                        $document.on('click', '#refresh-firefox', function() {\n+                            uiTourSendEvent('resetFirefox');\n+                        });\n+                    }\n+                });\n+            }\n+        } else {\n+            $html.addClass('firefox-old');\n+        }\n+    }\n+\n+    // Add GA custom tracking and external link tracking\n+    state = 'Desktop, not Firefox';\n+\n+    if (site.platform === 'android') {\n+        if ($html.hasClass('firefox-latest')) {\n+            state = 'Android, Firefox up-to-date';\n+        } else if ($html.hasClass('firefox-old')) {\n+            state = 'Android, Firefox not up-to-date';\n+        } else {\n+            state = 'Android, not Firefox';\n+        }\n+    } else if (site.platform === 'ios') {\n+        state = 'iOS, Firefox not supported';\n+    } else if (site.platform === 'fxos') {\n+        state = 'FxOS';\n+    } else {\n+        if ($html.hasClass('firefox-latest')) {\n+            state = 'Desktop, Firefox up-to-date';\n+        } else if ($html.hasClass('firefox-old')) {\n+            state = 'Desktop, Firefox not up-to-date';\n+        }\n+    }\n+\n+    //GA Custom Dimension in Pageview\n+    window.dataLayer.push({\n+        event: 'set-state',\n+        state: state\n+    });\n+\n+    // conditions in which scene2 should not be shown, even when the\n+    // #download-fx hash is set\n+    noScene2 = (\n+        site.platform === 'other' ||    // no download available\n+        site.platform === 'ios' ||      // unsupported platform\n+        site.platform === 'fxos' ||  // no download available\n+        site.platform === 'android'  // download goes to Play Store\n+    );\n+\n+    $document.ready(function() {\n+        var $thankYou = $('.thankyou');\n+        var hashChange = ('onhashchange' in window);\n+\n+        // if desktop with download available, re-locate dl button links\n+        if (!noScene2 && $('.download-button-wrapper:visible').length > 0) {\n+            var $downloadButtonLinks = $('.download-button-wrapper .download-other-desktop').detach();\n+            $downloadButtonLinks.css('display', 'block').insertBefore('#firefox-screenshot');\n+        }\n+\n+        if (site.platform === 'android') {\n+            $('#download-button-android .download-subtitle').html(\n+                $('.android.download-button-wrapper').data('upgradeSubtitle'));\n+\n+            $downloadStarted.removeClass('invisible');\n+            $downloadReady.removeClass('invisible');\n+\n+            // On Android, skip all the scene transitions. We're just linking\n+            // to the Play Store.\n+            return;\n+        }\n+\n+        function showScene(scene) {\n+            if (scene === 2) {\n+                $downloadReady.addClass('hidden');\n+                $downloadStarted.removeClass('hidden');\n+\n+                $thankYou.focus();\n+            } else {\n+                $downloadStarted.addClass('hidden');\n+                $downloadReady.removeClass('hidden');\n+            }\n+\n+            $downloadInteraction.data('scene', scene);\n+        }\n+\n+        // Pull download link from the download button and add to the\n+        // 'click here' link.\n+        // TODO: Remove and generate link in bedrock.\n+        $directDownloadLink.attr(\n+            'href', $('.download-list li:visible .download-link').attr('href')\n+        );\n+\n+        $downloadInteraction.on('click', '#direct-download-link, .download-link', function(e) {\n+            e.preventDefault();\n+\n+            var url = $(e.currentTarget).attr('href');\n+\n+            // An iframe can not be used here to trigger the download because\n+            // it will be blocked by Chrome if the download link redirects\n+            // to a HTTP URI and we are on HTTPS.\n+            function trackAndRedirect(url, virtualUrl) {\n+                // Delay to initiate download is required to allow animation\n+                // to finish loading in IE. If delay is removed, the DOM will\n+                // unload before the animation completes and the page will\n+                // stop in a half-animated state.\n+                window.setTimeout(function() {\n+                        window.dataLayer.push({\n+                            event: 'virtual-pageview',\n+                            virtualUrl: virtualUrl\n+                        });\n+\n+                        window.location.href = url;\n+                    }, 500);\n+            }\n+\n+            // we must use a popup to trigger download for IE6/7/8 as the\n+            // delay sending the page view tracking in track_and_redirect()\n+            // triggers the IE security blocker. Sigh.\n+            function trackAndPopup(url, virtualUrl) {\n+                // popup must go before tracking to prevent timeouts that\n+                // cause the security blocker.\n+                window.open(url, 'download_window', 'toolbar=0,location=no,directories=0,status=0,scrollbars=0,resizeable=0,width=1,height=1,top=0,left=0');\n+\n+                window.dataLayer.push({\n+                    event: 'virtual-pageview',\n+                    virtualUrl: virtualUrl\n+                });\n+            }\n+\n+            if (isIELT9) {\n+                // We do a popup for IE < 9 users when they click the download button\n+                // on scene1. If they are going straight to scene2 on page load, we\n+                // still need to use the regular trackAndRedirect() function because\n+                // the popup will be blocked and then the download will also be blocked\n+                // in the popup.\n+                if (window.location.hash === '#download-fx' || params.get('scene') === 2) {\n+                    trackAndRedirect(url, virtualUrl);\n+                } else {\n+                    trackAndPopup(url, virtualUrl);\n+                }\n+            } else {\n+                trackAndRedirect(url, virtualUrl);\n+            }\n+\n+            if ($downloadInteraction.data('scene') !== 2) {\n+                if (hashChange) {\n+                    window.location.hash = '#download-fx';\n+                } else {\n+                    showScene(2);\n+                }\n+            }\n+        });\n+\n+        if (hashChange && !noScene2) {\n+            $window.on('hashchange', function() {\n+                if (window.location.hash === '#download-fx') {\n+                    showScene(2);\n+                }\n+                if (window.location.hash === '') {\n+                    showScene(1);\n+                }\n+            });\n+        }\n+\n+        $window.on('load', function() {\n+            // initiate download/scene2 if coming directly to #download-fx and/or ?scene=2\n+            // some older browsers will not preserve the #download-fx when they are redirected\n+            // so we use a url parameter, but we don't want to use a url param when the user\n+            // clicks the download button on /firefox/new/ because that can trigger an unecessary page load\n+            if (window.location.hash === '#download-fx' || params.get('scene') === 2) {\n+                if (noScene2) {\n+                    // if using an unsupported platform just try to drop the URL hash\n+                    if (window.history && window.history.replaceState) {\n+                        var uri = window.location.href.split('#')[0];\n+                        window.history.replaceState({}, '', uri);\n+                    }\n+                } else {\n+                    showScene(2);\n+                    // For IE < 11 we supress the auto-download since this\n+                    // will soon be triggered using a popup on bedrock prior\n+                    // to landing on /firefox/download/#download-fx. This\n+                    // check reflects the current logic on bedrock and the old\n+                    // PHP download pages (which also only check for `MSIE`).\n+                    // Once all buttons point to this page on all locales,\n+                    // we can switch this check to IE < 9.\n+                    if (navigator.appVersion.indexOf('MSIE') !== -1) {\n+                        return;\n+                    }\n+\n+                    $directDownloadLink.trigger('click');\n+                }\n+            }\n+\n+            // prep both scenes for display\n+            $downloadStarted.removeClass('invisible');","path":"media/js/firefox/new2.js","position":276,"original_position":275,"commit_id":"ee8f74569c27361fff503c378295c3342fd3497a","original_commit_id":"0628c11a933f40b4331828c632411d9f0f69105b","user":{"login":"alexgibson","id":400117,"avatar_url":"https://avatars.githubusercontent.com/u/400117?v=3","gravatar_id":"","url":"https://api.github.com/users/alexgibson","html_url":"https://github.com/alexgibson","followers_url":"https://api.github.com/users/alexgibson/followers","following_url":"https://api.github.com/users/alexgibson/following{/other_user}","gists_url":"https://api.github.com/users/alexgibson/gists{/gist_id}","starred_url":"https://api.github.com/users/alexgibson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexgibson/subscriptions","organizations_url":"https://api.github.com/users/alexgibson/orgs","repos_url":"https://api.github.com/users/alexgibson/repos","events_url":"https://api.github.com/users/alexgibson/events{/privacy}","received_events_url":"https://api.github.com/users/alexgibson/received_events","type":"User","site_admin":false},"body":"One thought that just occurred to me - could this possibly effect download conversions negatively on slower connections? (e.g. waiting for the window load event to see the content?)","created_at":"2015-08-24T15:07:48Z","updated_at":"2015-08-24T15:07:48Z","html_url":"https://github.com/mozilla/bedrock/pull/3232#discussion_r37761339","pull_request_url":"https://api.github.com/repos/mozilla/bedrock/pulls/3232","_links":{"self":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/comments/37761339"},"html":{"href":"https://github.com/mozilla/bedrock/pull/3232#discussion_r37761339"},"pull_request":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/3232"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla/bedrock/pulls/3232","id":43067075,"html_url":"https://github.com/mozilla/bedrock/pull/3232","diff_url":"https://github.com/mozilla/bedrock/pull/3232.diff","patch_url":"https://github.com/mozilla/bedrock/pull/3232.patch","issue_url":"https://api.github.com/repos/mozilla/bedrock/issues/3232","number":3232,"state":"open","locked":false,"title":"[fix bug 1190614] Build alternate, optimized /firefox/new/.","user":{"login":"jpetto","id":317532,"avatar_url":"https://avatars.githubusercontent.com/u/317532?v=3","gravatar_id":"","url":"https://api.github.com/users/jpetto","html_url":"https://github.com/jpetto","followers_url":"https://api.github.com/users/jpetto/followers","following_url":"https://api.github.com/users/jpetto/following{/other_user}","gists_url":"https://api.github.com/users/jpetto/gists{/gist_id}","starred_url":"https://api.github.com/users/jpetto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpetto/subscriptions","organizations_url":"https://api.github.com/users/jpetto/orgs","repos_url":"https://api.github.com/users/jpetto/repos","events_url":"https://api.github.com/users/jpetto/events{/privacy}","received_events_url":"https://api.github.com/users/jpetto/received_events","type":"User","site_admin":false},"body":"After review/merge is complete, will test with Optimizely. See [bug 1197271](https://bugzilla.mozilla.org/show_bug.cgi?id=1197271).","created_at":"2015-08-21T18:32:34Z","updated_at":"2015-08-24T15:07:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1445c0d6d1cd469327a927979cb5d970b9acd052","assignee":{"login":"alexgibson","id":400117,"avatar_url":"https://avatars.githubusercontent.com/u/400117?v=3","gravatar_id":"","url":"https://api.github.com/users/alexgibson","html_url":"https://github.com/alexgibson","followers_url":"https://api.github.com/users/alexgibson/followers","following_url":"https://api.github.com/users/alexgibson/following{/other_user}","gists_url":"https://api.github.com/users/alexgibson/gists{/gist_id}","starred_url":"https://api.github.com/users/alexgibson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexgibson/subscriptions","organizations_url":"https://api.github.com/users/alexgibson/orgs","repos_url":"https://api.github.com/users/alexgibson/repos","events_url":"https://api.github.com/users/alexgibson/events{/privacy}","received_events_url":"https://api.github.com/users/alexgibson/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/mozilla/bedrock/pulls/3232/commits","review_comments_url":"https://api.github.com/repos/mozilla/bedrock/pulls/3232/comments","review_comment_url":"https://api.github.com/repos/mozilla/bedrock/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla/bedrock/issues/3232/comments","statuses_url":"https://api.github.com/repos/mozilla/bedrock/statuses/ee8f74569c27361fff503c378295c3342fd3497a","head":{"label":"mozilla:bug-1190614-firefox-new-improvements","ref":"bug-1190614-firefox-new-improvements","sha":"ee8f74569c27361fff503c378295c3342fd3497a","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":1616665,"name":"bedrock","full_name":"mozilla/bedrock","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/bedrock","description":"Making mozilla.org awesome, one pebble at a time","fork":false,"url":"https://api.github.com/repos/mozilla/bedrock","forks_url":"https://api.github.com/repos/mozilla/bedrock/forks","keys_url":"https://api.github.com/repos/mozilla/bedrock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/bedrock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/bedrock/teams","hooks_url":"https://api.github.com/repos/mozilla/bedrock/hooks","issue_events_url":"https://api.github.com/repos/mozilla/bedrock/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/bedrock/events","assignees_url":"https://api.github.com/repos/mozilla/bedrock/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/bedrock/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/bedrock/tags","blobs_url":"https://api.github.com/repos/mozilla/bedrock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/bedrock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/bedrock/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/bedrock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/bedrock/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/bedrock/languages","stargazers_url":"https://api.github.com/repos/mozilla/bedrock/stargazers","contributors_url":"https://api.github.com/repos/mozilla/bedrock/contributors","subscribers_url":"https://api.github.com/repos/mozilla/bedrock/subscribers","subscription_url":"https://api.github.com/repos/mozilla/bedrock/subscription","commits_url":"https://api.github.com/repos/mozilla/bedrock/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/bedrock/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/bedrock/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/bedrock/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/bedrock/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/bedrock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/bedrock/merges","archive_url":"https://api.github.com/repos/mozilla/bedrock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/bedrock/downloads","issues_url":"https://api.github.com/repos/mozilla/bedrock/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/bedrock/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/bedrock/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/bedrock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/bedrock/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/bedrock/releases{/id}","created_at":"2011-04-14T22:57:57Z","updated_at":"2015-08-21T13:11:35Z","pushed_at":"2015-08-24T14:52:00Z","git_url":"git://github.com/mozilla/bedrock.git","ssh_url":"git@github.com:mozilla/bedrock.git","clone_url":"https://github.com/mozilla/bedrock.git","svn_url":"https://github.com/mozilla/bedrock","homepage":"https://www.mozilla.org","size":380885,"stargazers_count":254,"watchers_count":254,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":348,"mirror_url":null,"open_issues_count":20,"forks":348,"open_issues":20,"watchers":254,"default_branch":"master"}},"base":{"label":"mozilla:master","ref":"master","sha":"5f60253dd2c97e60a219a18a7b653b77b594a4a7","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":1616665,"name":"bedrock","full_name":"mozilla/bedrock","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/bedrock","description":"Making mozilla.org awesome, one pebble at a time","fork":false,"url":"https://api.github.com/repos/mozilla/bedrock","forks_url":"https://api.github.com/repos/mozilla/bedrock/forks","keys_url":"https://api.github.com/repos/mozilla/bedrock/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/bedrock/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/bedrock/teams","hooks_url":"https://api.github.com/repos/mozilla/bedrock/hooks","issue_events_url":"https://api.github.com/repos/mozilla/bedrock/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/bedrock/events","assignees_url":"https://api.github.com/repos/mozilla/bedrock/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/bedrock/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/bedrock/tags","blobs_url":"https://api.github.com/repos/mozilla/bedrock/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/bedrock/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/bedrock/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/bedrock/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/bedrock/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/bedrock/languages","stargazers_url":"https://api.github.com/repos/mozilla/bedrock/stargazers","contributors_url":"https://api.github.com/repos/mozilla/bedrock/contributors","subscribers_url":"https://api.github.com/repos/mozilla/bedrock/subscribers","subscription_url":"https://api.github.com/repos/mozilla/bedrock/subscription","commits_url":"https://api.github.com/repos/mozilla/bedrock/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/bedrock/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/bedrock/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/bedrock/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/bedrock/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/bedrock/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/bedrock/merges","archive_url":"https://api.github.com/repos/mozilla/bedrock/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/bedrock/downloads","issues_url":"https://api.github.com/repos/mozilla/bedrock/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/bedrock/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/bedrock/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/bedrock/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/bedrock/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/bedrock/releases{/id}","created_at":"2011-04-14T22:57:57Z","updated_at":"2015-08-21T13:11:35Z","pushed_at":"2015-08-24T14:52:00Z","git_url":"git://github.com/mozilla/bedrock.git","ssh_url":"git@github.com:mozilla/bedrock.git","clone_url":"https://github.com/mozilla/bedrock.git","svn_url":"https://github.com/mozilla/bedrock","homepage":"https://www.mozilla.org","size":380885,"stargazers_count":254,"watchers_count":254,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":348,"mirror_url":null,"open_issues_count":20,"forks":348,"open_issues":20,"watchers":254,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/3232"},"html":{"href":"https://github.com/mozilla/bedrock/pull/3232"},"issue":{"href":"https://api.github.com/repos/mozilla/bedrock/issues/3232"},"comments":{"href":"https://api.github.com/repos/mozilla/bedrock/issues/3232/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/3232/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla/bedrock/pulls/3232/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla/bedrock/statuses/ee8f74569c27361fff503c378295c3342fd3497a"}}}}