From 7f0fc8557e1617f0274e41587de4e34df4016aa1 Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Sun, 26 Jan 2014 00:33:06 +0100 Subject: [PATCH] [CRX] Support --- extensions/chromium/contentscript.js | 39 ++++++++++++++++++++++++++++ extensions/chromium/manifest.json | 3 ++- extensions/chromium/nothing.js | 1 - 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 extensions/chromium/contentscript.js delete mode 100644 extensions/chromium/nothing.js diff --git a/extensions/chromium/contentscript.js b/extensions/chromium/contentscript.js new file mode 100644 index 000000000..699e3d2f1 --- /dev/null +++ b/extensions/chromium/contentscript.js @@ -0,0 +1,39 @@ +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ +/* +Copyright 2014 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. +*/ +/* globals chrome */ + +'use strict'; + +var VIEWER_URL = chrome.extension.getURL('content/web/viewer.html'); + +function getViewerURL(pdf_url) { + return VIEWER_URL + '?file=' + encodeURIComponent(pdf_url); +} + +document.addEventListener('beforeload', function(event) { + var elem = event.target; + if (elem.nodeName.toUpperCase() !== 'EMBED') { + return; + } + if (!/^application\/pdf$/i.test(elem.type)) { + return; + } + event.preventDefault(); + elem.type = 'text/html'; + elem.src = getViewerURL(elem.src); +}, true); diff --git a/extensions/chromium/manifest.json b/extensions/chromium/manifest.json index cd760480b..70da37655 100644 --- a/extensions/chromium/manifest.json +++ b/extensions/chromium/manifest.json @@ -23,7 +23,8 @@ "ftp://*/*", "file://*/*" ], - "js": ["nothing.js"] + "run_at": "document_start", + "js": ["contentscript.js"] }], "mime_types": [ "application/pdf" diff --git a/extensions/chromium/nothing.js b/extensions/chromium/nothing.js deleted file mode 100644 index ce8f90c40..000000000 --- a/extensions/chromium/nothing.js +++ /dev/null @@ -1 +0,0 @@ -// This file has no code, and is used to deal with http://crbug.com/302548