<?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>54138</bug_id>
          
          <creation_ts>2011-02-09 13:24:08 -0800</creation_ts>
          <short_desc>[Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent</short_desc>
          <delta_ts>2011-03-22 11:39:38 -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>WebGL</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>P5</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>53431</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrew Wason">rectalogic</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jarkko.j.sakkinen</cc>
    
    <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348513</commentid>
    <comment_count>0</comment_count>
      <attachid>81860</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-09 13:24:08 -0800</bug_when>
    <thetext>Created attachment 81860
Qt app that demonstrates the crash

This bug depends on a working WebGL build from bug 53431

If a QWebPage content contains WebGL, when the page is rendered it crashes because WebCore::GraphicsContext3DInternal::getOwnerGLWidget assumes we have a QWebPageClient. Need to check and return 0 if no QWebPageClient was set.

Simple demo app attached, and backtrace from running it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348514</commentid>
    <comment_count>1</comment_count>
      <attachid>81861</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-09 13:25:02 -0800</bug_when>
    <thetext>Created attachment 81861
gdb backtrace when running client_crash test app</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348517</commentid>
    <comment_count>2</comment_count>
      <attachid>81863</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-09 13:28:28 -0800</bug_when>
    <thetext>Created attachment 81863
Check webPageClient before referencing it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348533</commentid>
    <comment_count>3</comment_count>
      <attachid>81863</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-09 13:49:14 -0800</bug_when>
    <thetext>Comment on attachment 81863
Check webPageClient before referencing it

This should really have an autotest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348769</commentid>
    <comment_count>4</comment_count>
      <attachid>81911</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-09 18:43:54 -0800</bug_when>
    <thetext>Created attachment 81911
Check webPageClient before referencing it

Add unit test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348798</commentid>
    <comment_count>5</comment_count>
      <attachid>81911</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-02-09 21:23:43 -0800</bug_when>
    <thetext>Comment on attachment 81911
Check webPageClient before referencing it

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

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2482
&gt; +#if defined(ENABLE_WEBGL) &amp;&amp; ENABLE_WEBGL

this looks odd...

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2483
&gt; +// https://bugs.webkit.org/show_bug.cgi?id=54138

usually git blame and the changelog are enough for reference bugs like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349074</commentid>
    <comment_count>6</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-10 08:07:39 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 81911 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81911&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2482
&gt; &gt; +#if defined(ENABLE_WEBGL) &amp;&amp; ENABLE_WEBGL
&gt; 
&gt; this looks odd...

I know the conventional way is:
#if ENABLE(WEBGL)
but the ENABLE macro isn&apos;t available in tst_qwebpage.cpp - not sure what header I need to get it.

Should I just remove the ifdefs altogether?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349075</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-10 08:10:35 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; I know the conventional way is:
&gt; #if ENABLE(WEBGL)
&gt; but the ENABLE macro isn&apos;t available in tst_qwebpage.cpp - not sure what header I need to get it.

I doubt ENABLE_WEBGL is available for the tests, this is WebKit internal.

Maybe you should check if WebGL is available at runtime, like I did for geolocation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349077</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-10 08:12:43 -0800</bug_when>
    <thetext>Why is there no QWebPageClient set?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349078</commentid>
    <comment_count>9</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-10 08:14:29 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; I doubt ENABLE_WEBGL is available for the tests, this is WebKit internal.

Well, the test builds and runs (when passing --3d-canvas to build-webkit) so it must be available.

&gt; Maybe you should check if WebGL is available at runtime, like I did for geolocation?

OK, I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349080</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-10 08:18:36 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; I doubt ENABLE_WEBGL is available for the tests, this is WebKit internal.
&gt; 
&gt; Well, the test builds and runs (when passing --3d-canvas to build-webkit) so it must be available.

That particular function runs? Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349090</commentid>
    <comment_count>11</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-10 08:30:38 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Why is there no QWebPageClient set?

It looks like the client is set when you set the view (in QWebPage::setView in Source/WebKit/qt/Api/qwebpage.cpp) and we don&apos;t have a view in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349094</commentid>
    <comment_count>12</comment_count>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-02-10 08:36:38 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; Well, the test builds and runs (when passing --3d-canvas to build-webkit) so it must be available.
&gt; 
&gt; That particular function runs? Ok.

Yes:

./tst_qwebpage webGLScreenshotWithoutView
********* Start testing of tst_QWebPage *********
Config: Using QTest library 4.7.1, Qt 4.7.1
PASS   : tst_QWebPage::initTestCase()
PASS   : tst_QWebPage::webGLScreenshotWithoutView()
PASS   : tst_QWebPage::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_QWebPage *********
LEAK: 7 WebCoreNode
LEAK: 291 Structure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370228</commentid>
    <comment_count>13</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-20 13:03:58 -0700</bug_when>
    <thetext>Hi, what&apos;s the status of this? I have implemented couple of fixes to upstream that you have to take into account:
- https://bugs.webkit.org/show_bug.cgi?id=56555
- https://bugs.webkit.org/show_bug.cgi?id=56339

I looked at your fix and these changes must be done:
- In the test case enable QWebSettings::AcceleratedCompositing. We support (at least for the first releasable WebGL support) creation only when accelerated compositing is enabled.
- Put the fix into getViewportGLWidget().

Either submit a revised fix *or* inform me if you don&apos;t want to do it. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370229</commentid>
    <comment_count>14</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-20 13:05:18 -0700</bug_when>
    <thetext>This is also now listed in https://trac.webkit.org/wiki/QtWebKitWebGL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370256</commentid>
    <comment_count>15</comment_count>
      <attachid>86288</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-03-20 18:40:38 -0700</bug_when>
    <thetext>Created attachment 86288
Check webPageClient before referencing it

Fix patch to take into account upstream changes.
Enable QWebSettings::AcceleratedCompositingEnabled in testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370289</commentid>
    <comment_count>16</comment_count>
    <who name="Jarkko Sakkinen">jarkko.j.sakkinen</who>
    <bug_when>2011-03-20 23:14:33 -0700</bug_when>
    <thetext>Looks good to me. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371349</commentid>
    <comment_count>17</comment_count>
      <attachid>86288</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-03-22 06:27:48 -0700</bug_when>
    <thetext>Comment on attachment 86288
Check webPageClient before referencing it

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

The change make sense to me, I would just like better testing.

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2482
&gt; +void tst_QWebPage::webGLScreenshotWithoutView()

I would like this test, with and without AcceleratedCompositingEnabled. Just to have good coverage.

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2484
&gt; +    QWebPage* page = new QWebPage;

You should allocate the QWebPage on the stack to avoid dealing with the memory manually.

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:2492
&gt; +    ::waitForSignal(mainFrame, SIGNAL(loadFinished(bool)), 2000);

Is loadFinished() called for setHtml? Otherwise the test would always spend 2 seconds waiting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371395</commentid>
    <comment_count>18</comment_count>
      <attachid>86462</attachid>
    <who name="Andrew Wason">rectalogic</who>
    <bug_when>2011-03-22 08:20:14 -0700</bug_when>
    <thetext>Created attachment 86462
Check webPageClient before referencing it

Changed testcase to:
* Test with and without AcceleratedCompositing enabled.
* Allocate QWebPage on stack.
* Do not wait for loadFinished signal, it is not called for setHtml().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371400</commentid>
    <comment_count>19</comment_count>
      <attachid>86462</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-22 08:49:18 -0700</bug_when>
    <thetext>Comment on attachment 86462
Check webPageClient before referencing it

Clearing flags on attachment: 86462

Committed r81669: &lt;http://trac.webkit.org/changeset/81669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371401</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-22 08:49:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371512</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-22 11:39:38 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81669 might have broken GTK Linux 32-bit Debug
The following tests are not passing:
inspector/debugger/debug-inlined-scripts.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>81860</attachid>
            <date>2011-02-09 13:24:08 -0800</date>
            <delta_ts>2011-02-09 13:24:08 -0800</delta_ts>
            <desc>Qt app that demonstrates the crash</desc>
            <filename>client_crash.zip</filename>
            <type>application/zip</type>
            <size>937</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAGKBST4AAAAAAAAAAAAAAAAEABAAYnVnL1VYDAD2AlNN6AJTTdMH9QFQSwMEFAAI
AAgAaIBJPgAAAAAAAAAAAAAAABQAEABidWcvY2xpZW50X2NyYXNoLmNwcFVYDACcA1NNFAFTTdMH
9QF1Ud9rwjAQfu9fERTWVOoP2IvUWtChTtiDTtgeR9oebaBNQ7yq29j/vqSNmzrWh8t9d1+/3H3p
cpEUdQok3M6kLHjCkFcicrq/9XXJMriqvEK8VKz8U9zcEjeMCwQVOY4+SakRNQlTWeKTJGeq1zPg
4DmfDtHf5QyESUlbZkOZtAx7DZE6tCWTDfaALxyOslK44x9At028H418ooPnXVORi2xPvX6k8xmi
4nGN+h+tvbPNINBg9bQQLC4g9QmqGi5FzC6NB1blEctCX6qlREY7YcLEge0JT6fuEeKscMmRp5hP
XT2MS3LgWY4tiMJhS47CfaK4xCitkroEgYMMcFGASefv65RaJc/UHyrt6wmpCycJihsOK/qWEA6t
Usfs3drWPCLhJt5649tuECwrVTJ8e17Nx+Px2XD7hnrt5qR3jci/XigQqWFZ+g+vQQPdpOeZFGCt
BBlNnC/nG1BLBwisbqW1WwEAAIcCAABQSwMEFAAIAAgAYoFJPgAAAAAAAAAAAAAAABQAEABidWcv
Y2xpZW50X2NyYXNoLnByb1VYDACcA1NN6AJTTdMH9QELcfUN8HEMcVWwVUgsKOAK9g8NcnYNVtC2
VUjOyUzNK4lPLkosztBLBso5+/u5ebqDpfLzivNzUhXKE4vy4vPzFFJSk0rT4xPzUuKLUnNSE4tT
uQJDQOrKU5OyM0ugGjXAqnQgimugCjUVqrkUgCDEMcjdNUQB1dZ4sFKuWoXUnOJUfAq5arkAUEsH
CADM5UqIAAAAyAAAAFBLAQIVAwoAAAAAAGKBST4AAAAAAAAAAAAAAAAEAAwAAAAAAAAAAEDtQQAA
AABidWcvVVgIAPYCU03oAlNNUEsBAhUDFAAIAAgAaIBJPqxupbVbAQAAhwIAABQADAAAAAAAAAAA
QKSBMgAAAGJ1Zy9jbGllbnRfY3Jhc2guY3BwVVgIAJwDU00UAVNNUEsBAhUDFAAIAAgAYoFJPgDM
5UqIAAAAyAAAABQADAAAAAAAAAAAQKSB3wEAAGJ1Zy9jbGllbnRfY3Jhc2gucHJvVVgIAJwDU03o
AlNNUEsFBgAAAAADAAMA2gAAALkCAAAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>81861</attachid>
            <date>2011-02-09 13:25:02 -0800</date>
            <delta_ts>2011-02-09 13:25:02 -0800</delta_ts>
            <desc>gdb backtrace when running client_crash test app</desc>
            <filename>client_crash_backtrace.log</filename>
            <type>text/plain</type>
            <size>2069</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">UHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0LgoweDAw
MDA3ZmZmZjY3ODgzYWMgaW4gV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6Z2V0
T3duZXJHTFdpZGdldCAodGhpcz0weDcwODE5MCwgd2ViUGFnZUNsaWVudD0weDApIGF0IC4uLy4u
Ly4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNE
UXQuY3BwOjQ1OQo0NTkgICAgICAgICBRQWJzdHJhY3RTY3JvbGxBcmVhKiBzY3JvbGxBcmVhID0g
cW9iamVjdF9jYXN0PFFBYnN0cmFjdFNjcm9sbEFyZWEqPih3ZWJQYWdlQ2xpZW50LT5vd25lcldp
ZGdldCgpKTsKKGdkYikgYnQKIzAgIDB4MDAwMDdmZmZmNjc4ODNhYyBpbiBXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQzREludGVybmFsOjpnZXRPd25lckdMV2lkZ2V0ICh0aGlzPTB4NzA4MTkwLCB3
ZWJQYWdlQ2xpZW50PTB4MCkgYXQgLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6NDU5CiMxICAweDAwMDA3ZmZmZjY3ODU0
ZGIgaW4gR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbCAodGhpcz0weDcwODE5MCwgYXR0cnM9Li4u
LCBob3N0V2luZG93PTB4NjVkZGUwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoyOTEKIzIgIDB4MDAwMDdmZmZm
Njc4ODk4NCBpbiBHcmFwaGljc0NvbnRleHQzRCAodGhpcz0weDZmMjgwMCwgYXR0cnM9Li4uLCBo
b3N0V2luZG93PTB4NjVkZGUwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDo0OTQKIzMgIDB4MDAwMDdmZmZmNjc4
ODcxNyBpbiBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlIChhdHRycz0uLi4sIGhv
c3RXaW5kb3c9MHg2NWRkZTAsIHJlbmRlclN0eWxlPVdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
OjpSZW5kZXJPZmZzY3JlZW4pIGF0IC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwOjQ4OQojNCAgMHgwMDAwN2ZmZmY2NzI3
MzJlIGluIFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlIChjYW52YXM9MHg2
YTlmMjAsIGF0dHJzPTB4NmU5NmIwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOjM1MgojNSAgMHgwMDAwN2ZmZmY1ZWZlNDM3
IGluIFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0ICh0aGlzPTB4NmE5ZjIw
LCB0eXBlPS4uLiwgYXR0cnM9MHg2ZTk2YjApIGF0IC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOjE4MwojNiAgMHgwMDAwN2ZmZmY1YjdlNWFlIGluIFdl
YkNvcmU6OkpTSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQgKHRoaXM9MHg3ZmZmYWMwNDJj
MDAsIGV4ZWM9MHg3ZmZmYWMwYjAwODApIGF0IC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwOjgyCiM3ICAweDAwMDA3ZmZmZjU4
ODg1NDMgaW4gV2ViQ29yZTo6anNIVE1MQ2FudmFzRWxlbWVudFByb3RvdHlwZUZ1bmN0aW9uR2V0
Q29udGV4dCAoZXhlYz0weDdmZmZhYzBiMDA4MCkgYXQgZ2VuZXJhdGVkL0pTSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwOjIxOAojOCAgMHgwMDAwN2ZmZmFjNGIwMWI4IGluID8/ICgpCiM5ICAweDAwMDA3
ZmZmZmZmZmM1NDAgaW4gPz8gKCkKIzEwIDB4MDAwMDdmZmZhYzRiMDU3OCBpbiA/PyAoKQojMTEg
MHgwMDAwN2ZmZmZmZmZjNGMwIGluID8/ICgpCiMxMiAweDAwMDA3ZmZmYWMwNDJjMDAgaW4gPz8g
KCkKIzEzIDB4MDAwMDAwMDAwMDZmYmUxOCBpbiA/PyAoKQojMTQgMHgwMDAwN2ZmZmZmZmZjNTEw
IGluID8/ICgpCiMxNSAweDAwMDA3ZmZmZmZmZmM0ZjAgaW4gPz8gKCkKIzE2IDB4MDAwMDAwMDAw
MDAwMDAwMCBpbiA/PyAoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81863</attachid>
            <date>2011-02-09 13:28:28 -0800</date>
            <delta_ts>2011-02-09 18:43:54 -0800</delta_ts>
            <desc>Check webPageClient before referencing it</desc>
            <filename>client.diff</filename>
            <type>text/plain</type>
            <size>1382</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MTI0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMDkgIEFuZHJldyBX
YXNvbiAgPHJlY3RhbG9naWNAcmVjdGFsb2dpYy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUVdlYlBhZ2Ugd2l0aCBXZWJHTCBjb250ZW50IGNy
YXNoZXMgd2hlbiByZW5kZXJpbmcgaWYgbm8gUVdlYlZpZXcgcGFyZW50CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDEzOAorCisgICAgICAgIE5vIG5l
dyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dDNEUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6
Z2V0T3duZXJHTFdpZGdldCk6CisgICAgICAgICBDaGVjayBpZiB3ZSBhY3R1YWxseSBoYXZlIGEg
UVdlYlBhZ2VDbGllbnQgYmVmb3JlIHJlZmVyZW5jaW5nIGl0LgorCiAyMDExLTAyLTA5ICBOYW9r
aSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUnVzc2VsbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCShyZXZpc2lvbiA3
Nzc0NCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29u
dGV4dDNEUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzQsNiArNDc0LDkgQEAgR3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbDo6fkdyYXBoaWNzQ29udAogCiBRR0xXaWRnZXQqIEdyYXBoaWNzQ29u
dGV4dDNESW50ZXJuYWw6OmdldE93bmVyR0xXaWRnZXQoUVdlYlBhZ2VDbGllbnQqIHdlYlBhZ2VD
bGllbnQpCiB7CisgICAgaWYgKCF3ZWJQYWdlQ2xpZW50KQorICAgICAgICByZXR1cm4gMDsKKwog
ICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNjcm9sbEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3Ry
YWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGllbnQtPm93bmVyV2lkZ2V0KCkpOwogCiAgICAgaWYg
KHNjcm9sbEFyZWEpIAo=
</data>
<flag name="review"
          id="73475"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81911</attachid>
            <date>2011-02-09 18:43:54 -0800</date>
            <delta_ts>2011-03-20 18:40:38 -0700</delta_ts>
            <desc>Check webPageClient before referencing it</desc>
            <filename>clientcrash.diff</filename>
            <type>text/plain</type>
            <size>3596</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MTcwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDItMDkgIEFuZHJldyBX
YXNvbiAgPHJlY3RhbG9naWNAcmVjdGFsb2dpYy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBRV2ViUGFnZSB3aXRoIFdlYkdMIGNvbnRl
bnQgY3Jhc2hlcyB3aGVuIHJlbmRlcmluZyBpZiBubyBRV2ViVmlldyBwYXJlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTM4CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldE93bmVyR0xXaWRnZXQpOgor
ICAgICAgICAgQ2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIFFXZWJQYWdlQ2xpZW50IGJlZm9y
ZSByZWZlcmVuY2luZyBpdC4KKwogMjAxMS0wMi0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dDNEUXQuY3BwCShyZXZpc2lvbiA3ODE2NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00NzQsNiArNDc0LDkgQEAgR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6fkdyYXBoaWNzQ29u
dAogCiBRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldE93bmVyR0xXaWRn
ZXQoUVdlYlBhZ2VDbGllbnQqIHdlYlBhZ2VDbGllbnQpCiB7CisgICAgaWYgKCF3ZWJQYWdlQ2xp
ZW50KQorICAgICAgICByZXR1cm4gMDsKKwogICAgIFFBYnN0cmFjdFNjcm9sbEFyZWEqIHNjcm9s
bEFyZWEgPSBxb2JqZWN0X2Nhc3Q8UUFic3RyYWN0U2Nyb2xsQXJlYSo+KHdlYlBhZ2VDbGllbnQt
Pm93bmVyV2lkZ2V0KCkpOwogCiAgICAgaWYgKHNjcm9sbEFyZWEpIApJbmRleDogU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cJKHJldmlzaW9uIDc4MTcwKQorKysgU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMi0wOSAgQW5kcmV3IFdhc29uICA8cmVj
dGFsb2dpY0ByZWN0YWxvZ2ljLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbUXRdIFFXZWJQYWdlIHdpdGggV2ViR0wgY29udGVudCBjcmFzaGVz
IHdoZW4gcmVuZGVyaW5nIGlmIG5vIFFXZWJWaWV3IHBhcmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQxMzgKKworICAgICAgICAqIHRlc3RzL3F3
ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6CisgICAgICAgICh0c3RfUVdlYlBhZ2U6OndlYkdMU2Ny
ZWVuc2hvdFdpdGhvdXRWaWV3KToKKyAgICAgICAgIFJlbmRlciBhIFFXZWJQYWdlIHdpdGggYSBX
ZWJHTCBjb250ZXh0IHRoYXQgaGFzIG5vIG93bmluZyB2aWV3LgorICAgICAgICAgU2hvdWxkbid0
IGNyYXNoLgorCiAyMDExLTAyLTA5ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lv
biA3ODE2NSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDYgKzEyNiwxMCBAQCBwcml2YXRlIHNsb3RzOgog
ICAgIHZvaWQgc2NyZWVuc2hvdF9kYXRhKCk7CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKKyNp
ZiBkZWZpbmVkKEVOQUJMRV9XRUJHTCkgJiYgRU5BQkxFX1dFQkdMCisgICAgdm9pZCB3ZWJHTFNj
cmVlbnNob3RXaXRob3V0VmlldygpOworI2VuZGlmCisKICAgICB2b2lkIG9yaWdpbmF0aW5nT2Jq
ZWN0SW5OZXR3b3JrUmVxdWVzdHMoKTsKICAgICB2b2lkIHRlc3RKU1Byb21wdCgpOwogICAgIHZv
aWQgc2hvd01vZGFsRGlhbG9nKCk7CkBAIC0yNDc1LDYgKzI0NzksMjUgQEAgdm9pZCB0c3RfUVdl
YlBhZ2U6OnNjcmVlbnNob3QoKQogICAgIFFEaXI6OnNldEN1cnJlbnQoUUFwcGxpY2F0aW9uOjph
cHBsaWNhdGlvbkRpclBhdGgoKSk7CiB9CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHTCkgJiYg
RU5BQkxFX1dFQkdMCisvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTQxMzgKK3ZvaWQgdHN0X1FXZWJQYWdlOjp3ZWJHTFNjcmVlbnNob3RXaXRob3V0VmlldygpCit7
CisgICAgUVdlYlBhZ2UqIHBhZ2UgPSBuZXcgUVdlYlBhZ2U7CisgICAgcGFnZS0+c2V0dGluZ3Mo
KS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6V2ViR0xFbmFibGVkLCB0cnVlKTsKKyAgICBR
V2ViRnJhbWUqIG1haW5GcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIG1haW5GcmFtZS0+
c2V0SHRtbCgiPGh0bWw+PGJvZHk+IgorICAgICAgICAgICAgICAgICAgICAgICAiPGNhbnZhcyBp
ZD0nd2ViZ2wnIHdpZHRoPSczMDAnIGhlaWdodD0nMzAwJz48L2NhbnZhcz4iCisgICAgICAgICAg
ICAgICAgICAgICAgICI8c2NyaXB0PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJnbCcpLmdl
dENvbnRleHQoJ2V4cGVyaW1lbnRhbC13ZWJnbCcpPC9zY3JpcHQ+IgorICAgICAgICAgICAgICAg
ICAgICAgICAiPC9ib2R5PjwvaHRtbD4iKTsKKyAgICA6OndhaXRGb3JTaWduYWwobWFpbkZyYW1l
LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSwgMjAwMCk7CisKKyAgICB0YWtlU2NyZWVuc2hv
dChwYWdlKTsKKworICAgIGRlbGV0ZSBwYWdlOworfQorI2VuZGlmCisKIHZvaWQgdHN0X1FXZWJQ
YWdlOjpvcmlnaW5hdGluZ09iamVjdEluTmV0d29ya1JlcXVlc3RzKCkKIHsKICAgICBUZXN0TmV0
d29ya01hbmFnZXIqIG5ldHdvcmtNYW5hZ2VyID0gbmV3IFRlc3ROZXR3b3JrTWFuYWdlcihtX3Bh
Z2UpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86288</attachid>
            <date>2011-03-20 18:40:38 -0700</date>
            <delta_ts>2011-03-22 08:20:14 -0700</delta_ts>
            <desc>Check webPageClient before referencing it</desc>
            <filename>webclient.patch</filename>
            <type>text/plain</type>
            <size>3771</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNTY3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDMtMjAgIEFuZHJldyBX
YXNvbiAgPHJlY3RhbG9naWNAcmVjdGFsb2dpYy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBRV2ViUGFnZSB3aXRoIFdlYkdMIGNvbnRl
bnQgY3Jhc2hlcyB3aGVuIHJlbmRlcmluZyBpZiBubyBRV2ViVmlldyBwYXJlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTM4CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQp
OgorICAgICAgICAgQ2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIFFXZWJQYWdlQ2xpZW50IGJl
Zm9yZSBkZXJlZmVyZW5jaW5nIGl0LgorCiAyMDExLTAzLTIwICBCaWxsIEJ1ZGdlICA8YmJ1ZGdl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3Jh
cGhpY3NDb250ZXh0M0RRdC5jcHAJKHJldmlzaW9uIDgxNTY3KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2NSw2ICs0NjUsOCBAQCBHcmFwaGljc0NvbnRleHQzREludGVybmFsOjp+R3JhcGhp
Y3NDb250CiBRR0xXaWRnZXQqIEdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0
R0xXaWRnZXQoKQogewogICAgIFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50ID0gbV9ob3N0
V2luZG93LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXdlYlBhZ2VDbGllbnQpCisg
ICAgICAgIHJldHVybiAwOwogCiAgICAgUUFic3RyYWN0U2Nyb2xsQXJlYSogc2Nyb2xsQXJlYSA9
IHFvYmplY3RfY2FzdDxRQWJzdHJhY3RTY3JvbGxBcmVhKj4od2ViUGFnZUNsaWVudC0+b3duZXJX
aWRnZXQoKSk7CiAgICAgaWYgKHNjcm9sbEFyZWEpCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNp
b24gODE1NjcpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE2IEBACisyMDExLTAzLTIwICBBbmRyZXcgV2Fzb24gIDxyZWN0YWxvZ2ljQHJl
Y3RhbG9naWMuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gUVdlYlBhZ2Ugd2l0aCBXZWJHTCBjb250ZW50IGNyYXNoZXMgd2hlbiByZW5k
ZXJpbmcgaWYgbm8gUVdlYlZpZXcgcGFyZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDEzOAorCisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLmNwcDoKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6d2ViR0xTY3JlZW5zaG90V2l0
aG91dFZpZXcpOgorICAgICAgICBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgYW5kIFJl
bmRlciBhIFFXZWJQYWdlIHdpdGgKKyAgICAgICAgYSBXZWJHTCBjb250ZXh0IHRoYXQgaGFzIG5v
IG93bmluZyB2aWV3LgorICAgICAgICBTaG91bGRuJ3QgY3Jhc2guCisKIDIwMTEtMDMtMTkgIEFu
ZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJl
bmphbWluIFBvdWxhaW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Rz
dF9xd2VicGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UuY3BwCShyZXZpc2lvbiA4MTU2NykKKysrIFNvdXJjZS9XZWJLaXQv
cXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2
LDYgKzEyNiwxMCBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgc2NyZWVuc2hvdF9kYXRhKCk7
CiAgICAgdm9pZCBzY3JlZW5zaG90KCk7CiAKKyNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHTCkgJiYg
RU5BQkxFX1dFQkdMCisgICAgdm9pZCB3ZWJHTFNjcmVlbnNob3RXaXRob3V0VmlldygpOworI2Vu
ZGlmCisKICAgICB2b2lkIG9yaWdpbmF0aW5nT2JqZWN0SW5OZXR3b3JrUmVxdWVzdHMoKTsKICAg
ICB2b2lkIHRlc3RKU1Byb21wdCgpOwogICAgIHZvaWQgc2hvd01vZGFsRGlhbG9nKCk7CkBAIC0y
NDczLDYgKzI0NzcsMjYgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OnNjcmVlbnNob3QoKQogICAgIFFE
aXI6OnNldEN1cnJlbnQoUUFwcGxpY2F0aW9uOjphcHBsaWNhdGlvbkRpclBhdGgoKSk7CiB9CiAK
KyNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHTCkgJiYgRU5BQkxFX1dFQkdMCisvLyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQxMzgKK3ZvaWQgdHN0X1FXZWJQYWdlOjp3
ZWJHTFNjcmVlbnNob3RXaXRob3V0VmlldygpCit7CisgICAgUVdlYlBhZ2UqIHBhZ2UgPSBuZXcg
UVdlYlBhZ2U7CisgICAgcGFnZS0+c2V0dGluZ3MoKS0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6V2ViR0xFbmFibGVkLCB0cnVlKTsKKyAgICBwYWdlLT5zZXR0aW5ncygpLT5zZXRBdHRyaWJ1
dGUoUVdlYlNldHRpbmdzOjpBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgdHJ1ZSk7Cisg
ICAgUVdlYkZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBtYWluRnJh
bWUtPnNldEh0bWwoIjxodG1sPjxib2R5PiIKKyAgICAgICAgICAgICAgICAgICAgICAgIjxjYW52
YXMgaWQ9J3dlYmdsJyB3aWR0aD0nMzAwJyBoZWlnaHQ9JzMwMCc+PC9jYW52YXM+IgorICAgICAg
ICAgICAgICAgICAgICAgICAiPHNjcmlwdD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnd2ViZ2wn
KS5nZXRDb250ZXh0KCdleHBlcmltZW50YWwtd2ViZ2wnKTwvc2NyaXB0PiIKKyAgICAgICAgICAg
ICAgICAgICAgICAgIjwvYm9keT48L2h0bWw+Iik7CisgICAgOjp3YWl0Rm9yU2lnbmFsKG1haW5G
cmFtZSwgU0lHTkFMKGxvYWRGaW5pc2hlZChib29sKSksIDIwMDApOworCisgICAgdGFrZVNjcmVl
bnNob3QocGFnZSk7CisKKyAgICBkZWxldGUgcGFnZTsKK30KKyNlbmRpZgorCiB2b2lkIHRzdF9R
V2ViUGFnZTo6b3JpZ2luYXRpbmdPYmplY3RJbk5ldHdvcmtSZXF1ZXN0cygpCiB7CiAgICAgVGVz
dE5ldHdvcmtNYW5hZ2VyKiBuZXR3b3JrTWFuYWdlciA9IG5ldyBUZXN0TmV0d29ya01hbmFnZXIo
bV9wYWdlKTsK
</data>
<flag name="review"
          id="78526"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86462</attachid>
            <date>2011-03-22 08:20:14 -0700</date>
            <delta_ts>2011-03-22 08:49:18 -0700</delta_ts>
            <desc>Check webPageClient before referencing it</desc>
            <filename>webclient.patch</filename>
            <type>text/plain</type>
            <size>4090</size>
            <attacher name="Andrew Wason">rectalogic</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNjY4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDMtMjIgIEFuZHJldyBX
YXNvbiAgPHJlY3RhbG9naWNAcmVjdGFsb2dpYy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBRV2ViUGFnZSB3aXRoIFdlYkdMIGNvbnRl
bnQgY3Jhc2hlcyB3aGVuIHJlbmRlcmluZyBpZiBubyBRV2ViVmlldyBwYXJlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTM4CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNESW50ZXJuYWw6OmdldFZpZXdwb3J0R0xXaWRnZXQp
OgorICAgICAgICAgQ2hlY2sgaWYgd2UgYWN0dWFsbHkgaGF2ZSBhIFFXZWJQYWdlQ2xpZW50IGJl
Zm9yZSBkZXJlZmVyZW5jaW5nIGl0LgorCiAyMDExLTAzLTIyICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRz
a3kuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHQzRFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAkocmV2aXNpb24gODE1NjcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDY1LDYgKzQ2NSw4IEBAIEdyYXBoaWNzQ29udGV4dDNESW50ZXJu
YWw6On5HcmFwaGljc0NvbnQKIFFHTFdpZGdldCogR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbDo6
Z2V0Vmlld3BvcnRHTFdpZGdldCgpCiB7CiAgICAgUVdlYlBhZ2VDbGllbnQqIHdlYlBhZ2VDbGll
bnQgPSBtX2hvc3RXaW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpOworICAgIGlmICghd2ViUGFn
ZUNsaWVudCkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBRQWJzdHJhY3RTY3JvbGxBcmVhKiBz
Y3JvbGxBcmVhID0gcW9iamVjdF9jYXN0PFFBYnN0cmFjdFNjcm9sbEFyZWEqPih3ZWJQYWdlQ2xp
ZW50LT5vd25lcldpZGdldCgpKTsKICAgICBpZiAoc2Nyb2xsQXJlYSkKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiA4MTY2OCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDMtMjIgIEFuZHJldyBXYXNvbiAgPHJl
Y3RhbG9naWNAcmVjdGFsb2dpYy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBRV2ViUGFnZSB3aXRoIFdlYkdMIGNvbnRlbnQgY3Jhc2hl
cyB3aGVuIHJlbmRlcmluZyBpZiBubyBRV2ViVmlldyBwYXJlbnQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU0MTM4CisKKyAgICAgICAgKiB0ZXN0cy9x
d2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwOgorICAgICAgICAod2ViR0xTY3JlZW5zaG90V2l0aG91
dFZpZXcpOgorICAgICAgICAodHN0X1FXZWJQYWdlOjphY2NlbGVyYXRlZFdlYkdMU2NyZWVuc2hv
dFdpdGhvdXRWaWV3KToKKyAgICAgICAgKHRzdF9RV2ViUGFnZTo6dW5hY2NlbGVyYXRlZFdlYkdM
U2NyZWVuc2hvdFdpdGhvdXRWaWV3KToKKyAgICAgICAgIFJlbmRlciBhIFFXZWJQYWdlICh3aXRo
IGFuZCB3aXRob3V0IGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nKQorICAgICAgICAgd2l0aCBhIFdl
YkdMIGNvbnRleHQgdGhhdCBoYXMgbm8gb3duaW5nIHZpZXcuICBTaG91bGRuJ3QgY3Jhc2guCisK
IDIwMTEtMDMtMjEgIENoYW5nIFNodSAgPGNzaHVAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogU291cmNlL1dlYktpdC9xdC90ZXN0
cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
cXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAkocmV2aXNpb24gODE1NjcpCisrKyBT
b3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEyNiw2ICsxMjYsMTEgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHNjcmVl
bnNob3RfZGF0YSgpOwogICAgIHZvaWQgc2NyZWVuc2hvdCgpOwogCisjaWYgZGVmaW5lZChFTkFC
TEVfV0VCR0wpICYmIEVOQUJMRV9XRUJHTAorICAgIHZvaWQgYWNjZWxlcmF0ZWRXZWJHTFNjcmVl
bnNob3RXaXRob3V0VmlldygpOworICAgIHZvaWQgdW5hY2NlbGVyYXRlZFdlYkdMU2NyZWVuc2hv
dFdpdGhvdXRWaWV3KCk7CisjZW5kaWYKKwogICAgIHZvaWQgb3JpZ2luYXRpbmdPYmplY3RJbk5l
dHdvcmtSZXF1ZXN0cygpOwogICAgIHZvaWQgdGVzdEpTUHJvbXB0KCk7CiAgICAgdm9pZCBzaG93
TW9kYWxEaWFsb2coKTsKQEAgLTI0NzMsNiArMjQ3OCwzMyBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6
c2NyZWVuc2hvdCgpCiAgICAgUURpcjo6c2V0Q3VycmVudChRQXBwbGljYXRpb246OmFwcGxpY2F0
aW9uRGlyUGF0aCgpKTsKIH0KIAorI2lmIGRlZmluZWQoRU5BQkxFX1dFQkdMKSAmJiBFTkFCTEVf
V0VCR0wKKy8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDEzOAor
c3RhdGljIHZvaWQgd2ViR0xTY3JlZW5zaG90V2l0aG91dFZpZXcoYm9vbCBhY2NlbGVyYXRlZCkK
K3sKKyAgICBRV2ViUGFnZSBwYWdlOworICAgIHBhZ2Uuc2V0dGluZ3MoKS0+c2V0QXR0cmlidXRl
KFFXZWJTZXR0aW5nczo6V2ViR0xFbmFibGVkLCB0cnVlKTsKKyAgICBwYWdlLnNldHRpbmdzKCkt
PnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
LCBhY2NlbGVyYXRlZCk7CisgICAgUVdlYkZyYW1lKiBtYWluRnJhbWUgPSBwYWdlLm1haW5GcmFt
ZSgpOworICAgIG1haW5GcmFtZS0+c2V0SHRtbCgiPGh0bWw+PGJvZHk+IgorICAgICAgICAgICAg
ICAgICAgICAgICAiPGNhbnZhcyBpZD0nd2ViZ2wnIHdpZHRoPSczMDAnIGhlaWdodD0nMzAwJz48
L2NhbnZhcz4iCisgICAgICAgICAgICAgICAgICAgICAgICI8c2NyaXB0PmRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd3ZWJnbCcpLmdldENvbnRleHQoJ2V4cGVyaW1lbnRhbC13ZWJnbCcpPC9zY3Jp
cHQ+IgorICAgICAgICAgICAgICAgICAgICAgICAiPC9ib2R5PjwvaHRtbD4iKTsKKworICAgIHRh
a2VTY3JlZW5zaG90KCZwYWdlKTsKK30KKwordm9pZCB0c3RfUVdlYlBhZ2U6OmFjY2VsZXJhdGVk
V2ViR0xTY3JlZW5zaG90V2l0aG91dFZpZXcoKQoreworICAgIHdlYkdMU2NyZWVuc2hvdFdpdGhv
dXRWaWV3KHRydWUpOworfQorCit2b2lkIHRzdF9RV2ViUGFnZTo6dW5hY2NlbGVyYXRlZFdlYkdM
U2NyZWVuc2hvdFdpdGhvdXRWaWV3KCkKK3sKKyAgICB3ZWJHTFNjcmVlbnNob3RXaXRob3V0Vmll
dyhmYWxzZSk7Cit9CisjZW5kaWYKKwogdm9pZCB0c3RfUVdlYlBhZ2U6Om9yaWdpbmF0aW5nT2Jq
ZWN0SW5OZXR3b3JrUmVxdWVzdHMoKQogewogICAgIFRlc3ROZXR3b3JrTWFuYWdlciogbmV0d29y
a01hbmFnZXIgPSBuZXcgVGVzdE5ldHdvcmtNYW5hZ2VyKG1fcGFnZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>