| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  |   Copyright (C) 2013-2020 Grégory Soutadé | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  |   This file is part of gPass. | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  |   gPass is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |   it under the terms of the GNU General Public License as published by | 
					
						
							|  |  |  |   the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  |   (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  |   gPass is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |   but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |   GNU General Public License for more details. | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  |   You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |   along with gPass.  If not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 14:56:26 +01:00
										 |  |  | var default_preferences = {"pbkdf2_level": 1000, | 
					
						
							|  |  |  | 			   "account_url": "https://gpass-demo.soutade.fr/demo", | 
					
						
							| 
									
										
										
										
											2021-03-02 16:54:24 +01:00
										 |  |  |                            "always_disabled":false, | 
					
						
							|  |  |  |                            "popup_clipboard":false | 
					
						
							| 
									
										
										
										
											2021-03-02 14:56:26 +01:00
										 |  |  | 			  }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | function get_preference(key) | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     return browser.storage.local.get(key) | 
					
						
							|  |  |  | 	.then( | 
					
						
							|  |  |  | 	    function (pref) { | 
					
						
							|  |  |  | 		if (!pref.hasOwnProperty(key)) | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | 		{ | 
					
						
							|  |  |  | 		    if (default_preferences.hasOwnProperty(key)) | 
					
						
							|  |  |  | 			return default_preferences[key]; | 
					
						
							|  |  |  | 		    else | 
					
						
							|  |  |  | 			return null; | 
					
						
							|  |  |  | 		} | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  | 		return pref[key]; | 
					
						
							|  |  |  | 	    } | 
					
						
							|  |  |  | 	    , | 
					
						
							|  |  |  | 	    function (err) { | 
					
						
							|  |  |  | 		console.log("Error getting preference " + err); | 
					
						
							|  |  |  | 	    } | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 14:56:26 +01:00
										 |  |  | function set_preference(key, value, sendResponse) | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | { | 
					
						
							|  |  |  |     browser.storage.local.set({[key]:value}); | 
					
						
							| 
									
										
										
										
											2021-03-02 14:56:26 +01:00
										 |  |  |     if (sendResponse) | 
					
						
							|  |  |  |         sendResponse(true); | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function delete_preference(key) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     browser.storage.local.remove(key); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function send_tab_message(tab_id, parameters, callback) | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2020-01-18 15:20:13 +01:00
										 |  |  |     browser.tabs.sendMessage(tab_id, parameters).then( | 
					
						
							|  |  |  | 	function cb(response) { | 
					
						
							|  |  |  | 	    callback(response); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  |     ); | 
					
						
							| 
									
										
										
										
											2017-04-17 20:39:53 +02:00
										 |  |  | } |