<?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>70852</bug_id>
          
          <creation_ts>2011-10-25 14:26:10 -0700</creation_ts>
          <short_desc>Setting up a HiDPI base-level GraphicsContext should be more straightforward for WebKit2</short_desc>
          <delta_ts>2011-10-25 16:09:30 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>490361</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-10-25 14:26:10 -0700</bug_when>
    <thetext>Right now there are three places in WebKit2 where we have to set up a GraphicsContext to act as a base-level HiDPI GraphicsContext. Once in DrawingAreaImpl::display() which sets up the context for the main web page. Then twice in WebPage.cpp for snapshotting functions. I wanted to improve those three places so that they set up a HiDPI context in a way that is more straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490367</commentid>
    <comment_count>1</comment_count>
      <attachid>112405</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-10-25 14:36:51 -0700</bug_when>
    <thetext>Created attachment 112405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490385</commentid>
    <comment_count>2</comment_count>
      <attachid>112405</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-10-25 14:55:11 -0700</bug_when>
    <thetext>Comment on attachment 112405
Patch

Attachment 112405 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10208488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490388</commentid>
    <comment_count>3</comment_count>
      <attachid>112405</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 14:55:50 -0700</bug_when>
    <thetext>Comment on attachment 112405
Patch

Attachment 112405 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10209391</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490394</commentid>
    <comment_count>4</comment_count>
      <attachid>112412</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-10-25 14:59:44 -0700</bug_when>
    <thetext>Created attachment 112412
Another patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490397</commentid>
    <comment_count>5</comment_count>
      <attachid>112412</attachid>
    <who name="">mitz</who>
    <bug_when>2011-10-25 15:03:38 -0700</bug_when>
    <thetext>Comment on attachment 112412
Another patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:1597
&gt; +    scale(FloatSize(deviceScaleFactor, deviceScaleFactor));

A slightly neater way to do this would be to keep this common part in the cross-platform applyDeviceScaleFactor() and have that one call a private platformApplyDeviceScaleFactor() that would have a no-op definition in GraphicsContext.cpp and a CG-specific definition in GraphicsContextCG.cpp, but I think this is okay for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490408</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-10-25 15:27:37 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 112412 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112412&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:1597
&gt; &gt; +    scale(FloatSize(deviceScaleFactor, deviceScaleFactor));
&gt; 
&gt; A slightly neater way to do this would be to keep this common part in the cross-platform applyDeviceScaleFactor() and have that one call a private platformApplyDeviceScaleFactor() that would have a no-op definition in GraphicsContext.cpp and a CG-specific definition in GraphicsContextCG.cpp, but I think this is okay for now.

Oh, I like that! I&apos;ll do that! Thanks for the review, Dan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490440</commentid>
    <comment_count>7</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-10-25 16:09:30 -0700</bug_when>
    <thetext>Committed change with revision 98406.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112405</attachid>
            <date>2011-10-25 14:36:51 -0700</date>
            <delta_ts>2011-10-25 14:59:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>9547</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4Mzk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTAtMjUgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDg1MgorICAgICAgICBTZXR0aW5nIHVwIGEgSGlEUEkgYmFzZS1s
ZXZlbCBHcmFwaGljc0NvbnRleHQgc2hvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIGZvciAK
KyAgICAgICAgV2ViS2l0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIGNnLW9ubHkgR3JhcGhpY3NDb250
ZXh0OjpzZXRCYXNlQ1RNKCkgYXBpLCBhbmQgYWRkcyAKKyAgICAgICAgcGxhdGZvcm0taW5kZXBl
bmRlbnQgR3JhcGhpY3NDb250ZXh0OjphcHBseURldmljZVNjYWxlRmFjdG9yKCkuCisgICAgICAg
ICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6YXBwbHlEZXZp
Y2VTY2FsZUZhY3Rvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwOgorCisgICAgICAgIFNpbmNlIHRoaXMgcGF0Y2ggcmVtb3ZlcyBHcmFwaGljc0NvbnRleHQ6
OnNldEJhc2VDVE0oKSwgdGhpcyBjb2RlIGhhcyBiZWVuIAorICAgICAgICByZXZlcnRlZCB0byBk
byB3aGF0IGl0IHVzZWQgdG8gZG8gYmVmb3JlIHRoYXQgd2FzIGFkZGVkOyBpdCBqdXN0IGNhbGxz
IGludG8gCisgICAgICAgIFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UgZGlyZWN0bHkuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZTo6ZHJhd1BhdHRlcm4pOgorCiAyMDExLTEwLTI1ICBNaWNoYWwgTW9jbnkgIDxtbW9jbnlA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBMYXllclJlbmRlcmVyQ2hyb21pdW06OnNldFZpc2libGUg
Y2FsbGVkIG5lZWRsZXNzbHkgd2l0aG91dCBhIHZpc2liaWxpdHkgY2hhbmdlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gOTgyNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtNDI4LDYgKzQyOCw3IEBAIF9fWk43V2ViQ29yZTE1
R3JhcGhpY3NDb250ZXh0MThzZXRTaG91bGQKIF9fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0
MjBzZXRTaG91bGRTbW9vdGhGb250c0ViCiBfX1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDIw
ZW5kVHJhbnNwYXJlbmN5TGF5ZXJFdgogX19aTjdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQyMXNl
dENvbXBvc2l0ZU9wZXJhdGlvbkVOU18xN0NvbXBvc2l0ZU9wZXJhdG9yRQorX19aTjdXZWJDb3Jl
MTVHcmFwaGljc0NvbnRleHQyMmFwcGx5RGV2aWNlU2NhbGVGYWN0b3JFZgogX19aTjdXZWJDb3Jl
MTVHcmFwaGljc0NvbnRleHQyMmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXJFZgogX19aTjdXZWJDb3Jl
MTVHcmFwaGljc0NvbnRleHQyOHNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHlFTlNfMjBJbnRl
cnBvbGF0aW9uUXVhbGl0eUUKIF9fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0NGNsaXBFUktO
U180UGF0aEUKQEAgLTEyMTgsNyArMTIxOSw2IEBAIF9fWk5LN1dlYkNvcmUxNFNlY3VyaXR5T3Jp
Z2luMTBjYW5EaXNwbGEKIF9fWk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luMThkYXRhYmFzZUlk
ZW50aWZpZXJFdgogX19aTks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW41ZXF1YWxFUEtTMF8KIF9f
Wk5LN1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjE4Zm9jdXNlZE9yTWFpbkZyYW1lRXYKLV9fWk43
V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MTBzZXRCYXNlQ1RNRVJLTlNfMTVBZmZpbmVUcmFuc2Zv
cm1FCiBfX1pOSzdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxNXBsYXRmb3JtQ29udGV4dEV2CiBf
X1pOSzdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxNnBhaW50aW5nRGlzYWJsZWRFdgogX19aTks3
V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MjB1cGRhdGluZ0NvbnRyb2xUaW50c0V2CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5jcHAJKHJldmlzaW9uIDk4MjUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
I2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUg
IlRleHRSdW4uaCIKKyNpbmNsdWRlICJXZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgiCiAKICNpbmNs
dWRlICJzdGRpby5oIgogCkBAIC03NjQsNCArNzY1LDE2IEBAIFBhc3NPd25QdHI8SW1hZ2VCdWZm
ZXI+IEdyYXBoaWNzQ29udGV4dDoKICAgICByZXR1cm4gYnVmZmVyLnJlbGVhc2UoKTsKIH0KIAor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmFwcGx5RGV2aWNlU2NhbGVGYWN0b3IoZmxvYXQgZGV2aWNl
U2NhbGVGYWN0b3IpCit7CisgICAgc2NhbGUoRmxvYXRTaXplKGRldmljZVNjYWxlRmFjdG9yLCBk
ZXZpY2VTY2FsZUZhY3RvcikpOworCisgICAgLy8gQ29yZUdyYXBoaWNzIGV4cGVjdHMgdGhlIGJh
c2UgQ1RNIG9mIGEgSGlEUEkgY29udGV4dCB0byBoYXZlIHRoZSBzY2FsZSBmYWN0b3IgYXBwbGll
ZCB0byBpdC4KKyAgICAvLyBGYWlsaW5nIHRvIGNoYW5nZSB0aGUgYmFzZSBsZXZlbCBDVE0gd2ls
bCBjYXVzZSBjZXJ0YWluIENHIGZlYXR1cmVzLCBzdWNoIGFzIGZvY3VzIHJpbmdzLAorICAgIC8v
IHRvIGRyYXcgd2l0aCBhIHNjYWxlIGZhY3RvciBvZiAxIHJhdGhlciB0aGFuIHRoZSBhY3R1YWwg
c2NhbGUgZmFjdG9yLgorI2lmIFVTRShDRykKKyAgICB3a1NldEJhc2VDVE0ocGxhdGZvcm1Db250
ZXh0KCksIGdldENUTSgpKTsKKyNlbmRpZgorfQorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gOTgy
NTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjY5LDggKzI2OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBpc0NBTGF5ZXJDb250ZXh0KCkgY29uc3Q7CiAKICAgICAgICAgdm9pZCBz
ZXRJc0FjY2VsZXJhdGVkQ29udGV4dChib29sKTsKLQotICAgICAgICB2b2lkIHNldEJhc2VDVE0o
Y29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CiAjZW5kaWYKICAgICAgICAgYm9vbCBpc0FjY2VsZXJh
dGVkQ29udGV4dCgpIGNvbnN0OwogCkBAIC00MTUsNiArNDEzLDEwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgLy8gZm9yIGRyYXdpbmcgaW50byB0aGUgYnVmZmVyIGFuZCB0aGVuIGlu
dG8gdGhpcyBjb250ZXh0LgogICAgICAgICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVD
b21wYXRpYmxlQnVmZmVyKGNvbnN0IEludFNpemUmKSBjb25zdDsKIAorICAgICAgICAvLyBUaGlz
IGZ1bmN0aW9uIGFwcGxpZXMgdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgdG8gdGhlIGNvbnRleHQs
IG1ha2luZyB0aGUgY29udGV4dCBjYXBhYmxlIG9mCisgICAgICAgIC8vIGFjdGluZyBhcyBhIGJh
c2UtbGV2ZWwgY29udGV4dCBmb3IgYSBIaURQSSBlbnZpcm9ubWVudC4KKyAgICAgICAgdm9pZCBh
cHBseURldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKKwogI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZP
Uk0oUVQpCiAgICAgICAgIHZvaWQgc2V0Qml0bWFwKFBhc3NSZWZQdHI8U2hhcmVkQml0bWFwPik7
CiAgICAgICAgIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNmb3JtKCkgY29uc3Q7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCShyZXZpc2lvbiA5ODI1MikKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTQ3MCwxMSArMTQ3MCw2IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0Ojppc0FjY2Vs
ZXJhdGVkQ29udGUKICAgICByZXR1cm4gbV9kYXRhLT5tX2NvbnRleHRGbGFncyAmIElzQWNjZWxl
cmF0ZWRDR0NvbnRleHQ7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRCYXNlQ1RNKGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtKQotewotICAgIHdrU2V0QmFzZUNUTShwbGF0
Zm9ybUNvbnRleHQoKSwgdHJhbnNmb3JtKTsKLX0KLQogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNl
dFBsYXRmb3JtVGV4dERyYXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdzIG1vZGUpCiB7CiAg
ICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCShyZXZpc2lvbiA5ODI1MikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yODQsOSArMjg0LDcgQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250
ZXh0KgogICAgIENHQ29udGV4dFNldEZpbGxDb2xvclNwYWNlKGNvbnRleHQsIHBhdHRlcm5TcGFj
ZS5nZXQoKSk7CiAKICAgICAvLyBGSVhNRTogUmVhbGx5IHdhbnQgYSBwdWJsaWMgQVBJIGZvciB0
aGlzLiAgSXQgaXMganVzdCBDR0NvbnRleHRTZXRCYXNlQ1RNKGNvbnRleHQsIENHQWZmaW5lVHJh
bnNmb3JtSWRlbnRpeSkuCi0gICAgQWZmaW5lVHJhbnNmb3JtIGlkZW50aXR5OwotICAgIGlkZW50
aXR5Lm1ha2VJZGVudGl0eSgpOwotICAgIGN0eHQtPnNldEJhc2VDVE0oaWRlbnRpdHkpOworICAg
IHdrU2V0QmFzZUNUTShjb250ZXh0LCBDR0FmZmluZVRyYW5zZm9ybUlkZW50aXR5KTsKICAgICBD
R0NvbnRleHRTZXRQYXR0ZXJuUGhhc2UoY29udGV4dCwgQ0dTaXplWmVybyk7CiAKICAgICBDR0Nv
bnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4dCwgY29sb3IuZ2V0KCkpOwpJbmRleDog
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwkocmV2aXNpb24gOTgzOTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0yNSAgQmV0aCBEYWtpbiAgPGJk
YWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcwODUyCisgICAgICAgIFNldHRpbmcgdXAgYSBIaURQSSBiYXNlLWxldmVsIEdy
YXBoaWNzQ29udGV4dCBzaG91bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgZm9yIAorICAgICAg
ICBXZWJLaXQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2hlbiB3ZSBuZWVkIGEgYmFzZS1sZXZlbCBIaURQSSBHcmFwaGljc0NvbnRleHQsIGNhbGwg
aW50byBuZXcgR3JhcGhpY3NDb250ZXh0IGFwaSAKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0Ojph
cHBseURldmljZVNjYWxlRmFjdG9yKCkgcmF0aGVyIHRoYW4gbWFudWFsbHkgc2NhbGluZyBhbmQg
CisgICAgICAgIGFkanVzdGluZyB0aGUgYmFzZSBDVE0uCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVh
SW1wbDo6ZGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzbmFwc2hvdEluVmlld0Nvb3JkaW5hdGVzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2NhbGVkU25hcHNob3RJbkRvY3VtZW50Q29vcmRp
bmF0ZXMpOgorCiAyMDExLTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiB6b29taW5nIGEgUERGIGluIGFu
IGlmcmFtZQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAJKHJldmlzaW9uIDk4MjUyKQorKysgU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0Niw3ICs2NDYsOCBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxheShVcGRhdGVJ
bmZvCiAgICAgQVNTRVJUKG1fd2ViUGFnZS0+Ym91bmRzKCkuY29udGFpbnMoYm91bmRzKSk7CiAK
ICAgICBJbnRTaXplIGJpdG1hcFNpemUgPSBib3VuZHMuc2l6ZSgpOwotICAgIGJpdG1hcFNpemUu
c2NhbGUobV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2Nh
bGVGYWN0b3IoKTsKKyAgICBiaXRtYXBTaXplLnNjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKICAg
ICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0
ZVNoYXJlYWJsZShiaXRtYXBTaXplLCBTaGFyZWFibGVCaXRtYXA6OlN1cHBvcnRzQWxwaGEpOwog
ICAgIGlmICghYml0bWFwKQogICAgICAgICByZXR1cm47CkBAIC02NjksMTAgKzY3MCw3IEBAIHZv
aWQgRHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5KFVwZGF0ZUluZm8KICAgICBtX3Njcm9sbE9mZnNl
dCA9IEludFNpemUoKTsKIAogICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQ+IGdyYXBoaWNzQ29u
dGV4dCA9IGNyZWF0ZUdyYXBoaWNzQ29udGV4dChiaXRtYXAuZ2V0KCkpOwotICAgIGdyYXBoaWNz
Q29udGV4dC0+c2NhbGUoRmxvYXRTaXplKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2Nh
bGVGYWN0b3IoKSwgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKSk7
Ci0jaWYgVVNFKENHKQotICAgIGdyYXBoaWNzQ29udGV4dC0+c2V0QmFzZUNUTShncmFwaGljc0Nv
bnRleHQtPmdldENUTSgpKTsKLSNlbmRpZgorICAgIGdyYXBoaWNzQ29udGV4dC0+YXBwbHlEZXZp
Y2VTY2FsZUZhY3RvcihkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgCiAgICAgdXBkYXRlSW5mby51
cGRhdGVSZWN0Qm91bmRzID0gYm91bmRzOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA5ODI1MikKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTM2LDExICs5MzYsNyBAQCBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlOjpzbmFwc2hvdElu
CiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIE93blB0cjxXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ+IGdyYXBoaWNzQ29udGV4dCA9IHNuYXBzaG90LT5iaXRtYXAoKS0+Y3JlYXRlR3JhcGhp
Y3NDb250ZXh0KCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LT5zY2FsZShGbG9hdFNpemUoZGV2aWNl
U2NhbGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9yKSk7Ci0jaWYgVVNFKENHKQotICAgIGdyYXBo
aWNzQ29udGV4dC0+c2V0QmFzZUNUTShncmFwaGljc0NvbnRleHQtPmdldENUTSgpKTsKLSNlbmRp
ZgotICAgIGdyYXBoaWNzQ29udGV4dC0+dHJhbnNsYXRlKC1yZWN0LngoKSwgLXJlY3QueSgpKTsK
KyAgICBncmFwaGljc0NvbnRleHQtPmFwcGx5RGV2aWNlU2NhbGVGYWN0b3IoZGV2aWNlU2NhbGVG
YWN0b3IpOwogCiAgICAgZnJhbWVWaWV3LT51cGRhdGVMYXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVj
dXJzaXZlKCk7CiAKQEAgLTk2NSwxMCArOTYxLDcgQEAgUGFzc1JlZlB0cjxXZWJJbWFnZT4gV2Vi
UGFnZTo6c2NhbGVkU25hcAogICAgICAgICByZXR1cm4gMDsKIAogICAgIE93blB0cjxXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQ+IGdyYXBoaWNzQ29udGV4dCA9IHNuYXBzaG90LT5iaXRtYXAoKS0+
Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LT5zY2FsZShGbG9h
dFNpemUoY29tYmluZWRTY2FsZUZhY3RvciwgY29tYmluZWRTY2FsZUZhY3RvcikpOwotI2lmIFVT
RShDRykKLSAgICBncmFwaGljc0NvbnRleHQtPnNldEJhc2VDVE0oZ3JhcGhpY3NDb250ZXh0LT5n
ZXRDVE0oKSk7Ci0jZW5kaWYKKyAgICBncmFwaGljc0NvbnRleHQtPmFwcGx5RGV2aWNlU2NhbGVG
YWN0b3IoY29tYmluZWRTY2FsZUZhY3Rvcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LT50cmFuc2xh
dGUoLXJlY3QueCgpLCAtcmVjdC55KCkpOwogCiAgICAgZnJhbWVWaWV3LT51cGRhdGVMYXlvdXRB
bmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlKCk7Cg==
</data>
<flag name="commit-queue"
          id="110483"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112412</attachid>
            <date>2011-10-25 14:59:44 -0700</date>
            <delta_ts>2011-10-25 15:03:38 -0700</delta_ts>
            <desc>Another patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>9725</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMTAtMjUgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDg1MgorICAgICAgICBTZXR0aW5nIHVwIGEgSGlEUEkgYmFzZS1s
ZXZlbCBHcmFwaGljc0NvbnRleHQgc2hvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIGZvciAK
KyAgICAgICAgV2ViS2l0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgb2xkIGNnLW9ubHkgR3JhcGhpY3NDb250
ZXh0OjpzZXRCYXNlQ1RNKCkgYXBpLCBhbmQgYWRkcyAKKyAgICAgICAgcGxhdGZvcm0taW5kZXBl
bmRlbnQgR3JhcGhpY3NDb250ZXh0OjphcHBseURldmljZVNjYWxlRmFjdG9yKCkuCisgICAgICAg
ICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6YXBwbHlEZXZp
Y2VTY2FsZUZhY3Rvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjphcHBseURldmljZVNjYWxl
RmFjdG9yKToKKworICAgICAgICBTaW5jZSB0aGlzIHBhdGNoIHJlbW92ZXMgR3JhcGhpY3NDb250
ZXh0OjpzZXRCYXNlQ1RNKCksIHRoaXMgY29kZSBoYXMgYmVlbiAKKyAgICAgICAgcmV2ZXJ0ZWQg
dG8gZG8gd2hhdCBpdCB1c2VkIHRvIGRvIGJlZm9yZSB0aGF0IHdhcyBhZGRlZDsgaXQganVzdCBj
YWxscyBpbnRvIAorICAgICAgICBXZWJDb3JlU3lzdGVtSW50ZXJmYWNlIGRpcmVjdGx5LgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW1hZ2U6OmRyYXdQYXR0ZXJuKToKKwogMjAxMS0xMC0yNSAgTWljaGFsIE1vY255ICA8bW1v
Y255QGdvb2dsZS5jb20+CiAKICAgICAgICAgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpzZXRWaXNp
YmxlIGNhbGxlZCBuZWVkbGVzc2x5IHdpdGhvdXQgYSB2aXNpYmlsaXR5IGNoYW5nZQpJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDk4MjUyKQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTQyOCw2ICs0MjgsNyBAQCBfX1pON1dlYkNv
cmUxNUdyYXBoaWNzQ29udGV4dDE4c2V0U2hvdWxkCiBfX1pON1dlYkNvcmUxNUdyYXBoaWNzQ29u
dGV4dDIwc2V0U2hvdWxkU21vb3RoRm9udHNFYgogX19aTjdXZWJDb3JlMTVHcmFwaGljc0NvbnRl
eHQyMGVuZFRyYW5zcGFyZW5jeUxheWVyRXYKIF9fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0
MjFzZXRDb21wb3NpdGVPcGVyYXRpb25FTlNfMTdDb21wb3NpdGVPcGVyYXRvckUKK19fWk43V2Vi
Q29yZTE1R3JhcGhpY3NDb250ZXh0MjJhcHBseURldmljZVNjYWxlRmFjdG9yRWYKIF9fWk43V2Vi
Q29yZTE1R3JhcGhpY3NDb250ZXh0MjJiZWdpblRyYW5zcGFyZW5jeUxheWVyRWYKIF9fWk43V2Vi
Q29yZTE1R3JhcGhpY3NDb250ZXh0MjhzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5RU5TXzIw
SW50ZXJwb2xhdGlvblF1YWxpdHlFCiBfX1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDRjbGlw
RVJLTlNfNFBhdGhFCkBAIC0xMjE4LDcgKzEyMTksNiBAQCBfX1pOSzdXZWJDb3JlMTRTZWN1cml0
eU9yaWdpbjEwY2FuRGlzcGxhCiBfX1pOSzdXZWJDb3JlMTRTZWN1cml0eU9yaWdpbjE4ZGF0YWJh
c2VJZGVudGlmaWVyRXYKIF9fWk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luNWVxdWFsRVBLUzBf
CiBfX1pOSzdXZWJDb3JlMTVGb2N1c0NvbnRyb2xsZXIxOGZvY3VzZWRPck1haW5GcmFtZUV2Ci1f
X1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDEwc2V0QmFzZUNUTUVSS05TXzE1QWZmaW5lVHJh
bnNmb3JtRQogX19aTks3V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MTVwbGF0Zm9ybUNvbnRleHRF
dgogX19aTks3V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MTZwYWludGluZ0Rpc2FibGVkRXYKIF9f
Wk5LN1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDIwdXBkYXRpbmdDb250cm9sVGludHNFdgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwCShyZXZpc2lvbiA5ODI1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2NCw0ICs3NjQs
MTEgQEAgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gR3JhcGhpY3NDb250ZXh0OgogICAgIHJldHVy
biBidWZmZXIucmVsZWFzZSgpOwogfQogCisjaWYgIVVTRShDRykKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0OjphcHBseURldmljZVNjYWxlRmFjdG9yKGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKQorewor
ICAgIHNjYWxlKEZsb2F0U2l6ZShkZXZpY2VTY2FsZUZhY3RvciwgZGV2aWNlU2NhbGVGYWN0b3Ip
KTsKK30KKyNlbmRpZgorCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkocmV2aXNpb24gOTgyNTIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjY5LDggKzI2OSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBp
c0NBTGF5ZXJDb250ZXh0KCkgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRJc0FjY2VsZXJhdGVk
Q29udGV4dChib29sKTsKLQotICAgICAgICB2b2lkIHNldEJhc2VDVE0oY29uc3QgQWZmaW5lVHJh
bnNmb3JtJik7CiAjZW5kaWYKICAgICAgICAgYm9vbCBpc0FjY2VsZXJhdGVkQ29udGV4dCgpIGNv
bnN0OwogCkBAIC00MTUsNiArNDEzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ly8gZm9yIGRyYXdpbmcgaW50byB0aGUgYnVmZmVyIGFuZCB0aGVuIGludG8gdGhpcyBjb250ZXh0
LgogICAgICAgICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVDb21wYXRpYmxlQnVmZmVy
KGNvbnN0IEludFNpemUmKSBjb25zdDsKIAorICAgICAgICAvLyBUaGlzIGZ1bmN0aW9uIGFwcGxp
ZXMgdGhlIGRldmljZSBzY2FsZSBmYWN0b3IgdG8gdGhlIGNvbnRleHQsIG1ha2luZyB0aGUgY29u
dGV4dCBjYXBhYmxlIG9mCisgICAgICAgIC8vIGFjdGluZyBhcyBhIGJhc2UtbGV2ZWwgY29udGV4
dCBmb3IgYSBIaURQSSBlbnZpcm9ubWVudC4KKyAgICAgICAgdm9pZCBhcHBseURldmljZVNjYWxl
RmFjdG9yKGZsb2F0KTsKKwogI2lmIE9TKFdJTkNFKSAmJiAhUExBVEZPUk0oUVQpCiAgICAgICAg
IHZvaWQgc2V0Qml0bWFwKFBhc3NSZWZQdHI8U2hhcmVkQml0bWFwPik7CiAgICAgICAgIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgYWZmaW5lVHJhbnNmb3JtKCkgY29uc3Q7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCShyZXZpc2lvbiA5ODI1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ3MCwx
MSArMTQ3MCw2IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0Ojppc0FjY2VsZXJhdGVkQ29udGUKICAg
ICByZXR1cm4gbV9kYXRhLT5tX2NvbnRleHRGbGFncyAmIElzQWNjZWxlcmF0ZWRDR0NvbnRleHQ7
CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRCYXNlQ1RNKGNvbnN0IEFmZmluZVRyYW5z
Zm9ybSYgdHJhbnNmb3JtKQotewotICAgIHdrU2V0QmFzZUNUTShwbGF0Zm9ybUNvbnRleHQoKSwg
dHJhbnNmb3JtKTsKLX0KLQogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtVGV4dERy
YXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdzIG1vZGUpCiB7CiAgICAgaWYgKHBhaW50aW5n
RGlzYWJsZWQoKSkKQEAgLTE1OTcsNCArMTU5MiwxNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
c2V0UGxhdGZvcm1Db21wb3NpCiAgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKHBsYXRmb3JtQ29u
dGV4dCgpLCB0YXJnZXQpOwogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6YXBwbHlEZXZpY2VT
Y2FsZUZhY3RvcihmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK3sKKyAgICBzY2FsZShGbG9hdFNp
emUoZGV2aWNlU2NhbGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9yKSk7CisKKyAgICAvLyBDb3Jl
R3JhcGhpY3MgZXhwZWN0cyB0aGUgYmFzZSBDVE0gb2YgYSBIaURQSSBjb250ZXh0IHRvIGhhdmUg
dGhlIHNjYWxlIGZhY3RvciBhcHBsaWVkIHRvIGl0LgorICAgIC8vIEZhaWxpbmcgdG8gY2hhbmdl
IHRoZSBiYXNlIGxldmVsIENUTSB3aWxsIGNhdXNlIGNlcnRhaW4gQ0cgZmVhdHVyZXMsIHN1Y2gg
YXMgZm9jdXMgcmluZ3MsCisgICAgLy8gdG8gZHJhdyB3aXRoIGEgc2NhbGUgZmFjdG9yIG9mIDEg
cmF0aGVyIHRoYW4gdGhlIGFjdHVhbCBzY2FsZSBmYWN0b3IuCisgICAgd2tTZXRCYXNlQ1RNKHBs
YXRmb3JtQ29udGV4dCgpLCBnZXRDVE0oKSk7Cit9CisKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCShyZXZpc2lvbiA5ODI1MikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yODQsOSArMjg0LDcgQEAgdm9pZCBJbWFnZTo6ZHJhd1BhdHRlcm4oR3Jh
cGhpY3NDb250ZXh0KgogICAgIENHQ29udGV4dFNldEZpbGxDb2xvclNwYWNlKGNvbnRleHQsIHBh
dHRlcm5TcGFjZS5nZXQoKSk7CiAKICAgICAvLyBGSVhNRTogUmVhbGx5IHdhbnQgYSBwdWJsaWMg
QVBJIGZvciB0aGlzLiAgSXQgaXMganVzdCBDR0NvbnRleHRTZXRCYXNlQ1RNKGNvbnRleHQsIENH
QWZmaW5lVHJhbnNmb3JtSWRlbnRpeSkuCi0gICAgQWZmaW5lVHJhbnNmb3JtIGlkZW50aXR5Owot
ICAgIGlkZW50aXR5Lm1ha2VJZGVudGl0eSgpOwotICAgIGN0eHQtPnNldEJhc2VDVE0oaWRlbnRp
dHkpOworICAgIHdrU2V0QmFzZUNUTShjb250ZXh0LCBDR0FmZmluZVRyYW5zZm9ybUlkZW50aXR5
KTsKICAgICBDR0NvbnRleHRTZXRQYXR0ZXJuUGhhc2UoY29udGV4dCwgQ0dTaXplWmVybyk7CiAK
ICAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4dCwgY29sb3IuZ2V0KCkp
OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gOTgzOTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0yNSAgQmV0aCBE
YWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwODUyCisgICAgICAgIFNldHRpbmcgdXAgYSBIaURQSSBiYXNl
LWxldmVsIEdyYXBoaWNzQ29udGV4dCBzaG91bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgZm9y
IAorICAgICAgICBXZWJLaXQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2hlbiB3ZSBuZWVkIGEgYmFzZS1sZXZlbCBIaURQSSBHcmFwaGljc0NvbnRl
eHQsIGNhbGwgaW50byBuZXcgR3JhcGhpY3NDb250ZXh0IGFwaSAKKyAgICAgICAgR3JhcGhpY3ND
b250ZXh0OjphcHBseURldmljZVNjYWxlRmFjdG9yKCkgcmF0aGVyIHRoYW4gbWFudWFsbHkgc2Nh
bGluZyBhbmQgCisgICAgICAgIGFkanVzdGluZyB0aGUgYmFzZSBDVE0uCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRy
YXdpbmdBcmVhSW1wbDo6ZGlzcGxheSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzbmFwc2hvdEluVmlld0Nvb3Jk
aW5hdGVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2NhbGVkU25hcHNob3RJbkRvY3Vt
ZW50Q29vcmRpbmF0ZXMpOgorCiAyMDExLTEwLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNj
YUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiB6b29taW5nIGEg
UERGIGluIGFuIGlmcmFtZQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAJKHJldmlzaW9uIDk4MjUyKQorKysgU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY0Niw3ICs2NDYsOCBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlzcGxh
eShVcGRhdGVJbmZvCiAgICAgQVNTRVJUKG1fd2ViUGFnZS0+Ym91bmRzKCkuY29udGFpbnMoYm91
bmRzKSk7CiAKICAgICBJbnRTaXplIGJpdG1hcFNpemUgPSBib3VuZHMuc2l6ZSgpOwotICAgIGJp
dG1hcFNpemUuc2NhbGUobV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3Rvcigp
KTsKKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+
ZGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBiaXRtYXBTaXplLnNjYWxlKGRldmljZVNjYWxlRmFj
dG9yKTsKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBTaGFyZWFibGVCaXRt
YXA6OmNyZWF0ZVNoYXJlYWJsZShiaXRtYXBTaXplLCBTaGFyZWFibGVCaXRtYXA6OlN1cHBvcnRz
QWxwaGEpOwogICAgIGlmICghYml0bWFwKQogICAgICAgICByZXR1cm47CkBAIC02NjksMTAgKzY3
MCw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5KFVwZGF0ZUluZm8KICAgICBtX3Nj
cm9sbE9mZnNldCA9IEludFNpemUoKTsKIAogICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQ+IGdy
YXBoaWNzQ29udGV4dCA9IGNyZWF0ZUdyYXBoaWNzQ29udGV4dChiaXRtYXAuZ2V0KCkpOwotICAg
IGdyYXBoaWNzQ29udGV4dC0+c2NhbGUoRmxvYXRTaXplKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+
ZGV2aWNlU2NhbGVGYWN0b3IoKSwgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZh
Y3RvcigpKSk7Ci0jaWYgVVNFKENHKQotICAgIGdyYXBoaWNzQ29udGV4dC0+c2V0QmFzZUNUTShn
cmFwaGljc0NvbnRleHQtPmdldENUTSgpKTsKLSNlbmRpZgorICAgIGdyYXBoaWNzQ29udGV4dC0+
YXBwbHlEZXZpY2VTY2FsZUZhY3RvcihkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgCiAgICAgdXBk
YXRlSW5mby51cGRhdGVSZWN0Qm91bmRzID0gYm91bmRzOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA5ODI1MikKKysr
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTM2LDEwICs5MzYsNyBAQCBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlOjpz
bmFwc2hvdEluCiAgICAgICAgIHJldHVybiAwOwogICAgIAogICAgIE93blB0cjxXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHQ+IGdyYXBoaWNzQ29udGV4dCA9IHNuYXBzaG90LT5iaXRtYXAoKS0+Y3Jl
YXRlR3JhcGhpY3NDb250ZXh0KCk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LT5zY2FsZShGbG9hdFNp
emUoZGV2aWNlU2NhbGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9yKSk7Ci0jaWYgVVNFKENHKQot
ICAgIGdyYXBoaWNzQ29udGV4dC0+c2V0QmFzZUNUTShncmFwaGljc0NvbnRleHQtPmdldENUTSgp
KTsKLSNlbmRpZgorICAgIGdyYXBoaWNzQ29udGV4dC0+YXBwbHlEZXZpY2VTY2FsZUZhY3Rvcihk
ZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgZ3JhcGhpY3NDb250ZXh0LT50cmFuc2xhdGUoLXJlY3Qu
eCgpLCAtcmVjdC55KCkpOwogCiAgICAgZnJhbWVWaWV3LT51cGRhdGVMYXlvdXRBbmRTdHlsZUlm
TmVlZGVkUmVjdXJzaXZlKCk7CkBAIC05NjUsMTAgKzk2Miw3IEBAIFBhc3NSZWZQdHI8V2ViSW1h
Z2U+IFdlYlBhZ2U6OnNjYWxlZFNuYXAKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBPd25QdHI8
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0PiBncmFwaGljc0NvbnRleHQgPSBzbmFwc2hvdC0+Yml0
bWFwKCktPmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpOwotICAgIGdyYXBoaWNzQ29udGV4dC0+c2Nh
bGUoRmxvYXRTaXplKGNvbWJpbmVkU2NhbGVGYWN0b3IsIGNvbWJpbmVkU2NhbGVGYWN0b3IpKTsK
LSNpZiBVU0UoQ0cpCi0gICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRCYXNlQ1RNKGdyYXBoaWNzQ29u
dGV4dC0+Z2V0Q1RNKCkpOwotI2VuZGlmCisgICAgZ3JhcGhpY3NDb250ZXh0LT5hcHBseURldmlj
ZVNjYWxlRmFjdG9yKGNvbWJpbmVkU2NhbGVGYWN0b3IpOwogICAgIGdyYXBoaWNzQ29udGV4dC0+
dHJhbnNsYXRlKC1yZWN0LngoKSwgLXJlY3QueSgpKTsKIAogICAgIGZyYW1lVmlldy0+dXBkYXRl
TGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZSgpOwo=
</data>
<flag name="review"
          id="110487"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>