Privacy/Reviews/ Fennec integration with global Android search
- 1 Document Overview
- 2 Architecture
- 3 User Data Risk Minimization
- 4 Alignment with Privacy Operating Principles
- 5 Follow-up Tasks and tracking
|Feature/Product:||Fennec integration with global Android search|
|Projected Feature Freeze Date:||(tbd)|
|Product Champions:||Sriram Ramasubramanian|
|Privacy Champions:||(the privacy Friend you're working with)|
|Security Contact:||Mark Goodwin|
|Document State:||[ON TRACK] ready for privacy champ|
|Architectural Overview:||(date TBD)|
|Recommendation Meeting:||(date TBD)|
|Review Complete ETA:||tbd|
The main objective of this feature/product is: To integrate the Fennec's AwesomeBar results with the Android's search. When a search is made in Android's Quick Search Box widget (or Google Search app), it has the potential to give the results from the apps installed. Fennec could expose the bookmarks and history to this search, there by creating another end point for the user to use Fennec.
- The architecture of QSB: http://developer.android.com/guide/topics/search/index.html
- Permission in ContentProviders in Android: http://developer.android.com/guide/topics/providers/content-provider-creating.html#Permissions
- Android's GLOBAL_SEARCH permission: http://developer.android.com/reference/android/Manifest.permission.html#GLOBAL_SEARCH
The major components are Fennec's "BrowserProvider" and Android's Quick Search Box.
Quick Search Box
The Quick Search Box (QSB) is the universal search box in Android. This is similar to the Spotlight search in Mac OS. Similar to indexing in Spotlight, QSB allows apps to expose their search results to the user. This has to be manually enabled by the user in the QSB's settings. Once enabled, Android requests the app for results based on the keyword, and displays them in a standard format. If the user selects the option, the app is opened -- which may in turn show more details about the search result.
Communication with Fennec
|Out:||Keyword||A search keyword string||The usual URL is: content://org.mozilla.firefox.db.browser/search_suggest_query/q=keyword. The request comes with a read path permission for Global search.|
|In:||A cursor for the results||A table of results based on the keyword, with the columns formatted as per Android's guidelines.|
BrowserProvider is Fennec's ContentProvider for bookmarks and history. This adapts the Gecko's table to be used by native UI and Sync. By default, the provider has a "signature" level permission restriction. The QSB has a "read-permission" only for its path, which other applications cannot use.
User Data Risk Minimization
In this section, the privacy champion will identify areas of user data risk and recommendations for minimizing the risk.
Alignment with Privacy Operating Principles
In this section, the privacy champion will identify how the feature lines up with Mozilla's privacy operating principles.
Principle: Transparency / No Surprises
(How the feature addresses this)
Recommendations: (what can be improved)
Principle: Real Choice
Principle: Sensible Defaults
Principle: Limited Data
Follow-up Tasks and tracking
|[NEW] Initial Overview Discussion||?||Meeting time TBD|