Commit Graph

294 Commits

Author SHA1 Message Date
Rob Wu
ae32f31eb4 Use redirectUrl at onHeadersReceived if available.
http://crbug.com/280464 has been resolved, so we can now use redirectUrl at
onHeadersReceived.
For backwards-compatibility, the code for the original method has not been
removed, and a feature detection script was added that detects whether the
desired feature is available.
2014-03-30 00:25:37 +01:00
Rob Wu
d04f81b964 Improved FTP support for Chromium extension 2014-03-30 00:08:02 +01:00
Jonas Jenwald
3fee5345b9 [Firefox] Only load 'PdfStreamConverter' and 'PdfRedirector' when PDF.js is enabled 2014-03-27 16:01:13 +01:00
Jonas Jenwald
f6cfab0061 [Firefox] Stop importing default_preferences.js as a module and include it instead 2014-03-26 00:37:32 +01:00
Yury Delendik
dbbe702be5 Merge pull request #4501 from Snuffleupagus/firefox-lazy-load-network
[Firefox] Lazy load network.js in PdfStreamConverter.js
2014-03-25 18:11:24 -05:00
Jonas Jenwald
2b5fb59b67 Fix coding style in extensions/firefox/bootstrap.js 2014-03-22 21:48:00 +01:00
Jonas Jenwald
597d388930 Fix coding style in extensions/firefox/tools/l10n.js 2014-03-22 21:45:08 +01:00
Jonas Jenwald
2017f7925e [Firefox] Lazy load network.js in PdfStreamConverter.js 2014-03-21 17:39:55 +01:00
Tim van der Meij
3b3e96575e Merge pull request #4454 from brendandahl/gaia-css-clean
Fix gaia css lint errors.
2014-03-14 22:50:51 +01:00
Jonas Jenwald
ba8a59034c Merge pull request #4426 from timvandermeij/extensions-chromium-syntax
Making extensions/chromium/*.js adhere to the style guide
2014-03-14 12:48:31 +01:00
Brendan Dahl
df25bea817 Fix gaia css lint errors. 2014-03-13 17:16:25 -07:00
Yury Delendik
452e71b4b0 Makes firefox extension's l10n get() behavior similar to webL10n 2014-03-13 17:37:10 -05:00
Tim van der Meij
241cb7999d Making extensions/chromium/chrome.tabs.executeScriptInFrame.js adhere to the style guide 2014-03-09 23:29:34 +01:00
Tim van der Meij
8d2068dc6f Making extensions/chromium/extension-router.js adhere to the style guide 2014-03-09 23:14:01 +01:00
Tim van der Meij
c29350219e Making extensions/chromium/pdfHandler.js adhere to the style guide 2014-03-09 23:12:12 +01:00
Tim van der Meij
ce6e269d02 Making extensions/chromium/pdfHandler-v2.js adhere to the style guide and fixing a small lint issue in pdfHandler-vcros.js 2014-03-09 23:07:42 +01:00
Tim van der Meij
8ec46e6413 Making extensions/chromium/pdfHandler-vcros.js adhere to the style guide 2014-03-09 22:56:38 +01:00
Jonas Jenwald
c158894d94 Improve handling of preferences in Firefox 2014-03-05 11:58:12 +01:00
Yury Delendik
192f09cd69 Merge pull request #4343 from brendandahl/ff-cleanup
Use only one resource url for moz central build.
2014-03-04 20:29:27 -06:00
Mitar
2c82e720b8 Updated to current latest stable version of jshint. 2014-03-01 13:31:25 -08:00
Brendan Dahl
b8f7bcaf02 Use only one resource url for moz central build. 2014-02-27 14:11:39 -08:00
Brendan Dahl
0af0c6c99d Merge pull request #4229 from Rob--W/crx-stream-progress
Get progress bar for PDF streams in Chromium by passing the expected content length to the page
2014-02-26 11:12:34 -08:00
Tim van der Meij
569bb131e5 Merge pull request #4328 from Snuffleupagus/b2g-remove-pageNumber-spinner
[B2G] Remove the spinner from the pageNumber field
2014-02-24 21:52:14 +01:00
Brendan Dahl
cc46cea7cb Merge pull request #4262 from yurydelendik/issue4257
Removes -moz-box-sizing usage
2014-02-24 12:47:27 -08:00
Jonas Jenwald
78e2d7cceb [B2G] Remove the spinner from the pageNumber field 2014-02-15 16:02:53 +01:00
Gabriele Svelto
f4d54517c4 Bug 972435 - Recompress all PNG assets 2014-02-13 17:57:10 +01:00
Yury Delendik
4563f6cd58 Merge pull request #4191 from Rob--W/crx-chrome-os
Register PDF Viewer as PDF handler in Chrome OS's file browser
2014-02-11 12:51:36 -06:00
Yury Delendik
894c82cec9 Removes -moz-box-sizing usage 2014-02-10 15:06:03 -06:00
Yury Delendik
3fa15c0f46 Merge pull request #4241 from brendandahl/csp
Remove inline script warnings.
2014-02-03 14:24:27 -08:00
Brendan Dahl
e477958b74 Remove inline script warnings. 2014-02-03 14:14:54 -08:00
Rob Wu
a01556665e Firefox addon: Let XHR respect private mode 2014-01-31 22:23:45 +01:00
Rob Wu
eaf7daf7db [CRX] Pass expected length of stream to viewer
To get a progress bar for POST/FTP requests in Chromium.
2014-01-30 23:03:15 +01:00
Rob Wu
7f0fc8557e [CRX] Support <embed type="application/pdf"> 2014-01-26 00:33:06 +01:00
Rob Wu
60fb28caf0 Register as File browser handler in Chrome OS 2014-01-25 22:37:19 +01:00
Rob Wu
aeaf11ca43 [CRX] Fall back to sender.tab.url if !tab.url
sender.url is relatively new (Chromium 29)
 ( https://chromiumcodereview.appspot.com/14301016 )
2014-01-25 20:15:43 +01:00
Rob Wu
fa965269ea Remove unused file from Chromium extension
extensions/chromium/patch-worker.js was already redundant
since edd4bae903.
2014-01-23 19:26:23 +01:00
Yury Delendik
ba1eb4d1d1 Merge pull request #4126 from Rob--W/crx-using-streams-api
Chromium extension using streamsPrivate API!
2014-01-22 05:12:07 -08:00
Jonas Jenwald
181e06f30a Fix regression that disabled the "Open With Different Viewer" button on the fallback bar 2014-01-16 13:49:39 +01:00
Rob Wu
b754f9d878 Make streamsPrivate optional; remove manifest key
Use streamsPrivate API when available.
When the API is not available, the extension will still work on
on http/https/file URLs, but not for POST requests or FTP.

As of writing, the Chromium project has still not whitelisted
the PDF Viewer extension in the Chrome Web Store.
 (extension ID oemmndcbldboiebfnladdacbdfmadadm)
Request to whitelist PDF.js in Chromium:
 https://code.google.com/p/chromium/issues/detail?id=326949

Opera 19 has whitelisted the PDF Viewer extension from
 https://addons.opera.com/extensions/details/pdf-viewer/
 (extension ID encfpfilknmenlmjemepncnlbbjlabkc)
 (https://github.com/Rob--W/pdf.js/issues/1#issuecomment-32357302)

If you want to test the streamsPrivate feature in Chrome,
edit the build/extensions/manifest.json and add the "key" again
 (see this commit for the value of this "key" field).
2014-01-16 00:30:39 +01:00
Rob Wu
af31ace940 Work-around for http://crbug.com/276898
When a new incognito session is started, the onExecuteMimeTypeHandler event is
often not dispatched in time. Instead, it's triggered in the non-incognito profile.

This commit offers a work-around that allows new incognito instances to view PDF files.
2014-01-15 23:04:29 +01:00
Rob Wu
94ba01c8aa Use tab-specific stream storage
Also:
- Use webNavigation.getAllFrames to find out whether the navigation has
  already started. This is (at least) needed for top-level navigation to
  a stream. The webNavigation.onErrorOccurred event has become obsolete,
  and has been removed.
2014-01-15 23:04:29 +01:00
Rob Wu
32313b9149 Insert dummy content script at every location.
This is needed for propagating the extension's permissions
to the extension's iframe, in the rare event that the PDF is
loaded in a sub frame, and the extension does not have access to the
top frame. For instance, when a http:-PDF file is embedded in a
local file, while "Allow access to local URLs" is disabled.

Note: Propagating permissions by inserting content scripts is an
 undocumented feature (http://crbug.com/302548).

Whenever it breaks, the issue (cross-domain permissions for XHR)
can be solved by using a content script that gets the blob using
the XMLHttpRequest API, followed by `postMessage` (via transferables)
to efficiently pass the arraybuffer back to the PDF Viewer.
2014-01-15 23:04:29 +01:00
Rob Wu
cdadb0db4d Proof of concept using chrome.streamsPrivate API
This method captures all application/pdf streams, loads the viewer
and passes the stream to the PDF.js viewer.

This commit shows a proof of concept using the chrome.streamsPrivate API.

Advantages of new method:
- Access to the response body of the original request, thus fewer
  network requests.
- PDFs from non-GET requests (e.g. POST) are now supported.
- FTP files are also supported.

Possible improvements:
- Use declared content scripts instead of dynamic chrome.tabs.executeScript.
  This allows the extension to render the viewer in frames when the
  extension is disallowed to run executeScript for the top URL.
- Use chrome.declarativeWebRequest instead of webRequest, and replace
  background page with event page (don't forget to profile the
  difference & will the background/event page still work as intended?).
2014-01-15 23:04:15 +01:00
Rob Wu
18e4d32c11 Update chrome.tabs.executeScriptInFrame dependency
References:
- https://github.com/Rob--W/chrome-api/issues/1
- 4c5a598c0b...f211d2d679
2014-01-13 21:21:02 +01:00
Brendan Dahl
5d080a03bb Show a different warning for PDF’s with forms. 2014-01-07 16:03:45 -08:00
fkaelberer
1b35bf6c5e Recompressed PNG assets 2014-01-02 21:11:01 +01:00
Yury Delendik
02671decf2 Merge pull request #4066 from Rob--W/crx-pageaction-html-typo
Added missing <html> tag to page action
2014-01-02 10:22:56 -08:00
Yury Delendik
85281d3afc Merge pull request #4059 from glasserc/add-conkeror
add support for Conkeror
2014-01-02 09:45:26 -08:00
Rob Wu
ac8b8079a4 Added missing <html> tag to page action 2014-01-02 18:44:38 +01:00
Rob Wu
e20bc529c8 Remove superfluos <!DOCTYPE html> from page action
Fixes #4064
2014-01-02 18:04:47 +01:00