зеркало из https://github.com/mozilla/gecko-dev.git
Bug 528829 - If mouse button is held down during page transition, Firefox stops responding to mouse clicks, r=roc
This commit is contained in:
Родитель
a4f10a3bdf
Коммит
41892fd0c4
|
@ -1028,6 +1028,18 @@ protected:
|
||||||
// Utility method to restore the root scrollframe state
|
// Utility method to restore the root scrollframe state
|
||||||
void RestoreRootScrollPosition();
|
void RestoreRootScrollPosition();
|
||||||
|
|
||||||
|
void MaybeReleaseCapturingContent()
|
||||||
|
{
|
||||||
|
nsCOMPtr<nsFrameSelection> frameSelection = FrameSelection();
|
||||||
|
if (frameSelection) {
|
||||||
|
frameSelection->SetMouseDownState(PR_FALSE);
|
||||||
|
}
|
||||||
|
if (gCaptureInfo.mContent &&
|
||||||
|
gCaptureInfo.mContent->GetOwnerDoc() == mDocument) {
|
||||||
|
SetCapturingContent(nsnull, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
nsCOMPtr<nsICSSStyleSheet> mPrefStyleSheet; // mStyleSet owns it but we
|
nsCOMPtr<nsICSSStyleSheet> mPrefStyleSheet; // mStyleSet owns it but we
|
||||||
// maintain a ref, may be null
|
// maintain a ref, may be null
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -1832,6 +1844,8 @@ PresShell::Destroy()
|
||||||
if (mHaveShutDown)
|
if (mHaveShutDown)
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
|
|
||||||
|
MaybeReleaseCapturingContent();
|
||||||
|
|
||||||
mContentToScrollTo = nsnull;
|
mContentToScrollTo = nsnull;
|
||||||
|
|
||||||
if (mPresContext) {
|
if (mPresContext) {
|
||||||
|
@ -7075,6 +7089,8 @@ FreezeSubDocument(nsIDocument *aDocument, void *aData)
|
||||||
void
|
void
|
||||||
PresShell::Freeze()
|
PresShell::Freeze()
|
||||||
{
|
{
|
||||||
|
MaybeReleaseCapturingContent();
|
||||||
|
|
||||||
mDocument->EnumerateFreezableElements(FreezeElement, this);
|
mDocument->EnumerateFreezableElements(FreezeElement, this);
|
||||||
|
|
||||||
if (mCaret)
|
if (mCaret)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче