<?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>27424</bug_id>
          
          <creation_ts>2009-07-19 13:07:44 -0700</creation_ts>
          <short_desc>adding ConvertToGCharPrivate.h</short_desc>
          <delta_ts>2009-08-10 08:21:35 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>16401</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Luke Kenneth Casson Leighton">lkcl</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133005</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-19 13:07:44 -0700</bug_when>
    <thetext>the unusual step of adding one header file as part of the gobject bindings is due to the review requests made.  mark, you were right: #include &quot;unicode/ustring.h&quot; wasn&apos;t necessary - well spotted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133006</commentid>
    <comment_count>1</comment_count>
      <attachid>33050</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-19 13:13:07 -0700</bug_when>
    <thetext>Created attachment 33050
adds GStringConvert.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133007</commentid>
    <comment_count>2</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-19 13:15:49 -0700</bug_when>
    <thetext>important to note: this file is being added as part of a series to break
#16401 down into manageable sections, as per agreement, under an initiative
recommended by david.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133073</commentid>
    <comment_count>3</comment_count>
      <attachid>33050</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-07-19 22:55:25 -0700</bug_when>
    <thetext>Comment on attachment 33050
adds GStringConvert.h

This is using WebCore types, so the above header file is internal, this means you should follow the WebCore coding style guidelines, which you don&apos;t. The first issue i notice is the placement of the &apos;*&apos;.

On the question of content, I wonder if the gdom/ directory is supposed to hold public API as well? if that is the case you should put the GStringConvert somewhere else, and calling it GStringConvert is a bit misleading as GString != gchar.

please revise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133149</commentid>
    <comment_count>4</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-20 09:22:57 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 33050 [details])
&gt; This is using WebCore types, so the above header file is internal, this means
&gt; you should follow the WebCore coding style guidelines, which you don&apos;t. The
&gt; first issue i notice is the placement of the &apos;*&apos;.

 ack, got it.  also restyled the functions - hope that&apos;s what you meant.
 
&gt; On the question of content, I wonder if the gdom/ directory is supposed to hold
&gt; public API as well? 

 the files that are to be public api are copied out of there, to a location
 under INCLUDEDIR/gdom so that the #includes can have &quot;gdom/&quot; in them on
 public builds as well as internal ones.

 so, gdom.h is kept there, as are GdomDOMObject.h - all the rest are private
 and/or internal.

 it&apos;s a bit of a grey area to me to be honest and i&apos;m surprised i managed
 to come up with something that doesn&apos;t make everything fall over [by
 accidentally referencing out-of-date headers]

 so it&apos;s all an area where i welcome input but equally i would be very
 relieved by a decision which recognised that this is all a bit iffy
 and that resolving it requires significant additional thought and
 probably extra code, and said &quot;we&apos;ll leave this one for now, flag it
 as an issue under a separate bugreport / TODO&quot;.
 
&gt; if that is the case you should put the GStringConvert
&gt; somewhere else, and calling it GStringConvert is a bit misleading as GString !=
&gt; gchar.

 ok renamed to gdom/ConvertToGCharPrivate.h to indicate that it&apos;s internal.


&gt; please revise.

 done - what do you think?

 l.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133150</commentid>
    <comment_count>5</comment_count>
      <attachid>33088</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-20 09:29:14 -0700</bug_when>
    <thetext>Created attachment 33088
rename to ConvertToCGharPrivate.h and fix up coding standards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134049</commentid>
    <comment_count>6</comment_count>
      <attachid>33088</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-07-23 00:19:24 -0700</bug_when>
    <thetext>Comment on attachment 33088
rename to ConvertToCGharPrivate.h and fix up coding standards

&gt; Index: WebKit/gtk/gdom/ConvertToGCharPrivate.h

Based on your previous comments and the fact that this deals with WebCore types, this sounds like a file that&apos;s not intended to be used outside of building WebKit.  Is there a reason that it needs the &quot;Private&quot; suffix?

&gt; +/*
&gt; + * added under bug #27424 - 19jul2009
&gt; + */
&gt; +
&gt; +/* convenience c++ functions for converting various different webkit
&gt; + * string types into a utf8 glib string.
&gt; + */

These comments don&apos;t add anything.

ConvertToGchar doesn&apos;t fit our naming conventions, which states that functions should not start with an initial capital letter.  The &quot;Gchar&quot; strikes me as a little odd too, but I guess that&apos;s what falls out of the lowercase &quot;gchar&quot; being camel-cased.  Returning a raw pointer that expect the caller to free seems to be asking for memory leaks.  Is there some way we can make this interface safer?

&gt; +inline gchar* ConvertToGchar(WebCore::String const&amp; s)
&gt; +{
&gt; +    return g_strdup(s.utf8().data());
&gt; +}

There should be a blank line between each function.

&gt; +inline gchar* ConvertToGchar(WebCore::KURL const&amp; s)
&gt; +{
&gt; +    return g_strdup(s.string().utf8().data());
&gt; +}

This could be expressed more concisely as: return ConvertToGchar(s.string());

&gt; +inline gchar* ConvertToGchar(const JSC::UString&amp; s)
&gt; +{
&gt; +    return g_strdup(s.UTF8String().c_str());
&gt; +}

&gt; +inline gchar* ConvertToGchar(WebCore::AtomicString const&amp;s)
&gt; +{
&gt; +    return g_strdup(s.string().utf8().data());
&gt; +}

Missing a space after the &amp;.  This could be expressed more concisely as: return ConvertToGchar(s.string());

&gt; +2008-11-30  lkcl  &lt;lkcl@lkcl.net&gt;

Please update this with the current date and your name.

&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        WARNING: NO TEST CASES ADDED OR CHANGED

This line is an intended only as an informative note for the patch author.

&gt; +        (GStringConvert): bug #27424 - added ConvertToGCharPrivate.h to help GObject bindings convert various types to gobject gchar* 

Please take a look at the format of our other ChangeLog entries for how your entry should be structured.  The prepare-ChangeLog script can be used to assist in the creation of a ChangeLog entry for your change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134293</commentid>
    <comment_count>7</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-23 15:47:30 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 33088 [details])
&gt; &gt; Index: WebKit/gtk/gdom/ConvertToGCharPrivate.h
&gt; 
&gt; Based on your previous comments and the fact that this deals with WebCore
&gt; types, this sounds like a file that&apos;s not intended to be used outside of
&gt; building WebKit.

 correct.  specifically the gobject bindings.  absolutely nobody else
 should be using it.

 i&apos;d appreciate your advice on where it should go.

&gt;  Is there a reason that it needs the &quot;Private&quot; suffix?

 i added it because i thought it was needed - i don&apos;t know all
 of the webkit conventions, so i can&apos;t answer.

 if you think it doesn&apos;t fit / isn&apos;t a good idea, i&apos;ll happily
 remove it.

 
&gt; &gt; +/*
&gt; &gt; + * added under bug #27424 - 19jul2009
&gt; &gt; + */
&gt; &gt; +
&gt; &gt; +/* convenience c++ functions for converting various different webkit
&gt; &gt; + * string types into a utf8 glib string.
&gt; &gt; + */
&gt; 
&gt; These comments don&apos;t add anything.
 
 oh, ok.  gone.

&gt; ConvertToGchar doesn&apos;t fit our naming conventions, which states that functions
&gt; should not start with an initial capital letter.  

 ack, sorry.

&gt; The &quot;Gchar&quot; strikes me as a
&gt; little odd too, but I guess that&apos;s what falls out of the lowercase &quot;gchar&quot;
&gt; being camel-cased.

 yehhh, i don&apos;t like it, either, but ... *shrug*.


&gt;  Returning a raw pointer that expect the caller to free
&gt; seems to be asking for memory leaks.  Is there some way we can make this
&gt; interface safer?

 ah.  no.  you can&apos;t.  that&apos;s c for you.

 you have to obey the conventions of the framework that you&apos;re working with,
 and in this case, that&apos;s glib / gobject.

 the conventions are, for glib / gobject, that &quot;caller frees&quot;, unless
 otherwise stated.

 i know - it made me nervous, too, but fortunately, the python gobject
 bindings auto-generator perfectly understands these conventions (and
 even supports the &quot;unless otherwise stated&quot; concept) so it auto-generates
 code which takes a copy of the string into a python &quot;str&quot; object and
 then calls g_free()

 g_object-based code is _riddled_ with g_free and g_object_unref() etc.
 calls.
 
&gt; &gt; +inline gchar* ConvertToGchar(WebCore::String const&amp; s)
&gt; &gt; +{
&gt; &gt; +    return g_strdup(s.utf8().data());
&gt; &gt; +}
&gt; 
&gt; There should be a blank line between each function.
 
 ack.

&gt; &gt; +inline gchar* ConvertToGchar(WebCore::KURL const&amp; s)
&gt; &gt; +{
&gt; &gt; +    return g_strdup(s.string().utf8().data());
&gt; &gt; +}
&gt; 
&gt; This could be expressed more concisely as: return ConvertToGchar(s.string());

 oo yeah, good point.

&gt; &gt; +inline gchar* ConvertToGchar(const JSC::UString&amp; s)
&gt; &gt; +{
&gt; &gt; +    return g_strdup(s.UTF8String().c_str());
&gt; &gt; +}
&gt; 
&gt; &gt; +inline gchar* ConvertToGchar(WebCore::AtomicString const&amp;s)
&gt; &gt; +{
&gt; &gt; +    return g_strdup(s.string().utf8().data());
&gt; &gt; +}
&gt; 
&gt; Missing a space after the &amp;.  This could be expressed more concisely as: return
&gt; ConvertToGchar(s.string());

 well spotted.

&gt; &gt; +2008-11-30  lkcl  &lt;lkcl@lkcl.net&gt;
&gt; 
&gt; Please update this with the current date and your name.

 done.
 
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        WARNING: NO TEST CASES ADDED OR CHANGED
&gt; 
&gt; This line is an intended only as an informative note for the patch author.

 oh, right - i wondered why it was there.  ok - gone.  cut-and-paste-itis has a few others still there (amongst the 15 patches) so please bear with me whilst i update the patches to remove that (and the tabs as well).
 
&gt; &gt; +        (GStringConvert): bug #27424 - added ConvertToGCharPrivate.h to help GObject bindings convert various types to gobject gchar* 
&gt; 
&gt; Please take a look at the format of our other ChangeLog entries for how your
&gt; entry should be structured.  The prepare-ChangeLog script can be used to assist
&gt; in the creation of a ChangeLog entry for your change.

 yehh, i ran that, originally, back in august / september 2008 - i&apos;m now maintaining 15 separate patches, with their entries all in the same ChangeLog file(s), so it&apos;s a little challenging to use that automated tool, now, to say the least.

 your patience really appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134299</commentid>
    <comment_count>8</comment_count>
      <attachid>33388</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-23 15:55:45 -0700</bug_when>
    <thetext>Created attachment 33388
addressing review comments, decision on &quot;Private&quot; in name still outstanding decision?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136356</commentid>
    <comment_count>9</comment_count>
      <attachid>33388</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-31 20:01:18 -0700</bug_when>
    <thetext>Comment on attachment 33388
addressing review comments, decision on &quot;Private&quot; in name still outstanding decision?

Most of the rest of WebCore follows the &quot;copy rule&quot;, which would name these with &quot;copy&quot; in their name since you&apos;re copying the data, or create.

copyAsGchar()
or
createGcharFromString()

I&apos;ve never seen this:
23 /*
 24  * added under bug #27424 - 19jul2009
 25  */

Seems superfluous, given that we have a version control system.

I&apos;m also not sure what Private_h is for, but that was discussed in the long comments above (which I admit to not reading, given their length).

So overall these look fine.  I&apos;m not a huge fan of the convert name, but it&apos;s also not a dealbreaker.

Since you&apos;re not a committer yet, r- for the unneeded comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136638</commentid>
    <comment_count>10</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-03 08:35:36 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 33388 [details])
&gt; Most of the rest of WebCore follows the &quot;copy rule&quot;, which would name these
&gt; with &quot;copy&quot; in their name since you&apos;re copying the data, or create.
&gt; 
&gt; copyAsGchar()
&gt; or
&gt; createGcharFromString()
&gt; 
&gt; I&apos;ve never seen this:
&gt; 23 /*
&gt;  24  * added under bug #27424 - 19jul2009
&gt;  25  */
&gt; 
&gt; Seems superfluous, given that we have a version control system.

 gone.  i&apos;m pseudo-maintaining external revision control, and worked out a better manual system [copy what people do with the ChangeLog entries.  duh].
 
&gt; So overall these look fine.  I&apos;m not a huge fan of the convert name, but it&apos;s
&gt; also not a dealbreaker.

 renamed to copyAsGchar to fit into WebCore rules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136639</commentid>
    <comment_count>11</comment_count>
      <attachid>33979</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-03 08:37:28 -0700</bug_when>
    <thetext>Created attachment 33979
addressing review comments, rename function to copyAsGchar to conform to WebCore rules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137731</commentid>
    <comment_count>12</comment_count>
      <attachid>33979</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-06 18:55:14 -0700</bug_when>
    <thetext>Comment on attachment 33979
addressing review comments, rename function to copyAsGchar to conform to WebCore rules

LGTM.  I still don&apos;t understand why these are named &quot;Private.h&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137750</commentid>
    <comment_count>13</comment_count>
      <attachid>33979</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-06 19:44:18 -0700</bug_when>
    <thetext>Comment on attachment 33979
addressing review comments, rename function to copyAsGchar to conform to WebCore rules

This file does not have the usual license block.  Is that ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137939</commentid>
    <comment_count>14</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-07 10:01:14 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 33979 [details])
&gt; LGTM.  I still don&apos;t understand why these are named &quot;Private.h&quot;

 the principle was that so they don&apos;t get used by anything other than gobject code.  seemed like a good idea - nobody&apos;s objected, so... *shrug*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137942</commentid>
    <comment_count>15</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-07 10:06:00 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 33979 [details])
&gt; This file does not have the usual license block.  Is that ok?

 it&apos;s been created from scratch, with no input [other than review comments] from any other editors.  therefore, the only copyright holder is: me.

 if by &quot;usual license block&quot; you mean &quot;it doesn&apos;t have apple&apos;s copyright notice in it&quot; then the reason is simple - nobody from apple has typed any lines of code that contribute to this file, so they don&apos;t own any copyright on it.

 it&apos;s still an LGPL&apos;d file, and.... ah, it says 2008, not 2008+2009, and i edited it recently.

 will update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137944</commentid>
    <comment_count>16</comment_count>
      <attachid>34287</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-07 10:07:58 -0700</bug_when>
    <thetext>Created attachment 34287
updated to include 2009 copyright</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137949</commentid>
    <comment_count>17</comment_count>
      <attachid>34287</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 10:20:04 -0700</bug_when>
    <thetext>Comment on attachment 34287
updated to include 2009 copyright

License looks fine.  LGPL 2 is an accepted license for WebKit.  We prefer BSD for new code, but LGPL is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138020</commentid>
    <comment_count>18</comment_count>
      <attachid>34287</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-07 11:51:33 -0700</bug_when>
    <thetext>Comment on attachment 34287
updated to include 2009 copyright

Clearing review flag on attachment: 34287

Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	A	WebKit/gtk/gdom/ConvertToGCharPrivate.h
Committed r46903
	A	WebKit/gtk/gdom/ConvertToGCharPrivate.h
	M	WebCore/ChangeLog
r46903 = 77f98f171fdb8c7dc1479d33b6e55aeffa9a237e (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/46903</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138021</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-08-07 11:51:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138674</commentid>
    <comment_count>20</comment_count>
      <attachid>34470</attachid>
    <who name="Gour">gour</who>
    <bug_when>2009-08-10 08:21:35 -0700</bug_when>
    <thetext>Created attachment 34470
uploaded</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33050</attachid>
            <date>2009-07-19 13:13:07 -0700</date>
            <delta_ts>2009-07-20 09:29:14 -0700</delta_ts>
            <desc>adds GStringConvert.h</desc>
            <filename>gcscv.patch</filename>
            <type>text/plain</type>
            <size>2536</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvZ2RvbS9HU3RyaW5nQ29udmVydC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC9ndGsvZ2RvbS9HU3RyaW5nQ29udmVydC5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2d0
ay9nZG9tL0dTdHJpbmdDb252ZXJ0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiA8bGtj
bEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworI2lmbmRlZiBHU3RyaW5nQ29udmVydF9oCisjZGVmaW5lIEdTdHJpbmdDb252
ZXJ0X2gKKworLyoKKyAqIGFkZGVkIHVuZGVyIGJ1ZyAjMjc0MjQgLSAxOWp1bDIwMDkKKyAqLwor
CisvKiBjb252ZW5pZW5jZSBjKysgZnVuY3Rpb25zIGZvciBjb252ZXJ0aW5nIHZhcmlvdXMgZGlm
ZmVyZW50IHdlYmtpdAorICogc3RyaW5nIHR5cGVzIGludG8gYSB1dGY4IGdsaWIgc3RyaW5nLgor
ICovCisKKyNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisj
aW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK2lubGluZSBn
Y2hhciAqIEdTdHJpbmdDb252ZXJ0KFdlYkNvcmU6OlN0cmluZyBjb25zdCYgcykgeyByZXR1cm4g
Z19zdHJkdXAocy51dGY4KCkuZGF0YSgpKTsgfQoraW5saW5lIGdjaGFyICogR1N0cmluZ0NvbnZl
cnQoV2ViQ29yZTo6S1VSTCBjb25zdCYgcykgeyByZXR1cm4gZ19zdHJkdXAocy5zdHJpbmcoKS51
dGY4KCkuZGF0YSgpKTsgfQoraW5saW5lIGdjaGFyICogR1N0cmluZ0NvbnZlcnQoY29uc3QgSlND
OjpVU3RyaW5nJiBzKSB7IHJldHVybiBnX3N0cmR1cChzLlVURjhTdHJpbmcoKS5jX3N0cigpKTsg
fQoraW5saW5lIGdjaGFyICogR1N0cmluZ0NvbnZlcnQoV2ViQ29yZTo6QXRvbWljU3RyaW5nIGNv
bnN0JnMpIHsgcmV0dXJuIGdfc3RyZHVwKHMuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7IH0KKwor
I2VuZGlmIC8qIEdTdHJpbmdDb252ZXJ0X2gqLwpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ0NDczKQorKysgV2ViQ29y
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTYyNTkzLDYgKzYyNjAxLDE0IEBACiAgICAg
ICAgIChXZWJDb3JlOjpDb21wb3NpdGVBbmltYXRpb25Qcml2YXRlOjpwYXVzZUFuaW1hdGlvbkF0
VGltZSk6CiAgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVBbmltYXRpb25Qcml2YXRlOjpwYXVz
ZVRyYW5zaXRpb25BdFRpbWUpOgogCisyMDA4LTExLTMwICBsa2NsICA8bGtjbEBsa2NsLm5ldD4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXQVJOSU5H
OiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICAoR1N0cmluZ0NvbnZl
cnQpOiBidWcgIzI3NDI0IC0gYWRkZWQgR1N0cmluZ0NvbnZlcnQuaCB0byBoZWxwIEdPYmplY3Qg
YmluZGluZ3MgY29udmVydCB2YXJpb3VzIHR5cGVzIHRvIGdvYmplY3QgZ2NoYXIqIAorCiAyMDA4
LTEyLTA0ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCg==
</data>
<flag name="review"
          id="17386"
          type_id="1"
          status="-"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33088</attachid>
            <date>2009-07-20 09:29:14 -0700</date>
            <delta_ts>2009-07-23 15:55:45 -0700</delta_ts>
            <desc>rename to ConvertToCGharPrivate.h and fix up coding standards</desc>
            <filename>gcscv.patch</filename>
            <type>text/plain</type>
            <size>2609</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvZ2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVrZSBLZW5uZXRo
IENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDb252ZXJ0VG9HQ2hhclBy
aXZhdGVfaAorI2RlZmluZSBDb252ZXJ0VG9HQ2hhclByaXZhdGVfaAorCisvKgorICogYWRkZWQg
dW5kZXIgYnVnICMyNzQyNCAtIDE5anVsMjAwOQorICovCisKKy8qIGNvbnZlbmllbmNlIGMrKyBm
dW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgdmFyaW91cyBkaWZmZXJlbnQgd2Via2l0CisgKiBzdHJp
bmcgdHlwZXMgaW50byBhIHV0ZjggZ2xpYiBzdHJpbmcuCisgKi8KKworI2luY2x1ZGUgIkF0b21p
Y1N0cmluZy5oIgorI2luY2x1ZGUgIkNTdHJpbmcuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKworaW5saW5lIGdjaGFyKiBDb252ZXJ0VG9HY2hhcihX
ZWJDb3JlOjpTdHJpbmcgY29uc3QmIHMpCit7CisgICAgcmV0dXJuIGdfc3RyZHVwKHMudXRmOCgp
LmRhdGEoKSk7Cit9CitpbmxpbmUgZ2NoYXIqIENvbnZlcnRUb0djaGFyKFdlYkNvcmU6OktVUkwg
Y29uc3QmIHMpCit7CisgICAgcmV0dXJuIGdfc3RyZHVwKHMuc3RyaW5nKCkudXRmOCgpLmRhdGEo
KSk7Cit9CitpbmxpbmUgZ2NoYXIqIENvbnZlcnRUb0djaGFyKGNvbnN0IEpTQzo6VVN0cmluZyYg
cykKK3sKKyAgICByZXR1cm4gZ19zdHJkdXAocy5VVEY4U3RyaW5nKCkuY19zdHIoKSk7Cit9Citp
bmxpbmUgZ2NoYXIqIENvbnZlcnRUb0djaGFyKFdlYkNvcmU6OkF0b21pY1N0cmluZyBjb25zdCZz
KQoreworICAgIHJldHVybiBnX3N0cmR1cChzLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworfQor
CisjZW5kaWYgLyogQ29udmVydFRvR0NoYXJQcml2YXRlX2gqLwpJbmRleDogV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ0NDczKQor
KysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTYyNTkzLDYgKzYyNjk4LDE0
IEBACiAgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVBbmltYXRpb25Qcml2YXRlOjpwYXVzZUFu
aW1hdGlvbkF0VGltZSk6CiAgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVBbmltYXRpb25Qcml2
YXRlOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUpOgogCisyMDA4LTExLTMwICBsa2NsICA8bGtjbEBs
a2NsLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQKKworICAgICAgICAoR1N0
cmluZ0NvbnZlcnQpOiBidWcgIzI3NDI0IC0gYWRkZWQgQ29udmVydFRvR0NoYXJQcml2YXRlLmgg
dG8gaGVscCBHT2JqZWN0IGJpbmRpbmdzIGNvbnZlcnQgdmFyaW91cyB0eXBlcyB0byBnb2JqZWN0
IGdjaGFyKiAKKwogMjAwOC0xMi0wNCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgo=
</data>
<flag name="review"
          id="17416"
          type_id="1"
          status="-"
          setter="mrowe"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33388</attachid>
            <date>2009-07-23 15:55:45 -0700</date>
            <delta_ts>2009-08-03 08:37:28 -0700</delta_ts>
            <desc>addressing review comments, decision on &quot;Private&quot; in name still outstanding decision?</desc>
            <filename>gcscv.patch</filename>
            <type>text/plain</type>
            <size>2463</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvZ2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVrZSBLZW5uZXRo
IENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDb252ZXJ0VG9HQ2hhclBy
aXZhdGVfaAorI2RlZmluZSBDb252ZXJ0VG9HQ2hhclByaXZhdGVfaAorCisvKgorICogYWRkZWQg
dW5kZXIgYnVnICMyNzQyNCAtIDE5anVsMjAwOQorICovCisKKyNpbmNsdWRlICJBdG9taWNTdHJp
bmcuaCIKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCisKK2lubGluZSBnY2hhciogY29udmVydFRvR2NoYXIoV2ViQ29y
ZTo6U3RyaW5nIGNvbnN0JiBzKQoreworICAgIHJldHVybiBnX3N0cmR1cChzLnV0ZjgoKS5kYXRh
KCkpOworfQorCitpbmxpbmUgZ2NoYXIqIGNvbnZlcnRUb0djaGFyKFdlYkNvcmU6OktVUkwgY29u
c3QmIHMpCit7CisgICAgcmV0dXJuIGNvbnZlcnRUb0djaGFyKHMuc3RyaW5nKCkpOworfQorCitp
bmxpbmUgZ2NoYXIqIGNvbnZlcnRUb0djaGFyKGNvbnN0IEpTQzo6VVN0cmluZyYgcykKK3sKKyAg
ICByZXR1cm4gZ19zdHJkdXAocy5VVEY4U3RyaW5nKCkuY19zdHIoKSk7Cit9CisKK2lubGluZSBn
Y2hhciogY29udmVydFRvR2NoYXIoV2ViQ29yZTo6QXRvbWljU3RyaW5nIGNvbnN0JiBzKQorewor
ICAgIHJldHVybiBnX3N0cmR1cChzLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworfQorCisjZW5k
aWYgLyogQ29udmVydFRvR0NoYXJQcml2YXRlX2gqLwoKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NDQ3MykKKysrIFdl
YkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC02MjU5Myw2ICs2MjgzNiwxMiBAQAog
ICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9uUHJpdmF0ZTo6cGF1c2VBbmltYXRp
b25BdFRpbWUpOgogICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9uUHJpdmF0ZTo6
cGF1c2VUcmFuc2l0aW9uQXRUaW1lKToKIAorMjAwOS0wNy0yMyAgTHVrZSBLZW5uZXRoIENhc3Nv
biBMZWlnaHRvbiAgPGxrY2xAbGtjbC5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKGNvbnZlcnRUb0djaGFyKTogYnVnICMyNzQyNCAtIGFkZGVk
IENvbnZlcnRUb0dDaGFyUHJpdmF0ZS5oIHRvIGhlbHAgR09iamVjdCBiaW5kaW5ncyBjb252ZXJ0
IHZhcmlvdXMgdHlwZXMgdG8gZ29iamVjdCBnY2hhciogCisKIDIwMDgtMTItMDQgIERpbWl0cmkg
R2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4K
</data>
<flag name="review"
          id="17682"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33979</attachid>
            <date>2009-08-03 08:37:28 -0700</date>
            <delta_ts>2009-08-07 10:07:58 -0700</delta_ts>
            <desc>addressing review comments, rename function to copyAsGchar to conform to WebCore rules</desc>
            <filename>gcscv.patch</filename>
            <type>text/plain</type>
            <size>2584</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvZ2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVrZSBLZW5uZXRo
IENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDb252ZXJ0VG9HQ2hhclBy
aXZhdGVfaAorI2RlZmluZSBDb252ZXJ0VG9HQ2hhclByaXZhdGVfaAorCisjaW5jbHVkZSAiQXRv
bWljU3RyaW5nLmgiCisjaW5jbHVkZSAiQ1N0cmluZy5oIgorI2luY2x1ZGUgIktVUkwuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCitpbmxpbmUgZ2NoYXIqIGNvcHlBc0djaGFyKFdl
YkNvcmU6OlN0cmluZyBjb25zdCYgcykKK3sKKyAgICByZXR1cm4gZ19zdHJkdXAocy51dGY4KCku
ZGF0YSgpKTsKK30KKworaW5saW5lIGdjaGFyKiBjb3B5QXNHY2hhcihXZWJDb3JlOjpLVVJMIGNv
bnN0JiBzKQoreworICAgIHJldHVybiBjb3B5QXNHY2hhcihzLnN0cmluZygpKTsKK30KKworaW5s
aW5lIGdjaGFyKiBjb3B5QXNHY2hhcihjb25zdCBKU0M6OlVTdHJpbmcmIHMpCit7CisgICAgcmV0
dXJuIGdfc3RyZHVwKHMuVVRGOFN0cmluZygpLmNfc3RyKCkpOworfQorCitpbmxpbmUgZ2NoYXIq
IGNvcHlBc0djaGFyKFdlYkNvcmU6OkF0b21pY1N0cmluZyBjb25zdCYgcykKK3sKKyAgICByZXR1
cm4gZ19zdHJkdXAocy5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKK30KKworI2VuZGlmIC8qIENv
bnZlcnRUb0dDaGFyUHJpdmF0ZV9oKi8KClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktpdC9ndGsv
Z2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWVyZ2Vp
bmZvCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDQ2MzkzKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTE3NTUwLDYgKzE3Njg0LDE1IEBACiAgICAgICAgICogYWNjZXNzaWJpbGl0eS9ndGsv
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgogICAgICAgICAod2Via2l0X2FjY2Vz
c2libGVfY2xhc3NfaW5pdCk6CiAKKzIwMDktMDctMjMgIEx1a2UgS2VubmV0aCBDYXNzb24gTGVp
Z2h0b24gIDxsa2NsQGxrY2wubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NzQyNAorCisgICAgICAgICogV2ViS2l0L2d0ay9nZG9tL0NvbnZlcnRUb0dDaGFyUHJpdmF0ZS5o
OiBBZGRlZC4KKyAgICAgICAgKGNvcHlBc0dDaGFyKTogYWRkZWQgdG8gaGVscCBHT2JqZWN0IGJp
bmRpbmdzIGNvbnZlcnQgdmFyaW91cyB0eXBlcyB0byBnbGliJ3MgZ2NoYXIqIAorCiAyMDA5LTA2
LTE2ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBHdXN0YXZvIE5vcm9uaGEuCg==
</data>
<flag name="review"
          id="18150"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="18405"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34287</attachid>
            <date>2009-08-07 10:07:58 -0700</date>
            <delta_ts>2009-08-07 11:51:32 -0700</delta_ts>
            <desc>updated to include 2009 copyright</desc>
            <filename>gcscv.patch</filename>
            <type>text/plain</type>
            <size>2590</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvZ2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQvZ3RrL2dkb20vQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgTHVrZSBL
ZW5uZXRoIENhc3NvbiBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDb252ZXJ0VG9H
Q2hhclByaXZhdGVfaAorI2RlZmluZSBDb252ZXJ0VG9HQ2hhclByaXZhdGVfaAorCisjaW5jbHVk
ZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiQ1N0cmluZy5oIgorI2luY2x1ZGUgIktVUkwu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCitpbmxpbmUgZ2NoYXIqIGNvcHlBc0dj
aGFyKFdlYkNvcmU6OlN0cmluZyBjb25zdCYgcykKK3sKKyAgICByZXR1cm4gZ19zdHJkdXAocy51
dGY4KCkuZGF0YSgpKTsKK30KKworaW5saW5lIGdjaGFyKiBjb3B5QXNHY2hhcihXZWJDb3JlOjpL
VVJMIGNvbnN0JiBzKQoreworICAgIHJldHVybiBjb3B5QXNHY2hhcihzLnN0cmluZygpKTsKK30K
KworaW5saW5lIGdjaGFyKiBjb3B5QXNHY2hhcihjb25zdCBKU0M6OlVTdHJpbmcmIHMpCit7Cisg
ICAgcmV0dXJuIGdfc3RyZHVwKHMuVVRGOFN0cmluZygpLmNfc3RyKCkpOworfQorCitpbmxpbmUg
Z2NoYXIqIGNvcHlBc0djaGFyKFdlYkNvcmU6OkF0b21pY1N0cmluZyBjb25zdCYgcykKK3sKKyAg
ICByZXR1cm4gZ19zdHJkdXAocy5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKK30KKworI2VuZGlm
IC8qIENvbnZlcnRUb0dDaGFyUHJpdmF0ZV9oKi8KClByb3BlcnR5IGNoYW5nZXMgb246IFdlYktp
dC9ndGsvZ2RvbS9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWVyZ2VpbmZvCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2MzkzKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTE3NTUwLDYgKzE3Njg0LDE1IEBACiAgICAgICAgICogYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwOgogICAgICAgICAod2Via2l0
X2FjY2Vzc2libGVfY2xhc3NfaW5pdCk6CiAKKzIwMDktMDctMjMgIEx1a2UgS2VubmV0aCBDYXNz
b24gTGVpZ2h0b24gIDxsa2NsQGxrY2wubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNzQyNAorCisgICAgICAgICogV2ViS2l0L2d0ay9nZG9tL0NvbnZlcnRUb0dDaGFyUHJp
dmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKGNvcHlBc0dDaGFyKTogYWRkZWQgdG8gaGVscCBHT2Jq
ZWN0IGJpbmRpbmdzIGNvbnZlcnQgdmFyaW91cyB0eXBlcyB0byBnbGliJ3MgZ2NoYXIqIAorCiAy
MDA5LTA2LTE2ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCg==
</data>
<flag name="commit-queue"
          id="18455"
          type_id="3"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34470</attachid>
            <date>2009-08-10 08:21:35 -0700</date>
            <delta_ts>2009-08-10 08:21:35 -0700</delta_ts>
            <desc>uploaded</desc>
            <filename>patch.27424.txt</filename>
            <type>text/plain</type>
            <size>2246</size>
            <attacher name="Gour">gour</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hh
bmdlTG9nCShyZXZpc2lvbiA0Njg5MCkKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDAgKzEsMTAgQEAKKzIwMDktMDgtMTAgIEx1a2UgS2VubmV0aCBDYXNzb24g
TGVpZ2h0b24gIDxsa2NsQGxrY2wubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yNzQyNAorCisgICAgICAgICogd2Via2l0L0NvbnZlcnRUb0dDaGFyUHJpdmF0ZS5oOiBBZGRl
ZC4KKyAgICAgICAgKGNvcHlBc0dDaGFyKTogYWRkZWQgdG8gaGVscCBHT2JqZWN0IGJpbmRpbmdz
IGNvbnZlcnQgdmFyaW91cyB0eXBlcyB0byBnbGliJ3MgZ2NoYXIqCisKKwpJbmRleDogV2ViS2l0
L2d0ay93ZWJraXQvQ29udmVydFRvR0NoYXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L2d0ay93ZWJraXQvQ29udmVydFRvR0NoYXJQcml2YXRlLmgJKHJldmlzaW9uIDApCisrKyBXZWJL
aXQvZ3RrL3dlYmtpdC9Db252ZXJ0VG9HQ2hhclByaXZhdGUuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBMdWtlIEtlbm5ldGgg
Q2Fzc29uIExlaWdodG9uIDxsa2NsQGxrY2wubmV0PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIENvbnZlcnRUb0dDaGFyUHJp
dmF0ZV9oCisjZGVmaW5lIENvbnZlcnRUb0dDaGFyUHJpdmF0ZV9oCisKKyNpbmNsdWRlICJBdG9t
aWNTdHJpbmcuaCIKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAiS1VSTC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK2lubGluZSBnY2hhciogY29weUFzR2NoYXIoV2Vi
Q29yZTo6U3RyaW5nIGNvbnN0JiBzKQoreworICAgIHJldHVybiBnX3N0cmR1cChzLnV0ZjgoKS5k
YXRhKCkpOworfQorCitpbmxpbmUgZ2NoYXIqIGNvcHlBc0djaGFyKFdlYkNvcmU6OktVUkwgY29u
c3QmIHMpCit7CisgICAgcmV0dXJuIGNvcHlBc0djaGFyKHMuc3RyaW5nKCkpOworfQorCitpbmxp
bmUgZ2NoYXIqIGNvcHlBc0djaGFyKGNvbnN0IEpTQzo6VVN0cmluZyYgcykKK3sKKyAgICByZXR1
cm4gZ19zdHJkdXAocy5VVEY4U3RyaW5nKCkuY19zdHIoKSk7Cit9CisKK2lubGluZSBnY2hhciog
Y29weUFzR2NoYXIoV2ViQ29yZTo6QXRvbWljU3RyaW5nIGNvbnN0JiBzKQoreworICAgIHJldHVy
biBnX3N0cmR1cChzLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworfQorCisjZW5kaWYgLyogQ29u
dmVydFRvR0NoYXJQcml2YXRlX2gqLwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>