Changeset 46123 in webkit
- Timestamp:
- Jul 20, 2009, 4:01:12 AM (16 years ago)
- Location:
- trunk/WebKit/gtk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/gtk/ChangeLog
r46007 r46123 1 2009-07-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> 2 3 Reviewed by Holger Freyther. 4 5 [GTK] Widget size negotiation 6 https://bugs.webkit.org/show_bug.cgi?id=17154 7 8 Implement proper size request for the WebView widget. 9 10 * WebCoreSupport/ChromeClientGtk.cpp: 11 (WebKit::ChromeClient::contentsSizeChanged): 12 * webkit/webkitwebview.cpp: 13 (webkit_web_view_size_request): 14 (webkit_web_view_class_init): 15 1 16 2009-07-16 Holger Hans Peter Freyther <zecke@selfish.org> 2 17 -
trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
r46000 r46123 389 389 } 390 390 391 void ChromeClient::contentsSizeChanged(Frame*, const IntSize&) const 392 { 393 notImplemented(); 391 void ChromeClient::contentsSizeChanged(Frame* frame, const IntSize& size) const 392 { 393 // We need to queue a resize request only if the size changed, 394 // otherwise we get into an infinite loop! 395 GtkWidget* widget = GTK_WIDGET(m_webView); 396 if (GTK_WIDGET_REALIZED(widget) && 397 (widget->requisition.height != size.height()) && 398 (widget->requisition.width != size.width())) 399 gtk_widget_queue_resize_no_redraw(widget); 394 400 } 395 401 -
trunk/WebKit/gtk/webkit/webkitwebview.cpp
r46007 r46123 546 546 } 547 547 548 static void webkit_web_view_size_request(GtkWidget* widget, GtkRequisition* requisition) 549 { 550 WebKitWebView* web_view = WEBKIT_WEB_VIEW(widget); 551 Frame* coreFrame = core(webkit_web_view_get_main_frame(web_view)); 552 if (!coreFrame) 553 return; 554 555 FrameView* view = coreFrame->view(); 556 if (!view) 557 return; 558 559 requisition->width = view->contentsWidth(); 560 requisition->height = view->contentsHeight(); 561 } 562 548 563 static void webkit_web_view_size_allocate(GtkWidget* widget, GtkAllocation* allocation) 549 564 { … … 1795 1810 widgetClass->scroll_event = webkit_web_view_scroll_event; 1796 1811 widgetClass->size_allocate = webkit_web_view_size_allocate; 1812 widgetClass->size_request = webkit_web_view_size_request; 1797 1813 widgetClass->popup_menu = webkit_web_view_popup_menu_handler; 1798 1814 widgetClass->grab_focus = webkit_web_view_grab_focus;
Note:
See TracChangeset
for help on using the changeset viewer.