summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_prefs.cc
Commit message (Collapse)AuthorAgeFilesLines
* Initial work on making extensions work in incognito mode.mpcomplete@chromium.org2010-02-111-0/+14
| | | | | | | | | | | | This merely adds a way to enable content scripts and browser actions in incognito windows. They still don't work properly because none of the APIs work with incognito tabs. The way to enable an extension is to add an "incognito" bit in the user prefs file. My plan is to add UI for this later. BUG=32365 Review URL: http://codereview.chromium.org/567037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38852 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor extension autoupdater.asargent@chromium.org2010-01-281-2/+29
| | | | | | | | | | | | | | | | | | | | | | | This includes two changes: 1) Stop sending the Omaha UID to the gallery in favor of a "ping" parameter included at most once per day in a update manifest fetch, indicating the number of days since the last time we sent the ping parameter. The calculation of this parameter is based on the offset from now to a value in the *previous* response from the server where it indicated it's notion of when that day had started. 2) Batch update manifest requests for extensions with the same update url. The server and protocol have supported this for a while but this is the first time we've added support in the client. BUG=b/2367191 TEST=Extension updates should still work normally. Review URL: http://codereview.chromium.org/558005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37383 0039d316-1c4b-4281-b951-d872f2087c98
* Fix cases where we weren't expecting a NULL preference.asargent@chromium.org2010-01-151-30/+30
| | | | | | | | | | | | | | | This both fixes a specific crash and possibly one or two others that were waiting to happen since we weren't always checking for NULL return values from PrefService::GetDictionary. BUG=32079 TEST=(crash should no longer show up) Review URL: http://codereview.chromium.org/545070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36369 0039d316-1c4b-4281-b951-d872f2087c98
* Permission escalation when extension updates should trigger the install warningfinnur@chromium.org2010-01-041-10/+34
| | | | | | | | | | | | | | when enabling the extension through the Extensions Management UI. TBR=mpcomplete BUG=http://crbug.com/30752 TEST=This requires an extension that autoupdates _and_ increases its permissions. If you ignore the infobar that says it has been disabled, you should still get the Install Warning dialog when you try to enable the extension. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35480 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35184 - This seemed to cause BlacklistedExtensionWillNotInstalllevin@chromium.org2009-12-221-34/+10
| | | | | | | | | | | | to fail. TBR=finnur@chromium.org TEST=BlacklistedExtensionWillNotInstall Review URL: http://codereview.chromium.org/514001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35187 0039d316-1c4b-4281-b951-d872f2087c98
* Permission escalation when extension updates should trigger the install ↵finnur@chromium.org2009-12-221-10/+34
| | | | | | | | | | | warning when enabling the extension through the Extensions Management UI. BUG=30752 TEST=This requires an extension that autoupdates _and_ increases its permissions. If you ignore the infobar that says it has been disabled, you should still get the Install Warning dialog when you try to enable the extension. Review URL: http://codereview.chromium.org/501137 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35184 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround to prevent a crash checking extensions blacklist.asargent@chromium.org2009-12-171-0/+6
| | | | | | | | | | | | | Somehow the extensions dictionary is ending up null when we don't expect it to. This prevents the crash but may not prevent other problems. BUG=29317 TEST=none Review URL: http://codereview.chromium.org/507030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34808 0039d316-1c4b-4281-b951-d872f2087c98
* Localizing manifest for installed or unpacked extensions.cira@chromium.org2009-12-161-70/+70
| | | | | | | | | | | | | | | 1. Use _MSG_ format for manifest fields instead of hard-coded names. 2. Localize manifest during installation procedure -> save localized version to prefs. 3. Add current_locale field to manifest so we can detect when chrome locale changes and re-localize manifest. 4. Adds prefs method to MigratePrefs&Write to disk. 5. General refactor of extension_file_util wrt l10n code. 6. Don't localize themes (we can revert this by adding default_locale and current_locale keys to allowed keys for theme section). BUG=27360 Review URL: http://codereview.chromium.org/434015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34749 0039d316-1c4b-4281-b951-d872f2087c98
* Fix browser crash in extension system.finnur@chromium.org2009-12-161-0/+11
| | | | | | | | | | | | | | | | | | | When an external extension is removed from the json file (for example by a 3rd party installer) after the user has explicitly uninstalled it, Chrome would start crashing and crashing. This is now fixed. Also added a couple of unit tests for this case (for each external provider) and cleaned up one of those unit tests to make it match what the other was doing. BUG=http://crbug.com/30505 TEST=Covered by unit test. Review URL: http://codereview.chromium.org/504016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34649 0039d316-1c4b-4281-b951-d872f2087c98
* Persist the order of extensions in the browser action toolbar across sessions.estade@chromium.org2009-12-141-0/+31
| | | | | | | | | | Very similar to what we did with the extension shelf. BUG=26990 Review URL: http://codereview.chromium.org/487021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34490 0039d316-1c4b-4281-b951-d872f2087c98
* Many changes to DictionaryValues:pkasting@chromium.org2009-11-251-22/+19
| | | | | | | | | | | | | | | | | * Add support for keys with "." in them via new XXXWithoutPathExpansion() APIs. * Use these APIs with all key iterator usage. * SetXXX() calls cannot fail, so change them from bool to void. * Change GetSize() to size() since it's cheap, and add empty(). Other: * Use standard for loop format in more places (e.g. instead of while loops when they're really doing a for loop). * Shorten a few bits of code. BUG=567 TEST=none Review URL: http://codereview.chromium.org/441008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33109 0039d316-1c4b-4281-b951-d872f2087c98
* Fix "crashed extension" infobar browser crashes.phajdan.jr@chromium.org2009-08-251-0/+12
| | | | | | | | | | | | | | | | This is a general rework of how "crashed extension" infobar works and how the extension is actually recovered after the crash. This is a subset of original http://codereview.chromium.org/164151/ . I had to remove the part which unloads the entire extension on crash, because it interacts badly with other parts of the browser. I'm fixing that. TEST=See bug. http://crbug.com/15888 Review URL: http://codereview.chromium.org/173314 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24231 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the extension's "Current Version" file.mpcomplete@chromium.org2009-08-201-3/+41
| | | | | | | | | | | | The entire manifest.json value is now stored in the prefs file. This will allow for quick extension checks on startup. BUG=18293 TEST=Make sure installing/upgrading/uninstalling extensions works as expected. Review URL: http://codereview.chromium.org/174036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23848 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Fix "crashed extension" infobar browser crashes."phajdan.jr@chromium.org2009-08-181-12/+0
| | | | | | | | TBR=cevans Review URL: http://codereview.chromium.org/173014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23644 0039d316-1c4b-4281-b951-d872f2087c98
* Fix "crashed extension" infobar browser crashes.phajdan.jr@chromium.org2009-08-181-0/+12
| | | | | | | | | | | | This is a general rework of how "crashed extension" infobar works and how the extension is actually recovered after the crash. TEST=See bug. http://crbug.com/15888 Review URL: http://codereview.chromium.org/164151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23628 0039d316-1c4b-4281-b951-d872f2087c98
* Disable an extension when it is upgraded to a version that requires morempcomplete@chromium.org2009-08-141-2/+36
| | | | | | | | | | | | | permissions then before, and prompt the user to re-enable. Incidentally, this required adding support for disabling extensions. BUG=12140 TEST=covered by unit tests Review URL: http://codereview.chromium.org/165414 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23480 0039d316-1c4b-4281-b951-d872f2087c98
* The change has the followings:lzheng@chromium.org2009-08-141-2/+95
| | | | | | | | | | | | | | | 1. Auto-updating of extension blacklist. 2. Handle extensions in the blacklist. If an extension is in the blacklist, a. browser will not load the extension at start time; b. browser will unload the extension at running time; c. browser will not install the extension; BUG=12118 TEST=Verify behavior described above works (they should be covered in the unittests in this change). Review URL: http://codereview.chromium.org/165164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23423 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Fix "crashed extension" infobar browser crashes."phajdan.jr@chromium.org2009-08-111-12/+0
| | | | | | | | Will it fix browser_tests crashes on Vista? Review URL: http://codereview.chromium.org/165287 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22998 0039d316-1c4b-4281-b951-d872f2087c98
* Fix "crashed extension" infobar browser crashes.phajdan.jr@chromium.org2009-08-111-0/+12
| | | | | | | | | | | | This is a general rework of how "crashed extension" infobar works and how the extension is actually recovered after the crash. TEST=See bug. http://crbug.com/15888 Review URL: http://codereview.chromium.org/164151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22985 0039d316-1c4b-4281-b951-d872f2087c98
* Implement first cut at the extension installation prompt on Windows.aa@chromium.org2009-08-041-1/+1
| | | | | | | | | | | | Had to move set_path() earlier in the unpack process so that we would have real paths for the resources, so that we could load and display the icon in the ui. This exposed a problem where page actions had absolute paths and other images in extensions had relative paths. Extension::GetBrowserImages() was expecting relative paths, and it just happened to work because in both cases Extension was initialized without a path. Modified page actions to use relative paths to be consistent with other images. Review URL: http://codereview.chromium.org/160516 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22368 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored ExtensionsPrefs to store paths relative to the extensions install ↵rafaelw@chromium.org2009-06-251-3/+70
| | | | | | | | | | | directory. Fix & reenabled two extensions_service unit_tests. R=erikkay BUG=14714 Review URL: http://codereview.chromium.org/140018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19285 0039d316-1c4b-4281-b951-d872f2087c98
* The Provider for External Extensions no longer usesfinnur@chromium.org2009-06-251-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the prefs file, but instead reads a preferences file (a json file called external_extensions.json). This file specifies what external extensions we installed (shipped with Chrome) and the extension system takes care of installing them. Having this in a separate file makes the upgrade scenario easier, since we can during upgrade simply blow away this file and replace it (and not have to worry about merging/loosing user specified data). The extension system will read the file, and figure out whether any extension needs to be upgraded based on the information provided. Now, all external providers fetch data on the file thread instead of reading and copying preferences on the UI thread and posting them to the file thread. BUG=http://crbug.com/14201 TEST=Covered by unit test. Review URL: http://codereview.chromium.org/144018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19264 0039d316-1c4b-4281-b951-d872f2087c98
* part 3 of toolstrip dragging - persist the drag ordererikkay@google.com2009-06-191-0/+10
| | | | | | | | | | | | Also notify other browser windows of changes to the order. BUG=http://code.google.com/p/chromium/issues/detail?id=12123 TEST=browser_tests.exe --gtest_filter=ExtensionShelfModelTest.* Review URL: http://codereview.chromium.org/131114 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18845 0039d316-1c4b-4281-b951-d872f2087c98
* Abstract ExtensionPrefs into their own class.erikkay@google.com2009-06-181-0/+187
| | | | | | | | | Relands http://codereview.chromium.org/126281 which had been reverted due to a leak. The only difference is in extension_prefs.h where extension_data_ is now a scoped_ptr. Review URL: http://codereview.chromium.org/131040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18717 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r18661.willchan@chromium.org2009-06-181-184/+0
| | | | | | | | Broke purify and mac valgrind. "Pull Extension-related prefs into its own class. Also add a notification for when the extensions service has finished its initial load of extensions, separate from EXTENSIONS_LOADED.TEST=noneBUG=none" Review URL: http://codereview.chromium.org/132008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18682 0039d316-1c4b-4281-b951-d872f2087c98
* Pull Extension-related prefs into its own class. Also add a notification ↵erikkay@google.com2009-06-171-0/+184
for when the extensions service has finished its initial load of extensions, separate from EXTENSIONS_LOADED.TEST=noneBUG=none Review URL: http://codereview.chromium.org/126281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18661 0039d316-1c4b-4281-b951-d872f2087c98