Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Evaluation of support for old Chrome versions #9397

Closed
Rob--W opened this issue Jan 23, 2018 · 5 comments
Closed

Evaluation of support for old Chrome versions #9397

Rob--W opened this issue Jan 23, 2018 · 5 comments
Assignees

Comments

@Rob--W
Copy link
Member

Rob--W commented Jan 23, 2018

The Chrome extension has been designed to support all Chrome versions since the initial release.

We need to evaluate whether there are commonly used versions that we wish to support, and maybe set a minmum_chrome_version in manifest.json to explicitly drop support for older versions.

We can make a data=driven decision since I've been collecting information about browser usage statistics via pdfjs.robwu.nl (https://github.com/Rob--W/pdfjs-telemetry).
In November 2017, I compiled a list of Chrome versions: #8768 (comment)

I looked at the data again for this month (2018, 1 jan - 22 jan):

  • There are 1.6M unique data points. There has not been a major update of Chrome this month, so the number of double-counted users across two major versions is probably low. The unique user ID is reset when the browser has a major version update, so some users may be counted more than once. The number of unique IDs in the dataset is 1.2M, so about 400k users are counted twice in the statistics below (as a result, the numbers may be slightly skewed towards recent versions, since only recent Chrome versions are automatically updated with patches while keeping the same major version).
Chrome 66 0.02%
Chrome 65 0.66%
Chrome 64 0.74% <-- Current beta, will be promoted to stable today (23 jan 2018)
Chrome 63 74.77% <-- Current stable
Chrome 62 13.81%
Chrome 61 3.57%
Chrome 60 1.40%
Chrome 59 0.73%
Chrome 58 0.33%
Chrome 57 0.28%
Chrome 56 0.25%
Chrome 55 0.59%
Chrome 54 0.10%
Chrome 53 0.16%
Chrome 52 0.31%
Chrome 51 0.35%
Chrome 50 0.07%
Chrome 49 0.78% <-- Last supported version of Windows XP
Chrome 48 0.06%
Chrome 47 0.14%
Chrome 46 0.04%
Chrome 45 0.12% <-- Mostly Ubuntu users
Chrome 44 0.02%
Chrome 43 0.12% <-- Mostly Ubuntu users
Chrome 42 0.03%
Chrome 41 0.05%
Chrome 40 0.03%
Chrome 39 0.12%
Chrome 38 0.01%
Chrome 37 0.02%
Chrome 36 0.01%
Chrome 35 0.06%
Chrome 34 0.23% <-- Ubuntu https://apps.ubuntu.com/cat/applications/chromium-browser/
Chrome 33 0.02%
Chrome 31 0.01%

Windows XP users are stuck at Chrome 49, so that is currently the lower bound of browser versions that I wish to support. There is also a number of users on Chromium 34 (Ubuntu), so if it does not take too much efforts, I'd also like to support them.

@Rob--W Rob--W self-assigned this Jan 23, 2018
@Rob--W
Copy link
Member Author

Rob--W commented Jan 23, 2018

I have just built the latest version of the PDF.js extension (2.0.288) with gulp chromium and found that it does not show files in Chrome 49, the console shows (the previous version based on PDF.js 1.8.557 works fine):

Uncaught Error: ReadableStream polyfill is not found for Chrome bundle
Uncaught ReferenceError: require is not defined

@Rob--W
Copy link
Member Author

Rob--W commented Jan 26, 2018

Chrome 31 and 32 refuses to load the extension because of manifest.json.
Chrome 33 - 48 cannot even parse PDF.js because of unsupported syntax (this could be supported by using Babel, but given the low usage numbers of these old Chrome versions, I'm going to drop support for them)..
Chrome 49 can be supported by including two polyfills.

The currently published version of PDF.js does already not support Chrome 48 because of the syntax issues, and I haven't seen any complaints. The number of users that use Chrome 48 and lower is 1.09% according to the above statistics. A part of these numbers are likely spoofed UAs or otherwise not real users.

So I will submit a patch to re-enable support for Chrome 49, and follow up with ripping out code that was added to support Chrome 48 and older.

@Rob--W
Copy link
Member Author

Rob--W commented Jan 26, 2018

#9409 fixes Chrome 49 support.

What remains is cleanup of code to drop Chrome 48- compatibility.

@Snuffleupagus
Copy link
Collaborator

Closing as fixed by PRs #9409 and #9410.

@timvandermeij
Copy link
Contributor

Nice work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants