[webkit-changes] [WebKit/WebKit] 717fb4: Remove RenderFullScreen and RenderTreeBuilderFullS...

Tim Nguyen noreply at github.com
Thu Oct 6 21:37:39 PDT 2022


  Branch: refs/heads/rm-render-fullscreen
  Home:   https://github.com/WebKit/WebKit
  Commit: 717fb4078c37fce9db22743d5c5061a07d4a38c0
      https://github.com/WebKit/WebKit/commit/717fb4078c37fce9db22743d5c5061a07d4a38c0
  Author: Tim Nguyen <ntim at apple.com>
  Date:   2022-10-06 (Thu, 06 Oct 2022)

  Changed paths:
    M LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt
    M LayoutTests/fullscreen/full-screen-layer-dump-expected.txt
    R LayoutTests/fullscreen/full-screen-placeholder-expected.txt
    R LayoutTests/fullscreen/full-screen-placeholder.html
    M LayoutTests/fullscreen/fullscreen-restore-scroll-position.html
    R LayoutTests/platform/glib/fullscreen/full-screen-placeholder-expected.txt
    M Source/WebCore/Sources.txt
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/FullscreenManager.cpp
    M Source/WebCore/dom/FullscreenManager.h
    M Source/WebCore/page/FrameView.cpp
    R Source/WebCore/rendering/RenderFullScreen.cpp
    R Source/WebCore/rendering/RenderFullScreen.h
    M Source/WebCore/rendering/RenderInline.cpp
    M Source/WebCore/rendering/RenderLayerCompositor.cpp
    M Source/WebCore/rendering/RenderVideo.cpp
    M Source/WebCore/rendering/RenderVideo.h
    M Source/WebCore/rendering/updating/RenderTreeBuilder.cpp
    M Source/WebCore/rendering/updating/RenderTreeBuilder.h
    M Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp
    R Source/WebCore/rendering/updating/RenderTreeBuilderFullScreen.cpp
    R Source/WebCore/rendering/updating/RenderTreeBuilderFullScreen.h
    M Source/WebCore/rendering/updating/RenderTreeBuilderInline.cpp
    M Source/WebCore/rendering/updating/RenderTreeUpdater.cpp

  Log Message:
  -----------
  Remove RenderFullScreen and RenderTreeBuilderFullScreen
https://bugs.webkit.org/show_bug.cgi?id=246065
rdar://100793009

Reviewed by NOBODY (OOPS!).

RenderFullscreen was added to prevent visible layout shifts while a certain element is being fullscreened. This is now unnecessary with the current CSS for fullscreen elements,
since fullscreen will expand and fixed position the element immeditately. It has no performance benefit given making an element fullscreen already schedules a full style rebuild and changes
layout for the whole ancestor chain for the current fullscreen element.

Remove it since it is not trivial to maintain, makes porting to top layer and future projects like LFC harder.

* LayoutTests/compositing/no-compositing-when-fulll-screen-is-present-expected.txt:
* LayoutTests/fullscreen/full-screen-layer-dump-expected.txt:
* LayoutTests/fullscreen/full-screen-placeholder-expected.txt: Removed.
* LayoutTests/fullscreen/full-screen-placeholder.html: Removed.
* LayoutTests/fullscreen/fullscreen-restore-scroll-position.html:
* LayoutTests/platform/glib/fullscreen/full-screen-placeholder-expected.txt: Removed.
* Source/WebCore/Sources.txt:
* Source/WebCore/dom/Document.cpp:
* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::willEnterFullscreen):
(WebCore::FullscreenManager::didExitFullscreen):
(WebCore::FullscreenManager::setFullscreenRenderer): Deleted.
(WebCore::FullscreenManager::fullscreenRenderer const): Deleted.
(WebCore::unwrapFullscreenRenderer): Deleted.
* Source/WebCore/dom/FullscreenManager.h:
* Source/WebCore/page/FrameView.cpp:
* Source/WebCore/rendering/RenderFullScreen.cpp: Removed.
* Source/WebCore/rendering/RenderFullScreen.h: Removed.
* Source/WebCore/rendering/RenderLayerCompositor.cpp:
(WebCore::isDescendantOfFullScreenLayer):
* Source/WebCore/rendering/RenderVideo.cpp:
(WebCore::placeholder): Deleted.
(WebCore::RenderVideo::offsetLeft const): Deleted.
(WebCore::RenderVideo::offsetTop const): Deleted.
(WebCore::RenderVideo::offsetWidth const): Deleted.
(WebCore::RenderVideo::offsetHeight const): Deleted.
* Source/WebCore/rendering/RenderVideo.h:
* Source/WebCore/rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::RenderTreeBuilder):
(WebCore::RenderTreeBuilder::destroy):
(WebCore::RenderTreeBuilder::createPlaceholderForFullScreen): Deleted.
* Source/WebCore/rendering/updating/RenderTreeBuilder.h:
(WebCore::RenderTreeBuilder::continuationBuilder):
(WebCore::RenderTreeBuilder::fullScreenBuilder): Deleted.
* Source/WebCore/rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::attachIgnoringContinuation):
* Source/WebCore/rendering/updating/RenderTreeBuilderFullScreen.cpp: Removed.
* Source/WebCore/rendering/updating/RenderTreeBuilderFullScreen.h: Removed.
* Source/WebCore/rendering/updating/RenderTreeBuilderInline.cpp:
(WebCore::RenderTreeBuilder::Inline::splitInlines):
* Source/WebCore/rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):




More information about the webkit-changes mailing list