<?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>32670</bug_id>
          
          <creation_ts>2009-12-17 10:08:32 -0800</creation_ts>
          <short_desc>QGraphicsWebView crash</short_desc>
          <delta_ts>2010-03-23 15:53:21 -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>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Bakken">anders.bakken</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>172835</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Bakken">anders.bakken</who>
    <bug_when>2009-12-17 10:08:32 -0800</bug_when>
    <thetext>QGraphicsWebViewPrivate assumes that it has been added to a scene and can crash when webkit calls QWebPageClient functions on it.

This attached example crashes on Qt/X11 (but likely on all platforms).
The attached patch takes care of the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>172837</commentid>
    <comment_count>1</comment_count>
      <attachid>45082</attachid>
    <who name="Anders Bakken">anders.bakken</who>
    <bug_when>2009-12-17 10:09:07 -0800</bug_when>
    <thetext>Created attachment 45082
Patch to fix bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174754</commentid>
    <comment_count>2</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2009-12-24 03:50:39 -0800</bug_when>
    <thetext>Anders, thanks for the patch. 

Every patch requires a ChangeLog.  See http://webkit.org/coding/contributing.html for how to create one. Next time you should also mark the patch for review to get some attentions from reviewers. 

The code changes looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198034</commentid>
    <comment_count>3</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-10 06:27:36 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should only be used for bugs/features in the
    public QtWebKit API layer, not to signify that the bug is specific to
    the Qt port of WebKit

      http://trac.webkit.org/wiki/QtWebKitBugs#Component

  - Add the keyword &apos;Qt&apos; to signal that it&apos;s a Qt-related bug

      http://trac.webkit.org/wiki/QtWebKitBugs#Keywords</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201612</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-18 15:47:54 -0700</bug_when>
    <thetext>Anders, any update on this? It seems only the changelog is missing :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201614</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-18 15:49:23 -0700</bug_when>
    <thetext>Changing severity to critical, it&apos;s a crasher.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203226</commentid>
    <comment_count>6</comment_count>
      <attachid>51455</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-03-23 14:48:06 -0700</bug_when>
    <thetext>Created attachment 51455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203228</commentid>
    <comment_count>7</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-03-23 14:52:38 -0700</bug_when>
    <thetext>Since this is critical, I have applied the patch to trunk and added a Changelog to it. I kept Anders Bakken as the primary author of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203261</commentid>
    <comment_count>8</comment_count>
      <attachid>51455</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-23 15:40:23 -0700</bug_when>
    <thetext>Comment on attachment 51455
Patch

Clearing flags on attachment: 51455

Committed r56423: &lt;http://trac.webkit.org/changeset/56423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203262</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-23 15:40:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203264</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 15:43:41 -0700</bug_when>
    <thetext>Not solved properly yet, so reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203265</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 15:44:32 -0700</bug_when>
    <thetext>Wrong bug :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203270</commentid>
    <comment_count>12</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-03-23 15:53:21 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Since this is critical, I have applied the patch to trunk and added a Changelog
&gt; to it. I kept Anders Bakken as the primary author of the patch.

What I mean is that I have updated the patch and not really landed it into trunk. It is now landed (thanks, Kenneth!).


I was taking another look at qgraphicswebview.cpp and noticed three other places that assume that q-&gt;scene() isn&apos;t null without checking:

- QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate(), line 169.
- QGraphicsWebViewPrivate::setRootGraphicsLayer(QGraphicsItem* layer), line 199.
- QGraphicsWebViewPrivate::_q_updateMicroFocus(), line 254.

The first two we just have when ACCELERATED_COMPOSITING is enable. So I _guess_ that we could assume that we always have a QGScene on this situation. Maybe only a ASSERT is necessary?

The last one, at _q_updateMicroFocus(), would need a check as the ones from the previous patch, imho.

What do you think?


Also,
(In reply to comment #0)
&gt; This attached example crashes on Qt/X11 (but likely on all platforms).

I think that the example is missing, Anders. It would be nice to have it as a test on QtWebKit, maybe.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45082</attachid>
            <date>2009-12-17 10:09:07 -0800</date>
            <delta_ts>2010-03-23 14:47:57 -0700</delta_ts>
            <desc>Patch to fix bug</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1234</size>
            <attacher name="Anders Bakken">anders.bakken</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3NyYy8zcmRwYXJ0eS93ZWJraXQvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3
ZWJ2aWV3LmNwcCBiL3NyYy8zcmRwYXJ0eS93ZWJraXQvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3
ZWJ2aWV3LmNwcAppbmRleCBjZWI1ZWUxLi44NWExNmNmIDEwMDY0NAotLS0gYS9zcmMvM3JkcGFy
dHkvd2Via2l0L1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvc3JjLzNy
ZHBhcnR5L3dlYmtpdC9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCkBAIC0xMzYs
MTAgKzEzNiwxMiBAQCBRUGFsZXR0ZSBRR3JhcGhpY3NXZWJWaWV3UHJpdmF0ZTo6cGFsZXR0ZSgp
IGNvbnN0CiBpbnQgUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6OnNjcmVlbk51bWJlcigpIGNvbnN0
CiB7CiAjaWYgZGVmaW5lZChRX1dTX1gxMSkKLSAgICBjb25zdCBRTGlzdDxRR3JhcGhpY3NWaWV3
Kj4gdmlld3MgPSBxLT5zY2VuZSgpLT52aWV3cygpOworICAgIGlmIChRR3JhcGhpY3NTY2VuZSAq
c2NlbmUgPSBxLT5zY2VuZSgpKSB7CisgICAgICAgIGNvbnN0IFFMaXN0PFFHcmFwaGljc1ZpZXcq
PiB2aWV3cyA9IHNjZW5lLT52aWV3cygpOwogCi0gICAgaWYgKCF2aWV3cy5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiB2aWV3cy5hdCgwKS0+eDExSW5mbygpLnNjcmVlbigpOworICAgICAgICBp
ZiAoIXZpZXdzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB2aWV3cy5hdCgwKS0+eDEx
SW5mbygpLnNjcmVlbigpOworICAgIH0KICNlbmRpZgogCiAgICAgcmV0dXJuIDA7CkBAIC0xNDcs
OCArMTQ5LDExIEBAIGludCBRR3JhcGhpY3NXZWJWaWV3UHJpdmF0ZTo6c2NyZWVuTnVtYmVyKCkg
Y29uc3QKIAogUVdpZGdldCogUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6Om93bmVyV2lkZ2V0KCkg
Y29uc3QKIHsKLSAgICBjb25zdCBRTGlzdDxRR3JhcGhpY3NWaWV3Kj4gdmlld3MgPSBxLT5zY2Vu
ZSgpLT52aWV3cygpOwotICAgIHJldHVybiB2aWV3cy52YWx1ZSgwKTsKKyAgICBpZiAoUUdyYXBo
aWNzU2NlbmUgKnNjZW5lID0gcS0+c2NlbmUoKSkgeworICAgICAgICBjb25zdCBRTGlzdDxRR3Jh
cGhpY3NWaWV3Kj4gdmlld3MgPSBzY2VuZS0+dmlld3MoKTsKKyAgICAgICAgcmV0dXJuIHZpZXdz
LnZhbHVlKDApOworICAgIH0KKyAgICByZXR1cm4gMDsKIH0KIAogUU9iamVjdCogUUdyYXBoaWNz
V2ViVmlld1ByaXZhdGU6OnBsdWdpblBhcmVudCgpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51455</attachid>
            <date>2010-03-23 14:48:06 -0700</date>
            <delta_ts>2010-03-23 15:40:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32670-20100323185002.patch</filename>
            <type>text/plain</type>
            <size>1878</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDEwN2EzNzYuLmQ5MjhiOGQgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtMzI3LDEwICszMjcsMTIgQEAgUVBhbGV0dGUg
UUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6OnBhbGV0dGUoKSBjb25zdAogaW50IFFHcmFwaGljc1dl
YlZpZXdQcml2YXRlOjpzY3JlZW5OdW1iZXIoKSBjb25zdAogewogI2lmIGRlZmluZWQoUV9XU19Y
MTEpCi0gICAgY29uc3QgUUxpc3Q8UUdyYXBoaWNzVmlldyo+IHZpZXdzID0gcS0+c2NlbmUoKS0+
dmlld3MoKTsKKyAgICBpZiAoUUdyYXBoaWNzU2NlbmUqIHNjZW5lID0gcS0+c2NlbmUoKSkgewor
ICAgICAgICBjb25zdCBRTGlzdDxRR3JhcGhpY3NWaWV3Kj4gdmlld3MgPSBzY2VuZS0+dmlld3Mo
KTsKIAotICAgIGlmICghdmlld3MuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdmlld3MuYXQo
MCktPngxMUluZm8oKS5zY3JlZW4oKTsKKyAgICAgICAgaWYgKCF2aWV3cy5pc0VtcHR5KCkpCisg
ICAgICAgICAgICByZXR1cm4gdmlld3MuYXQoMCktPngxMUluZm8oKS5zY3JlZW4oKTsKKyAgICB9
CiAjZW5kaWYKIAogICAgIHJldHVybiAwOwpAQCAtMzM4LDggKzM0MCwxMSBAQCBpbnQgUUdyYXBo
aWNzV2ViVmlld1ByaXZhdGU6OnNjcmVlbk51bWJlcigpIGNvbnN0CiAKIFFXaWRnZXQqIFFHcmFw
aGljc1dlYlZpZXdQcml2YXRlOjpvd25lcldpZGdldCgpIGNvbnN0CiB7Ci0gICAgY29uc3QgUUxp
c3Q8UUdyYXBoaWNzVmlldyo+IHZpZXdzID0gcS0+c2NlbmUoKS0+dmlld3MoKTsKLSAgICByZXR1
cm4gdmlld3MudmFsdWUoMCk7CisgICAgaWYgKFFHcmFwaGljc1NjZW5lKiBzY2VuZSA9IHEtPnNj
ZW5lKCkpIHsKKyAgICAgICAgY29uc3QgUUxpc3Q8UUdyYXBoaWNzVmlldyo+IHZpZXdzID0gc2Nl
bmUtPnZpZXdzKCk7CisgICAgICAgIHJldHVybiB2aWV3cy52YWx1ZSgwKTsKKyAgICB9CisgICAg
cmV0dXJuIDA7CiB9CiAKIFFPYmplY3QqIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpwbHVnaW5Q
YXJlbnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggZDZhNDZiOS4uNjBiNjVhNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTAtMDMtMjMgIEFuZGVycyBCYWtrZW4gPGFuZGVycy5iYWtrZW5Abm9raWEuY29tPiwgSmVzdXMg
U2FuY2hlei1QYWxlbmNpYSA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBpZiBxLT5zY2Vu
ZSgpIGlzIGF2YWlsYWJsZSBiZWZvcmUgYWN0dWFsbHkgdXNpbmcgaXQKKyAgICAgICAgb24gUUdy
YXBoaWNzV2ViVmlld1ByaXZhdGUuCisKKyAgICAgICAgUUdyYXBoaWNzV2ViVmlldyBjcmFzaAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI2NzAKKwor
ICAgICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFHcmFwaGljc1dl
YlZpZXdQcml2YXRlOjpzY3JlZW5OdW1iZXIpOgorICAgICAgICAoUUdyYXBoaWNzV2ViVmlld1By
aXZhdGU6Om93bmVyV2lkZ2V0KToKKwogMjAxMC0wMy0yMyAgRGF2aWQgTGVvbmcgIDxkYXZpZC5s
ZW9uZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTGFzemxvIEdvbWJvcy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>