Summary: | [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Martin Robinson <mrobinson> | ||||
Component: | WebKitGTK | Assignee: | Martin Robinson <mrobinson> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cgarcia, webkit.review.bot, zuh | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 68757 | ||||||
Attachments: |
|
Description
Martin Robinson
2011-11-19 11:49:36 PST
Created attachment 115974 [details]
Patch
Comment on attachment 115974 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=115974&action=review > Source/WebCore/plugins/gtk/PluginViewGtk.cpp:595 > + g_object_set_data(G_OBJECT(widget), "delayed-allocation", &m_delayedAllocation); We might use a HashMap instead of a HashSet and store the allocation as the value instead of using g_object_set_data(), see the new windowed plugins patch > Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:571 > + if (static_cast<GtkAllocation*>(g_object_get_data(G_OBJECT(*current), "delayed-allocation"))) { using a hash map here you simply would do: if (!current->second.isEmpty()) (In reply to comment #2) > We might use a HashMap instead of a HashSet and store the allocation as the value instead of using g_object_set_data(), see the new windowed plugins patch I think we have to use g_object_set_data here because the WebKit layer cannot expose any interface to WebCore. Comment on attachment 115974 [details]
Patch
Good idea =)
Comment on attachment 115974 [details] Patch Clearing flags on attachment: 115974 Committed r102604: <http://trac.webkit.org/changeset/102604> All reviewed patches have been landed. Closing bug. |