Firefox/Projects/Asynchronous Add Visit: Difference between revisions
Jump to navigation
Jump to search
Comrade693 (talk | contribs) (mark as draft) |
No edit summary |
||
Line 16: | Line 16: | ||
* Whether the URI was loaded as part of a temporary redirect. | * Whether the URI was loaded as part of a temporary redirect. | ||
*/ | */ | ||
REDIRECT_TEMPORARY = 0 << 3, | |||
}; | }; | ||
Line 25: | Line 25: | ||
* The URI of the referring page. | * The URI of the referring page. | ||
* @param aFlags | * @param aFlags | ||
* The | * The VisitFlags describing this visit. | ||
* @param aRedirectedFrom [optional] | * @param aRedirectedFrom [optional] | ||
* The URI this URI was redirected from, or NULL if not a re-direct. | * The URI this URI was redirected from, or NULL if not a re-direct. |
Revision as of 21:06, 24 March 2010
DRAFT
The content of this page is a work in progress intended for review.
Please help improve the draft!
Ask questions or make suggestions in the discussion
or add your suggestions directly to this page.
Implement a way to add visits to Places with. This will replace what nsIGloablHistory2::addURI and nsIGlobalHistory3::addDocumentRedirect does now.
Current API design looks something like this (added to IHistory):
enum VisitFlags { /** * Whether the URI was loaded in a top-level window. */ TOP_LEVEL = 0 << 1, /** * Whether the URI was loaded as part of a permanent redirect. */ REDIRECT_PERMANENT = 0 << 2, /** * Whether the URI was loaded as part of a temporary redirect. */ REDIRECT_TEMPORARY = 0 << 3, }; /** * @param aURI * The URI of the page being visited. * @param aReferrer * The URI of the referring page. * @param aFlags * The VisitFlags describing this visit. * @param aRedirectedFrom [optional] * The URI this URI was redirected from, or NULL if not a re-direct. */ NS_IMETHODIMP VisitURI( nsIURI* aURI, nsIURI* aReferrer, PRUint32 aFlags, nsIURI* aRedirectedFrom = NULL ) = 0;
Project Lead:
Status
- BOARDING. Planning underway.
Goals
- Remove synchronous I/O off of the main thread
- Collect all the data we need in one call from docshell
Non-Goals
- Replace nsINavHistoryService::AddVisit with this new API
Timeline / Milestones
Requirements
- No synchronous I/O is to be done with the new API
- Implement this on IHistory
- IHistory should dispatch NS_LINK_VISITED_EVENT_TOPIC instead of docshell
- VisitURI should add the referrer if we do not have it in the database