Bug 894716 - Parameterize nsLayoutUtils::GetNearestScrollableFrame. r=dbaron
This commit is contained in:
@@ -2554,15 +2554,14 @@ nsFrame::HandlePress(nsPresContext* aPresContext,
|
||||
// frame, or something else is already capturing the mouse, there's no
|
||||
// reason to capture.
|
||||
if (!nsIPresShell::GetCapturingContent()) {
|
||||
nsIFrame* checkFrame = this;
|
||||
nsIScrollableFrame *scrollFrame = nullptr;
|
||||
while (checkFrame) {
|
||||
scrollFrame = do_QueryFrame(checkFrame);
|
||||
if (scrollFrame) {
|
||||
nsIPresShell::SetCapturingContent(checkFrame->GetContent(), CAPTURE_IGNOREALLOWED);
|
||||
break;
|
||||
}
|
||||
checkFrame = checkFrame->GetParent();
|
||||
nsIScrollableFrame* scrollFrame =
|
||||
nsLayoutUtils::GetNearestScrollableFrame(this,
|
||||
nsLayoutUtils::SCROLLABLE_SAME_DOC |
|
||||
nsLayoutUtils::SCROLLABLE_INCLUDE_HIDDEN);
|
||||
if (scrollFrame) {
|
||||
nsIFrame* capturingFrame = do_QueryFrame(scrollFrame);
|
||||
nsIPresShell::SetCapturingContent(capturingFrame->GetContent(),
|
||||
CAPTURE_IGNOREALLOWED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2925,15 +2924,10 @@ NS_IMETHODIMP nsFrame::HandleDrag(nsPresContext* aPresContext,
|
||||
}
|
||||
|
||||
// get the nearest scrollframe
|
||||
nsIFrame* checkFrame = this;
|
||||
nsIScrollableFrame *scrollFrame = nullptr;
|
||||
while (checkFrame) {
|
||||
scrollFrame = do_QueryFrame(checkFrame);
|
||||
if (scrollFrame) {
|
||||
break;
|
||||
}
|
||||
checkFrame = checkFrame->GetParent();
|
||||
}
|
||||
nsIScrollableFrame* scrollFrame =
|
||||
nsLayoutUtils::GetNearestScrollableFrame(this,
|
||||
nsLayoutUtils::SCROLLABLE_SAME_DOC |
|
||||
nsLayoutUtils::SCROLLABLE_INCLUDE_HIDDEN);
|
||||
|
||||
if (scrollFrame) {
|
||||
nsIFrame* capturingFrame = scrollFrame->GetScrolledFrame();
|
||||
|
||||
Reference in New Issue
Block a user