Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 /** | |
| 2 * @fileoverview This code supports the popup behaviour of the extension, and | |
| 3 * demonstrates how to: | |
| 4 * | |
| 5 * 1) Set the zoom for a tab using tabs.setZoom() | |
| 6 * 2) Read the current zoom of a tab using tabs.getZoom() | |
| 7 * 3) Set the zoom mode of a tab using tabs.setZoomSettings() | |
| 8 * 4) Read the current zoom mode of a tab using | |
| 9 * tabs.getZoomSettings() | |
| 10 * | |
| 11 * It also demonstrates using a zoom change listener to update the | |
| 12 * contents of a control. | |
| 13 */ | |
| 14 | |
| 15 zoomStep = 1.1; | |
| 16 | |
| 17 function displayZoomLevel(level) { | |
| 18 var percentZoom = parseFloat(level) * 100; | |
| 19 var zoom_percent_str = percentZoom.toFixed(1) + '%'; | |
| 20 | |
| 21 document.getElementById('displayDiv').textContent = zoom_percent_str; | |
| 22 } | |
| 23 | |
| 24 document.addEventListener('DOMContentLoaded', function() { | |
| 25 chrome.tabs.getZoomSettings(function(zoomSettings) { | |
| 26 var modeRadios = document.getElementsByName('modeRadio'); | |
| 27 for (var i = 0; i < modeRadios.length; i++) { | |
| 28 if (modeRadios[i].value == zoomSettings.mode) | |
| 29 modeRadios[i].checked = true; | |
| 30 } | |
| 31 | |
| 32 var scopeRadios = document.getElementsByName('scopeRadio'); | |
| 33 for (var i = 0; i < scopeRadios.length; i++) { | |
| 34 if (scopeRadios[i].value == zoomSettings.scope) | |
| 35 scopeRadios[i].checked = true; | |
| 36 } | |
| 37 }); | |
| 38 | |
| 39 chrome.tabs.getZoom(displayZoomLevel); | |
|
raymes
2014/07/18 00:10:06
All the code in this function up to here seems ind
wjmaclean
2014/07/18 18:12:49
Done.
| |
| 40 | |
| 41 document.getElementById('increaseButton').onclick = doZoomIn; | |
| 42 document.getElementById('decreaseButton').onclick = doZoomOut; | |
| 43 document.getElementById('defaultButton').onclick = doZoomDefault; | |
| 44 document.getElementById('setModeButton').onclick = doSetMode; | |
| 45 document.getElementById('closeButton').onclick = doClose; | |
| 46 }); | |
| 47 | |
| 48 function zoomChangeListener(zoomChangeInfo) { | |
| 49 displayZoomLevel(zoomChangeInfo.newZoomFactor); | |
| 50 } | |
| 51 | |
| 52 chrome.tabs.onZoomChange.addListener(zoomChangeListener); | |
| 53 | |
| 54 function changeZoomByFactorDelta(factorDelta) { | |
| 55 chrome.tabs.getZoom(function(zoomFactor) { | |
| 56 var newZoomFactor = factorDelta * zoomFactor; | |
| 57 chrome.tabs.setZoom(newZoomFactor, function() { | |
| 58 if (chrome.runtime.lastError) | |
| 59 console.log('[ZoomDemoExtension] ' + chrome.runtime.lastError.message); | |
| 60 }); | |
| 61 }); | |
| 62 } | |
| 63 | |
| 64 function doZoomIn() { | |
| 65 changeZoomByFactorDelta(zoomStep); | |
| 66 } | |
| 67 | |
| 68 function doZoomOut() { | |
| 69 changeZoomByFactorDelta(1.0/zoomStep); | |
| 70 } | |
| 71 | |
| 72 function doZoomDefault() { | |
| 73 chrome.tabs.setZoom(1.0, function() { | |
| 74 if (chrome.runtime.lastError) | |
| 75 console.log('[ZoomDemoExtension] ' + chrome.runtime.lastError.message); | |
| 76 }); | |
| 77 } | |
| 78 | |
| 79 function doSetMode() { | |
| 80 var modeVal; | |
| 81 var modeRadios = document.getElementsByName('modeRadio'); | |
| 82 for (var i = 0; i < modeRadios.length; i++) { | |
| 83 if (modeRadios[i].checked) | |
| 84 modeVal = modeRadios[i].value; | |
| 85 } | |
| 86 | |
| 87 var scopeVal; | |
| 88 var scopeRadios = document.getElementsByName('scopeRadio'); | |
| 89 for (var i = 0; i < scopeRadios.length; i++) { | |
| 90 if (scopeRadios[i].checked) | |
| 91 scopeVal = scopeRadios[i].value; | |
| 92 } | |
| 93 | |
| 94 if (!modeVal || !scopeVal) { | |
| 95 console.log( | |
| 96 '[ZoomDemoExtension] Must specify values for both mode & scope.'); | |
| 97 return; | |
| 98 } | |
| 99 | |
| 100 chrome.tabs.setZoomSettings({ mode: modeVal, scope: scopeVal }, | |
| 101 function() { | |
| 102 if (chrome.runtime.lastError) { | |
| 103 console.log('[ZoomDemoExtension] doSetMode() error: ' + | |
| 104 chrome.runtime.lastError.message); | |
| 105 } | |
| 106 }); | |
| 107 } | |
| 108 | |
| 109 function doClose() { | |
| 110 self.close(); | |
| 111 } | |
| OLD | NEW |