Changeset 84437 in webkit


Ignore:
Timestamp:
Apr 20, 2011 4:50:20 PM (13 years ago)
Author:
andersca@apple.com
Message:

2011-04-20 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Don't discard backing stores for hung web processes
https://bugs.webkit.org/show_bug.cgi?id=59039
<rdar://problem/9237090>

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::viewStateDidChange): (WebKit::WebPageProxy::processDidBecomeUnresponsive): (WebKit::WebPageProxy::processDidBecomeResponsive): Call updateBackingStoreDiscardableState.

(WebKit::WebPageProxy::updateBackingStoreDiscardableState):
Never mark the backing store as discardable if the web process is hung

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r84434 r84437  
     12011-04-20  Anders Carlsson  <andersca@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Don't discard backing stores for hung web processes
     6        https://bugs.webkit.org/show_bug.cgi?id=59039
     7        <rdar://problem/9237090>
     8
     9        * UIProcess/WebPageProxy.cpp:
     10        (WebKit::WebPageProxy::viewStateDidChange):
     11        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
     12        (WebKit::WebPageProxy::processDidBecomeResponsive):
     13        Call updateBackingStoreDiscardableState.
     14
     15        (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
     16        Never mark the backing store as discardable if the web process is hung
     17
    1182011-04-20  Maciej Stachowiak  <mjs@apple.com>
    219
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r84304 r84437  
    620620
    621621    if (flags & (ViewWindowIsActive | ViewIsVisible))
    622         m_drawingArea->setBackingStoreIsDiscardable(!m_pageClient->isViewWindowActive() || !isViewVisible());
     622        updateBackingStoreDiscardableState();
    623623}
    624624
     
    27152715void WebPageProxy::processDidBecomeUnresponsive()
    27162716{
     2717    updateBackingStoreDiscardableState();
     2718
    27172719    m_loaderClient.processDidBecomeUnresponsive(this);
    27182720}
     
    27202722void WebPageProxy::processDidBecomeResponsive()
    27212723{
     2724    updateBackingStoreDiscardableState();
     2725
    27222726    m_loaderClient.processDidBecomeResponsive(this);
    27232727}
     
    30053009}
    30063010
     3011void WebPageProxy::updateBackingStoreDiscardableState()
     3012{
     3013    bool isDiscardable;
     3014
     3015    if (!process()->responsivenessTimer()->isResponsive())
     3016        isDiscardable = false;
     3017    else
     3018        isDiscardable = !m_pageClient->isViewWindowActive() || !isViewVisible();
     3019
     3020    m_drawingArea->setBackingStoreIsDiscardable(isDiscardable);
     3021}
     3022
    30073023Color WebPageProxy::viewUpdatesFlashColor()
    30083024{
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r84304 r84437  
    705705    void performDragControllerAction(DragControllerAction, WebCore::DragData*, const String& dragStorageName, const SandboxExtension::Handle&);
    706706
     707    void updateBackingStoreDiscardableState();
     708
    707709    PageClient* m_pageClient;
    708710    WebLoaderClient m_loaderClient;
Note: See TracChangeset for help on using the changeset viewer.