Bug 293714. Be smart about guessing whether a vertical scrollbar is needed when we do the first real reflow of a scrollframe; remember in global history whether the page needed a scrollbar or not. r+sr=bzbarsky

git-svn-id: svn://10.0.0.236/trunk@178883 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
roc+%cs.cmu.edu
2005-08-25 00:10:37 +00:00
parent eadb20e357
commit e62ae2d243
10 changed files with 295 additions and 30 deletions

View File

@@ -197,3 +197,15 @@ nsGlobalHistoryAdapter::SetPageTitle(nsIURI* aURI, const nsAString& aTitle)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsGlobalHistoryAdapter::SetURIGeckoFlags(nsIURI *aURI, PRUint32 aFlags)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
nsGlobalHistoryAdapter::GetURIGeckoFlags(nsIURI *aURI, PRUint32* aFlags)
{
return NS_ERROR_NOT_IMPLEMENTED;
}

View File

@@ -51,9 +51,12 @@ interface nsIURI;
// the nsIURI is the subject
#define NS_LINK_VISITED_EVENT_TOPIC "link-visited"
// This is NOT part of the interface! It could change.
#define NS_GECKO_FLAG_NEEDS_VERTICAL_SCROLLBAR (1 << 0)
%}
[scriptable, uuid(cf777d42-1270-4b34-be7b-2931c93feda5)]
[scriptable, uuid(fbcfa5ca-5d05-4726-b325-d0e6563a1715)]
interface nsIGlobalHistory2 : nsISupports
{
/**
@@ -89,4 +92,17 @@ interface nsIGlobalHistory2 : nsISupports
* @param aTitle the page title
*/
void setPageTitle(in nsIURI aURI, in AString aTitle);
/**
* Get the Gecko flags for this URI. These flags are used by Gecko as hints
* to optimize page loading. Not all histories have them; this need not be
* supported (just return NS_ERROR_NOT_IMPLEMENTED. These flags are opaque
* and should not be interpreted by the history engine.
*/
unsigned long getURIGeckoFlags(in nsIURI aURI);
/**
* Set the Gecko flags for this URI. May fail if the history entry
* doesn't have any flags or if there is no entry for the URI.
*/
void setURIGeckoFlags(in nsIURI aURI, in unsigned long aFlags);
};