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
)