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 'use strict'; 6 7 <include src="../../../../ui/webui/resources/js/util.js"> 8 <include src="open_pdf_params_parser.js"> 9 <include src="pdf.js"> 10 <include src="pdf_scripting_api.js"> 11 <include src="viewport.js"> 12 13 /** 14 * Global PDFViewer object, accessible for testing. 15 * @type Object 16 */ 17 var viewer; 18 19 /** 20 * Entrypoint for starting the PDF viewer. This function obtains the details 21 * of the PDF 'stream' (the data that points to the PDF) and constructs a 22 * PDFViewer object with it. 23 */ 24 (function main() { 25 // If the viewer is started from the browser plugin, the view ID will be 26 // passed in which identifies the instance of the plugin. 27 var params = window.location.search.substring(1).split('='); 28 if (params.length == 2 && params[0] == 'id') { 29 var viewId = params[1]; 30 31 // Send a message to the background page to obtain the stream details. It 32 // will run the callback function passed in to initialize the viewer. 33 chrome.runtime.sendMessage( 34 'mhjfbmdgcfjbbpaeojofohoefgiehjai', 35 {viewId: viewId}, 36 function(streamDetails) { viewer = new PDFViewer(streamDetails); }); 37 return; 38 } 39 40 // The viewer may be started directly by passing in the URL of the PDF to load 41 // as the query string. This is used for print preview in particular. The URL 42 // of this page will be of the form 43 // 'chrome-extension://<extension id>?<pdf url>'. We pull out the <pdf url> 44 // part here. 45 var url = window.location.search.substring(1); 46 var streamDetails = { 47 streamUrl: url, 48 originalUrl: url, 49 responseHeaders: '' 50 }; 51 viewer = new PDFViewer(streamDetails); 52 })(); 53