⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 196514 in webkit


Ignore:
Timestamp:
Feb 12, 2016, 2:34:42 PM (11 years ago)
Author:
Beth Dakin
Message:

REGRESSION: Link preview is slow and unreliable
https://bugs.webkit.org/show_bug.cgi?id=154197
-and corresponding-
rdar://problem/24428064

Reviewed by Tim Horton.

This patch rolls http://trac.webkit.org/changeset/187471 back in. That was
how we fixed this problem ages ago. We rolled it out because it very
mysteriously seemed to cause a memory regression, but we want to track that
separately and not leave this performance regression in its place in the
meantime.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::updateActivityToken):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r196511 r196514  
     12016-02-12  Beth Dakin  <bdakin@apple.com>
     2
     3        REGRESSION: Link preview is slow and unreliable
     4        https://bugs.webkit.org/show_bug.cgi?id=154197
     5        -and corresponding-
     6        rdar://problem/24428064
     7
     8        Reviewed by Tim Horton.
     9
     10        This patch rolls http://trac.webkit.org/changeset/187471 back in. That was
     11        how we fixed this problem ages ago. We rolled it out because it very
     12        mysteriously seemed to cause a memory regression, but we want to track that
     13        separately and not leave this performance regression in its place in the
     14        meantime.
     15        * UIProcess/WebPageProxy.cpp:
     16        (WebKit::WebPageProxy::updateViewState):
     17        (WebKit::WebPageProxy::dispatchViewStateChange):
     18        (WebKit::WebPageProxy::updateActivityToken):
     19
    1202016-02-12  Anders Carlsson  <andersca@apple.com>
    221
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r196452 r196514  
    13631363    if (flagsToUpdate & ViewState::IsVisibleOrOccluded && m_pageClient.isViewVisibleOrOccluded())
    13641364        m_viewState |= ViewState::IsVisibleOrOccluded;
    1365     if (flagsToUpdate & ViewState::IsInWindow && m_pageClient.isViewInWindow()) {
     1365    if (flagsToUpdate & ViewState::IsInWindow && m_pageClient.isViewInWindow())
    13661366        m_viewState |= ViewState::IsInWindow;
    1367         m_viewWasEverInWindow = true;
    1368     }
    13691367    if (flagsToUpdate & ViewState::IsVisuallyIdle && m_pageClient.isVisuallyIdle())
    13701368        m_viewState |= ViewState::IsVisuallyIdle;
     
    14341432    ViewState::Flags changed = m_viewState ^ previousViewState;
    14351433
     1434    bool isNowInWindow = (changed & ViewState::IsInWindow) && isInWindow();
    14361435    // We always want to wait for the Web process to reply if we've been in-window before and are coming back in-window.
    1437     if (m_viewWasEverInWindow && (changed & ViewState::IsInWindow) && isInWindow() && m_drawingArea->hasVisibleContent())
     1436    if (m_viewWasEverInWindow && isNowInWindow && m_drawingArea->hasVisibleContent())
    14381437        m_viewStateChangeWantsSynchronousReply = true;
    14391438
     
    14701469    m_potentiallyChangedViewStateFlags = ViewState::NoFlags;
    14711470    m_viewStateChangeWantsSynchronousReply = false;
     1471    m_viewWasEverInWindow |= isNowInWindow;
    14721472}
    14731473
Note: See TracChangeset for help on using the changeset viewer.