Skip to content

Commit

Permalink
Merge pull request mozilla#2087 from moderation/master
Browse files Browse the repository at this point in the history
Updates to reenable chrome extension
  • Loading branch information
yurydelendik committed Sep 6, 2012
2 parents 59b281f + 6ca9245 commit c69013e
Show file tree
Hide file tree
Showing 7 changed files with 150 additions and 52 deletions.
12 changes: 8 additions & 4 deletions extensions/chrome/manifest.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
{
"name": "[email protected]",
"version": "0.1",
"description": "Read PDF Document",
"manifest_version": 2,
"name": "PDF Viewer",
"version": "PDFJSSCRIPT_VERSION",
"description": "Uses HTML5 to display PDF files directly in Chrome.",
"permissions": [
"webRequest", "webRequestBlocking",
"http://*/*.pdf",
"https://*/*.pdf",
"file:///*/*.pdf"
],
"background_page": "pdfHandler.html"
"background": {
"page": "pdfHandler.html"
}
}
28 changes: 1 addition & 27 deletions extensions/chrome/pdfHandler.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,4 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<script>

function isPdfDownloadable(details) {
return details.url.indexOf('pdfjs.action=download') >= 0;
}

chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (isPdfDownloadable(details))
return;

var viewerPage = 'content/web/viewer.html';
var url = chrome.extension.getURL(viewerPage) +
'?file=' + encodeURIComponent(details.url);
return { redirectUrl: url };
},
{
urls: [
"http://*/*.pdf",
"file://*/*.pdf"
],
types: [ "main_frame" ]
},
["blocking"]);

</script>

<script src="pdfHandler.js"></script>
39 changes: 39 additions & 0 deletions extensions/chrome/pdfHandler.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
Copyright 2012 Mozilla Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

function isPdfDownloadable(details) {
return details.url.indexOf('pdfjs.action=download') >= 0;
}

chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (isPdfDownloadable(details))
return;

var viewerPage = 'content/web/viewer.html';
var url = chrome.extension.getURL(viewerPage) +
'?file=' + encodeURIComponent(details.url);
return { redirectUrl: url };
},
{
urls: [
'http://*/*.pdf',
'https://*/*.pdf',
'file://*/*.pdf'
],
types: ['main_frame']
},
['blocking']);
8 changes: 7 additions & 1 deletion make.js
Original file line number Diff line number Diff line change
Expand Up @@ -581,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/*.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']
Expand All @@ -593,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) {
Expand Down
4 changes: 0 additions & 4 deletions web/viewer-snippet.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +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">
// This specifies the location of the pdf.js file.
PDFJS.workerSrc = "../build/pdf.js";
</script>
32 changes: 16 additions & 16 deletions web/viewer.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<link rel="resource" type="application/l10n" href="locale.properties"/>
<!--#endif-->

<!--#if !(FIREFOX || MOZCENTRAL)-->
<!--#if !(FIREFOX || MOZCENTRAL || CHROME)-->
<script type="text/javascript" src="compatibility.js"></script>
<!--#endif-->

Expand Down Expand Up @@ -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>
Expand All @@ -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>
Expand All @@ -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> -->
Expand All @@ -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>
Expand Down
79 changes: 79 additions & 0 deletions web/viewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ var RenderingStates = {
FINISHED: 3
};

PDFJS.workerSrc = '../build/pdf.js';

var mozL10n = document.mozL10n || document.webL10n;

Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit c69013e

Please sign in to comment.