Changeset 109341 in webkit
- Timestamp:
- Mar 1, 2012, 5:56:47 AM (15 years ago)
- Location:
- releases/WebKitGTK/webkit-1.8/Source/WebKit2
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/API/gtk/WebKitWebView.cpp (modified) (5 diffs)
-
UIProcess/API/gtk/tests/TestWebKitWebView.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-1.8/Source/WebKit2/ChangeLog
r109339 r109341 1 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only 4 https://bugs.webkit.org/show_bug.cgi?id=75252 5 6 Reviewed by Gustavo Noronha Silva. 7 8 * UIProcess/API/gtk/WebKitWebView.cpp: 9 (zoomTextOnlyChanged): Update text/page zoom factor when 10 zoom-text-only setting changes. 11 (webkitWebViewSetSettings): Helper function to set the settings 12 object for the web view, initializing the settings for the page 13 and connecting to notify::zoom-text-only signal. 14 (webkitWebViewConstructed): Use webkitWebViewSetSettings(). 15 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and 16 disconnect from the notify::zoom-text-only signal of the previous 17 settings object. 18 (webkit_web_view_set_zoom_level): Set text/page zoom factor 19 depending on WebKitSettings:zoom-text-only property. 20 (webkit_web_view_get_zoom_level): Get text/page zoom factor 21 depending on WebKitSettings:zoom-text-only property. 22 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 23 (testWebViewZoomLevel): 24 1 25 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com> 2 26 -
releases/WebKitGTK/webkit-1.8/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
r109330 r109341 166 166 } 167 167 168 static void zoomTextOnlyChanged(WebKitSettings* settings, GParamSpec*, WebKitWebView* webView) 169 { 170 WKPageRef wkPage = toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))); 171 gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(settings); 172 gdouble pageZoomLevel = zoomTextOnly ? 1 : WKPageGetTextZoomFactor(wkPage); 173 gdouble textZoomLevel = zoomTextOnly ? WKPageGetPageZoomFactor(wkPage) : 1; 174 WKPageSetPageAndTextZoomFactors(wkPage, pageZoomLevel, textZoomLevel); 175 } 176 177 static void webkitWebViewSetSettings(WebKitWebView* webView, WebKitSettings* settings, WKPageRef wkPage) 178 { 179 webView->priv->settings = settings; 180 webkitSettingsAttachSettingsToPage(webView->priv->settings.get(), wkPage); 181 g_signal_connect(settings, "notify::zoom-text-only", G_CALLBACK(zoomTextOnlyChanged), webView); 182 } 183 168 184 static void webkitWebViewConstructed(GObject* object) 169 185 { … … 183 199 WebPageProxy* page = webkitWebViewBaseGetPage(webViewBase); 184 200 priv->backForwardList = adoptGRef(webkitBackForwardListCreate(WKPageGetBackForwardList(toAPI(page)))); 185 priv->settings = adoptGRef(webkit_settings_new()); 186 webkitSettingsAttachSettingsToPage(priv->settings.get(), toAPI(page)); 201 202 GRefPtr<WebKitSettings> settings = adoptGRef(webkit_settings_new()); 203 webkitWebViewSetSettings(webView, settings.get(), toAPI(page)); 187 204 } 188 205 … … 1282 1299 return; 1283 1300 1284 webView->priv->settings = settings;1285 webkit SettingsAttachSettingsToPage(settings, toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))));1301 g_signal_handlers_disconnect_by_func(webView->priv->settings.get(), reinterpret_cast<gpointer>(zoomTextOnlyChanged), webView); 1302 webkitWebViewSetSettings(webView, settings, toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView)))); 1286 1303 } 1287 1304 … … 1345 1362 return; 1346 1363 1347 WKPageSetPageZoomFactor(wkPage, zoomLevel); 1364 if (webkit_settings_get_zoom_text_only(webView->priv->settings.get())) 1365 WKPageSetTextZoomFactor(wkPage, zoomLevel); 1366 else 1367 WKPageSetPageZoomFactor(wkPage, zoomLevel); 1348 1368 g_object_notify(G_OBJECT(webView), "zoom-level"); 1349 1369 } … … 1363 1383 1364 1384 WKPageRef wkPage = toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))); 1365 return WKPageGetPageZoomFactor(wkPage); 1385 gboolean zoomTextOnly = webkit_settings_get_zoom_text_only(webView->priv->settings.get()); 1386 return zoomTextOnly ? WKPageGetTextZoomFactor(wkPage) : WKPageGetPageZoomFactor(wkPage); 1366 1387 } 1367 1388 -
releases/WebKitGTK/webkit-1.8/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp
r107250 r109341 448 448 webkit_web_view_set_zoom_level(test->m_webView, 2.5); 449 449 g_assert_cmpfloat(webkit_web_view_get_zoom_level(test->m_webView), ==, 2.5); 450 451 webkit_settings_set_zoom_text_only(webkit_web_view_get_settings(test->m_webView), TRUE); 452 // The zoom level shouldn't change when zoom-text-only setting changes. 453 g_assert_cmpfloat(webkit_web_view_get_zoom_level(test->m_webView), ==, 2.5); 450 454 } 451 455
Note:
See TracChangeset
for help on using the changeset viewer.