Changeset 259943 in webkit


Ignore:
Timestamp:
Apr 12, 2020 2:27:40 AM (4 years ago)
Author:
Carlos Garcia Campos
Message:

[GTK] Page is not drawn with PSON, hardware acceleration and address typed in URL bar
https://bugs.webkit.org/show_bug.cgi?id=208091

Reviewed by Michael Catanzaro.

This happens only when accelerated compositing mode policy is set to always. In this case, the
bindSurfaceToWebPage wayland message is received before the WebPageProxy has updated the web page identifier. We
should always check if there's a provisional page and get its web page identifier.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::bindSurfaceToWebPage):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r259942 r259943  
     12020-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [GTK] Page is not drawn with PSON, hardware acceleration and address typed in URL bar
     4        https://bugs.webkit.org/show_bug.cgi?id=208091
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        This happens only when accelerated compositing mode policy is set to always. In this case, the
     9        bindSurfaceToWebPage wayland message is received before the WebPageProxy has updated the web page identifier. We
     10        should always check if there's a provisional page and get its web page identifier.
     11
     12        * UIProcess/gtk/WaylandCompositor.cpp:
     13        (WebKit::WaylandCompositor::bindSurfaceToWebPage):
     14
    1152020-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
    216
  • trunk/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp

    r259942 r259943  
    2929#if PLATFORM(WAYLAND) && USE(EGL) && !USE(WPE_RENDERER)
    3030
     31#include "ProvisionalPageProxy.h"
    3132#include "WebKitWaylandServerProtocol.h"
    3233#include <EGL/egl.h>
     
    559560    WebPageProxy* webPage = nullptr;
    560561    for (auto* page : m_pageMap.keys()) {
    561         if (page->webPageID() == pageID) {
     562        auto* provisionalPage = page->provisionalPageProxy();
     563        auto webPageID = provisionalPage ? provisionalPage->webPageID() : page->webPageID();
     564        if (webPageID == pageID) {
    562565            webPage = page;
    563566            break;
Note: See TracChangeset for help on using the changeset viewer.