<?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>83279</bug_id>
          
          <creation_ts>2012-04-05 07:43:10 -0700</creation_ts>
          <short_desc>Line spacing in BlackBerry is too large when using VDMX metrics</short_desc>
          <delta_ts>2015-01-17 20:40:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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="Eli Fidler">efidler</reporter>
          <assigned_to name="Eli Fidler">efidler</assigned_to>
          <cc>agl</cc>
    
    <cc>bashi</cc>
    
    <cc>bungeman</cc>
    
    <cc>burg</cc>
    
    <cc>dglazkov</cc>
    
    <cc>evan</cc>
    
    <cc>robin.webkit</cc>
    
    <cc>schenney</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>596556</commentid>
    <comment_count>0</comment_count>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-04-05 07:43:10 -0700</bug_when>
    <thetext>Chromium Linux and BlackBerry both calculate font metrics in WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp. When the font has a VDMX table, the yMin and yMax are taken as the descent and ascent, but the lineGap from the HHEA table is still used as is. This results in a larger line gap than basically any other browser in many cases. For the Microsoft core web fonts, it happens to work out the same(I tried Arial, Verdana, Trebuchet, and Times New Roman), but for other fonts this is often several pixels larger.

Microsoft has published recommended guidelines (http://www.microsoft.com/typography/otspec/recom.htm (see &quot;Baseline to Baseline Distances:Windows&quot;)) that suggest MAX(0, LineGap - ((usWinAscent + usWinDescent) - (Ascender - Descender))) for the line gap. This works out much better.

There is an accompanying change to Skia needed to expose the WinAscent and WinDescent metrics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596576</commentid>
    <comment_count>1</comment_count>
      <attachid>135827</attachid>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-04-05 08:11:08 -0700</bug_when>
    <thetext>Created attachment 135827
Skia patch to expose windows metrics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596580</commentid>
    <comment_count>2</comment_count>
      <attachid>135827</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2012-04-05 08:13:24 -0700</bug_when>
    <thetext>Comment on attachment 135827
Skia patch to expose windows metrics

Skia people who have to review, but LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596583</commentid>
    <comment_count>3</comment_count>
      <attachid>135829</attachid>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-04-05 08:24:50 -0700</bug_when>
    <thetext>Created attachment 135829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596587</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 08:26:27 -0700</bug_when>
    <thetext>Attachment 135829 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp:95:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596588</commentid>
    <comment_count>5</comment_count>
      <attachid>135829</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2012-04-05 08:28:38 -0700</bug_when>
    <thetext>Comment on attachment 135829
Patch

If this comes with no rebaselines, then LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596613</commentid>
    <comment_count>6</comment_count>
      <attachid>135829</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 08:53:49 -0700</bug_when>
    <thetext>Comment on attachment 135829
Patch

Attachment 135829 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12336369</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596686</commentid>
    <comment_count>7</comment_count>
      <attachid>135829</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-05 10:36:39 -0700</bug_when>
    <thetext>Comment on attachment 135829
Patch

The change seems fine to me. Please fix the style error.  We have to wait for a change in Skia first, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596702</commentid>
    <comment_count>8</comment_count>
      <attachid>135857</attachid>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-04-05 10:47:27 -0700</bug_when>
    <thetext>Created attachment 135857
Fixed style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596733</commentid>
    <comment_count>9</comment_count>
      <attachid>135857</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 11:21:36 -0700</bug_when>
    <thetext>Comment on attachment 135857
Fixed style

Attachment 135857 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12335459</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602443</commentid>
    <comment_count>10</comment_count>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-04-13 15:06:46 -0700</bug_when>
    <thetext>*** Bug 67998 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610772</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-26 11:43:11 -0700</bug_when>
    <thetext>Sorry, I was on vacation.

Did the skia changes ever get landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614185</commentid>
    <comment_count>12</comment_count>
    <who name="Eli Fidler">efidler</who>
    <bug_when>2012-05-02 04:55:28 -0700</bug_when>
    <thetext>No, the Skia team doesn&apos;t want to explicitly add the winAscent/Descent metrics to the FontMetrics object. Instead, they want to expose the HEAD, HHEA, and OS/2 OpenType tables and let the client (WebKit) pull the data. See https://codereview.appspot.com/5985052/

I haven&apos;t had time to port all that code over to WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614394</commentid>
    <comment_count>13</comment_count>
      <attachid>135857</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-05-02 10:10:08 -0700</bug_when>
    <thetext>Comment on attachment 135857
Fixed style

Ok, removing the patch from the review queue since it&apos;ll have to be restructured.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869965</commentid>
    <comment_count>14</comment_count>
    <who name="">bungeman</who>
    <bug_when>2013-04-05 12:50:08 -0700</bug_when>
    <thetext>I&apos;ve been investigating this area because of another bug [1]. Since I was one of the ones in Skia who didn&apos;t like the Skia changes in this patch, I wanted to comment here now that I understood this a bit better.

This started a long time ago, with a change which added VDMX parsing to the Chromium Skia fork in order to get the right ascent/descent for hinted fonts [2]. It was then made worse when the VDMX parsing was moved out to WebKit [3]. This was a move in the wrong direction as, opposed to being moved up the stack, it should have been moved down the stack into FreeType. In fact, I&apos;m currently investigating how to do this, and support for hdmx/VDMX in FreeType has been discussed before [4].

In the other bug [1], the issue is that Chromium is always using the VDMX values if they are present, even in the absence of a request for bytecode hinting. Since VDMX values exist solely as a cache of font-wide black box ascent/descent values for given pel sizes after hinting [5], these are the wrong values to use when not hinting. As a side effect of this Chromium overwrites parts of some low descenders like &apos;_&apos; and &apos;g&apos; in some cases. The intent was to measure like GDI, however GDI always bytecode hints.

As to the patch proposed above [6] the issue is that it is assumed that metrics.fAscender and fDescender are sTypoAscender and sTypoDescender. However, this is not the case. These are simply the values returned from FreeType. These are actually often hhea.Ascender and hhea.Descender and can, in fact, be any one of the three ascender/descender pairs. There is also a long comment in FreeType about how the actual GDI implementation does not match what the specification says [7]. This is why the suggestion was made at the time that the tables should be used directly, as to do something like this correctly, it is necessary to know which values one is actually working with.

Also recently, FreeType clarified that the font.height is always the baseline to baseline measurement [8] and cleaned up the height measurement to match [9]. As a result, the external leading is always &quot;abs(height) - (abs(ascent) + abs(descent))&quot; when height, ascent, and descent are from FreeType. The only shortfall here is that FreeType needs to also look over in the VDMX tables for ascent/descent if we&apos;re going to be hinting, and then find the height using the line gap as described in the bug description. If anyone were doubting that this needs to be in FreeType, note that in addition to this VDMX parsing in WebKit, wine does the same [10], and there are probably others.

Fixing this in FreeType fixes both of these issues for everyone (particularly this bug and [1]). However, even if changes can be made to FreeType they may not be generally available for some time. As a result, the best immediate measure to take is for Skia to once again own the VDMX parsing. When asked for font metrics Skia knows if it&apos;s for hinting or not, so it can look in the VDMX table as necessary. It may need to do some &apos;OS/2&apos; table sniffing as well to properly calculate the correct height. This is effectively what needed to be done in any event and, as mentioned above, is why the suggestion was made to use the tables directly. However, it is a much cleaner solution to have Skia simply report the correct ascender/descender/height values based on the hinting method as well as other settings.

[1] http://crbug.com/41457
[2] http://src.chromium.org/viewvc/chrome?view=revision&amp;revision=5868
[3] http://src.chromium.org/viewvc/chrome?view=revision&amp;revision=13781
[4] http://lists.gnu.org/archive/html/freetype-devel/2011-12/msg00005.html
[5] https://www.microsoft.com/typography/otspec/vdmx.htm
[6] 135827, 135857
[7] http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/sfnt/sfobjs.c?id=04e547bd2cfaf05498ad98ade10a4ed3a168484e#n993
[8] http://lists.gnu.org/archive/html/freetype-devel/2013-01/msg00002.html
[9] http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=e0469372be3870a5ad60b2c4586e9c281357bd28
[10] http://source.winehq.org/git/wine.git/blob/e1a42bba54734dfcab59e22852405ad1030335e4:/dlls/gdi32/freetype.c#l4246</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871189</commentid>
    <comment_count>15</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-04-08 14:53:16 -0700</bug_when>
    <thetext>As this is a Skia issue it will only be resolved on the Chromium side without more work from some on Blackberry.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135827</attachid>
            <date>2012-04-05 08:11:08 -0700</date>
            <delta_ts>2012-04-05 10:47:17 -0700</delta_ts>
            <desc>Skia patch to expose windows metrics</desc>
            <filename>skia.patch</filename>
            <type>text/plain</type>
            <size>4757</size>
            <attacher name="Eli Fidler">efidler</attacher>
            
              <data encoding="base64">RnJvbSAyYTE3M2VlMDZhMzVhNzYwYmFjYzIzZWQ2MzQ0NGM0MTQ3MWY1N2JjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFbGkgRmlkbGVyIDxlZmlkbGVyQHJpbS5jb20+CkRhdGU6IFRo
dSwgNSBBcHIgMjAxMiAxMToxMDowOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXaW5kb3dz
LWNvbXBhdGlibGUgZm9udCBtZXRyaWNzIHRvIFNrUGFpbnQ6OkZvbnRNZXRyaWNzLgoKLS0tCiBp
bmNsdWRlL2NvcmUvU2tQYWludC5oICAgICAgICAgICAgfCAgICAzICsrKwogc3JjL2NvcmUvU2tQ
YWludC5jcHAgICAgICAgICAgICAgIHwgICAgMyArKysKIHNyYy9wb3J0cy9Ta0ZvbnRIb3N0X0Zy
ZWVUeXBlLmNwcCB8ICAgMTMgKysrKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29yZS9Ta1Bh
aW50LmggYi9pbmNsdWRlL2NvcmUvU2tQYWludC5oCmluZGV4IGQ2NjBmZjMuLjgxNDgxYzkgMTAw
NjQ0Ci0tLSBhL2luY2x1ZGUvY29yZS9Ta1BhaW50LmgKKysrIGIvaW5jbHVkZS9jb3JlL1NrUGFp
bnQuaApAQCAtMSw2ICsxLDcgQEAKIAogLyoKICAqIENvcHlyaWdodCAyMDA2IFRoZSBBbmRyb2lk
IE9wZW4gU291cmNlIFByb2plY3QKKyAqIENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBVc2Ugb2YgdGhpcyBz
b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl
CiAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgpAQCAtNzEwLDYgKzcxMSw4IEBAIHB1Ymxp
YzoKICAgICAgICAgU2tTY2FsYXIgICAgZkRlc2NlbnQ7ICAgLy8hPCBUaGUgcmVjb21tZW5kZWQg
ZGlzdGFuY2UgYmVsb3cgdGhlIGJhc2VsaW5lICh3aWxsIGJlID49IDApCiAgICAgICAgIFNrU2Nh
bGFyICAgIGZCb3R0b207ICAgIC8vITwgVGhlIGdyZWF0ZXN0IGRpc3RhbmNlIGJlbG93IHRoZSBi
YXNlbGluZSBmb3IgYW55IGdseXBoICh3aWxsIGJlID49IDApCiAgICAgICAgIFNrU2NhbGFyICAg
IGZMZWFkaW5nOyAgIC8vITwgVGhlIHJlY29tbWVuZGVkIGRpc3RhbmNlIHRvIGFkZCBiZXR3ZWVu
IGxpbmVzIG9mIHRleHQgKHdpbGwgYmUgPj0gMCkKKyAgICAgICAgU2tTY2FsYXIgICAgZldpbkFz
Y2VudDsgICAvLyE8IFRoZSB3aW5kb3dzLWNvbXBhdGlibGUgZGlzdGFuY2UgYWJvdmUgdGhlIGJh
c2VsaW5lICh3aWxsIGJlID49IDApCisgICAgICAgIFNrU2NhbGFyICAgIGZXaW5EZXNjZW50OyAg
IC8vITwgVGhlIHdpbmRvd3MtY29tcGF0aWJsZSBkaXN0YW5jZSBiZWxvdyB0aGUgYmFzZWxpbmUg
KHdpbGwgYmUgPj0gMCkKICAgICAgICAgU2tTY2FsYXIgICAgZkF2Z0NoYXJXaWR0aDsgIC8vITwg
dGhlIGF2ZXJhZ2UgY2hhcmFjdG9yIHdpZHRoICg+PSAwKQogICAgICAgICBTa1NjYWxhciAgICBm
WE1pbjsgICAgICAvLyE8IFRoZSBtaW5pbXVtIGJvdW5kaW5nIGJveCB4IHZhbHVlIGZvciBhbGwg
Z2x5cGhzCiAgICAgICAgIFNrU2NhbGFyICAgIGZYTWF4OyAgICAgIC8vITwgVGhlIG1heGltdW0g
Ym91bmRpbmcgYm94IHggdmFsdWUgZm9yIGFsbCBnbHlwaHMKZGlmZiAtLWdpdCBhL3NyYy9jb3Jl
L1NrUGFpbnQuY3BwIGIvc3JjL2NvcmUvU2tQYWludC5jcHAKaW5kZXggNmExNmUyNC4uMmZhY2I1
ZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvU2tQYWludC5jcHAKKysrIGIvc3JjL2NvcmUvU2tQYWlu
dC5jcHAKQEAgLTEsNiArMSw3IEBACiAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNiBUaGUgQW5kcm9p
ZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVXNlIG9mIHRoaXMg
c291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBi
ZQogICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KQEAgLTEyMDMsNiArMTIwNCw4IEBAIFNr
U2NhbGFyIFNrUGFpbnQ6OmdldEZvbnRNZXRyaWNzKEZvbnRNZXRyaWNzKiBtZXRyaWNzLCBTa1Nj
YWxhciB6b29tKSBjb25zdCB7CiAgICAgICAgIG1ldHJpY3MtPmZEZXNjZW50ID0gU2tTY2FsYXJN
dWwobWV0cmljcy0+ZkRlc2NlbnQsIHNjYWxlKTsKICAgICAgICAgbWV0cmljcy0+ZkJvdHRvbSA9
IFNrU2NhbGFyTXVsKG1ldHJpY3MtPmZCb3R0b20sIHNjYWxlKTsKICAgICAgICAgbWV0cmljcy0+
ZkxlYWRpbmcgPSBTa1NjYWxhck11bChtZXRyaWNzLT5mTGVhZGluZywgc2NhbGUpOworICAgICAg
ICBtZXRyaWNzLT5mV2luQXNjZW50ID0gU2tTY2FsYXJNdWwobWV0cmljcy0+ZldpbkFzY2VudCwg
c2NhbGUpOworICAgICAgICBtZXRyaWNzLT5mV2luRGVzY2VudCA9IFNrU2NhbGFyTXVsKG1ldHJp
Y3MtPmZXaW5EZXNjZW50LCBzY2FsZSk7CiAgICAgfQogICAgIHJldHVybiBtZXRyaWNzLT5mRGVz
Y2VudCAtIG1ldHJpY3MtPmZBc2NlbnQgKyBtZXRyaWNzLT5mTGVhZGluZzsKIH0KZGlmZiAtLWdp
dCBhL3NyYy9wb3J0cy9Ta0ZvbnRIb3N0X0ZyZWVUeXBlLmNwcCBiL3NyYy9wb3J0cy9Ta0ZvbnRI
b3N0X0ZyZWVUeXBlLmNwcAppbmRleCA1MTRhMDQxLi4yNWVjOTczIDEwMDY0NAotLS0gYS9zcmMv
cG9ydHMvU2tGb250SG9zdF9GcmVlVHlwZS5jcHAKKysrIGIvc3JjL3BvcnRzL1NrRm9udEhvc3Rf
RnJlZVR5cGUuY3BwCkBAIC0xLDYgKzEsNyBAQAogCiAvKgogICogQ29weXJpZ2h0IDIwMDYgVGhl
IEFuZHJvaWQgT3BlbiBTb3VyY2UgUHJvamVjdAorICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFVzZSBv
ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh
dCBjYW4gYmUKICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCkBAIC0xNjI1LDggKzE2MjYs
OCBAQCB2b2lkIFNrU2NhbGVyQ29udGV4dF9GcmVlVHlwZTo6Z2VuZXJhdGVGb250TWV0cmljcyhT
a1BhaW50OjpGb250TWV0cmljcyogbXgsCiAgICAgICAgIGdvdG8gRVJST1I7CiAgICAgfQogCi0g
ICAgU2tQb2ludCBwdHNbNl07Ci0gICAgU2tGaXhlZCB5c1s2XTsKKyAgICBTa1BvaW50IHB0c1s4
XTsKKyAgICBTa0ZpeGVkIHlzWzhdOwogICAgIFNrRml4ZWQgc2NhbGVZID0gZlNjYWxlWTsKICAg
ICBTa0ZpeGVkIG14eSA9IGZNYXRyaXgyMi54eTsKICAgICBTa0ZpeGVkIG15eSA9IGZNYXRyaXgy
Mi55eTsKQEAgLTE2NDgsNiArMTY0OSw4IEBAIHZvaWQgU2tTY2FsZXJDb250ZXh0X0ZyZWVUeXBl
OjpnZW5lcmF0ZUZvbnRNZXRyaWNzKFNrUGFpbnQ6OkZvbnRNZXRyaWNzKiBteCwKICAgICB5c1sz
XSA9IC1mYWNlLT5iYm94LnlNaW47CiAgICAgeXNbNF0gPSBsZWFkaW5nOwogICAgIHlzWzVdID0g
b3MyID8gb3MyLT54QXZnQ2hhcldpZHRoIDogMDsKKyAgICB5c1s2XSA9IG9zMiA/IG9zMi0+dXNX
aW5Bc2NlbnQgOiAwOworICAgIHlzWzddID0gb3MyID8gb3MyLT51c1dpbkRlc2NlbnQgOiAwOwog
CiAgICAgU2tTY2FsYXIgeF9oZWlnaHQ7CiAgICAgaWYgKG9zMiAmJiBvczItPnN4SGVpZ2h0KSB7
CkBAIC0xNjY4LDcgKzE2NzEsNyBAQCB2b2lkIFNrU2NhbGVyQ29udGV4dF9GcmVlVHlwZTo6Z2Vu
ZXJhdGVGb250TWV0cmljcyhTa1BhaW50OjpGb250TWV0cmljcyogbXgsCiAgICAgfQogCiAgICAg
Ly8gY29udmVydCB1cGVtLXkgdmFsdWVzIGludG8gc2NhbGFyIHBvaW50cwotICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgNjsgaSsrKSB7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCA4OyBpKyspIHsK
ICAgICAgICAgU2tGaXhlZCB5ID0gU2tNdWxEaXYoc2NhbGVZLCB5c1tpXSwgdXBlbSk7CiAgICAg
ICAgIFNrRml4ZWQgeCA9IFNrRml4ZWRNdWwobXh5LCB5KTsKICAgICAgICAgeSA9IFNrRml4ZWRN
dWwobXl5LCB5KTsKQEAgLTE2ODIsNiArMTY4NSw4IEBAIHZvaWQgU2tTY2FsZXJDb250ZXh0X0Zy
ZWVUeXBlOjpnZW5lcmF0ZUZvbnRNZXRyaWNzKFNrUGFpbnQ6OkZvbnRNZXRyaWNzKiBteCwKICAg
ICAgICAgbXgtPmZCb3R0b20gPSBwdHNbM10uZlg7CiAgICAgICAgIG14LT5mTGVhZGluZyA9IHB0
c1s0XS5mWDsKICAgICAgICAgbXgtPmZBdmdDaGFyV2lkdGggPSBwdHNbNV0uZlg7CisgICAgICAg
IG14LT5mV2luQXNjZW50ID0gcHRzWzZdLmZYOworICAgICAgICBteC0+ZldpbkRlc2NlbnQgPSBw
dHNbN10uZlg7CiAgICAgICAgIG14LT5mWE1pbiA9IHhtaW47CiAgICAgICAgIG14LT5mWE1heCA9
IHhtYXg7CiAgICAgICAgIG14LT5mWEhlaWdodCA9IHhfaGVpZ2h0OwpAQCAtMTY5Myw2ICsxNjk4
LDggQEAgdm9pZCBTa1NjYWxlckNvbnRleHRfRnJlZVR5cGU6OmdlbmVyYXRlRm9udE1ldHJpY3Mo
U2tQYWludDo6Rm9udE1ldHJpY3MqIG14LAogICAgICAgICBteS0+ZkJvdHRvbSA9IHB0c1szXS5m
WTsKICAgICAgICAgbXktPmZMZWFkaW5nID0gcHRzWzRdLmZZOwogICAgICAgICBteS0+ZkF2Z0No
YXJXaWR0aCA9IHB0c1s1XS5mWTsKKyAgICAgICAgbXktPmZXaW5Bc2NlbnQgPSBwdHNbNl0uZlk7
CisgICAgICAgIG15LT5mV2luRGVzY2VudCA9IHB0c1s3XS5mWTsKICAgICAgICAgbXktPmZYTWlu
ID0geG1pbjsKICAgICAgICAgbXktPmZYTWF4ID0geG1heDsKICAgICAgICAgbXktPmZYSGVpZ2h0
ID0geF9oZWlnaHQ7Ci0tIAoxLjcuNi4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135829</attachid>
            <date>2012-04-05 08:24:50 -0700</date>
            <delta_ts>2012-04-05 10:47:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83279-20120405112448.patch</filename>
            <type>text/plain</type>
            <size>2500</size>
            <attacher name="Eli Fidler">efidler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJkNjYyOGYwNDY0ZjY2
MzA0MjRmOWYxMjA1OGNhZDMyODFkNWVlMi4uYzk0ZjkxZDQ4MzA1NWI1NWQxMDFhNTczMGFmNThm
YzVkNjBlMGQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTA1ICBFbGkg
RmlkbGVyICA8ZWZpZGxlckByaW0uY29tPgorCisgICAgICAgIExpbmUgc3BhY2luZyBpbiBDaHJv
bWl1bSBMaW51eCBhbmQgQmxhY2tCZXJyeSBpcyB0b28gbGFyZ2Ugd2hlbiB1c2luZyBWRE1YIG1l
dHJpY3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgz
Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVn
cmVzc2lvbiB0ZXN0ZWQgYnkgZXhpc3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisKIDIwMTItMDQtMDUgIEtlaXNo
aSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSGlkZSBkYXRhbGlzdCBl
bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKaW5kZXggNjVhNDY4ZWYzZDc4YWZmZDQ0YWZm
YmI2ZjRmZTg5NDU2NGY0NjU0MC4uOGRlMTc0NTkyZmQzMzNlZjhhMWI5MDFmZjQ1ODYzOTFmMDZi
ZjBiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9T
aW1wbGVGb250RGF0YVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcApAQCAtODQsMjAgKzg0LDI4IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmbG9hdCBhc2NlbnQ7CiAgICAg
ZmxvYXQgZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lR2FwOwogCiAgICAgLy8gQmV3YXJlIHRob3Nl
IHdobyBzdGVwIGhlcmU6IFRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBtYXRjaCBXaW4zMiBmb250
CiAgICAgLy8gbWV0cmljcyAqZXhhY3RseSouCiAgICAgaWYgKGlzVkRNWFZhbGlkKSB7CiAgICAg
ICAgIGFzY2VudCA9IHZkbXhBc2NlbnQ7CiAgICAgICAgIGRlc2NlbnQgPSAtdmRteERlc2NlbnQ7
CisKKyAgICAgICAgaWYgKG1ldHJpY3MuZldpbkFzY2VudCArIG1ldHJpY3MuZldpbkRlc2NlbnQg
PT0gMC4wKQorICAgICAgICAgICAgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChTa01heFNjYWxh
cigwLjAsIG1ldHJpY3MuZkxlYWRpbmcpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbGlu
ZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChTa01heFNjYWxhcigwLjAsIG1ldHJpY3MuZkxlYWRpbmcg
LSAoKG1ldHJpY3MuZldpbkFzY2VudCArIG1ldHJpY3MuZldpbkRlc2NlbnQpIC0gKC1tZXRyaWNz
LmZBc2NlbnQgKyBtZXRyaWNzLmZEZXNjZW50KSkpKTsKICAgICB9IGVsc2UgewogICAgICAgICBT
a1NjYWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1l
dHJpY3MuZkxlYWRpbmc7CiAgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyUm91bmQoLW1ldHJpY3Mu
ZkFzY2VudCk7CiAgICAgICAgIGRlc2NlbnQgPSBTa1NjYWxhclJvdW5kKGhlaWdodCkgLSBhc2Nl
bnQ7CisgICAgICAgIGxpbmVHYXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7
CiAgICAgfQogCiAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKICAgICBtX2Zv
bnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5l
R2FwKGxpbmVHYXApOwogCiAgICAgZmxvYXQgeEhlaWdodDsKICAgICBpZiAobWV0cmljcy5mWEhl
aWdodCkKQEAgLTEwNyw4ICsxMTUsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgICAgICB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgZmxv
YXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2Zv
bnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRYSGVp
Z2h0KHhIZWlnaHQpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihh
c2NlbnQpICsgbHJvdW5kZihkZXNjZW50KSArIGxyb3VuZGYobGluZUdhcCkpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135857</attachid>
            <date>2012-04-05 10:47:27 -0700</date>
            <delta_ts>2012-05-02 10:10:08 -0700</delta_ts>
            <desc>Fixed style</desc>
            <filename>bug-83279-20120405134725.patch</filename>
            <type>text/plain</type>
            <size>2497</size>
            <attacher name="Eli Fidler">efidler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGJkNjYyOGYwNDY0ZjY2
MzA0MjRmOWYxMjA1OGNhZDMyODFkNWVlMi4uYzk0ZjkxZDQ4MzA1NWI1NWQxMDFhNTczMGFmNThm
YzVkNjBlMGQwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA0LTA1ICBFbGkg
RmlkbGVyICA8ZWZpZGxlckByaW0uY29tPgorCisgICAgICAgIExpbmUgc3BhY2luZyBpbiBDaHJv
bWl1bSBMaW51eCBhbmQgQmxhY2tCZXJyeSBpcyB0b28gbGFyZ2Ugd2hlbiB1c2luZyBWRE1YIG1l
dHJpY3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgz
Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVn
cmVzc2lvbiB0ZXN0ZWQgYnkgZXhpc3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisKIDIwMTItMDQtMDUgIEtlaXNo
aSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSGlkZSBkYXRhbGlzdCBl
bGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L1NpbXBsZUZvbnREYXRhU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKaW5kZXggNjVhNDY4ZWYzZDc4YWZmZDQ0YWZm
YmI2ZjRmZTg5NDU2NGY0NjU0MC4uYWViMjc1M2I4NmU1ZmNmOWY4MDY1OTljZTIzNTg2MGY0MjAz
NzgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9T
aW1wbGVGb250RGF0YVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcApAQCAtODQsMjAgKzg0LDI4IEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmbG9hdCBhc2NlbnQ7CiAgICAg
ZmxvYXQgZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lR2FwOwogCiAgICAgLy8gQmV3YXJlIHRob3Nl
IHdobyBzdGVwIGhlcmU6IFRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBtYXRjaCBXaW4zMiBmb250
CiAgICAgLy8gbWV0cmljcyAqZXhhY3RseSouCiAgICAgaWYgKGlzVkRNWFZhbGlkKSB7CiAgICAg
ICAgIGFzY2VudCA9IHZkbXhBc2NlbnQ7CiAgICAgICAgIGRlc2NlbnQgPSAtdmRteERlc2NlbnQ7
CisKKyAgICAgICAgaWYgKG1ldHJpY3MuZldpbkFzY2VudCArIG1ldHJpY3MuZldpbkRlc2NlbnQg
PiAwKQorICAgICAgICAgICAgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChTa01heFNjYWxhcigw
LjAsIG1ldHJpY3MuZkxlYWRpbmcgLSAoKG1ldHJpY3MuZldpbkFzY2VudCArIG1ldHJpY3MuZldp
bkRlc2NlbnQpIC0gKC1tZXRyaWNzLmZBc2NlbnQgKyBtZXRyaWNzLmZEZXNjZW50KSkpKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChTa01heFNj
YWxhcigwLjAsIG1ldHJpY3MuZkxlYWRpbmcpKTsKICAgICB9IGVsc2UgewogICAgICAgICBTa1Nj
YWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1ldHJp
Y3MuZkxlYWRpbmc7CiAgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyUm91bmQoLW1ldHJpY3MuZkFz
Y2VudCk7CiAgICAgICAgIGRlc2NlbnQgPSBTa1NjYWxhclJvdW5kKGhlaWdodCkgLSBhc2NlbnQ7
CisgICAgICAgIGxpbmVHYXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7CiAg
ICAgfQogCiAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKICAgICBtX2ZvbnRN
ZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGxpbmVHYXApOwogCiAgICAgZmxvYXQgeEhlaWdodDsKICAgICBpZiAobWV0cmljcy5mWEhlaWdo
dCkKQEAgLTEwNyw4ICsxMTUsNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgICAgICB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgZmxvYXQg
bGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2ZvbnRN
ZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0
KHhIZWlnaHQpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihhc2Nl
bnQpICsgbHJvdW5kZihkZXNjZW50KSArIGxyb3VuZGYobGluZUdhcCkpOwogCg==
</data>
<flag name="review"
          id="140503"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="140511"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>