Commit Graph

8891 Commits

Author SHA1 Message Date
Brendan Dahl
a682ccec2f Merge pull request #7285 from Snuffleupagus/split_font_unittests
Split the font_spec.js unit-tests into cff_parser_spec.js and type1_parser_spec.js
2016-05-05 13:45:27 -07:00
Jonas Jenwald
6111c17c8a Use Dict_getArray in more places in src/core/ to avoid issues when Arrays contain indirect objects
As evident from e.g. PRs 6485 and 7118, some bad PDF generators unfortunately create Arrays where *some* elements are indirect objects (i.e. `Ref`s). This seems to mostly affect Arrays that contain numbers, such as e.g. `Matrix/FontMatrix/BBox/FontBBox/Rect/Color/...`, and has manifested itself in PDF files that fail to render correctly (some elements are missing).

The problem in both the cases above, besides broken rendering, was that there were *no* errors/warnings that indicated what the problem was, making it difficult to pinpoint the issue.
Hence this patch, where I've audited all usages of `Dict_get` in `src/core/` files, and replaced it with `Dict_getArray` where appropriate to try and prevent unnecessary future bugs.
2016-05-05 19:42:57 +02:00
Yury Delendik
9f68e3f1bc Disable pagechange event if page is not changing. 2016-05-04 11:06:07 -05:00
Yury Delendik
8adddf031c Merge pull request #7242 from Snuffleupagus/bug-1194700
[Bug 1194700] Ensure that the `customScaleOption` is hidden in e10s
2016-05-03 07:06:43 -05:00
Jonas Jenwald
29c4a604af Split the font_spec.js unit-tests into cff_parser_spec.js and type1_parser_spec.js
Re: issue 7261.

Given the we have `gulp fonttest`, which tests the `fonts.js` functionality at a higher level, and that we have *a lot* of font specific reference tests, I'm not convinced that we *also* need unit-tests for it.
2016-05-03 09:37:36 +02:00
Tim van der Meij
9c95d089de Merge pull request #7281 from yurydelendik/static-warnings
Fixes some static analysis warnings and recommendations
2016-05-03 01:26:17 +02:00
Yury Delendik
32ce369d88 Fixes some static analysis warnings and recommendations
* Useless conditional
* Superfluous trailing arguments
* Useless assignment to local variable
* Misspelled identifier
* JSDoc tag for non-existent parameter
2016-05-02 17:34:58 -05:00
Tim van der Meij
d1799929c4 Merge pull request #7260 from yurydelendik/gulp-tests
Moves all testing into gulpfile.
2016-05-03 00:21:20 +02:00
Yury Delendik
7aff695969 Merge pull request #7279 from yurydelendik/cff-encodeint
Fixes unneed conversion to array in CFF encodeInteger.
2016-05-02 16:34:54 -05:00
Yury Delendik
4cde9984f9 Fixes unneed conversion to array in CFF encodeInteger. 2016-05-02 15:24:16 -05:00
Yury Delendik
fe6001363d Moves all testing into gulpfile. 2016-05-02 09:58:29 -05:00
Yury Delendik
d20002b6b1 Merge pull request #7273 from Snuffleupagus/issue-7270
Prevent "Prefixed Fullscreen API is deprecated." warnings in the MOZCENTRAL version (issue 7270)
2016-04-29 10:37:11 -05:00
Jonas Jenwald
9dd6017901 Prevent "Prefixed Fullscreen API is deprecated." warnings in the MOZCENTRAL version (issue 7270)
We're already, since quite some time, using the standard Fullscreen API provided that it's available in the browser. The warning is only caused by the code that checks if the Fullscreen API is supported.

This patch uses a simple preprocessor tag to avoid the warning, since I'm assuming that in general, we want to try and remain backwards compatible with the prefixed versions of the Fullscreen API.

Fixes 7270.
2016-04-29 17:28:24 +02:00
Yury Delendik
baa1493650 Merge pull request #7272 from yurydelendik/bug1268706
Adds post UI control change events.
2016-04-29 10:20:47 -05:00
Yury Delendik
4a2c76a34f Adds pre and post UI control change events. 2016-04-29 10:05:04 -05:00
Jonas Jenwald
4968ac7cea Merge pull request #7266 from yurydelendik/secondary
Removes circular dependency of secondary toolbar on app.js.
2016-04-29 11:18:59 +02:00
Yury Delendik
3cbaa9a499 Merge pull request #7268 from yurydelendik/components-samples
Better components examples.
2016-04-28 16:57:46 -05:00
Yury Delendik
eb3d1ca003 Removes circular dependency of secondary toolbar on app.js. 2016-04-28 15:04:09 -05:00
Yury Delendik
5f883d763f Better components examples. 2016-04-28 13:30:03 -05:00
Jonas Jenwald
61a4c740d2 Merge pull request #7254 from yurydelendik/eventbus
Introducing EventBus for the viewer UI.
2016-04-28 15:19:49 +02:00
Yury Delendik
3e6e294fd4 Refactors PDFFindBar and FirefoxCom find events. 2016-04-28 07:11:40 -05:00
Yury Delendik
7fd3db9977 Adds EventBus. 2016-04-28 06:57:24 -05:00
Yury Delendik
bd49973ee5 Merge pull request #7262 from yurydelendik/issue7231
Fixes weird loop in the bidi.js.
2016-04-27 17:18:57 -05:00
Yury Delendik
4016f9fd43 Fixes weird loop in the bidi.js.
Closes #7231.
2016-04-27 16:14:33 -05:00
Yury Delendik
4dc00b003d Merge pull request #7256 from timvandermeij/gulp-targets
Port the `publish` target to Gulp
2016-04-27 10:55:58 -05:00
Tim van der Meij
5166b46a1c Port the publish target to Gulp 2016-04-27 12:54:57 +02:00
Tim van der Meij
97b3a70df8 Merge pull request #7255 from timvandermeij/readme
Mention web application usage in README.md
2016-04-26 22:23:21 +02:00
Tim van der Meij
9c4bb83f7a Mention web application usage in README.md 2016-04-26 22:13:01 +02:00
Yury Delendik
11a2282b95 Merge pull request #7251 from yurydelendik/force-defines
Makes defines parameter non-optional in createBundle.
2016-04-26 08:04:04 -05:00
Yury Delendik
cca0e40aa2 Makes defines parameter non-optional in createBundle. 2016-04-26 07:54:07 -05:00
Tim van der Meij
f220db55be Merge pull request #7240 from yurydelendik/bundle
Moves bundle target/task to gulpfile.js
2016-04-26 01:00:00 +02:00
Yury Delendik
5568a19ee3 Moves bundle target/task to gulpfile.js 2016-04-24 08:37:39 -05:00
Yury Delendik
55581b162e Merge pull request #7202 from yurydelendik/firefox-deps
Refactors dependencies of PDFViewerApplication on external services
2016-04-24 08:32:17 -05:00
Yury Delendik
3132941948 Removes app.js dependency on mozPrintCallback_polyfill.js. 2016-04-24 08:25:55 -05:00
Yury Delendik
3b21b51716 Refactors preferences and PDF opening related chromecom code. 2016-04-24 08:25:55 -05:00
Yury Delendik
148102b626 Refactors firefoxcom dependency on app and l10n. 2016-04-24 08:25:55 -05:00
Yury Delendik
81fc46e666 Refactors FindController dependencies. 2016-04-24 08:25:55 -05:00
Rob Wu
b45e6a7cc9 Don't use shadow DOM for rendering <object>/<embed>
Multiple shadow roots are not supported any more in Chrome 51+
(https://crbug.com/603448#c6), so this patch changes the way that PDFs
are rendered in `<embed>` / `<object>` tags.

I used shadow roots because their content is not visible from the web
page, so the odds of conflicts were minimal. Now I have to render the
PDF frame directly in the page, which can be observed from the page
(unfortunately).

Now the following happens when an embedded PDF tag is detected:

- `<embed>` tags: The type and src attributes are updated.
- `<object>` tags: The type attribute is changed and the fallback
  content is set and displayed.
2016-04-23 23:52:22 +02:00
Jonas Jenwald
9d7d95ead4 [Bug 1194700] Ensure that the customScaleOption is hidden in e10s
When Firefox is run in e10s mode, which will soon be the default, the PDF.js zoom dropdown menu doesn't look right. This is apparently because the `<select>` DOM element is rendered in the parent, and that all the necessary style information isn't sent up from the child. See the discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=910022.

Besides this causing the PDF.js UI to *look* worse in e10s, notably it also means that the `customScaleOption` isn't hidden like it ought to be.
To work-around that, this patch utilizes the `hidden` attribute, since https://bugzilla.mozilla.org/show_bug.cgi?id=1242450 at least made that work in e10s.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1194700.
2016-04-23 15:57:51 +02:00
Yury Delendik
ff6669d930 Merge pull request #7241 from yurydelendik/server-importl10n-async
Makes importl10n and server async gulp functions.
2016-04-22 17:24:58 -05:00
Yury Delendik
76aa687548 Makes importl10n and server async gulp functions. 2016-04-22 17:23:25 -05:00
Yury Delendik
3d49879211 Merge pull request #7130 from nschloe/patch-1
Add element to text layer even if width === 0
2016-04-22 16:10:07 -05:00
Yury Delendik
f13119f237 Merge pull request #7237 from Snuffleupagus/issue-7232
Prevent accidentally overriding the `error` function in the `commonobj` messageHandler in api.js (issue 7232)
2016-04-22 12:49:01 -05:00
Jonas Jenwald
9ceeb21741 Prevent accidentally overriding the error function in the commonobj messageHandler in api.js (issue 7232)
This naming issue has been present since PR 3529, but at least I cannot find any issues/bugs that seem to have been caused by it, which is good.

The patch also removes an unnecessary `else` branch, since an already existing `break` means that it's redundant.

Fixes 7232.
2016-04-22 10:12:12 +02:00
Yury Delendik
ee4d8ef8f7 Merge pull request #7236 from yurydelendik/release1.5.188
Release of 1.5.188
2016-04-21 15:16:09 -05:00
Yury Delendik
e20a217177 Release of 1.5.188 2016-04-21 15:11:26 -05:00
Yury Delendik
0e2d50f8e6 Merge pull request #7235 from yurydelendik/version1.5
Version 1.5
2016-04-21 15:10:16 -05:00
Yury Delendik
c5f2cd6dd4 Version 1.5 2016-04-21 15:07:19 -05:00
Jonas Jenwald
4aac324558 Merge pull request #7209 from yurydelendik/getElementById
Moves all document.getElementById lookups into viewer.js
2016-04-21 21:55:37 +02:00
Yury Delendik
b6c74f2056 Moves all document.getElementById lookups into viewer.js 2016-04-21 11:39:11 -05:00