Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: static/js/index.js

Issue 29727563: Fixes #35 - Progressively enhance install button with appropriate links and text (Closed) Base URL: https://hg.adblockplus.org/web.adblockplus.org
Left Patch Set: Addressed comments #12 Created April 9, 2018, 9:22 a.m.
Right Patch Set: Addressed comments #21 Created April 16, 2018, 4 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « static/css/index.css ('k') | static/js/vendor/bowser.js » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 "use strict"; 1 "use strict";
2 2
3 (function() 3 (function()
4 { 4 {
5 var supportedPlatforms = { 5 var supportedPlatforms = {
6 6
7 // Desktop browsers 7 // Desktop browsers
8 "chrome": "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdcc ddilifddb", 8 "chrome": "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdcc ddilifddb",
9 "opera": "https://addons.opera.com/extensions/details/opera-adblock/?display =en-US", 9 "opera": "https://addons.opera.com/extensions/details/opera-adblock/?display =en-US",
10 "yandexbrowser": "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpk daibdccddilifddb", 10 "yandexbrowser": "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpk daibdccddilifddb",
11 "msie": "https://update.adblockplus.org/latest/adblockplusie.exe", 11 "msie": "https://update.adblockplus.org/latest/adblockplusie.exe",
12 "msedge": "https://www.microsoft.com/store/p/adblock-plus/9nblggh4r9nz", 12 "msedge": "https://www.microsoft.com/store/p/adblock-plus/9nblggh4r9nz",
13 "firefox": "https://update.adblockplus.org/latest/adblockplusfirefox.xpi", 13 "firefox": "https://update.adblockplus.org/latest/adblockplusfirefox.xpi",
14 "safari": "https://update.adblockplus.org/latest/adblockplussafari.safariext z", 14 "safari": "https://update.adblockplus.org/latest/adblockplussafari.safariext z",
15 "maxthon": "", 15 "maxthon": "",
16 16
17 // Mobile platforms 17 // Mobile platforms
18 "ios": "https://eyeo.to/adblockbrowser/ios/abp-website", 18 "ios": "https://eyeo.to/adblockbrowser/ios/abp-website",
19 "android": "https://eyeo.to/adblockbrowser/android/abp-website" 19 "android": "https://eyeo.to/adblockbrowser/android/abp-website"
20 }; 20 };
21 21
22 function setupHeroDownloadButton() 22 function setupHeroDownloadButton()
23 { 23 {
24 var detectedPlatform = Object.keys(supportedPlatforms) 24 var detectedPlatform = Object.keys(supportedPlatforms)
25 .find(bowser.hasOwnProperty.bind(bowser)) 25 .find(bowser.hasOwnProperty.bind(bowser));
juliandoucette 2018/04/09 13:01:02 NIT: You removed the semicolon.
ire 2018/04/12 08:05:47 Done.
26 26
27 if (!detectedPlatform) return; 27 if (!detectedPlatform) return;
28 28
29 document.body.classList.add(detectedPlatform); 29 document.body.classList.add(detectedPlatform);
30 30
31 if (detectedPlatform == "maxthon") return; 31 if (detectedPlatform == "maxthon") return;
32 32
33 var heroDownloadButton = document.getElementById("hero-download-button"); 33 var heroDownloadButton = document.getElementById("hero-download-button");
34 heroDownloadButton.href = supportedPlatforms[detectedPlatform]; 34 heroDownloadButton.href = supportedPlatforms[detectedPlatform];
35 var translatedPlatformName = document 35 heroDownloadButton.textContent = document
36 .getElementById(detectedPlatform + "-name-translated") 36 .getElementById("download-label-" + detectedPlatform)
37 .textContent; 37 .textContent;
38 heroDownloadButton.innerHTML = document
39 .getElementById("hero-download-button-template")
40 .innerHTML
41 .replace("browser", translatedPlatformName);
42 38
43 heroDownloadButton.addEventListener("click", function(event) 39 heroDownloadButton.addEventListener("click", function(event)
44 { 40 {
45 if (typeof chrome == "undefined") return; 41 if (typeof chrome == "undefined") return;
46 event.preventDefault(); 42 event.preventDefault();
47 43
48 try 44 try
49 { 45 {
50 chrome.webstore.install(); 46 chrome.webstore.install();
51 } 47 }
52 catch(error) 48 catch(error)
53 { 49 {
54 window.location = "/" + this.hreflang + "/download"; 50 window.location = "/" + this.hreflang + "/download";
55 } 51 }
56 }); 52 });
57 } 53 }
58 54
59 if (typeof bowser != "undefined") setupHeroDownloadButton(); 55 if (typeof bowser != "undefined") setupHeroDownloadButton();
60 56
61 }()); 57 }());
LEFTRIGHT

Powered by Google App Engine
This is Rietveld