blob: 57c4a1603969911cb3afa62187026715059a09d1 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
window.addEventListener('load', function init() {
var extensionView = document.querySelector('extensionview');
/**
* @param {string} str
* @return {!Array<string>}
*/
var splitUrlOnHash = function(str) {
str = str || '';
var pos = str.indexOf('#');
return (pos !== -1) ? [str.substr(0, pos), str.substr(pos + 1)] : [str, ''];
};
new MutationObserver(function() {
var newHash = splitUrlOnHash(extensionView.getAttribute('src'))[1];
var oldHash = window.location.hash.substr(1);
if (newHash !== oldHash) {
window.location.hash = newHash;
}
}).observe(extensionView, {
attributes: true
});
window.addEventListener('hashchange', function() {
var newHash = window.location.hash.substr(1);
var extensionViewSrcParts = splitUrlOnHash(
extensionView.getAttribute('src'));
if (newHash !== extensionViewSrcParts[1]) {
extensionView.load(extensionViewSrcParts[0] + '#' + newHash);
}
});
extensionView.load(
'chrome-extension://' + loadTimeData.getString('extensionId') +
'/cast_setup/index.html#' + window.location.hash.substr(1) || 'devices');
});