Commit Graph

1412 Commits

Author SHA1 Message Date
Yury Delendik
666cf02f91 Merge pull request #5137 from CodingFabian/optimize-textbuilder-renderLayer
Optimize TextLayerBuilder_renderLayer() for text heavy documents.
2014-08-06 09:09:32 -05:00
Yury Delendik
df8d2573dd Merge pull request #5007 from timvandermeij/pdfview-tlb
Converting PDFFindBar and PDFFindController to classes
2014-08-05 18:32:38 -05:00
Fabian Lange
39129fc441 Optimize TextLayerBuilder_renderLayer() for text heavy documents.
This change improves the text layer creation of "normal" text heavy documents.
It changes 2 things:
 * If the text element is not rotated, it will neither calculate nor apply a
   textTransform: rotate(0deg) to the text layer element.
 * For scaling the text layer div, the context will measure the width of the
   text in the given font. For many text documents the font changes seldom.
   If the font stays the same, the context does not need to be set to a new font
   especially avoiding the temporary creation of the same font string over and
   over again.
2014-08-06 00:40:48 +02:00
Hengjie
eaa587753b Fix issue where pdfDocument is null
Happens when no file is loaded
2014-08-04 12:27:47 +12:00
Tim van der Meij
097bf41285 Use strict equalities in web/compatibility.js 2014-08-01 19:21:33 +02:00
Tim van der Meij
ddd3c8fc2f Use strict equalities in web/debugger.js 2014-08-01 19:21:32 +02:00
Rob Wu
bd25f6be94 Load file:-URLs in the main thread.
QtWebKit does not support file:-URLs in Web Workers.
To solve this issue, I'm loading file:-URLs in the main thread
for generic builds. file:-URLs load relatively quick, so there
is no need for sophisticated load progress notifications.
2014-08-01 16:53:41 +02:00
Tim van der Meij
7ca6f0839f Use strict equalities in web/document_properties.js 2014-07-31 22:06:39 +02:00
Tim van der Meij
ea85a2f7a7 Use strict equalities in web/viewer.js 2014-07-31 22:06:38 +02:00
Tim van der Meij
24cf969422 Use strict equalities in web/ui_utils.js 2014-07-31 22:06:38 +02:00
Tim van der Meij
bf3aad8a95 Merge pull request #5082 from Rob--W/chromium-managed-preferences
Managed preferences for Chrome administrators
2014-07-30 23:58:25 +02:00
Rob Wu
00746011a3 Managed preferences for Chrome administrators
Implement support for managed preferences. This feature allows users
(administrators) to easily change the default settings of the PDF Viewer for
all Chrome or Chromium browsers within their organization.

External resources for end users (administrators)

- http://www.chromium.org/administrators/
- http://www.chromium.org/administrators/configuring-policy-for-extensions
- http://www.chromium.org/administrators/windows-quick-start
- http://www.chromium.org/administrators/mac-quick-start
- http://www.chromium.org/administrators/linux-quick-start
- http://www.chromium.org/administrators/policy-templates

Administrators can read one of the previous links to learn more about creating
policies. We want to auto-generate these templates, but there are no public
tools for doing that. It will be added in the future, see:
https://code.google.com/p/chromium/issues/detail?id=389061

Resources for PDF.js/extension developers

- http://cs.chromium.org/file:policy_templates.json
- https://developer.chrome.com/extensions/manifest/storage
2014-07-30 22:51:56 +02:00
Yury Delendik
7026543663 Merge pull request #5059 from timvandermeij/unused-code
Removing unused code and enforcing additional JSHint options
2014-07-29 15:04:43 -05:00
Tim van der Meij
dbe22475e1 Converting PDFFindBar and PDFFindController to classes 2014-07-29 21:59:01 +02:00
Rob Wu
bb13fb939e Initialize PDFView.url = ''
The absence of this property caused the following error in PDFView.download:

   Cannot read property 'split' of undefined

This property was unset when the PDF was loaded through a typed array instead
of a URL. With the fix, the file name will default to "document.pdf", as
defined by getPDFFileNameFromURL in web/ui_utils.js
2014-07-24 23:37:31 +02:00
Lu Wang
91b7030bf4 fix typo 2014-07-23 23:59:27 -07:00
Yury Delendik
561fc8f98b Adds ImageData set support for legacy safari 2014-07-22 11:40:32 -05:00
Jonas Jenwald
28e194f670 Adjust the tabindices in the viewer
The current way that the tabindices are defined, has the unfortunate consequence that adding a single button to the UI might mean having to change almost all tabindices. (This was the case in e.g. PR 4329.)

This patch attempts to avoid that situation happening again, by re-defining the tabindices slightly.
2014-07-19 12:31:11 +02:00
Tim van der Meij
34728ee49b Removing unused code 2014-07-18 22:34:50 +02:00
Tim van der Meij
0ac83802ba Merge pull request #5004 from CodingFabian/issue-5002
Improving CanvasPixelArray polyfill for Android
2014-06-30 22:16:03 +02:00
Fabian Lange
54fb1f7226 Improving CanvasPixelArray polyfill for Android 2014-06-25 18:44:49 +02:00
Fabian Lange
6447397c04 Do not run cleanup while printing is ongoing. 2014-06-25 12:53:58 +02:00
Fabian Lange
9fd6cc7f1e Fixes CanvasPixelArray set polyfill for chrome < 21 (#4974) 2014-06-24 19:36:02 +02:00
Yury Delendik
6d86c92514 Merge pull request #4991 from timvandermeij/text-layer-builder-refactoring
Refactoring text layer builder and converting text layer builder to a class
2014-06-23 16:00:57 -05:00
Tim van der Meij
fa33b9c643 Refactoring PDFFindController in the text layer builder 2014-06-23 22:19:18 +02:00
Tim van der Meij
a968da8887 Convert the text layer builder to a class 2014-06-23 22:07:21 +02:00
Tim van der Meij
2a052c4aad Refactoring text layer builder 2014-06-23 21:40:37 +02:00
Tim van der Meij
fbfb9458d6 Implement text normalization for page content and queries 2014-06-20 23:32:44 +02:00
Tim van der Meij
ec1b58a30a Fix code style issues in pdf_find_controller.js and build strings more efficiently 2014-06-20 21:14:29 +02:00
Yury Delendik
c1c950ce74 Fixes AnnotationUtils in the extension build 2014-06-18 16:42:08 -05:00
Jonas Jenwald
2282c98500 Merge pull request #4965 from yurydelendik/annotations
Splits shared/annotation.js into core/ and display/
2014-06-18 17:01:38 +02:00
Yury Delendik
bdeca30fbf Splits shared/annotation.js into core/ and display/ 2014-06-17 17:43:33 -05:00
Jonas Jenwald
bab40caf7b Merge pull request #4961 from yurydelendik/raf-ios
Disables broken rAF on iOS
2014-06-17 21:13:38 +02:00
Yury Delendik
df87df59b6 Increases page cache size when needed 2014-06-17 13:41:40 -05:00
Yury Delendik
dccc709b50 Disables broken rAF on iOS 2014-06-17 12:44:52 -05:00
Yury Delendik
6f79aef03a Uplift for B2G bug 1009780 - Improve open mechanism for downloads. 2014-06-16 19:06:36 -05:00
Jonas Jenwald
22cfcbcf8a Merge pull request #4952 from yurydelendik/telemetry
Collect More Telemetry Data
2014-06-17 00:36:58 +02:00
Jonas Jenwald
3ead6e6a94 Disable the developer hash parameters by default in PRODUCTION builds of PDF.js 2014-06-17 00:32:57 +02:00
Yury Delendik
0cd28ebfa3 Telemetry for used stream and font types 2014-06-16 16:41:04 -05:00
Jonas Jenwald
1ba31a6cb7 Add pdfBugEnabled to the default preferences 2014-06-16 21:46:39 +02:00
Yury Delendik
7ac1c6b034 Reporting print usage 2014-06-14 15:55:21 -05:00
Yury Delendik
13efe84d37 Merge pull request #4941 from Snuffleupagus/avoid-rendering-pages-when-home/end-keys
Prevent rendering unnecessary pages when the HOME/END keys are pressed
2014-06-14 11:37:07 -05:00
Jonas Jenwald
c145f0e063 Add larger zoom values to zoom dropdown box 2014-06-14 15:51:55 +02:00
Jonas Jenwald
5ac4dd9593 Prevent rendering unnecessary pages when the HOME/END keys are pressed
Currently (at least in Firefox) when the HOME/END keys are pressed, this will trigger unnecessary rendering of pages that lay between the current page and the first/last page. Avoid this by going straight to the first/last page instead.
2014-06-14 14:11:42 +02:00
Yury Delendik
69d722792d Merge pull request #4936 from nnethercote/fix-cache-splice
Fix PageView cache re-insertions.
2014-06-13 10:19:55 -05:00
Nicholas Nethercote
5b7df1830d Fix PageView cache re-insertions. 2014-06-13 07:57:58 -07:00
Nicholas Nethercote
f852cefdd8 Halve the size of the PageView cache. 2014-06-13 07:53:36 -07:00
Yury Delendik
2efbdfe8d4 Merge pull request #4834 from dferer/canvas-max-size
Limit the size of canvases to 5MP (iOS restriction)
2014-06-13 09:37:42 -05:00
Yury Delendik
cab043028b Merge pull request #4924 from yurydelendik/fixthumb
Fixes drawImage for thumbs
2014-06-13 09:07:41 -05:00
Nicholas Nethercote
29d3db4422 Cache pages at the start of drawing, not the end. 2014-06-12 22:54:37 -07:00
Samuel Chantaraud
952545e20f Limit the size of canvases to 5MP (iOS restriction) 2014-06-12 17:58:58 -04:00
Yury Delendik
d57f83e087 Reverting back disableWebGL preferences check 2014-06-12 14:47:46 -05:00
Yury Delendik
3b405cf611 Protects PDFJS.disableXXX == true from change 2014-06-12 12:40:59 -05:00
Yury Delendik
a338a7966d Fixes drawImage for thumbs 2014-06-12 10:28:42 -05:00
Nicholas Nethercote
97cc06a7f9 Zero the height and width of the PageView canvas before deleting. 2014-06-12 16:33:30 +10:00
deathy
7d975dfe22 Fix destination name for 'Fit' zoom levels in hash params 2014-06-11 21:11:56 +03:00
Samuel Chantaraud
221d00a11f Removed non-base64 bytes before the last 3 characters 2014-06-11 09:12:26 -04:00
Mohammed Abu-alsaad
2b595e6d32 Fixed IE links bug by adding a base64 transparent gif for anchor tags for
IE only.
2014-06-03 11:06:43 +12:00
Yury Delendik
5ded0ea163 Merge pull request #4866 from yurydelendik/issue4673
Removes mozResponseArrayBuffer
2014-06-02 12:51:29 -05:00
Yury Delendik
f9befa189b Disables worker if XHR does not support arraybuffer 2014-05-29 20:38:50 -05:00
Yury Delendik
9c87fa24f7 Removes mozResponseArrayBuffer 2014-05-29 20:38:50 -05:00
Mohammed Abu-alsaad
e6546642db Added more preference variables from the available hash parameters 2014-05-30 10:44:41 +12:00
Yury Delendik
34089212e0 Reverts mozRequestAnimationFrame to compatibility.js 2014-05-29 16:23:13 -05:00
Jonas Jenwald
ff0672e0fa Merge pull request #4865 from yurydelendik/issue4854
Adds compatibility.js to the Firefox extension
2014-05-29 23:06:24 +02:00
Yury Delendik
825762f22a Merge pull request #4803 from mzgol/compatibility
[WIP] Update web/compatibility.js
2014-05-29 11:57:34 -05:00
Yury Delendik
d95f78610e Adds compatibility.js to the Firefox extension 2014-05-29 11:50:16 -05:00
Jonas Jenwald
7e6cdc74af Merge pull request #4832 from yurydelendik/showtext
Refactors showText: split type3, remove showSpacedText
2014-05-29 12:58:09 +02:00
Tim van der Meij
5b16323916 Merge pull request #4856 from Snuffleupagus/overlay-manager-keydown-preventDefault
[OverlayManager] Add preventDefault to the keydown event handler
2014-05-28 19:16:49 +02:00
Yury Delendik
68b037ffb0 Add preprocessor directives for the extension; and refactor FirefoxCom callback 2014-05-28 10:24:06 -05:00
Michał Gołębiowski
85291dd8da Update web/compatibility.js
1) Remove obsolete workarounds
2) Add support comments
2014-05-28 09:57:25 +02:00
Jonas Jenwald
164535fa93 [OverlayManager] Add preventDefault to the keydown event handler 2014-05-27 23:48:02 +02:00
Tim van der Meij
1f1de20d11 Small comment fix 2014-05-27 22:13:00 +02:00
Jonas Jenwald
5cd6dddeee Convert the existing overlays to use the OverlayManager 2014-05-25 21:33:15 +02:00
Jonas Jenwald
6dc7a52e35 Simplify the interaction with overlays by adding an OverlayManager 2014-05-25 21:33:14 +02:00
Jonas Jenwald
002607502c Merge pull request #4824 from yurydelendik/movecs
Moves colorspace.js and function.js into core/
2014-05-23 21:14:58 +02:00
Yury Delendik
fcc4dfd9b5 Moves shared/function.js to core/ 2014-05-23 14:11:47 -05:00
Yury Delendik
7a19085159 Moves shared/colorspace.js into core/ 2014-05-23 14:11:47 -05:00
Yury Delendik
d53dc2e7d6 Refactors showText: split type3, remove showSpacedText 2014-05-23 13:36:54 -05:00
Samuel Chantaraud
37c3641fad Added Promise.catch
Fixed Promise so it rejects on uncaught exception
Catch possible rejection on ViewHistory.setMultiple
2014-05-22 13:53:19 -04:00
Yury Delendik
09b24d5231 Merge pull request #4808 from fkaelberer/fixAndroidButtons
Fix strange looking buttons in mobile Firefox
2014-05-19 11:56:57 -05:00
fkaelberer
2d4c35cda7 fix buttons under android 2014-05-18 17:32:26 +02:00
Yury Delendik
97782cafa4 Update text layer correctly when zooming with USE_ONLY_CSS_ZOOM 2014-05-14 09:47:58 -05:00
Jonas Jenwald
73a9d50fd1 Refactor the CSS rules for the overlayContainer 2014-05-13 10:43:38 +02:00
Michał Gołębiowski
e625af3fef Remove type="text/javascript" from script tags.
"text/javascript" is not a correct MIME type (the correct one is
"application/javascript") but it's not even needed; all browsers default
to the correct type and treat it as executable JS when type is ommited.
Since not all browsers recognize the "application/javascript" MIME type
the only way to both stay compliant and to support all popular browsers
is to omit the type. It's also shorter this way.
2014-05-13 02:41:01 +02:00
Jonas Jenwald
b88c5330a9 Reduce the number of calls to PDFView.getVisiblePages from updateViewarea 2014-05-10 16:43:22 +02:00
Tim van der Meij
53f3b1326a Removes unused code from web/compatibility.js 2014-05-09 21:26:07 +02:00
Yury Delendik
c5eb058b09 Uses rAF to interrupt the operator list execution 2014-05-09 07:00:47 -05:00
Jonas Jenwald
ec50aa4e8c Refactor how the database is read in ViewHistory 2014-04-29 15:59:51 +02:00
Jonas Jenwald
8bb19fac2d Catch error when the creation of localStorage polyfill fails in the generic viewer 2014-04-29 15:50:48 +02:00
Yury Delendik
6c5a308dcc Merge pull request #4689 from timvandermeij/ie-attachments
Fixes DownloadManager for IE10 and above
2014-04-28 16:31:57 -05:00
Tim van der Meij
19586721fb Fixes DownloadManager for IE10 and above 2014-04-28 22:43:05 +02:00
Jonas Jenwald
c53bcb2992 Add a preference to set the sidebarView on load 2014-04-28 20:32:41 +02:00
Jonas Jenwald
159e86f7ab Ensure that the viewer loads even if there are errors when the preferences are read 2014-04-28 11:01:58 +02:00
Yury Delendik
42ed9025ef Merge pull request #4692 from Snuffleupagus/viewHistory-setMultiple
Add support for setting multiple values at once in ViewHistory
2014-04-27 23:26:38 -05:00
Jonas Jenwald
51d6ad7176 Fix the display of the indeterminate progress bar when the loaded percentage is NaN (issue 4696) 2014-04-27 22:11:25 +02:00
Tim van der Meij
9d6ffbb3bf Converts attachment items to buttons instead of links 2014-04-25 23:15:25 +02:00
Jonas Jenwald
69eafaa58f Add support for setting multiple values at once in ViewHistory 2014-04-25 22:57:01 +02:00
Jonas Jenwald
48399a3ec7 Add writeToStorage method to ViewHistory 2014-04-25 20:13:17 +02:00
Jonas Jenwald
447d115ec1 [Firefox] Workaround for sessionStorage error when the preference network.cookie.lifetimePolicy is set to 1 (bug 1000777) 2014-04-25 18:12:25 +02:00
Tim van der Meij
107cd8007f Move DocumentAttachmentsView to its own file 2014-04-24 22:58:21 +02:00
Tim van der Meij
1e119e093b Move DocumentOutlineView to its own file 2014-04-24 22:58:13 +02:00
Yury Delendik
b088690f1a Merge pull request #4645 from Snuffleupagus/issue-4642
Only handle scroll events when PDFView.pdfDocument is defined (issue 4642)
2014-04-23 20:23:41 -05:00
Jonas Jenwald
8edb5cc804 Fix regression preventing the setting of breakpoints in the Stepper (PDFBug) 2014-04-20 01:05:38 +02:00
Jonas Jenwald
4e1362642a Only handle scroll events when PDFView.pdfDocument is defined (issue 4642) 2014-04-19 01:55:10 +02:00
Samuel Chantaraud
25ee0e8572 Preliminary attachments support
Added a partial Filespec support
Added getAttachments in API
Added a new attachments view in UI (with a new icon by @shorlander)
2014-04-18 12:11:00 -04:00
Samuel Chantaraud
7a4543e348 Prevent the annotationLayer to be recreated when the page is redrawn
This allows interactive annotations to keep their states after a resize
2014-04-16 08:13:54 -04:00
Rob Wu
d7dfa447cd Remove unused (local) variables in web/ 2014-04-15 17:10:23 +02:00
Yury Delendik
b4a81cb472 Merge pull request #4628 from Snuffleupagus/issue-4625
Ensure that the errorWrapper is closed when a new document is opened (issue 4625)
2014-04-15 08:38:00 -05:00
Yury Delendik
689927282e Removes reference to the Makefile 2014-04-15 08:27:35 -05:00
Jonas Jenwald
12f3d58506 Ensure that the errorWrapper is closed when a new document is opened (issue 4625) 2014-04-15 13:51:40 +02:00
Tim van der Meij
d05768078b Setting empty tooltips for zoom select box items 2014-04-14 23:35:29 +02:00
Manuel Braun
e7da8edb91 Refactoring - remove duplicated code in TextLayerBuilder 2014-04-14 19:05:21 +02:00
Yury Delendik
1fd43a87db Changes 'documentload' event behavior. 2014-04-13 21:07:36 -05:00
Yury Delendik
f6c631bc31 Reverts #4556 due to flicker on Chome 2014-04-11 14:07:36 -05:00
Yury Delendik
012a727eed Merge pull request #4598 from Rob--W/crx-filesystem-worker
Work-around for filesystem:-URL bug
2014-04-11 13:50:41 -05:00
Yury Delendik
c88696cf5f Merge pull request #4595 from brendandahl/search-regression
Append whitespace divs so matches still line up.
2014-04-11 11:48:57 -05:00
Rob Wu
bfcc8af6ed Move logic from viewer.js to chromecom.js
and also default to '' instead of DEFAULT_URL to avoid trying to
load a non-existent file when no file has been specified.
2014-04-11 17:37:48 +02:00
Rob Wu
b64c06f68d Work-around for filesystem:-URL bug (#4592).
Visit https://robwu.nl/pdfjs/filesystem-worker-bug.htm and follow the
steps to verify that the extension works as intended with this patch.
2014-04-11 15:33:34 +02:00
Jonas Jenwald
965f7a7b14 Print WebGL status in the console 2014-04-11 13:37:50 +02:00
Yury Delendik
2c61f60a4e Merge pull request #4577 from timvandermeij/reporter
Removes custom test/reporter.js from the lint process
2014-04-10 19:17:48 -05:00
Tim van der Meij
b348243866 Fixes lint warning W004 in /web 2014-04-11 00:02:33 +02:00
Tim van der Meij
a71a87a821 Fixes lint warning W018: confusing use of exclamation mark 2014-04-11 00:02:31 +02:00
Yury Delendik
d61ee23afc Merge pull request #4556 from p01/OpaqueCanvas
Use Opaque Canvas
2014-04-10 16:54:26 -05:00
Brendan Dahl
5ba674c996 Append whitespace divs so matches still line up. 2014-04-10 14:01:21 -07:00
Jonas Jenwald
eb7f369c54 Remove leading and trailing spaces from info.Producer and info.Creator when printing debug info in the console (bug 872827) 2014-04-10 12:20:39 +02:00
p01
b10aa18b3e Use Opaque Canvas where possible 2014-04-10 11:50:20 +02:00
Brendan Dahl
5bd8a83c9b Build the text layer geometry on the worker. 2014-04-09 16:44:07 -07:00
Brendan Dahl
ed1f8c33bd Merge pull request #4286 from yurydelendik/webgl
WebGL and misc memory optimizations
2014-04-07 14:33:34 -07:00
Yury Delendik
b39f0c311c Refactors history and how the database is stored 2014-04-03 13:23:18 -05:00
Yury Delendik
30ab878835 Add enableWebGL to the preferences 2014-04-03 12:20:53 -05:00
Yury Delendik
9c59437ac3 Merge pull request #4455 from aib/master
Fix download button waiting if document has started but not completed downloading
2014-04-03 09:40:06 -05:00
Yury Delendik
4be65a9477 Merge pull request #4516 from dferer/ios-scrolling
Added CSS rules to improve scrolling on iOS devices
2014-04-03 09:34:20 -05:00
Yury Delendik
f57c6935d7 Implements WebGL support 2014-04-03 08:36:22 -05:00
Jonas Jenwald
42f9541081 Add preference to automatically enable the Hand Tool when the viewer loads 2014-04-03 10:17:35 +02:00
Jonas Jenwald
4c9c43f82b Modify {get, set}Preferences in PdfStreamConverter.jsm to support async 2014-04-03 10:17:35 +02:00
Jonas Jenwald
c920372ff2 Rewrite 'Preferences' to make it async 2014-04-03 10:08:33 +02:00
Yury Delendik
bd11111465 Merge pull request #4545 from Rob--W/crx-api-enhancements
Use new Chromium APIs for FTP and redirects
2014-04-02 09:40:13 -05:00
Yury Delendik
75d09fd820 Merge pull request #4524 from fkaelberer/fullWidthInPresentationMode
Use full screen width in presentation mode
2014-04-02 09:03:37 -05:00
Jonas Jenwald
edfc78dfe7 Only update the Document Properties if the dialog is still visible when the dataAvailablePromise is resolved 2014-04-02 11:55:35 +02:00
Jonas Jenwald
c7a0b68d9a Remove superfluous 'self' variable from web/document_properties.js 2014-03-31 23:16:44 +02:00
Jonas Jenwald
025f340228 Prevent the Document Properties from being empty when the dialog is opened before the file has started loading 2014-03-31 23:12:48 +02:00
Samuel Chantaraud
50aa49bb06 Added CSS rules to allow smooth (momentum) scrolling on iOS devices 2014-03-31 11:09:18 -04:00
Rob Wu
d04f81b964 Improved FTP support for Chromium extension 2014-03-30 00:08:02 +01:00
fkaelberer
db84851e27 Use full screen width in presentation mode 2014-03-28 08:58:18 +01:00
Jonas Jenwald
7989c125ba Merge pull request #4529 from stratosv/patch-1
Fix error message typo
2014-03-27 23:54:33 +01:00
Brendan Dahl
a06fca142e Merge pull request #4519 from yurydelendik/pdfbugclean
Cleaning up the viewer and pdfbug; fixes bugs in Stepper
2014-03-27 13:27:15 -07:00
Stratos Voukelatos
6a8c998ebd Fix error message typo
It should read 'PDFFindController cannot be initialized without a PDFFindBar instance'.
2014-03-27 21:43:58 +02:00
Yury Delendik
17eded9065 Partially reverts #3641 2014-03-27 10:50:42 -05:00
Yury Delendik
ed8ecfd00a Cleaning up the viewer and pdfbug; fixes repeats in Stepper 2014-03-26 15:18:53 -05: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