<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>55568</bug_id>
          
          <creation_ts>2011-03-02 03:38:26 -0800</creation_ts>
          <short_desc>[Qt] QGraphicsWebView should use updateMicroFocus() of QGraphicsItem</short_desc>
          <delta_ts>2011-03-21 07:28:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>360703</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-03-02 03:38:26 -0800</bug_when>
    <thetext>Rather than it&apos;s own implementation for obvious reason like bugfixing.

Otherwise we can get some issues like :

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff352be98 in QScopedPointer&lt;QObjectData, QScopedPointerDeleter&lt;QObjectData&gt; &gt;::data (this=0x8) at ../../include/QtCore/../../../qt-47-src/src/corelib/tools/qscopedpointer.h:135
135             return d;
(gdb) bt
#0  0x00007ffff352be98 in QScopedPointer&lt;QObjectData, QScopedPointerDeleter&lt;QObjectData&gt; &gt;::data (this=0x8) at ../../include/QtCore/../../../qt-47-src/src/corelib/tools/qscopedpointer.h:135
#1  0x00007ffff3ce556c in qGetPtrHelper&lt;QScopedPointer&lt;QObjectData&gt; &gt; (p=...) at ../../include/QtCore/../../../qt-47-src/src/corelib/global/qglobal.h:2338
#2  0x00007ffff3ce56f0 in QGraphicsScene::d_func (this=0x0) at /home/darktears/dev/troll/qt-47-src/src/gui/graphicsview/qgraphicsscene.h:297
#3  0x00007ffff3cd5e80 in QGraphicsScene::views (this=0x0) at /home/darktears/dev/troll/qt-47-src/src/gui/graphicsview/qgraphicsscene.cpp:3308
#4  0x00007ffff6a1bf3e in QGraphicsWebViewPrivate::_q_updateMicroFocus() () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#5  0x00007ffff6a1c23a in QGraphicsWebView::qt_metacall(QMetaObject::Call, int, void**) () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#6  0x00007fffe3bba200 in GraphicsWebView::qt_metacall(QMetaObject::Call, int, void**) () from /home/darktears/dev/troll/webkit-trunk/Release/imports/QtWebKit/libqmlwebkitplugin.so
#7  0x00007ffff2bcec77 in QMetaObject::metacall (object=0x71d520, cl=QMetaObject::InvokeMetaMethod, idx=33, argv=0x7fffffff8ce0) at /home/darktears/dev/troll/qt-47-src/src/corelib/kernel/qmetaobject.cpp:237
#8  0x00007ffff2be3d53 in QMetaObject::activate (sender=0x7271f0, m=0x7ffff7c9e5c0, local_signal_index=18, argv=0x0) at /home/darktears/dev/troll/qt-47-src/src/corelib/kernel/qobject.cpp:3278
#9  0x00007ffff6a4c381 in WebCore::EditorClientQt::setInputMethodState(bool) () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#10 0x00007ffff6e3ad57 in WebCore::FocusController::setFocusedNode(WebCore::Node*, WTF::PassRefPtr&lt;WebCore::Frame&gt;) () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#11 0x00007ffff6bd126b in WebCore::Element::focus(bool) () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#12 0x00007ffff66034e2 in WebCore::jsElementPrototypeFunctionFocus(JSC::ExecState*) () from /home/darktears/dev/troll/webkit-trunk/Release/lib/libQtWebKit.so.4
#13 0x00007fff978c21b8 in ?? ()
#14 0xffff000000000000 in ?? ()
#15 0x00007fff978ce33f in ?? ()
#16 0x00000000000004e8 in ?? ()
#17 0x00007fffe0109810 in ?? ()
#18 0x00007fff97461520 in ?? ()
#19 0x0000000000000008 in ?? ()
#20 0x00007fff974615d0 in ?? ()
#21 0x00007fffe01095d0 in ?? ()
#22 0x0000000000000000 in ?? ()
(gdb) quit
A debugging session is active.

Catched by the base implementation but not the one in QGraphicsWebView. Couldn&apos;t reproduce this crash with reliability but it&apos;s obvious to understand that a JS event arrive but the view is already out of the scene and the code was not taking into account that use case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360714</commentid>
    <comment_count>1</comment_count>
      <attachid>84398</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-03-02 03:57:03 -0800</bug_when>
    <thetext>Created attachment 84398
Patch to fix the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361064</commentid>
    <comment_count>2</comment_count>
      <attachid>84398</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-02 14:07:49 -0800</bug_when>
    <thetext>Comment on attachment 84398
Patch to fix the issue

View in context: https://bugs.webkit.org/attachment.cgi?id=84398&amp;action=review

We unfortunately still support 4.6. You should #ifdef for now, so that code can be removed as soon as we release 4.8.

&gt; Source/WebKit/qt/Api/qgraphicswebview.cpp:475
&gt;      connect(d-&gt;page, SIGNAL(microFocusChanged()),
&gt; -            this, SLOT(_q_updateMicroFocus()));
&gt; +            this, SLOT(updateMicroFocus()));

This could go on a single line. We don&apos;t have 80 char limit for WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361075</commentid>
    <comment_count>3</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-03-02 14:25:06 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 84398 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84398&amp;action=review
&gt; 
&gt; We unfortunately still support 4.6. You should #ifdef for now, so that code can be removed as soon as we release 4.8.

We don&apos;t. QtWebKit 2.2 which is the incoming trunk is not supporting it.

2.1 and 2.1.x yes but they won&apos;t cherry pick this patch.

For people with 4.6 configuration they have to go for QtWebKit 2.0.

Benedikte sent an email about that.

&gt; 
&gt; &gt; Source/WebKit/qt/Api/qgraphicswebview.cpp:475
&gt; &gt;      connect(d-&gt;page, SIGNAL(microFocusChanged()),
&gt; &gt; -            this, SLOT(_q_updateMicroFocus()));
&gt; &gt; +            this, SLOT(updateMicroFocus()));
&gt; 
&gt; This could go on a single line. We don&apos;t have 80 char limit for WebKit.

Will modify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361531</commentid>
    <comment_count>4</comment_count>
      <attachid>84398</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-03 05:34:06 -0800</bug_when>
    <thetext>Comment on attachment 84398
Patch to fix the issue

Back to r? since 4.6 is now out of the picture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361658</commentid>
    <comment_count>5</comment_count>
      <attachid>84398</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-03-03 09:04:09 -0800</bug_when>
    <thetext>Comment on attachment 84398
Patch to fix the issue

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361812</commentid>
    <comment_count>6</comment_count>
      <attachid>84398</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 11:58:23 -0800</bug_when>
    <thetext>Comment on attachment 84398
Patch to fix the issue

Clearing flags on attachment: 84398

Committed r80270: &lt;http://trac.webkit.org/changeset/80270&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361813</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 11:58:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84398</attachid>
            <date>2011-03-02 03:57:03 -0800</date>
            <delta_ts>2011-03-03 11:58:23 -0800</delta_ts>
            <desc>Patch to fix the issue</desc>
            <filename>patch2.diff</filename>
            <type>text/plain</type>
            <size>3245</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwIGIv
U291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKaW5kZXggYzc4YzM4My4u
YjFjOTU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKQEAg
LTY5LDkgKzY5LDYgQEAgcHVibGljOgogICAgIHZvaWQgX3FfY29udGVudHNTaXplQ2hhbmdlZChj
b25zdCBRU2l6ZSYpOwogICAgIHZvaWQgX3Ffc2NhbGVDaGFuZ2VkKCk7CiAKLSNpZiAhZGVmaW5l
ZChRVF9OT19JTSkgJiYgKGRlZmluZWQoUV9XU19YMTEpIHx8IGRlZmluZWQoUV9XU19RV1MpIHx8
IGRlZmluZWQoUV9PU19TWU1CSUFOKSkKLSAgICB2b2lkIF9xX3VwZGF0ZU1pY3JvRm9jdXMoKTsK
LSNlbmRpZgogICAgIHZvaWQgX3FfcGFnZURlc3Ryb3llZCgpOwogCiAgICAgUUdyYXBoaWNzV2Vi
VmlldyogcTsKQEAgLTExMiwyMCArMTA5LDYgQEAgdm9pZCBRR3JhcGhpY3NXZWJWaWV3UHJpdmF0
ZTo6X3FfZG9Mb2FkRmluaXNoZWQoYm9vbCBzdWNjZXNzKQogICAgIGVtaXQgcS0+bG9hZEZpbmlz
aGVkKHN1Y2Nlc3MpOwogfQogCi0jaWYgIWRlZmluZWQoUVRfTk9fSU0pICYmIChkZWZpbmVkKFFf
V1NfWDExKSB8fCBkZWZpbmVkKFFfV1NfUVdTKSB8fCBkZWZpbmVkKFFfT1NfU1lNQklBTikpCi12
b2lkIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpfcV91cGRhdGVNaWNyb0ZvY3VzKCkKLXsKLSAg
ICAvLyBJZGVhbGx5LCB0aGlzIHNob3VsZCBiZSBoYW5kbGVkIGJ5IGEgY29tbW9uIGNhbGwgdG8g
YW4gdXBkYXRlTWljcm9Gb2N1cyBmdW5jdGlvbgotICAgIC8vIGluIFFHcmFwaGljc0l0ZW0uIFNl
ZSBodHRwOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTc1NzguCi0gICAg
UUxpc3Q8UUdyYXBoaWNzVmlldyo+IHZpZXdzID0gcS0+c2NlbmUoKS0+dmlld3MoKTsKLSAgICBm
b3IgKGludCBjID0gMDsgYyA8IHZpZXdzLnNpemUoKTsgKytjKSB7Ci0gICAgICAgIFFJbnB1dENv
bnRleHQqIGljID0gdmlld3MuYXQoYyktPmlucHV0Q29udGV4dCgpOwotICAgICAgICBpZiAoaWMp
Ci0gICAgICAgICAgICBpYy0+dXBkYXRlKCk7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgUUdy
YXBoaWNzV2ViVmlld1ByaXZhdGU6Ol9xX3BhZ2VEZXN0cm95ZWQoKQogewogICAgIHBhZ2UgPSAw
OwpAQCAtNDg5LDcgKzQ3Miw3IEBAIHZvaWQgUUdyYXBoaWNzV2ViVmlldzo6c2V0UGFnZShRV2Vi
UGFnZSogcGFnZSkKICAgICAgICAgICAgIHRoaXMsIFNMT1QoX3FfcGFnZURlc3Ryb3llZCgpKSk7
CiAjaWYgIWRlZmluZWQoUVRfTk9fSU0pICYmIChkZWZpbmVkKFFfV1NfWDExKSB8fCBkZWZpbmVk
KFFfV1NfUVdTKSB8fCBkZWZpbmVkKFFfT1NfU1lNQklBTikpCiAgICAgY29ubmVjdChkLT5wYWdl
LCBTSUdOQUwobWljcm9Gb2N1c0NoYW5nZWQoKSksCi0gICAgICAgICAgICB0aGlzLCBTTE9UKF9x
X3VwZGF0ZU1pY3JvRm9jdXMoKSkpOworICAgICAgICAgICAgdGhpcywgU0xPVCh1cGRhdGVNaWNy
b0ZvY3VzKCkpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0Fw
aS9xZ3JhcGhpY3N3ZWJ2aWV3LmggYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2
aWV3LmgKaW5kZXggZTA4ZTg5NS4uNzMzYzIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9BcGkvcWdyYXBoaWNzd2Vidmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3FncmFw
aGljc3dlYnZpZXcuaApAQCAtMTQ0LDkgKzE0NCw2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToK
ICAgICBRX1BSSVZBVEVfU0xPVChkLCB2b2lkIF9xX2RvTG9hZEZpbmlzaGVkKGJvb2wgc3VjY2Vz
cykpCi0jaWYgIWRlZmluZWQoUVRfTk9fSU0pICYmIChkZWZpbmVkKFFfV1NfWDExKSB8fCBkZWZp
bmVkKFFfV1NfUVdTKSB8fCBkZWZpbmVkKFFfT1NfU1lNQklBTikpCi0gICAgUV9QUklWQVRFX1NM
T1QoZCwgdm9pZCBfcV91cGRhdGVNaWNyb0ZvY3VzKCkpCi0jZW5kaWYKICAgICBRX1BSSVZBVEVf
U0xPVChkLCB2b2lkIF9xX3BhZ2VEZXN0cm95ZWQoKSkKICAgICAvLyB3ZSBkb24ndCB3YW50IHRv
IGNoYW5nZSB0aGUgbW9jIGJhc2VkIG9uIFVTRSgpIG1hY3JvLCBzbyB0aGlzIGZ1bmN0aW9uIGlz
IGhlcmUKICAgICAvLyBidXQgd2lsbCBiZSBlbXB0eSBpZiBBQ0NMRVJBVEVEX0NPTVBPU0lUSU5H
IGlzIGRpc2FibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGVkMWQ3MjguLjM0ZjAzMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDMtMDIgIEFsZXhpcyBNZW5hcmQgIDxhbGV4
aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBRR3JhcGhpY3NXZWJWaWV3IHNob3VsZCB1c2UgdXBkYXRl
TWljcm9Gb2N1cygpIG9mIFFHcmFwaGljc0l0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTY4CisKKyAgICAgICAgV2Ugc2hvdWxkIHVzZSB1cGRh
dGVNaWNyb0ZvY3VzKCkgZnJvbSBRR3JhcGhpY3NJdGVtIHJhdGhlciB0aGFuIHRoZSBpbXBsZW1l
bnRhdGlvbgorICAgICAgICBpbiBRR3JhcGhpY3NXZWJWaWV3LiBfcV91cGRhdGVNaWNyb0ZvY3Vz
IHdhcyBhZGRlZCB3aGVuIFFHcmFwaGljc0l0ZW0gZGlkbid0IGhhdmUgdGhlIGZlYXR1cmUuCisg
ICAgICAgIEluIFF0IDQuNywgdXBkYXRlTWljcm9Gb2N1cyB3YXMgYWRkZWQsIGxldCdzIHVzZSBp
dCwgdGhlbiB3ZSBjYW4gYmVuZWZpdCBvZiBhbGwgYnVnIGZpeGluZyBkb25lCisgICAgICAgIGlu
IFFHcmFwaGljc0l0ZW0uCisKKyAgICAgICAgKiBBcGkvcWdyYXBoaWNzd2Vidmlldy5jcHA6Cisg
ICAgICAgIChRR3JhcGhpY3NXZWJWaWV3OjpzZXRQYWdlKToKKyAgICAgICAgKiBBcGkvcWdyYXBo
aWNzd2Vidmlldy5oOgorCiAyMDExLTAyLTI4ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFy
ZEBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>