зеркало из https://github.com/mozilla/gecko-dev.git
Bug 837242. Part 1: Convert bool parameters to flags. r=mats
--HG-- extra : rebase_source : e59fe41c41f2be6b4f0c78528cf954093f3011bd
This commit is contained in:
Родитель
71ed3a62d3
Коммит
669a28a75c
|
@ -3137,8 +3137,9 @@ nsDocument::ElementFromPointHelper(float aX, float aY,
|
||||||
return nullptr; // return null to premature XUL callers as a reminder to wait
|
return nullptr; // return null to premature XUL callers as a reminder to wait
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIFrame *ptFrame = nsLayoutUtils::GetFrameForPoint(rootFrame, pt, true,
|
nsIFrame *ptFrame = nsLayoutUtils::GetFrameForPoint(rootFrame, pt,
|
||||||
aIgnoreRootScrollFrame);
|
nsLayoutUtils::IGNORE_PAINT_SUPPRESSION |
|
||||||
|
(aIgnoreRootScrollFrame ? nsLayoutUtils::IGNORE_ROOT_SCROLL_FRAME : 0));
|
||||||
if (!ptFrame) {
|
if (!ptFrame) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
@ -3192,7 +3193,8 @@ nsDocument::NodesFromRectHelper(float aX, float aY,
|
||||||
|
|
||||||
nsAutoTArray<nsIFrame*,8> outFrames;
|
nsAutoTArray<nsIFrame*,8> outFrames;
|
||||||
nsLayoutUtils::GetFramesForArea(rootFrame, rect, outFrames,
|
nsLayoutUtils::GetFramesForArea(rootFrame, rect, outFrames,
|
||||||
true, aIgnoreRootScrollFrame);
|
nsLayoutUtils::IGNORE_PAINT_SUPPRESSION |
|
||||||
|
(aIgnoreRootScrollFrame ? nsLayoutUtils::IGNORE_ROOT_SCROLL_FRAME : 0));
|
||||||
|
|
||||||
// Used to filter out repeated elements in sequence.
|
// Used to filter out repeated elements in sequence.
|
||||||
nsIContent* lastAdded = nullptr;
|
nsIContent* lastAdded = nullptr;
|
||||||
|
@ -9323,8 +9325,8 @@ nsIDocument::CaretPositionFromPoint(float aX, float aY)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIFrame *ptFrame = nsLayoutUtils::GetFrameForPoint(rootFrame, pt, true,
|
nsIFrame *ptFrame = nsLayoutUtils::GetFrameForPoint(rootFrame, pt,
|
||||||
false);
|
nsLayoutUtils::IGNORE_PAINT_SUPPRESSION);
|
||||||
if (!ptFrame) {
|
if (!ptFrame) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
|
@ -249,10 +249,10 @@ FindFrameTargetedByInputEvent(const nsGUIEvent *aEvent,
|
||||||
const nsPoint& aPointRelativeToRootFrame,
|
const nsPoint& aPointRelativeToRootFrame,
|
||||||
uint32_t aFlags)
|
uint32_t aFlags)
|
||||||
{
|
{
|
||||||
bool ignoreRootScrollFrame = (aFlags & INPUT_IGNORE_ROOT_SCROLL_FRAME) != 0;
|
uint32_t flags = (aFlags & INPUT_IGNORE_ROOT_SCROLL_FRAME) ?
|
||||||
|
nsLayoutUtils::IGNORE_ROOT_SCROLL_FRAME : 0;
|
||||||
nsIFrame* target =
|
nsIFrame* target =
|
||||||
nsLayoutUtils::GetFrameForPoint(aRootFrame, aPointRelativeToRootFrame,
|
nsLayoutUtils::GetFrameForPoint(aRootFrame, aPointRelativeToRootFrame, flags);
|
||||||
false, ignoreRootScrollFrame);
|
|
||||||
|
|
||||||
const EventRadiusPrefs* prefs = GetPrefsFor(aEvent->eventStructType);
|
const EventRadiusPrefs* prefs = GetPrefsFor(aEvent->eventStructType);
|
||||||
if (!prefs || !prefs->mEnabled || (target && IsElementClickable(target))) {
|
if (!prefs || !prefs->mEnabled || (target && IsElementClickable(target))) {
|
||||||
|
@ -271,7 +271,7 @@ FindFrameTargetedByInputEvent(const nsGUIEvent *aEvent,
|
||||||
nsRect targetRect = GetTargetRect(aRootFrame, aPointRelativeToRootFrame, prefs);
|
nsRect targetRect = GetTargetRect(aRootFrame, aPointRelativeToRootFrame, prefs);
|
||||||
nsAutoTArray<nsIFrame*,8> candidates;
|
nsAutoTArray<nsIFrame*,8> candidates;
|
||||||
nsresult rv = nsLayoutUtils::GetFramesForArea(aRootFrame, targetRect, candidates,
|
nsresult rv = nsLayoutUtils::GetFramesForArea(aRootFrame, targetRect, candidates,
|
||||||
false, ignoreRootScrollFrame);
|
flags | nsLayoutUtils::EXCLUDE_COVERED_FRAMES);
|
||||||
if (NS_FAILED(rv)) {
|
if (NS_FAILED(rv)) {
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1802,15 +1802,12 @@ nsLayoutUtils::GetRemoteContentIds(nsIFrame* aFrame,
|
||||||
}
|
}
|
||||||
|
|
||||||
nsIFrame*
|
nsIFrame*
|
||||||
nsLayoutUtils::GetFrameForPoint(nsIFrame* aFrame, nsPoint aPt,
|
nsLayoutUtils::GetFrameForPoint(nsIFrame* aFrame, nsPoint aPt, uint32_t aFlags)
|
||||||
bool aShouldIgnoreSuppression,
|
|
||||||
bool aIgnoreRootScrollFrame)
|
|
||||||
{
|
{
|
||||||
PROFILER_LABEL("nsLayoutUtils", "GetFrameForPoint");
|
PROFILER_LABEL("nsLayoutUtils", "GetFrameForPoint");
|
||||||
nsresult rv;
|
nsresult rv;
|
||||||
nsAutoTArray<nsIFrame*,8> outFrames;
|
nsAutoTArray<nsIFrame*,8> outFrames;
|
||||||
rv = GetFramesForArea(aFrame, nsRect(aPt, nsSize(1, 1)), outFrames,
|
rv = GetFramesForArea(aFrame, nsRect(aPt, nsSize(1, 1)), outFrames, aFlags);
|
||||||
aShouldIgnoreSuppression, aIgnoreRootScrollFrame);
|
|
||||||
NS_ENSURE_SUCCESS(rv, nullptr);
|
NS_ENSURE_SUCCESS(rv, nullptr);
|
||||||
return outFrames.Length() ? outFrames.ElementAt(0) : nullptr;
|
return outFrames.Length() ? outFrames.ElementAt(0) : nullptr;
|
||||||
}
|
}
|
||||||
|
@ -1818,8 +1815,7 @@ nsLayoutUtils::GetFrameForPoint(nsIFrame* aFrame, nsPoint aPt,
|
||||||
nsresult
|
nsresult
|
||||||
nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
||||||
nsTArray<nsIFrame*> &aOutFrames,
|
nsTArray<nsIFrame*> &aOutFrames,
|
||||||
bool aShouldIgnoreSuppression,
|
uint32_t aFlags)
|
||||||
bool aIgnoreRootScrollFrame)
|
|
||||||
{
|
{
|
||||||
PROFILER_LABEL("nsLayoutUtils","GetFramesForArea");
|
PROFILER_LABEL("nsLayoutUtils","GetFramesForArea");
|
||||||
nsDisplayListBuilder builder(aFrame, nsDisplayListBuilder::EVENT_DELIVERY,
|
nsDisplayListBuilder builder(aFrame, nsDisplayListBuilder::EVENT_DELIVERY,
|
||||||
|
@ -1827,11 +1823,11 @@ nsLayoutUtils::GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
||||||
nsDisplayList list;
|
nsDisplayList list;
|
||||||
nsRect target(aRect);
|
nsRect target(aRect);
|
||||||
|
|
||||||
if (aShouldIgnoreSuppression) {
|
if (aFlags & IGNORE_PAINT_SUPPRESSION) {
|
||||||
builder.IgnorePaintSuppression();
|
builder.IgnorePaintSuppression();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aIgnoreRootScrollFrame) {
|
if (aFlags & IGNORE_ROOT_SCROLL_FRAME) {
|
||||||
nsIFrame* rootScrollFrame =
|
nsIFrame* rootScrollFrame =
|
||||||
aFrame->PresContext()->PresShell()->GetRootScrollFrame();
|
aFrame->PresContext()->PresShell()->GetRootScrollFrame();
|
||||||
if (rootScrollFrame) {
|
if (rootScrollFrame) {
|
||||||
|
|
|
@ -526,19 +526,28 @@ public:
|
||||||
nsTArray<ViewID> &aOutIDs,
|
nsTArray<ViewID> &aOutIDs,
|
||||||
bool aIgnoreRootScrollFrame);
|
bool aIgnoreRootScrollFrame);
|
||||||
|
|
||||||
|
enum FrameForPointFlags {
|
||||||
|
/**
|
||||||
|
* When set, paint suppression is ignored, so we'll return non-root page
|
||||||
|
* elements even if paint suppression is stopping them from painting.
|
||||||
|
*/
|
||||||
|
IGNORE_PAINT_SUPPRESSION = 0x01,
|
||||||
|
/**
|
||||||
|
* When set, clipping due to the root scroll frame (and any other viewport-
|
||||||
|
* related clipping) is ignored.
|
||||||
|
*/
|
||||||
|
IGNORE_ROOT_SCROLL_FRAME = 0x02
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given aFrame, the root frame of a stacking context, find its descendant
|
* Given aFrame, the root frame of a stacking context, find its descendant
|
||||||
* frame under the point aPt that receives a mouse event at that location,
|
* frame under the point aPt that receives a mouse event at that location,
|
||||||
* or nullptr if there is no such frame.
|
* or nullptr if there is no such frame.
|
||||||
* @param aPt the point, relative to the frame origin
|
* @param aPt the point, relative to the frame origin
|
||||||
* @param aShouldIgnoreSuppression a boolean to control if the display
|
* @param aFlags some combination of FrameForPointFlags
|
||||||
* list builder should ignore paint suppression or not
|
|
||||||
* @param aIgnoreRootScrollFrame whether or not the display list builder
|
|
||||||
* should ignore the root scroll frame.
|
|
||||||
*/
|
*/
|
||||||
static nsIFrame* GetFrameForPoint(nsIFrame* aFrame, nsPoint aPt,
|
static nsIFrame* GetFrameForPoint(nsIFrame* aFrame, nsPoint aPt,
|
||||||
bool aShouldIgnoreSuppression = false,
|
uint32_t aFlags = 0);
|
||||||
bool aIgnoreRootScrollFrame = false);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given aFrame, the root frame of a stacking context, find all descendant
|
* Given aFrame, the root frame of a stacking context, find all descendant
|
||||||
|
@ -546,15 +555,11 @@ public:
|
||||||
* or nullptr if there is no such frame.
|
* or nullptr if there is no such frame.
|
||||||
* @param aRect the rect, relative to the frame origin
|
* @param aRect the rect, relative to the frame origin
|
||||||
* @param aOutFrames an array to add all the frames found
|
* @param aOutFrames an array to add all the frames found
|
||||||
* @param aShouldIgnoreSuppression a boolean to control if the display
|
* @param aFlags some combination of FrameForPointFlags
|
||||||
* list builder should ignore paint suppression or not
|
|
||||||
* @param aIgnoreRootScrollFrame whether or not the display list builder
|
|
||||||
* should ignore the root scroll frame.
|
|
||||||
*/
|
*/
|
||||||
static nsresult GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
static nsresult GetFramesForArea(nsIFrame* aFrame, const nsRect& aRect,
|
||||||
nsTArray<nsIFrame*> &aOutFrames,
|
nsTArray<nsIFrame*> &aOutFrames,
|
||||||
bool aShouldIgnoreSuppression = false,
|
uint32_t aFlags = 0);
|
||||||
bool aIgnoreRootScrollFrame = false);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transform aRect relative to aAncestor down to the coordinate system of
|
* Transform aRect relative to aAncestor down to the coordinate system of
|
||||||
|
|
Загрузка…
Ссылка в новой задаче