提交 38e3cf0d 编写于 作者: A Alex Dima

Fixes #20613: test for scrollbar/sliders before testing for view zones in mouse target

上级 6aff0f7b
......@@ -437,6 +437,7 @@ export class MouseTargetFactory {
result = result || MouseTargetFactory._hitTestContentWidget(ctx, request);
result = result || MouseTargetFactory._hitTestOverlayWidget(ctx, request);
result = result || MouseTargetFactory._hitTestScrollbarSlider(ctx, request);
result = result || MouseTargetFactory._hitTestViewZone(ctx, request);
result = result || MouseTargetFactory._hitTestMargin(ctx, request);
result = result || MouseTargetFactory._hitTestViewCursor(ctx, request);
......@@ -584,6 +585,20 @@ export class MouseTargetFactory {
return this._createMouseTarget(ctx, request.withTarget(hitTestResult.hitTarget), true);
}
private static _hitTestScrollbarSlider(ctx: HitTestContext, request: HitTestRequest): MouseTarget {
if (ElementPath.isChildOfScrollableElement(request.targetPath)) {
if (request.target && request.target.nodeType === 1) {
let className = request.target.className;
if (className && /\b(slider|scrollbar)\b/.test(className)) {
const possibleLineNumber = ctx.getLineNumberAtVerticalOffset(request.mouseVerticalOffset);
const maxColumn = ctx.model.getLineMaxColumn(possibleLineNumber);
return request.fulfill(MouseTargetType.SCROLLBAR, new Position(possibleLineNumber, maxColumn));
}
}
}
return null;
}
private static _hitTestScrollbar(ctx: HitTestContext, request: HitTestRequest): MouseTarget {
// Is it the overview ruler?
// Is it a child of the scrollable element?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册