Commit Graph

614 Commits

Author SHA1 Message Date
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
Dave Huseby
867a5ea1b0 Make pdf.js use the correct principal origin attributes when loading subresources. 2016-04-04 14:12:51 -07:00
Yury Delendik
2b246192e1 Removes frontWindow usage from the stream converter. 2016-03-24 11:47:34 -05:00
Jonas Jenwald
41efb92d3a Merge pull request #6988 from timvandermeij/fileattachment-annotation
Implement support for FileAttachment annotations
2016-02-24 12:58:06 +01:00
Tim van der Meij
0351c7eff4 Move the getFileName helper function to the core
This is required to be able to use it in the annotation display code,
where we now apply it to sanitize the filename of the FileAttachment
annotation. The PDF file from https://bugzilla.mozilla.org/show_bug.cgi?id=1230933 has shown that some PDF generators include the path of the file rather than the filename, which causes filenames with weird initial characters. PDF viewers handle this differently (for example Foxit Reader just replaces forward slashes with spaces), but we think it's better to only show the filename as intended.

Additionally we add unit tests for the `getFilenameFromUrl` helper
function.
2016-02-23 22:49:53 +01:00
Tim van der Meij
6a33dfd13a Implement support for FileAttachment annotations 2016-02-23 22:49:53 +01:00
Jonas Jenwald
f64113c927 [Addon] Catch errors in getFindBar (in PdfStreamConverter.jsm) to fix loading of PDF files in the bookmark sidebar (bug 1248959)
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1248959.
2016-02-18 13:59:18 +01:00
Yury Delendik
2f145d8db4 Republish addon 2016-02-11 15:36:32 -06:00
Yury Delendik
2addcc7957 Republish addon 2016-02-11 15:21:15 -06:00
Rob Wu
0ec82d4a50 Allow local PDF files to be viewed in local frames
The Chrome extension enforces that local files cannot be embedded in
non-local web pages. The previous check was too strict (because the
origin of a file:-URL is "null"), and prevented local PDF from being
viewed in local files).

This patch fixes that problem, by querying the actual tab URL via the
background page.

Steps to verify:
1. Create a HTML file: `<iframe src=test.pdf width=100% height=100%>`
2. Build and load the extension.
3. Allow file access to the extension at `chrome://extensions`
4. Open the HTML file from a file:// URL.
5. VERIFY: The extension should attempt to load the PDF file.

6. Now open the following (replace ID with the extension ID, which you
   can find at `chrome://extensions`):
  `data:text/html,<iframe src="chrome-extension://ID/file:///test.pdf">`
7. VERIFY: The next error should be displayed:
   "Refused to load a local file in a non-local page for security reasons."
2016-02-10 14:52:54 +01:00
Yury Delendik
49437c879d Republish the extension. 2015-12-18 10:33:12 -06:00
Yury Delendik
479d96eb24 Testing ability to auto-upgrade the addons. 2015-12-18 10:05:20 -06:00
Yury Delendik
e7311cdc6e Fixes versions in update.rdf. 2015-12-18 09:44:18 -06:00
Yury Delendik
d98105fdbd Fixes update extension github link. 2015-12-18 09:32:46 -06:00
Yury Delendik
2fb9baf6f1 Changing Firefox Addon ID
.. to allow AMO publishing to the unlisted extensions for automatic signing.
2015-12-18 09:06:23 -06:00
Manas
a2ba1b8189 Uses editorconfig to maintain consistent coding styles
Removes the following as they unnecessary
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
2015-11-14 07:32:18 +05:30
Yury Delendik
c8c211602b Merge pull request #6073 from Snuffleupagus/bug-1170063
[Firefox] Handle the user modifying the "mousewheel.with_meta.action" and "mousewheel.with_control.action" prefs (bug 1170063)
2015-10-30 11:54:04 -05:00
Yury Delendik
59c13b32aa Adds destroy method to the document loading task.
Also renames PDFPageProxy.destroy method to cleanup.
2015-10-23 08:57:14 -05:00
Jonas Jenwald
49389c2d30 Follow-up to PR 6489 - Upstream changes from Bug 1202902
I somehow managed miss including one of the upstream changes in PR 6489; hence this patch. Sorry about the unnecessary churn in this code!
2015-10-05 12:31:53 +02:00
Yury Delendik
82f73dfed5 Merge pull request #6473 from Snuffleupagus/bug-1165272
Upstream the changes from Bug 1165272 - unify Get*CodebasePrincipal with createCodebasePrincipal in nsIScriptSecurityManager
2015-10-01 11:47:12 -05:00
Jonas Jenwald
26ec36ba4c Upstream changes from Bug 1202902 - Give loader scripts and XUL frame scripts a lexical scope that doesn't break everything?
One of the patches in https://bugzilla.mozilla.org/show_bug.cgi?id=1202902, specifically [`Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff)`](https://hg.mozilla.org/mozilla-central/rev/380817d573cd), touches PDF.js code. Unfortunately it was landed upstream without, as far as I can tell, notifying us about it.

This patch uplifts the relevant changes to avoid future merge conflicts, and for consistency also tweaks `PdfJs-stub.jsm`.
2015-10-01 10:03:10 +02:00
Jonas Jenwald
0be1f449ee Upstream the changes from Bug 1165272 - unify Get*CodebasePrincipal with createCodebasePrincipal in nsIScriptSecurityManager
One of the patches in https://bugzilla.mozilla.org/show_bug.cgi?id=1165272, specifically https://hg.mozilla.org/mozilla-central/rev/5a29e8bc51ca, touches PDF.js code. Unfortunately it was landed upstream without, as far as I can tell, notifying us about it.
This patch uplifts the relevant changes, and also adds preprocessor tags to avoid including unnecessary code in mozilla-central.
2015-09-24 18:25:27 +02:00
Jonas Jenwald
421289c7bc Merge pull request #6233 from Rob--W/crx-local-files
Improve support for viewing PDFs from file://-URLs in the Chrome extension
2015-08-15 14:15:36 +02:00
Rob Wu
32e7a8adba Don't reload after updating if a tab is in use 2015-08-14 19:00:12 +02:00
Rob Wu
4ac8863e30 Restore extension tab after reload
Work-around for https://crbug.com/511670
2015-08-14 19:00:12 +02:00
Rob Wu
775d4e69cf Teach users how to enable access to local files. 2015-08-14 18:59:30 +02:00
Yury Delendik
4f3f983a21 Removes PdfRedirector.js and PlayPreview support. 2015-08-06 10:38:45 -05:00
Tim van der Meij
91ab010829 Merge pull request #6201 from Rob--W/crx-dont-force-no-download
[CRX] Respect download requests in main frame
2015-07-18 15:05:32 +02:00
Yury Delendik
eb2ad11571 Merge pull request #5918 from Snuffleupagus/remove-fallback-cpow
[Firefox] Replace the CPOW with asynchronous messages for the Fallback bar
2015-07-06 21:31:48 -05:00
Jonas Jenwald
5aaf18db12 Merge pull request #6169 from yurydelendik/rm-playpreview
Bug 1179262 - Remove PlayPreview registration from PDF Viewer.
2015-07-06 17:32:29 +02:00
Rob Wu
ffbe669730 [CRX] Respect download requests in main frame
When the URL contains "=download", respect the Content-Disposition
header in the Chrome extension.
2015-07-06 17:13:44 +02:00
Rob Wu
4367dd5130 [CRX] Ignore PDFs from responses to POST requests
As explained in
https://github.com/mozilla/pdf.js/issues/6174#issuecomment-118502802.

To verify that this patch works:
1. Build the Chrome extension (node make chromium)
2. Load the Chrome extension (at chrome://extensions)
3. Visit https://robwu.nl/pdfjs/issue6174/.
4. Verify that PDF.js is not used to load the PDF. Either Chrome's
   default PDF Viewer is used, or the PDF is offered as a file download.
2015-07-05 01:01:03 +02:00
Yury Delendik
0b5330781c Bug 1179262 - Remove PlayPreview registration from PDF Viewer. 2015-07-02 12:59:17 -05:00
Yury Delendik
1b847df2f3 Using pdfjs-dist as a library for b2g viewer. 2015-06-30 16:53:32 -05:00
Jonas Jenwald
633d51fc22 [Firefox] Handle the user modifying the "mousewheel.with_meta.action" and "mousewheel.with_control.action" prefs (bug 1170063)
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1170063.

The bug only mentions the <kbd>Meta</kbd> key, but given that a similar situation can occur for <kbd>Ctrl</kbd>, it seemed reasonable to also handle that case in the same patch.

The only possible caveat with the patch is that because of the use of `shadow`, things won't work perfectly if either of the prefs are changed *while* the viewer is active. In this case a reload is required in order for it to work correctly, but given that the issue this patch fixes should be quite rare anyway, that seems OK.
2015-06-19 14:57:32 +02:00
Jonas Jenwald
591a3c291f Make FirefoxCom.requestSync able to return objects from PdfStreamConverter.jsm, by utilizing makeContentReadable 2015-06-19 14:39:18 +02:00
Rob Wu
adb2f8ae21 [CRX] Add Referer request header if needed
This patch adds the Referer request header to PDF requests if
the original PDF request included the Referer header.
2015-06-05 23:24:40 +02:00
Yury Delendik
c7756d5f96 Merge pull request #6051 from Snuffleupagus/esr-31-find
[Firefox] Re-add _getTabForBrowser compatibility hack for the addon
2015-05-27 08:15:25 -05:00
Jonas Jenwald
5743b4f558 [Firefox] Fix newChannel/asyncFetch fallout from bug 1167053
For some reason, https://bugzilla.mozilla.org/show_bug.cgi?id=1167053 changed methods of `NetUtil` yet *again*. This patch thus attempts to handle those changes, while keeping the addon backwards compatible.

I've tested this using all current Firefox versions (Nightly, Aurora/DevEdition, Beta, Release, ESR), and things still appears to work correctly.
2015-05-27 13:43:17 +02:00
Jonas Jenwald
c82fa16dd2 [Firefox] Re-add _getTabForBrowser compatibility hack for the addon
This should enable Find to work again in the current ESR version (31).
2015-05-26 18:12:17 +02:00
Jonas Jenwald
93a65921da [Firefox] Replace the CPOW with asynchronous messages for the Fallback bar
This patch removes the only remaining CPOW usage from the code-base, and should thus fix https://bugzilla.mozilla.org/show_bug.cgi?id=1071082.

*Note:* This will not fix the "Open With Different Viewer" button in e10s, since clicking it still fails with `frontWindow is null` in the console, but I do believe that that issue is somewhat orthogonal to the current patch.
2015-04-26 11:59:05 +02:00
Jonas Jenwald
9f63fa4b07 Address review comments from Bug 1148192 - Update pdf.js to version 1.1.24
See https://bugzilla.mozilla.org/show_bug.cgi?id=1148192#c3.
2015-04-06 16:26:23 +02:00
Jonas Jenwald
b721e902dc Remove unused |getChromeWindow| function from PdfStreamConverter.jsm 2015-03-24 18:58:20 +01:00
Jonas Jenwald
133cfc78fa Remove obsolete CPOW code from PdfjsContentUtils.jsm (PR 5749 followup)
This code is unused since PR 5749, and according to https://github.com/mozilla/pdf.js/pull/5749#discussion_r25931841 it should be removed.
2015-03-24 18:36:05 +01:00
Yury Delendik
5cbb5004a3 Merge pull request #5749 from krizsa/removeCPOWs
Bug 1072350 - Removing CPOWs used by Find events.
2015-03-24 11:59:06 -05:00
Yury Delendik
ed243cf02f Using newChannel2 instead of newChannel in the extension. 2015-03-09 19:40:19 -05:00
Gabor Krizsanits
595be5cb4f Bug 1072350 - Removing CPOWs used by Find events. 2015-03-08 17:21:06 +01:00
Collin Anderson
54e984c763 cleaned whitespace 2015-02-17 11:07:37 -05:00
Jonas Jenwald
801902c6cc Fix lint error: extensions/firefox/content/PdfStreamConverter.jsm: line 384, col 63, Expected '===' and instead saw '=='. 2015-01-22 20:58:04 +01:00
Jonas Jenwald
8389f1d792 Merge pull request #5511 from gijsk/patch-1
Bug 639134 - update check for document colors
2015-01-22 20:43:50 +01:00
Rob Wu
1b043bfd5a Chrome extension: Add options page 2015-01-14 00:01:29 +01:00
Gijs
1d674d3e8f Bug 639134 - update check for document colors
This checks for both prefs on the understanding that we need to work on older versions of Firefox. If that isn't the case, the first part of the if isn't necessary. This should only land if bug 639134 is resolved - I'd make the patch part of that bug, but AIUI pdfjs's canonical repo is on github, so...
2014-11-26 23:25:03 +00:00
Jonas Jenwald
4da57c3b85 Fix code style in extensions/firefox/content/PdfStreamConverter.jsm 2014-11-06 23:49:51 +01:00
Jonas Jenwald
8921606b68 Fix code style in extensions/firefox/content/PdfJsTelemetry-addon.jsm 2014-11-06 23:49:50 +01:00
Jonas Jenwald
80503e4197 Fix code style in extensions/firefox/content/PdfJsTelemetry.jsm 2014-11-06 23:37:34 +01:00
Jonas Jenwald
ac0f48c2fc Fix code style in extensions/firefox/content/PdfJs-stub.jsm 2014-11-06 23:37:34 +01:00
Jonas Jenwald
c4c5c2222b Fix code style in extensions/firefox/content/PdfjsContentUtils.jsm 2014-11-06 23:37:33 +01:00
Jonas Jenwald
3370b18e0b Fix code style in extensions/firefox/content/PdfjsChromeUtils.jsm 2014-11-06 23:37:33 +01:00
Jonas Jenwald
9ed3e1e545 Fix code style in extensions/firefox/content/PdfJs.jsm 2014-11-06 23:37:32 +01:00
Brendan Dahl
1480850045 Merge pull request #5428 from yurydelendik/regaddon
Bug 1076909 - change args order in registerAddonHistogram.
2014-11-06 14:34:51 -08:00
Yury Delendik
4d4ef11978 Bug 1076909 - change args order in registerAddonHistogram. 2014-11-06 15:27:28 -06:00
araghava
e2c001c19d [issue 5440] fix rtl direction bug for full language codes 2014-10-26 17:16:56 -04:00
Brendan Dahl
8445ff1e45 Merge pull request #5402 from yurydelendik/streammem
Refactors PdfDataLister buffering.
2014-10-13 14:26:50 -07:00
Yury Delendik
63444aa4b3 Refactors PdfDataLister buffering. 2014-10-13 15:27:05 -05:00
Yury Delendik
55957a7d30 Merge pull request #5395 from Snuffleupagus/getTabForBrowser
[Firefox] Use getTabForBrowser instead of _getTabForBrowser if possible
2014-10-13 09:16:36 -05:00
Jim Mathies
fc3721ce2d Bug 1071709 - 5-30% TART / Session Restore regressions on Inbound (v.35) september 22 from rev d3a7f765152f 2014-10-10 23:04:49 +02:00
Jonas Jenwald
a34e7aa8fe [Firefox] Use getTabForBrowser instead of _getTabForBrowser if possible 2014-10-10 22:26:52 +02:00
Yury Delendik
56d11fc26b Merge pull request #5364 from Rob--W/firefox-pbu_isWindowPrivate
Firefox addon: Use isContentWindowPrivate instead of isWindowPrivate if available
2014-10-01 17:05:23 -05:00
Rob Wu
4fe92f6d01 addon: isWindowPrivate -> isContentWindowPrivate
As of Firefox 35, isContentWindowPrivate should be used for DOM windows instead of isWindowPrivate.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1069059 and
http://hg.mozilla.org/mozilla-central/diff/324798b60ba3/toolkit/modules/PrivateBrowsingUtils.jsm

Without this fix, you will get the following error message when Firefox+PDF.js is started:
>
WARNING: content window passed to PrivateBrowsingUtils.isWindowPrivate. Use isContentWindowPrivate instead (but only for frame scripts).
pbu_isWindowPrivate@resource://gre/modules/PrivateBrowsingUtils.jsm:25:14
ChromeActions.prototype.isInPrivateBrowsing@resource://pdf.js/PdfStreamConverter.jsm:237:12
xhr_onreadystatechange@resource://pdf.js/PdfStreamConverter.jsm:545:30
NetworkManager_requestRange@resource://pdf.js/network.js:95:7
NetworkManager_requestRange@resource://pdf.js/network.js:81:14
RangedChromeActions_requestDataRange@resource://pdf.js/PdfStreamConverter.jsm:596:1
RequestListener.prototype.receive@resource://pdf.js/PdfStreamConverter.jsm:705:5
PdfStreamConverter.prototype.onStartRequest/proxy.onStopRequest/<@resource://pdf.js/PdfStreamConverter.jsm:909:11
FirefoxComClosure/<.request@resource://pdf.js/web/viewer.js:529:14
PdfDataRangeTransport_requestDataRange@resource://pdf.js/web/viewer.js:2977:9
transportDataRange@resource://pdf.js/build/pdf.js:2122:13
messageHandlerComObjOnMessage@resource://pdf.js/build/pdf.js:1219:9
2014-10-01 23:50:03 +02:00
Yury Delendik
c0e933682a Disables streaming in the extension when length is undefined. 2014-10-01 14:16:50 -05:00
Yury Delendik
a95123188a Disables hash options when PDFBug is disabled and fixed streaming regressions. 2014-09-26 11:49:18 -05:00
Brendan Dahl
9c56c6f9f6 Merge pull request #5263 from yurydelendik/stream
Implement streaming using moz-chunk-arraybuffer
2014-09-25 16:40:28 -07:00
Brendan Dahl
678fb0ea9f Merge pull request #5314 from yurydelendik/issue5313
Fixes names collisions in content.js
2014-09-23 14:01:53 -07:00
Tim van der Meij
6f3ae49b8c Adds pdfBugEnabled to the Chrome extension preferences 2014-09-20 10:24:04 +02:00
Yury Delendik
c3f191a27c Implement streaming using moz-chunk-arraybuffer 2014-09-19 19:05:25 -05:00
Yury Delendik
63b7fa5634 Merge branch 'issue-4954' of https://github.com/Snuffleupagus/pdf.js into hashes
Conflicts:
	web/viewer.js
2014-09-19 18:25:11 -05:00
Jim Mathies
b399f19426 Bug 1064496 review changes 2014-09-19 15:31:21 -05:00
Yury Delendik
861a7615ff Adds preprocessor directive to the X-Content-Security-Policy stuff 2014-09-19 15:18:37 -05:00
Yury Delendik
dd48d1c352 Fixes names collisions in content.js 2014-09-19 13:58:12 -05:00
Jonas Jenwald
8d27f38c64 Rename |_isPrefAllowed| to |_ensurePreferenceAllowed| in extensions/firefox/content/PdfjsChromeUtils.jsm 2014-09-18 15:06:34 +02:00
Jonas Jenwald
dbe756c406 Update the license header in extensions/firefox/content/pdfjschildbootstrap.js; see https://bugzilla.mozilla.org/show_bug.cgi?id=942707#c99 2014-09-18 12:08:48 +02:00
Jonas Jenwald
c00951e3e4 Add back pdfBugEnabled pref check in the |log| function in extensions/firefox/content/PdfStreamConverter.jsm 2014-09-18 12:08:48 +02:00
Jonas Jenwald
3ac9bd063d Fix setPreferences regression from the e10s patch (PR 5115) 2014-09-18 12:08:47 +02:00
Brendan Dahl
f6745d5b03 Merge pull request #5115 from yurydelendik/e10s
Firefox pdf viewer support for e10s (Bug 942707).
2014-09-17 14:28:41 -07:00
Yury Delendik
1cda4c7a4b Loading PDF.js extension into e10s windows 2014-09-17 16:14:04 -05:00
Yury Delendik
7ae7fd3d1a Adds DEFAULT_PREFERENCES to the PdfjsChromeUtils 2014-09-08 15:53:01 -05:00
Yury Delendik
782ed5cb67 Lint error fix for pdfjschildbootstrap.js 2014-09-08 15:44:21 -05:00
Rob Wu
7938081e81 streamsPrivate API change.
Since 25 February 2014 (crbug.com/345882)
2014-09-06 00:41:08 +02:00
Jim Mathies
f2096fe23f Firefox pdf viewer support for e10s (Bug 942707). 2014-09-05 17:33:52 -05:00
Rob Wu
1055350425 Chrome extension: Isolate pageAction logic
Remove pageAction logic from extension router, and put it in a
separate file. The pageAction URL parsing logic has been simplified,
and all pageAction-related files have been moved to a separate directory.
2014-08-22 23:00:39 +02:00
Yan Or
d8bc16362c Bug 1054590 - [pdf.js] Update to use gaia-header 2014-08-15 17:57:07 -07:00
Jonas Jenwald
86d06d650a Merge pull request #5153 from Rob--W/crx-preserve-reference-fragment
Preserve reference fragment in Chromium URL router
2014-08-09 12:38:15 +02:00
Rob Wu
4a399a0173 Disable spellcheck in Chromium's URL popup
These red waves below a URL are quite useless and only distracting.
2014-08-08 13:54:19 +02:00
Rob Wu
a1671fa512 Preserve reference fragment in Chromium URL router
Because removed reference fragments are no longer automatically copied
thanks to https://code.google.com/p/chromium/issues/detail?id=354653
2014-08-08 12:37:37 +02:00
Tim van der Meij
c29faaa22d Use strict equalities in make.js, external/* and extensions/* 2014-08-01 22:27:00 +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
Tim van der Meij
1911bb28bb Merge pull request #5104 from Rob--W/crx-contentscript-fix
Use CSS.supports instead of '..' in ....style
2014-07-30 23:43:45 +02:00
Rob Wu
8bb96db3a0 Use CSS.supports instead of '..' in ....style
document.documentElement.style is null in some XML documents.
The previous snippet caused the following error:

Uncaught TypeError: Cannot use 'in' operator to search for 'animation' in null

To fix this bug, `'animation' in document.documentElement.style` has been
replaced with `CSS.supports('animation', '9s')`. This method was introduced
in Chromium 28, but it is not necessary to detect whether this method is
supported because the required createShadowRoot method for embeds is not
available in Chromium 32 and earlier.
2014-07-30 23:11:02 +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
Rob Wu
87dacba9a6 Feature detection after downgrading the browser.
If a user downgrades from Chromium 35+ to 34, then the PDF Viewer
extension will not work any more because the extension assumes
that certain features were available based on the cached feature
detection results.

To resolve this problem, all feature detection scripts run again
if the browser was downgraded.
2014-07-25 22:44:03 +02:00
Yury Delendik
ab63f96a91 Adds telemetry to record embedding usages 2014-06-16 16:41:04 -05: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
75d9ae9cd3 PdfRedirector checks if plugin is still in PlayPreview mode 2014-06-02 09:27:28 -05:00
Yury Delendik
68b037ffb0 Add preprocessor directives for the extension; and refactor FirefoxCom callback 2014-05-28 10:24:06 -05:00
Gijs Kruitbosch
da93e65d8c Bug 1015115 - switch to cloneInto in pdf.js, r?yury 2014-05-28 10:22:49 -05:00
Jonas Jenwald
f386501937 Update overlay stubs for the B2G viewer 2014-05-25 21:33:15 +02:00
Tim van der Meij
6d330250da Merge pull request #4549 from Rob--W/crx-pdf-embed-object
<object> / <embed> support in Chrome / Opera
2014-05-14 20:55:11 +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
Tim van der Meij
dc214e1c06 Merge pull request #4738 from Rob--W/allow-unsafe-eval
Allow unsafe-eval to fix font renderer in Chromium extension
2014-05-09 23:52:30 +02:00
Rob Wu
3fdd334a73 <object> / <embed> support in Chromium extension 2014-05-09 15:46:12 +02:00
Yury Delendik
9f9454d2ae Refactors new extension find bar code to support old FF versions 2014-05-08 09:05:28 -05:00
Adam Dane [:hobophobe]
bc66c8119e Add getFindBar for Fx extension 2014-05-07 18:45:24 -05:00
Rob Wu
d126be9a61 Allow unsafe-eval to fix font renderer in crx
Fixes #4660
2014-05-05 12:11:35 +02:00
Tim van der Meij
c566feb721 Providing content type for attachment downloads 2014-04-25 23:30:51 +02:00
Samuel Chantaraud
5bb937c5d7 Added fake button and view to b2g viewer 2014-04-18 12:26:08 -04: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
Yury Delendik
b39f0c311c Refactors history and how the database is stored 2014-04-03 13:23:18 -05:00
Jonas Jenwald
4c9c43f82b Modify {get, set}Preferences in PdfStreamConverter.jsm to support async 2014-04-03 10:17:35 +02:00
Rob Wu
ae32f31eb4 Use redirectUrl at onHeadersReceived if available.
http://crbug.com/280464 has been resolved, so we can now use redirectUrl at
onHeadersReceived.
For backwards-compatibility, the code for the original method has not been
removed, and a feature detection script was added that detects whether the
desired feature is available.
2014-03-30 00:25:37 +01:00
Rob Wu
d04f81b964 Improved FTP support for Chromium extension 2014-03-30 00:08:02 +01:00
Jonas Jenwald
3fee5345b9 [Firefox] Only load 'PdfStreamConverter' and 'PdfRedirector' when PDF.js is enabled 2014-03-27 16:01:13 +01: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
Yury Delendik
dbbe702be5 Merge pull request #4501 from Snuffleupagus/firefox-lazy-load-network
[Firefox] Lazy load network.js in PdfStreamConverter.js
2014-03-25 18:11:24 -05:00
Jonas Jenwald
2b5fb59b67 Fix coding style in extensions/firefox/bootstrap.js 2014-03-22 21:48:00 +01:00
Jonas Jenwald
597d388930 Fix coding style in extensions/firefox/tools/l10n.js 2014-03-22 21:45:08 +01:00
Jonas Jenwald
2017f7925e [Firefox] Lazy load network.js in PdfStreamConverter.js 2014-03-21 17:39:55 +01:00
Tim van der Meij
3b3e96575e Merge pull request #4454 from brendandahl/gaia-css-clean
Fix gaia css lint errors.
2014-03-14 22:50:51 +01:00
Jonas Jenwald
ba8a59034c Merge pull request #4426 from timvandermeij/extensions-chromium-syntax
Making extensions/chromium/*.js adhere to the style guide
2014-03-14 12:48:31 +01:00
Brendan Dahl
df25bea817 Fix gaia css lint errors. 2014-03-13 17:16:25 -07:00
Yury Delendik
452e71b4b0 Makes firefox extension's l10n get() behavior similar to webL10n 2014-03-13 17:37:10 -05:00
Tim van der Meij
241cb7999d Making extensions/chromium/chrome.tabs.executeScriptInFrame.js adhere to the style guide 2014-03-09 23:29:34 +01:00
Tim van der Meij
8d2068dc6f Making extensions/chromium/extension-router.js adhere to the style guide 2014-03-09 23:14:01 +01:00
Tim van der Meij
c29350219e Making extensions/chromium/pdfHandler.js adhere to the style guide 2014-03-09 23:12:12 +01:00
Tim van der Meij
ce6e269d02 Making extensions/chromium/pdfHandler-v2.js adhere to the style guide and fixing a small lint issue in pdfHandler-vcros.js 2014-03-09 23:07:42 +01:00
Tim van der Meij
8ec46e6413 Making extensions/chromium/pdfHandler-vcros.js adhere to the style guide 2014-03-09 22:56:38 +01:00
Jonas Jenwald
c158894d94 Improve handling of preferences in Firefox 2014-03-05 11:58:12 +01:00
Yury Delendik
192f09cd69 Merge pull request #4343 from brendandahl/ff-cleanup
Use only one resource url for moz central build.
2014-03-04 20:29:27 -06:00
Mitar
2c82e720b8 Updated to current latest stable version of jshint. 2014-03-01 13:31:25 -08:00
Brendan Dahl
b8f7bcaf02 Use only one resource url for moz central build. 2014-02-27 14:11:39 -08:00
Brendan Dahl
0af0c6c99d Merge pull request #4229 from Rob--W/crx-stream-progress
Get progress bar for PDF streams in Chromium by passing the expected content length to the page
2014-02-26 11:12:34 -08:00
Tim van der Meij
569bb131e5 Merge pull request #4328 from Snuffleupagus/b2g-remove-pageNumber-spinner
[B2G] Remove the spinner from the pageNumber field
2014-02-24 21:52:14 +01:00
Brendan Dahl
cc46cea7cb Merge pull request #4262 from yurydelendik/issue4257
Removes -moz-box-sizing usage
2014-02-24 12:47:27 -08:00
Jonas Jenwald
78e2d7cceb [B2G] Remove the spinner from the pageNumber field 2014-02-15 16:02:53 +01:00
Gabriele Svelto
f4d54517c4 Bug 972435 - Recompress all PNG assets 2014-02-13 17:57:10 +01:00
Yury Delendik
4563f6cd58 Merge pull request #4191 from Rob--W/crx-chrome-os
Register PDF Viewer as PDF handler in Chrome OS's file browser
2014-02-11 12:51:36 -06:00
Yury Delendik
894c82cec9 Removes -moz-box-sizing usage 2014-02-10 15:06:03 -06:00
Yury Delendik
3fa15c0f46 Merge pull request #4241 from brendandahl/csp
Remove inline script warnings.
2014-02-03 14:24:27 -08:00
Brendan Dahl
e477958b74 Remove inline script warnings. 2014-02-03 14:14:54 -08:00
Rob Wu
a01556665e Firefox addon: Let XHR respect private mode 2014-01-31 22:23:45 +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
7f0fc8557e [CRX] Support <embed type="application/pdf"> 2014-01-26 00:33:06 +01:00
Rob Wu
60fb28caf0 Register as File browser handler in Chrome OS 2014-01-25 22:37:19 +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
Rob Wu
fa965269ea Remove unused file from Chromium extension
extensions/chromium/patch-worker.js was already redundant
since edd4bae903.
2014-01-23 19:26:23 +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
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
b754f9d878 Make streamsPrivate optional; remove manifest key
Use streamsPrivate API when available.
When the API is not available, the extension will still work on
on http/https/file URLs, but not for POST requests or FTP.

As of writing, the Chromium project has still not whitelisted
the PDF Viewer extension in the Chrome Web Store.
 (extension ID oemmndcbldboiebfnladdacbdfmadadm)
Request to whitelist PDF.js in Chromium:
 https://code.google.com/p/chromium/issues/detail?id=326949

Opera 19 has whitelisted the PDF Viewer extension from
 https://addons.opera.com/extensions/details/pdf-viewer/
 (extension ID encfpfilknmenlmjemepncnlbbjlabkc)
 (https://github.com/Rob--W/pdf.js/issues/1#issuecomment-32357302)

If you want to test the streamsPrivate feature in Chrome,
edit the build/extensions/manifest.json and add the "key" again
 (see this commit for the value of this "key" field).
2014-01-16 00:30:39 +01:00
Rob Wu
af31ace940 Work-around for http://crbug.com/276898
When a new incognito session is started, the onExecuteMimeTypeHandler event is
often not dispatched in time. Instead, it's triggered in the non-incognito profile.

This commit offers a work-around that allows new incognito instances to view PDF files.
2014-01-15 23:04:29 +01:00
Rob Wu
94ba01c8aa Use tab-specific stream storage
Also:
- Use webNavigation.getAllFrames to find out whether the navigation has
  already started. This is (at least) needed for top-level navigation to
  a stream. The webNavigation.onErrorOccurred event has become obsolete,
  and has been removed.
2014-01-15 23:04:29 +01:00
Rob Wu
32313b9149 Insert dummy content script at every location.
This is needed for propagating the extension's permissions
to the extension's iframe, in the rare event that the PDF is
loaded in a sub frame, and the extension does not have access to the
top frame. For instance, when a http:-PDF file is embedded in a
local file, while "Allow access to local URLs" is disabled.

Note: Propagating permissions by inserting content scripts is an
 undocumented feature (http://crbug.com/302548).

Whenever it breaks, the issue (cross-domain permissions for XHR)
can be solved by using a content script that gets the blob using
the XMLHttpRequest API, followed by `postMessage` (via transferables)
to efficiently pass the arraybuffer back to the PDF Viewer.
2014-01-15 23:04:29 +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
Rob Wu
18e4d32c11 Update chrome.tabs.executeScriptInFrame dependency
References:
- https://github.com/Rob--W/chrome-api/issues/1
- 4c5a598c0b...f211d2d679
2014-01-13 21:21:02 +01:00
Brendan Dahl
5d080a03bb Show a different warning for PDF’s with forms. 2014-01-07 16:03:45 -08:00
fkaelberer
1b35bf6c5e Recompressed PNG assets 2014-01-02 21:11:01 +01:00
Yury Delendik
02671decf2 Merge pull request #4066 from Rob--W/crx-pageaction-html-typo
Added missing <html> tag to page action
2014-01-02 10:22:56 -08:00
Yury Delendik
85281d3afc Merge pull request #4059 from glasserc/add-conkeror
add support for Conkeror
2014-01-02 09:45:26 -08:00
Rob Wu
ac8b8079a4 Added missing <html> tag to page action 2014-01-02 18:44:38 +01:00
Rob Wu
e20bc529c8 Remove superfluos <!DOCTYPE html> from page action
Fixes #4064
2014-01-02 18:04:47 +01:00
Ethan Glasser-Camp
9b887f5bf3 add support for Conkeror 2013-12-29 16:06:55 -05: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
Rob Wu
91dd664732 [CRX] Reload extension tab after session restore 2013-11-22 11:44:43 +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
Jonas Jenwald
ba67158c94 Fix error in 'PdfStreamConverter.js' that prevents the user from setting a boolean preference to false 2013-11-19 01:33:48 +01:00
Jonas Jenwald
60610cd625 Implement default preferences 2013-11-18 23:51:06 +01: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
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
Rob Wu
83b780af81 [CRX] Show nicely formatted URL in omnibox
Before commit:
chrome-extension://EXTENSIONID/content/web/viewer.html?file=http%3A%2F%2Fexample.com%2Ffile.pdf

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

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

Notes:
- This commit has been cherry-picked from crx-using-streams-api.
- Need to merge https://github.com/mozilla/pdf.js/pull/3582 to deal with
  a bug in Chrome <=30
- In Chrome, getting the contents of a FTP file is not possible, so
  there's no support for FTP files, even though the extension router
  recognizes the ftp: scheme.
2013-10-16 23:14:46 +02:00
Rob Wu
e9cb91de39 [CRX] split:incognito is used, so update file:-handler
The current stable Chromium version is 29. Since the critical
bug that prevented use of incognito:split has been fixed, and
incognito:split is actually used, it's safe to drop the code
that disables the extension in incognito mode.

( fixed bug = http:/crbug.com/224094 )
2013-10-16 23:14:43 +02:00
Rob Wu
edd4bae903 [CRX] Change Viewer insertion method
And use split incognito mode

Previous method:
- Rewrite content type to XHTML, followed by a content script
  to cancel and replace the document with the viewer.
  ( https://github.com/mozilla/pdf.js/pull/3017 )

New method:
- Cancel loading of the document, followed by a redirect to the viewer

Disadvantage of new method:
- URLs are no longer "nice". This will be addressed by cherry-picking
  a commit from the crx-using-streams-api branch.

Advantages of new method:
- Idle time is minimal. In some cases (with large documents),
  it took too much time before the content script was activated.
  During this period, the page looked blank, and the contents of
  the PDF file were still retrieved and **discarded**.
  With the new method, the idle time is minimal, because the request
  is immediately cancelled.
- No FOUXEP (Flash of unhidden XML error page), because the XHTML
  Content-Type hack is no longer used.
2013-10-16 23:14:16 +02:00
Rob Wu
820b95416b chrome.runtime -> chrome.extension when needed
Some Ubuntu users are still stuck at Chromium 25.
2013-10-14 17:52:49 +02:00
Rob Wu
6070a37788 chrome.extension -> chrome.runtime for Ubuntu
Addresses issue #3800, where a bug specific to Ubuntu builds of Chromium
break PDF.js
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1232575
2013-10-13 12:23:31 +02:00
Brendan Dahl
c79acf5861 Fix the B2G viewer and enable bot preview. 2013-10-09 15:04:58 -07: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
df249da923 Use css to initially scale on zoom. 2013-10-02 09:05:46 -07:00
Jonas Jenwald
8ae2205783 [B2G] Remove the remaining occurrences of -webkit prefixes from the CSS 2013-09-29 20:45:11 +02:00
Yury Delendik
71012c6c6c Properly resolves relative src for the embed tags 2013-09-25 15:18:38 -05: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
Andreas Bovens
f2ad0f73d7 Renaming of extensions/chrome folder to extensions/chromium, and small tweak to manifest.json description as per #3600 2013-08-21 18:11:35 +02:00
Yury Delendik
0d1c5ece40 Merge pull request #3601 from jmozmoz/unregister
Really call unregister for _pdfRedirectorFactory (fixing issue #3598)
2013-08-21 08:57:49 -07:00
jmozmoz
4cd33bf460 Really call unregister for _pdfRedirectorFactory (fixing issue #3598) 2013-08-21 17:35:50 +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
Yury Delendik
ba23a9e8f9 Adds initial telemetry probes 2013-08-16 09:53:05 -05:00
Soumya Deb
de52e711f8 Unprefixing CSS as current browsers support 2013-08-16 14:18:37 +05:30
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
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
Alive Kuo
334c7d4d8f Remove MozTT reference 2013-08-05 10:55:37 +08:00
Yury Delendik
7a43492e5f [CSP] remove HTTP CSP Headers 2013-07-30 21:00:47 -05:00
Brendan Dahl
592a498dd7 Merge pull request #3515 from Rob--W/crx-webnav-strip-hash
[CRX] Strip location fragment from URL in the UrlFilter of the webNavigation API
2013-07-29 10:07:59 -07:00
Rob Wu
4f5e15695a [CRX] Strip #... from URL in filter
Otherwise the PDF Viewer is not rendered for URLs that contain a #-character.
2013-07-27 12:05:03 +02:00
Rob Wu
f67a66c108 Disable Chrome extension for non-GET requests 2013-07-27 11:26:55 +02:00
Brendan Dahl
e015ab0d81 Lower the priority of the notification bar to INFO. 2013-07-22 11:50:03 -07:00
Yury Delendik
e6be2666de Merge pull request #3484 from Rob--W/crx-improved-navigation-detection
[Chrome extension] Improved navigation detection by using webNavigation instead of tabs API.
2013-07-18 06:32:22 -07:00
Rob Wu
ec956d97c9 [CRX] Delay render of viewer if needed...
Sometimes, the viewer did not render for PDF files in an iframe,
because document.readyState not reaching "complete".

Deferring window.stop() until the root element is placed in the
document fixes the problem (typically a few ten milliseconds).
2013-07-17 23:25:31 +02:00
Brendan Dahl
31dab67a34 Merge pull request #3479 from RudyLu/mutlires_1.5
Bug 881152 - hdpi/xhdpi resolution assets and layout for PDF Viewer app
2013-07-17 10:56:34 -07:00
Rob Wu
ec5ef58b84 [CRX] Improved navigation detection.
A user reported that the PDF Viewer is not rendered on Dropbox,
(Chrome on Mac OS X). This is apparently caused by the fact that the
PDF file is loaded in an iframe in such a way that the tabs.onUpdated
event is not triggered.

This patch switches to the webNavigation event API, which improves the
reliability of the navigation detection.

Unfortunately Opera 15 does not support the webNavigation API, so the
old (tabs.onUpdated) method is used (feature-detection is used, so
whenever Opera decides to implement this API, it will profit from it).
2013-07-17 19:04:10 +02:00
Brendan Dahl
78d3b600d4 Merge pull request #3430 from Rob--W/crx-download-pdf
Chrome extension: Do not intercept PDF downloads if it's target is a frame
2013-07-16 16:13:30 -07:00
Rudy Lu
f9706b345b Bug 881152 - hdpi/xhdpi resolution assets and layout for PDF Viewer app
1. Add 1.5x assets
 2. specify the background size of page number section
2013-07-16 20:44:06 +08: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
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
Yury Delendik
666da95b37 Merge pull request #3450 from brendandahl/fix-mimetype-check
Bug 879161 - Fix pdf.js mimetype check.
2013-07-09 10:01:18 -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
Brendan Dahl
7eae88669a Bug 879161 - Fix pdf.js mimetype check. 2013-07-08 11:09:50 -07:00
Rob Wu
be012ed1df [CRX] Don't intercept download of PDF attachment
Fixes #3426
2013-07-01 19:17:05 +02:00
Rob Wu
efcf2aed6e [Chrome extension] Added JSDocs to pdfHandler.js
And a small refactor to reduce the LOC in the onHeadersReceived
callback, to improve the readability of the code.
2013-07-01 19:16:45 +02:00
Yury Delendik
3461d02d05 Enforces trailing spaces 2013-07-01 11:25:46 -05:00
Brendan Dahl
4e831233a4 Merge pull request #3408 from brendandahl/fix-multiresolution
[B2G] UI tweak for multi-resolution devices support on B2G
2013-06-28 10:11:18 -07:00
Brendan Dahl
aafb5d44ae Make the progress bar small and on the top. 2013-06-28 09:59:47 -07:00
Vladan Djeric
0fae231526 Avoid triggering plugin list initialization on startup (Bugzilla 881575) 2013-06-14 19:09:23 -04:00
Brendan Dahl
c2bdd7b295 Simplify getting the pdf url. 2013-06-03 11:40:07 -07:00
Brendan Dahl
24204cc153 Merge pull request #2498 from ehsan/pbcleanup
Simplify ChromeActions.isInPrivateBrowsing to not rely on the global PB service
2013-05-30 13:26:11 -07:00
Rex Lee
3e480f84a6 [B2G] UI tweak for multi-resolution devices support on B2G 2013-05-17 17:52:04 +08:00
Mack Duan
f8f4b3f45d Refactor code for annotations 2013-05-07 14:22:13 -04: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
Ehsan Akhgari
926c783ee0 Simplify ChromeActions.isInPrivateBrowsing to not rely on the global PB service 2013-04-27 12:25:27 -04:00
Simon Kornblith
f524eaefe2 Remove DOM window URI check
Per discussion in #2937
2013-04-24 21:02:33 -04:00
Mack Duan
1daf9c984e Disable range request if content-length is unknown 2013-04-22 15:49:39 -07:00
Yury Delendik
8ae5d2745c Merge pull request #3131 from mduan/issue3122
Only perform range requests for identity Content-Encoding
2013-04-22 09:20:32 -07:00
Mack Duan
c5084d9e8a Update loading bar during onprogress of range requests 2013-04-22 08:46:58 -07:00
Mack Duan
e0d4b322cf Only perform range requests for identity Content-Encoding 2013-04-22 08:36:54 -07:00
Jakob Miland
d86fe6b301 Save datalistener in memory 2013-04-21 17:14:10 +02:00
Mack Duan
27fe18e8c6 Address brendan's comments 2013-04-18 00:16:53 -07:00
Mack Duan
ef423ef30c Implement progressive loading of PDFs 2013-04-12 16:13:22 -07:00
Rob Wu
57e6238a6e Enable Web Worker again in Chrome extension
Previously, Web Workers were not created because of a security
policy which does not respect relaxed privileges.
2013-04-04 13:40:35 +02:00
Rob Wu
e181a3c902 Highly improved Chrome extension
Full list feature changes in this commit:
- Support for iframes
- Switched to content-type (MIME) detection instead of hard-coding a
  case-sensitive check for the .PDF extension
- The PDF's original URL is visible in the omnibox
- Support for incognito mode

Note: PDF viewer is disabled for the file:// + incognito
combination, because it's currently impossible to get the combination
to work.

See https://github.com/mozilla/pdf.js/pull/3017#issuecomment-15693432
2013-04-04 10:04:13 +02:00
Brendan Dahl
98d5703565 Merge pull request #3036 from yurydelendik/appswitch
Fixes pdf application switching in FF22/23 (redo)
2013-04-03 13:12:53 -07:00
Jonas
ee83df1338 Detect and add fallback if document colors are disabled in Firefox - address comment 2013-04-03 18:49:03 +02:00
Yury Delendik
853e4625bf Fixes pdf application switching in FF22/23 (redo) 2013-04-03 09:23:00 -05:00
Brendan Dahl
0ac55ac879 Merge pull request #3027 from yurydelendik/download-ff17
Workaround for FF17 to be able to download the pdf file
2013-04-02 09:19:05 -07:00
Yury Delendik
c0bb71d2d2 Workaround for FF17 to be able to download the pdf file 2013-04-02 08:07:01 -05:00
Yury Delendik
6e975d431b Fixes PDF application switch in Firefox. 2013-03-29 20:08:08 -05:00
Jonas
f607e89a65 Add another preference check to detect if web fonts are disabled in Firefox 2013-03-28 11:28:00 +01:00
Brendan Dahl
aa2b1f0a24 Merge pull request #2969 from yurydelendik/notificationBox
Fixes notificationBox on Linux
2013-03-19 10:23:59 -07:00
Yury Delendik
8d0494caf3 Fixes notificationBox on Linux 2013-03-19 10:03:00 -05:00
Yury Delendik
dc12d33f4d Adding PlayPreview API support to pdf.js/mozilla-central 2013-03-18 16:12:24 -05:00
Yury Delendik
627d56485e Merge pull request #2724 from yurydelendik/embed-2
Handles embed tags via PlayPreview API
2013-03-16 09:18:10 -07:00
Yury Delendik
61a3b3d035 Handles embed tags via PlayPreview API 2013-03-12 10:16:03 -05:00
Mack Duan
65194afdd4 Fix issue with 'this' binding in PdfStreamConverter 2013-03-11 10:36:25 -07:00