1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6 def GetScriptToWaitForUnchangingDOM():
7 """Gets Javascript that waits until the DOM is stable for 5 seconds.
9 Times out if the DOM is not stable within 30 seconds.
12 Javascript as a string.
15 var target = document.body;
16 var callback = arguments[arguments.length - 1]
18 var timeout_id = setTimeout(function() {
22 var observer = new MutationObserver(function(mutations) {
23 clearTimeout(timeout_id);
24 timeout_id = setTimeout(function() {
27 }).observe(target, {attributes: true, childList: true,
28 characterData: true, subtree: true});