<?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>26529</bug_id>
          
          <creation_ts>2009-06-18 17:19:41 -0700</creation_ts>
          <short_desc>[Chromium] Pipe getFontDataForCharacters via ChromiumBridge</short_desc>
          <delta_ts>2009-06-25 16:19:04 -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>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Langley">agl</reporter>
          <assigned_to name="Adam Langley">agl</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126822</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-06-18 17:19:41 -0700</bug_when>
    <thetext>This is hopefully the last step before our renderers can run cleanly in a chroot.

WebKit needs to be able to ask for the correct font to use in the case that the current font doesn&apos;t include glyphs for certain code points. Currently we make a fontconfig call in our WebKit port to handle this.

This patch changes this so that the call is sent our via ChromiumBridge.

http://codereview.chromium.org/132007</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126824</commentid>
    <comment_count>1</comment_count>
      <attachid>31520</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-06-18 17:23:09 -0700</bug_when>
    <thetext>Created attachment 31520
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127722</commentid>
    <comment_count>2</comment_count>
      <attachid>31520</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-06-23 15:58:13 -0700</bug_when>
    <thetext>Comment on attachment 31520
patch

I&apos;m leaving the &quot;real&quot; review for Darin Fisher, but I&apos;ll give you some style things to fix up to make it go faster.


&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; +2009-06-18  Adam Langley  &lt;agl@google.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

Typically the link to the bug is near the top of the change log entry.  (I did see you put it in bug it way at the bottom.)



&gt; diff --git a/WebCore/platform/chromium/ChromiumBridge.h b/WebCore/platform/chromium/ChromiumBridge.h
&gt; +        static String getFontFamilyForCharacters(const UChar* characters, int numCharacters);

&quot;characters&quot; doesn&apos;t seem to add any information here due to the api name and the const UChar* type.
So it would be good to remove it.  (WebKit style is to not put in param names when they don&apos;t add information.)



&gt; diff --git a/WebCore/platform/graphics/chromium/FontCacheLinux.cpp b/WebCore/platform/graphics/chromium/FontCacheLinux.cpp
&gt; +    String family = ChromiumBridge::getFontFamilyForCharacters(characters, length);
&gt; +    if (family.isEmpty())
&gt; +        return NULL;

Use 0 instead of NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127814</commentid>
    <comment_count>3</comment_count>
      <attachid>31520</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-06-23 22:40:48 -0700</bug_when>
    <thetext>Comment on attachment 31520
patch

My only comment, in addition to what Dave wrote, is that numCharacters should probably be size_t instead of int.  Post a revised patch and LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127940</commentid>
    <comment_count>4</comment_count>
      <attachid>31791</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-06-24 10:43:18 -0700</bug_when>
    <thetext>Created attachment 31791
patch

Hopefully have addressed all comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127948</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-06-24 11:36:25 -0700</bug_when>
    <thetext>Did you attach the right patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127952</commentid>
    <comment_count>6</comment_count>
      <attachid>31798</attachid>
    <who name="Adam Langley">agl</who>
    <bug_when>2009-06-24 11:41:52 -0700</bug_when>
    <thetext>Created attachment 31798
patch

&gt; Did you attach the right patch?

Opps, sorry.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31520</attachid>
            <date>2009-06-18 17:23:09 -0700</date>
            <delta_ts>2009-06-24 10:43:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3898</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">Y29tbWl0IGViZDU4MTVkNDJmZWRlMDNjOTQ1YzE2MDc5MjY3MjkzODU3NWQ4ZWUKQXV0aG9yOiBB
ZGFtIExhbmdsZXkgPGFnbEBnb29nbGUuY29tPgpEYXRlOiAgIFRodSBKdW4gMTggMTc6MTk6NTMg
MjAwOSAtMDcwMAoKICAgIC4uLgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNDYzNmIwMi4uNzAyMWNlMyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAw
OS0wNi0xOCAgQWRhbSBMYW5nbGV5ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpcyBob3BlZnVsbHkgdGhlIGxh
c3Qgc3RlcCBiZWZvcmUgb3VyIHJlbmRlcmVycyBjYW4gcnVuCisgICAgICAgIGNsZWFubHkgaW4g
YSBjaHJvb3QuCisKKyAgICAgICAgV2ViS2l0IG5lZWRzIHRvIGJlIGFibGUgdG8gYXNrIGZvciB0
aGUgY29ycmVjdCBmb250IHRvIHVzZSBpbgorICAgICAgICB0aGUgY2FzZSB0aGF0IHRoZSBjdXJy
ZW50IGZvbnQgZG9lc24ndCBpbmNsdWRlIGdseXBocyBmb3IKKyAgICAgICAgY2VydGFpbiBjb2Rl
IHBvaW50cy4gQ3VycmVudGx5IHdlIG1ha2UgYSBmb250Y29uZmlnIGNhbGwgaW4gb3VyCisgICAg
ICAgIFdlYktpdCBwb3J0IHRvIGhhbmRsZSB0aGlzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hh
bmdlcyB0aGlzIHNvIHRoYXQgdGhlIGNhbGwgaXMgc2VudCBvdXIgdmlhCisgICAgICAgIENocm9t
aXVtQnJpZGdlLgorCisgICAgICAgIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy8xMzIw
MDcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTI5
CisKKyAgICAgICAgVGhpcyBzaG91bGQgbm90IGFmZmVjdCBhbnkgbGF5b3V0IHRlc3RzLgorCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVMaW51eC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGb250Q2FjaGU6OmdldEZvbnREYXRhRm9yQ2hhcmFjdGVycyk6CisKIDIwMDktMDYt
MTggIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIEZpeCBi
dWlsZCBidXN0YWdlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJv
bWl1bUJyaWRnZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5o
CmluZGV4IDc1ZTkxMDMuLjcwMjA5N2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vQ2hyb21pdW1CcmlkZ2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0No
cm9taXVtQnJpZGdlLmgKQEAgLTg2LDYgKzg2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lm
IFBMQVRGT1JNKFdJTl9PUykKICAgICAgICAgc3RhdGljIGJvb2wgZW5zdXJlRm9udExvYWRlZChI
Rk9OVCBmb250KTsKICNlbmRpZgorI2lmIFBMQVRGT1JNKExJTlVYKQorICAgICAgICBzdGF0aWMg
U3RyaW5nIGdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
LCBpbnQgbnVtQ2hhcmFjdGVycyk7CisjZW5kaWYKIAogICAgICAgICAvLyBGb3JtcyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
ICAgICAgICBzdGF0aWMgdm9pZCBub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKGNvbnN0IERvY3VtZW50
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRD
YWNoZUxpbnV4LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENh
Y2hlTGludXguY3BwCmluZGV4IGVlYjU2ZjcuLjEwM2FmZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlTGludXguY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENhY2hlTGludXguY3BwCkBAIC0zMSw5
ICszMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRm9udENhY2hlLmgiCiAK
LSNpbmNsdWRlIDxmb250Y29uZmlnL2ZvbnRjb25maWcuaD4KLQogI2luY2x1ZGUgIkF0b21pY1N0
cmluZy5oIgorI2luY2x1ZGUgIkNocm9taXVtQnJpZGdlLmgiCiAjaW5jbHVkZSAiQ1N0cmluZy5o
IgogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKQEAgLTU4
LDM4ICs1NywxMiBAQCBjb25zdCBTaW1wbGVGb250RGF0YSogRm9udENhY2hlOjpnZXRGb250RGF0
YUZvckNoYXJhY3RlcnMoY29uc3QgRm9udCYgZm9udCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVy
cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgbGVuZ3RoKQogewotICAgIEZjQ2hhclNldCogY3NldCA9IEZjQ2hhclNldENyZWF0
ZSgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpCi0gICAgICAgIEZjQ2hh
clNldEFkZENoYXIoY3NldCwgY2hhcmFjdGVyc1tpXSk7Ci0KLSAgICBGY1BhdHRlcm4qIHBhdHRl
cm4gPSBGY1BhdHRlcm5DcmVhdGUoKTsKLQotICAgIEZjVmFsdWUgZmN2YWx1ZTsKLSAgICBmY3Zh
bHVlLnR5cGUgPSBGY1R5cGVDaGFyU2V0OwotICAgIGZjdmFsdWUudS5jID0gY3NldDsKLSAgICBG
Y1BhdHRlcm5BZGQocGF0dGVybiwgRkNfQ0hBUlNFVCwgZmN2YWx1ZSwgMCk7Ci0KLSAgICBGY0Nv
bmZpZ1N1YnN0aXR1dGUoMCwgcGF0dGVybiwgRmNNYXRjaFBhdHRlcm4pOwotICAgIEZjRGVmYXVs
dFN1YnN0aXR1dGUocGF0dGVybik7Ci0KLSAgICBGY1Jlc3VsdCByZXN1bHQ7Ci0gICAgRmNQYXR0
ZXJuKiBtYXRjaCA9IEZjRm9udE1hdGNoKDAsIHBhdHRlcm4sICZyZXN1bHQpOwotICAgIEZjUGF0
dGVybkRlc3Ryb3kocGF0dGVybik7Ci0KLSAgICBTaW1wbGVGb250RGF0YSogcmV0ID0gMDsKLQot
ICAgIGlmIChtYXRjaCkgewotICAgICAgICBGY0NoYXI4KiBmYW1pbHk7Ci0gICAgICAgIGlmIChG
Y1BhdHRlcm5HZXRTdHJpbmcobWF0Y2gsIEZDX0ZBTUlMWSwgMCwgJmZhbWlseSkgPT0gRmNSZXN1
bHRNYXRjaCkgewotICAgICAgICAgICAgQXRvbWljU3RyaW5nIGZvbnRGYW1pbHkocmVpbnRlcnBy
ZXRfY2FzdDxjaGFyKj4oZmFtaWx5KSk7Ci0gICAgICAgICAgICByZXQgPSBnZXRDYWNoZWRGb250
RGF0YShnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnQuZm9udERlc2NyaXB0aW9uKCksIGZv
bnRGYW1pbHksIGZhbHNlKSk7Ci0gICAgICAgIH0KLSAgICAgICAgRmNQYXR0ZXJuRGVzdHJveSht
YXRjaCk7Ci0gICAgfQotCi0gICAgRmNDaGFyU2V0RGVzdHJveShjc2V0KTsKKyAgICBTdHJpbmcg
ZmFtaWx5ID0gQ2hyb21pdW1CcmlkZ2U6OmdldEZvbnRGYW1pbHlGb3JDaGFyYWN0ZXJzKGNoYXJh
Y3RlcnMsIGxlbmd0aCk7CisgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVy
biBOVUxMOwogCi0gICAgcmV0dXJuIHJldDsKKyAgICBBdG9taWNTdHJpbmcgYXRvbWljRmFtaWx5
KGZhbWlseSk7CisgICAgcmV0dXJuIGdldENhY2hlZEZvbnREYXRhKGdldENhY2hlZEZvbnRQbGF0
Zm9ybURhdGEoZm9udC5mb250RGVzY3JpcHRpb24oKSwgYXRvbWljRmFtaWx5LCBmYWxzZSkpOwog
fQogCiBGb250UGxhdGZvcm1EYXRhKiBGb250Q2FjaGU6OmdldFNpbWlsYXJGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnQmIGZvbnQpCg==
</data>
<flag name="review"
          id="16162"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31791</attachid>
            <date>2009-06-24 10:43:18 -0700</date>
            <delta_ts>2009-06-24 11:41:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>2166</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDgxOTUyNy4uZWZlYjI0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wNi0yMyAgQWRhbSBMYW5nbGV5
ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hyb21pdW06IEZpeCBjcmFzaCB3aXRoIGluaGVyaXRlZCBmb250LXNpemUg
aW4gPG9wdGlvbj4KKworICAgICAgICBJbiByNDI1OTcgKGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yNTI0NCksIEkgY2hhbmdlZAorICAgICAgICB0aGUgPHNlbGVjdD4g
aGFuZGluZyBmb3IgQ2hyb21pdW0gdG8gZml4IGEgcmVuZGVyaW5nIGJ1Zy4gSG93ZXZlciwKKyAg
ICAgICAgYWx0aG91Z2ggdGhlIGZvbnQtc2l6ZSBpcyBjb3JyZWN0bHkgaWdub3JlZCwgZ2V0Um93
SGVpZ2h0IHdhc24ndAorICAgICAgICB1cGRhdGVkIGFuZCBzbyB3YXMgY2FsY3VsYXRpbmcgdGhl
IGhlaWdodCBvZiB0aGUgcm93cyBpbiBhbgorICAgICAgICBpbmNvbnNpc3RlbnQgbWFubmVyLiBU
aGlzIGNhbiBsZWFkIHRvIGEgY3Jhc2guCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI2NjU2CisgICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20v
cC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTE0ODUzCisKKyAgICAgICAgKiBtYW51YWwtdGVz
dHMvb3B0Z3JvdXAtZW1wdHktYW5kLW5lc3RlZC5odG1sOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlz
dEJveDo6Z2V0Um93SGVpZ2h0KToKKwogMjAwOS0wNi0yMyAgS2V2aW4gTWNDdWxsb3VnaCAgPGtt
Y2N1bGxvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGVsZSBQZXRlcnNv
bi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbWFudWFsLXRlc3RzL29wdGdyb3VwLWVtcHR5LWFuZC1u
ZXN0ZWQuaHRtbCBiL1dlYkNvcmUvbWFudWFsLXRlc3RzL29wdGdyb3VwLWVtcHR5LWFuZC1uZXN0
ZWQuaHRtbAppbmRleCAwNjI5OTZiLi40MTljMjJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL21hbnVh
bC10ZXN0cy9vcHRncm91cC1lbXB0eS1hbmQtbmVzdGVkLmh0bWwKKysrIGIvV2ViQ29yZS9tYW51
YWwtdGVzdHMvb3B0Z3JvdXAtZW1wdHktYW5kLW5lc3RlZC5odG1sCkBAIC0yMSw3ICsyMSw3IEBA
CiAgICAgPCEtLSBmb3IgYW4gb3B0Z3JvdXAgd2l0aG91dCBhIGxhYmVsLCBJRSB3aWxsIHNob3cg
YW4gZW1wdHksIHVuc2VsZWN0YWJsZSByb3cuCiAgICAgICAgICBGaXJlZm94IGRvZXNuJ3Qgc2hv
dyBpdC4gV2UgL2RvLyBzaG93IGl0IGJlY2F1c2Ugc29tZW9uZSBtaWdodCBiZSB1c2luZwogICAg
ICAgICAgaXQgYXMgYSBzcGFjZXIuIC0tPgotICAgIDxvcHRncm91cD4KKyAgICA8b3B0Z3JvdXAg
c3R5bGU9ImZvbnQtc2l6ZTogeC1sYXJnZTsiPgogICAgICAgPG9wdGlvbiB2YWx1ZT0iMiI+SXRl
bSBpbnNpZGUgYW4gb3B0Z3JvdXAgd2l0aG91dCBhIGxhYmVsPC9vcHRpb24+CiAgICAgPC9vcHRn
cm91cD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmNwcAppbmRleCBlMzQ5MjM5Li5lOWNmYzBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcApAQCAtOTI1LDcgKzkyNSw3IEBAIGludCBQb3B1
cExpc3RCb3g6OmdldFJvd0hlaWdodChpbnQgaW5kZXgpCiAgICAgaWYgKGluZGV4IDwgMCkKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbV9wb3B1cENsaWVudC0+aXRlbVN0eWxlKGlu
ZGV4KS5mb250KCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIGdldFJvd0ZvbnQoaW5kZXgpLmhlaWdo
dCgpOwogfQogCiBJbnRSZWN0IFBvcHVwTGlzdEJveDo6Z2V0Um93Qm91bmRzKGludCBpbmRleCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31798</attachid>
            <date>2009-06-24 11:41:52 -0700</date>
            <delta_ts>2009-06-24 16:42:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3827</size>
            <attacher name="Adam Langley">agl</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGVhZDY2MC4uOTU4ZTFiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0wNi0xOCAgQWRhbSBMYW5nbGV5
ICA8YWdsQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjUyOQor
CisgICAgICAgIFRoaXMgaXMgaG9wZWZ1bGx5IHRoZSBsYXN0IHN0ZXAgYmVmb3JlIG91ciByZW5k
ZXJlcnMgY2FuIHJ1bgorICAgICAgICBjbGVhbmx5IGluIGEgY2hyb290LgorCisgICAgICAgIFdl
YktpdCBuZWVkcyB0byBiZSBhYmxlIHRvIGFzayBmb3IgdGhlIGNvcnJlY3QgZm9udCB0byB1c2Ug
aW4KKyAgICAgICAgdGhlIGNhc2UgdGhhdCB0aGUgY3VycmVudCBmb250IGRvZXNuJ3QgaW5jbHVk
ZSBnbHlwaHMgZm9yCisgICAgICAgIGNlcnRhaW4gY29kZSBwb2ludHMuIEN1cnJlbnRseSB3ZSBt
YWtlIGEgZm9udGNvbmZpZyBjYWxsIGluIG91cgorICAgICAgICBXZWJLaXQgcG9ydCB0byBoYW5k
bGUgdGhpcy4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhpcyBzbyB0aGF0IHRoZSBj
YWxsIGlzIHNlbnQgb3VyIHZpYQorICAgICAgICBDaHJvbWl1bUJyaWRnZS4KKworICAgICAgICBo
dHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvMTMyMDA3CisKKyAgICAgICAgVGhpcyBzaG91
bGQgbm90IGFmZmVjdCBhbnkgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vQ2hyb21pdW1CcmlkZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250Q2FjaGVMaW51eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6Omdl
dEZvbnREYXRhRm9yQ2hhcmFjdGVycyk6CisKIDIwMDktMDYtMjMgIEJyYWR5IEVpZHNvbiAgPGJl
aWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFBhdGNoIGJ5IEFudHRpIEtvaXZpc3RvLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCmluZGV4IDc1ZTkxMDMuLmFj
MDM2ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1Ccmlk
Z2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKQEAg
LTg2LDYgKzg2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIFBMQVRGT1JNKFdJTl9PUykK
ICAgICAgICAgc3RhdGljIGJvb2wgZW5zdXJlRm9udExvYWRlZChIRk9OVCBmb250KTsKICNlbmRp
ZgorI2lmIFBMQVRGT1JNKExJTlVYKQorICAgICAgICBzdGF0aWMgU3RyaW5nIGdldEZvbnRGYW1p
bHlGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiwgc2l6ZV90IG51bUNoYXJhY3RlcnMpOworI2Vu
ZGlmCiAKICAgICAgICAgLy8gRm9ybXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgc3RhdGljIHZvaWQgbm90aWZ5
Rm9ybVN0YXRlQ2hhbmdlZChjb25zdCBEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2FjaGVMaW51eC5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDYWNoZUxpbnV4LmNwcAppbmRleCAzNmQ0YTFj
Li4zZmUxNTYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRDYWNoZUxpbnV4LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0ZvbnRDYWNoZUxpbnV4LmNwcApAQCAtMzEsOSArMzEsOCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkZvbnRDYWNoZS5oIgogCi0jaW5jbHVkZSA8Zm9udGNvbmZpZy9mb250
Y29uZmlnLmg+Ci0KICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJDaHJvbWl1
bUJyaWRnZS5oIgogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJGb250LmgiCiAjaW5j
bHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCkBAIC01OSw0MSArNTgsMTIgQEAgY29uc3QgU2ltcGxl
Rm9udERhdGEqIEZvbnRDYWNoZTo6Z2V0Rm9udERhdGFGb3JDaGFyYWN0ZXJzKGNvbnN0IEZvbnQm
IGZvbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbmd0aCkKIHsKLSAgICBG
Y0NoYXJTZXQqIGNzZXQgPSBGY0NoYXJTZXRDcmVhdGUoKTsKLSAgICBmb3IgKGludCBpID0gMDsg
aSA8IGxlbmd0aDsgKSB7Ci0gICAgICAgIFVDaGFyMzIgdWNzNCA9IDA7Ci0gICAgICAgIFUxNl9O
RVhUKGNoYXJhY3RlcnMsIGksIGxlbmd0aCwgdWNzNCk7Ci0gICAgICAgIEZjQ2hhclNldEFkZENo
YXIoY3NldCwgdWNzNCk7Ci0gICAgfQotCi0gICAgRmNQYXR0ZXJuKiBwYXR0ZXJuID0gRmNQYXR0
ZXJuQ3JlYXRlKCk7Ci0KLSAgICBGY1ZhbHVlIGZjdmFsdWU7Ci0gICAgZmN2YWx1ZS50eXBlID0g
RmNUeXBlQ2hhclNldDsKLSAgICBmY3ZhbHVlLnUuYyA9IGNzZXQ7Ci0gICAgRmNQYXR0ZXJuQWRk
KHBhdHRlcm4sIEZDX0NIQVJTRVQsIGZjdmFsdWUsIDApOwotCi0gICAgRmNDb25maWdTdWJzdGl0
dXRlKDAsIHBhdHRlcm4sIEZjTWF0Y2hQYXR0ZXJuKTsKLSAgICBGY0RlZmF1bHRTdWJzdGl0dXRl
KHBhdHRlcm4pOwotCi0gICAgRmNSZXN1bHQgcmVzdWx0OwotICAgIEZjUGF0dGVybiogbWF0Y2gg
PSBGY0ZvbnRNYXRjaCgwLCBwYXR0ZXJuLCAmcmVzdWx0KTsKLSAgICBGY1BhdHRlcm5EZXN0cm95
KHBhdHRlcm4pOwotCi0gICAgU2ltcGxlRm9udERhdGEqIHJldCA9IDA7Ci0KLSAgICBpZiAobWF0
Y2gpIHsKLSAgICAgICAgRmNDaGFyOCogZmFtaWx5OwotICAgICAgICBpZiAoRmNQYXR0ZXJuR2V0
U3RyaW5nKG1hdGNoLCBGQ19GQU1JTFksIDAsICZmYW1pbHkpID09IEZjUmVzdWx0TWF0Y2gpIHsK
LSAgICAgICAgICAgIEF0b21pY1N0cmluZyBmb250RmFtaWx5KHJlaW50ZXJwcmV0X2Nhc3Q8Y2hh
cio+KGZhbWlseSkpOwotICAgICAgICAgICAgcmV0ID0gZ2V0Q2FjaGVkRm9udERhdGEoZ2V0Q2Fj
aGVkRm9udFBsYXRmb3JtRGF0YShmb250LmZvbnREZXNjcmlwdGlvbigpLCBmb250RmFtaWx5LCBm
YWxzZSkpOwotICAgICAgICB9Ci0gICAgICAgIEZjUGF0dGVybkRlc3Ryb3kobWF0Y2gpOwotICAg
IH0KLQotICAgIEZjQ2hhclNldERlc3Ryb3koY3NldCk7CisgICAgU3RyaW5nIGZhbWlseSA9IENo
cm9taXVtQnJpZGdlOjpnZXRGb250RmFtaWx5Rm9yQ2hhcmFjdGVycyhjaGFyYWN0ZXJzLCBsZW5n
dGgpOworICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gMDsKIAotICAg
IHJldHVybiByZXQ7CisgICAgQXRvbWljU3RyaW5nIGF0b21pY0ZhbWlseShmYW1pbHkpOworICAg
IHJldHVybiBnZXRDYWNoZWRGb250RGF0YShnZXRDYWNoZWRGb250UGxhdGZvcm1EYXRhKGZvbnQu
Zm9udERlc2NyaXB0aW9uKCksIGF0b21pY0ZhbWlseSwgZmFsc2UpKTsKIH0KIAogRm9udFBsYXRm
b3JtRGF0YSogRm9udENhY2hlOjpnZXRTaW1pbGFyRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250
JiBmb250KQo=
</data>
<flag name="review"
          id="16383"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>