Merge pull request #5082 from Rob--W/chromium-managed-preferences

Managed preferences for Chrome administrators
This commit is contained in:
Tim van der Meij 2014-07-30 23:58:25 +02:00
commit bf3aad8a95
4 changed files with 114 additions and 1 deletions

View File

@ -40,6 +40,9 @@
"mime_types": [
"application/pdf"
],
"storage": {
"managed_schema": "preferences_schema.json"
},
"background": {
"page": "pdfHandler.html"
},

View File

@ -0,0 +1,68 @@
{
"type": "object",
"properties": {
"showPreviousViewOnLoad": {
"title": "Resume view on load",
"description": "Whether to view PDF documents in the last page and position upon opening the viewer.",
"type": "boolean",
"default": true
},
"defaultZoomValue": {
"title": "Default zoom level",
"description": "Default zoom level of the viewer. Accepted values: 'auto', 'page-actual', 'page-width', 'page-height', 'page-fit', or a zoom level in percents.",
"type": "string",
"pattern": "|auto|page-actual|page-width|page-height|page-fit|[0-9]+\\.?[0-9]*(,[0-9]+\\.?[0-9]*){0,2}",
"default": ""
},
"sidebarViewOnLoad": {
"title": "Sidebar state on load",
"description": "Controls the state of the sidebar upon load.\n 0 = do not show sidebar.\n 1 = show thumbnails in sidebar.\n 2 = show document outline in sidebar.\n 3 = Show attachments in sidebar.",
"type": "integer",
"enum": [
0,
1,
2,
3
],
"default": 0
},
"enableHandToolOnLoad": {
"title": "Activate Hand tool by default",
"description": "Whether to activate the hand tool by default.",
"type": "boolean",
"default": false
},
"enableWebGL": {
"title": "Enable WebGL",
"description": "Whether to enable WebGL.",
"type": "boolean",
"default": false
},
"disableRange": {
"title": "Disable range requests",
"description": "Whether to disable range requests (not recommended).",
"type": "boolean",
"default": false
},
"disableAutoFetch": {
"type": "boolean",
"default": false
},
"disableFontFace": {
"title": "Disable @font-face",
"description": "Whether to disable @font-face and fall back to canvas rendering (this is more resource-intensive).",
"type": "boolean",
"default": false
},
"disableTextLayer": {
"title": "Disable text selection layer",
"description": "Whether to disable the text selection layer.",
"type": "boolean",
"default": false
},
"useOnlyCssZoom": {
"type": "boolean",
"default": false
}
}
}

View File

@ -17,6 +17,9 @@
'use strict';
//#if CHROME
////Note: Keep in sync with extensions/chromium/preferences_schema.json !
//#endif
var DEFAULT_PREFERENCES = {
showPreviousViewOnLoad: true,
defaultZoomValue: '',

View File

@ -178,7 +178,46 @@ var Preferences = {
//};
//#endif
//#if !(FIREFOX || MOZCENTRAL || B2G)
//#if CHROME
//Preferences._writeToStorage = function (prefObj) {
// return new Promise(function (resolve) {
// if (prefObj == DEFAULT_PREFERENCES) {
// var keysToRemove = Object.keys(DEFAULT_PREFERENCES);
// // If the storage is reset, remove the keys so that the values from
// // managed storage are applied again.
// chrome.storage.local.remove(keysToRemove, function() {
// resolve();
// });
// } else {
// chrome.storage.local.set(prefObj, function() {
// resolve();
// });
// }
// });
//};
//
//Preferences._readFromStorage = function (prefObj) {
// return new Promise(function (resolve) {
// if (chrome.storage.managed) {
// // Get preferences as set by the system administrator.
// // See extensions/chromium/preferences_schema.json for more information.
// // These preferences can be overridden by the user.
// chrome.storage.managed.get(DEFAULT_PREFERENCES, getPreferences);
// } else {
// // Managed storage not supported, e.g. in Opera.
// getPreferences(DEFAULT_PREFERENCES);
// }
//
// function getPreferences(defaultPrefs) {
// chrome.storage.local.get(defaultPrefs, function(readPrefs) {
// resolve(readPrefs);
// });
// }
// });
//};
//#endif
//#if !(FIREFOX || MOZCENTRAL || B2G || CHROME)
Preferences._writeToStorage = function (prefObj) {
return new Promise(function (resolve) {
localStorage.setItem('pdfjs.preferences', JSON.stringify(prefObj));