[webkit-reviews] review denied: [Bug 79252] [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling : [Attachment 128235] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Feb 22 10:16:07 PST 2012


Martin Robinson <mrobinson at webkit.org> has denied Sergio Villar Senin
<svillar at igalia.com>'s request for review:
Bug 79252: [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
https://bugs.webkit.org/show_bug.cgi?id=79252

Attachment 128235: Patch
https://bugs.webkit.org/attachment.cgi?id=128235&action=review

------- Additional Comments from Martin Robinson <mrobinson at webkit.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=128235&action=review


> Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:141
>  static Frame* frameSettingClipboard;
>  static void collapseSelection(GtkClipboard* clipboard, Frame* frame)
>  {
> -    if (frameSettingClipboard && frameSettingClipboard == frame)
> -	   return;
> +    if (!frameSettingClipboard || frameSettingClipboard != frame)
> +	   // Collapse the selection without clearing it.
> +	   frame->selection()->setBase(frame->selection()->extent(),
frame->selection()->affinity());
>  
> -    // Collapse the selection without clearing it.
> -    ASSERT(frame);
> -    frame->selection()->setBase(frame->selection()->extent(),
frame->selection()->affinity());
> +    frame->deref();
>  }

I think that manually referencing the frame here is the wrong approach. Intead
of hanging on to the frame, WebKit1 keeps a reference to the WebView and uses
corePage->focusController()->focusedOrMainFrame(). Another approach is to
figure out a way to detect when the frame dies and to clear
frameSettingClipboard then.


More information about the webkit-reviews mailing list