Home | History | Annotate | Download | only in pdf
      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