Changeset 199811 in webkit
- Timestamp:
- Apr 21, 2016 3:53:51 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r199810 r199811 1 2016-04-21 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] WebKitWebView should claim the contents size as its natural size 4 https://bugs.webkit.org/show_bug.cgi?id=156835 5 6 Reviewed by Žan Doberšek. 7 8 And keep claiming 0 as its minimum size since it's scrollable. 9 10 * UIProcess/API/gtk/PageClientImpl.cpp: 11 (WebKit::PageClientImpl::didChangeContentSize): Call webkitWebViewBaseSetContentsSize(). 12 * UIProcess/API/gtk/PageClientImpl.h: 13 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 14 (webkitWebViewBaseGetPreferredWidth): Return the contents width as natural width. 15 (webkitWebViewBaseGetPreferredHeight): Return the contents height as natural height. 16 (webkit_web_view_base_class_init): Add implementations of get_preferred_width/height. 17 (webkitWebViewBaseSetContentsSize): Save the contents size. 18 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 19 1 20 2016-04-21 Carlos Garcia Campos <cgarcia@igalia.com> 2 21 -
trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp
r199810 r199811 254 254 } 255 255 256 void PageClientImpl::didChangeContentSize(const IntSize& size) 257 { 258 webkitWebViewBaseSetContentsSize(WEBKIT_WEB_VIEW_BASE(m_viewWidget), size); 259 } 260 256 261 #if ENABLE(DRAG_SUPPORT) 257 262 void PageClientImpl::startDrag(const WebCore::DragData& dragData, PassRefPtr<ShareableBitmap> dragImage) -
trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h
r199810 r199811 96 96 97 97 void handleDownloadRequest(DownloadProxy*) override; 98 void didChangeContentSize(const WebCore::IntSize&) override { }98 void didChangeContentSize(const WebCore::IntSize&) override; 99 99 void didCommitLoadForMainFrame(const String& mimeType, bool useCustomContentProvider) override; 100 100 void didFailLoadForMainFrame() override { } -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
r199810 r199811 192 192 KeyBindingTranslator keyBindingTranslator; 193 193 TouchEventsMap touchEvents; 194 IntSize contentsSize; 194 195 195 196 GtkWindow* toplevelOnScreenWindow; … … 697 698 } 698 699 700 static void webkitWebViewBaseGetPreferredWidth(GtkWidget* widget, gint* minimumSize, gint* naturalSize) 701 { 702 WebKitWebViewBasePrivate* priv = WEBKIT_WEB_VIEW_BASE(widget)->priv; 703 *minimumSize = 0; 704 *naturalSize = priv->contentsSize.width(); 705 } 706 707 static void webkitWebViewBaseGetPreferredHeight(GtkWidget* widget, gint* minimumSize, gint* naturalSize) 708 { 709 WebKitWebViewBasePrivate* priv = WEBKIT_WEB_VIEW_BASE(widget)->priv; 710 *minimumSize = 0; 711 *naturalSize = priv->contentsSize.height(); 712 } 713 699 714 static void webkitWebViewBaseMap(GtkWidget* widget) 700 715 { … … 1166 1181 widgetClass->draw = webkitWebViewBaseDraw; 1167 1182 widgetClass->size_allocate = webkitWebViewBaseSizeAllocate; 1183 widgetClass->get_preferred_width = webkitWebViewBaseGetPreferredWidth; 1184 widgetClass->get_preferred_height = webkitWebViewBaseGetPreferredHeight; 1168 1185 widgetClass->map = webkitWebViewBaseMap; 1169 1186 widgetClass->unmap = webkitWebViewBaseUnmap; … … 1510 1527 } 1511 1528 1529 void webkitWebViewBaseSetContentsSize(WebKitWebViewBase* webkitWebViewBase, const IntSize& contentsSize) 1530 { 1531 WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; 1532 if (priv->contentsSize == contentsSize) 1533 return; 1534 priv->contentsSize = contentsSize; 1535 } 1536 1512 1537 void webkitWebViewBaseResetClickCounter(WebKitWebViewBase* webkitWebViewBase) 1513 1538 { -
trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h
r199810 r199811 56 56 void webkitWebViewBaseSetInputMethodState(WebKitWebViewBase*, bool enabled); 57 57 void webkitWebViewBaseUpdateTextInputState(WebKitWebViewBase*); 58 void webkitWebViewBaseSetContentsSize(WebKitWebViewBase*, const WebCore::IntSize&); 58 59 59 60 void webkitWebViewBaseSetFocus(WebKitWebViewBase*, bool focused); -
trunk/Tools/ChangeLog
r199808 r199811 1 2016-04-21 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 [GTK] WebKitWebView should claim the contents size as its natural size 4 https://bugs.webkit.org/show_bug.cgi?id=156835 5 6 Reviewed by Žan Doberšek. 7 8 Add test case to check the WebKitWebView preferred size. 9 10 * TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp: 11 (testWebViewPreferredSize): 12 (beforeAll): 13 1 14 2016-04-20 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp
r193721 r199811 854 854 } 855 855 856 static void testWebViewPreferredSize(WebViewTest* test, gconstpointer) 857 { 858 test->loadHtml("<html style='width: 325px; height: 615px'></html>", nullptr); 859 test->waitUntilLoadFinished(); 860 test->showInWindowAndWaitUntilMapped(); 861 GtkRequisition minimunSize, naturalSize; 862 gtk_widget_get_preferred_size(GTK_WIDGET(test->m_webView), &minimunSize, &naturalSize); 863 g_assert_cmpint(minimunSize.width, ==, 0); 864 g_assert_cmpint(minimunSize.height, ==, 0); 865 g_assert_cmpint(naturalSize.width, ==, 325); 866 g_assert_cmpint(naturalSize.height, ==, 615); 867 } 868 856 869 static void serverCallback(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer) 857 870 { … … 888 901 IsPlayingAudioWebViewTest::add("WebKitWebView", "is-playing-audio", testWebViewIsPlayingAudio); 889 902 WebViewTest::add("WebKitWebView", "background-color", testWebViewBackgroundColor); 903 WebViewTest::add("WebKitWebView", "preferred-size", testWebViewPreferredSize); 890 904 } 891 905
Note: See TracChangeset
for help on using the changeset viewer.