Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / chrome / test / ispy / client / dom.py
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.
4
5
6 def GetScriptToWaitForUnchangingDOM():
7   """Gets Javascript that waits until the DOM is stable for 5 seconds.
8
9   Times out if the DOM is not stable within 30 seconds.
10
11   Returns:
12     Javascript as a string.
13   """
14   return """
15     var target = document.body;
16     var callback = arguments[arguments.length - 1]
17
18     var timeout_id = setTimeout(function() {
19       callback()
20     }, 5000);
21
22     var observer = new MutationObserver(function(mutations) {
23       clearTimeout(timeout_id);
24       timeout_id = setTimeout(function() {
25         callback();
26       }, 5000);
27     }).observe(target, {attributes: true, childList: true,
28       characterData: true, subtree: true});
29   """