[webkit-changes] [WebKit/WebKit] d038fb: Fix input[type=file] in vertical writing mode

Aditya Keerthi noreply at github.com
Thu Oct 5 16:34:48 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d038fb76fc05cd36a01f061093a659f7f550f08d
      https://github.com/WebKit/WebKit/commit/d038fb76fc05cd36a01f061093a659f7f550f08d
  Author: Aditya Keerthi <akeerthi at apple.com>
  Date:   2023-10-05 (Thu, 05 Oct 2023)

  Changed paths:
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-computed-style-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-computed-style.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-horizontal.optional-expected-mismatch.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-horizontal.optional.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical-rtl.optional-expected-mismatch.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical-rtl.optional.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical.optional-expected-mismatch.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical.optional.html
    M Source/WebCore/css/horizontalFormControls.css
    M Source/WebCore/css/html.css
    M Source/WebCore/rendering/RenderFileUploadControl.cpp
    M Source/WebCore/rendering/RenderFileUploadControl.h

  Log Message:
  -----------
  Fix input[type=file] in vertical writing mode
https://bugs.webkit.org/show_bug.cgi?id=248319
rdar://102651599

Reviewed by Alan Baradlay.

Update `RenderFileUploadControl` to use logical positions and sizes to support
vertical writing mode.

Added new web platform tests for file inputs, since they are unique from buttons.

* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-computed-style-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-computed-style.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-horizontal.optional-expected-mismatch.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-horizontal.optional.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical-rtl.optional-expected-mismatch.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical-rtl.optional.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical.optional-expected-mismatch.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-writing-modes/forms/file-input-vertical.optional.html: Added.
* Source/WebCore/css/horizontalFormControls.css:
(@namespace "http://www.w3.org/1999/xhtml";):
* Source/WebCore/css/html.css:
(select):
(select, input[type="file"]): Deleted.
* Source/WebCore/rendering/RenderFileUploadControl.cpp:
(WebCore::nodeLogicalWidth):
(WebCore::nodeLogicalHeight):
(WebCore::RenderFileUploadControl::maxFilenameLogicalWidth const):
(WebCore::RenderFileUploadControl::paintControl):

Use the ascent/descent of the font to correctly position the text. If in
vertical writing mode, rotate the context prior to drawing the text.

(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
(WebCore::RenderFileUploadControl::fileTextValue const):
(WebCore::nodeWidth): Deleted.
(WebCore::nodeHeight): Deleted.
(WebCore::RenderFileUploadControl::maxFilenameWidth const): Deleted.
* Source/WebCore/rendering/RenderFileUploadControl.h:

Canonical link: https://commits.webkit.org/268948@main




More information about the webkit-changes mailing list