<?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>28964</bug_id>
          
          <creation_ts>2009-09-03 23:23:56 -0700</creation_ts>
          <short_desc>[Chromium] ChromiumDataObject should have getter/setter interface</short_desc>
          <delta_ts>2009-10-15 21:10:17 -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>Platform</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>EasyFix, GoogleBug</keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roland Steiner">rolandsteiner</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144696</commentid>
    <comment_count>0</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-03 23:23:56 -0700</bug_when>
    <thetext>The class ChromiumDataObject currently exposes its members directly. As this class is accessed by Chromium glue code, this is inconvenient if one wants to modify its members. Therefore it should only expose suitable accessor methods rather than the raw data members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144769</commentid>
    <comment_count>1</comment_count>
      <attachid>39047</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-04 02:46:27 -0700</bug_when>
    <thetext>Created attachment 39047
patch: add getter/setter accessor methods


Added mostly trivial getter &amp; setter accessor methods for the existing data members.

Once the Chromium code is changed to use these instead of directly accessing the member variables, they should be made private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144880</commentid>
    <comment_count>2</comment_count>
      <attachid>39047</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-09-04 11:52:43 -0700</bug_when>
    <thetext>Comment on attachment 39047
patch: add getter/setter accessor methods

r- for the PassRefPtr return value


&gt; Index: WebCore/ChangeLog
&gt; ===================================================================

&gt; + Added interface methods.

Really you are adding methods to a class not to an interface. (You have implementations here.)

&gt; +
&gt; +        No new tests.

Usually you would explain why there are no new tests.  For example,

  &quot;No functional behavior change so no new tests.&quot;


&gt; Index: WebCore/platform/chromium/ChromiumDataObject.h
&gt; +        inline PassRefPtr&lt;SharedBuffer&gt; content() const { return fileContent; }

&quot;If a function’s result is an object, but ownership is not being transferred, the result should be a raw pointer. This includes most getter functions.&quot; -- http://webkit.org/coding/RefPtr.html

&gt;          KURL url;
&gt;          String urlTitle;

Later: Please consider renaming the variables to m_ when you make them private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145117</commentid>
    <comment_count>3</comment_count>
      <attachid>39135</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-07 01:26:00 -0700</bug_when>
    <thetext>Created attachment 39135
patch: add getter/setter accessor methods

Made the requested changes:

- content() method returns SharedBuffer*
- added new method PassRefPtr&lt;SharedBuffer&gt; releaseContent(), as it seems that it&apos;d be useful to have
- clarified the ChangeLog

Renaming the variables after they become private is already on the agenda. :)

On a further note: since I couldn&apos;t yet rename the member variables, and the compiler complained if a getter method had the same name as a variable, I had to be a bit creative when coming up with names. If you have other/better suggestions, please let me know!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145393</commentid>
    <comment_count>4</comment_count>
      <attachid>39135</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 09:42:13 -0700</bug_when>
    <thetext>Comment on attachment 39135
patch: add getter/setter accessor methods

These don&apos;t need to be marked inline.  Compilers already inline such functions.  If they didn&apos;t we&apos;d see duplicated symbol definitions all over the place. :)

I take it that the &quot;chromium code&quot; in question lives outside of the WebKit tree?  So that we have to do this in two-stages like this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145725</commentid>
    <comment_count>5</comment_count>
      <attachid>39267</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-09 07:06:10 -0700</bug_when>
    <thetext>Created attachment 39267
patch: add getter/setter accessor methods


Removed &apos;inline&apos; from methods.

&gt; I take it that the &quot;chromium code&quot; in question lives outside of the WebKit
&gt; tree?  So that we have to do this in two-stages like this?

Yes, the code in question is (Chromium) webkit\api\src\WebDragData.cpp .

The main reason for the change is that I want to implement get/setData(&quot;text/uri-list&quot;) in Chromium.
(see https://bugs.webkit.org/show_bug.cgi?id=28293)
However, according to the HTML5 spec, &quot;text/uri-list&quot; and &quot;URL&quot; are not independent.
So having WebDragData accessing a single &apos;url&apos; member directly is inconvenient.

The getter/setter methods for the other members is just &quot;collateral damage&quot; ;)
(but it also allows cleaning up the naming).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145749</commentid>
    <comment_count>6</comment_count>
      <attachid>39267</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 07:55:15 -0700</bug_when>
    <thetext>Comment on attachment 39267
patch: add getter/setter accessor methods

Looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145764</commentid>
    <comment_count>7</comment_count>
      <attachid>39267</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 08:15:41 -0700</bug_when>
    <thetext>Comment on attachment 39267
patch: add getter/setter accessor methods

Clearing flags on attachment: 39267

Committed r48208: &lt;http://trac.webkit.org/changeset/48208&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145765</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 08:15:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149736</commentid>
    <comment_count>9</comment_count>
      <attachid>40061</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-24 05:49:19 -0700</bug_when>
    <thetext>Created attachment 40061
patch - extend getter/setter interface

(Sorry for adding to this after the patch has already landed.)

During further implementation with the interface in the original patch I found that it is, while technically sufficient, perhaps a tad too simplistic, esp. when considering that the interface should stay largely unchanged even if the underlying data members change. In detail:

- The methods for file names are too reliant on the data member actually being a Vector&lt;String&gt;.
  Manipulation of the list of filenames requires wholesale copying or using a swapping trick, neither of which is very elegant.
- Several places of the code are only interested in whether a given member exists, not what its actual value is.
  In these cases it is inefficient to have the code create a duplicate that is soon discarded.

Therefore I added a new patch that extends the interface somewhat to try to make it more useful and robust to further changes (*cough*). From the ChangeLog:

- added contains...() methods to just query the state
- added containsValid...URL() methods for URL data members
- removed takeFileNames() as this was too type-dependent
- changed return type of fileNames() to Vector&lt;String&gt;
- added interface methods to allow appending to and iteration over file names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149737</commentid>
    <comment_count>10</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-09-24 05:51:56 -0700</bug_when>
    <thetext>(Not sure if reopening the bug is the right thing to do here.)

As noted in the comments to my new patch I found that it&apos;d be useful to somewhat extend the interface with a few more methods that make it more convenient and efficient. It also aims to remove the last cases where the interface was relying on a specific underlying type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149794</commentid>
    <comment_count>11</comment_count>
      <attachid>40061</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 11:52:28 -0700</bug_when>
    <thetext>Comment on attachment 40061
patch - extend getter/setter interface

Patch was uploaded with the wrong mime type and w/o the patch checkbox set.  You might find &quot;bugzilla-tool post-diff&quot; a useful alternative to posting patches by hand.  It will take care of all those details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149795</commentid>
    <comment_count>12</comment_count>
      <attachid>40061</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 11:53:48 -0700</bug_when>
    <thetext>Comment on attachment 40061
patch - extend getter/setter interface

Do you want !isEmpty() or !isNull()?

I have no idea what this DataObject does, so I can&apos;t really review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154444</commentid>
    <comment_count>13</comment_count>
      <attachid>40061</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-13 14:51:01 -0700</bug_when>
    <thetext>Comment on attachment 40061
patch - extend getter/setter interface

It&apos;s hard for me to evaluate whether we need this patch because the client for this interface does not appear to exist in the repo, but this patch appears formally correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154482</commentid>
    <comment_count>14</comment_count>
      <attachid>40061</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-13 16:19:36 -0700</bug_when>
    <thetext>Comment on attachment 40061
patch - extend getter/setter interface

Clearing flags on attachment: 40061

Committed r49524: &lt;http://trac.webkit.org/changeset/49524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154483</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-13 16:19:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154807</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-10-15 09:15:30 -0700</bug_when>
    <thetext>&gt; The main reason for the change is that I want to implement
&gt; get/setData(&quot;text/uri-list&quot;) in Chromium.
&gt; (see https://bugs.webkit.org/show_bug.cgi?id=28293)
&gt; However, according to the HTML5 spec, &quot;text/uri-list&quot; and &quot;URL&quot; are not
&gt; independent.
&gt; So having WebDragData accessing a single &apos;url&apos; member directly is inconvenient.

It seems to me that this ^^^ is the only method that should have been added.

I intended ChromiumDataObject to remain very lightweight since we have it replicated in two places already in Chrome: WebDragData and WebDropData.  It sucks to have so many layers.

Soon, WebDragData will live in svn.webkit.org, so the justification given in comment #0 will go away.  It&apos;ll be easy to change the WebKit layer implementation (WebDragData.cpp) and the ChromiumDataObject.h in the same patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154992</commentid>
    <comment_count>17</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2009-10-15 21:10:17 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; The main reason for the change is that I want to implement
&gt; &gt; get/setData(&quot;text/uri-list&quot;) in Chromium.
&gt; &gt; (see https://bugs.webkit.org/show_bug.cgi?id=28293)
&gt; &gt; However, according to the HTML5 spec, &quot;text/uri-list&quot; and &quot;URL&quot; are not
&gt; &gt; independent.
&gt; &gt; So having WebDragData accessing a single &apos;url&apos; member directly is inconvenient.
&gt; 
&gt; It seems to me that this ^^^ is the only method that should have been added.

Yes, I added the other interface methods mainly for consistency.
 
&gt; I intended ChromiumDataObject to remain very lightweight since we have it
&gt; replicated in two places already in Chrome: WebDragData and WebDropData.  It
&gt; sucks to have so many layers.

There I wholeheartedly agree! 
 
&gt; Soon, WebDragData will live in svn.webkit.org, so the justification given in
&gt; comment #0 will go away.  It&apos;ll be easy to change the WebKit layer
&gt; implementation (WebDragData.cpp) and the ChromiumDataObject.h in the same
&gt; patch.

As I wrote http://codereview.chromium.org/269091, I didn&apos;t know that was the plan. It&apos;d certainly simplify things.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39047</attachid>
            <date>2009-09-04 02:46:27 -0700</date>
            <delta_ts>2009-09-07 01:26:00 -0700</delta_ts>
            <desc>patch: add getter/setter accessor methods</desc>
            <filename>ChromiumDataObject.patch</filename>
            <type>text/plain</type>
            <size>4007</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODA0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMDktMDktMDQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1ZyAyODk2NCAtICBbQ2hyb21pdW1dIENocm9taXVtRGF0YU9iamVjdCBzaG91bGQg
aGF2ZSBnZXR0ZXIvc2V0dGVyIGludGVyZmFjZQorCisgICAgICAgIEFkZGVkIGludGVyZmFjZSBt
ZXRob2RzLiBUaGVzZSBhcmUgbm90IHlldCBhY3R1YWxseSB1c2VkLiAKKyAgICAgICAgT25jZSB0
aGUgQ2hyb21pdW0gY29kZSBpcyBjaGFuZ2VkIHRvIHVzZSB0aG9zZSBpbnN0ZWFkIG9mIGRpcmVj
dGx5IGFjY2Vzc2luZyB0aGUgCisgICAgICAgIG1lbWJlciB2YXJpYWJsZXMsIHRoZSBtZW1iZXIg
dmFyaWFibGVzIHNob3VsZCBiZSBtYWRlIHByaXZhdGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6Om1haW5VUkwpOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRNYWluVVJMKToKKyAgICAgICAgKFdlYkNv
cmU6OkNocm9taXVtRGF0YU9iamVjdDo6bWFpblVSTFRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9taXVtRGF0YU9iamVjdDo6c2V0TWFpblVSTFRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNocm9taXVtRGF0YU9iamVjdDo6dGV4dFBsYWluKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9t
aXVtRGF0YU9iamVjdDo6c2V0VGV4dFBsYWluKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVt
RGF0YU9iamVjdDo6dGV4dEhUTUwpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2Jq
ZWN0OjpzZXRUZXh0SFRNTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6
Omh0bWxCYXNlVVJMKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0
SFRNTEJhc2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0Q29udGVudCk6
CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmNvbnRlbnRGaWxlRXh0ZW5z
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0Q29udGVudEZp
bGVFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250
ZW50RmlsZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRD
b250ZW50RmlsZU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpm
aWxlTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRGaWxl
TmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojp0YWtlRmlsZU5h
bWVzKToKKwogMjAwOS0wOS0wMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0LmgJKHJldmlzaW9uIDQ4
MDQ2KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaAko
d29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsMzcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIHZvaWQgY2xlYXIoKTsKICAgICAgICAgYm9vbCBoYXNEYXRhKCkgY29uc3Q7CisgICAg
ICAgIAorICAgICAgICBpbmxpbmUgS1VSTCBtYWluVVJMKCkgY29uc3QgeyByZXR1cm4gdXJsOyB9
CisgICAgICAgIGlubGluZSB2b2lkIHNldE1haW5VUkwoY29uc3QgS1VSTCYgbmV3VVJMKSB7IHVy
bCA9IG5ld1VSTDsgfQorCisgICAgICAgIGlubGluZSBTdHJpbmcgbWFpblVSTFRpdGxlKCkgY29u
c3QgeyByZXR1cm4gdXJsVGl0bGU7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0TWFpblVSTFRp
dGxlKGNvbnN0IFN0cmluZyYgbmV3VVJMVGl0bGUpIHsgdXJsVGl0bGUgPSBuZXdVUkxUaXRsZTsg
fQorCisgICAgICAgIGlubGluZSBTdHJpbmcgdGV4dFBsYWluKCkgY29uc3QgeyByZXR1cm4gcGxh
aW5UZXh0OyB9CisgICAgICAgIGlubGluZSB2b2lkIHNldFRleHRQbGFpbihjb25zdCBTdHJpbmcm
IG5ld1RleHQpIHsgcGxhaW5UZXh0ID0gbmV3VGV4dDsgfQorICAgICAgICAKKyAgICAgICAgaW5s
aW5lIFN0cmluZyB0ZXh0SFRNTCgpIGNvbnN0IHsgcmV0dXJuIHRleHRIdG1sOyB9CisgICAgICAg
IGlubGluZSB2b2lkIHNldFRleHRIVE1MKGNvbnN0IFN0cmluZyYgbmV3VGV4dCkgeyB0ZXh0SHRt
bCA9IG5ld1RleHQ7IH0KKyAgICAgICAgCisgICAgICAgIGlubGluZSBLVVJMIGh0bWxCYXNlVVJM
KCkgY29uc3QgeyByZXR1cm4gaHRtbEJhc2VVcmw7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0
SFRNTEJhc2VVUkwoY29uc3QgS1VSTCYgbmV3VVJMKSB7IGh0bWxCYXNlVXJsID0gbmV3VVJMOyB9
CisgICAgICAgIAorICAgICAgICBpbmxpbmUgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBmaWxlQ29udGVudDsgfQorICAgICAgICBpbmxpbmUgdm9pZCBz
ZXRDb250ZW50KFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBuZXdDb250ZW50KSB7IGZpbGVDb250
ZW50ID0gbmV3Q29udGVudDsgfQorICAgICAgICAKKyAgICAgICAgaW5saW5lIFN0cmluZyBjb250
ZW50RmlsZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZpbGVFeHRlbnNpb247IH0KKyAgICAg
ICAgaW5saW5lIHZvaWQgc2V0Q29udGVudEZpbGVFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuZXdG
aWxlRXh0ZW5zaW9uKSB7IGZpbGVFeHRlbnNpb24gPSBuZXdGaWxlRXh0ZW5zaW9uOyB9CisgICAg
ICAgIAorICAgICAgICBpbmxpbmUgU3RyaW5nIGNvbnRlbnRGaWxlTmFtZSgpIGNvbnN0IHsgcmV0
dXJuIGZpbGVDb250ZW50RmlsZW5hbWU7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0Q29udGVu
dEZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmV3RmlsZW5hbWUpIHsgZmlsZUNvbnRlbnRGaWxlbmFt
ZSA9IG5ld0ZpbGVuYW1lOyB9CisgICAgICAgIAorICAgICAgICBpbmxpbmUgY29uc3QgVmVjdG9y
PFN0cmluZz4mIGZpbGVOYW1lcygpIGNvbnN0IHsgcmV0dXJuIGZpbGVuYW1lczsgfQorICAgICAg
ICBpbmxpbmUgdm9pZCBzZXRGaWxlTmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIG5ld0ZpbGVu
YW1lcykgeyBmaWxlbmFtZXMgPSBuZXdGaWxlbmFtZXM7IH0KKyAgICAgICAgaW5saW5lIHZvaWQg
dGFrZUZpbGVOYW1lcyhWZWN0b3I8U3RyaW5nPiYgbmV3RmlsZW5hbWVzKSB7IGZpbGVuYW1lcy5z
d2FwKG5ld0ZpbGVuYW1lcyk7IH0KIAorICAgICAgICAvLyBJbnRlcmltIHN0YXRlOiBBbGwgbWVt
YmVycyB3aWxsIGJlY29tZSBwcml2YXRlLCBkbyBOT1QgYWNjZXNzIHRoZW0gZGlyZWN0bHkhIAor
ICAgICAgICAvLyBSYXRoZXIgdXNlIHRoZSBhYm92ZSBhY2Nlc3NvciBtZXRob2RzIChvciBkZXZp
c2UgbmV3IG9uZXMgaWYgbmVjZXNzYXJ5KS4KICAgICAgICAgS1VSTCB1cmw7CiAgICAgICAgIFN0
cmluZyB1cmxUaXRsZTsKIAo=
</data>
<flag name="review"
          id="20079"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39135</attachid>
            <date>2009-09-07 01:26:00 -0700</date>
            <delta_ts>2009-09-09 07:06:10 -0700</delta_ts>
            <desc>patch: add getter/setter accessor methods</desc>
            <filename>ChromiumDataObject.patch</filename>
            <type>text/plain</type>
            <size>4215</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODA0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMDktMDktMDQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1ZyAyODk2NCAtICBbQ2hyb21pdW1dIENocm9taXVtRGF0YU9iamVjdCBzaG91bGQg
aGF2ZSBnZXR0ZXIvc2V0dGVyIGludGVyZmFjZQorCisgICAgICAgIEFkZGVkIGdldHRlci9zZXR0
ZXIgbWV0aG9kcyBhbmQgdHJpdmlhbCBpbmxpbmUgaW1wbGVtZW50YXRpb25zIGZvciBlYWNoLgor
ICAgICAgICAoTm90ZSB0aGF0IHRoZXkgYXJlIG5vdCB5ZXQgYWN0dWFsbHkgdXNlZC4pCisgICAg
ICAgIE9uY2UgdGhlIENocm9taXVtIGNvZGUgaXMgY2hhbmdlZCB0byB1c2UgdGhlbSBpbnN0ZWFk
IG9mIGRpcmVjdGx5IGFjY2Vzc2luZyB0aGUKKyAgICAgICAgbWVtYmVyIHZhcmlhYmxlcywgdGhl
IG1lbWJlciB2YXJpYWJsZXMgc2hvdWxkIGJlIG1hZGUgcHJpdmF0ZSBhbmQgY2xlYW5lZCB1cC4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKG5vIGZ1bmN0aW9uYWwgYmVoYXZpb3IgY2hhbmdlZCku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6bWFpblVSTCk6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldE1haW5VUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjptYWluVVJMVGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRNYWluVVJMVGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21pdW1EYXRhT2JqZWN0Ojp0ZXh0UGxhaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21p
dW1EYXRhT2JqZWN0OjpzZXRUZXh0UGxhaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1E
YXRhT2JqZWN0Ojp0ZXh0SFRNTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmpl
Y3Q6OnNldFRleHRIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6
aHRtbEJhc2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRI
VE1MQmFzZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmNvbnRl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpyZWxlYXNlQ29udGVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldENvbnRlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250ZW50RmlsZUV4dGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldENvbnRlbnRGaWxl
RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Y29udGVu
dEZpbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0Q29u
dGVudEZpbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Zmls
ZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0RmlsZU5h
bWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6dGFrZUZpbGVOYW1l
cyk6CisKIDIwMDktMDktMDMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9iamVjdC5oCShyZXZpc2lvbiA0ODA0
NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDM4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICB2b2lkIGNsZWFyKCk7CiAgICAgICAgIGJvb2wgaGFzRGF0YSgpIGNvbnN0OworICAgICAg
ICAKKyAgICAgICAgaW5saW5lIEtVUkwgbWFpblVSTCgpIGNvbnN0IHsgcmV0dXJuIHVybDsgfQor
ICAgICAgICBpbmxpbmUgdm9pZCBzZXRNYWluVVJMKGNvbnN0IEtVUkwmIG5ld1VSTCkgeyB1cmwg
PSBuZXdVUkw7IH0KKworICAgICAgICBpbmxpbmUgU3RyaW5nIG1haW5VUkxUaXRsZSgpIGNvbnN0
IHsgcmV0dXJuIHVybFRpdGxlOyB9CisgICAgICAgIGlubGluZSB2b2lkIHNldE1haW5VUkxUaXRs
ZShjb25zdCBTdHJpbmcmIG5ld1VSTFRpdGxlKSB7IHVybFRpdGxlID0gbmV3VVJMVGl0bGU7IH0K
KworICAgICAgICBpbmxpbmUgU3RyaW5nIHRleHRQbGFpbigpIGNvbnN0IHsgcmV0dXJuIHBsYWlu
VGV4dDsgfQorICAgICAgICBpbmxpbmUgdm9pZCBzZXRUZXh0UGxhaW4oY29uc3QgU3RyaW5nJiBu
ZXdUZXh0KSB7IHBsYWluVGV4dCA9IG5ld1RleHQ7IH0KKworICAgICAgICBpbmxpbmUgU3RyaW5n
IHRleHRIVE1MKCkgY29uc3QgeyByZXR1cm4gdGV4dEh0bWw7IH0KKyAgICAgICAgaW5saW5lIHZv
aWQgc2V0VGV4dEhUTUwoY29uc3QgU3RyaW5nJiBuZXdUZXh0KSB7IHRleHRIdG1sID0gbmV3VGV4
dDsgfQorCisgICAgICAgIGlubGluZSBLVVJMIGh0bWxCYXNlVVJMKCkgY29uc3QgeyByZXR1cm4g
aHRtbEJhc2VVcmw7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0SFRNTEJhc2VVUkwoY29uc3Qg
S1VSTCYgbmV3VVJMKSB7IGh0bWxCYXNlVXJsID0gbmV3VVJMOyB9CisKKyAgICAgICAgaW5saW5l
IFNoYXJlZEJ1ZmZlciogY29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZpbGVDb250ZW50LmdldCgp
OyB9CisgICAgICAgIGlubGluZSBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVsZWFzZUNvbnRl
bnQoKSB7IHJldHVybiBmaWxlQ29udGVudC5yZWxlYXNlKCk7IH0KKyAgICAgICAgaW5saW5lIHZv
aWQgc2V0Q29udGVudChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbmV3Q29udGVudCkgeyBmaWxl
Q29udGVudCA9IG5ld0NvbnRlbnQ7IH0KKworICAgICAgICBpbmxpbmUgU3RyaW5nIGNvbnRlbnRG
aWxlRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gZmlsZUV4dGVuc2lvbjsgfQorICAgICAgICBp
bmxpbmUgdm9pZCBzZXRDb250ZW50RmlsZUV4dGVuc2lvbihjb25zdCBTdHJpbmcmIG5ld0ZpbGVF
eHRlbnNpb24pIHsgZmlsZUV4dGVuc2lvbiA9IG5ld0ZpbGVFeHRlbnNpb247IH0KKworICAgICAg
ICBpbmxpbmUgU3RyaW5nIGNvbnRlbnRGaWxlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGZpbGVDb250
ZW50RmlsZW5hbWU7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0Q29udGVudEZpbGVOYW1lKGNv
bnN0IFN0cmluZyYgbmV3RmlsZW5hbWUpIHsgZmlsZUNvbnRlbnRGaWxlbmFtZSA9IG5ld0ZpbGVu
YW1lOyB9CisKKyAgICAgICAgaW5saW5lIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlTmFtZXMo
KSBjb25zdCB7IHJldHVybiBmaWxlbmFtZXM7IH0KKyAgICAgICAgaW5saW5lIHZvaWQgc2V0Rmls
ZU5hbWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBuZXdGaWxlbmFtZXMpIHsgZmlsZW5hbWVzID0g
bmV3RmlsZW5hbWVzOyB9CisgICAgICAgIGlubGluZSB2b2lkIHRha2VGaWxlTmFtZXMoVmVjdG9y
PFN0cmluZz4mIG5ld0ZpbGVuYW1lcykgeyBmaWxlbmFtZXMuc3dhcChuZXdGaWxlbmFtZXMpOyB9
CiAKKyAgICAgICAgLy8gSW50ZXJpbSBzdGF0ZTogQWxsIG1lbWJlcnMgd2lsbCBiZWNvbWUgcHJp
dmF0ZSwgZG8gTk9UIGFjY2VzcyB0aGVtIGRpcmVjdGx5ISAKKyAgICAgICAgLy8gUmF0aGVyIHVz
ZSB0aGUgYWJvdmUgYWNjZXNzb3IgbWV0aG9kcyAob3IgZGV2aXNlIG5ldyBvbmVzIGlmIG5lY2Vz
c2FyeSkuCiAgICAgICAgIEtVUkwgdXJsOwogICAgICAgICBTdHJpbmcgdXJsVGl0bGU7CiAK
</data>
<flag name="review"
          id="20185"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39267</attachid>
            <date>2009-09-09 07:06:10 -0700</date>
            <delta_ts>2009-09-09 08:15:41 -0700</delta_ts>
            <desc>patch: add getter/setter accessor methods</desc>
            <filename>gettersetter.patch</filename>
            <type>text/plain</type>
            <size>4075</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODA0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzggQEAKKzIwMDktMDktMDQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1ZyAyODk2NCAtICBbQ2hyb21pdW1dIENocm9taXVtRGF0YU9iamVjdCBzaG91bGQg
aGF2ZSBnZXR0ZXIvc2V0dGVyIGludGVyZmFjZQorCisgICAgICAgIEFkZGVkIGdldHRlci9zZXR0
ZXIgbWV0aG9kcyBhbmQgdHJpdmlhbCBpbmxpbmUgaW1wbGVtZW50YXRpb25zIGZvciBlYWNoLgor
ICAgICAgICAoTm90ZSB0aGF0IHRoZXkgYXJlIG5vdCB5ZXQgYWN0dWFsbHkgdXNlZC4pCisgICAg
ICAgIE9uY2UgdGhlIENocm9taXVtIGNvZGUgaXMgY2hhbmdlZCB0byB1c2UgdGhlbSBpbnN0ZWFk
IG9mIGRpcmVjdGx5IGFjY2Vzc2luZyB0aGUKKyAgICAgICAgbWVtYmVyIHZhcmlhYmxlcywgdGhl
IG1lbWJlciB2YXJpYWJsZXMgc2hvdWxkIGJlIG1hZGUgcHJpdmF0ZSBhbmQgY2xlYW5lZCB1cC4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKG5vIGZ1bmN0aW9uYWwgYmVoYXZpb3IgY2hhbmdlZCku
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6bWFpblVSTCk6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldE1haW5VUkwpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjptYWluVVJMVGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRNYWluVVJMVGl0bGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21pdW1EYXRhT2JqZWN0Ojp0ZXh0UGxhaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21p
dW1EYXRhT2JqZWN0OjpzZXRUZXh0UGxhaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1E
YXRhT2JqZWN0Ojp0ZXh0SFRNTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmpl
Y3Q6OnNldFRleHRIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6
aHRtbEJhc2VVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRI
VE1MQmFzZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmNvbnRl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpyZWxlYXNlQ29udGVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldENvbnRlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250ZW50RmlsZUV4dGVuc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldENvbnRlbnRGaWxl
RXh0ZW5zaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Y29udGVu
dEZpbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0Q29u
dGVudEZpbGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Zmls
ZU5hbWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6c2V0RmlsZU5h
bWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6dGFrZUZpbGVOYW1l
cyk6CisKIDIwMDktMDktMDMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9iamVjdC5oCShyZXZpc2lvbiA0ODA0
NikKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1EYXRhT2JqZWN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDM4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICB2b2lkIGNsZWFyKCk7CiAgICAgICAgIGJvb2wgaGFzRGF0YSgpIGNvbnN0OworICAgICAg
ICAKKyAgICAgICAgS1VSTCBtYWluVVJMKCkgY29uc3QgeyByZXR1cm4gdXJsOyB9CisgICAgICAg
IHZvaWQgc2V0TWFpblVSTChjb25zdCBLVVJMJiBuZXdVUkwpIHsgdXJsID0gbmV3VVJMOyB9CisK
KyAgICAgICAgU3RyaW5nIG1haW5VUkxUaXRsZSgpIGNvbnN0IHsgcmV0dXJuIHVybFRpdGxlOyB9
CisgICAgICAgIHZvaWQgc2V0TWFpblVSTFRpdGxlKGNvbnN0IFN0cmluZyYgbmV3VVJMVGl0bGUp
IHsgdXJsVGl0bGUgPSBuZXdVUkxUaXRsZTsgfQorCisgICAgICAgIFN0cmluZyB0ZXh0UGxhaW4o
KSBjb25zdCB7IHJldHVybiBwbGFpblRleHQ7IH0KKyAgICAgICAgdm9pZCBzZXRUZXh0UGxhaW4o
Y29uc3QgU3RyaW5nJiBuZXdUZXh0KSB7IHBsYWluVGV4dCA9IG5ld1RleHQ7IH0KKworICAgICAg
ICBTdHJpbmcgdGV4dEhUTUwoKSBjb25zdCB7IHJldHVybiB0ZXh0SHRtbDsgfQorICAgICAgICB2
b2lkIHNldFRleHRIVE1MKGNvbnN0IFN0cmluZyYgbmV3VGV4dCkgeyB0ZXh0SHRtbCA9IG5ld1Rl
eHQ7IH0KKworICAgICAgICBLVVJMIGh0bWxCYXNlVVJMKCkgY29uc3QgeyByZXR1cm4gaHRtbEJh
c2VVcmw7IH0KKyAgICAgICAgdm9pZCBzZXRIVE1MQmFzZVVSTChjb25zdCBLVVJMJiBuZXdVUkwp
IHsgaHRtbEJhc2VVcmwgPSBuZXdVUkw7IH0KKworICAgICAgICBTaGFyZWRCdWZmZXIqIGNvbnRl
bnQoKSBjb25zdCB7IHJldHVybiBmaWxlQ29udGVudC5nZXQoKTsgfQorICAgICAgICBQYXNzUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gcmVsZWFzZUNvbnRlbnQoKSB7IHJldHVybiBmaWxlQ29udGVudC5y
ZWxlYXNlKCk7IH0KKyAgICAgICAgdm9pZCBzZXRDb250ZW50KFBhc3NSZWZQdHI8U2hhcmVkQnVm
ZmVyPiBuZXdDb250ZW50KSB7IGZpbGVDb250ZW50ID0gbmV3Q29udGVudDsgfQorCisgICAgICAg
IFN0cmluZyBjb250ZW50RmlsZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZpbGVFeHRlbnNp
b247IH0KKyAgICAgICAgdm9pZCBzZXRDb250ZW50RmlsZUV4dGVuc2lvbihjb25zdCBTdHJpbmcm
IG5ld0ZpbGVFeHRlbnNpb24pIHsgZmlsZUV4dGVuc2lvbiA9IG5ld0ZpbGVFeHRlbnNpb247IH0K
KworICAgICAgICBTdHJpbmcgY29udGVudEZpbGVOYW1lKCkgY29uc3QgeyByZXR1cm4gZmlsZUNv
bnRlbnRGaWxlbmFtZTsgfQorICAgICAgICB2b2lkIHNldENvbnRlbnRGaWxlTmFtZShjb25zdCBT
dHJpbmcmIG5ld0ZpbGVuYW1lKSB7IGZpbGVDb250ZW50RmlsZW5hbWUgPSBuZXdGaWxlbmFtZTsg
fQorCisgICAgICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlTmFtZXMoKSBjb25zdCB7IHJl
dHVybiBmaWxlbmFtZXM7IH0KKyAgICAgICAgdm9pZCBzZXRGaWxlTmFtZXMoY29uc3QgVmVjdG9y
PFN0cmluZz4mIG5ld0ZpbGVuYW1lcykgeyBmaWxlbmFtZXMgPSBuZXdGaWxlbmFtZXM7IH0KKyAg
ICAgICAgdm9pZCB0YWtlRmlsZU5hbWVzKFZlY3RvcjxTdHJpbmc+JiBuZXdGaWxlbmFtZXMpIHsg
ZmlsZW5hbWVzLnN3YXAobmV3RmlsZW5hbWVzKTsgfQogCisgICAgICAgIC8vIEludGVyaW0gc3Rh
dGU6IEFsbCBtZW1iZXJzIHdpbGwgYmVjb21lIHByaXZhdGUsIGRvIE5PVCBhY2Nlc3MgdGhlbSBk
aXJlY3RseSEgCisgICAgICAgIC8vIFJhdGhlciB1c2UgdGhlIGFib3ZlIGFjY2Vzc29yIG1ldGhv
ZHMgKG9yIGRldmlzZSBuZXcgb25lcyBpZiBuZWNlc3NhcnkpLgogICAgICAgICBLVVJMIHVybDsK
ICAgICAgICAgU3RyaW5nIHVybFRpdGxlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40061</attachid>
            <date>2009-09-24 05:49:19 -0700</date>
            <delta_ts>2009-10-13 16:19:36 -0700</delta_ts>
            <desc>patch - extend getter/setter interface</desc>
            <filename>ChromiumDataObject2.patch</filename>
            <type>text/plain</type>
            <size>5871</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODcxOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMDktMDktMjQgIFJvbGFuZCBTdGVpbmVyICA8cm9sYW5kc3RlaW5l
ckBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1ZyAyODk2NCAtICBbQ2hyb21pdW1dIENocm9taXVtRGF0YU9iamVjdCBzaG91bGQg
aGF2ZSBnZXR0ZXIvc2V0dGVyIGludGVyZmFjZQorCisgICAgICAgIFJld29ya2VkIGFuZCBhZGRl
ZCB0byB0aGUgZ2V0dGVyL3NldHRlciBpbnRlcmZhY2UgaW4gQ2hyb21pdW1EYXRhT2JqZWN0Ogor
ICAgICAgICAtIGFkZGVkIGNvbnRhaW5zLi4uKCkgbWV0aG9kcyB0byBqdXN0IHF1ZXJ5IHRoZSBz
dGF0ZQorICAgICAgICAtIGFkZGVkIGNvbnRhaW5zVmFsaWQuLi5VUkwoKSBtZXRob2RzIGZvciBV
UkwgZGF0YSBtZW1iZXJzCisgICAgICAgIC0gcmVtb3ZlZCB0YWtlRmlsZU5hbWVzKCkgYXMgdGhp
cyB3YXMgdG9vIHR5cGUtZGVwZW5kZW50CisgICAgICAgIC0gY2hhbmdlZCByZXR1cm4gdHlwZSBv
ZiBmaWxlTmFtZXMoKSB0byBWZWN0b3I8U3RyaW5nPgorICAgICAgICAtIGFkZGVkIGludGVyZmFj
ZSBtZXRob2RzIHRvIGFsbG93IGFwcGVuZGluZyB0byBhbmQgaXRlcmF0aW9uIG92ZXIgZmlsZSBu
YW1lcworCisgICAgICAgIE5vIG5ldyB0ZXN0cyAobm8gZnVuY3Rpb25hbCBiZWhhdmlvciBjaGFu
Z2VkKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtRGF0YU9iamVjdC5o
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250YWluc01haW5VUkwp
OgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250YWluc1ZhbGlkTWFp
blVSTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmNvbnRhaW5zTWFp
blVSTFRpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Y29udGFp
bnNUZXh0UGxhaW4pOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250
YWluc1RleHRIVE1MKToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Y29u
dGFpbnNIVE1MQmFzZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6
OmNvbnRhaW5zVmFsaWRIVE1MQmFzZVVSTCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURh
dGFPYmplY3Q6OmNvbnRhaW5zQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWl1bURh
dGFPYmplY3Q6OmNvbnRhaW5zQ29udGVudEZpbGVFeHRlbnNpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb250YWluc0NvbnRlbnRGaWxlTmFtZSk6CisgICAgICAg
IChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OnNldENvbnRlbnRGaWxlTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmNvbnRhaW5zRmlsZU5hbWVzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6ZmlsZU5hbWVzKToKKyAgICAgICAg
KFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdDo6Y2xlYXJGaWxlTmFtZXMpOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21pdW1EYXRhT2JqZWN0Ojpjb3VudEZpbGVOYW1lcyk6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWl1bURhdGFPYmplY3Q6OmZpbGVOYW1lQXQpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2hyb21pdW1EYXRhT2JqZWN0OjpzZXRGaWxlTmFtZXMpOgorICAgICAgICAoV2ViQ29yZTo6
Q2hyb21pdW1EYXRhT2JqZWN0OjphcHBlbmRUb0ZpbGVOYW1lcyk6CisgICAgICAgIChXZWJDb3Jl
OjpDaHJvbWl1bURhdGFPYmplY3Q6OnBvcEZpbGVOYW1lKToKKwogMjAwOS0wOS0yNCAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBU
aW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVt
RGF0YU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hy
b21pdW1EYXRhT2JqZWN0LmgJKHJldmlzaW9uIDQ4NzE4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DaHJvbWl1bURhdGFPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsMzUgKzU1
LDYxIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2b2lkIGNsZWFyKCk7CiAgICAg
ICAgIGJvb2wgaGFzRGF0YSgpIGNvbnN0OwotICAgICAgICAKKworICAgICAgICBib29sIGNvbnRh
aW5zTWFpblVSTCgpIGNvbnN0IHsgcmV0dXJuICF1cmwuaXNFbXB0eSgpOyB9CisgICAgICAgIGJv
b2wgY29udGFpbnNWYWxpZE1haW5VUkwoKSBjb25zdCB7IHJldHVybiB1cmwuaXNWYWxpZCgpOyB9
CiAgICAgICAgIEtVUkwgbWFpblVSTCgpIGNvbnN0IHsgcmV0dXJuIHVybDsgfQogICAgICAgICB2
b2lkIHNldE1haW5VUkwoY29uc3QgS1VSTCYgbmV3VVJMKSB7IHVybCA9IG5ld1VSTDsgfQogCisg
ICAgICAgIGJvb2wgY29udGFpbnNNYWluVVJMVGl0bGUoKSBjb25zdCB7IHJldHVybiAhdXJsVGl0
bGUuaXNFbXB0eSgpOyB9CiAgICAgICAgIFN0cmluZyBtYWluVVJMVGl0bGUoKSBjb25zdCB7IHJl
dHVybiB1cmxUaXRsZTsgfQogICAgICAgICB2b2lkIHNldE1haW5VUkxUaXRsZShjb25zdCBTdHJp
bmcmIG5ld1VSTFRpdGxlKSB7IHVybFRpdGxlID0gbmV3VVJMVGl0bGU7IH0KIAorICAgICAgICBi
b29sIGNvbnRhaW5zVGV4dFBsYWluKCkgY29uc3QgeyByZXR1cm4gIXBsYWluVGV4dC5pc0VtcHR5
KCk7IH0KICAgICAgICAgU3RyaW5nIHRleHRQbGFpbigpIGNvbnN0IHsgcmV0dXJuIHBsYWluVGV4
dDsgfQogICAgICAgICB2b2lkIHNldFRleHRQbGFpbihjb25zdCBTdHJpbmcmIG5ld1RleHQpIHsg
cGxhaW5UZXh0ID0gbmV3VGV4dDsgfQogCisgICAgICAgIGJvb2wgY29udGFpbnNUZXh0SFRNTCgp
IGNvbnN0IHsgcmV0dXJuICF0ZXh0SHRtbC5pc0VtcHR5KCk7IH0KICAgICAgICAgU3RyaW5nIHRl
eHRIVE1MKCkgY29uc3QgeyByZXR1cm4gdGV4dEh0bWw7IH0KICAgICAgICAgdm9pZCBzZXRUZXh0
SFRNTChjb25zdCBTdHJpbmcmIG5ld1RleHQpIHsgdGV4dEh0bWwgPSBuZXdUZXh0OyB9CiAKKyAg
ICAgICAgYm9vbCBjb250YWluc0hUTUxCYXNlVVJMKCkgY29uc3QgeyByZXR1cm4gIWh0bWxCYXNl
VXJsLmlzRW1wdHkoKTsgfQorICAgICAgICBib29sIGNvbnRhaW5zVmFsaWRIVE1MQmFzZVVSTCgp
IGNvbnN0IHsgcmV0dXJuIGh0bWxCYXNlVXJsLmlzVmFsaWQoKTsgfQogICAgICAgICBLVVJMIGh0
bWxCYXNlVVJMKCkgY29uc3QgeyByZXR1cm4gaHRtbEJhc2VVcmw7IH0KICAgICAgICAgdm9pZCBz
ZXRIVE1MQmFzZVVSTChjb25zdCBLVVJMJiBuZXdVUkwpIHsgaHRtbEJhc2VVcmwgPSBuZXdVUkw7
IH0KIAorICAgICAgICBib29sIGNvbnRhaW5zQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIGZpbGVD
b250ZW50OyB9CiAgICAgICAgIFNoYXJlZEJ1ZmZlciogY29udGVudCgpIGNvbnN0IHsgcmV0dXJu
IGZpbGVDb250ZW50LmdldCgpOyB9CiAgICAgICAgIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBy
ZWxlYXNlQ29udGVudCgpIHsgcmV0dXJuIGZpbGVDb250ZW50LnJlbGVhc2UoKTsgfQogICAgICAg
ICB2b2lkIHNldENvbnRlbnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IG5ld0NvbnRlbnQpIHsg
ZmlsZUNvbnRlbnQgPSBuZXdDb250ZW50OyB9CiAKKyAgICAgICAgYm9vbCBjb250YWluc0NvbnRl
bnRGaWxlRXh0ZW5zaW9uKCkgY29uc3QgeyByZXR1cm4gIWZpbGVFeHRlbnNpb24uaXNFbXB0eSgp
OyB9CiAgICAgICAgIFN0cmluZyBjb250ZW50RmlsZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJu
IGZpbGVFeHRlbnNpb247IH0KICAgICAgICAgdm9pZCBzZXRDb250ZW50RmlsZUV4dGVuc2lvbihj
b25zdCBTdHJpbmcmIG5ld0ZpbGVFeHRlbnNpb24pIHsgZmlsZUV4dGVuc2lvbiA9IG5ld0ZpbGVF
eHRlbnNpb247IH0KIAorICAgICAgICBib29sIGNvbnRhaW5zQ29udGVudEZpbGVOYW1lKCkgY29u
c3QgeyByZXR1cm4gIWZpbGVDb250ZW50RmlsZW5hbWUuaXNFbXB0eSgpOyB9CiAgICAgICAgIFN0
cmluZyBjb250ZW50RmlsZU5hbWUoKSBjb25zdCB7IHJldHVybiBmaWxlQ29udGVudEZpbGVuYW1l
OyB9Ci0gICAgICAgIHZvaWQgc2V0Q29udGVudEZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmV3Rmls
ZW5hbWUpIHsgZmlsZUNvbnRlbnRGaWxlbmFtZSA9IG5ld0ZpbGVuYW1lOyB9CisgICAgICAgIHZv
aWQgc2V0Q29udGVudEZpbGVOYW1lKGNvbnN0IFN0cmluZyYgbmV3RmlsZU5hbWUpIHsgZmlsZUNv
bnRlbnRGaWxlbmFtZSA9IG5ld0ZpbGVOYW1lOyB9CiAKLSAgICAgICAgY29uc3QgVmVjdG9yPFN0
cmluZz4mIGZpbGVOYW1lcygpIGNvbnN0IHsgcmV0dXJuIGZpbGVuYW1lczsgfQotICAgICAgICB2
b2lkIHNldEZpbGVOYW1lcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgbmV3RmlsZW5hbWVzKSB7IGZp
bGVuYW1lcyA9IG5ld0ZpbGVuYW1lczsgfQotICAgICAgICB2b2lkIHRha2VGaWxlTmFtZXMoVmVj
dG9yPFN0cmluZz4mIG5ld0ZpbGVuYW1lcykgeyBmaWxlbmFtZXMuc3dhcChuZXdGaWxlbmFtZXMp
OyB9CisgICAgICAgIGJvb2wgY29udGFpbnNGaWxlTmFtZXMoKSBjb25zdCB7IHJldHVybiAhZmls
ZW5hbWVzLmlzRW1wdHkoKTsgfQorICAgICAgICBWZWN0b3I8U3RyaW5nPiBmaWxlTmFtZXMoKSBj
b25zdCB7IHJldHVybiBmaWxlbmFtZXM7IH0KKyAgICAgICAgdm9pZCBjbGVhckZpbGVOYW1lcygp
IHsgZmlsZW5hbWVzLmNsZWFyKCk7IH0KKyAgICAgICAgc2l6ZV90IGNvdW50RmlsZU5hbWVzKCkg
Y29uc3QgeyByZXR1cm4gZmlsZW5hbWVzLnNpemUoKTsgfQorICAgICAgICBTdHJpbmcgZmlsZU5h
bWVBdChzaXplX3QgaW5kZXgpIHsgcmV0dXJuIGZpbGVuYW1lcy5hdChpbmRleCk7IH0KKyAgICAg
ICAgdm9pZCBzZXRGaWxlTmFtZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIG5ld0ZpbGVOYW1lcykg
eyBmaWxlbmFtZXMgPSBuZXdGaWxlTmFtZXM7IH0KKyAgICAgICAgdm9pZCBhcHBlbmRUb0ZpbGVO
YW1lcyhjb25zdCBTdHJpbmcmIG5ld0ZpbGVOYW1lKQorICAgICAgICB7CisgICAgICAgICAgICBB
U1NFUlQoIW5ld0ZpbGVOYW1lLmlzRW1wdHkoKSk7CisgICAgICAgICAgICBmaWxlbmFtZXMuYXBw
ZW5kKG5ld0ZpbGVOYW1lKTsKKyAgICAgICAgfQorICAgICAgICBTdHJpbmcgcG9wRmlsZU5hbWUo
KSB7CisgICAgICAgICAgICBpZiAoZmlsZW5hbWVzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gU3RyaW5nKCk7CisgICAgICAgICAgICBTdHJpbmcgZmlsZU5hbWU7CisgICAgICAg
ICAgICBmaWxlTmFtZSA9IGZpbGVuYW1lcy5hdCgwKTsKKyAgICAgICAgICAgIGZpbGVuYW1lcy5y
ZW1vdmUoMCk7CisgICAgICAgICAgICByZXR1cm4gZmlsZU5hbWU7CisgICAgICAgIH0KIAogICAg
ICAgICAvLyBJbnRlcmltIHN0YXRlOiBBbGwgbWVtYmVycyB3aWxsIGJlY29tZSBwcml2YXRlLCBk
byBOT1QgYWNjZXNzIHRoZW0gZGlyZWN0bHkhIAogICAgICAgICAvLyBSYXRoZXIgdXNlIHRoZSBh
Ym92ZSBhY2Nlc3NvciBtZXRob2RzIChvciBkZXZpc2UgbmV3IG9uZXMgaWYgbmVjZXNzYXJ5KS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>