<?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>67308</bug_id>
          
          <creation_ts>2011-08-31 11:52:44 -0700</creation_ts>
          <short_desc>[Qt] TouchWebView crashes with segmentation fault</short_desc>
          <delta_ts>2011-09-01 10:55:29 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Gopal Raghavan">gopal.1.raghavan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459794</commentid>
    <comment_count>0</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 11:52:44 -0700</bug_when>
    <thetext>Qml debugging is enabled. Only use this in a safe environment!
ASSERTION FAILED: availableWidth &gt; 0 &amp;&amp; availableHeight &gt; 0
/home/gopal/wk/wk3/Source/WebCore/dom/ViewportArguments.cpp(51) : WebCore::ViewportAttributes WebCore::computeViewportAttributes(WebCore::ViewportArguments, int, int, int, int, WebCore::IntSize)
Segmentation fault</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459818</commentid>
    <comment_count>1</comment_count>
      <attachid>105809</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 12:11:38 -0700</bug_when>
    <thetext>Created attachment 105809
Fix for TouchWebView seg fault

I have attached a sample qml file as test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459820</commentid>
    <comment_count>2</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 12:12:09 -0700</bug_when>
    <thetext>If you instantiate TouchWebView element with height and width in a qml file and load a url it fails with segmentation fault. The ASSERTION in ViewportArguments.cpp under computeViewportAttributes seems to be wrong. During first round updateViewportConstraints has non-zero width and 0 as height. As a result availableSize is set to (width,0). Height gets set by subsequent call to setHeight. However, the ASSERT in computeViewportAttributes expects non-zero values for both height and width. Due to sequential nature of setWidth and setHeight call, this ASSERT is not satisfied. This patch fixes the problem by removing the assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459821</commentid>
    <comment_count>3</comment_count>
      <attachid>105810</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 12:13:18 -0700</bug_when>
    <thetext>Created attachment 105810
sample qml file for touchwebview</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459837</commentid>
    <comment_count>4</comment_count>
      <attachid>105809</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 12:58:03 -0700</bug_when>
    <thetext>Comment on attachment 105809
Fix for TouchWebView seg fault

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

This is wrong. The code assume that availableWidth and availableHeight are positive. The problem is not from the assert, it is there for a reason. I believe we can&apos;t remove it. Now perhaps the best way is to delayed the updateViewportConstraints call or not call it at all if one of the value is 0. Anyway you patch miss a test case.

&gt; Source/WebCore/ChangeLog:8
&gt; +        If you instantiate TouchWebView element with height and width in a qml file and load a url it fails with segmentation fault. The ASSERTION in ViewportArguments.cpp under computeViewportAttributes seems to be wrong. During first round updateViewportConstraints has non-zero width and 0 as height. As a result availableSize is set to (width,0). Height gets set by subsequent call to setHeight. However, the ASSERT in computeViewportAttributes expects non-zero values for both height and width. Due to sequential nature of setWidth and setHeight call, this ASSERT is not satisfied. This patch fixes the problem by removing the assert. 

Lines are two long. Wrap them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459843</commentid>
    <comment_count>5</comment_count>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 13:05:21 -0700</bug_when>
    <thetext>what is the reason for the assert ?
The other thing I can do is to check if both x,y are non-zero before it calls computeViewportAttributes in QTouchWebViewPrivate::updateViewportConstraints. What do you think ?
What kind of test case can I write for this? Any ideas ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459892</commentid>
    <comment_count>6</comment_count>
      <attachid>105827</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 13:59:54 -0700</bug_when>
    <thetext>Created attachment 105827
updated patch 

Alexis, Thanks for your input. I have made suggested changes and uploaded a patch with test case.

Here is the complete api test result:


********* Start testing of tst_CommonViewTests *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_CommonViewTests::initTestCase()
PASS   : tst_CommonViewTests::baseUrl()
PASS   : tst_CommonViewTests::loadEmptyUrl()
QWARN  : tst_CommonViewTests::loadEmptyPageViewVisible() QSocketNotifier: socket notifiers cannot be enabled from another thread
QWARN  : tst_CommonViewTests::loadEmptyPageViewVisible() QSocketNotifier: socket notifiers cannot be enabled from another thread
QWARN  : tst_CommonViewTests::loadEmptyPageViewVisible() QObject::startTimer: timers cannot be started from another thread
PASS   : tst_CommonViewTests::loadEmptyPageViewVisible()
QWARN  : tst_CommonViewTests::loadEmptyPageViewHidden() QSocketNotifier: socket notifiers cannot be enabled from another thread
PASS   : tst_CommonViewTests::loadEmptyPageViewHidden()
PASS   : tst_CommonViewTests::loadNonexistentFileUrl()
QWARN  : tst_CommonViewTests::backAndForward() QSocketNotifier: socket notifiers cannot be enabled from another thread
PASS   : tst_CommonViewTests::backAndForward()
QWARN  : tst_CommonViewTests::reload() QSocketNotifier: socket notifiers cannot be enabled from another thread
PASS   : tst_CommonViewTests::reload()
QWARN  : tst_CommonViewTests::stop() QSocketNotifier: socket notifiers cannot be enabled from another thread
PASS   : tst_CommonViewTests::stop()
PASS   : tst_CommonViewTests::loadProgress()
QWARN  : tst_CommonViewTests::show() QSocketNotifier: socket notifiers cannot be enabled from another thread
QWARN  : tst_CommonViewTests::show() QObject::startTimer: timers cannot be started from another thread
PASS   : tst_CommonViewTests::show()
PASS   : tst_CommonViewTests::cleanupTestCase()
Totals: 12 passed, 0 failed, 0 skipped
********* Finished testing of tst_CommonViewTests *********

********* Start testing of tst_QTouchWebView *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_QTouchWebView::initTestCase()
PASS   : tst_QTouchWebView::accessPage()
PASS   : tst_QTouchWebView::navigationActionsStatusAtStartup()
PASS   : tst_QTouchWebView::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QTouchWebView *********

********* Start testing of tst_QDesktopWebView *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_QDesktopWebView::initTestCase()
PASS   : tst_QDesktopWebView::navigationActionsStatusAtStartup()
QWARN  : tst_QDesktopWebView::stopActionEnabledAfterLoadStarted() QSocketNotifier: socket notifiers cannot be enabled from another thread
PASS   : tst_QDesktopWebView::stopActionEnabledAfterLoadStarted()
PASS   : tst_QDesktopWebView::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QDesktopWebView *********

********* Start testing of qmltests *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : DesktopWebViewNavigationPolicyForUrl::initTestCase()
QWARN  : DesktopWebViewNavigationPolicyForUrl::test_ignorePolicy() QObject::startTimer: timers cannot be started from another thread
PASS   : DesktopWebViewNavigationPolicyForUrl::test_ignorePolicy()
PASS   : DesktopWebViewNavigationPolicyForUrl::test_usePolicy()
PASS   : DesktopWebViewNavigationPolicyForUrl::cleanupTestCase()
PASS   : DesktopWebViewProperties::initTestCase()
PASS   : DesktopWebViewProperties::test_title()
PASS   : DesktopWebViewProperties::test_url()
PASS   : DesktopWebViewProperties::cleanupTestCase()
PASS   : TouchWebViewLoad::initTestCase()
PASS   : TouchWebViewLoad::test_load()
PASS   : TouchWebViewLoad::cleanupTestCase()
PASS   : TouchWebViewProperties::initTestCase()
PASS   : TouchWebViewProperties::test_title()
PASS   : TouchWebViewProperties::test_url()
PASS   : TouchWebViewProperties::cleanupTestCase()
Totals: 15 passed, 0 failed, 0 skipped
********* Finished testing of qmltests *********


**********************************************************************
**              TOTALS: 35 passed, 0 failed, 0 skipped              **
**********************************************************************</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459916</commentid>
    <comment_count>7</comment_count>
      <attachid>105827</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-31 14:17:18 -0700</bug_when>
    <thetext>Comment on attachment 105827
updated patch 

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

Looks like the right solution. Comments:

&gt; Source/WebKit2/UIProcess/API/qt/qtouchwebview.cpp:67
&gt; +    if (availableSize.width() &lt; 1 || availableSize.height() &lt; 1)
&gt; +        return;
&gt; +

Please use &quot;size &lt;= 0&quot;, which is a bit easier to read. Isn&apos;t there a QSize::isValid() or something like that?

You should also put that just after availableSize get its value. The span between the variable definition and its use is unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459918</commentid>
    <comment_count>8</comment_count>
      <attachid>105827</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-31 14:19:18 -0700</bug_when>
    <thetext>Comment on attachment 105827
updated patch 

&gt; Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:8
&gt; +    height: 600
&gt; +    width: 400

What about height: 0 and width: 0? Wouldn&apos;t that be a more interesting test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459920</commentid>
    <comment_count>9</comment_count>
      <attachid>105827</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-31 14:21:02 -0700</bug_when>
    <thetext>Comment on attachment 105827
updated patch 

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        load a url it fails with segmentation fault. During first round

it crashes (or assert in debug).

&gt; Source/WebKit2/ChangeLog:15
&gt; +        QTouchWebViewPrivate::updateViewportConstraints before calling computeViewportAttributes.

Could you just say. setWidth and setHeight are called sequentially therefore it can happen that computeViewportAttributes was called with a size like (width, 0) breaking the assumption of the function that the size is valid. The patch make sure we compute the viewport when both height and width are valid. Something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459943</commentid>
    <comment_count>10</comment_count>
      <attachid>105832</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 14:46:05 -0700</bug_when>
    <thetext>Created attachment 105832
Took care of review suggestions

Thanks, Banjamin and Alexis. I have incorporated the changes you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459959</commentid>
    <comment_count>11</comment_count>
      <attachid>105832</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-31 14:57:12 -0700</bug_when>
    <thetext>Comment on attachment 105832
Took care of review suggestions

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

Patch looks good but the changelog and the tests can be made better.

&gt; Source/WebKit2/ChangeLog:15
&gt; +        If you instantiate TouchWebView element with height and width in a qml file and
&gt; +        load a url it crashes. During first round
&gt; +        updateViewportConstraints has non-zero width and 0 as height. As a result availableSize
&gt; +        is set to (width,0). Height gets set by subsequent call to setHeight. However, the
&gt; +        ASSERT in computeViewportAttributes expects non-zero values for both height and width.
&gt; +        setWidth and setHeight are called sequentially therefore it can happen that computeViewportAttributes
&gt; +        was called with a size like (width, 0) breaking the assumption of the function that the size is valid. The patch makes sure we compute the viewport when both height and width are valid.
&gt; +

Please rewrap this and rephrase it a bit clearer.

&quot;If you instantiate TouchWebView element with height and width in a qml file and load a url it crashes&quot; -&gt; QTouchWebView can asserts when loading a page if the viewport does not have a valid geometry.

&quot;setWidth and setHeight&quot; -&gt; The functions setWidth() and setHeight() so that sentence is a bit easier to read.

&gt; Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:8
&gt; +    height: 600
&gt; +    width: 400

0, 0???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459961</commentid>
    <comment_count>12</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-31 14:59:15 -0700</bug_when>
    <thetext>&gt; &quot;If you instantiate TouchWebView element with height and width in a qml file and load a url it crashes&quot; -&gt; QTouchWebView can asserts when loading a page if the viewport does not have a valid geometry.
&gt; 
&gt; &quot;setWidth and setHeight&quot; -&gt; The functions setWidth() and setHeight() so that sentence is a bit easier to read.

Damn, forgot the &quot;e.g.&quot; :) 
Those are just examples, you don&apos;t force you to use those sentences.  :-D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459976</commentid>
    <comment_count>13</comment_count>
      <attachid>105840</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-08-31 15:14:07 -0700</bug_when>
    <thetext>Created attachment 105840
updated patch with more test cases

Thanks again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460437</commentid>
    <comment_count>14</comment_count>
      <attachid>105957</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-09-01 07:28:29 -0700</bug_when>
    <thetext>Created attachment 105957
splitting patch for easy review

I had promised Benjamin that I would add separate patch for test. Sorry, the previous patch 105840 had both clubbed in. For easier review, I am splitting the patch.
This patch is similar to attachment 105832 that has r+ from Benjamin already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460438</commentid>
    <comment_count>15</comment_count>
      <attachid>105958</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-09-01 07:30:28 -0700</bug_when>
    <thetext>Created attachment 105958
Edge case tests requested by Benjamin

Additional test to check edge case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460445</commentid>
    <comment_count>16</comment_count>
      <attachid>105958</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-09-01 07:35:50 -0700</bug_when>
    <thetext>Comment on attachment 105958
Edge case tests requested by Benjamin

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

Please add the test in the other patch.

&gt; Source/WebKit2/ChangeLog:7
&gt; +        Additoinal test for edge cases to check behavior with zero sized width and height. 

&quot;Additoinal&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460464</commentid>
    <comment_count>17</comment_count>
      <attachid>105963</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-09-01 07:57:59 -0700</bug_when>
    <thetext>Created attachment 105963
modified change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460473</commentid>
    <comment_count>18</comment_count>
      <attachid>105967</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-09-01 08:05:56 -0700</bug_when>
    <thetext>Created attachment 105967
simplified changelog based on reviewer comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460484</commentid>
    <comment_count>19</comment_count>
      <attachid>105972</attachid>
    <who name="Gopal Raghavan">gopal.1.raghavan</who>
    <bug_when>2011-09-01 08:35:41 -0700</bug_when>
    <thetext>Created attachment 105972
All the coverage in one patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460486</commentid>
    <comment_count>20</comment_count>
      <attachid>105972</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-09-01 08:40:38 -0700</bug_when>
    <thetext>Comment on attachment 105972
All the coverage in one patch

great</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460605</commentid>
    <comment_count>21</comment_count>
      <attachid>105972</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 10:55:24 -0700</bug_when>
    <thetext>Comment on attachment 105972
All the coverage in one patch

Clearing flags on attachment: 105972

Committed r94313: &lt;http://trac.webkit.org/changeset/94313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460606</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-01 10:55:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105809</attachid>
            <date>2011-08-31 12:11:38 -0700</date>
            <delta_ts>2011-08-31 13:59:54 -0700</delta_ts>
            <desc>Fix for TouchWebView seg fault</desc>
            <filename>67308.patch</filename>
            <type>text/plain</type>
            <size>1908</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDgtMzEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kIGxv
YWQgYSB1cmwgaXQgZmFpbHMgd2l0aCBzZWdtZW50YXRpb24gZmF1bHQuIFRoZSBBU1NFUlRJT04g
aW4gVmlld3BvcnRBcmd1bWVudHMuY3BwIHVuZGVyIGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMg
c2VlbXMgdG8gYmUgd3JvbmcuIER1cmluZyBmaXJzdCByb3VuZCB1cGRhdGVWaWV3cG9ydENvbnN0
cmFpbnRzIGhhcyBub24temVybyB3aWR0aCBhbmQgMCBhcyBoZWlnaHQuIEFzIGEgcmVzdWx0IGF2
YWlsYWJsZVNpemUgaXMgc2V0IHRvICh3aWR0aCwwKS4gSGVpZ2h0IGdldHMgc2V0IGJ5IHN1YnNl
cXVlbnQgY2FsbCB0byBzZXRIZWlnaHQuIEhvd2V2ZXIsIHRoZSBBU1NFUlQgaW4gY29tcHV0ZVZp
ZXdwb3J0QXR0cmlidXRlcyBleHBlY3RzIG5vbi16ZXJvIHZhbHVlcyBmb3IgYm90aCBoZWlnaHQg
YW5kIHdpZHRoLiBEdWUgdG8gc2VxdWVudGlhbCBuYXR1cmUgb2Ygc2V0V2lkdGggYW5kIHNldEhl
aWdodCBjYWxsLCB0aGlzIEFTU0VSVCBpcyBub3Qgc2F0aXNmaWVkLiBUaGlzIHBhdGNoIGZpeGVz
IHRoZSBwcm9ibGVtIGJ5IHJlbW92aW5nIHRoZSBhc3NlcnQuIAorCisgICAgICAgICogZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0
dHJpYnV0ZXMpOgorCiAyMDExLTA4LTI4ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBDU1MgMi4xIGZhaWx1cmU6IG1hcmdpbi1hcHBsaWVzLXRvLTAxNSBmYWls
cywgV2ViS2l0IGRvZXMgbm90IHJlc3BlY3QgdG9wIG1hcmdpbiBmb3IgdGFibGUgY2FwdGlvbnMK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAkocmV2aXNpb24g
OTQyMTEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCw4ICs0OCw2IEBAIFZpZXdwb3J0QXR0cmlidXRlcyBjb21wdXRlVmll
d3BvcnRBdHRyaWIKICAgICBmbG9hdCBhdmFpbGFibGVXaWR0aCA9IHZpc2libGVWaWV3cG9ydC53
aWR0aCgpOwogICAgIGZsb2F0IGF2YWlsYWJsZUhlaWdodCA9IHZpc2libGVWaWV3cG9ydC5oZWln
aHQoKTsKIAotICAgIEFTU0VSVChhdmFpbGFibGVXaWR0aCA+IDAgJiYgYXZhaWxhYmxlSGVpZ2h0
ID4gMCk7Ci0KICAgICBzd2l0Y2ggKGludChhcmdzLnRhcmdldERlbnNpdHlEcGkpKSB7CiAgICAg
Y2FzZSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VEUEk6CiAgICAgICAgIGFyZ3MudGFy
Z2V0RGVuc2l0eURwaSA9IGRldmljZURQSTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>105810</attachid>
            <date>2011-08-31 12:13:18 -0700</date>
            <delta_ts>2011-08-31 12:22:01 -0700</delta_ts>
            <desc>sample qml file for touchwebview</desc>
            <filename>touchwebview.qml</filename>
            <type>application/octet-stream</type>
            <size>208</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">aW1wb3J0IFF0UXVpY2sgMi4wCmltcG9ydCBRdFRlc3QgMS4wCmltcG9ydCBRdFdlYktpdC5leHBl
cmltZW50YWwgNS4wCgoKVG91Y2hXZWJWaWV3IHsKICAgIGlkOiB3ZWJWaWV3CiAgICBoZWlnaHQ6
IDIwMAogICAgd2lkdGg6IDIwMAoKICAgIENvbXBvbmVudC5vbkNvbXBsZXRlZDogd2ViVmlldy5w
YWdlLmxvYWQoImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSIpCn0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105827</attachid>
            <date>2011-08-31 13:59:54 -0700</date>
            <delta_ts>2011-08-31 14:46:05 -0700</delta_ts>
            <desc>updated patch </desc>
            <filename>67308a.patch</filename>
            <type>text/plain</type>
            <size>3824</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjI0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMzEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgZmFpbHMgd2l0aCBzZWdtZW50YXRpb24gZmF1bHQuIER1cmlu
ZyBmaXJzdCByb3VuZAorICAgICAgICB1cGRhdGVWaWV3cG9ydENvbnN0cmFpbnRzIGhhcyBub24t
emVybyB3aWR0aCBhbmQgMCBhcyBoZWlnaHQuIEFzIGEgcmVzdWx0IGF2YWlsYWJsZVNpemUKKyAg
ICAgICAgaXMgc2V0IHRvICh3aWR0aCwwKS4gSGVpZ2h0IGdldHMgc2V0IGJ5IHN1YnNlcXVlbnQg
Y2FsbCB0byBzZXRIZWlnaHQuIEhvd2V2ZXIsIHRoZQorICAgICAgICBBU1NFUlQgaW4gY29tcHV0
ZVZpZXdwb3J0QXR0cmlidXRlcyBleHBlY3RzIG5vbi16ZXJvIHZhbHVlcyBmb3IgYm90aCBoZWln
aHQgYW5kIHdpZHRoLgorICAgICAgICBEdWUgdG8gc2VxdWVudGlhbCBuYXR1cmUgb2Ygc2V0V2lk
dGggYW5kIHNldEhlaWdodCBjYWxsLCB0aGlzIEFTU0VSVCBpcyBub3Qgc2F0aXNmaWVkLgorICAg
ICAgICBUaGlzIHBhdGNoIGZpeGVzIHRoZSBpc3N1ZSBieSB2YWxpZGF0aW5nIGF2YWlsYWJsZVNp
emUud2lkdGgoKSBhbmQgaGVpZ2h0KCkgaW4KKyAgICAgICAgUVRvdWNoV2ViVmlld1ByaXZhdGU6
OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMgYmVmb3JlIGNhbGxpbmcgY29tcHV0ZVZpZXdwb3J0
QXR0cmlidXRlcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5j
cHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRDb25zdHJh
aW50cyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdl
YlZpZXcvdHN0X2xvYWQucW1sOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybzoKKwogMjAxMS0wOC0zMCAgQmV0aCBEYWtpbiAgPGJk
YWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3MTUwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDk0MTA4KQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjIsNiArNjIsOSBAQCB2b2lkIFFUb3VjaFdlYlZpZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9yCiAg
ICAgV2ViUGFnZVByb3h5KiB3a1BhZ2UgPSB0b0ltcGwocGFnZS5wYWdlUmVmKCkpOwogICAgIFdl
YlByZWZlcmVuY2VzKiB3a1ByZWZzID0gd2tQYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMo
KTsKIAorICAgIGlmIChhdmFpbGFibGVTaXplLndpZHRoKCkgPCAxIHx8IGF2YWlsYWJsZVNpemUu
aGVpZ2h0KCkgPCAxKQorICAgICAgICByZXR1cm47CisKICAgICBXZWJDb3JlOjpWaWV3cG9ydEF0
dHJpYnV0ZXMgYXR0ciA9IFdlYkNvcmU6OmNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXModmlld3Bv
cnRBcmd1bWVudHMsIHdrUHJlZnMtPmxheW91dEZhbGxiYWNrV2lkdGgoKSwgd2tQcmVmcy0+ZGV2
aWNlV2lkdGgoKSwgd2tQcmVmcy0+ZGV2aWNlSGVpZ2h0KCksIHdrUHJlZnMtPmRldmljZURQSSgp
LCBhdmFpbGFibGVTaXplKTsKIAogICAgIFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OkNvbnN0
cmFpbnRzIG5ld0NvbnN0cmFpbnRzOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8JKHJldmlz
aW9uIDk0MTA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9xbWx0ZXN0cy5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTEzLDUgKzEzLDYgQEAgbWVzc2Fn
ZSgkJFBXRCkKIE9USEVSX0ZJTEVTICs9IFwKICAgICBEZXNrdG9wV2ViVmlldy90c3RfcHJvcGVy
dGllcy5xbWwgXAogICAgIERlc2t0b3BXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9yVXJs
LnFtbCBcCi0gICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbAorICAgIFRvdWNoV2Vi
Vmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwK
IApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9U
b3VjaFdlYlZpZXcvdHN0X2xvYWQucW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwy
OCBAQAoraW1wb3J0IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2Vi
S2l0LmV4cGVyaW1lbnRhbCA1LjAKKworVG91Y2hXZWJWaWV3IHsKKyAgICBpZDogd2ViVmlldwor
ICAgIGhlaWdodDogNjAwCisgICAgd2lkdGg6IDQwMAorCisgICAgU2lnbmFsU3B5IHsKKyAgICAg
ICAgaWQ6IHNweQorICAgICAgICB0YXJnZXQ6IHdlYlZpZXcucGFnZQorICAgICAgICBzaWduYWxO
YW1lOiAibG9hZFN1Y2NlZWRlZCIKKyAgICB9CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5h
bWU6ICJUb3VjaFdlYlZpZXdMb2FkIgorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfbG9hZCgpIHsK
KyAgICAgICAgICAgIGNvbXBhcmUoc3B5LmNvdW50LCAwKQorICAgICAgICAgICAgd2ViVmlldy5w
YWdlLmxvYWQoUXQucmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0MS5odG1sIikpCisgICAgICAg
ICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcucGFnZS50aXRsZSwg
IlRlc3QgcGFnZSAxIikKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy53aWR0aCwgNDAwKQor
ICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LmhlaWdodCwgNjAwKQorICAgICAgICB9CisgICAg
fQorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105832</attachid>
            <date>2011-08-31 14:46:05 -0700</date>
            <delta_ts>2011-08-31 15:14:07 -0700</delta_ts>
            <desc>Took care of review suggestions</desc>
            <filename>67308b.patch</filename>
            <type>text/plain</type>
            <size>3585</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDgtMzEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgY3Jhc2hlcy4gRHVyaW5nIGZpcnN0IHJvdW5kCisgICAgICAg
IHVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMgaGFzIG5vbi16ZXJvIHdpZHRoIGFuZCAwIGFzIGhl
aWdodC4gQXMgYSByZXN1bHQgYXZhaWxhYmxlU2l6ZQorICAgICAgICBpcyBzZXQgdG8gKHdpZHRo
LDApLiBIZWlnaHQgZ2V0cyBzZXQgYnkgc3Vic2VxdWVudCBjYWxsIHRvIHNldEhlaWdodC4gSG93
ZXZlciwgdGhlCisgICAgICAgIEFTU0VSVCBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIGV4
cGVjdHMgbm9uLXplcm8gdmFsdWVzIGZvciBib3RoIGhlaWdodCBhbmQgd2lkdGguCisgICAgICAg
IHNldFdpZHRoIGFuZCBzZXRIZWlnaHQgYXJlIGNhbGxlZCBzZXF1ZW50aWFsbHkgdGhlcmVmb3Jl
IGl0IGNhbiBoYXBwZW4gdGhhdCBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzCisgICAgICAgIHdh
cyBjYWxsZWQgd2l0aCBhIHNpemUgbGlrZSAod2lkdGgsIDApIGJyZWFraW5nIHRoZSBhc3N1bXB0
aW9uIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHRoZSBzaXplIGlzIHZhbGlkLiBUaGUgcGF0Y2ggbWFr
ZXMgc3VyZSB3ZSBjb21wdXRlIHRoZSB2aWV3cG9ydCB3aGVuIGJvdGggaGVpZ2h0IGFuZCB3aWR0
aCBhcmUgdmFsaWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcu
Y3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3Ry
YWludHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hX
ZWJWaWV3L3RzdF9sb2FkLnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisKIDIwMTEtMDgtMzAgIEJldGggRGFraW4gIDxi
ZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02NzE1MApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
dG91Y2h3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5NDEwOCkKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU5LDYgKzU5LDkgQEAgdm9pZCBRVG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3Bvcgog
ewogICAgIFFTaXplIGF2YWlsYWJsZVNpemUgPSBxLT5ib3VuZGluZ1JlY3QoKS5zaXplKCkudG9T
aXplKCk7CiAKKyAgICBpZiAoYXZhaWxhYmxlU2l6ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
bjsKKwogICAgIFdlYlBhZ2VQcm94eSogd2tQYWdlID0gdG9JbXBsKHBhZ2UucGFnZVJlZigpKTsK
ICAgICBXZWJQcmVmZXJlbmNlcyogd2tQcmVmcyA9IHdrUGFnZS0+cGFnZUdyb3VwKCktPnByZWZl
cmVuY2VzKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvcW1sdGVzdHMucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvCShyZXZpc2lvbiA5NDEwOCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVz
dHMucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw1ICsxMyw2IEBAIG1lc3NhZ2UoJCRQV0QpCiBP
VEhFUl9GSUxFUyArPSBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0X3Byb3BlcnRpZXMucW1sIFwK
ICAgICBEZXNrdG9wV2ViVmlldy90c3RfbmF2aWdhdGlvblBvbGljeUZvclVybC5xbWwgXAotICAg
IFRvdWNoV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwKKyAgICBUb3VjaFdlYlZpZXcvdHN0X3By
b3BlcnRpZXMucW1sIFwKKyAgICBUb3VjaFdlYlZpZXcvdHN0X2xvYWQucW1sCiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3
L3RzdF9sb2FkLnFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNo
V2ViVmlldy90c3RfbG9hZC5xbWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK2ltcG9y
dCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmlt
ZW50YWwgNS4wCisKK1RvdWNoV2ViVmlldyB7CisgICAgaWQ6IHdlYlZpZXcKKyAgICBoZWlnaHQ6
IDYwMAorICAgIHdpZHRoOiA0MDAKKworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlkOiBzcHkK
KyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3LnBhZ2UKKyAgICAgICAgc2lnbmFsTmFtZTogImxvYWRT
dWNjZWVkZWQiCisgICAgfQorCisgICAgVGVzdENhc2UgeworICAgICAgICBuYW1lOiAiVG91Y2hX
ZWJWaWV3TG9hZCIKKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2xvYWQoKSB7CisgICAgICAgICAg
ICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAgICAgICAgIHdlYlZpZXcucGFnZS5sb2FkKFF0
LnJlc29sdmVkVXJsKCIuLi9jb21tb24vdGVzdDEuaHRtbCIpKQorICAgICAgICAgICAgc3B5Lndh
aXQoKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnBhZ2UudGl0bGUsICJUZXN0IHBhZ2Ug
MSIpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcud2lkdGgsIDQwMCkKKyAgICAgICAgICAg
IGNvbXBhcmUod2ViVmlldy5oZWlnaHQsIDYwMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>
<flag name="review"
          id="102093"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="102094"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105840</attachid>
            <date>2011-08-31 15:14:07 -0700</date>
            <delta_ts>2011-09-01 07:28:29 -0700</delta_ts>
            <desc>updated patch with more test cases</desc>
            <filename>67308c.patch</filename>
            <type>text/plain</type>
            <size>4767</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM3KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgtMzEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgY3Jhc2hlcy4gRHVyaW5nIGZpcnN0IHJvdW5kCisgICAgICAg
IHVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMgaGFzIG5vbi16ZXJvIHdpZHRoIGFuZCAwIGFzIGhl
aWdodC4gQXMgYSByZXN1bHQgYXZhaWxhYmxlU2l6ZQorICAgICAgICBpcyBzZXQgdG8gKHdpZHRo
LDApLiBIZWlnaHQgZ2V0cyBzZXQgYnkgc3Vic2VxdWVudCBjYWxsIHRvIHNldEhlaWdodC4gSG93
ZXZlciwgdGhlCisgICAgICAgIEFTU0VSVCBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIGV4
cGVjdHMgbm9uLXplcm8gdmFsdWVzIGZvciBib3RoIGhlaWdodCBhbmQgd2lkdGguCisgICAgICAg
IFRoZSBmdW5jdGlvbnMgc2V0V2lkdGgoKSBhbmQgc2V0SGVpZ2h0KCkgYXJlIGNhbGxlZCBzZXF1
ZW50aWFsbHkgdGhlcmVmb3JlIGl0IGNhbiBoYXBwZW4KKyAgICAgICAgdGhhdCBjb21wdXRlVmll
d3BvcnRBdHRyaWJ1dGVzIHdhcyBjYWxsZWQgd2l0aCBhIHNpemUgbGlrZSAod2lkdGgsIDApIGJy
ZWFraW5nIHRoZQorICAgICAgICBhc3N1bXB0aW9uIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHRoZSBz
aXplIGlzIHZhbGlkLiBUaGUgcGF0Y2ggbWFrZXMgc3VyZSB3ZSBjb21wdXRlIHRoZQorICAgICAg
ICB2aWV3cG9ydCB3aGVuIGJvdGggaGVpZ2h0IGFuZCB3aWR0aCBhcmUgdmFsaWQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNo
V2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbDog
QWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdl
YlZpZXcvdHN0X2xvYWRaZXJvU2l6ZVZpZXcucW1sOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL3FtbHRlc3RzLnBybzoKKwogMjAxMS0wOC0zMCAgQmV0
aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTUwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJKHJldmlzaW9uIDk0MTA4KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTksNiArNTksOSBAQCB2b2lkIFFUb3VjaFdlYlZpZXdQcml2YXRlOjp1cGRh
dGVWaWV3cG9yCiB7CiAgICAgUVNpemUgYXZhaWxhYmxlU2l6ZSA9IHEtPmJvdW5kaW5nUmVjdCgp
LnNpemUoKS50b1NpemUoKTsKIAorICAgIGlmIChhdmFpbGFibGVTaXplLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgV2ViUGFnZVByb3h5KiB3a1BhZ2UgPSB0b0ltcGwocGFnZS5w
YWdlUmVmKCkpOwogICAgIFdlYlByZWZlcmVuY2VzKiB3a1ByZWZzID0gd2tQYWdlLT5wYWdlR3Jv
dXAoKS0+cHJlZmVyZW5jZXMoKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8JKHJldmlz
aW9uIDk0MTA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9xbWx0ZXN0cy5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTEzLDUgKzEzLDcgQEAgbWVzc2Fn
ZSgkJFBXRCkKIE9USEVSX0ZJTEVTICs9IFwKICAgICBEZXNrdG9wV2ViVmlldy90c3RfcHJvcGVy
dGllcy5xbWwgXAogICAgIERlc2t0b3BXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9yVXJs
LnFtbCBcCi0gICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbAorICAgIFRvdWNoV2Vi
Vmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwg
XAorICAgIFRvdWNoV2ViVmlldy90c3RfbG9hZFplcm9TaXplVmlldy5xbWwKIApJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcv
dHN0X2xvYWQucW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hX
ZWJWaWV3L3RzdF9sb2FkLnFtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0
IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1l
bnRhbCA1LjAKKworVG91Y2hXZWJWaWV3IHsKKyAgICBpZDogd2ViVmlldworICAgIGhlaWdodDog
NjAwCisgICAgd2lkdGg6IDQwMAorCisgICAgU2lnbmFsU3B5IHsKKyAgICAgICAgaWQ6IHNweQor
ICAgICAgICB0YXJnZXQ6IHdlYlZpZXcucGFnZQorICAgICAgICBzaWduYWxOYW1lOiAibG9hZFN1
Y2NlZWRlZCIKKyAgICB9CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJUb3VjaFdl
YlZpZXdMb2FkIgorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfbG9hZCgpIHsKKyAgICAgICAgICAg
IGNvbXBhcmUoc3B5LmNvdW50LCAwKQorICAgICAgICAgICAgd2ViVmlldy5wYWdlLmxvYWQoUXQu
cmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0MS5odG1sIikpCisgICAgICAgICAgICBzcHkud2Fp
dCgpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcucGFnZS50aXRsZSwgIlRlc3QgcGFnZSAx
IikKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy53aWR0aCwgNDAwKQorICAgICAgICAgICAg
Y29tcGFyZSh3ZWJWaWV3LmhlaWdodCwgNjAwKQorICAgICAgICB9CisgICAgfQorfQpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZp
ZXcvdHN0X2xvYWRaZXJvU2l6ZVZpZXcucW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVy
b1NpemVWaWV3LnFtbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0IFF0UXVpY2sgMi4wCitpbXBv
cnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCA1LjAKKworVG91Y2hX
ZWJWaWV3IHsKKyAgICBpZDogd2ViVmlldworICAgIGhlaWdodDogMAorICAgIHdpZHRoOiAwCisK
KyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2ViVmll
dy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKworICAg
IFRlc3RDYXNlIHsKKyAgICAgICAgbmFtZTogIlRvdWNoV2ViVmlld0xvYWQiCisKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdF9sb2FkWmVyb1NpemVWaWV3KCkgeworICAgICAgICAgICAgY29tcGFyZShz
cHkuY291bnQsIDApCisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5yZXNvbHZlZFVy
bCgiLi4vY29tbW9uL3Rlc3QxLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAg
ICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEiKQorICAgICAg
ICAgICAgY29tcGFyZSh3ZWJWaWV3LndpZHRoLCAwKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJW
aWV3LmhlaWdodCwgMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105957</attachid>
            <date>2011-09-01 07:28:29 -0700</date>
            <delta_ts>2011-09-01 08:05:56 -0700</delta_ts>
            <desc>splitting patch for easy review</desc>
            <filename>67308d.patch</filename>
            <type>text/plain</type>
            <size>3621</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjkzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDktMDEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgY3Jhc2hlcy4gRHVyaW5nIGZpcnN0IHJvdW5kCisgICAgICAg
IHVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMgaGFzIG5vbi16ZXJvIHdpZHRoIGFuZCAwIGFzIGhl
aWdodC4gQXMgYSByZXN1bHQgYXZhaWxhYmxlU2l6ZQorICAgICAgICBpcyBzZXQgdG8gKHdpZHRo
LDApLiBIZWlnaHQgZ2V0cyBzZXQgYnkgc3Vic2VxdWVudCBjYWxsIHRvIHNldEhlaWdodC4gSG93
ZXZlciwgdGhlCisgICAgICAgIEFTU0VSVCBpbiBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIGV4
cGVjdHMgbm9uLXplcm8gdmFsdWVzIGZvciBib3RoIGhlaWdodCBhbmQgd2lkdGguCisgICAgICAg
IFRoZSBmdW5jdGlvbnMgc2V0V2lkdGgoKSBhbmQgc2V0SGVpZ2h0KCkgYXJlIGNhbGxlZCBzZXF1
ZW50aWFsbHkgdGhlcmVmb3JlIGl0IGNhbiBoYXBwZW4KKyAgICAgICAgdGhhdCBjb21wdXRlVmll
d3BvcnRBdHRyaWJ1dGVzIHdhcyBjYWxsZWQgd2l0aCBhIHNpemUgbGlrZSAod2lkdGgsIDApIGJy
ZWFraW5nIHRoZQorICAgICAgICBhc3N1bXB0aW9uIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHRoZSBz
aXplIGlzIHZhbGlkLiBUaGUgcGF0Y2ggbWFrZXMgc3VyZSB3ZSBjb21wdXRlIHRoZQorICAgICAg
ICB2aWV3cG9ydCB3aGVuIGJvdGggaGVpZ2h0IGFuZCB3aWR0aCBhcmUgdmFsaWQuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNo
V2ViVmlld1ByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbDog
QWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0
cy5wcm86CisKIDIwMTEtMDktMDEgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIEFkZCBYUmVuZGVyIGxpYiBkZXBlbmRlbmNpZXMgZXhwbGljaXRseQpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcu
Y3BwCShyZXZpc2lvbiA5NDEwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXRvdWNod2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDkgQEAgdm9pZCBR
VG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlVmlld3BvcgogewogICAgIFFTaXplIGF2YWlsYWJs
ZVNpemUgPSBxLT5ib3VuZGluZ1JlY3QoKS5zaXplKCkudG9TaXplKCk7CiAKKyAgICBpZiAoYXZh
aWxhYmxlU2l6ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFdlYlBhZ2VQcm94
eSogd2tQYWdlID0gdG9JbXBsKHBhZ2UucGFnZVJlZigpKTsKICAgICBXZWJQcmVmZXJlbmNlcyog
d2tQcmVmcyA9IHdrUGFnZS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCk7CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJv
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvcW1sdGVzdHMucHJvCShyZXZpc2lvbiA5NDEwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvCSh3b3JraW5nIGNvcHkp
CkBAIC0xMyw1ICsxMyw1IEBAIG1lc3NhZ2UoJCRQV0QpCiBPVEhFUl9GSUxFUyArPSBcCiAgICAg
RGVza3RvcFdlYlZpZXcvdHN0X3Byb3BlcnRpZXMucW1sIFwKICAgICBEZXNrdG9wV2ViVmlldy90
c3RfbmF2aWdhdGlvblBvbGljeUZvclVybC5xbWwgXAotICAgIFRvdWNoV2ViVmlldy90c3RfcHJv
cGVydGllcy5xbWwKLQorICAgIFRvdWNoV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAg
IFRvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1Rv
dWNoV2ViVmlldy90c3RfbG9hZC5xbWwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0
IFF0VGVzdCAxLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgNS4wCisKK1RvdWNoV2Vi
VmlldyB7CisgICAgaWQ6IHdlYlZpZXcKKyAgICBoZWlnaHQ6IDYwMAorICAgIHdpZHRoOiA0MDAK
KworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlkOiBzcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJW
aWV3LnBhZ2UKKyAgICAgICAgc2lnbmFsTmFtZTogImxvYWRTdWNjZWVkZWQiCisgICAgfQorCisg
ICAgVGVzdENhc2UgeworICAgICAgICBuYW1lOiAiVG91Y2hXZWJWaWV3TG9hZCIKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0X2xvYWQoKSB7CisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwg
MCkKKyAgICAgICAgICAgIHdlYlZpZXcucGFnZS5sb2FkKFF0LnJlc29sdmVkVXJsKCIuLi9jb21t
b24vdGVzdDEuaHRtbCIpKQorICAgICAgICAgICAgc3B5LndhaXQoKQorICAgICAgICAgICAgY29t
cGFyZSh3ZWJWaWV3LnBhZ2UudGl0bGUsICJUZXN0IHBhZ2UgMSIpCisgICAgICAgICAgICBjb21w
YXJlKHdlYlZpZXcud2lkdGgsIDQwMCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5oZWln
aHQsIDYwMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105958</attachid>
            <date>2011-09-01 07:30:28 -0700</date>
            <delta_ts>2011-09-01 07:57:59 -0700</delta_ts>
            <desc>Edge case tests requested by Benjamin</desc>
            <filename>67308e.patch</filename>
            <type>text/plain</type>
            <size>2337</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0Mjk0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisgICAgICAgIFtRdF0gVG91Y2hX
ZWJWaWV3IGNyYXNoZXMgd2l0aCBzZWdtZW50YXRpb24gZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzA4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRvaW5hbCB0ZXN0IGZvciBlZGdlIGNh
c2VzIHRvIGNoZWNrIGJlaGF2aW9yIHdpdGggemVybyBzaXplZCB3aWR0aCBhbmQgaGVpZ2h0LiAK
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3
L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisKIDIwMTEtMDktMDEgIFhhbiBMb3Bl
eiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBYUmVuZGVyIGxpYiBk
ZXBlbmRlbmNpZXMgZXhwbGljaXRseQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8JKHJldmlz
aW9uIDk0MTA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9xbWx0ZXN0cy5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTEzLDUgKzEzLDYgQEAgbWVzc2Fn
ZSgkJFBXRCkKIE9USEVSX0ZJTEVTICs9IFwKICAgICBEZXNrdG9wV2ViVmlldy90c3RfcHJvcGVy
dGllcy5xbWwgXAogICAgIERlc2t0b3BXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9yVXJs
LnFtbCBcCi0gICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbAorICAgIFRvdWNoV2Vi
Vmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3RfbG9hZFplcm9T
aXplVmlldy5xbWwKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0
cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X2xvYWRaZXJvU2l6ZVZpZXcucW1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91
Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3Rz
dF9sb2FkWmVyb1NpemVWaWV3LnFtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAoraW1w
b3J0IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVy
aW1lbnRhbCA1LjAKKworVG91Y2hXZWJWaWV3IHsKKyAgICBpZDogd2ViVmlldworICAgIGhlaWdo
dDogMAorICAgIHdpZHRoOiAwCisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5Cisg
ICAgICAgIHRhcmdldDogd2ViVmlldy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3Vj
Y2VlZGVkIgorICAgIH0KKworICAgIFRlc3RDYXNlIHsKKyAgICAgICAgbmFtZTogIlRvdWNoV2Vi
Vmlld0xvYWQiCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9sb2FkWmVyb1NpemVWaWV3KCkgewor
ICAgICAgICAgICAgY29tcGFyZShzcHkuY291bnQsIDApCisgICAgICAgICAgICB3ZWJWaWV3LnBh
Z2UubG9hZChRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL3Rlc3QxLmh0bWwiKSkKKyAgICAgICAg
ICAgIHNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAi
VGVzdCBwYWdlIDEiKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LndpZHRoLCAwKQorICAg
ICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LmhlaWdodCwgMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>
<flag name="review"
          id="102269"
          type_id="1"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105963</attachid>
            <date>2011-09-01 07:57:59 -0700</date>
            <delta_ts>2011-09-01 08:35:41 -0700</delta_ts>
            <desc>modified change log</desc>
            <filename>67308e.patch</filename>
            <type>text/plain</type>
            <size>2325</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0Mjk0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDktMDEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisgICAgICAgIFtRdF0gVG91Y2hX
ZWJWaWV3IGNyYXNoZXMgd2l0aCBzZWdtZW50YXRpb24gZmF1bHQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzA4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBmb3IgZWRnZSBjYXNlIHRvIGNoZWNr
IGJlaGF2aW9yIHdpdGggemVybyBzaXplZCB3aWR0aCBhbmQgaGVpZ2h0LiAKKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVy
b1NpemVWaWV3LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisKIDIwMTEtMDktMDEgIFhhbiBMb3BleiAgPHhsb3BlekBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBYUmVuZGVyIGxpYiBkZXBlbmRlbmNpZXMg
ZXhwbGljaXRseQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9xbWx0ZXN0cy5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8JKHJldmlzaW9uIDk0MTA4KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0
cy5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTEzLDUgKzEzLDYgQEAgbWVzc2FnZSgkJFBXRCkKIE9U
SEVSX0ZJTEVTICs9IFwKICAgICBEZXNrdG9wV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwgXAog
ICAgIERlc2t0b3BXZWJWaWV3L3RzdF9uYXZpZ2F0aW9uUG9saWN5Rm9yVXJsLnFtbCBcCi0gICAg
VG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0aWVzLnFtbAorICAgIFRvdWNoV2ViVmlldy90c3RfcHJv
cGVydGllcy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3RfbG9hZFplcm9TaXplVmlldy5xbWwK
IApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9U
b3VjaFdlYlZpZXcvdHN0X2xvYWRaZXJvU2l6ZVZpZXcucW1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3Rz
dF9sb2FkWmVyb1NpemVWaWV3LnFtbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1Np
emVWaWV3LnFtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0IFF0UXVpY2sg
Mi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCA1LjAK
KworVG91Y2hXZWJWaWV3IHsKKyAgICBpZDogd2ViVmlldworICAgIGhlaWdodDogMAorICAgIHdp
ZHRoOiAwCisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdl
dDogd2ViVmlldy5wYWdlCisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAg
IH0KKworICAgIFRlc3RDYXNlIHsKKyAgICAgICAgbmFtZTogIlRvdWNoV2ViVmlld0xvYWQiCisK
KyAgICAgICAgZnVuY3Rpb24gdGVzdF9sb2FkWmVyb1NpemVWaWV3KCkgeworICAgICAgICAgICAg
Y29tcGFyZShzcHkuY291bnQsIDApCisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5y
ZXNvbHZlZFVybCgiLi4vY29tbW9uL3Rlc3QxLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0
KCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEi
KQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LndpZHRoLCAwKQorICAgICAgICAgICAgY29t
cGFyZSh3ZWJWaWV3LmhlaWdodCwgMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105967</attachid>
            <date>2011-09-01 08:05:56 -0700</date>
            <delta_ts>2011-09-01 08:35:41 -0700</delta_ts>
            <desc>simplified changelog based on reviewer comments</desc>
            <filename>67308d.patch</filename>
            <type>text/plain</type>
            <size>3318</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjkzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTEtMDktMDEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgY3Jhc2hlcy4gCisgICAgICAgIFRoZSBmdW5jdGlvbnMgc2V0
V2lkdGgoKSBhbmQgc2V0SGVpZ2h0KCkgYXJlIGNhbGxlZCBzZXF1ZW50aWFsbHkgdGhlcmVmb3Jl
IGl0IGNhbiBoYXBwZW4KKyAgICAgICAgdGhhdCBjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVzIHdh
cyBjYWxsZWQgd2l0aCBhIHNpemUgbGlrZSAod2lkdGgsIDApIGJyZWFraW5nIHRoZQorICAgICAg
ICBhc3N1bXB0aW9uIG9mIHRoZSBmdW5jdGlvbiB0aGF0IHRoZSBzaXplIGlzIHZhbGlkLiBUaGUg
cGF0Y2ggbWFrZXMgc3VyZSB3ZSBjb21wdXRlIHRoZQorICAgICAgICB2aWV3cG9ydCB3aGVuIGJv
dGggaGVpZ2h0IGFuZCB3aWR0aCBhcmUgdmFsaWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnZpZXcuY3BwOgorICAgICAgICAoUVRvdWNoV2ViVmlld1ByaXZhdGU6OnVw
ZGF0ZVZpZXdwb3J0Q29uc3RyYWludHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbDogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm86CisKIDIwMTEtMDkt
MDEgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFkZCBY
UmVuZGVyIGxpYiBkZXBlbmRlbmNpZXMgZXhwbGljaXRseQpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5NDEw
OCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDkgQEAgdm9pZCBRVG91Y2hXZWJWaWV3UHJpdmF0
ZTo6dXBkYXRlVmlld3BvcgogewogICAgIFFTaXplIGF2YWlsYWJsZVNpemUgPSBxLT5ib3VuZGlu
Z1JlY3QoKS5zaXplKCkudG9TaXplKCk7CiAKKyAgICBpZiAoYXZhaWxhYmxlU2l6ZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFdlYlBhZ2VQcm94eSogd2tQYWdlID0gdG9JbXBs
KHBhZ2UucGFnZVJlZigpKTsKICAgICBXZWJQcmVmZXJlbmNlcyogd2tQcmVmcyA9IHdrUGFnZS0+
cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJv
CShyZXZpc2lvbiA5NDEwOCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw1ICsxMyw1IEBA
IG1lc3NhZ2UoJCRQV0QpCiBPVEhFUl9GSUxFUyArPSBcCiAgICAgRGVza3RvcFdlYlZpZXcvdHN0
X3Byb3BlcnRpZXMucW1sIFwKICAgICBEZXNrdG9wV2ViVmlldy90c3RfbmF2aWdhdGlvblBvbGlj
eUZvclVybC5xbWwgXAotICAgIFRvdWNoV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwKLQorICAg
IFRvdWNoV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3Rf
bG9hZC5xbWwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9h
ZC5xbWwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsMjggQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9y
dCBRdFdlYktpdC5leHBlcmltZW50YWwgNS4wCisKK1RvdWNoV2ViVmlldyB7CisgICAgaWQ6IHdl
YlZpZXcKKyAgICBoZWlnaHQ6IDYwMAorICAgIHdpZHRoOiA0MDAKKworICAgIFNpZ25hbFNweSB7
CisgICAgICAgIGlkOiBzcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3LnBhZ2UKKyAgICAgICAg
c2lnbmFsTmFtZTogImxvYWRTdWNjZWVkZWQiCisgICAgfQorCisgICAgVGVzdENhc2UgeworICAg
ICAgICBuYW1lOiAiVG91Y2hXZWJWaWV3TG9hZCIKKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2xv
YWQoKSB7CisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwgMCkKKyAgICAgICAgICAgIHdl
YlZpZXcucGFnZS5sb2FkKFF0LnJlc29sdmVkVXJsKCIuLi9jb21tb24vdGVzdDEuaHRtbCIpKQor
ICAgICAgICAgICAgc3B5LndhaXQoKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnBhZ2Uu
dGl0bGUsICJUZXN0IHBhZ2UgMSIpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcud2lkdGgs
IDQwMCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5oZWlnaHQsIDYwMCkKKyAgICAgICAg
fQorICAgIH0KK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105972</attachid>
            <date>2011-09-01 08:35:41 -0700</date>
            <delta_ts>2011-09-01 10:55:24 -0700</delta_ts>
            <desc>All the coverage in one patch</desc>
            <filename>67308f.patch</filename>
            <type>text/plain</type>
            <size>5673</size>
            <attacher name="Gopal Raghavan">gopal.1.raghavan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0Mjk4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMDEgIEdvcGFsIFJh
Z2hhdmFuICA8Z29wYWwuMS5yYWdoYXZhbkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBUb3Vj
aFdlYlZpZXcgY3Jhc2hlcyB3aXRoIHNlZ21lbnRhdGlvbiBmYXVsdAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiB5b3UgaW5zdGFudGlhdGUgVG91Y2hX
ZWJWaWV3IGVsZW1lbnQgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGluIGEgcW1sIGZpbGUgYW5kCisg
ICAgICAgIGxvYWQgYSB1cmwgaXQgY3Jhc2hlcy4KKyAgICAgICAgVGhlIGZ1bmN0aW9ucyBzZXRX
aWR0aCgpIGFuZCBzZXRIZWlnaHQoKSBhcmUgY2FsbGVkIHNlcXVlbnRpYWxseSB0aGVyZWZvcmUg
aXQgY2FuIGhhcHBlbgorICAgICAgICB0aGF0IGNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXMgd2Fz
IGNhbGxlZCB3aXRoIGEgc2l6ZSBsaWtlICh3aWR0aCwgMCkgYnJlYWtpbmcgdGhlCisgICAgICAg
IGFzc3VtcHRpb24gb2YgdGhlIGZ1bmN0aW9uIHRoYXQgdGhlIHNpemUgaXMgdmFsaWQuIFRoZSBw
YXRjaCBtYWtlcyBzdXJlIHdlIGNvbXB1dGUgdGhlCisgICAgICAgIHZpZXdwb3J0IHdoZW4gYm90
aCBoZWlnaHQgYW5kIHdpZHRoIGFyZSB2YWxpZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgIChRVG91Y2hXZWJWaWV3UHJpdmF0ZTo6dXBk
YXRlVmlld3BvcnRDb25zdHJhaW50cyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0
cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X2xvYWQucW1sOiBBZGRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZE5lZ2F0
aXZlU2l6ZVZpZXcucW1sOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZFplcm9TaXplVmlldy5xbWw6IEFkZGVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvcW1sdGVzdHMucHJvOgor
CiAyMDExLTA5LTAxICBBZGEgQ2hhbiAgPGFkYWNoYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEdh
dGhlciBKYXZhU2NyaXB0LCBGYXN0TWFsbG9jLCBpY29uLCBmb250LCBhbmQgZ2x5cGggcGFnZSBz
dGF0aXN0aWNzIGluIFdlYlByb2Nlc3M6OmdldFdlYkNvcmVTdGF0aXN0aWNzKCkuCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNod2Vidmlldy5jcHAJ
KHJldmlzaW9uIDk0MTA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91
Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksOSBAQCB2b2lkIFFUb3Vj
aFdlYlZpZXdQcml2YXRlOjp1cGRhdGVWaWV3cG9yCiB7CiAgICAgUVNpemUgYXZhaWxhYmxlU2l6
ZSA9IHEtPmJvdW5kaW5nUmVjdCgpLnNpemUoKS50b1NpemUoKTsKIAorICAgIGlmIChhdmFpbGFi
bGVTaXplLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgV2ViUGFnZVByb3h5KiB3
a1BhZ2UgPSB0b0ltcGwocGFnZS5wYWdlUmVmKCkpOwogICAgIFdlYlByZWZlcmVuY2VzKiB3a1By
ZWZzID0gd2tQYWdlLT5wYWdlR3JvdXAoKS0+cHJlZmVyZW5jZXMoKTsKIApJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0
cy9xbWx0ZXN0cy5wcm8JKHJldmlzaW9uIDk0MTA4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9xbWx0ZXN0cy5wcm8JKHdvcmtpbmcgY29weSkKQEAg
LTEzLDUgKzEzLDcgQEAgbWVzc2FnZSgkJFBXRCkKIE9USEVSX0ZJTEVTICs9IFwKICAgICBEZXNr
dG9wV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwgXAogICAgIERlc2t0b3BXZWJWaWV3L3RzdF9u
YXZpZ2F0aW9uUG9saWN5Rm9yVXJsLnFtbCBcCi0gICAgVG91Y2hXZWJWaWV3L3RzdF9wcm9wZXJ0
aWVzLnFtbAorICAgIFRvdWNoV2ViVmlldy90c3RfcHJvcGVydGllcy5xbWwgXAorICAgIFRvdWNo
V2ViVmlldy90c3RfbG9hZFplcm9TaXplVmlldy5xbWwgXAorICAgIFRvdWNoV2ViVmlldy90c3Rf
bG9hZE5lZ2F0aXZlU2l6ZVZpZXcucW1sCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkLnFtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1Rv
dWNoV2ViVmlldy90c3RfbG9hZC5xbWwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL1RvdWNoV2ViVmlldy90c3RfbG9hZC5xbWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0
IFF0VGVzdCAxLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgNS4wCisKK1RvdWNoV2Vi
VmlldyB7CisgICAgaWQ6IHdlYlZpZXcKKyAgICBoZWlnaHQ6IDYwMAorICAgIHdpZHRoOiA0MDAK
KworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlkOiBzcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJW
aWV3LnBhZ2UKKyAgICAgICAgc2lnbmFsTmFtZTogImxvYWRTdWNjZWVkZWQiCisgICAgfQorCisg
ICAgVGVzdENhc2UgeworICAgICAgICBuYW1lOiAiVG91Y2hXZWJWaWV3TG9hZCIKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0X2xvYWQoKSB7CisgICAgICAgICAgICBjb21wYXJlKHNweS5jb3VudCwg
MCkKKyAgICAgICAgICAgIHdlYlZpZXcucGFnZS5sb2FkKFF0LnJlc29sdmVkVXJsKCIuLi9jb21t
b24vdGVzdDEuaHRtbCIpKQorICAgICAgICAgICAgc3B5LndhaXQoKQorICAgICAgICAgICAgY29t
cGFyZSh3ZWJWaWV3LnBhZ2UudGl0bGUsICJUZXN0IHBhZ2UgMSIpCisgICAgICAgICAgICBjb21w
YXJlKHdlYlZpZXcud2lkdGgsIDQwMCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy5oZWln
aHQsIDYwMCkKKyAgICAgICAgfQorICAgIH0KK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkTmVnYXRpdmVT
aXplVmlldy5xbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0X2xvYWROZWdhdGl2ZVNpemVWaWV3LnFt
bAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkTmVnYXRpdmVTaXplVmlldy5xbWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMjggQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVz
dCAxLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgNS4wCisKK1RvdWNoV2ViVmlldyB7
CisgICAgaWQ6IHdlYlZpZXcKKyAgICBoZWlnaHQ6IC02MDAKKyAgICB3aWR0aDogLTQwMAorCisg
ICAgU2lnbmFsU3B5IHsKKyAgICAgICAgaWQ6IHNweQorICAgICAgICB0YXJnZXQ6IHdlYlZpZXcu
cGFnZQorICAgICAgICBzaWduYWxOYW1lOiAibG9hZFN1Y2NlZWRlZCIKKyAgICB9CisKKyAgICBU
ZXN0Q2FzZSB7CisgICAgICAgIG5hbWU6ICJUb3VjaFdlYlZpZXdMb2FkIgorCisgICAgICAgIGZ1
bmN0aW9uIHRlc3RfbG9hZE5lZ2F0aXZlU2l6ZVZpZXcoKSB7CisgICAgICAgICAgICBjb21wYXJl
KHNweS5jb3VudCwgMCkKKyAgICAgICAgICAgIHdlYlZpZXcucGFnZS5sb2FkKFF0LnJlc29sdmVk
VXJsKCIuLi9jb21tb24vdGVzdDEuaHRtbCIpKQorICAgICAgICAgICAgc3B5LndhaXQoKQorICAg
ICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnBhZ2UudGl0bGUsICJUZXN0IHBhZ2UgMSIpCisgICAg
ICAgICAgICBjb21wYXJlKHdlYlZpZXcud2lkdGgsIC00MDApCisgICAgICAgICAgICBjb21wYXJl
KHdlYlZpZXcuaGVpZ2h0LCAtNjAwKQorICAgICAgICB9CisgICAgfQorfQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9Ub3VjaFdlYlZpZXcvdHN0
X2xvYWRaZXJvU2l6ZVZpZXcucW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVW
aWV3LnFtbAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvVG91Y2hXZWJWaWV3L3RzdF9sb2FkWmVyb1NpemVWaWV3LnFtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAoraW1wb3J0IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRU
ZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCA1LjAKKworVG91Y2hXZWJWaWV3
IHsKKyAgICBpZDogd2ViVmlldworICAgIGhlaWdodDogMAorICAgIHdpZHRoOiAwCisKKyAgICBT
aWduYWxTcHkgeworICAgICAgICBpZDogc3B5CisgICAgICAgIHRhcmdldDogd2ViVmlldy5wYWdl
CisgICAgICAgIHNpZ25hbE5hbWU6ICJsb2FkU3VjY2VlZGVkIgorICAgIH0KKworICAgIFRlc3RD
YXNlIHsKKyAgICAgICAgbmFtZTogIlRvdWNoV2ViVmlld0xvYWQiCisKKyAgICAgICAgZnVuY3Rp
b24gdGVzdF9sb2FkWmVyb1NpemVWaWV3KCkgeworICAgICAgICAgICAgY29tcGFyZShzcHkuY291
bnQsIDApCisgICAgICAgICAgICB3ZWJWaWV3LnBhZ2UubG9hZChRdC5yZXNvbHZlZFVybCgiLi4v
Y29tbW9uL3Rlc3QxLmh0bWwiKSkKKyAgICAgICAgICAgIHNweS53YWl0KCkKKyAgICAgICAgICAg
IGNvbXBhcmUod2ViVmlldy5wYWdlLnRpdGxlLCAiVGVzdCBwYWdlIDEiKQorICAgICAgICAgICAg
Y29tcGFyZSh3ZWJWaWV3LndpZHRoLCAwKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3Lmhl
aWdodCwgMCkKKyAgICAgICAgfQorICAgIH0KK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>