Commit Graph

1263 Commits

Author SHA1 Message Date
Rob Wu
ce9400dc8b Handle navigation keys when viewer is not focused
Restrict the scrollbar hack to the keycode for "spacebar",
since the bug only occurs in Firefox with spacebar.

Keyboard navigation is only activated for the spacebar if
the currently focused element is not a button.
2014-01-31 14:59:49 +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
64a4a27455 Remove obsolete code from shortcut handler
These lines were introduced in 612f59aa10
when the only shortcuts were +/-/=/0 (to change zoom level).
Back then, when the input fields were focused, using these keys would
add these unwanted characters to the input field and change the zoom
level of the viewer. Having both operations at the same time was an
undesired event, so a check was inserted, to ignore shortcuts when
the toolbar is focused.

The #toolbar element doesn't exist any more, so these lines are obsolete.
2014-01-30 15:26:51 +01:00
Rob Wu
65701f941d Get rid of weird scrollbar on mouse down 2014-01-30 15:06:04 +01:00
Yury Delendik
b4eceac826 Merge pull request #4209 from Rob--W/grab-to-pan-performance
Update Grab to pan to fix performance issue
2014-01-29 15:30:58 -08:00
Rob Wu
45c633b072 Update Grab to pan to fix performance issue
Reported at http://stackoverflow.com/questions/21392844/pdf-js-recalculating-problme
See also e0f893753a

Changes versus grab-to-pan.js: Moved inline style to viewer.css,
lowered z-index from 2e9 to 50000 (note to future maintainers:
make sure that all other z-index values stay below 50000!).
2014-01-30 00:16:25 +01:00
Rob Wu
9df998914d Print shortcut: Ctrl + (Shift +) P only
The previous version interfered with the full screen shortcut
 (Ctrl + Alt + P).
The new version only intercepts Cmd/Ctrl + P (all browsers).
And Ctrl + Shift + P in Chrome / Opera (Presto and Chromium),
because these browsers also associate a Print operation with
the shortcut.
2014-01-29 18:38:42 +01:00
Brendan Dahl
c2e31cd1ef Merge pull request #4205 from yurydelendik/blob-open-file
Using blob URL for open file
2014-01-28 14:15:35 -08:00
Brendan Dahl
0e000392ae Merge pull request #4179 from yurydelendik/dataLoaded
Fixes PDFDocumentProxy.getDataLoaded API name (and refactoring)
2014-01-28 13:56:01 -08:00
Yury Delendik
e5e9c6e243 Fixes PDFDocumentProxy.getDownloadInfo API name (and refactoring) 2014-01-28 15:13:47 -06:00
Tim van der Meij
b4b145507c Implements mouse wheel behaviour for non-Firefox browsers 2014-01-28 20:52:25 +01:00
Yury Delendik
48f0d0a131 Refactors nextPageMatch (nits) 2014-01-28 11:11:02 -06:00
Yury Delendik
187c9007ef Merge pull request #4131 from karlden/findUnboundedRecursionBug960409
Fixes find functionality recursion (bugzilla FF bug 960409)
2014-01-28 06:44:42 -08:00
Brendan Dahl
59526a7cf1 Merge pull request #4189 from yurydelendik/split-pattern
Refactors shared/pattern.js into core/ and display/
2014-01-27 17:40:22 -08:00
Yury Delendik
18515b8668 Using blob URL for open file 2014-01-27 13:11:02 -06:00
Yury Delendik
570c4f5660 Merge pull request #4203 from timvandermeij/outline-chrome
Removes button outline as visible in Chrome
2014-01-27 06:40:01 -08:00
Tim van der Meij
fa603af391 Removes button outline as visible in Chrome 2014-01-27 11:57:33 +01:00
Rob Wu
7bbff32a4d [security] Verify message source in Firefox add-on
And put initPassiveLoading within a preprocessor block because
it is only used by Firefox.
2014-01-26 12:55:48 +01:00
Rob Wu
60fb28caf0 Register as File browser handler in Chrome OS 2014-01-25 22:37:19 +01:00
Rob Wu
b0e18a0703 [CRX] Remove redundant location.origin check
The PDF Viewer will always be rendered directly from the extension,
so checking "origin == chrome-extension:/.." is not needed any more.
( since edd4bae903 )
2014-01-25 21:44:58 +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
Yury Delendik
bf432a37bb Refactors shared/pattern.js into core/ and display/ 2014-01-25 12:18:22 -06:00
Tim van der Meij
c952b6fb85 Miscellaneous improvements for the document properties dialog 2014-01-23 00:30:48 +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
Tim van der Meij
5f7ded4ff6 Document properties 2014-01-22 00:07:07 +01:00
Tim van der Meij
d25b0a74d0 RTL CSS improvements 2014-01-21 22:56:19 +01:00
Brendan Dahl
e13500e46b Merge pull request #4140 from timvandermeij/close-secondary-toolbar
Close the secondary toolbar when an action is performed once
2014-01-21 11:47:11 -08:00
Brendan Dahl
f18e3e9e0f Merge pull request #4144 from yurydelendik/api-doc
Misc fixes for the API docs
2014-01-21 11:31:16 -08:00
Sriram
151cd6dee8 Terminate worker of previous doc 2014-01-21 07:13:27 +05:30
Yury Delendik
96fff4cc74 Refactors getTextContent return value 2014-01-17 13:26:00 -06:00
Yury Delendik
2b298a7a34 Adds make minified command 2014-01-17 10:50:54 -06:00
Jonas Jenwald
80f5ae518f Remove old CSS rules 2014-01-17 16:31:51 +01:00
Tim van der Meij
e14d917161 Close the secondary toolbar when an action is only performed once 2014-01-17 12:16:43 +01:00
Karl Denninghoff
1be27e3c81 Fixes but 960409 and adresses review comments including removal of do-while construct 2014-01-16 13:58:29 -08:00
Brendan Dahl
ff66c23e6e Merge pull request #4089 from yurydelendik/issue3725
Takes ascent/descent in account in the text layer
2014-01-16 13:12:04 -08:00
Brendan Dahl
3b829f4a45 Merge pull request #4103 from yurydelendik/issue3977
Introduces disableObjectCreateURL
2014-01-16 10:51:22 -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
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
Brendan Dahl
a340336269 Merge pull request #4081 from yurydelendik/doubledraw
Avoiding double draw() calls
2014-01-14 14:33:16 -08:00
Tim van der Meij
3e8795f8b8 Prevent the open file button from appearing in the B2G viewer/preview 2014-01-14 00:09:54 +01:00
Tim van der Meij
e05bda4045 De-inline CSS for the 'open file' button 2014-01-13 22:04:36 +01:00
Tim van der Meij
08e1ef356a Make presentation mode use a black background 2014-01-13 21:30:47 +01:00
Tim van der Meij
ee48522a86 Merge pull request #4109 from Snuffleupagus/css-zoom-annotations
Update the annotationLayer when using CSS only zoom
2014-01-13 12:14:12 -08:00
Jonas Jenwald
3c637b7ca9 Update the annotationLayer when using CSS only zoom 2014-01-12 23:07:56 +01:00
Jonas Jenwald
05c331c295 Maintain the current position in the document when zooming 2014-01-11 13:01:25 +01:00
Yury Delendik
a8c11ad1e5 Introduces disableObjectCreateURL 2014-01-10 16:30:41 -06:00
Yury Delendik
2f4246abe4 Fixes FitV scrolling 2014-01-10 12:15:09 -06:00
Tim van der Meij
ae117c296a Merge pull request #4088 from Rob--W/handtool-button-is-null
Allow hand tool toggle button to be optional
2014-01-08 14:41:20 -08:00
Yury Delendik
0131101275 Takes ascent/descent in account in the text layer 2014-01-08 13:50:52 -06:00
Brendan Dahl
ebdd710da3 Merge pull request #4034 from Snuffleupagus/setScale-regression
Fix setScale regression that affects exiting Presentation Mode on narrow window widths
2014-01-08 10:04:35 -08:00
Rob Wu
838802c2d3 Explain meaning of elements in secondary_toolbar 2014-01-08 11:59:30 +01:00
Brendan Dahl
5d080a03bb Show a different warning for PDF’s with forms. 2014-01-07 16:03:45 -08:00
Rob Wu
f2d13a2e2c Test if toggleHandTool is null before using it
Do not break the viewer if the buttons are not
available for some reason.
2014-01-07 22:55:38 +01:00
Yury Delendik
378c49c2d8 Avoiding double draw() calls 2014-01-07 10:59:54 -06:00
Yury Delendik
5bf3e44e30 Introduces LegacyPromise; polyfills DOM Promise 2014-01-03 18:17:05 -06:00
Yury Delendik
122cd150d4 Merge pull request #4048 from brendandahl/unsupported-features
Only trigger warning bar on certain unsupported features.
2014-01-03 16:01:20 -08:00
Tim van der Meij
149057cf8f Merge pull request #4067 from fkaelberer/PNGs_recompressed
Recompressed PNG assets
2014-01-03 11:58:12 -08:00
Brendan Dahl
2228343f77 Only trigger warning bar on certain unsupported features. 2014-01-03 09:34:13 -08:00
Yury Delendik
c389451a5b Merge pull request #4045 from brendandahl/verbosity
Add verbosity as an api setting.
2014-01-02 12:25:00 -08:00
fkaelberer
1b35bf6c5e Recompressed PNG assets 2014-01-02 21:11:01 +01:00
Brendan Dahl
d005353115 Merge pull request #4055 from Snuffleupagus/fix-thumbnail-rotation-regression
Fix thumbnail rotation regression
2014-01-02 10:39:13 -08:00
Jonas Jenwald
3d523000b9 Fix thumbnail rotation regression 2013-12-25 23:10:17 +01:00
Jonas Jenwald
4bd9767112 Rename 'Settings' to 'ViewHistory' 2013-12-22 00:07:42 +01:00
Jonas Jenwald
31ec36d64f Fix typo in 'isViewFinished' function name 2013-12-20 15:32:16 +01:00
Brendan Dahl
53549411b4 Add verbosity as an api setting. 2013-12-18 13:39:03 -08:00
Jonas Jenwald
e4f799a09c Small cleanup in 'set page' 2013-12-18 03:08:50 +01:00
Brendan Dahl
58407cfa94 Merge pull request #4006 from Rob--W/crx-url-in-pageaction
[CRX] Add a pageAction to omnibox showing PDF URL
2013-12-17 11:33:29 -08:00
Brendan Dahl
738ae57960 Merge pull request #3967 from Snuffleupagus/scrollIntoView-horizontal
Add support for horizontal scrolling in 'scrollIntoView' in ui_utils.js
2013-12-17 11:30:22 -08:00
Jonas Jenwald
356ebf25cc Merge pull request #4038 from Rob--W/css-unprefixed-cursor-grab
Add unprefixed "grab" / "grabbing" values for cursor
2013-12-16 10:42:51 -08:00
Rob Wu
364676823b Add unprefixed grab/grabbing cursor
Unprefixed "grab" / "grabbing" values of cursor will land in Firefox 27
 (https://bugzilla.mozilla.org/show_bug.cgi?id=880672)
 (https://github.com/Rob--W/grab-to-pan.js/commit/fda961a3)
2013-12-16 19:01:59 +01:00
Rob Wu
8526d3c600 [CRX] Add a pageAction to omnibox showing PDF URL
In Chromium extensions, the viewer's URL looks like this:
chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/http://example.com/file.pdf

Furthermore, the PDF Viewer itself can also add something to the reference fragment:
chrome-extension://oemmndcbldboiebfnladdacbdfmadadm/http://example.com/file.pdf#page=2

Consequently, it is difficult to copy a clean URL (e.g. for sharing over mail)
without having to tidy-up the URL manually.

This commit solves this issue by adding a button to the omnibox,
which shows the clean PDF URL on click.
2013-12-16 19:00:32 +01:00
Jonas Jenwald
694b3d55b1 Fix setScale regression that affects exiting Presentation Mode on narrow window widths 2013-12-14 23:09:36 +01:00
Tim van der Meij
b1e5c7e068 Fix typo in viewer.css 2013-12-14 23:01:49 +01:00
Jonathan Watt
3eaa421c74 Prevent the page number field from having a spinner (spin buttons) in mozilla now that it supports <input type=number> 2013-12-10 15:15:22 +00:00
Brendan Dahl
1b54530b81 Merge pull request #3684 from Rob--W/hand-tool
Implement hand tool
2013-12-06 18:20:40 -08:00
Jonas Jenwald
736c570231 Add support for horizontal scrolling in 'scrollIntoView' in ui_utils.js 2013-12-03 19:55:35 +01:00
Yury Delendik
1d276b0396 Merge pull request #3941 from Snuffleupagus/search-from-current-page
Begin searching from current page
2013-12-03 08:53:16 -08:00
Rob Wu
3914768085 Implement hand tool
The logic for the hand tool is implemented in a separate project,
maintained at https://github.com/Rob--W/grab-to-pan.js

Integration notes
- Added toggle as an entry under the Secondary toolbar
- Added shortcut "h" to toggle hand tool (to-do: document this in wiki
  after merge). This shortcut is also used in Adobe's Acrobat Reader.

To-do: localizations for:
hand_tool_enable.title=
hand_tool_enable_label=
hand_tool_disable.title=
hand_tool_disable_label=

To-do (wish): persistence of hand tool preference, preferably a global setting.

secondaryToolbarButton-handTool.png created by Stephen Horlander <shorlander@mozilla.com>
2013-12-03 15:51:41 +01:00
Yury Delendik
f0c830dba2 Merge pull request #3978 from brendandahl/wait-for-render
Wait for one page to render before fetching all pages.
2013-12-03 06:48:17 -08:00
Jonas Jenwald
6dda3ce0cf Remove </input> tag 2013-11-27 22:14:26 +01:00
Brendan Dahl
d0312aa6ba Wait for one page to render before fetching all pages. 2013-11-26 13:55:50 -08:00
Yury Delendik
585a3d0f10 Merge pull request #3972 from brendandahl/print-reg
Fix printing regression from #3848.
2013-11-26 11:13:51 -08:00
Brendan Dahl
9ac950f9a8 Append entire DOM fragment at once. 2013-11-26 11:01:28 -08:00
Brendan Dahl
c9f2390567 Fix printing regression from #3848. 2013-11-25 16:13:40 -08:00
Brendan Dahl
1bbf0e55b0 Fix rotation regression from #3970. 2013-11-25 14:08:28 -08:00
Brendan Dahl
c20476bfca Fix page rotation for unloaded pages. 2013-11-25 10:05:23 -08:00
Yury Delendik
fdd5d414ed Fixes find position in HiDPI displays 2013-11-25 09:07:10 -06:00
Jonas Jenwald
7542d50167 Fix issues with /FitR destinations 2013-11-23 18:27:03 +01:00
Jonas Jenwald
44725d4657 [PDFHistory] Fix "Warning: Unhandled rejection: [Exception... "The operation is insecure."" in Firefox 25 2013-11-23 12:15:39 +01:00
Brendan Dahl
dca5edea21 Add BOM to viewer. 2013-11-22 11:10:43 -08:00
Yury Delendik
78b61fedfc Merge branch 'maxsong1002/shortcutkeytonavigate' 2013-11-22 08:22:12 -06:00
maxsong1002
807e4fef34 Add shortcut for goto page 2013-11-22 08:20:05 -06:00
Jonas Jenwald
ca8e3ea06f [PDFHistory] Fix "Warning: Unhandled rejection: [Exception... "The operation is insecure."" when opening local file 2013-11-22 11:49:16 +01:00
Yury Delendik
124eb30e8d Merge pull request #3936 from brendandahl/initial-data
Leave initial request open until the viewer is ready to switch to range requests.
2013-11-21 06:22:24 -08:00
Yury Delendik
bd7985a83b Fixes cleaning up of the rendered pages 2013-11-19 17:08:36 -06:00
Jonas Jenwald
982a286f7b Begin searching from current page 2013-11-19 12:24:42 +01:00
Jonas Jenwald
60610cd625 Implement default preferences 2013-11-18 23:51:06 +01:00
Brendan Dahl
3132c9e7e9 Merge pull request #3911 from yurydelendik/mem-redux2
Cleaning up fonts when viewer is idle for some time
2013-11-18 13:01:23 -08:00
Brendan Dahl
0385131a9a Leave initial request open until the viewer is ready to switch to range requests. 2013-11-18 11:17:26 -08:00
Yury Delendik
e712c4136a Cleaning up fonts when viewer is idle for some time 2013-11-18 13:01:54 -06:00
Rob Wu
f013d44999 Ctrl + F opens find bar instead of toggling it 2013-11-14 23:56:11 +01:00
Brendan Dahl
a64cd42de9 Use page promise for text extraction. 2013-11-14 10:26:27 -08:00
Brendan Dahl
c2d65fc4ab Don't traverse all pages to get a single page. 2013-11-13 15:27:46 -08:00
Brendan Dahl
f4942b11f8 Reduce the memory usage of the operator list. 2013-11-13 11:43:38 -08:00
Yury Delendik
a6e7f2226a Merge pull request #3864 from Snuffleupagus/independent-zoom-parameter
Make 'zoom' independent from 'page' in the hash parameters
2013-11-12 11:07:15 -08:00
Yury Delendik
d4cdf5ce41 Increase default auto scale to 125% 2013-11-11 16:51:50 -06:00
Lu Wang
6553bd6c0c add 'contains' for the classList implementation 2013-11-06 14:52:04 +08:00
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