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.
5 // Applies DomDistillerJs to the content of the page and returns a
6 // DomDistillerResults (as a javascript object/dict).
7 (function(options, stringify_output, use_new_context) {
9 // The generated domdistiller.js accesses the window object only explicitly
10 // via the window name. So, we create a new object with the normal window
11 // object as its prototype and initialize the domdistiller.js with that new
12 // context so that it doesn't change the real window object.
13 function initialize(window) {
14 // This include will be processed at build time by grit.
15 <include src="../../../../third_party/dom_distiller_js/dist/js/domdistiller.js"/>
17 var context = use_new_context ? Object.create(window) : window
18 context.setTimeout = function() {};
19 context.clearTimeout = function() {};
22 // The OPTIONS placeholder will be replaced with the DomDistillerOptions at
24 var distiller = context.org.chromium.distiller.DomDistiller;
25 var res = distiller.applyWithOptions(options);
27 if (stringify_output) {
28 return JSON.stringify(res);
32 window.console.error("Error during distillation: " + e);
33 if (e.stack != undefined) window.console.error(e.stack);
36 })(options = $$OPTIONS,
37 stringify_output = $$STRINGIFY,
38 use_new_context = $$NEW_CONTEXT)