Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(672)

Side by Side Diff: chrome/renderer/resources/extensions/content_watcher.js

Issue 12326052: Using the new webkit CSS change notification instead of a mutation observer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 var contentWatcherNative = requireNative("contentWatcherNative");
6
7 // Returns the indices in |css_selectors| that match any element on the page. 5 // Returns the indices in |css_selectors| that match any element on the page.
8 exports.FindMatchingSelectors = function(css_selectors) { 6 exports.FindMatchingSelectors = function(css_selectors) {
9 var result = [] 7 var result = []
10 css_selectors.forEach(function(selector, index) { 8 css_selectors.forEach(function(selector, index) {
11 try { 9 try {
12 if (document.querySelector(selector) != null) 10 if (document.querySelector(selector) != null)
13 result.push(index); 11 result.push(index);
14 } catch (exception) { 12 } catch (exception) {
15 throw new Error("query Selector failed on '" + selector + "': " + 13 throw new Error("query Selector failed on '" + selector + "': " +
16 exception.stack); 14 exception.stack);
17 } 15 }
18 }); 16 });
19 return result; 17 return result;
20 }; 18 };
21
22 // Watches the page for all changes and calls FrameMutated (a C++ callback) in
23 // response.
24 var mutation_observer = new WebKitMutationObserver(
25 contentWatcherNative.FrameMutated);
26
27 // This runs once per frame, when the module is 'require'd.
28 mutation_observer.observe(document, {
29 childList: true,
30 attributes: true,
31 characterData: true,
32 subtree: true});
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698