@@ -174,7 +174,7 @@ function processTabState(tabId, senderUrl) {
174
174
console . log ( "setting previous url to " + senderUrl ) ;
175
175
setTabStatus ( tabStatus , function ( ) {
176
176
working = false ;
177
- chrome . tabs . update ( tabId , { url : status . ampUrl } ) ;
177
+ chrome . tabs . update ( tabId , { url : status . ampUrl . startsWith ( '/' ) ? ( status [ 'origin' ] + status . ampUrl ) : status . ampUrl } ) ;
178
178
} ) ;
179
179
} else {
180
180
updatePageActionIcon ( tabId , senderUrl , status ) ;
@@ -236,6 +236,18 @@ function handleClear(sender) {
236
236
} ) ;
237
237
}
238
238
239
+ function handleOrigin ( tabId , origin ) {
240
+ checkAndWork ( function ( ) {
241
+ getTabStatus ( function ( tabStatus ) {
242
+ var status = tabId in tabStatus ? tabStatus [ tabId ] : { } ;
243
+ status [ 'origin' ] = origin ;
244
+ console . log ( 'got new origin ' + origin ) ;
245
+ tabStatus [ tabId ] = status ;
246
+ setTabStatus ( tabStatus , function ( ) { working = false } ) ;
247
+ } ) ;
248
+ } ) ;
249
+ }
250
+
239
251
function handleGetBack ( sender , callback ) {
240
252
var theurl = sender . url ;
241
253
checkAndWork ( function ( ) {
@@ -295,6 +307,9 @@ chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
295
307
case "clear" :
296
308
handleClear ( sender ) ;
297
309
break ;
310
+ case "origin" :
311
+ handleOrigin ( sender . tab . id , message . data ) ;
312
+ break ;
298
313
case "onAmpPage" :
299
314
handleOnAmpPage ( sender , message . data ) ;
300
315
break ;
0 commit comments