Commit Graph

1206 Commits

Author SHA1 Message Date
Jonas Jenwald
1c259ce806 Fix type mismatch causing wrong scale value in the viewBookmark button 2013-11-02 21:54:54 +01:00
Tim van der Meij
867c667690 Merge pull request #3854 from Snuffleupagus/round-viewBookmark-scale-value
Round the scale value displayed by the viewBookmark button to two decimal places
2013-11-02 13:35:02 -07:00
Jonas Jenwald
e41d98f9f0 Make 'zoom' independent from 'page' in the hash parameters 2013-10-30 20:39:44 +01:00
Jonas Jenwald
1cae737d03 Fix zoom parameter regression 2013-10-30 14:28:59 +01:00
Jonas Jenwald
4ee2c96503 Round the scale value displayed by the viewBookmark button to two decimal places 2013-10-28 12:34:35 +01:00
Jonas Jenwald
6102b6197f Fix scroll keys in Firefox 2013-10-21 23:39:17 +02:00
Jonas Jenwald
f35e777d81 Apply the current zoom level value to each page in Presentation Mode 2013-10-19 18:33:36 +02:00
Jonas Jenwald
bee1b734c2 A few small tweaks of the SecondaryToolbar code 2013-10-18 23:03:28 +02:00
Tim van der Meij
26fb376b65 Merge pull request #3820 from Snuffleupagus/prevent-enter-PresentationMode-during-load
Disable Presentation Mode until the document has started rendering
2013-10-18 11:05:45 -07:00
Yury Delendik
b16b3be5c3 Merge pull request #3791 from brendandahl/css-rotate
Fix css rotation for canvas and text layer.
2013-10-17 17:59:39 -07:00
Tim van der Meij
46d74bdc51 Decrease dependence of SecondaryToolbar on UI buttons 2013-10-17 23:49:30 +02:00
Tim van der Meij
1c9fc5d7bb Merge pull request #3822 from Snuffleupagus/fix-chromium-PR-bot-breakage
Fix bot breakage caused by Chromium extension PR
2013-10-17 14:24:11 -07:00
Brendan Dahl
ca1806025c Merge pull request #3794 from brendandahl/b2g-fix
Fix the B2G viewer and enable bot preview.
2013-10-17 14:14:17 -07:00
Jonas Jenwald
8405d16379 Fix bot breakage caused by Chromium extension PR 2013-10-17 22:55:25 +02:00
Jonas Jenwald
e367f49686 Disable Presentation Mode until the document has started rendering 2013-10-17 16:52:36 +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
Jonas Jenwald
1f4d85db37 Inline setScale in parseScale 2013-10-16 00:26:42 +02:00
Brendan Dahl
702ae3b5e8 Merge pull request #3777 from Snuffleupagus/webkitHideCursor-PresentationMode
Fix hiding of the cursor in Presentation Mode in WebKit browsers
2013-10-11 09:19:12 -07:00
Brendan Dahl
c79acf5861 Fix the B2G viewer and enable bot preview. 2013-10-09 15:04:58 -07:00
Tim van der Meij
b1b661a274 Refactoring thumbnail scroll code to fix jumps 2013-10-09 20:40:21 +02:00
Brendan Dahl
f1a6e9015f Fix css rotation for canvas and text layer. 2013-10-09 11:29:05 -07:00
Tim van der Meij
ec7064ea74 Trivial typo fix 2013-10-09 20:24:12 +02:00
Brendan Dahl
6f61a9c83e Merge pull request #3727 from brendandahl/css-zoom2
Use css to initially scale on zoom.
2013-10-08 20:34:22 -07:00
Brendan Dahl
52e429550c Simplify the output scale for css zoom. 2013-10-08 20:31:49 -07:00
Jonas Jenwald
631333c486 Fix hiding of the cursor in Presentation Mode in WebKit browsers 2013-10-08 20:42:35 +02:00
Tim van der Meij
64757dd481 Merge pull request #3774 from Snuffleupagus/contextMenu-PresentationMode
Enabling clicking to close the context menu in Presentation Mode, without going to the next page
2013-10-08 11:31:02 -07:00
Jonas Jenwald
dfb8e62079 Enabling clicking to close the context menu in Presentation Mode, without going to the next page 2013-10-08 20:11:04 +02:00
Rob Wu
194a734e5d Resolved severe memory leak (mozPrintCallback)
Do NOT save the temporary <canvas> element as `this.canvas`.
`PDFViewer.pages[i].canvas` appears to be used to generate the thumbnail
icons. Well, that's no justification for preventing GC of those
temporary <canvas> elements used during mozPrintCallback.

With a document consisting of 79 pages, this resulted in a 600-700MB
leaked memory.
2013-10-08 19:50:45 +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
Jonas Jenwald
d795c8ec14 Refactor Presentation Mode code 2013-10-06 20:10:26 +02:00
Tim van der Meij
e2f44361f5 Merge pull request #3759 from Snuffleupagus/issue-3755
Fix external links in Presentation Mode (issue 3755)
2013-10-04 13:49:30 -07: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
Brendan Dahl
2d489bab22 Merge pull request #3582 from Rob--W/pushState
Set URL in history.replaceState/pushState
2013-10-03 11:35:36 -07:00
Brendan Dahl
df249da923 Use css to initially scale on zoom. 2013-10-02 09:05:46 -07:00
Jonas Jenwald
87eb2dccbe Fix external links in Presentation Mode (issue #3755) 2013-10-02 16:17:38 +02:00
Jonas Jenwald
43b0b66ada Fix coding style and improve comment in settings.js 2013-10-02 15:57:23 +02: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
Brendan Dahl
17a953c7b3 Merge pull request #3643 from Snuffleupagus/issue-3423
Change the cursor so that text selection doesn't appear possible in presentation mode
2013-10-01 13:27:19 -07:00
Jonas Jenwald
b148c9cb51 Add the viewBookmark button to the secondary toolbar 2013-09-27 11:51:32 +02:00
Jonas Jenwald
9fcb1a9e40 Merge pull request #3671 from Rob--W/toolbar-layout-fix
Fix layout of main toolbar
2013-09-26 07:55:52 -07:00
Tim van der Meij
63233fa8c2 Improved password prompt 2013-09-24 17:46:54 +02:00
Brendan Dahl
e79935d8b3 Merge pull request #3691 from Snuffleupagus/PDFHistory-followup-3341
[PDFHistory] Prevent the history from skipping entries in certain edge cases, when specifying an initialBookmark in the hash parameters on document load
2013-09-23 18:06:21 -07:00
mark-5
866186dcaa dont display file input when printing
closes #2464
2013-09-20 19:08:41 -04:00
Brendan Dahl
6ef44da10b Use canvas and css width/height instead of css transform for high dpi. 2013-09-20 12:11:14 -07:00
Tim van der Meij
31fda50123 Merge pull request #3663 from Snuffleupagus/move-PageView
Move PageView from viewer.js to its own file
2013-09-20 10:52:21 -07:00
Tim van der Meij
bf1b945101 Merge pull request #3692 from Snuffleupagus/issue-3690
Prevent trying to set the 'maxHeight' property of the secondaryToolbar before the viewer is completely loaded
2013-09-20 10:43:15 -07:00
Jonas Jenwald
2cf2eb0dfc Fix coding style in page_view.js 2013-09-20 09:28:03 +02:00
Jonas Jenwald
cebf3c60e2 Move PageView from viewer.js to its own file 2013-09-20 09:25:41 +02:00
Yury Delendik
a8320b2e18 Merge pull request #3695 from SSk123/transform
Adding transformation to the extract code
2013-09-19 18:45:59 -07:00
Srishti
3808d02a53 implementing transform matrix to getTextContent 2013-09-20 06:37:08 +05:30
Yury Delendik
9cdcb3881d Merge pull request #3686 from timvandermeij/rtl-improvements
Improvements for RTL languages
2013-09-19 16:21:39 -07:00
Brendan Dahl
c270d7e056 Merge pull request #3641 from Snuffleupagus/properly-disable-presentationMode-when-embedded
Properly disable presentation mode when the viewer is embedded
2013-09-17 13:49:11 -07:00
Brendan Dahl
0b7d54f9f6 Merge pull request #3623 from Snuffleupagus/disable-range-requests-in-old-Android
Disable range requests in old Android versions
2013-09-17 11:36:31 -07:00
Tim van der Meij
67e4c03786 Improvements for RTL languages 2013-09-14 19:33:00 +02:00
Jonas Jenwald
fabed80b5f Prevent trying to set the 'maxHeight' property of the secondaryToolbar before the viewer is completely loaded 2013-09-14 18:00:36 +02:00
Jonas Jenwald
fc73dbe695 [PDFHistory] Prevent the history from skipping entries in certain edge cases, when specifying an initialBookmark in the hash parameters on document load 2013-09-14 17:14:04 +02:00
Rob Wu
d45d622354 Fix layout of main toolbar
Before this commit there were two main issues:

- In small windows, the zoom controls visually floated above the page number
  (e.g. 733px).
- In small windows, the (transparent) zoom container covered the go-to-page
  input box, which prevented one from using the input field to quickly navigate
  to a different page.
2013-09-11 18:56:10 +02:00
Thor Larholm
3c2d079c42 Fixed review notes: Adding specificity and removing redundant declaration 2013-09-10 22:17:40 +02:00
Thor Larholm
0f07d8ad55 Squashed: Added basic support for presentationMode in IE11 2013-09-10 21:40:14 +02:00
Brendan Dahl
da1c944929 Merge pull request #3656 from timvandermeij/annotation-svg
Fixing annotation icon issues
2013-09-09 12:46:26 -07:00
Yury Delendik
69eff38d09 Merge pull request #3660 from maxidirienzo/master
viewer.js: Do not process keyboard shortcuts when focused element is a t...
2013-09-09 08:17:50 -07:00
maxidirienzo
ee5d8ca56d viewer.js: Do not process keyboard shortcuts when focused element is a textarea
If focused element is a textarea, viewer should not process keyboard shortcuts (as it does with input and select elements) because while writing on a textarea, if you press k,p,l, or n, the viewer scrolls next/prev page and the letter is not added to the textarea (eg. in my case I had a viewer displaying a product specs in PDF and a "request a quote" form at it's right, the form had a textarea field and users complains that they couldn't write in it, after checking it, I've realized it was this particular issue and fixd it with the change I'm commiting.
2013-09-09 11:50:49 -03:00
Tim van der Meij
48a24a48c1 Fixing annotation icon issues 2013-09-06 21:00:02 +02:00
Brendan Dahl
ec52dea70e Merge pull request #3645 from Snuffleupagus/presentationMode-fix-search
Fix searching in presentation mode in Firefox
2013-09-06 08:18:46 -07:00
Jonas
b118ade9ae Fix searching in presentation mode in Firefox 2013-09-06 09:08:43 +02:00
Tim van der Meij
14912b5a03 Annotation selection 2013-09-05 23:19:04 +02:00
Brendan Dahl
7cf8b8d70c Merge pull request #3607 from Snuffleupagus/issue-3604
Prevent searching during load from breaking the find functionality
2013-09-05 08:13:45 -07:00
Jonas
433397f877 Simplify getVisiblePages() in presentation mode 2013-09-05 00:42:36 +02:00
Jonas
54dfe05e30 Prevent searching during load from breaking the find functionality 2013-09-05 00:25:19 +02:00
Jonas
3cce7be9ce Properly disable presentation mode when the viewer is embedded 2013-09-05 00:23:16 +02:00
Jonas
afbff781a7 Change the cursor so that text selection doesn't appear possible in presentation mode 2013-09-05 00:18:36 +02:00
Tim van der Meij
3c0ac37292 Secondary toolbar 2013-09-04 23:48:31 +02:00
Brendan Dahl
189d444ded Merge pull request #3507 from Snuffleupagus/PDFHistory-fix-multiple-identical-states
[PDFHistory] Prevent the history from getting stuck in certain edge cases
2013-09-04 12:09:41 -07:00
Brendan Dahl
d26fcd5468 Merge pull request #3618 from Snuffleupagus/followup-3557
Prevent named actions from displaying a 'resource://' URL in Firefox
2013-09-04 11:16:15 -07:00
Brendan Dahl
b368a99f20 Merge pull request #3421 from Snuffleupagus/avoid-multiple-rendering-on-wheel-zoom
Avoid triggering rendering multiple times when zooming using the mouse wheel
2013-09-04 10:25:31 -07:00
Nils Maier
16a1c38c1f Download: Use the typed array view instead of the buffer
The ArrayBuffer holding the data might be over-sized in case the
data length was not known during the transfer, e.g. when using a
Content-Encoding other than `identity` or when using a
Transfer-Encoding.
Only the view into the buffer has the correct length then, hence
always use the view directly when creating the blob URI for the
download, instead of the over-sized underlying buffer.

Closes GH-3627
Closes GH-3634
2013-09-01 16:45:26 +02:00
Jonas
f61d272754 Disable range requests in old Android versions 2013-08-29 01:53:57 +02:00
Brendan Dahl
d00157d3ab Merge pull request #3587 from debloper/master
Stripping down some CSS prefixes [#868160]
2013-08-26 12:59:32 -07:00
Jonas
8630e29054 Avoid triggering rendering multiple times when zooming using the mouse wheel 2013-08-26 21:00:35 +02:00
Brendan Dahl
427dd3948b Merge pull request #3569 from yurydelendik/bug900193
Fixes canvas alignment for small scale...
2013-08-26 10:52:47 -07:00
Brendan Dahl
e2ca1d0e5e Merge pull request #3613 from Snuffleupagus/remove-dead-find-code
Remove old dead find related code from viewer.js
2013-08-26 10:46:58 -07:00
Brendan Dahl
e9a3ac175c Merge pull request #3612 from Snuffleupagus/fix-find-when-loading-new-file
Prevent searching from breaking when opening a new file in the web viewer
2013-08-26 10:44:54 -07: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
Yury Delendik
1de48f1805 Merge pull request #3595 from brendandahl/fix-clip
Move the creation of canvas path fonts to the worker.
2013-08-26 06:48:05 -07:00
Jonas
e69fc0072a Prevent named actions from displaying a 'resource://' URL in Firefox 2013-08-24 20:27:58 +02:00
Jonas
8892beeb08 Remove old dead find related code from viewer.js 2013-08-23 13:08:51 +02:00
Jonas
baba41f702 Prevent searching from breaking when opening a new file in the web viewer 2013-08-23 11:08:03 +02:00
Yury Delendik
bde863a8ac Merge pull request #3573 from Rob--W/crx-view-local-files
[CRX] Fixes to view local files again
2013-08-21 07:37:32 -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
695e92cc00 Merge pull request #3532 from yurydelendik/telem-1
Adds initial telemetry probes
2013-08-19 12:34:27 -07:00
Yury Delendik
6a0ca99da4 Merge pull request #3519 from Snuffleupagus/move-errorWrapper-during-load
Prevent the loadingBar from overlaying the errorWrapper
2013-08-16 10:53:56 -07:00
Yury Delendik
ab2cfaf128 Merge pull request #3575 from brendandahl/text-debugger
Show sensible output for showText commands in the stepper.
2013-08-16 10:42:39 -07:00
Rob Wu
c653bf3aff Set URL in history.replaceState/pushState
When <base href> is present, history.replaceState and
history.pushState behave inconsistent with relative URLs.
http://code.google.com/p/chromium/issues/detail?id=274024

Contrary to what one expect, passing '' as the URL parameter to
replaceState/pushState does not associate the currently active
URL with the history entry, but a path relative to <base href>.

To fix the issue, explicitly associate the current active URL
with the history's state.
2013-08-16 17:30:07 +02:00
Yury Delendik
ba23a9e8f9 Adds initial telemetry probes 2013-08-16 09:53:05 -05:00
Yury Delendik
7e145c1228 Merge remote-tracking branch 'mozilla/master' into pushState 2013-08-16 09:18:00 -05:00
Yury Delendik
fa885678df Don't provide optional pushState parameter 2013-08-16 09:09:32 -05:00
Soumya Deb
de52e711f8 Unprefixing CSS as current browsers support 2013-08-16 14:18:37 +05:30
Brendan Dahl
2bd9901d62 Show sensible output for showText commands in the stepper. 2013-08-14 15:34:55 -07:00
Rob Wu
a4dd4b1789 [CRX] Fixes to view local files again
pdfHandler-local.js references the isPdfDownloadable function from
pdfHandler.js, but the function didn't expect that the responseHeaders
property was absent. Added a check to prevent a runtime error when a
local file is displayed in a frame, and show local PDF files again.

Local files are rendered on the chrome-extension:-protocol. The previous
method of getting the PDF URL was incorrect, this has been fixed as well.
2013-08-14 23:50:51 +02:00
Yury Delendik
86077810b0 Fixes canvas alignment for small scale and scale adjustment after Cmd+0 2013-08-13 18:45:06 -05:00
Brendan Dahl
5ecce4996b Split files into worker and main thread pieces. 2013-08-12 10:48:06 -07:00
Tim van der Meij
75035a2970 Named actions implementation 2013-08-08 21:59:59 +02:00
Jonas
d99879bfbf Move ThumbnailView from viewer.js to its own file 2013-08-06 22:19:03 +02:00
Brendan Dahl
820145da05 Merge pull request #3523 from yurydelendik/csp
Bug 889320 - [CSP] removes inlined styles and scripts, also HTTP headers
2013-08-06 13:10:33 -07:00
Brendan Dahl
d85e38d629 Fix intermittent blank page on fast zoom. 2013-08-05 16:34:57 -07:00
Yury Delendik
bea2e41e45 Backout of #3513 (except formatting) 2013-08-05 07:52:24 -05:00
Yury Delendik
7435b267f9 Merge pull request #3535 from Snuffleupagus/issue-3534
Fix issue with initial scale when opening a new file and another one is already loaded
2013-08-04 17:29:36 -07:00
Brendan Dahl
65fd2c77d0 Merge pull request #3513 from Snuffleupagus/keep-scroll-position-on-zoom-v2
Keep current scroll position when zooming the document
2013-08-02 15:22:52 -07:00
Jonas
8170d67a6b Fix issue with initial scale when opening a new file and another one is already loaded 2013-08-02 16:09:33 +02:00
Brendan Dahl
bf72bc94e2 Incrementally render by sending the operator list by chunks as they're ready. 2013-07-31 11:17:36 -07:00
Jonas
edf3163fa6 Keep current scroll position when zooming the document 2013-07-31 19:43:03 +02:00
Yury Delendik
99c9079f54 [CSP] removes inlined styles and scripts 2013-07-30 21:00:37 -05:00
Brendan Dahl
81308d153d Merge pull request #3516 from Rob--W/crx-dont-parse-querystring
[CRX] Get pdf name from URL instead of query string
2013-07-29 10:22:14 -07:00
Brendan Dahl
e39083ddc3 Merge pull request #3495 from Snuffleupagus/check-if-viewer-embedded
Check if viewer is embedded only once and cache the result
2013-07-29 09:44:11 -07:00
Jonas
d031c2bd62 Prevent the loadingBar from overlaying the errorWrapper 2013-07-29 12:43:42 +02:00
Rob Wu
b2b2e85ba2 [CRX] Get pdf name from URL instead of querystring 2013-07-27 12:31:51 +02:00
Jonas
869c4de289 [PDFHistory] Prevent the history from getting stuck in certain edge cases 2013-07-23 21:50:09 +02:00
Yury Delendik
95bb727931 Merge pull request #3494 from SSk123/master
Fixing the offset of vertical CJK text
2013-07-20 10:26:13 -07:00
Srishti
6c3e5e5d92 Fixing the offset of vertical CJK text 2013-07-20 20:56:33 +05:30
Jonas
d99b7753d6 Check if viewer is embedded only once and cache the result 2013-07-20 16:33:40 +02:00
Jonas
8708f8beb5 Fixes regression that cause scrolling using spacebar to break in Firefox 2013-07-19 22:09:37 +02:00
Yury Delendik
c6e698e21f Merge pull request #3332 from Snuffleupagus/fix-loadingBar
Fix the positioning of the progressive loadingBar
2013-07-18 09:39:25 -07:00
Jonas
4890c5d017 Fix the positioning of the progressive loadingBar 2013-07-18 18:28:59 +02:00
Jonas
09e0c9b65d Move PDFHistory from viewer.js to its own file 2013-07-18 17:18:27 +02:00
Tim van der Meij
343bb7488a Presentation mode shortcut implementation 2013-07-18 16:28:06 +02:00
Yury Delendik
0dd0e2ee64 Merge pull request #3477 from brendandahl/font-loading
Use dummy font for testing when pdf fonts are loaded.
2013-07-18 07:01:55 -07: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
Yury Delendik
984b9bf78b Merge pull request #3486 from Rob--W/csp-unsafe-inline
Remove all inline JavaScript from viewer.html to comply with CSP unsafe-inline and correct error textarea's height
2013-07-18 06:08:39 -07:00
Tim van der Meij
22120005b7 Removing code duplication 2013-07-18 13:37:55 +02: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
5fa609584e Merge pull request #3449 from Snuffleupagus/history-remove-beforeunload
[Browsing history] Remove 'beforeunload' to enable caching and prevent duplicate entries
2013-07-17 16:03:12 -07:00
Brendan Dahl
fde86cde54 Merge pull request #3473 from Rob--W/chrome-printing
Fix printing behaviour in Chrome
2013-07-17 11:04:49 -07:00
Brendan Dahl
e9f5336cc9 Add atob polyfill. Remove uneeded data uri polyfill. 2013-07-17 10:26:12 -07: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
Brendan Dahl
330f6212ba Merge pull request #3341 from Snuffleupagus/navigateTo-fix
Tweak the behaviour of navigateTo during document load
2013-07-15 16:16:46 -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
Rob Wu
066dffde3c Fix printing behaviour in Chrome
Two major issues:
1. Border/shadow around every page. Removed by adding "border:none".
2. Added "overflow:visible" (overrides "overflow:auto") in #viewContainer.
   This solves two problems:
   - It prevents scrollbars from appearing.
   - Every "page" is automatically resized to fit on a printed page,
     just like the Firefox.
To see what's wrong, here's a picture of how PDF.js rendered the pdf in
 Chrome (using "Print to PDF" feature of Chrome):
 https://robwu.nl/pdfjs/pdfjs-print-with-chromium-28.pdf

Successfully tested with Chrome 28 and Firefox 22.

Solves #3445
2013-07-15 16:23:43 +02:00
Yury Delendik
81c8730e4b Restoring PR 3455 functionality 2013-07-12 17:00:43 -05:00
Yury Delendik
28778e6c1b Rejects incorrect url in download manager 2013-07-12 13:38:49 -05:00
Yury Delendik
ef658bf5f1 Refactoring download button logic 2013-07-12 13:14:13 -05:00
Brendan Dahl
077f08fa6d Merge pull request #3456 from brendandahl/cap-image-size
Limit image size to 1024*1024 for b2g.
2013-07-11 11:44:51 -07:00
Rob Wu
b076cd1d6a Always declare window.URL even if undefined
Otherwise it breaks feature detection,
"ReferenceError: Can't find variabl: URL" in Safari 5.1
2013-07-10 23:34:10 +02:00
Rob Wu
e583070deb Download PDF from cache for IE10 / IE11
IE9 falls back to downloading from the original URL.
2013-07-10 22:07:23 +02:00
Rob Wu
84ae29c21d Improve suggested filename on download
For all of the following URLs, "file.pdf" will be suggested:
http://.../file.pdf
http://.../download.aspx?file=file.pdf&whatever
http://.../get.pdf?name=file.pdf&whatever
http://.../single-page-app#view=file.pdf
http://.../download.aspx?file=%2Fpath%2Fto%2Ffile.pdf&whatever

Fixes #3161
2013-07-10 21:50:56 +02:00
Brendan Dahl
bcc085ec52 Limit image size to 1024*1024 for b2g. 2013-07-10 09:52:37 -07:00
Rob Wu
69a64d45bc Put URL = URL || webkitURL in compatibility.js
Declares the URL variable globally. If the feature is not
supported, the variable will still be declared, but have the
"undefined" value.

Supported by:

- Firefox 4
  Firefox 21 in Web worker

- Chrome 8  (prefixed as webkitURL), 23+ unprefixed
  Chrome 10 (prefixed as webkitURL) in Web Worker, 23+ unprefixed

- Opera 15
  Opera 15 in Web Worker

- Internet Explorer 10
  Internet Explorer 11 in Web Worker

- Safari 6 (prefixed as webkitURL)
  Safari 6 (prefixed as webkitURL) in Web Worker
2013-07-09 22:54:12 +02:00
Rob Wu
4ffc408512 Download PDF from cache for non-Firefox add-on
This feature relies on URL.createObjectURL, which is supported by
- Firefox 4
- Chrome 8
- Opera 15
- Internet Explorer 10

If the feature is missing, it falls back to downloading from the server.

The environment-specific code are put in ifdef's. Two methods are
defined:
- noData
  This function is used as a fallback in case of failure, it triggers
  a download directly from the server.
- triggerSaveAs(String url, optional String blob)
  This function attempts to show a Save As dialog for a given URL.
  It attempts to use the a.download attribute, if available, and
  falls back to window.open(<url>, '_parent') if unavailable.

See also http://caniuse.com/download
2013-07-09 22:54:12 +02:00
Brendan Dahl
c17f90e1aa Merge pull request #3406 from Snuffleupagus/remove-old-moz-prefixes
Remove old -moz prefixed rules from viewer.css
2013-07-09 13:13:20 -07:00
Yury Delendik
160403197b Merge pull request #3447 from Rob--W/chrome-arrow-keys-3443
Allow scrolling by keyboard in Chrome/Opera
2013-07-09 07:44:01 -07:00
Rob Wu
cc04cf5d1f Configurable IMAGE_DIR for annotations
The Chrome extension activates PDF.js by inserting the script tags
in a document whose URL and location origin is identical to the PDF
file.
Because of this, the path './images/' was resolved relatively to the
location of the PDF file instead of the extension.

To fix this, the IMAGE_DIR constant is moved outside the local scope,
to allow extensions/chrome/insertviewer.js to override the value.

Originally, the IMAGE_DIR variable was a global variable, but commit
f8f4b3f45d moved the global variable
to the local scope, causing the extension to malfunction.

Impact: low, the only consequence is that some rarely used images
were not visible.

Trivial test:
At the center of page 2, the annotation icon
(images/annotation-comment.svg) should be visible:
http://linorg.usp.br/CTAN/macros/latex/contrib/pdfcomment/doc/pdfcomment.pdf
2013-07-09 16:24:25 +02:00
Jonas
db1d8cf76e [Browsing history] Remove 'beforeunload' to enable caching and prevent duplicate entries 2013-07-08 16:16:43 +02: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
Yury Delendik
ba87d2fe11 Merge pull request #3373 from SSk123/master
rotation causes textLayer to get messed up
2013-06-29 17:24:12 -07:00
Srishti
21a8d62624 Fixes Text rotation issue #2095 2013-06-30 03:52:30 +05:30
benbro
74ee295812 Add IE 11 to the text/html data URI shim 2013-06-29 23:43:41 +03:00
Jonas
d417ef9a39 Remove old -moz prefixed rules from viewer.css 2013-06-28 17:21:07 +02:00
Jonas
94be9c07f1 Enable changing page using Shift+Spacebar in presentation mode 2013-06-26 22:46:34 +02:00
Jonas
5c93ec3a2c Check if the browser supports manipulation of the history 2013-06-24 20:46:13 +02:00
Jonas
6867083c07 Fix typo causing destinations using '/FitR' to fail 2013-06-24 00:39:28 +02:00
Vivin Paliath
83b6eaed16 pr #3356
squashing commits.
2013-06-18 09:05:55 -07:00
Yury Delendik
167ac98f9c Fixes presentation mode page 2013-06-12 16:18:21 -05:00
Yury Delendik
729e35079f Disables range requestes for safari immediately 2013-06-12 12:03:27 -05:00
Yury Delendik
152e376971 Capturing disableRange set on capture phase of DOMContentLoaded event 2013-06-11 09:01:36 -05:00
Brendan Dahl
2fa15a0d03 Merge pull request #3338 from Snuffleupagus/history-wrong-pageNumber-fix
(Yet another) browsing history bug
2013-06-10 14:16:16 -07:00
Jonas
d3c82750c4 Tweak the behaviour of navigateTo during document load 2013-06-05 22:15:39 +02:00
Brendan Dahl
ae1f973204 Use A+ spec compatible promises. 2013-06-05 12:28:31 -07:00
Yury Delendik
5d97434736 Properly disables presentation mode 2013-06-05 11:01:09 -05:00
Jonas
5cb3df7bde (Yet another) browsing history bug 2013-06-05 16:02:29 +02:00
Brendan Dahl
e6dadaadb8 Disable range request loading for safari. 2013-06-03 15:31:42 -07:00
Jonas
ab9bc2bc34 Fix issue with resizing the zoom box width - follow-up of 2816 2013-06-02 14:31:28 +02:00
Yury Delendik
f700e61e9e Merge pull request #3308 from brendandahl/hide-overflow
Hide canvas overflow for high dpi screens.
2013-06-01 17:45:50 -07:00
Brendan Dahl
4a7bd37162 Hide canvas overflow for high dpi screens. 2013-05-30 08:17:16 -07:00
Jonas
a4343436c7 Fix remaining issues in the browsing history 2013-05-28 18:43:06 +02:00
Brendan Dahl
3641c22750 Merge pull request #3278 from Snuffleupagus/history-regression
Fix regressions caused by the recent implementation of browsing history
2013-05-22 10:49:59 -07:00
Brendan Dahl
efde079417 Merge pull request #3195 from yurydelendik/no-filltext
Drawing without fillText; refactoring ADD_TO_PATH
2013-05-21 16:53:42 -07:00
Jonas
d3c9a9d856 Fix regressions caused by the recent implementation of browsing history - address comments v3 2013-05-21 11:35:33 +02:00
Jonas
766b92c27e PDF browsing history - v6.50 2013-05-16 00:31:17 +02:00
Yury Delendik
0e133f0090 Drawing without fillText; refactoring ADD_TO_PATH 2013-05-15 15:57:27 -05:00
Yury Delendik
61a7738a5d Fixes password for range request loading 2013-05-09 19:18:31 -05:00
Mack Duan
f8f4b3f45d Refactor code for annotations 2013-05-07 14:22:13 -04:00
Brendan Dahl
e5b5c94925 Merge pull request #3060 from saebekassebil/fixpassword
Ask for password on failed decryption
2013-05-07 09:27:38 -07:00
Jakob Miland
297c305150 Ask for password on failed decryption 2013-05-07 18:24:59 +02:00
Yury Delendik
5db963abf4 Merge pull request #3193 from Snuffleupagus/issue3076
Fixes issue 3076
2013-05-07 05:46:46 -07:00
Jonas
40718bdb7b Fixes bug 863591 2013-05-06 17:39:22 +02:00
Yury Delendik
a081c2d0f1 Merge pull request #3124 from mduan/issue3118-1
Update loading bar during onprogress of range requests
2013-05-03 16:51:32 -07:00
Jonas
32f54c3272 Fixes issue 3076 2013-05-03 17:50:18 +02:00
Kalervo Kujala
5e08f8039d Replace fullscreen with presentationMode 2013-05-01 09:22:17 +03:00
Brendan Dahl
b89d7272e2 Remove background when printing. 2013-04-30 14:39:57 -07: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
vyv03354
2c504120b8 Fixes the unprefixed gradient declaration 2013-04-30 20:24:01 +09:00
Yury Delendik
2a320f851e Merge branch 'vyv03354/unprefix_gradient'
Conflicts:
	web/viewer.css
2013-04-29 22:06:59 -05:00
Mack Duan
91f9948df4 Only update progress bar if it increases 2013-04-23 10:00:31 -07:00
Yury Delendik
9c9ed2f2a1 Merge pull request #3128 from mete0r/master
Use decodeURIComponent instead of unescape in parseQueryString() in viewer.js
2013-04-23 06:23:28 -07:00
Jonas
77c1235b13 Workaround for issue 3068 - v3 2013-04-23 02:19:15 +02:00
Mack Duan
c5084d9e8a Update loading bar during onprogress of range requests 2013-04-22 08:46:58 -07:00
mete0r
66cb12822d Fix parseQueryString -- use decodeURIComponent instead of unescape 2013-04-20 21:32:15 +09:00
Mack Duan
6b2c6fc223 Changes to regression tests for progressive loading 2013-04-18 00:16:36 -07:00
Mack Duan
ef423ef30c Implement progressive loading of PDFs 2013-04-12 16:13:22 -07:00
Jakob Miland
6b4f72a2c3 Disable outline button when unavailable 2013-04-11 18:27:35 +02:00
vyv03354
36ea87af38 Remove prefixed gradients usage 2013-04-07 20:57:14 +09:00
Yury Delendik
238b94aff1 Adds check for textDivs presence; removes textLayerQueue 2013-04-04 09:01:27 -05:00
Rob Wu
88767e1861 Improve download button and behaviour
Fix download button for top frames and sub frames

When PDF.js is the top frame, and the PDF URL is identical to
the top URL, download would fail. Fixed by adding a ? or & in these
cases.

When PDF.js is embedded in a frame from a different origin, download
would fail because window.open(url, '_parent') is ignored.
Fixed by using a.click() when available.
a.click() works in Chrome 25, Firefox 19, Opera 12.00 and IE 8.
Safari 5.1 does not support a.click()

Use a.download if available + documentation
2013-04-04 13:40:28 +02:00
Rob Wu
b46c375126 Compatibility with XHTML documents
Previously, when the XHTML doctype + header is active, checks
would fail because a <div>'s tag name is "div" instead of "DIV".

document.activeElement does not exist in Chrome for XHTML documents

== -> ===
2013-04-04 12:35:50 +02:00
Yury Delendik
884b2dc9e4 Merge pull request #3022 from Rob--W/css-button-fix
Explicitly define layout of toolbar buttons
2013-04-03 11:19:35 -07:00
Rob Wu
5328b461ee Explicitly define layout of toolbar buttons
Before:

- Firefox's buttons looks OK
- Chrome (quirks mode): Buttons were aligned to the bottom (too much)
- Chrome (standards mode): Buttons were aligned to the top (too much)
- Opera/IE/Safari: Like Chrome (standards): Buttons too high

(Too high = Compare the other buttons to the rightmost button)

After:

- Firefox's button positions didn't change at all
- All buttons are aligned at the same level, across all browsers
2013-04-03 19:17:08 +02:00
Jonas
ee83df1338 Detect and add fallback if document colors are disabled in Firefox - address comment 2013-04-03 18:49:03 +02:00
Inkbug
b0376a1aa6 Fixing Issue 2998 - Replacing !!window.frameElement with window.parent !== window 2013-04-02 21:30:03 +03:00
Yury Delendik
71a31b01f2 Merge pull request #2919 from Snuffleupagus/external-links
Tweak external links in fullscreen mode - follow up on #2712
2013-04-02 09:59:02 -07:00
Yury Delendik
74b0a51cee Merge pull request #3009 from brendandahl/backdrop
Use white backdrop when possible.
2013-04-01 08:15:30 -07:00
Brendan Dahl
af1833c4d8 Merge pull request #2991 from mduan/text-layer-retina
Fix issue w/ textlayer on retina causing it to be visible only in top quadrant
2013-03-29 17:12:53 -07:00
Brendan Dahl
ec311f303b Use white backdrop when possible. 2013-03-29 13:26:25 -07:00
Mack Duan
4782a3acb9 Changes to viewer to support progressive loading 2013-03-29 11:51:10 -07:00
Mack Duan
7aaa061db4 Fix issue w/ textlayer on retina causing it to be visible only in top quadrant 2013-03-25 11:32:51 -07:00
Jonas
e081c764af Tweak external links in fullscreen mode - follow up on #2712 2013-03-25 17:50:49 +01:00
Brendan Dahl
921f3211a4 Merge pull request #2916 from Snuffleupagus/getVisibleElements
Rewrite and refactor getVisibleElements() to make it more generic
2013-03-19 11:35:53 -07:00
Yury Delendik
b7878c150b Merge pull request #2955 from vyv03354/warn_unsupported
Add a console warning when JavaScript/AcroForm/XFA was found
2013-03-19 06:25:51 -07:00
Jonas
83c09f27cc Fix bug 795225 - address comment 2013-03-18 23:53:45 +01:00
vyv03354
385a5f7dcc Add a console warning when JavaScript/AcroForm/XFA was found 2013-03-19 07:27:09 +09:00
Yury Delendik
6cb762246a Merge pull request #2936 from brendandahl/trans-groups2
Add basic support for transparency groups.
2013-03-18 14:48:37 -07:00
vyv03354
d933386e76 Deal with negative vScale value 2013-03-16 20:23:34 +09:00
Brendan Dahl
ad842b6bb8 Remove mozOpaque. 2013-03-15 09:31:52 -07:00
Brendan Dahl
725cd5407f Add basic support for transparency groups. 2013-03-12 17:20:38 -07:00
Brendan Dahl
605da8bf67 Merge pull request #2920 from Snuffleupagus/thumbnail-on-fullscreen-close
Scroll the Thumbnail of the current page into view when exiting fullscreen mode
2013-03-12 16:57:23 -07:00
Jonas
4378a932ef Rewrite and refactor getVisibleElements() to make it more generic - address comments by @brendandahl 2013-03-12 00:29:34 +01:00
Yury Delendik
601b81f4ed Adds optional Shift for zoom keybindings 2013-03-11 11:04:43 -05:00
Jonas
82b588389f Scroll the Thumbnail of the current page into view when exiting fullscreen mode 2013-03-10 13:56:24 +01:00
Yury Delendik
7b2441ec23 Takes clientTop in account in getVisibleElements 2013-03-07 14:11:49 -06:00
Yury Delendik
3a5258d069 Takes top border width in account (cont #2874) 2013-03-03 19:08:23 -06:00
Yury Delendik
91ab83a69a Merge pull request #2872 from sgtatham/master
Fix handling of [page /XYZ null null null] destinations.
2013-03-03 15:00:54 -08:00
Simon Tatham
c164f03e5a /XYZ destinations: default to top left of the page.
The previous default in the absence of provided coordinates was the
bottom left, so that if you followed a PDF link annotation with a
destination of [page /XYZ null null null] then you would see a gutter
followed by the page _after_ the intended one, because pdf.js had
carefully aligned the lower left corner of the target page with the
top of the window.

As part of this change we allow missing x,y parameters in URLs with a
&zoom= parameter to propagate nulls into pageViewScrollIntoView
instead of being replaced with zero in pdfViewSetHash, so as to do
this substitution in one place.
2013-03-03 22:35:30 +00:00
Yury Delendik
43f70d1601 Merge branch 'ctrl0' 2013-03-03 14:42:32 -06:00
Yury Delendik
dbf22e5194 Keeping Ctrl+0 unhandled 2013-03-03 14:41:43 -06:00
Yury Delendik
85ddd9405a Replacing page shadow with image; removing some profixed styles 2013-03-03 09:38:38 -06:00
Brendan Dahl
5c43565404 Hack to support automatic printing from pdf javascript. 2013-02-28 15:29:07 -08:00
waddlesplash
d0864f766b CSS fixes to the sidebar.
No need for a 15px margin, and links should have a pointer cursor.
2013-02-28 17:02:09 -05:00
Yury Delendik
7ca99df0d7 Merge pull request #2816 from Snuffleupagus/zoom-select-adjust-followup
Resize the zoom box width to fit the content - fix embedding
2013-02-28 08:25:44 -08:00
Jonas
87017ec3cf Make links work in fullscreen - fix issue mentioned by @yurydelenik 2013-02-28 15:35:41 +01:00
Mack Duan
c0acf072e7 Merge pull request #2822 from waddlesplash/css
Spacing fixes in CSS.
2013-02-27 16:36:34 -08:00
Ofir
bf837cb524 Clone the array manually when slice is missing 2013-02-27 22:53:59 +02:00
waddlesplash
322709257d Spacing fixes. 2013-02-27 12:53:14 -05:00
waddlesplash
b5dadab5c7 Add "cursor: text;" to textLayer div CSS.
Fixes problem caused by e4e4b1ab4e.
2013-02-26 14:18:11 -05:00
Yury Delendik
8aca4c992b Merge pull request #2781 from waddlesplash/textselection
Ignore empty strings for text selection
2013-02-26 10:52:03 -08:00
waddlesplash
9ba08f2c3d Ignore empty strings for text selection.
They were causing double text selection.
2013-02-26 13:00:33 -05:00
Jonas
0bde16a0a0 Resize the zoom box width to fit the content - fix embedding - address comments 2013-02-26 18:46:50 +01:00
Yury Delendik
3b506bd294 Merge pull request #2805 from brendandahl/no-hide-download
Don't hide the download/print buttons when view is small.
2013-02-25 17:11:48 -08:00
Brendan Dahl
60edfce733 Don't hide the download/print buttons when view is small. 2013-02-25 16:53:54 -08:00
Brendan Dahl
a13f7964b1 Merge pull request #2686 from vyv03354/bug770409
Implement vertical writing
2013-02-25 12:47:47 -08:00