<?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>31597</bug_id>
          
          <creation_ts>2009-11-17 14:01:05 -0800</creation_ts>
          <short_desc>locale for text breakiterator and string search is not set to the UI locale</short_desc>
          <delta_ts>2010-01-12 16:23:56 -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>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>1</everconfirmed>
          <reporter name="Jungshik Shin">jshin</reporter>
          <assigned_to name="Jungshik Shin">jshin</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hbono</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>164343</commentid>
    <comment_count>0</comment_count>
      <attachid>43380</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-11-17 14:01:05 -0800</bug_when>
    <thetext>Created attachment 43380
patch (only for Chromium)

All the implementations of two methods in TextBreakIteratorInternalICU return &quot;&quot; and &quot;en-US&quot;, respectively. 

There are FIXME comments that they should return the OS UI locale. It works as long as the OS UI locale is the same as the UI locale of a browser. 

In case of Chrome on Windows, the UI locale of Chrome can be different from the OS UI language. That is, English Windows users can run Chrome in Japanese.  And, Chrome&apos;s browser process already passes along that information to a renderer process, which is in turn available in WebCore::defaultLanguage().  

So, at least in Chrome, we can return that in two methods in TextBreakIteratorInternalICU.  

I&apos;m tempted to remove two methods and just use WebCore::defaultLanguage() in all the call sites on all ports, but I&apos;m not sure of the reasoning behind having them separate. So, I&apos;m just making changes to Chrome&apos;s implementation of TextBreakIteratorInternalICU. If we can agree on the above point, I&apos;ll extend the patch to include other ports. 

With this change, for instance,  Swedish Find-in-Page behaves as expected when CHrome is run in Swedish.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164448</commentid>
    <comment_count>1</comment_count>
      <attachid>43380</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-11-17 21:51:17 -0800</bug_when>
    <thetext>Comment on attachment 43380
patch (only for Chromium)

&gt;  const char* currentSearchLocaleID()
&gt;  {
&gt; -    // FIXME: Should use system locale.
&gt; -    return &quot;&quot;;
&gt; +    // Chrome&apos;s UI language can be different from the OS UI language on Windows.
&gt; +    // We want to return Chrome&apos;s UI language here.
&gt; +    return defaultLanguage().ascii().data();
&gt;  }

This will create a local CString, take a pointer to its contents, then destroy the CString and return a pointer to the destroyed memory. So you definitely can&apos;t land this as-is.

The concept is probably OK for Chromium.

For Mac OS X it would not be good to use defaultLanguage() for everything, so it&apos;s good that you did not try to change all ports to work this way. Mac OS X has a separate preference for &quot;Order for sorted lists&quot; that should be used for searches but not text breaking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178723</commentid>
    <comment_count>2</comment_count>
      <attachid>46147</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-01-08 11:28:56 -0800</bug_when>
    <thetext>Created attachment 46147
updated patch per darin&apos;s comment

Darin, Thank you for the clarification about other ports and also catching my stupid mistake. Can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178725</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-08 11:34:25 -0800</bug_when>
    <thetext>Attachment 46147 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:23:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:28:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178763</commentid>
    <comment_count>4</comment_count>
      <attachid>46147</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-08 13:30:09 -0800</bug_when>
    <thetext>Comment on attachment 46147
updated patch per darin&apos;s comment

&gt;  #include &quot;config.h&quot;
&gt; +#include &quot;CString.h&quot;
&gt; +#include &quot;Language.h&quot;
&gt; +#include &quot;PlatformString.h&quot;
&gt;  #include &quot;TextBreakIteratorInternalICU.h&quot;

As the style-bot said, please add the new includes in a new paragraph after a blank line. The file&apos;s own header goes first in the same paragraph with config.h.


&gt; +static const char* UILanguage() {

Brace goes on a separate line.

&gt; +    // Chrome&apos;s UI language can be different from the OS UI language on Windows.
&gt; +    // We want to return Chrome&apos;s UI language here.
&gt; +    static WebCore::CString locale;
&gt; +    locale = WebCore::defaultLanguage().latin1();

This isn&apos;t quite right. The locale is a global variable, but you&apos;re re-initializing it with new data every time through the function. Merging these two lines of code into one will fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179582</commentid>
    <comment_count>5</comment_count>
      <attachid>46314</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-01-11 15:45:15 -0800</bug_when>
    <thetext>Created attachment 46314
updated patch

Thank you for bearing with me. Here&apos;s an updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179627</commentid>
    <comment_count>6</comment_count>
      <attachid>46314</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-11 17:12:00 -0800</bug_when>
    <thetext>Comment on attachment 46314
updated patch

&gt; +static const char* UILanguage()
&gt; +{
&gt; +    // Chrome&apos;s UI language can be different from the OS UI language on Windows.
&gt; +    // We want to return Chrome&apos;s UI language here.
&gt; +    static WebCore::CString locale = WebCore::defaultLanguage().latin1();
&gt; +    return locale.data();
&gt; +}

Normally I would put a function like this inside the WebCore namespace rather than outside. Any reason it&apos;s outside? You could avoid those two WebCore prefixes that way.

Most places in WebCore we try to avoid global destructors that run on process exit. In fact, for code in the Mac OS X version, it&apos;s required. The idiom is to use the DEFINE_STATIC_LOCAL macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179899</commentid>
    <comment_count>7</comment_count>
      <attachid>46383</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-01-12 11:21:39 -0800</bug_when>
    <thetext>Created attachment 46383
update to use the macro for static local variable

thanks for the review. 
I&apos;ve seen that macro but was mistaken for that to be only used with a literal value. 
I updated the patch to use the macro for static local (to leak at the end of a process) and pulled in the helper function into WebCore ns.

I&apos;m carrying along r+ for the updated patch and will plus commit-queue once chrome-bot comes back green (although I locally built and ran some tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179901</commentid>
    <comment_count>8</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-01-12 11:23:17 -0800</bug_when>
    <thetext>http://crbug.com/31812 and http://crbug.com/31609
are chromium bugs related to this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179902</commentid>
    <comment_count>9</comment_count>
      <attachid>46383</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-12 11:24:26 -0800</bug_when>
    <thetext>Comment on attachment 46383
update to use the macro for static local variable

Yes, looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179914</commentid>
    <comment_count>10</comment_count>
      <attachid>46383</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-01-12 11:43:16 -0800</bug_when>
    <thetext>Comment on attachment 46383
update to use the macro for static local variable

with r+, it looks like bots are not supposed to run. it should be ok, though and I&apos;m going ahead with c-q +.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179957</commentid>
    <comment_count>11</comment_count>
      <attachid>46383</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-12 13:15:38 -0800</bug_when>
    <thetext>Comment on attachment 46383
update to use the macro for static local variable

Clearing flags on attachment: 46383

Committed r53159: &lt;http://trac.webkit.org/changeset/53159&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43380</attachid>
            <date>2009-11-17 14:01:05 -0800</date>
            <delta_ts>2010-01-08 11:28:56 -0800</delta_ts>
            <desc>patch (only for Chromium)</desc>
            <filename>search.locale.patch</filename>
            <type>text/plain</type>
            <size>1722</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTA4OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMTEtMTcgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBJQ1UncyB0ZXh0IGJyZWFraXRlcmF0b3IgYW5kIHN0cmluZyBzZWFyY2ggdXNlIENocm9t
ZSdzIFVJCisgICAgICAgIExvY2FsZS4KKworICAgICAgICBBcyBsb25nIGFzIHRoZSB3ZWJraXQg
bGF5b3V0IHRlc3RzIGFyZSBydW4gaW4gZW4tVVMgbG9jYWxlLCB0aGVyZSdkIGJlCisgICAgICAg
IG5vIHZpc2libGUgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jaHJvbWl1bS9U
ZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y3VycmVudFNlYXJjaExvY2FsZUlEKToKKyAgICAgICAgKFdlYkNvcmU6OmN1cnJlbnRUZXh0
QnJlYWtMb2NhbGVJRCk6CisKIDIwMDktMTEtMTcgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJu
YWxJQ1VDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2No
cm9taXVtL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHAJKHJldmlzaW9u
IDUxMDg3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0ZXJh
dG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDIwICsyMCwy
MyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgor
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiVGV4dEJyZWFrSXRlcmF0b3JJ
bnRlcm5hbElDVS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGNoYXIqIGN1cnJl
bnRTZWFyY2hMb2NhbGVJRCgpCiB7Ci0gICAgLy8gRklYTUU6IFNob3VsZCB1c2Ugc3lzdGVtIGxv
Y2FsZS4KLSAgICByZXR1cm4gIiI7CisgICAgLy8gQ2hyb21lJ3MgVUkgbGFuZ3VhZ2UgY2FuIGJl
IGRpZmZlcmVudCBmcm9tIHRoZSBPUyBVSSBsYW5ndWFnZSBvbiBXaW5kb3dzLgorICAgIC8vIFdl
IHdhbnQgdG8gcmV0dXJuIENocm9tZSdzIFVJIGxhbmd1YWdlIGhlcmUuCisgICAgcmV0dXJuIGRl
ZmF1bHRMYW5ndWFnZSgpLmFzY2lpKCkuZGF0YSgpOwogfQogCiBjb25zdCBjaGFyKiBjdXJyZW50
VGV4dEJyZWFrTG9jYWxlSUQoKQogewotICAgIC8vIEZJWE1FOiBTaG91bGQgdXNlIHN5c3RlbSBs
b2NhbGUuCi0gICAgcmV0dXJuICJlbl91cyI7CisgICAgLy8gU2FtZSBhcyBhYm92ZS4KKyAgICBy
ZXR1cm4gZGVmYXVsdExhbmd1YWdlKCkuYXNjaWkoKS5kYXRhKCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46147</attachid>
            <date>2010-01-08 11:28:56 -0800</date>
            <delta_ts>2010-01-11 15:45:15 -0800</delta_ts>
            <desc>updated patch per darin&apos;s comment</desc>
            <filename>31597.patch.2</filename>
            <type>text/plain</type>
            <size>1897</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Mjk5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMDggIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBJQ1UncyB0ZXh0IGJyZWFraXRlcmF0b3IgYW5kIHN0cmluZyBzZWFyY2ggdXNlIENocm9t
ZSdzIFVJCisgICAgICAgIGxhbmd1YWdlIGluc3RlYWQgb2YgJ2VuLVVTJyBvciB0aGUgT1MgVUkg
bGFuZ3VhZ2UuCisKKyAgICAgICAgQXMgbG9uZyBhcyB0aGUgd2Via2l0IGxheW91dCB0ZXN0cyBh
cmUgcnVuIGluIGVuLVVTIGxvY2FsZSwgdGhlcmUnZCBiZSAKKyAgICAgICAgbm8gdmlzaWJsZSBj
aGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0ZXJh
dG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHA6CisgICAgICAgIChVSUxhbmd1YWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmN1cnJlbnRTZWFyY2hMb2NhbGVJRCk6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50VGV4dEJyZWFrTG9jYWxlSUQpOgorCiAyMDEwLTAxLTA4ICBNYXR0IFBlcnJ5ICA8bXBj
b21wbGV0ZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9jaHJvbWl1bS9UZXh0QnJlYWtJdGVyYXRvcklu
dGVybmFsSUNVQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4
dC9jaHJvbWl1bS9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ2hyb21pdW0uY3BwCShyZXZp
c2lvbiA1Mjg4MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9jaHJvbWl1bS9UZXh0QnJlYWtJ
dGVyYXRvckludGVybmFsSUNVQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwyMCAr
MjAsMjkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1N0cmluZy5o
IgorI2luY2x1ZGUgIkxhbmd1YWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVLmgiCiAKK3N0YXRpYyBjb25zdCBj
aGFyKiBVSUxhbmd1YWdlKCkgeworICAgIC8vIENocm9tZSdzIFVJIGxhbmd1YWdlIGNhbiBiZSBk
aWZmZXJlbnQgZnJvbSB0aGUgT1MgVUkgbGFuZ3VhZ2Ugb24gV2luZG93cy4KKyAgICAvLyBXZSB3
YW50IHRvIHJldHVybiBDaHJvbWUncyBVSSBsYW5ndWFnZSBoZXJlLgorICAgIHN0YXRpYyBXZWJD
b3JlOjpDU3RyaW5nIGxvY2FsZTsKKyAgICBsb2NhbGUgPSBXZWJDb3JlOjpkZWZhdWx0TGFuZ3Vh
Z2UoKS5sYXRpbjEoKTsKKyAgICByZXR1cm4gbG9jYWxlLmRhdGEoKTsKK30KKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjb25zdCBjaGFyKiBjdXJyZW50U2VhcmNoTG9jYWxlSUQoKQogewotICAg
IC8vIEZJWE1FOiBTaG91bGQgdXNlIHN5c3RlbSBsb2NhbGUuCi0gICAgcmV0dXJuICIiOworICAg
IHJldHVybiBVSUxhbmd1YWdlKCk7CiB9CiAKIGNvbnN0IGNoYXIqIGN1cnJlbnRUZXh0QnJlYWtM
b2NhbGVJRCgpCiB7Ci0gICAgLy8gRklYTUU6IFNob3VsZCB1c2Ugc3lzdGVtIGxvY2FsZS4KLSAg
ICByZXR1cm4gImVuX3VzIjsKKyAgICByZXR1cm4gVUlMYW5ndWFnZSgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="28363"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46314</attachid>
            <date>2010-01-11 15:45:15 -0800</date>
            <delta_ts>2010-01-11 17:12:00 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>31597.patch.2a</filename>
            <type>text/plain</type>
            <size>1879</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzEwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMTEgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBJQ1UncyB0ZXh0IGJyZWFraXRlcmF0b3IgYW5kIHN0cmluZyBzZWFyY2ggdXNlIENocm9t
ZSdzIFVJCisgICAgICAgIGxhbmd1YWdlIGluc3RlYWQgb2YgJ2VuLVVTJyBvciB0aGUgT1MgVUkg
bGFuZ3VhZ2UuCisKKyAgICAgICAgQXMgbG9uZyBhcyB0aGUgd2Via2l0IGxheW91dCB0ZXN0cyBh
cmUgcnVuIGluIGVuLVVTIGxvY2FsZSwgdGhlcmUnZCBiZSAKKyAgICAgICAgbm8gdmlzaWJsZSBj
aGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0ZXJh
dG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHA6CisgICAgICAgIChVSUxhbmd1YWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmN1cnJlbnRTZWFyY2hMb2NhbGVJRCk6CisgICAgICAgIChXZWJDb3JlOjpj
dXJyZW50VGV4dEJyZWFrTG9jYWxlSUQpOgorCiAyMDEwLTAxLTExICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0ZXJhdG9ySW50
ZXJuYWxJQ1VDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2Nocm9taXVtL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHAJKHJldmlz
aW9uIDUyODgxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2Nocm9taXVtL1RleHRCcmVha0l0
ZXJhdG9ySW50ZXJuYWxJQ1VDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyLDE4ICsy
MiwyOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlRleHRCcmVha0l0ZXJhdG9y
SW50ZXJuYWxJQ1UuaCIKIAorI2luY2x1ZGUgIkNTdHJpbmcuaCIKKyNpbmNsdWRlICJMYW5ndWFn
ZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyKiBV
SUxhbmd1YWdlKCkKK3sKKyAgICAvLyBDaHJvbWUncyBVSSBsYW5ndWFnZSBjYW4gYmUgZGlmZmVy
ZW50IGZyb20gdGhlIE9TIFVJIGxhbmd1YWdlIG9uIFdpbmRvd3MuCisgICAgLy8gV2Ugd2FudCB0
byByZXR1cm4gQ2hyb21lJ3MgVUkgbGFuZ3VhZ2UgaGVyZS4KKyAgICBzdGF0aWMgV2ViQ29yZTo6
Q1N0cmluZyBsb2NhbGUgPSBXZWJDb3JlOjpkZWZhdWx0TGFuZ3VhZ2UoKS5sYXRpbjEoKTsKKyAg
ICByZXR1cm4gbG9jYWxlLmRhdGEoKTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25z
dCBjaGFyKiBjdXJyZW50U2VhcmNoTG9jYWxlSUQoKQogewotICAgIC8vIEZJWE1FOiBTaG91bGQg
dXNlIHN5c3RlbSBsb2NhbGUuCi0gICAgcmV0dXJuICIiOworICAgIHJldHVybiBVSUxhbmd1YWdl
KCk7CiB9CiAKIGNvbnN0IGNoYXIqIGN1cnJlbnRUZXh0QnJlYWtMb2NhbGVJRCgpCiB7Ci0gICAg
Ly8gRklYTUU6IFNob3VsZCB1c2Ugc3lzdGVtIGxvY2FsZS4KLSAgICByZXR1cm4gImVuX3VzIjsK
KyAgICByZXR1cm4gVUlMYW5ndWFnZSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="review"
          id="28560"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46383</attachid>
            <date>2010-01-12 11:21:39 -0800</date>
            <delta_ts>2010-01-12 13:15:38 -0800</delta_ts>
            <desc>update to use the macro for static local variable</desc>
            <filename>31597.patch.2b</filename>
            <type>text/plain</type>
            <size>1981</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzE0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDEtMTIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIKKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE1OTcKKworICAgICAgICBNYWtl
IElDVSdzIHRleHQgYnJlYWtpdGVyYXRvciBhbmQgc3RyaW5nIHNlYXJjaCB1c2UgQ2hyb21lJ3Mg
VUkKKyAgICAgICAgbGFuZ3VhZ2UgaW5zdGVhZCBvZiAnZW4tVVMnIG9yIHRoZSBPUyBVSSBsYW5n
dWFnZS4KKworICAgICAgICBBcyBsb25nIGFzIHRoZSB3ZWJraXQgbGF5b3V0IHRlc3RzIGFyZSBy
dW4gaW4gZW4tVVMgbG9jYWxlLCB0aGVyZSdkIGJlIAorICAgICAgICBubyB2aXNpYmxlIGNoYW5n
ZS4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvY2hyb21pdW0vVGV4dEJyZWFrSXRlcmF0b3JJ
bnRlcm5hbElDVUNocm9taXVtLmNwcDoKKyAgICAgICAgKFVJTGFuZ3VhZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6Y3VycmVudFNlYXJjaExvY2FsZUlEKToKKyAgICAgICAgKFdlYkNvcmU6OmN1cnJl
bnRUZXh0QnJlYWtMb2NhbGVJRCk6CisKIDIwMTAtMDEtMTIgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIgYW5k
IFNpbW9uIEZyYXNlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9jaHJvbWl1bS9UZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vdGV4dC9jaHJvbWl1bS9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ2hy
b21pdW0uY3BwCShyZXZpc2lvbiA1Mjg4MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9jaHJv
bWl1bS9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMiwxOCArMjIsMjkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJU
ZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVLmgiCiAKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisj
aW5jbHVkZSAiTGFuZ3VhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMg
Y29uc3QgY2hhciogVUlMYW5ndWFnZSgpCit7CisgICAgLy8gQ2hyb21lJ3MgVUkgbGFuZ3VhZ2Ug
Y2FuIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBPUyBVSSBsYW5ndWFnZSBvbiBXaW5kb3dzLgorICAg
IC8vIFdlIHdhbnQgdG8gcmV0dXJuIENocm9tZSdzIFVJIGxhbmd1YWdlIGhlcmUuCisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDU3RyaW5nLCBsb2NhbGUsIChkZWZhdWx0TGFuZ3VhZ2UoKS5sYXRp
bjEoKSkpOworICAgIHJldHVybiBsb2NhbGUuZGF0YSgpOworfQorCiBjb25zdCBjaGFyKiBjdXJy
ZW50U2VhcmNoTG9jYWxlSUQoKQogewotICAgIC8vIEZJWE1FOiBTaG91bGQgdXNlIHN5c3RlbSBs
b2NhbGUuCi0gICAgcmV0dXJuICIiOworICAgIHJldHVybiBVSUxhbmd1YWdlKCk7CiB9CiAKIGNv
bnN0IGNoYXIqIGN1cnJlbnRUZXh0QnJlYWtMb2NhbGVJRCgpCiB7Ci0gICAgLy8gRklYTUU6IFNo
b3VsZCB1c2Ugc3lzdGVtIGxvY2FsZS4KLSAgICByZXR1cm4gImVuX3VzIjsKKyAgICByZXR1cm4g
VUlMYW5ndWFnZSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>