Commit Graph

201 Commits

Author SHA1 Message Date
Brendan Dahl
dca5edea21 Add BOM to viewer. 2013-11-22 11:10:43 -08:00
Jonas Jenwald
60610cd625 Implement default preferences 2013-11-18 23:51:06 +01:00
Jonas Jenwald
6102b6197f Fix scroll keys in Firefox 2013-10-21 23:39:17 +02:00
Rob Wu
83b780af81 [CRX] Show nicely formatted URL in omnibox
Before commit:
chrome-extension://EXTENSIONID/content/web/viewer.html?file=http%3A%2F%2Fexample.com%2Ffile.pdf

After commit:
chrome-extension://EXTENSIONID/http://example/file.pdf

Technical details:
- The extension's background page uses the webRequest API to intercept
  requests for <extension host>/<real path to pdf>, and redirect it to
  the viewer's URL.
- viewer.js uses history.replaceState to rewrite the URL, so that it's
  easier for users to recognize and copy-paste URLs.
- The fake paths /http:, /https:, /file:, etc. have been added to the
  web_accessible_resources section of the manifest file, in order to
  avoid seeing chrome-extension://invalid/ instead of the actual URL
  when using history back/forward to navigate from/to the PDF viewer.
- Since the relative path resolving doesn't work because relative URLs
  are inaccurate, a <base> tag has been added. This method has already
  been proven to work in the Firefox add-on.

Notes:
- This commit has been cherry-picked from crx-using-streams-api.
- Need to merge https://github.com/mozilla/pdf.js/pull/3582 to deal with
  a bug in Chrome <=30
- In Chrome, getting the contents of a FTP file is not possible, so
  there's no support for FTP files, even though the extension router
  recognizes the ftp: scheme.
2013-10-16 23:14:46 +02:00
Rob Wu
1731c0fb42 Add mozPrintCallback shim
This shim does the following:
1. Intercept window.print()
2. For a window.print() call (if allowed, ie. no previous print job):
   1. Dispatch the beforeprint event.
   2. Render a printg progress dialog.
   3. For each canvas, call mozPrintCallback if existent (one at a time, async).
   4. During each mozPrintCallback callback, update the progress dialog.
   5. When all <canvas>es have been rendered, invoke the real window.print().
   6. Dispatch the afterprint event.

The shim is not included in Firefox through the preprocessor.

Keyboard shortcuts (Ctrl/Cmd + P) are intercepted and default behavior
(i.e. printing) is prevented, and the steps for window.print() are run.
window.attachEvent is used, in order to cancel printing in IE10 and
earlier (courtesy of Stack Overflow - http://stackoverflow.com/a/15302847).
Unfortunately, this doesn't work in IE11 - if Ctrl + P is used, the
print dialog will be shown twice: Once because of Ctrl + P, and again
when all pages have finished rendering.

This logic of this polyfill is not specific to PDF.js, so it can also
be used in other projects.

There's one additional modification in PDF.js's viewer.js: The printed
<canvas> element is wrapped in a <div>. This is needed, because Chrome
would otherwise print one canvas on two pages.
2013-10-08 19:46:59 +02:00
Tim van der Meij
a68375c48e Merge pull request #3739 from Snuffleupagus/bug-921162
Add the viewBookmark button to the Secondary Toolbar
2013-10-04 13:16:38 -07:00
Jonas Jenwald
d6ab0c61e8 Move Settings from viewer.js to its own file 2013-10-02 15:55:31 +02:00
Jonas Jenwald
bfc66626a0 Move Presentation Mode related code from viewer.js to its own file 2013-10-01 23:11:46 +02:00
Jonas Jenwald
b148c9cb51 Add the viewBookmark button to the secondary toolbar 2013-09-27 11:51:32 +02:00
Tim van der Meij
63233fa8c2 Improved password prompt 2013-09-24 17:46:54 +02:00
Jonas Jenwald
cebf3c60e2 Move PageView from viewer.js to its own file 2013-09-20 09:25:41 +02:00
Tim van der Meij
3c0ac37292 Secondary toolbar 2013-09-04 23:48:31 +02:00
Brendan Dahl
c17a7c9d04 Merge pull request #3505 from Snuffleupagus/move-ThumbnailView
Move ThumbnailView from viewer.js to its own file
2013-08-26 10:30:24 -07:00
Brendan Dahl
bb2529de03 Move the creation of canvas path fonts to the worker. 2013-08-19 16:33:20 -07:00
Brendan Dahl
5ecce4996b Split files into worker and main thread pieces. 2013-08-12 10:48:06 -07:00
Jonas
d99879bfbf Move ThumbnailView from viewer.js to its own file 2013-08-06 22:19:03 +02:00
Yury Delendik
99c9079f54 [CSP] removes inlined styles and scripts 2013-07-30 21:00:37 -05:00
Jonas
8708f8beb5 Fixes regression that cause scrolling using spacebar to break in Firefox 2013-07-19 22:09:37 +02:00
Jonas
09e0c9b65d Move PDFHistory from viewer.js to its own file 2013-07-18 17:18:27 +02:00
Yury Delendik
fb189f4fdf Merge pull request #3476 from Rob--W/no-google-translate
Disable Google Translate on viewer in Chrome.
2013-07-18 06:21:57 -07:00
Rob Wu
d5e16ab85c Viewer: Remove inline events; set height on error
Move inline event handlers to viewer.js to comply with a
Content-Security-Policy where directive "unsafe-inline" is not set.

Change textarea.rows = <number of newlines> to
textarea.style.height = textarea.scrollHeight.
(The former is extremely unreliable; consider long lines...)
2013-07-18 10:38:44 +02:00
Brendan Dahl
7a1049216c Merge pull request #3440 from peerlibrary/syncing-order
Syncing order of JS files in viewer.html and make.js. See #3414
2013-07-16 16:10:25 -07:00
Rob Wu
97efe7886e Disable Google Translate on viewer in Chrome.
test/pdfs/yo01.pdf triggered "This page is in Japanese. Would you like
to translate it?" info bar in Chrome.
2013-07-16 00:13:05 +02:00
Yury Delendik
ef658bf5f1 Refactoring download button logic 2013-07-12 13:14:13 -05:00
Rob Wu
4a2eefe1b6 Allow scrolling by keyboard in Chrome/Opera
Set "tabindex" attribute to allow focus;
Added "outline: none" to prevent focus ring from appearing.

Fixes #3443
2013-07-06 15:37:03 +02:00
Mitar
e0a2ee09b5 Syncing order of JS files in viewer.html and make.js. See #3414 2013-07-02 17:03:16 -07:00
Vivin Paliath
83b6eaed16 pr #3356
squashing commits.
2013-06-18 09:05:55 -07:00
Yury Delendik
0e133f0090 Drawing without fillText; refactoring ADD_TO_PATH 2013-05-15 15:57:27 -05:00
Mack Duan
f8f4b3f45d Refactor code for annotations 2013-05-07 14:22:13 -04:00
Kalervo Kujala
5e08f8039d Replace fullscreen with presentationMode 2013-05-01 09:22:17 +03:00
Jonas
93b8e1fc01 Fix disabling of zoom buttons and add camel case button names 2013-04-30 21:14:18 +02:00
Jonas
adf61ea5b0 Make spacebar work on document load - fixes bug 864619 2013-04-30 16:44:51 +02:00
Mack Duan
ef423ef30c Implement progressive loading of PDFs 2013-04-12 16:13:22 -07:00
Brendan Dahl
60edfce733 Don't hide the download/print buttons when view is small. 2013-02-25 16:53:54 -08:00
Jonas
e4e4b1ab4e Make navigation keys work on document load - avoid breaking embedded viewer, take 3 2013-02-24 17:49:42 +01:00
Julian Viereck
0721de45b0 Hide header/footer by default when printing from Firefox. See Bug 743252 2013-02-17 11:01:19 +01:00
Tim van der Meij
96ec48e634 Squashing commits for disabling zoom buttons feature 2013-02-10 15:01:37 +01:00
Yury Delendik
c53fa62e58 Merge pull request #2644 from SSk123/edit_slider_name
Bug #767698 Slider Rename
2013-01-31 06:06:06 -08:00
Srishti
a80234fee9 Bug #767698 Slider Rename
Bug #767698 Slider Rename
2013-01-31 19:25:02 +05:30
Brendan Dahl
971e202f0b Disable printing a selection for Firefox. 2013-01-30 09:22:00 -05:00
Brendan Dahl
fd4e40c82b New GUI for B2G viewer. 2012-11-29 17:01:51 -08:00
Yury Delendik
e5247e4895 Updates webL10n; using viewer.properties as is 2012-11-29 14:02:33 -06:00
Brendan Dahl
df0d9be4a5 Add close button and title bar for b2g. 2012-11-28 11:02:56 -08:00
Brendan Dahl
11175ba6fe Minor css tweaks for small viewer and aligning borders. 2012-10-29 14:35:07 -07:00
Yury Delendik
06f9b70f07 Merge pull request #2206 from timvandermeij/first-last-page-context-menu
Converted the first and last page buttons to context menu items
2012-10-10 10:36:21 -07:00
Tim van der Meij
6e13e3dd73 Final commit squash 2012-10-10 19:26:41 +02:00
Yury Delendik
94367bd161 Adds tabindex; remove search field type 2012-10-06 09:22:37 -05:00
Yury Delendik
ade5f96787 Add pilot find next/prev icons; localization 2012-10-05 19:15:06 -05:00
Brendan Dahl
95b1f74a30 Add support for firefox integrated find. 2012-10-05 13:59:13 -07:00
Yury Delendik
92770fdd84 Minor CSS fixed for find bar 2012-10-05 10:47:58 -05:00