New issue
Advanced search Search tips

Issue 812470 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocking:
issue 811502



Sign in to add a comment

[LayoutNG] Unable to set caret in empty <input> and <textarea>

Project Member Reported by xiaoche...@chromium.org, Feb 15 2018

Issue description

Chrome Version: ToT
OS: (e.g. Win7, OSX 10.9.5, etc...)

What steps will reproduce the problem?
(1) Load a page with empty <textarea> or <input> with LayoutNG enabled
(2) Click in the empty part of <textarea> or <input>

What is the expected result?

Caret is set in the <textarea> or <input>

What happens instead?

Caret is not set inside.

Note that this happens even though the form control elements are already reverse-hosted.

 
Blocking: 811502
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/632a8dca2869b5017a8af6667a04a7ce44ae765e

commit 632a8dca2869b5017a8af6667a04a7ce44ae765e
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Sat Feb 17 00:59:33 2018

[LayoutNG] Fix NG self hit testing condition for blocks

For normal boxes, self hit test is done when HitTestAction is kHitTestForeground.
However, for blocks, it's done only when HitTestAction is kHitTestBlockBackground
or kHitTestChildBlockBackground (see LayoutBlock::IsInSelfHitTestingPhase()).

Our NG hit test implementation doesn't consider the latter case, which is fixed
in this patch.

This patch adds 200+ passes to NG layout test.

Bug:  812470 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I03f92444eb431151942eb582305ef63419090a35
Reviewed-on: https://chromium-review.googlesource.com/920687
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537488}
[modify] https://crrev.com/632a8dca2869b5017a8af6667a04a7ce44ae765e/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[add] https://crrev.com/632a8dca2869b5017a8af6667a04a7ce44ae765e/third_party/WebKit/LayoutTests/flag-specific/enable-blink-features=LayoutNG/fast/loader/navigation-scheduler-user-gesture-expected.txt
[modify] https://crrev.com/632a8dca2869b5017a8af6667a04a7ce44ae765e/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/632a8dca2869b5017a8af6667a04a7ce44ae765e/third_party/WebKit/Source/core/paint/ng/ng_box_fragment_painter.cc
[modify] https://crrev.com/632a8dca2869b5017a8af6667a04a7ce44ae765e/third_party/WebKit/Source/core/paint/ng/ng_box_fragment_painter.h

Status: Fixed (was: Available)

Sign in to add a comment