<?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>26265</bug_id>
          
          <creation_ts>2009-06-08 17:48:52 -0700</creation_ts>
          <short_desc>add Android platform-specific files to WebCore/platform (part 8)</short_desc>
          <delta_ts>2009-06-10 12:20:02 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Feng Qian">feng</reporter>
          <assigned_to name="Feng Qian">feng</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124853</commentid>
    <comment_count>0</comment_count>
    <who name="Feng Qian">feng</who>
    <bug_when>2009-06-08 17:48:52 -0700</bug_when>
    <thetext>This is a spin-off of bug 23296, patch part 8:
+        * platform/android/SystemTimeAndroid.cpp: Added.
+        * platform/android/TextBoundaries.cpp: Added.
+        * platform/android/TextBreakIteratorInternalICU.cpp: Added.
+        * platform/android/WidgetAndroid.cpp: Added.

Original comments:

(From update of attachment 30004 [review])
I&apos;m surprised we have any time code in WebCore?  Isn&apos;t that all down in WTF?

Why does andriod need its own different ICU code?  TextBoundaries.cpp?

IntRect() is the same as  54         return IntRect(0, 0, 0, 0);

Isn&apos;t there an easier way to get the FrameView than your manual crawl?

r- for the nits and questions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125007</commentid>
    <comment_count>1</comment_count>
      <attachid>31106</attachid>
    <who name="Feng Qian">feng</who>
    <bug_when>2009-06-09 14:15:03 -0700</bug_when>
    <thetext>Created attachment 31106
patch set 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125008</commentid>
    <comment_count>2</comment_count>
    <who name="Feng Qian">feng</who>
    <bug_when>2009-06-09 14:21:48 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; This is a spin-off of bug 23296, patch part 8:
&gt; +        * platform/android/SystemTimeAndroid.cpp: Added.
&gt; +        * platform/android/TextBoundaries.cpp: Added.
&gt; +        * platform/android/TextBreakIteratorInternalICU.cpp: Added.
&gt; +        * platform/android/WidgetAndroid.cpp: Added.
&gt; 
&gt; Original comments:
&gt; 
&gt; (From update of attachment 30004 [review] [review])
&gt; I&apos;m surprised we have any time code in WebCore?  Isn&apos;t that all down in WTF?
&gt; 

Time code seems necessary to link WebCore/history/PageCache.cpp, there is a similar file, WebCore/platform/win/SystemTimeWin.cpp.

&gt; Why does andriod need its own different ICU code?  TextBoundaries.cpp?
&gt; 

You are right, these files should under platform/text, removed. Will add them in a separate CL.

&gt; IntRect() is the same as  54         return IntRect(0, 0, 0, 0);
&gt; 
&gt; Isn&apos;t there an easier way to get the FrameView than your manual crawl?
&gt; 

Only function similar is Widget::root(), but not the exact same.
ScrollView* Widget::root() const
{
    const Widget* top = this;
    while (top-&gt;parent())
        top = top-&gt;parent();
    if (top-&gt;isFrameView())
        return const_cast&lt;ScrollView*&gt;(static_cast&lt;const ScrollView*&gt;(top));
    return 0;
}

root() directly goes to the root Widget, but in screenWidth(), it searches the first FrameView ancestor. I don&apos;t know if it is possible to have a non-FrameView ancestor that&apos;s not a root, but both code are different. (it will be great if that&apos;s true).

&gt; r- for the nits and questions.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125098</commentid>
    <comment_count>3</comment_count>
      <attachid>31106</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-10 00:25:14 -0700</bug_when>
    <thetext>Comment on attachment 31106
patch set 1

This probably should have a notImplemented() call:
+    // Needed for PageCache, which we currently have disabled.
+    return 0.0F;

I&apos;m also surprised to see an F there instead of an &apos;f&apos;.  I didn&apos;t even know F was valid.


+    // FIXME: use m_frame instead?
+    if (!platformWidget())
+        return IntRect(0, 0, 0, 0);
IntRect() is the same

Looks fine.  Please fix those nits when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125193</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-06-10 12:20:02 -0700</bug_when>
    <thetext>Landed in @r44586.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31106</attachid>
            <date>2009-06-09 14:15:03 -0700</date>
            <delta_ts>2009-06-10 00:25:14 -0700</delta_ts>
            <desc>patch set 1</desc>
            <filename>bug26265.txt</filename>
            <type>text/plain</type>
            <size>6102</size>
            <attacher name="Feng Qian">feng</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NDU0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMDktMDYtMDkgIEZlbmcgUWlhbiAgPGZlbmdAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBB
bmRyb2lkIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0L29yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyNjUKKworICAgICAgICAqIHBsYXRmb3JtL2FuZHJv
aWQvU3lzdGVtVGltZUFuZHJvaWQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hbmRy
b2lkL1dpZGdldEFuZHJvaWQuY3BwOiBBZGRlZC4KKwogMjAwOS0wNi0wOSAgRGFyaW4gRmlzaGVy
ICA8ZGFyaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBDaHJvbWl1bSBidWlsZCBidXN0
YWdlLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1N5c3RlbVRpbWVBbmRyb2lkLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2FuZHJvaWQvU3lzdGVtVGltZUFuZHJv
aWQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9hbmRyb2lkL1N5c3RlbVRp
bWVBbmRyb2lkLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHly
aWdodCAyMDA3LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0CisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTeXN0ZW1UaW1lLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZmxvYXQgdXNlcklkbGVUaW1lKCkKK3sKKyAgICAvLyBOZWVkZWQgZm9yIFBhZ2VD
YWNoZSwgd2hpY2ggd2UgY3VycmVudGx5IGhhdmUgZGlzYWJsZWQuCisgICAgcmV0dXJuIDAuMEY7
Cit9CisKK30gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2Fu
ZHJvaWQvV2lkZ2V0QW5kcm9pZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9h
bmRyb2lkL1dpZGdldEFuZHJvaWQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9hbmRyb2lkL1dpZGdldEFuZHJvaWQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyOCBA
QAorLyoKKyAqIENvcHlyaWdodCAyMDA3LCBUaGUgQW5kcm9pZCBPcGVuIFNvdXJjZSBQcm9qZWN0
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01Q
VVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXaWRnZXQuaCIKKworI2lu
Y2x1ZGUgIkZvbnQuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHQuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIldlYkNv
cmVGcmFtZUJyaWRnZS5oIgorI2luY2x1ZGUgIldlYkNvcmVWaWV3QnJpZGdlLmgiCisjaW5jbHVk
ZSAiV2ViVmlld0NvcmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXaWRnZXQ6OldpZGdl
dChQbGF0Zm9ybVdpZGdldCB3aWRnZXQpCit7CisgICAgaW5pdCh3aWRnZXQpOworfQorCitXaWRn
ZXQ6On5XaWRnZXQoKQoreworICAgIEFTU0VSVCghcGFyZW50KCkpOworICAgIHJlbGVhc2VQbGF0
Zm9ybVdpZGdldCgpOworfQorCitJbnRSZWN0IFdpZGdldDo6ZnJhbWVSZWN0KCkgY29uc3QKK3sK
KyAgICAvLyBGSVhNRTogdXNlIG1fZnJhbWUgaW5zdGVhZD8KKyAgICBpZiAoIXBsYXRmb3JtV2lk
Z2V0KCkpCisgICAgICAgIHJldHVybiBJbnRSZWN0KDAsIDAsIDAsIDApOworICAgIHJldHVybiBw
bGF0Zm9ybVdpZGdldCgpLT5nZXRCb3VuZHMoKTsKK30KKwordm9pZCBXaWRnZXQ6OnNldEZvY3Vz
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdpZGdldDo6cGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiBjdHgsIGNvbnN0IEludFJlY3QmIHIpCit7CisgICAgLy8gRklYTUU6IGlu
IHdoYXQgY2FzZSwgd2lsbCB0aGlzIGJlIGNhbGxlZCBmb3IgdGhlIHRvcCBmcmFtZT8KKyAgICBp
ZiAoIXBsYXRmb3JtV2lkZ2V0KCkpCisgICAgICAgIHJldHVybjsKKyAgICBwbGF0Zm9ybVdpZGdl
dCgpLT5kcmF3KGN0eCwgcik7Cit9CisKK3ZvaWQgV2lkZ2V0OjpyZWxlYXNlUGxhdGZvcm1XaWRn
ZXQoKQoreworICAgIFJlbGVhc2UocGxhdGZvcm1XaWRnZXQoKSk7Cit9CisKK3ZvaWQgV2lkZ2V0
OjpyZXRhaW5QbGF0Zm9ybVdpZGdldCgpCit7CisgICAgUmV0YWluKHBsYXRmb3JtV2lkZ2V0KCkp
OworfQorCit2b2lkIFdpZGdldDo6c2V0Q3Vyc29yKGNvbnN0IEN1cnNvciYgY3Vyc29yKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2lkZ2V0OjpzaG93KCkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOyAKK30KKwordm9pZCBXaWRnZXQ6OmhpZGUoKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7IAorfQorCit2b2lkIFdpZGdldDo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJl
Y3QmIHJlY3QpCit7CisgICAgLy8gRklYTUU6IHNldCBtX2ZyYW1lIGluc3RlYWQ/CisgICAgLy8g
cGxhdGZvcm1XaWRnZXQoKSBpcyBOVUxMIHdoZW4gY2FsbGVkIGZyb20gU2Nyb2xsYmFyCisgICAg
aWYgKCFwbGF0Zm9ybVdpZGdldCgpKQorICAgICAgICByZXR1cm47CisgICAgcGxhdGZvcm1XaWRn
ZXQoKS0+c2V0TG9jYXRpb24ocmVjdC54KCksIHJlY3QueSgpKTsKKyAgICBwbGF0Zm9ybVdpZGdl
dCgpLT5zZXRTaXplKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Cit9CisKK3ZvaWQgV2lk
Z2V0OjpzZXRJc1NlbGVjdGVkKGJvb2wgaXNTZWxlY3RlZCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCitpbnQgV2lkZ2V0OjpzY3JlZW5XaWR0aCgpIGNvbnN0Cit7CisgICAgY29uc3Qg
V2lkZ2V0KiB3aWRnZXQgPSB0aGlzOworICAgIHdoaWxlICghd2lkZ2V0LT5pc0ZyYW1lVmlldygp
KSB7CisgICAgICAgIHdpZGdldCA9IHdpZGdldC0+cGFyZW50KCk7CisgICAgICAgIGlmICghd2lk
Z2V0KQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmICghd2lkZ2V0KQorICAgICAg
ICByZXR1cm4gMDsKKyAgICBhbmRyb2lkOjpXZWJWaWV3Q29yZSogY29yZSA9IGFuZHJvaWQ6Oldl
YlZpZXdDb3JlOjpnZXRXZWJWaWV3Q29yZSgKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU2Ny
b2xsVmlldyo+KHdpZGdldCkpOworICAgIGlmICghY29yZSkKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIGNvcmUtPnNjcmVlbldpZHRoKCk7Cit9CisKK30gLy8gV2ViQ29yZSBuYW1lcHNh
Y2UK
</data>
<flag name="review"
          id="15849"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>