forked from google/santa-tracker-web
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcast.html
More file actions
112 lines (93 loc) · 3.5 KB
/
Copy pathcast.html
File metadata and controls
112 lines (93 loc) · 3.5 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<!--
Copyright 2015 Google Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<base href="">
<title>Google Santa Tracker</title>
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:100,300,400,600,700,800|Lobster">
<link rel="stylesheet" href="sass/santatracker.css">
<!-- Cast -->
<script src="//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js"></script>
<script>
(function() {
cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
window.ga_ = {pushCommand: function() {}}; // no analytics in Cast
var CAST_EXPIRY_MINUTES = 15;
var CAST_SAFETY_SECONDS = 180;
// For safety, if no scene is available or has loaded in the first little
// while, then automatically close this window.
window.setTimeout(function() {
var scene = window.santaApp && window.santaApp.selectedScene;
if (!scene || !scene.loaded) {
window.close();
}
}, 1000 * CAST_SAFETY_SECONDS);
// Start the Cast Reciever. This needs to happen early, otherwise an
// error may be reported to clients.
var crm = cast.receiver.CastReceiverManager.getInstance();
var messageBus = crm.getCastMessageBus('urn:x-cast:com.google.cast.santatracker');
var expiryTime = 1000 * 60 * CAST_EXPIRY_MINUTES;
var timeout;
crm.onReady = function(event) {
crm.setApplicationState('Google Santa Tracker');
};
crm.onSenderConnected = function(event) {
window.clearTimeout(timeout);
};
crm.onSenderDisconnected = function(event) {
if (!crm.getSenders().length) {
timeout = window.setTimeout(function() {
window.close();
}, expiryTime);
}
};
var config = new cast.receiver.CastReceiverManager.Config();
config.statusText = 'Google Santa Tracker...'; // subtle loading hint
config.maxInactivity = 60; // seconds
crm.start(config);
}());
</script>
<script>
window.DEV = true; // NOTE: replaced by string - do not change formatting.
</script>
<!-- NOTE: Cast doesn't include webcomponents, as a modern Chrome is assumed -->
<link rel="import" href="elements/elements_en.html" />
</head>
<body data-version="" unresolved>
<santa-app id="santaApp"></santa-app>
<div id="preload_placeholder"></div>
<script>
(function() {
window.santaApp = document.querySelector('santa-app');
if (window.DEV) {
// Polyfill needs I18nMsg to exist before setting the lang. Timing is fine for native :(
// Set locale for entire site (e.g. i18n-msg elements).
document.addEventListener('HTMLImportsLoaded', function() {
I18nMsg.lang = document.documentElement.lang || 'en';
I18nMsg.url = '_messages';
});
}
document.addEventListener('DOMContentLoaded', function() {
if (window.performance && window.performance.timing) {
var t = window.performance.timing;
var loadTime = t.domInteractive - t.domLoading;
console.debug('took', loadTime, 'ms from domLoading -> domInteractive');
} else {
console.debug('no timing information');
}
});
})();
</script>
</body>
</html>