Changeset 155066 in webkit


Ignore:
Timestamp:
Sep 4, 2013 2:59:27 PM (11 years ago)
Author:
berto@igalia.com
Message:

[WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
https://bugs.webkit.org/show_bug.cgi?id=117733

Reviewed by Martin Robinson.

If the GL context cannot be created then an invalid
LayerTreeHostGtk object will be returned.

This patch disables accelerated compositing if the system doesn't
support it.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewUpdateSettings):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
Location:
trunk/Source/WebKit2
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r155044 r155066  
     12013-09-04  Alberto Garcia  <berto@igalia.com>
     2
     3        [WK2][GTK] ASSERTION in WebKit::LayerTreeHostGtk::invalidate
     4        https://bugs.webkit.org/show_bug.cgi?id=117733
     5
     6        Reviewed by Martin Robinson.
     7
     8        If the GL context cannot be created then an invalid
     9        LayerTreeHostGtk object will be returned.
     10
     11        This patch disables accelerated compositing if the system doesn't
     12        support it.
     13
     14        * UIProcess/API/gtk/WebKitWebView.cpp:
     15        (webkitWebViewUpdateSettings):
     16        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
     17        (webkitWebViewBaseUpdatePreferences):
     18        (webkitWebViewBaseCreateWebPage):
     19        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
     20
    1212013-09-04  Commit Queue  <commit-queue@webkit.org>
    222
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp

    r155044 r155066  
    380380    page->setCustomUserAgent(String::fromUTF8(webkit_settings_get_user_agent(settings)));
    381381
     382    webkitWebViewBaseUpdatePreferences(WEBKIT_WEB_VIEW_BASE(webView));
     383
    382384    g_signal_connect(settings, "notify::allow-modal-dialogs", G_CALLBACK(allowModalDialogsChanged), webView);
    383385    g_signal_connect(settings, "notify::zoom-text-only", G_CALLBACK(zoomTextOnlyChanged), webView);
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r154729 r155066  
    4141#include "WebKitWebViewBaseAccessible.h"
    4242#include "WebKitWebViewBasePrivate.h"
     43#include "WebPageGroup.h"
    4344#include "WebPageProxy.h"
     45#include "WebPreferences.h"
    4446#include "WebViewBaseInputMethodFilter.h"
    4547#include <WebCore/ClipboardUtilitiesGtk.h>
     
    893895}
    894896
     897void webkitWebViewBaseUpdatePreferences(WebKitWebViewBase* webkitWebViewBase)
     898{
     899#if USE(TEXTURE_MAPPER_GL)
     900    WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv;
     901
     902    if (!priv->redirectedWindow)
     903        priv->pageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(false);
     904#endif
     905}
     906
    895907void webkitWebViewBaseCreateWebPage(WebKitWebViewBase* webkitWebViewBase, WebContext* context, WebPageGroup* pageGroup)
    896908{
     
    908920        priv->pageProxy->setAcceleratedCompositingWindowId(priv->redirectedWindow->windowId());
    909921#endif
     922
     923    webkitWebViewBaseUpdatePreferences(webkitWebViewBase);
    910924
    911925    // This must happen here instead of the instance initializer, because the input method
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h

    r148294 r155066  
    5252void webkitWebViewBaseSetInputMethodState(WebKitWebViewBase*, bool enabled);
    5353void webkitWebViewBaseUpdateTextInputState(WebKitWebViewBase*);
     54void webkitWebViewBaseUpdatePreferences(WebKitWebViewBase*);
    5455
    5556#if USE(TEXTURE_MAPPER_GL)
Note: See TracChangeset for help on using the changeset viewer.