diff --git a/extensions/chrome/manifest.json b/extensions/chrome/manifest.json
index 9b34437b2..7d11f678a 100644
--- a/extensions/chrome/manifest.json
+++ b/extensions/chrome/manifest.json
@@ -1,11 +1,14 @@
{
+ "manifest_version": 2,
"name": "uriloader@pdf.js",
"version": "0.1",
"description": "Read PDF Document",
"permissions": [
"webRequest", "webRequestBlocking",
- "http://*/*.pdf",
+ "http://*/*.pdf", "https://*/*.pdf",
"file:///*/*.pdf"
],
- "background_page": "pdfHandler.html"
+ "background": {
+ "page": "pdfHandler.html"
+ }
}
diff --git a/extensions/chrome/pdfHandler.html b/extensions/chrome/pdfHandler.html
index 35375de73..7a64ecd16 100644
--- a/extensions/chrome/pdfHandler.html
+++ b/extensions/chrome/pdfHandler.html
@@ -14,30 +14,4 @@ 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.
-->
-
-
+
diff --git a/extensions/chrome/pdfHandler.js b/extensions/chrome/pdfHandler.js
new file mode 100644
index 000000000..f91944803
--- /dev/null
+++ b/extensions/chrome/pdfHandler.js
@@ -0,0 +1,38 @@
+/*
+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"]);
diff --git a/make.js b/make.js
index 88fec48cf..d024f7aab 100755
--- a/make.js
+++ b/make.js
@@ -52,6 +52,7 @@ 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 =
@@ -581,7 +582,7 @@ 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']
diff --git a/web/inline.js b/web/inline.js
new file mode 100644
index 000000000..a965e8cbd
--- /dev/null
+++ b/web/inline.js
@@ -0,0 +1 @@
+ PDFJS.workerSrc = "../build/pdf.js";
\ No newline at end of file
diff --git a/web/viewer-snippet.html b/web/viewer-snippet.html
index 3d535169e..975d48f9b 100644
--- a/web/viewer-snippet.html
+++ b/web/viewer-snippet.html
@@ -2,7 +2,4 @@
-
+
diff --git a/web/viewer.html b/web/viewer.html
index 0ad48703e..b82e55050 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -29,7 +29,7 @@ limitations under the License.
-
+