Skip to content
Browse files

Changes to allowed versioned building of Chrome extension that meets new

Chrome extension security requirements
  • Loading branch information...
1 parent d6d4fc8 commit 6ca9245a39426b3a070b844ad2b84c70a01e1cf8 @moderation moderation committed Sep 6, 2012
Showing with 111 additions and 26 deletions.
  1. +5 −4 extensions/chrome/manifest.json
  2. +5 −4 extensions/chrome/pdfHandler.js
  3. +7 −2 make.js
  4. +0 −1 web/viewer-snippet.html
  5. +15 −15 web/viewer.html
  6. +79 −0 web/viewer.js
View
9 extensions/chrome/manifest.json
@@ -1,11 +1,12 @@
{
"manifest_version": 2,
- "name": "uriloader@pdf.js",
- "version": "0.1",
- "description": "Read PDF Document",
+ "name": "PDF Viewer",
+ "version": "PDFJSSCRIPT_VERSION",
+ "description": "Uses HTML5 to display PDF files directly in Chrome.",
"permissions": [
"webRequest", "webRequestBlocking",
- "http://*/*.pdf", "https://*/*.pdf",
+ "http://*/*.pdf",
+ "https://*/*.pdf",
"file:///*/*.pdf"
],
"background": {
View
9 extensions/chrome/pdfHandler.js
@@ -30,9 +30,10 @@ chrome.webRequest.onBeforeRequest.addListener(
},
{
urls: [
- "http://*/*.pdf", "https://*/*.pdf",
- "file://*/*.pdf"
+ 'http://*/*.pdf',
+ 'https://*/*.pdf',
+ 'file://*/*.pdf'
],
- types: [ "main_frame" ]
+ types: ['main_frame']
},
- ["blocking"]);
+ ['blocking']);
View
9 make.js
@@ -52,7 +52,6 @@ target.all = function() {
// Files that need to be included in every build.
var COMMON_WEB_FILES =
['web/viewer.css',
- 'web/inline.js',
'web/images',
'web/debugger.js'],
COMMON_WEB_FILES_PREPROCESS =
@@ -582,7 +581,9 @@ target.chrome = function() {
defines: defines,
copy: [
[COMMON_WEB_FILES, CHROME_BUILD_CONTENT_DIR + '/web'],
- [['extensions/chrome/*.json', 'extensions/chrome/*.html', 'extensions/chrome/*.js'],
+ [['extensions/chrome/*.json',
+ 'extensions/chrome/*.html',
+ 'extensions/chrome/*.js'],
CHROME_BUILD_DIR],
[BUILD_TARGET, CHROME_BUILD_CONTENT_DIR + BUILD_TARGET],
['external/webL10n/l10n.js', CHROME_BUILD_CONTENT_DIR + '/web']
@@ -594,6 +595,10 @@ target.chrome = function() {
};
builder.build(setup);
+ // Update the build version number
+ sed('-i', /PDFJSSCRIPT_VERSION/, EXTENSION_VERSION,
+ CHROME_BUILD_DIR + '/manifest.json');
+
// Bundle the files to a Chrome extension file .crx if path to key is set
var pem = env['PDFJS_CHROME_KEY'];
if (!pem) {
View
1 web/viewer-snippet.html
@@ -2,4 +2,3 @@
<link rel="resource" type="application/l10n" href="locale.properties"/>
<script type="text/javascript" src="l10n.js"></script>
<script type="text/javascript" src="../build/pdf.js"></script>
-<script type="text/javascript" src="inline.js"></script>
View
30 web/viewer.html
@@ -82,13 +82,13 @@
<div id="sidebarContainer">
<div id="toolbarSidebar" class="splitToolbarButton toggled">
- <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" onclick="PDFView.switchSidebarView('thumbs')" tabindex="1" data-l10n-id="thumbs">
+ <button id="viewThumbnail" class="toolbarButton group toggled" title="Show Thumbnails" tabindex="1" data-l10n-id="thumbs">
<span data-l10n-id="thumbs_label">Thumbnails</span>
</button>
- <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" onclick="PDFView.switchSidebarView('outline')" tabindex="2" data-l10n-id="outline">
+ <button id="viewOutline" class="toolbarButton group" title="Show Document Outline" tabindex="2" data-l10n-id="outline">
<span data-l10n-id="outline_label">Document Outline</span>
</button>
- <button id="viewSearch" class="toolbarButton group hidden" title="Search Document" onclick="PDFView.switchSidebarView('search')" tabindex="3" data-l10n-id="search_panel">
+ <button id="viewSearch" class="toolbarButton group hidden" title="Search Document" tabindex="3" data-l10n-id="search_panel">
<span data-l10n-id="search_panel_label">Search Document</span>
</button>
</div>
@@ -99,8 +99,8 @@
</div>
<div id="searchView" class="hidden">
<div id="searchToolbar">
- <input id="searchTermsInput" class="toolbarField" onkeydown='if (event.keyCode == 13) PDFView.search()'>
- <button id="searchButton" class="textButton toolbarButton" onclick='PDFView.search()' data-l10n-id="search">Find</button>
+ <input id="searchTermsInput" class="toolbarField">
+ <button id="searchButton" class="textButton toolbarButton" data-l10n-id="search">Find</button>
</div>
<div id="searchResults"></div>
</div>
@@ -118,36 +118,36 @@
</button>
<div class="toolbarButtonSpacer"></div>
<div class="splitToolbarButton">
- <button class="toolbarButton pageUp" title="Previous Page" onclick="PDFView.page--" id="previous" tabindex="5" data-l10n-id="previous">
+ <button class="toolbarButton pageUp" title="Previous Page" id="previous" tabindex="5" data-l10n-id="previous">
<span data-l10n-id="previous_label">Previous</span>
</button>
<div class="splitToolbarButtonSeparator"></div>
- <button class="toolbarButton pageDown" title="Next Page" onclick="PDFView.page++" id="next" tabindex="6" data-l10n-id="next">
+ <button class="toolbarButton pageDown" title="Next Page" id="next" tabindex="6" data-l10n-id="next">
<span data-l10n-id="next_label">Next</span>
</button>
</div>
<label id="pageNumberLabel" class="toolbarLabel" for="pageNumber" data-l10n-id="page_label">Page: </label>
- <input type="number" id="pageNumber" class="toolbarField pageNumber" onchange="PDFView.page = this.value;" value="1" size="4" min="1" tabindex="7">
+ <input type="number" id="pageNumber" class="toolbarField pageNumber" value="1" size="4" min="1" tabindex="7">
</input>
<span id="numPages" class="toolbarLabel"></span>
</div>
<div id="toolbarViewerRight">
<input id="fileInput" class="fileInput" type="file" oncontextmenu="return false;" style="visibility: hidden; position: fixed; right: 0; top: 0" />
- <button id="fullscreen" class="toolbarButton fullscreen" title="Fullscreen" tabindex="11" data-l10n-id="fullscreen" onclick="PDFView.fullscreen();">
+ <button id="fullscreen" class="toolbarButton fullscreen" title="Fullscreen" tabindex="11" data-l10n-id="fullscreen">
<span data-l10n-id="fullscreen_label">Fullscreen</span>
</button>
- <button id="openFile" class="toolbarButton openFile" title="Open File" tabindex="12" data-l10n-id="open_file" onclick="document.getElementById('fileInput').click()">
+ <button id="openFile" class="toolbarButton openFile" title="Open File" tabindex="12" data-l10n-id="open_file">
<span data-l10n-id="open_file_label">Open</span>
</button>
- <button id="print" class="toolbarButton print" title="Print" tabindex="13" data-l10n-id="print" onclick="window.print()">
+ <button id="print" class="toolbarButton print" title="Print" tabindex="13" data-l10n-id="print">
<span data-l10n-id="print_label">Print</span>
</button>
- <button id="download" class="toolbarButton download" title="Download" onclick="PDFView.download();" tabindex="14" data-l10n-id="download">
+ <button id="download" class="toolbarButton download" title="Download" tabindex="14" data-l10n-id="download">
<span data-l10n-id="download_label">Download</span>
</button>
<!-- <div class="toolbarButtonSpacer"></div> -->
@@ -156,16 +156,16 @@
<div class="outerCenter">
<div class="innerCenter" id="toolbarViewerMiddle">
<div class="splitToolbarButton">
- <button class="toolbarButton zoomOut" title="Zoom Out" onclick="PDFView.zoomOut();" tabindex="8" data-l10n-id="zoom_out">
+ <button class="toolbarButton zoomOut" title="Zoom Out" tabindex="8" data-l10n-id="zoom_out">
<span data-l10n-id="zoom_out_label">Zoom Out</span>
</button>
<div class="splitToolbarButtonSeparator"></div>
- <button class="toolbarButton zoomIn" title="Zoom In" onclick="PDFView.zoomIn();" tabindex="9" data-l10n-id="zoom_in">
+ <button class="toolbarButton zoomIn" title="Zoom In" tabindex="9" data-l10n-id="zoom_in">
<span data-l10n-id="zoom_in_label">Zoom In</span>
</button>
</div>
<span id="scaleSelectContainer" class="dropdownToolbarButton">
- <select id="scaleSelect" onchange="PDFView.parseScale(this.value);" title="Zoom" oncontextmenu="return false;" tabindex="10" data-l10n-id="zoom">
+ <select id="scaleSelect" title="Zoom" oncontextmenu="return false;" tabindex="10" data-l10n-id="zoom">
<option id="pageAutoOption" value="auto" selected="selected" data-l10n-id="page_scale_auto">Automatic Zoom</option>
<option id="pageActualOption" value="page-actual" data-l10n-id="page_scale_actual">Actual Size</option>
<option id="pageFitOption" value="page-fit" data-l10n-id="page_scale_fit">Fit Page</option>
View
79 web/viewer.js
@@ -35,6 +35,7 @@ var RenderingStates = {
FINISHED: 3
};
+PDFJS.workerSrc = '../build/pdf.js';
var mozL10n = document.mozL10n || document.webL10n;
@@ -1938,6 +1939,84 @@ document.addEventListener('DOMContentLoaded', function webViewerLoad(evt) {
PDFView.renderHighestPriority();
});
+ document.getElementById('viewThumbnail').addEventListener('click',
+ function() {
+ PDFView.switchSidebarView('thumbs');
+ });
+
+ document.getElementById('viewOutline').addEventListener('click',
+ function() {
+ PDFView.switchSidebarView('outline');
+ });
+
+ document.getElementById('viewSearch').addEventListener('click',
+ function() {
+ PDFView.switchSidebarView('search');
+ });
+
+ document.getElementById('searchButton').addEventListener('click',
+ function() {
+ PDFView.search();
+ });
+
+ document.getElementById('previous').addEventListener('click',
+ function() {
+ PDFView.page--;
+ });
+
+ document.getElementById('next').addEventListener('click',
+ function() {
+ PDFView.page++;
+ });
+
+ document.querySelector('.zoomIn').addEventListener('click',
+ function() {
+ PDFView.zoomIn();
+ });
+
+ document.querySelector('.zoomOut').addEventListener('click',
+ function() {
+ PDFView.zoomOut();
+ });
+
+ document.getElementById('fullscreen').addEventListener('click',
+ function() {
+ PDFView.fullscreen();
+ });
+
+ document.getElementById('openFile').addEventListener('click',
+ function() {
+ document.getElementById('fileInput').click();
+ });
+
+ document.getElementById('print').addEventListener('click',
+ function() {
+ window.print();
+ });
+
+ document.getElementById('download').addEventListener('click',
+ function() {
+ PDFView.download();
+ });
+
+ document.getElementById('searchTermsInput').addEventListener('keydown',
+ function() {
+ if (event.keyCode == 13) {
+ PDFView.search();
+ }
+ });
+
+ document.getElementById('pageNumber').addEventListener('change',
+ function() {
+ PDFView.page = this.value;
+ });
+
+ document.getElementById('scaleSelect').addEventListener('change',
+ function() {
+ PDFView.parseScale(this.value);
+ });
+
+
//#if (FIREFOX || MOZCENTRAL)
//if (FirefoxCom.requestSync('getLoadingType') == 'passive') {
// PDFView.setTitleUsingUrl(file);

0 comments on commit 6ca9245

Please sign in to comment.
Something went wrong with that request. Please try again.