Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Unified Diff: third_party/mozprofile/README.md

Issue 108313011: Adding mozilla libraries required by Firefox interop test. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/mozprofile/README.chromium ('k') | third_party/mozprofile/mozprofile/__init__.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/mozprofile/README.md
===================================================================
--- third_party/mozprofile/README.md (revision 0)
+++ third_party/mozprofile/README.md (revision 0)
@@ -0,0 +1,141 @@
+[Mozprofile](https://github.com/mozilla/mozbase/tree/master/mozprofile)
+is a python tool for creating and managing profiles for Mozilla's
+applications (Firefox, Thunderbird, etc.). In addition to creating profiles,
+mozprofile can install [addons](https://developer.mozilla.org/en/addons)
+and set
+[preferences](https://developer.mozilla.org/En/A_Brief_Guide_to_Mozilla_Preferences).
+Mozprofile can be utilized from the command line or as an API.
+
+
+# Command Line Usage
+
+mozprofile may be used to create profiles, set preferences in
+profiles, or install addons into profiles.
+
+The profile to be operated on may be specified with the `--profile`
+switch. If a profile is not specified, one will be created in a
+temporary directory which will be echoed to the terminal:
+
+ (mozmill)> mozprofile
+ /tmp/tmp4q1iEU.mozrunner
+ (mozmill)> ls /tmp/tmp4q1iEU.mozrunner
+ user.js
+
+To run mozprofile from the command line enter:
+`mozprofile --help` for a list of options.
+
+
+# API Usage
+
+To use mozprofile as an API you can import
+[mozprofile.profile](https://github.com/mozilla/mozbase/tree/master/mozprofile/mozprofile/profile.py)
+and/or the
+[AddonManager](https://github.com/mozilla/mozbase/tree/master/mozprofile/mozprofile/addons.py).
+
+`mozprofile.profile` features a generic `Profile` class. In addition,
+subclasses `FirefoxProfile` and `ThundebirdProfile` are available
+with preset preferences for those applications.
+
+`mozprofile.profile:Profile`:
+
+ def __init__(self,
+ profile=None, # Path to the profile
+ addons=None, # String of one or list of addons to install
+ addon_manifests=None, # Manifest for addons, see http://ahal.ca/blog/2011/bulk-installing-fx-addons/
+ preferences=None, # Dictionary or class of preferences
+ locations=None, # locations to proxy
+ proxy=False, # setup a proxy
+ restore=True # If true remove all installed addons preferences when cleaning up
+ ):
+
+ def reset(self):
+ """reset the profile to the beginning state"""
+
+ def set_preferences(self, preferences, filename='user.js'):
+ """Adds preferences dict to profile preferences"""
+
+ def clean_preferences(self):
+ """Removed preferences added by mozrunner."""
+
+ def cleanup(self):
+ """Cleanup operations for the profile."""
+
+
+`mozprofile.addons:AddonManager`:
+
+ def __init__(self, profile):
+ """profile - the path to the profile for which we install addons"""
+
+ def install_addons(self, addons=None, manifests=None):
+ """
+ Installs all types of addons
+ addons - a list of addon paths to install
+ manifest - a list of addon manifests to install
+ """
+
+ @classmethod
+ def get_amo_install_path(self, query):
+ """
+ Return the addon xpi install path for the specified AMO query.
+ See: https://developer.mozilla.org/en/addons.mozilla.org_%28AMO%29_API_Developers%27_Guide/The_generic_AMO_API
+ for query documentation.
+ """
+
+ @classmethod
+ def addon_details(cls, addon_path):
+ """
+ returns a dictionary of details about the addon
+ - addon_path : path to the addon directory
+ Returns:
+ {'id': u'rainbow@colors.org', # id of the addon
+ 'version': u'1.4', # version of the addon
+ 'name': u'Rainbow', # name of the addon
+ 'unpack': False } # whether to unpack the addon
+ """
+
+ def clean_addons(self):
+ """Cleans up addons in the profile."""
+
+
+# Installing Addons
+
+Addons may be installed individually or from a manifest.
+
+Example:
+
+ from mozprofile import FirefoxProfile
+
+ # create new profile to pass to mozmill/mozrunner
+ profile = FirefoxProfile(addons=["adblock.xpi"])
+
+
+# Setting Preferences
+
+Preferences can be set in several ways:
+
+- using the API: You can pass preferences in to the Profile class's
+ constructor: `obj = FirefoxProfile(preferences=[("accessibility.typeaheadfind.flashBar", 0)])`
+- using a JSON blob file: `mozprofile --preferences myprefs.json`
+- using a `.ini` file: `mozprofile --preferences myprefs.ini`
+- via the command line: `mozprofile --pref key:value --pref key:value [...]`
+
+When setting preferences from an `.ini` file or the `--pref` switch,
+the value will be interpolated as an integer or a boolean
+(`true`/`false`) if possible.
+
+# Setting Permissions
+
+mozprofile also takes care of adding permissions to the profile.
+See https://github.com/mozilla/mozbase/blob/master/mozprofile/mozprofile/permissions.py
+
+
+# Resources
+
+Other Mozilla programs offer additional and overlapping functionality
+for profiles. There is also substantive documentation on profiles and
+their management.
+
+- [ProfileManager](https://developer.mozilla.org/en/Profile_Manager) :
+ XULRunner application for managing profiles. Has a GUI and CLI.
+- [python-profilemanager](http://k0s.org/mozilla/hg/profilemanager/) : python CLI interface similar to ProfileManager
+- profile documentation : http://support.mozilla.com/en-US/kb/Profiles
« no previous file with comments | « third_party/mozprofile/README.chromium ('k') | third_party/mozprofile/mozprofile/__init__.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698