mirror of
https://github.com/dart-lang/sdk
synced 2024-09-22 14:33:32 +00:00
795de8c481
R=kasperl@google.com Review URL: https://codereview.chromium.org//126003002 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31660 260f80e4-7a28-3924-810f-c04153c831b5
52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
function dartPrint(msg) {
|
|
window.parent.postMessage(String(msg), "*");
|
|
}
|
|
|
|
window.onerror = function (message, url, lineNumber) {
|
|
window.parent.postMessage(
|
|
["error", {message: message, url: url, lineNumber: lineNumber}], "*");
|
|
};
|
|
|
|
function onMessageReceived(event) {
|
|
var data = event.data;
|
|
if (data instanceof Array) {
|
|
if (data.length == 2 && data[0] == 'source') {
|
|
var script = document.createElement('script');
|
|
script.innerHTML = data[1];
|
|
script.type = 'application/javascript';
|
|
document.head.appendChild(script);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
window.addEventListener("message", onMessageReceived, false);
|
|
|
|
(function () {
|
|
function postScrollHeight() {
|
|
window.parent.postMessage(
|
|
["scrollHeight", document.documentElement.scrollHeight], "*");
|
|
}
|
|
|
|
var mutationObserverConstructor =
|
|
window.MutationObserver ||
|
|
window.WebKitMutationObserver ||
|
|
window.MozMutationObserver;
|
|
|
|
var observer = new mutationObserverConstructor(function(mutations) {
|
|
postScrollHeight()
|
|
window.setTimeout(postScrollHeight, 500);
|
|
});
|
|
|
|
observer.observe(
|
|
document.body,
|
|
{ attributes: true,
|
|
childList: true,
|
|
characterData: true,
|
|
subtree: true });
|
|
})();
|