diff options
author | Dan Vrátil <dvratil@redhat.com> | 2012-09-19 17:04:02 +0800 |
---|---|---|
committer | Dan Vrátil <dvratil@redhat.com> | 2012-09-19 17:04:38 +0800 |
commit | 4a2b0d4f31ee0e5cddaf87ccac2294e6f3f3a620 (patch) | |
tree | f1d7a0d227e2ed9562f627e3efb3f2f6664ab9cf /widgets/misc | |
parent | 184dfd9f022fff18b6308c0ab86f420c3ca51586 (diff) | |
download | gsoc2013-evolution-4a2b0d4f31ee0e5cddaf87ccac2294e6f3f3a620.tar.gz gsoc2013-evolution-4a2b0d4f31ee0e5cddaf87ccac2294e6f3f3a620.tar.zst gsoc2013-evolution-4a2b0d4f31ee0e5cddaf87ccac2294e6f3f3a620.zip |
Bug #678408 - WebKit renders frames with plain/text parts too small
cherry-picked from becfa99e066d525ea2ba3408225235a8542b0005
Workaround for a WebKit bug [0] which appeared in 1.9.x series.
When message is loaded, the content is zoomed in and out to force
WebKit to recalculate and redraw the iframe so that the content
is correctly visible
[0] https://bugs.webkit.org/show_bug.cgi?id=89553
Diffstat (limited to 'widgets/misc')
-rw-r--r-- | widgets/misc/e-web-view.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/widgets/misc/e-web-view.c b/widgets/misc/e-web-view.c index 802e402438..3840b34906 100644 --- a/widgets/misc/e-web-view.c +++ b/widgets/misc/e-web-view.c @@ -578,26 +578,23 @@ web_view_navigation_policy_decision_requested_cb (EWebView *web_view, } static void -web_view_load_status_changed_cb (WebKitWebView *web_view, +web_view_load_status_changed_cb (WebKitWebView *webkit_web_view, GParamSpec *pspec, gpointer user_data) { WebKitLoadStatus status; - GtkAllocation allocation, allocation_copy; + EWebView *web_view; - status = webkit_web_view_get_load_status (web_view); + status = webkit_web_view_get_load_status (webkit_web_view); if (status != WEBKIT_LOAD_FINISHED) return; + web_view = E_WEB_VIEW (webkit_web_view); + web_view_update_document_highlights (web_view); + /* Workaround webkit bug https://bugs.webkit.org/show_bug.cgi?id=89553 */ - gtk_widget_get_allocation (GTK_WIDGET (web_view), &allocation_copy); - allocation = allocation_copy; - allocation.width -= 10; - allocation.height -= 10; - gtk_widget_size_allocate (GTK_WIDGET (web_view), &allocation); - gtk_widget_size_allocate (GTK_WIDGET (web_view), &allocation_copy); - - web_view_update_document_highlights (E_WEB_VIEW (web_view)); + e_web_view_zoom_in (web_view); + e_web_view_zoom_out (web_view); } static void |