-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathbackground.js
33 lines (30 loc) · 1.13 KB
/
background.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use strict";
var APPSPOT_URL_PATTERN = /^https?:\/\/chromiumcodereview\.appspot\.com/;
var APP_REDIRECT_URL_PATTERN = /^https?:\/\/([^\/]+)\/(((\d+)|login|user\/[^\/]+|settings)?\/?(#.*)?)$/;
var LEGACY_REDIRECT_URL_PATTERN = /^https:\/\/(codereview.chromium.org)\/static\/app\/#\/issue\/(\d+)?\/?$/;
var CHROMIUM_URL = "https://codereview.chromium.org";
var APP_PREFIX = "/static/app/";
chrome.webRequest.onBeforeRequest.addListener(function(details) {
if (details.type != "main_frame" && details.type != "sub_frame")
return;
var url = details.url;
if (url.match(APPSPOT_URL_PATTERN)) {
var url = url.replace(APPSPOT_URL_PATTERN, CHROMIUM_URL);
return {redirectUrl: url};
}
var match = url.match(APP_REDIRECT_URL_PATTERN);
if (!match)
match = url.match(LEGACY_REDIRECT_URL_PATTERN);
if (!match)
return;
var url = "https://" + match[1] + APP_PREFIX + (match[2] || "");
return {redirectUrl: url};
}, {
urls: [
"*://chromiumcodereview.appspot.com/*",
"*://codereview.chromium.org/*",
"*://codereview.appspot.com/*",
]
}, [
"blocking"
]);