<?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>51382</bug_id>
          
          <creation_ts>2010-12-20 23:03:40 -0800</creation_ts>
          <short_desc>[Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.</short_desc>
          <delta_ts>2011-01-17 16:44:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://crbug.com/60427</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="Naoki Takano">honten</reporter>
          <assigned_to name="Naoki Takano">honten</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dhollowa</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>honten</cc>
    
    <cc>isherman</cc>
    
    <cc>jcivelli</cc>
    
    <cc>levin</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>324845</commentid>
    <comment_count>0</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-20 23:03:40 -0800</bug_when>
    <thetext>[Chromium]Issue 6024008: Consider the popup window position when the window shows upward</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324849</commentid>
    <comment_count>1</comment_count>
      <attachid>77086</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-20 23:05:07 -0800</bug_when>
    <thetext>Created attachment 77086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324859</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-20 23:20:18 -0800</bug_when>
    <thetext>Added two people who have done a lot of recent changes in this file so they can give their opinion on the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324884</commentid>
    <comment_count>3</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 00:16:22 -0800</bug_when>
    <thetext>This patch is related to [Chromium]Issue 6024008.

But I noticed the patch is not enough. I tried to upload it again, but I cannot upload because of utf8 decode error as following,

WebKit/wx/ChangeLog&quot; took 0.01s
Traceback (most recent call last):
  File &quot;WebKitTools/Scripts/webkit-patch&quot;, line 70, in &lt;module&gt;
    main()
  File &quot;WebKitTools/Scripts/webkit-patch&quot;, line 65, in main
    WebKitPatch(__file__).main()
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 308, in main
    result = command.check_arguments_and_execute(options, args, self)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/multicommandtool.py&quot;, line 117, in check_arguments_and_execute
    return self.execute(options, args, tool) or 0
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/commands/abstractsequencedcommand.py&quot;, line 43, in execute
    self._sequence.run_and_handle_errors(tool, options, self._prepare_state(options, args, tool))
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/commands/stepsequence.py&quot;, line 70, in run_and_handle_errors
    self._run(tool, options, state)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/commands/stepsequence.py&quot;, line 64, in _run
    step(tool, options).run(state)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/tool/steps/suggestreviewers.py&quot;, line 45, in run
    reviewers = self._tool.checkout().suggested_reviewers(self._options.git_commit, self._changed_files(state))
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/api.py&quot;, line 127, in suggested_reviewers
    commit_infos = self.recent_commit_infos_for_files(changed_files)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/api.py&quot;, line 123, in recent_commit_infos_for_files
    return set(map(self.commit_info_for_revision, revisions))
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/memoized.py&quot;, line 45, in __call__
    result = self._function(*args)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/api.py&quot;, line 66, in commit_info_for_revision
    changelog_entries = self.changelog_entries_for_revision(revision)
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/api.py&quot;, line 61, in changelog_entries_for_revision
    return [self._latest_entry_for_changelog_at_revision(path, revision) for path in changed_files if self._is_path_to_changelog(path)]
  File &quot;/mnt/chrome/src/third_party/WebKit/WebKitTools/Scripts/webkitpy/common/checkout/api.py&quot;, line 56, in _latest_entry_for_changelog_at_revision
    changelog_file = StringIO.StringIO(changelog_contents.decode(&quot;utf-8&quot;))
  File &quot;/usr/lib/python2.6/encodings/utf_8.py&quot;, line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: &apos;utf8&apos; codec can&apos;t decode bytes in position 819-821: invalid data

I don&apos;t use any special mutibyte character.

Do you have any suggestion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324885</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-21 00:20:46 -0800</bug_when>
    <thetext>+ Eric (our webkit-patch Unicode expert)

&gt; Do you have any suggestion?

Sorry webkit-patch didn&apos;t work for you.  You can use Tools/Scripts/prepare-ChangeLogs and Tools/Scripts/svn-create-patch to create the ChangeLogs and generate the patch manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324886</commentid>
    <comment_count>5</comment_count>
      <attachid>77089</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 00:21:03 -0800</bug_when>
    <thetext>Created attachment 77089
Uploaded again because the previous patch has bug.

I cannot revise my patch due to very strange error.

So, for now, I uploaded patch itself again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324888</commentid>
    <comment_count>6</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 00:24:00 -0800</bug_when>
    <thetext>Eric,

Thank you for your comment.

But I cannot find &quot;Tools&quot; folder in WebKit.

Where is this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324889</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:24:31 -0800</bug_when>
    <thetext>Yes, don&apos;t pass --suggested-reviewers and your upload shoudl be fine.  WE need to file that unicode error for --suggested-reviewers and get it fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324890</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:24:44 -0800</bug_when>
    <thetext>WebKitTools recently moved to Tools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324891</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:25:42 -0800</bug_when>
    <thetext>I suspect that WebKit/wx/ChangeLog has non-utf8 in it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324892</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:26:54 -0800</bug_when>
    <thetext>Yup.  WebKit/wx/ChangeLog needs to be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324894</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:37:09 -0800</bug_when>
    <thetext>I fixed the ChangeLog in r74405.  However since --suggest-reviewers will pull the ChangeLog from the original commit, that wont&apos; fix your issue.  I suggest just not passing --suggest-reviewers next time you use webkit-patch upload for this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324895</commentid>
    <comment_count>12</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 00:42:44 -0800</bug_when>
    <thetext>Eric,

As I said, I cannot find any &quot;Tools&quot; folder.

The all files and folder in WebKit root folder are following,

Android.mk           CMakeLists.txt      Makefile         WebKit2
ANGLE                common.pri          Makefile.shared  WebKitExamplePlugins
autogen.sh           configure.ac        PageLoadTests    WebKitLibraries
autotools            DerivedSources.pro  PlanetWebKit     WebKit.pri
b                    GNUmakefile.am      SunSpider        WebKit.pro
BugsSite             Issue55874          test2.patch      WebKitSite
ChangeLog            JavaScriptCore      test.patch       WebKitTools
cmake                JavaScriptGlue      WebCore          wscript
cmakeconfig.h.cmake  LayoutTests         WebKit

Or is there in any other root folder?

But I cannot find it even if I &quot;find . -name Tools&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324896</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-21 00:44:20 -0800</bug_when>
    <thetext>Yes, your checkout is out of date.  Just use &quot;WebKitTools&quot; in your checkout.  It was renamed to Tools yesterday.  When you update your checkout, you&apos;ll find that WebKitTools is moved to Tools.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324898</commentid>
    <comment_count>14</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 00:46:26 -0800</bug_when>
    <thetext>I see,

But, right now, I have to sync the rev. with chrome project.
So that&apos;s why the source is a little bit old.

Anyway, if raw patch is fine, I&apos;ll revise with it.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325401</commentid>
    <comment_count>15</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-21 23:18:01 -0800</bug_when>
    <thetext>Is there anybody who can review my patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325403</commentid>
    <comment_count>16</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-21 23:32:54 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Is there anybody who can review my patch?

You have nothing marked for review. (No patches marked with r?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325532</commentid>
    <comment_count>17</comment_count>
      <attachid>77089</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-22 09:58:21 -0800</bug_when>
    <thetext>Comment on attachment 77089
Uploaded again because the previous patch has bug.

Could you review ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325715</commentid>
    <comment_count>18</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-12-22 14:56:55 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=77089&amp;action=review

I&apos;m having some trouble following these changes -- it looks like the patch you&apos;ve uploaded is actually a combination of two diffs: (a) a diff of the second patch to the first, and (b) a diff of the first patch to the trunk version.  Please try again to upload the patch, and double-check that the diff looks right.  If you run into any trouble, probably the quickest way to get help is to hop onto #webkit on IRC, though of course posting questions here or via email also works.

&gt; WebCore/ChangeLog:5
&gt; +        [Chromium]Issue 6024008: Consider the popup window position when the window shows upward

nit: Please refer to the issue number in the Chromium bug tracker, and include a link: http://crbug.com/60427

For the description, I think something like this would be clearer: &quot;Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.&quot;

&gt; WebCore/ChangeLog:14
&gt; +        * platform/chromium/PopupMenuChromium.cpp:
&gt; +        (WebCore::PopupContainer::calcWidgetRect):
&gt; +        (WebCore::PopupContainer::showPopup):
&gt; +        (WebCore::PopupContainer::moveAndLayout):
&gt; +        * platform/chromium/PopupMenuChromium.h:

nit: Please add brief descriptions of the changes for each of these.

&gt; WebCore/platform/chromium/PopupMenuChromium.h:199
&gt; +    IntRect calcWidgetRect(const IntRect&amp; targetFrameRect);

nit: Please include a comment describing what this function does.  Also, prefer the full &quot;calculate&quot; to the abbreviated &quot;calc&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325741</commentid>
    <comment_count>19</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-22 15:43:25 -0800</bug_when>
    <thetext>Ilya,

Thank you for your suggestion.

I&apos;ll fix it and upload the patch again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325878</commentid>
    <comment_count>20</comment_count>
      <attachid>77302</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-22 20:46:37 -0800</bug_when>
    <thetext>Created attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325879</commentid>
    <comment_count>21</comment_count>
      <attachid>77302</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-22 20:47:43 -0800</bug_when>
    <thetext>Comment on attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion

Could you review again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325880</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 20:48:37 -0800</bug_when>
    <thetext>Attachment 77302 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/platform/chromium/PopupMenuChromium.cpp&apos;, u&apos;WebCore/platform/chromium/PopupMenuChromium.h&apos;, u&apos;WebKit/chromium/src/WebViewImpl.cpp&apos;]&quot; exit_code: 1
WebCore/ChangeLog:7410:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7411:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7418:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7420:  Line contains tab character.  [whitespace/tab] [5]
WebCore/ChangeLog:7422:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 5 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325998</commentid>
    <comment_count>23</comment_count>
      <attachid>77302</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2010-12-23 02:30:24 -0800</bug_when>
    <thetext>Comment on attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion

View in context: https://bugs.webkit.org/attachment.cgi?id=77302&amp;action=review

&gt; WebCore/ChangeLog:19
&gt; +          * platform/chromium/PopupMenuChromium.cpp:
&gt; +          (WebCore::PopupContainer::calculateWidgetRect): New Function to
&gt; +					calculate popup widget rect.
&gt; +          (WebCore::PopupContainer::showPopup): Move widgetRect calculation to
&gt; +					calculateWidgetRect().
&gt; +          (WebCore::PopupContainer::moveAndLayout): New function to calculate both
&gt; +					location and size and set the rect.
&gt; +          * platform/chromium/PopupMenuChromium.h: Append new functions.

nit: There&apos;s no 80-col restriction for WebKit, so it&apos;s fine to keep each description on a single line.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:343
&gt;      layout();

It seems weird to me that layout() -- which seems to have side effects -- is being called from a method named &quot;calculateWidgetRect&quot;, which I would expect not to have side effects.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:368
&gt; +                IntRect windowRect(targetFrameRect.location(), size());

This line seems unnecessary given that windowRect is computed above.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:443
&gt; +void PopupContainer::moveAndLayout()

nit: Please add this in the same order as in the header file, below layout().

&gt; WebCore/platform/chromium/PopupMenuChromium.h:199
&gt; +    // Calculate popup widget size and location and returns it as IntRect.

nit: &quot;Calculate popup widget size and location.&quot; (the rest seems redundant to me)

&gt; WebCore/platform/chromium/PopupMenuChromium.h:214
&gt; +    IntRect m_popupRect;

Does the value of this variable ever differ from the value returned by calling frameRect()?  Looking at the code, it seems to me like they are tracking the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326268</commentid>
    <comment_count>24</comment_count>
      <attachid>77302</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2010-12-23 13:53:23 -0800</bug_when>
    <thetext>Comment on attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion

View in context: https://bugs.webkit.org/attachment.cgi?id=77302&amp;action=review

&gt; WebCore/ChangeLog:20
&gt; +

Ok,

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:344
&gt;  

Yes, &quot;calculateWidgetRect()&quot; has side effect. Because the function uses &quot;layout()&quot;. So do you imply I should make &quot;calculateWidgetRect()&quot; have no side effect?

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:369
&gt; +                widgetRect = chromeClient-&gt;windowToScreen(windowRect);

I need more investigation. Because &quot;layout()&quot; has side effect and widgetRect might be change according to &quot;layout()&quot; call. The original code also recalculate here, so that&apos;s why I remained this line.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:444
&gt; +{

Ok,

&gt; WebCore/platform/chromium/PopupMenuChromium.h:200
&gt; +    IntRect calculateWidgetRect(const IntRect&amp; targetFrameRect);

Ok,

&gt; WebCore/platform/chromium/PopupMenuChromium.h:215
&gt;  };

m_popupRect is different from frameRect().
Because frameRect() is variable according to setFrameRect().
But this m_popupRect is saved as the first original position and rect of input text position.

Or do you mean other problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329290</commentid>
    <comment_count>25</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-04 16:27:59 -0800</bug_when>
    <thetext>Could you review my change?

Is there anybody who are familiar with this part?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329928</commentid>
    <comment_count>26</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-05 17:30:53 -0800</bug_when>
    <thetext>I think fishd and dglazkov are appropriate reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329930</commentid>
    <comment_count>27</comment_count>
      <attachid>77302</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-05 17:35:32 -0800</bug_when>
    <thetext>Comment on attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion

View in context: https://bugs.webkit.org/attachment.cgi?id=77302&amp;action=review

&gt; WebCore/ChangeLog:21
&gt; +010-12-09  Dan Bernstein  &lt;mitz@apple.com&gt;

Do not modify an existing ChangeLog entry.
Do not use TAB characters in ChangeLog.

&gt;&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:343
&gt;&gt;      layout();
&gt; 
&gt; It seems weird to me that layout() -- which seems to have side effects -- is being called from a method named &quot;calculateWidgetRect&quot;, which I would expect not to have side effects.

I agree with Ilya.  Side effect in calculateWidgetRect() sounds slightly curious.
Please try removing layout(), and rename it to layoutAndCalculateWidgetRect().

&gt;&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:368
&gt;&gt; +                IntRect windowRect(targetFrameRect.location(), size());
&gt; 
&gt; This line seems unnecessary given that windowRect is computed above.

This &quot;windowRect&quot; hides another &quot;windowRect&quot;.  It&apos;s bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329931</commentid>
    <comment_count>28</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-05 17:36:09 -0800</bug_when>
    <thetext>&gt; Please try removing layout(), and rename it to layoutAndCalculateWidgetRect().

and -&gt; or</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329932</commentid>
    <comment_count>29</comment_count>
      <attachid>77302</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-05 17:39:02 -0800</bug_when>
    <thetext>Comment on attachment 77302
Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion

View in context: https://bugs.webkit.org/attachment.cgi?id=77302&amp;action=review

&gt; WebCore/ChangeLog:10
&gt; +          [Chromium]Issue 60427: Fix popup menu re-positioning when the menu
&gt; +					is opened upward, above the corresponding form field.
&gt; +					http://crbug.com/60427 
&gt; +          https://bugs.webkit.org/show_bug.cgi?id=51382
&gt; + 
&gt; +          No new tests. (OOPS!)

The summary has too much information.
I like:

    [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
    https://bugs.webkit.org/show_bug.cgi?id=51382
    http://crbug.com/60427

    &lt;Add how you fix this bug&gt;

Please remove &quot;(OOPS!)&quot;, and add a reason why no new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330056</commentid>
    <comment_count>30</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-05 23:22:23 -0800</bug_when>
    <thetext>Thanks, Kent,

I&apos;ll update patch again later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330663</commentid>
    <comment_count>31</comment_count>
      <attachid>78213</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-06 23:24:53 -0800</bug_when>
    <thetext>Created attachment 78213
Eliminate layout() call from calculateWidgetRect() and change the name to layoutOrCalculateWidgetRect()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330664</commentid>
    <comment_count>32</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-06 23:26:16 -0800</bug_when>
    <thetext>I eliminated layout() call form calculateWidgetRect().

Could you review it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330670</commentid>
    <comment_count>33</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-01-07 00:00:53 -0800</bug_when>
    <thetext>Apologies for the delay in responding.

(In reply to comment #24)
&gt; (From update of attachment 77302 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77302&amp;action=review
&gt; 
&gt; Yes, &quot;calculateWidgetRect()&quot; has side effect. Because the function uses &quot;layout()&quot;. So do you imply I should make &quot;calculateWidgetRect()&quot; have no side effect?

I think either it should have no side effect, or it should have a name that makes it clearer that there will be a side effect.

&gt; &gt; WebCore/platform/chromium/PopupMenuChromium.cpp:369
&gt; &gt; +                widgetRect = chromeClient-&gt;windowToScreen(windowRect);
&gt; 
&gt; I need more investigation. Because &quot;layout()&quot; has side effect and widgetRect might be change according to &quot;layout()&quot; call. The original code also recalculate here, so that&apos;s why I remained this line.

I also didn&apos;t investigate closely -- it just looked rather surprising when reading the code.  If you find that you need to leave this in place, please add a brief comment explaining why it&apos;s needed =)

&gt; &gt; WebCore/platform/chromium/PopupMenuChromium.h:215
&gt; &gt;  };
&gt; 
&gt; m_popupRect is different from frameRect().
&gt; Because frameRect() is variable according to setFrameRect().
&gt; But this m_popupRect is saved as the first original position and rect of input text position.
&gt; 
&gt; Or do you mean other problem?

Again, I didn&apos;t try making this change, but it strikes me as odd that we need to cache the input text field&apos;s position.  It seems like we should be able to query the position directly from the input text field when we need it, though it might be that there&apos;s no (clean/easy) way to do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330671</commentid>
    <comment_count>34</comment_count>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-01-07 00:03:40 -0800</bug_when>
    <thetext>Erm, some of the comments in comment 33 are obsolete.  I should have read through the rest of the comments before posting -- sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330672</commentid>
    <comment_count>35</comment_count>
      <attachid>78213</attachid>
    <who name="Ilya Sherman">isherman</who>
    <bug_when>2011-01-07 00:11:38 -0800</bug_when>
    <thetext>Comment on attachment 78213
Eliminate layout() call from calculateWidgetRect() and change the name to layoutOrCalculateWidgetRect()

View in context: https://bugs.webkit.org/attachment.cgi?id=78213&amp;action=review

You should set &quot;r: ?&quot; and &quot;cq: ?&quot; for patches that you&apos;d like reviewed -- setting &quot;r: -&quot; means that the review has been denied.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:332
&gt; +IntRect PopupContainer::layoutOrCalculateWidgetRect()

nit: Since you don&apos;t call layout() within this function, the name calculateWidgetRect() is more appropriate.  I think you read Kent&apos;s &quot;and -&gt; or&quot; comment as applying to the wrong &quot;and&quot; ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330823</commentid>
    <comment_count>36</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-07 09:48:41 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; Apologies for the delay in responding.
No problem,

&gt; &gt; &gt; WebCore/platform/chromium/PopupMenuChromium.h:215
&gt; &gt; &gt;  };
&gt; &gt; 
&gt; &gt; m_popupRect is different from frameRect().
&gt; &gt; Because frameRect() is variable according to setFrameRect().
&gt; &gt; But this m_popupRect is saved as the first original position and rect of input text position.
&gt; &gt; 
&gt; &gt; Or do you mean other problem?
&gt; 
&gt; Again, I didn&apos;t try making this change, but it strikes me as odd that we need to cache the input text field&apos;s position.  It seems like we should be able to query the position directly from the input text field when we need it, though it might be that there&apos;s no (clean/easy) way to do that.

I see. Actually, I didn&apos;t find the way to query the input text field position, so I cached m_popupRect. I try to find the way, but do you have any suggestion or referred part?

Also I roll back calculateWidgetRect() function name. I totally misunderstood Kent&apos;s comment. Sorry;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331150</commentid>
    <comment_count>37</comment_count>
      <attachid>78303</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-07 21:50:56 -0800</bug_when>
    <thetext>Created attachment 78303
Remove m_popupRect

 Remove m_popupRect.
    Change name of layoutOrCalculateWidgetRect().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331151</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-07 21:52:09 -0800</bug_when>
    <thetext>Attachment 78303 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;WebCore/ChangeLog&apos;, u&apos;WebCore/platform/chromium/PopupMenuChromium.cpp&apos;, u&apos;WebCore/platform/chromium/PopupMenuChromium.h&apos;, u&apos;WebKit/chromium/src/WebViewImpl.cpp&apos;]&quot; exit_code: 1
WebCore/platform/chromium/PopupMenuChromium.h:174:  The parameter name &quot;r&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>331152</commentid>
    <comment_count>39</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-07 21:55:43 -0800</bug_when>
    <thetext>I&apos;ll fix style bug later, but I want to make sure if it&apos;s correct to move away m_popupRect.
Could you review my patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332151</commentid>
    <comment_count>40</comment_count>
      <attachid>78303</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-10 21:50:06 -0800</bug_when>
    <thetext>Comment on attachment 78303
Remove m_popupRect

View in context: https://bugs.webkit.org/attachment.cgi?id=78303&amp;action=review

The code change looks ok to me.
r- because of out-of-sync ChangeLog.


&gt; WebCore/ChangeLog:15
&gt; +        * platform/chromium/PopupMenuChromium.cpp:
&gt; +        (WebCore::PopupContainer::layoutOrCalculateWidgetRect): New Function to calculate popup widget rect.
&gt; +        (WebCore::PopupContainer::showPopup): Move widgetRect calculation to calculateWidgetRect().
&gt; +        (WebCore::PopupContainer::moveAndLayout): New function to Calculate both location and size and set the rect.
&gt; +        * platform/chromium/PopupMenuChromium.h: Append new functions.

Please update the ChangeLog entry.

I&apos;d like to know why the boundsRect() -&gt; frameRect() changes in WebViewImpl.cpp are needed.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:564
&gt; +void PopupContainer::refresh(const IntRect&amp; r)

Please use more descriptive parameter name.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:568
&gt; +     // Move it below the select widget.
&gt; +    location.move(0, r.height());

Indentation error.

&gt; WebCore/platform/chromium/PopupMenuChromium.h:166
&gt; +     // Compute size and location of widget and children.
&gt; +    void moveAndLayout();
&gt; +

This block seems to be unnecessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332172</commentid>
    <comment_count>41</comment_count>
      <attachid>78498</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-10 23:17:34 -0800</bug_when>
    <thetext>Created attachment 78498
Revise ChangeLog and format errors.

Add more description for ChangeLogs.
Also fix some format errors.

Could you review again?

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>332885</commentid>
    <comment_count>42</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-11 20:16:49 -0800</bug_when>
    <thetext>Kent,

Could you review my change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333545</commentid>
    <comment_count>43</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-12 21:56:59 -0800</bug_when>
    <thetext>Could you review, Kent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333584</commentid>
    <comment_count>44</comment_count>
      <attachid>78498</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-13 01:21:23 -0800</bug_when>
    <thetext>Comment on attachment 78498
Revise ChangeLog and format errors.

View in context: https://bugs.webkit.org/attachment.cgi?id=78498&amp;action=review

I&apos;m not familiar with this area.  I&apos;m trying to understand...

r- because of wrong ChangeLog.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:332
&gt; +IntRect PopupContainer::calculateWidgetRect(const IntRect&amp; popupRect)

&quot;popupRect&quot; parameter seems not to represent a rectangle of something.
What we need is
 - initial coordinate of the popup, and
 - the height of the target form control.
Right?

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:347
&gt; +        IntRect windowRect(popupRect.location(), targetSize);
&gt; +        widgetRect = chromeClient-&gt;windowToScreen(windowRect);

We can omit the local variable &quot;windowRect&quot;.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:-368
&gt; -                if (spaceAbove &gt; spaceBelow)
&gt; -                    m_listBox-&gt;setMaxHeight(spaceAbove);
&gt; -                else
&gt; -                    m_listBox-&gt;setMaxHeight(spaceBelow);
&gt; -                layout();
&gt; -                // Our size has changed, recompute the widgetRect.
&gt; -                widgetRect = chromeClient-&gt;windowToScreen(frameRect());

This removal looks to change the existing behavior.  I wonder what&apos;s the behavior change.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:375
&gt; +        const IntRect widgetRect = calculateWidgetRect(popupRect);
&gt;          chromeClient-&gt;popupOpened(this, widgetRect, false);

We can merge these two lines.  The local variable &quot;widgetRect&quot; is not needed.

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:575
&gt; +    IntRect popupRect = IntRect(location, focusRect.size());
&gt; +
&gt;      listBox()-&gt;updateFromElement();
&gt; +    // Store the original height to check if we need to request the location.
&gt; +    int originalHeight = height();
&gt;      layout();
&gt; +    IntRect widgetRect = calculateWidgetRect(popupRect);

The local variable &quot;popupRect&quot; is referred just once. We can omit it.

&gt; WebCore/platform/chromium/PopupMenuChromium.h:171
&gt; +    void refresh(const IntRect&amp;);

It&apos;s unclear what rectangle should be passed.

&gt; WebKit/ChangeLog:1
&gt; +2011-01-10  Naoki Takano  &lt;takano.naoki@gmail.com&gt;

You edited a wrong ChangeLog.  You should update WebKit/chromium/ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333597</commentid>
    <comment_count>45</comment_count>
      <attachid>78498</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-13 02:00:47 -0800</bug_when>
    <thetext>Comment on attachment 78498
Revise ChangeLog and format errors.

View in context: https://bugs.webkit.org/attachment.cgi?id=78498&amp;action=review

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:333
&gt;  {

Yes,
So should I split it to two params, or just to change the name is enough?

&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:357
&gt;                  // And move upwards if necessary.

Yes,
You are right.
So I should look into more.
But it need to call setMaxHeight() part, I&apos;ll pull out this part.

&gt; WebCore/platform/chromium/PopupMenuChromium.h:172
&gt;  

Ok,
So is it enough to add more comment here?

&gt; WebKit/ChangeLog:2
&gt; +

Thank you for your suggestion.
I didn&apos;t know that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333598</commentid>
    <comment_count>46</comment_count>
      <attachid>78498</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-13 02:05:03 -0800</bug_when>
    <thetext>Comment on attachment 78498
Revise ChangeLog and format errors.

View in context: https://bugs.webkit.org/attachment.cgi?id=78498&amp;action=review

&gt;&gt; WebCore/platform/chromium/PopupMenuChromium.cpp:333
&gt;&gt;  {
&gt; 
&gt; Yes,
&gt; So should I split it to two params, or just to change the name is enough?

Should split it into two.

&gt;&gt; WebCore/platform/chromium/PopupMenuChromium.h:172
&gt;&gt;  
&gt; 
&gt; Ok,
&gt; So is it enough to add more comment here?

Either of adding a comment or add a meaningful parameter name.

&gt;&gt; WebKit/ChangeLog:2
&gt;&gt; +
&gt; 
&gt; Thank you for your suggestion.
&gt; I didn&apos;t know that.

You should use Tools/Scripts/prepare-ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333600</commentid>
    <comment_count>47</comment_count>
      <attachid>78498</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-13 02:10:46 -0800</bug_when>
    <thetext>Comment on attachment 78498
Revise ChangeLog and format errors.

View in context: https://bugs.webkit.org/attachment.cgi?id=78498&amp;action=review

&gt; WebCore/platform/chromium/PopupMenuChromium.h:173
&gt;      // The menu per-item data.

WebKit format don&apos;t look like to take parameter names in header file declaration.
Is it Ok to add a meaningful parameter name in WebKit format?

&gt; WebKit/ChangeLog:3
&gt; +        [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.

I wanted to use it.
But it failed due to UTF8 coding errors.
I&apos;ll try it again, but if I can&apos;t I&apos;ll edit manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333601</commentid>
    <comment_count>48</comment_count>
      <attachid>78498</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-13 02:17:25 -0800</bug_when>
    <thetext>Comment on attachment 78498
Revise ChangeLog and format errors.

View in context: https://bugs.webkit.org/attachment.cgi?id=78498&amp;action=review

Please use the reply feature when you add a reply comment.
You can write a reply by clicking a comment which you&apos;d like to reply to.

&gt;&gt; WebCore/platform/chromium/PopupMenuChromium.h:173
&gt;&gt;      // The menu per-item data.
&gt; 
&gt; WebKit format don&apos;t look like to take parameter names in header file declaration.
&gt; Is it Ok to add a meaningful parameter name in WebKit format?

http://webkit.org/coding/coding-style.html
&gt; 8. Leave meaningless variable names out of function declarations.

So, we should keep meaningful variable names in declarations.  There are many examples in WebKit headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334036</commentid>
    <comment_count>49</comment_count>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-13 16:59:41 -0800</bug_when>
    <thetext>Kent,

Thank you for your review and comment every time.

(In reply to comment #48)
&gt; Please use the reply feature when you add a reply comment.
&gt; You can write a reply by clicking a comment which you&apos;d like to reply to.
Ok,


&gt; So, we should keep meaningful variable names in declarations.  There are many examples in WebKit headers.
I see.

I just mimic the declaration in the same header file. I should read WebKit coding style guide again.


Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334152</commentid>
    <comment_count>50</comment_count>
      <attachid>78899</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-14 00:43:38 -0800</bug_when>
    <thetext>Created attachment 78899
Fix comments and pull out setMaxHeight() call.

Kent,

Could you review again?

At this time, I pull out setMaxHeight() call, so I cannot delete some RectInt local object to call the function.
Also according to the latest source code location change, I changed the patch.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334867</commentid>
    <comment_count>51</comment_count>
      <attachid>79057</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-14 23:59:08 -0800</bug_when>
    <thetext>Created attachment 79057
Restore layout() call

Sorry for bothering you again.

But I restore layout() call to layoutAndCalculateWidgetRect().
Because my previous patch does not work well about layout() and setMaxHeight() call.
I tried to rewrite it as the same call without layout() call, but it became confusing.

Please review it.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334868</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-15 00:00:11 -0800</bug_when>
    <thetext>Attachment 79057 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/chromium/PopupMenuChromium.cpp:584:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335161</commentid>
    <comment_count>53</comment_count>
      <attachid>79057</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-16 23:42:30 -0800</bug_when>
    <thetext>Comment on attachment 79057
Restore layout() call

View in context: https://bugs.webkit.org/attachment.cgi?id=79057&amp;action=review

I think the code is good and has no wrong side effects.
r- because of a style error.

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.cpp:585
&gt; +    IntRect widgetRect = layoutAndCalculateWidgetRect(targetFormRect.height(), location);
&gt; +   if (originalHeight != widgetRect.height())
&gt; +        setFrameRect(widgetRect);

Wrong indentation.

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.h:171
&gt; +    void refresh(const IntRect&amp; targetFormRect);

nit: the target is not a form, it&apos;s a form control.  So I prefer &quot;targetControlRect&quot; for the parmeter name.

&gt; Source/WebCore/platform/chromium/PopupMenuChromium.h:197
&gt; +    IntRect layoutAndCalculateWidgetRect(int heightOfTargetFormControl, const IntPoint&amp; initialCoordinateOfPopup);

nit: Using &quot;of&quot; for variable names are not so common. I prefer:
 - targetControlHeight and
 - popupInitialCoordinate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335184</commentid>
    <comment_count>54</comment_count>
      <attachid>79135</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-17 00:25:54 -0800</bug_when>
    <thetext>Created attachment 79135
Change names and indentation.

Changed some param names according to your suggestion.

Please review it.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335212</commentid>
    <comment_count>55</comment_count>
      <attachid>79135</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-17 01:51:16 -0800</bug_when>
    <thetext>Comment on attachment 79135
Change names and indentation.

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335220</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-17 02:19:43 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 79135:

http/tests/appcache/xhr-foreign-resource.html bug 52562 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335221</commentid>
    <comment_count>57</comment_count>
      <attachid>79135</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-17 02:24:14 -0800</bug_when>
    <thetext>Comment on attachment 79135
Change names and indentation.

Rejecting attachment 79135 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
ce-expected.txt
	M	LayoutTests/ChangeLog
r75930 = cda0ab5a05703c4a6769fee4d5a613ed7523d38f (refs/remotes/trunk)
	M	Source/WebKit/chromium/tests/WebFrameTest.cpp
	M	Source/WebKit/chromium/ChangeLog
r75931 = 5e0e02629103bd87b049b6be215b2160cb3c58b8 (refs/remotes/trunk)
Auto packing the repository for optimum performance. You may also
run &quot;git gc&quot; manually. See &quot;git help gc&quot; for more information.
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/trunk.

Full output: http://queues.webkit.org/results/7563151</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335224</commentid>
    <comment_count>58</comment_count>
      <attachid>79135</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-17 02:30:23 -0800</bug_when>
    <thetext>Comment on attachment 79135
Change names and indentation.

View in context: https://bugs.webkit.org/attachment.cgi?id=79135&amp;action=review

&gt; Source/WebCore/ChangeLog:3
&gt; +2011-01-13  Naoki Takano  &lt;takano.naoki@gmail.com&gt;
&gt; +
&gt; +        [Chromium] Fix popup menu re-positioning when the menu is opened

The ChangeLog format is wrong.  Please insert &quot; Reviewed by NOBODY (OOPS!).&quot; and 1 blank line between date&amp;name and the summary line like the following.

2011-01-13  Naoki Takano  &lt;takano.naoki@gmail.com&gt;
 
         Reviewed by NOBODY (OOPS!).
 
         [Chromium] Fix popup menu ...

&gt; WebKit/chromium/ChangeLog:3
&gt; +2011-01-10  Naoki Takano  &lt;takano.naoki@gmail.com&gt;
&gt; +
&gt; +        [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335397</commentid>
    <comment_count>59</comment_count>
      <attachid>79189</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-17 10:44:49 -0800</bug_when>
    <thetext>Created attachment 79189
Chnage ChangeLog.

Inserted one line into each ChangeLog.

Please review it again.

Thanks,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335400</commentid>
    <comment_count>60</comment_count>
      <attachid>79190</attachid>
    <who name="Naoki Takano">honten</who>
    <bug_when>2011-01-17 10:48:30 -0800</bug_when>
    <thetext>Created attachment 79190
Delete one white space.

Oops, I deleted one white space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335580</commentid>
    <comment_count>61</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-17 16:41:25 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 79190:

inspector/debugger-pause-on-breakpoint.html bug 51320 (author: podivilov@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335581</commentid>
    <comment_count>62</comment_count>
      <attachid>79190</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-17 16:44:39 -0800</bug_when>
    <thetext>Comment on attachment 79190
Delete one white space.

Clearing flags on attachment: 79190

Committed r75982: &lt;http://trac.webkit.org/changeset/75982&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335582</commentid>
    <comment_count>63</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-01-17 16:44:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77086</attachid>
            <date>2010-12-20 23:05:07 -0800</date>
            <delta_ts>2010-12-20 23:28:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51382-20101220230506.patch</filename>
            <type>text/plain</type>
            <size>5902</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0u
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKaW5k
ZXggNGZkOTFiNDU5YjgyZDUxYTVhZTg3ZTEzODU5ZjY1ZDRkMGFlMDI4Ny4uZjRlZDQyODFlYzZh
NDQ2ZWEwOTc0MDdiZTk3OTBmOTk5ZjgzNDNmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKQEAgLTMyOSwxMCArMzI5LDEwIEBAIFBvcHVw
Q29udGFpbmVyOjp+UG9wdXBDb250YWluZXIoKQogICAgICAgICByZW1vdmVDaGlsZChtX2xpc3RC
b3guZ2V0KCkpOwogfQogCi12b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3
KiB2aWV3KQorSW50UmVjdCBQb3B1cENvbnRhaW5lcjo6Y2FsY1dpZGdldFJlY3QoY29uc3QgSW50
UmVjdCYgdGFyZ2V0RnJhbWVSZWN0KQogewogICAgIC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1h
dGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3duIGNvbnRyb2wuCi0gICAgaW50IHNlbGVjdEhlaWdo
dCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOworICAgIGludCBzZWxlY3RIZWlnaHQgPSB0YXJnZXRG
cmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAvLyBSZXNldCB0aGUgbWF4IGhlaWdodCB0byBpdHMg
ZGVmYXVsdCB2YWx1ZSwgaXQgd2lsbCBiZSByZWNvbXB1dGVkIGJlbG93CiAgICAgLy8gaWYgbmVj
ZXNzYXJ5LgpAQCAtMzQyLDE0ICszNDIsMTQgQEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1Bv
cHVwKEZyYW1lVmlldyogdmlldykKICAgICAvLyBXaWRnZXRDbGllbnQgYWJvdXQgaXQuICBJdCBz
aG91bGQgYXNzaWduIHVzIGEgY2xpZW50LgogICAgIGxheW91dCgpOwogCi0gICAgbV9mcmFtZVZp
ZXcgPSB2aWV3OworICAgIEludFJlY3Qgd2lkZ2V0UmVjdDsKICAgICBDaHJvbWVDbGllbnRDaHJv
bWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21lQ2xpZW50Q2hyb21pdW0oKTsKICAgICBpZiAoY2hy
b21lQ2xpZW50KSB7CiAgICAgICAgIC8vIElmIHRoZSBwb3B1cCB3b3VsZCBleHRlbmQgcGFzdCB0
aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4sIG9wZW4gdXB3YXJkcwogICAgICAgICAvLyBpbnN0ZWFk
LgotICAgICAgICBGbG9hdFJlY3Qgc2NyZWVuID0gc2NyZWVuQXZhaWxhYmxlUmVjdCh2aWV3KTsK
LSAgICAgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gY2hyb21lQ2xpZW50LT53aW5kb3dUb1NjcmVl
bihmcmFtZVJlY3QoKSk7Ci0KKyAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWls
YWJsZVJlY3QobV9mcmFtZVZpZXcuZ2V0KCkpOworICAgICAgICBJbnRSZWN0IHdpbmRvd1JlY3Qo
dGFyZ2V0RnJhbWVSZWN0LmxvY2F0aW9uKCksIHNpemUoKSk7CisgICAgICAgIHdpZGdldFJlY3Qg
PSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKHdpbmRvd1JlY3QpOwogICAgICAgICBpZiAo
d2lkZ2V0UmVjdC5ib3R0b20oKSA+IHN0YXRpY19jYXN0PGludD4oc2NyZWVuLmJvdHRvbSgpKSkg
ewogICAgICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgpIC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAt
IHNlbGVjdEhlaWdodCA+IDApIHsKICAgICAgICAgICAgICAgICAvLyBUaGVyZSBpcyBlbm91Z2gg
cm9vbSB0byBvcGVuIHVwd2FyZHMuCkBAIC0zNjUsMTIgKzM2NSwyNCBAQCB2b2lkIFBvcHVwQ29u
dGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICAgICAgICAgICAgICBt
X2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFjZUJlbG93KTsKICAgICAgICAgICAgICAgICBsYXlv
dXQoKTsKICAgICAgICAgICAgICAgICAvLyBPdXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRl
IHRoZSB3aWRnZXRSZWN0LgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGll
bnQtPndpbmRvd1RvU2NyZWVuKGZyYW1lUmVjdCgpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0
IHdpbmRvd1JlY3QodGFyZ2V0RnJhbWVSZWN0LmxvY2F0aW9uKCksIHNpemUoKSk7CisgICAgICAg
ICAgICAgICAgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4od2luZG93
UmVjdCk7CiAgICAgICAgICAgICAgICAgLy8gQW5kIG1vdmUgdXB3YXJkcyBpZiBuZWNlc3Nhcnku
CiAgICAgICAgICAgICAgICAgaWYgKHNwYWNlQWJvdmUgPiBzcGFjZUJlbG93KQogICAgICAgICAg
ICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgc2Vs
ZWN0SGVpZ2h0KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJu
IHdpZGdldFJlY3Q7Cit9CisKK3ZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZp
ZXcqIHZpZXcpCit7CisgICAgbV9mcmFtZVZpZXcgPSB2aWV3OworCisgICAgQ2hyb21lQ2xpZW50
Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CisgICAgaWYg
KGNocm9tZUNsaWVudCkgeworICAgICAgICBjb25zdCBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxj
V2lkZ2V0UmVjdChmcmFtZVJlY3QoKSk7CiAgICAgICAgIGNocm9tZUNsaWVudC0+cG9wdXBPcGVu
ZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2UpOwogICAgICAgICBtX3BvcHVwT3BlbiA9IHRydWU7
CiAgICAgfQpAQCAtNDMxLDUyICs0NDMsMTAgQEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6bm90aWZ5
UG9wdXBIaWRkZW4oKQogdm9pZCBQb3B1cENvbnRhaW5lcjo6bW92ZUFuZExheW91dCgpIHsKICAg
ICAvLyBTdG9yZSB0aGUgb3JpZ2luYWwgaGVpZ2h0IHRvIGNoZWNrIGlmIHdlIG5lZWQgdG8gcmVx
dWVzdCB0aGUgbG9jYXRpb24uCiAgICAgaW50IG9yaWdpbmFsSGVpZ2h0ID0gaGVpZ2h0KCk7Cisg
ICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gY2FsY1dpZGdldFJlY3QocG9wdXBSZWN0Xyk7CisgICAg
aWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIHNldEZy
YW1lUmVjdCh3aWRnZXRSZWN0KTsKIAotICAgIC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNo
ZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3duIGNvbnRyb2wuCi0gICAgLy8gaW50IHNlbGVjdEhlaWdo
dCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOwotICAgIGludCBzZWxlY3RIZWlnaHQgPSBwb3B1cFJl
Y3RfLmhlaWdodCgpOwotCi0gICAgLy8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1
bHQgdmFsdWUsIGl0IHdpbGwgYmUgcmVjb21wdXRlZCBiZWxvdwotICAgIC8vIGlmIG5lY2Vzc2Fy
eS4KLSAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChrTWF4SGVpZ2h0KTsKLQotICAgIC8vIExh
eSBldmVyeXRoaW5nIG91dCB0byBmaWd1cmUgb3V0IG91ciBwcmVmZXJyZWQgc2l6ZSwgdGhlbiB0
ZWxsIHRoZSB2aWV3J3MKLSAgICAvLyBXaWRnZXRDbGllbnQgYWJvdXQgaXQuICBJdCBzaG91bGQg
YXNzaWduIHVzIGEgY2xpZW50LgotICAgIGxheW91dCgpOwotICAgIENocm9tZUNsaWVudENocm9t
aXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwotICAgIGlmIChjaHJv
bWVDbGllbnQpIHsKLSAgICAgICAvLyBJZiB0aGUgcG9wdXAgd291bGQgZXh0ZW5kIHBhc3QgdGhl
IGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVuIHVwd2FyZHMKLSAgICAgICAgLy8gaW5zdGVhZC4K
LSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3QobV9mcmFtZVZp
ZXcuZ2V0KCkpOwotICAgICAgICBJbnRSZWN0IHdpbmRvd1JlY3QocG9wdXBSZWN0Xy5sb2NhdGlv
bigpLCBzaXplKCkpOwotICAgICAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQt
PndpbmRvd1RvU2NyZWVuKHdpbmRvd1JlY3QpOwotICAgICAgICBpZiAod2lkZ2V0UmVjdC5ib3R0
b20oKSA+IHN0YXRpY19jYXN0PGludD4oc2NyZWVuLmJvdHRvbSgpKSkgewotICAgICAgICAgICAg
aWYgKHdpZGdldFJlY3QueSgpIC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAtIHNlbGVjdEhlaWdodCA+
IDApIHsKLSAgICAgICAgICAgICAgICAvLyBUaGVyZSBpcyBlbm91Z2ggcm9vbSB0byBvcGVuIHVw
d2FyZHMuCi0gICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5o
ZWlnaHQoKSArIHNlbGVjdEhlaWdodCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgICAgICAvLyBGaWd1cmUgd2hldGhlciB1cHdhcmRzIG9yIGRvd253YXJkcyBoYXMgbW9yZSBy
b29tIGFuZCBzZXQgdGhlCi0gICAgICAgICAgICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRl
bXMuCi0gICAgICAgICAgICAgICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNl
bGVjdEhlaWdodDsKLSAgICAgICAgICAgICAgICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0
b20oKSAtIHdpZGdldFJlY3QueSgpOwotICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4g
c3BhY2VCZWxvdykKLSAgICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQo
c3BhY2VBYm92ZSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBt
X2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFjZUJlbG93KTsKLSAgICAgICAgICAgICAgICBsYXlv
dXQoKTsKLSAgICAgICAgICAgICAgICAvLyBPdXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRl
IHRoZSB3aWRnZXRSZWN0LgotICAgICAgICAgICAgICAgIEludFJlY3Qgd2luZG93UmVjdChwb3B1
cFJlY3RfLmxvY2F0aW9uKCksIHNpemUoKSk7Ci0gICAgICAgICAgICAgICAgd2lkZ2V0UmVjdCA9
IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4od2luZG93UmVjdCk7Ci0gICAgICAgICAgICAg
ICAgLy8gQW5kIG1vdmUgdXB3YXJkcyBpZiBuZWNlc3NhcnkuCi0gICAgICAgICAgICAgICAgaWYg
KHNwYWNlQWJvdmUgPiBzcGFjZUJlbG93KQotICAgICAgICAgICAgICAgICAgICB3aWRnZXRSZWN0
Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgc2VsZWN0SGVpZ2h0KSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJl
Y3QuaGVpZ2h0KCkpIHsKLSAgICAgICAgICAgIHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICAKICAgICBpbnZhbGlkYXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAppbmRleCAwY2I4NTc2NTZlNDI3
ZDRhNGQyMWZkMmY2NGY4NDhhZDdlMWY2NjQzLi4xNWI3MTI4MDNkMzMwYjI3NjcwMjhiMGM5NTg5
NDUwZmUwN2Q1OTVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVw
TWVudUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5oCkBAIC0xOTYsNiArMTk2LDggQEAgcHJpdmF0ZToKICAgICAvLyBQYWludCB0aGUg
Ym9yZGVyLgogICAgIHZvaWQgcGFpbnRCb3JkZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UmVjdCYpOwogCisgICAgSW50UmVjdCBjYWxjV2lkZ2V0UmVjdChjb25zdCBJbnRSZWN0JiB0YXJn
ZXRGcmFtZVJlY3QpOworCiAgICAgLy8gUmV0dXJucyB0aGUgQ2hyb21lQ2xpZW50IG9mIHRoZSBw
YWdlIHRoaXMgcG9wdXAgaXMgYXNzb2NpYXRlZCB3aXRoLgogICAgIENocm9tZUNsaWVudENocm9t
aXVtKiBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77089</attachid>
            <date>2010-12-21 00:21:03 -0800</date>
            <delta_ts>2010-12-22 20:46:37 -0800</delta_ts>
            <desc>Uploaded again because the previous patch has bug.</desc>
            <filename>webkit.patch</filename>
            <type>text/plain</type>
            <size>15104</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IDkxNWJjNjUyZWVlMDI3YzdhZjNmODA5ZjNmY2JlMzViMmI4MDQyNzEKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgTW9uIERlYyAyMCAy
Mzo0NDo1NiAyMDEwIC0wODAwCgogICAgcm9sbCBiYWNrIENoYW5nZUxvZwoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZjMDI0My4uZjVi
NzIyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMTggKzEsMyBAQAotMjAxMC0xMi0yMCAgTmFva2kgVGFrYW5vICA8dGFrYW5vLm5h
b2tpQGdtYWlsLmNvbT4KLQotICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KLQot
ICAgICAgICBbQ2hyb21pdW1dSXNzdWUgNjAyNDAwODogQ29uc2lkZXIgdGhlIHBvcHVwIHdpbmRv
dyBwb3NpdGlvbiB3aGVuIHRoZSB3aW5kb3cgc2hvd3MgdXB3YXJkCi0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM4MgotCi0gICAgICAgIE5vIG5ldyB0
ZXN0cy4gKE9PUFMhKQotCi0gICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uY3BwOgotICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmNhbGNXaWRnZXRS
ZWN0KToKLSAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXApOgotICAg
ICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6Om1vdmVBbmRMYXlvdXQpOgotICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmg6Ci0KIDIwMTAtMTItMDkgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZl
IEh5YXR0LgoKY29tbWl0IDgzMTRiZWVhOTUwNmFjOTk1MTNhYmIzOGE1NzNjNDM3ZTk0ZGYxOTQK
QXV0aG9yOiBOYW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgTW9u
IERlYyAyMCAyMzoyNToxOCAyMDEwIC0wODAwCgogICAgRml4IHByaXZhdGUgbWVtYmVyIGZvcm1h
dCBlcnJvci4KCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGY1YjcyMjMuLjJmYzAyNDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMTItMjAgIE5h
b2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXUlzc3VlIDYwMjQwMDg6IENv
bnNpZGVyIHRoZSBwb3B1cCB3aW5kb3cgcG9zaXRpb24gd2hlbiB0aGUgd2luZG93IHNob3dzIHVw
d2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEz
ODIKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
Q29udGFpbmVyOjpjYWxjV2lkZ2V0UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRh
aW5lcjo6c2hvd1BvcHVwKToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjptb3Zl
QW5kTGF5b3V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1
bS5oOgorCiAyMDEwLTEyLTA5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKaW5kZXggZjRlZDQyOC4uMjQ4NmE2YiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKQEAgLTQ0
MCwxMCArNDQwLDExIEBAIHZvaWQgUG9wdXBDb250YWluZXI6Om5vdGlmeVBvcHVwSGlkZGVuKCkK
ICAgICBjaHJvbWVDbGllbnRDaHJvbWl1bSgpLT5wb3B1cENsb3NlZCh0aGlzKTsKIH0KIAotdm9p
ZCBQb3B1cENvbnRhaW5lcjo6bW92ZUFuZExheW91dCgpIHsKK3ZvaWQgUG9wdXBDb250YWluZXI6
Om1vdmVBbmRMYXlvdXQoKQorewogICAgIC8vIFN0b3JlIHRoZSBvcmlnaW5hbCBoZWlnaHQgdG8g
Y2hlY2sgaWYgd2UgbmVlZCB0byByZXF1ZXN0IHRoZSBsb2NhdGlvbi4KICAgICBpbnQgb3JpZ2lu
YWxIZWlnaHQgPSBoZWlnaHQoKTsKLSAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxjV2lkZ2V0
UmVjdChwb3B1cFJlY3RfKTsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxjV2lkZ2V0UmVj
dChtX3BvcHVwUmVjdCk7CiAgICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVp
Z2h0KCkpCiAgICAgICAgIHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKIApAQCAtNTc4LDggKzU3
OSw4IEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNob3coY29uc3QgSW50UmVjdCYgciwgRnJhbWVW
aWV3KiB2LCBpbnQgaW5kZXgpCiAgICAgLy8gTW92ZSBpdCBiZWxvdyB0aGUgc2VsZWN0IHdpZGdl
dC4KICAgICBsb2NhdGlvbi5tb3ZlKDAsIHIuaGVpZ2h0KCkpOwogCi0gICAgcG9wdXBSZWN0XyA9
IEludFJlY3QobG9jYXRpb24sIHIuc2l6ZSgpKTsKLSAgICBzZXRGcmFtZVJlY3QocG9wdXBSZWN0
Xyk7CisgICAgbV9wb3B1cFJlY3QgPSBJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSk7CisgICAg
c2V0RnJhbWVSZWN0KG1fcG9wdXBSZWN0KTsKICAgICBzaG93UG9wdXAodik7CiB9CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaCBiL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAppbmRleCAxNWI3MTI4
Li41OWUxOWE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVu
dUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5oCkBAIC0yMTAsNyArMjEwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fcG9wdXBPcGVu
OwogCiAgICAgLy8gU2F2ZSB0aGUgb3JpZ2lubCBvZiBwb3B1cFJlY3QgdG8gY2FsY3VhdGUgdGhl
IGxvY2F0aW9uIGV2ZXJ5dGltZS4KLSAgICBJbnRSZWN0IHBvcHVwUmVjdF87CisgICAgSW50UmVj
dCBtX3BvcHVwUmVjdDsKIH07CiAKIGNsYXNzIFBvcHVwTWVudUNocm9taXVtIDogcHVibGljIFBv
cHVwTWVudSB7Cgpjb21taXQgNzhiNDAyMzhlZTMzYjUxMzYwZmI3ODZmZjIzMzE4MGFiOGEzMjRj
MApBdXRob3I6IE5hb2tpIFRha2FubyA8dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KRGF0ZTogICBN
b24gRGVjIDIwIDIyOjM2OjQ3IDIwMTAgLTA4MDAKCiAgICBGaXggZm9ybWF0IGVycm9yLgoKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKaW5kZXgg
NzlhNWJmNS4uZjRlZDQyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
b3B1cE1lbnVDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cE1lbnVDaHJvbWl1bS5jcHAKQEAgLTMyOSw3ICszMjksOCBAQCBQb3B1cENvbnRhaW5lcjo6flBv
cHVwQ29udGFpbmVyKCkKICAgICAgICAgcmVtb3ZlQ2hpbGQobV9saXN0Qm94LmdldCgpKTsKIH0K
IAotSW50UmVjdCBQb3B1cENvbnRhaW5lcjo6Y2FsY1dpZGdldFJlY3QoY29uc3QgSW50UmVjdCYg
dGFyZ2V0RnJhbWVSZWN0KSB7CitJbnRSZWN0IFBvcHVwQ29udGFpbmVyOjpjYWxjV2lkZ2V0UmVj
dChjb25zdCBJbnRSZWN0JiB0YXJnZXRGcmFtZVJlY3QpCit7CiAgICAgLy8gUHJlLWxheW91dCwg
b3VyIHNpemUgbWF0Y2hlcyB0aGUgPHNlbGVjdD4gZHJvcGRvd24gY29udHJvbC4KICAgICBpbnQg
c2VsZWN0SGVpZ2h0ID0gdGFyZ2V0RnJhbWVSZWN0LmhlaWdodCgpOwogCgpjb21taXQgZGZhODlj
MWM1MmIxNjY1MGU3YjNlY2RlZGRmMTgxYjM1YzU2MWVmOQpBdXRob3I6IE5hb2tpIFRha2FubyA8
dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KRGF0ZTogICBNb24gRGVjIDIwIDIxOjA4OjE5IDIwMTAg
LTA4MDAKCiAgICBtZXJnZSBjYWxjV2lkZ2V0IHJvdXRpbmUuCgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRleCA0ZmQ5MWI0Li43OWE1YmY1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNw
cApAQCAtMzI5LDEwICszMjksOSBAQCBQb3B1cENvbnRhaW5lcjo6flBvcHVwQ29udGFpbmVyKCkK
ICAgICAgICAgcmVtb3ZlQ2hpbGQobV9saXN0Qm94LmdldCgpKTsKIH0KIAotdm9pZCBQb3B1cENv
bnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKLXsKK0ludFJlY3QgUG9wdXBDb250
YWluZXI6OmNhbGNXaWRnZXRSZWN0KGNvbnN0IEludFJlY3QmIHRhcmdldEZyYW1lUmVjdCkgewog
ICAgIC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3du
IGNvbnRyb2wuCi0gICAgaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOwor
ICAgIGludCBzZWxlY3RIZWlnaHQgPSB0YXJnZXRGcmFtZVJlY3QuaGVpZ2h0KCk7CiAKICAgICAv
LyBSZXNldCB0aGUgbWF4IGhlaWdodCB0byBpdHMgZGVmYXVsdCB2YWx1ZSwgaXQgd2lsbCBiZSBy
ZWNvbXB1dGVkIGJlbG93CiAgICAgLy8gaWYgbmVjZXNzYXJ5LgpAQCAtMzQyLDE0ICszNDEsMTQg
QEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKICAgICAv
LyBXaWRnZXRDbGllbnQgYWJvdXQgaXQuICBJdCBzaG91bGQgYXNzaWduIHVzIGEgY2xpZW50Lgog
ICAgIGxheW91dCgpOwogCi0gICAgbV9mcmFtZVZpZXcgPSB2aWV3OworICAgIEludFJlY3Qgd2lk
Z2V0UmVjdDsKICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21l
Q2xpZW50Q2hyb21pdW0oKTsKICAgICBpZiAoY2hyb21lQ2xpZW50KSB7CiAgICAgICAgIC8vIElm
IHRoZSBwb3B1cCB3b3VsZCBleHRlbmQgcGFzdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4sIG9w
ZW4gdXB3YXJkcwogICAgICAgICAvLyBpbnN0ZWFkLgotICAgICAgICBGbG9hdFJlY3Qgc2NyZWVu
ID0gc2NyZWVuQXZhaWxhYmxlUmVjdCh2aWV3KTsKLSAgICAgICAgSW50UmVjdCB3aWRnZXRSZWN0
ID0gY2hyb21lQ2xpZW50LT53aW5kb3dUb1NjcmVlbihmcmFtZVJlY3QoKSk7Ci0KKyAgICAgICAg
RmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3QobV9mcmFtZVZpZXcuZ2V0KCkp
OworICAgICAgICBJbnRSZWN0IHdpbmRvd1JlY3QodGFyZ2V0RnJhbWVSZWN0LmxvY2F0aW9uKCks
IHNpemUoKSk7CisgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2Ny
ZWVuKHdpbmRvd1JlY3QpOwogICAgICAgICBpZiAod2lkZ2V0UmVjdC5ib3R0b20oKSA+IHN0YXRp
Y19jYXN0PGludD4oc2NyZWVuLmJvdHRvbSgpKSkgewogICAgICAgICAgICAgaWYgKHdpZGdldFJl
Y3QueSgpIC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAtIHNlbGVjdEhlaWdodCA+IDApIHsKICAgICAg
ICAgICAgICAgICAvLyBUaGVyZSBpcyBlbm91Z2ggcm9vbSB0byBvcGVuIHVwd2FyZHMuCkBAIC0z
NjUsMTIgKzM2NCwyNCBAQCB2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3
KiB2aWV3KQogICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFj
ZUJlbG93KTsKICAgICAgICAgICAgICAgICBsYXlvdXQoKTsKICAgICAgICAgICAgICAgICAvLyBP
dXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRlIHRoZSB3aWRnZXRSZWN0LgotICAgICAgICAg
ICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKGZyYW1lUmVj
dCgpKTsKKyAgICAgICAgICAgICAgICBJbnRSZWN0IHdpbmRvd1JlY3QodGFyZ2V0RnJhbWVSZWN0
LmxvY2F0aW9uKCksIHNpemUoKSk7CisgICAgICAgICAgICAgICAgd2lkZ2V0UmVjdCA9IGNocm9t
ZUNsaWVudC0+d2luZG93VG9TY3JlZW4od2luZG93UmVjdCk7CiAgICAgICAgICAgICAgICAgLy8g
QW5kIG1vdmUgdXB3YXJkcyBpZiBuZWNlc3NhcnkuCiAgICAgICAgICAgICAgICAgaWYgKHNwYWNl
QWJvdmUgPiBzcGFjZUJlbG93KQogICAgICAgICAgICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUo
MCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgc2VsZWN0SGVpZ2h0KSk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHdpZGdldFJlY3Q7Cit9CisKK3ZvaWQgUG9w
dXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCit7CisgICAgbV9mcmFtZVZp
ZXcgPSB2aWV3OworCisgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNo
cm9tZUNsaWVudENocm9taXVtKCk7CisgICAgaWYgKGNocm9tZUNsaWVudCkgeworICAgICAgICBj
b25zdCBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxjV2lkZ2V0UmVjdChmcmFtZVJlY3QoKSk7CiAg
ICAgICAgIGNocm9tZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2Up
OwogICAgICAgICBtX3BvcHVwT3BlbiA9IHRydWU7CiAgICAgfQpAQCAtNDMxLDUyICs0NDIsMTAg
QEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6bm90aWZ5UG9wdXBIaWRkZW4oKQogdm9pZCBQb3B1cENv
bnRhaW5lcjo6bW92ZUFuZExheW91dCgpIHsKICAgICAvLyBTdG9yZSB0aGUgb3JpZ2luYWwgaGVp
Z2h0IHRvIGNoZWNrIGlmIHdlIG5lZWQgdG8gcmVxdWVzdCB0aGUgbG9jYXRpb24uCiAgICAgaW50
IG9yaWdpbmFsSGVpZ2h0ID0gaGVpZ2h0KCk7CisgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gY2Fs
Y1dpZGdldFJlY3QocG9wdXBSZWN0Xyk7CisgICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdl
dFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKIAotICAg
IC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3duIGNv
bnRyb2wuCi0gICAgLy8gaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOwot
ICAgIGludCBzZWxlY3RIZWlnaHQgPSBwb3B1cFJlY3RfLmhlaWdodCgpOwotCi0gICAgLy8gUmVz
ZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1bHQgdmFsdWUsIGl0IHdpbGwgYmUgcmVjb21w
dXRlZCBiZWxvdwotICAgIC8vIGlmIG5lY2Vzc2FyeS4KLSAgICBtX2xpc3RCb3gtPnNldE1heEhl
aWdodChrTWF4SGVpZ2h0KTsKLQotICAgIC8vIExheSBldmVyeXRoaW5nIG91dCB0byBmaWd1cmUg
b3V0IG91ciBwcmVmZXJyZWQgc2l6ZSwgdGhlbiB0ZWxsIHRoZSB2aWV3J3MKLSAgICAvLyBXaWRn
ZXRDbGllbnQgYWJvdXQgaXQuICBJdCBzaG91bGQgYXNzaWduIHVzIGEgY2xpZW50LgotICAgIGxh
eW91dCgpOwotICAgIENocm9tZUNsaWVudENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVD
bGllbnRDaHJvbWl1bSgpOwotICAgIGlmIChjaHJvbWVDbGllbnQpIHsKLSAgICAgICAvLyBJZiB0
aGUgcG9wdXAgd291bGQgZXh0ZW5kIHBhc3QgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVu
IHVwd2FyZHMKLSAgICAgICAgLy8gaW5zdGVhZC4KLSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9
IHNjcmVlbkF2YWlsYWJsZVJlY3QobV9mcmFtZVZpZXcuZ2V0KCkpOwotICAgICAgICBJbnRSZWN0
IHdpbmRvd1JlY3QocG9wdXBSZWN0Xy5sb2NhdGlvbigpLCBzaXplKCkpOwotICAgICAgICBJbnRS
ZWN0IHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKHdpbmRvd1JlY3Qp
OwotICAgICAgICBpZiAod2lkZ2V0UmVjdC5ib3R0b20oKSA+IHN0YXRpY19jYXN0PGludD4oc2Ny
ZWVuLmJvdHRvbSgpKSkgewotICAgICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgpIC0gd2lkZ2V0
UmVjdC5oZWlnaHQoKSAtIHNlbGVjdEhlaWdodCA+IDApIHsKLSAgICAgICAgICAgICAgICAvLyBU
aGVyZSBpcyBlbm91Z2ggcm9vbSB0byBvcGVuIHVwd2FyZHMuCi0gICAgICAgICAgICAgICAgd2lk
Z2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHNlbGVjdEhlaWdodCkpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBGaWd1cmUgd2hldGhlciB1
cHdhcmRzIG9yIGRvd253YXJkcyBoYXMgbW9yZSByb29tIGFuZCBzZXQgdGhlCi0gICAgICAgICAg
ICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMuCi0gICAgICAgICAgICAgICAgaW50IHNw
YWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVjdEhlaWdodDsKLSAgICAgICAgICAgICAg
ICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0b20oKSAtIHdpZGdldFJlY3QueSgpOwotICAg
ICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxvdykKLSAgICAgICAgICAgICAg
ICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoc3BhY2VBYm92ZSk7Ci0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFj
ZUJlbG93KTsKLSAgICAgICAgICAgICAgICBsYXlvdXQoKTsKLSAgICAgICAgICAgICAgICAvLyBP
dXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRlIHRoZSB3aWRnZXRSZWN0LgotICAgICAgICAg
ICAgICAgIEludFJlY3Qgd2luZG93UmVjdChwb3B1cFJlY3RfLmxvY2F0aW9uKCksIHNpemUoKSk7
Ci0gICAgICAgICAgICAgICAgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3Jl
ZW4od2luZG93UmVjdCk7Ci0gICAgICAgICAgICAgICAgLy8gQW5kIG1vdmUgdXB3YXJkcyBpZiBu
ZWNlc3NhcnkuCi0gICAgICAgICAgICAgICAgaWYgKHNwYWNlQWJvdmUgPiBzcGFjZUJlbG93KQot
ICAgICAgICAgICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdo
dCgpICsgc2VsZWN0SGVpZ2h0KSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAg
aWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVpZ2h0KCkpIHsKLSAgICAgICAgICAg
IHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKICAgICBp
bnZhbGlkYXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
UG9wdXBNZW51Q2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51
Q2hyb21pdW0uaAppbmRleCAwY2I4NTc2Li4xNWI3MTI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCkBAIC0xOTYsNiArMTk2LDggQEAgcHJpdmF0
ZToKICAgICAvLyBQYWludCB0aGUgYm9yZGVyLgogICAgIHZvaWQgcGFpbnRCb3JkZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwogCisgICAgSW50UmVjdCBjYWxjV2lkZ2V0UmVj
dChjb25zdCBJbnRSZWN0JiB0YXJnZXRGcmFtZVJlY3QpOworCiAgICAgLy8gUmV0dXJucyB0aGUg
Q2hyb21lQ2xpZW50IG9mIHRoZSBwYWdlIHRoaXMgcG9wdXAgaXMgYXNzb2NpYXRlZCB3aXRoLgog
ICAgIENocm9tZUNsaWVudENocm9taXVtKiBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwogCgpjb21t
aXQgMjQ3ZWNhZGM5YzM4YTJjYzUzNmJiNDQwZDEwMmUzMzZmMGVlNDAxOQpBdXRob3I6IE5hb2tp
IFRha2FubyA8dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KRGF0ZTogICBNb24gRGVjIDIwIDIwOjM2
OjA5IDIwMTAgLTA4MDAKCiAgICBmaXggbW92ZSBwb3B1cCBjb29yZGluYXRlIHByb2JsZW0uCgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRl
eCAwNGVlYjkzLi40ZmQ5MWI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bv
cHVwTWVudUNocm9taXVtLmNwcApAQCAtNDI4LDYgKzQyOCw1OCBAQCB2b2lkIFBvcHVwQ29udGFp
bmVyOjpub3RpZnlQb3B1cEhpZGRlbigpCiAgICAgY2hyb21lQ2xpZW50Q2hyb21pdW0oKS0+cG9w
dXBDbG9zZWQodGhpcyk7CiB9CiAKK3ZvaWQgUG9wdXBDb250YWluZXI6Om1vdmVBbmRMYXlvdXQo
KSB7CisgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIGhlaWdodCB0byBjaGVjayBpZiB3ZSBuZWVk
IHRvIHJlcXVlc3QgdGhlIGxvY2F0aW9uLgorICAgIGludCBvcmlnaW5hbEhlaWdodCA9IGhlaWdo
dCgpOworCisgICAgLy8gUHJlLWxheW91dCwgb3VyIHNpemUgbWF0Y2hlcyB0aGUgPHNlbGVjdD4g
ZHJvcGRvd24gY29udHJvbC4KKyAgICAvLyBpbnQgc2VsZWN0SGVpZ2h0ID0gZnJhbWVSZWN0KCku
aGVpZ2h0KCk7CisgICAgaW50IHNlbGVjdEhlaWdodCA9IHBvcHVwUmVjdF8uaGVpZ2h0KCk7CisK
KyAgICAvLyBSZXNldCB0aGUgbWF4IGhlaWdodCB0byBpdHMgZGVmYXVsdCB2YWx1ZSwgaXQgd2ls
bCBiZSByZWNvbXB1dGVkIGJlbG93CisgICAgLy8gaWYgbmVjZXNzYXJ5LgorICAgIG1fbGlzdEJv
eC0+c2V0TWF4SGVpZ2h0KGtNYXhIZWlnaHQpOworCisgICAgLy8gTGF5IGV2ZXJ5dGhpbmcgb3V0
IHRvIGZpZ3VyZSBvdXQgb3VyIHByZWZlcnJlZCBzaXplLCB0aGVuIHRlbGwgdGhlIHZpZXcncwor
ICAgIC8vIFdpZGdldENsaWVudCBhYm91dCBpdC4gIEl0IHNob3VsZCBhc3NpZ24gdXMgYSBjbGll
bnQuCisgICAgbGF5b3V0KCk7CisgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVu
dCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CisgICAgaWYgKGNocm9tZUNsaWVudCkgeworICAg
ICAgIC8vIElmIHRoZSBwb3B1cCB3b3VsZCBleHRlbmQgcGFzdCB0aGUgYm90dG9tIG9mIHRoZSBz
Y3JlZW4sIG9wZW4gdXB3YXJkcworICAgICAgICAvLyBpbnN0ZWFkLgorICAgICAgICBGbG9hdFJl
Y3Qgc2NyZWVuID0gc2NyZWVuQXZhaWxhYmxlUmVjdChtX2ZyYW1lVmlldy5nZXQoKSk7CisgICAg
ICAgIEludFJlY3Qgd2luZG93UmVjdChwb3B1cFJlY3RfLmxvY2F0aW9uKCksIHNpemUoKSk7Cisg
ICAgICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4o
d2luZG93UmVjdCk7CisgICAgICAgIGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4gc3RhdGljX2Nh
c3Q8aW50PihzY3JlZW4uYm90dG9tKCkpKSB7CisgICAgICAgICAgICBpZiAod2lkZ2V0UmVjdC55
KCkgLSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgeworICAgICAgICAg
ICAgICAgIC8vIFRoZXJlIGlzIGVub3VnaCByb29tIHRvIG9wZW4gdXB3YXJkcy4KKyAgICAgICAg
ICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgc2VsZWN0
SGVpZ2h0KSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIEZpZ3Vy
ZSB3aGV0aGVyIHVwd2FyZHMgb3IgZG93bndhcmRzIGhhcyBtb3JlIHJvb20gYW5kIHNldCB0aGUK
KyAgICAgICAgICAgICAgICAvLyBtYXhpbXVtIG51bWJlciBvZiBpdGVtcy4KKyAgICAgICAgICAg
ICAgICBpbnQgc3BhY2VBYm92ZSA9IHdpZGdldFJlY3QueSgpIC0gc2VsZWN0SGVpZ2h0OworICAg
ICAgICAgICAgICAgIGludCBzcGFjZUJlbG93ID0gc2NyZWVuLmJvdHRvbSgpIC0gd2lkZ2V0UmVj
dC55KCk7CisgICAgICAgICAgICAgICAgaWYgKHNwYWNlQWJvdmUgPiBzcGFjZUJlbG93KQorICAg
ICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFjZUFib3ZlKTsKKyAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG1fbGlzdEJveC0+c2V0TWF4
SGVpZ2h0KHNwYWNlQmVsb3cpOworICAgICAgICAgICAgICAgIGxheW91dCgpOworICAgICAgICAg
ICAgICAgIC8vIE91ciBzaXplIGhhcyBjaGFuZ2VkLCByZWNvbXB1dGUgdGhlIHdpZGdldFJlY3Qu
CisgICAgICAgICAgICAgICAgSW50UmVjdCB3aW5kb3dSZWN0KHBvcHVwUmVjdF8ubG9jYXRpb24o
KSwgc2l6ZSgpKTsKKyAgICAgICAgICAgICAgICB3aWRnZXRSZWN0ID0gY2hyb21lQ2xpZW50LT53
aW5kb3dUb1NjcmVlbih3aW5kb3dSZWN0KTsKKyAgICAgICAgICAgICAgICAvLyBBbmQgbW92ZSB1
cHdhcmRzIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+IHNw
YWNlQmVsb3cpCisgICAgICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdl
dFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBpZiAob3JpZ2luYWxIZWlnaHQgIT0gd2lkZ2V0UmVjdC5oZWlnaHQoKSkgewor
ICAgICAgICAgICAgc2V0RnJhbWVSZWN0KHdpZGdldFJlY3QpOworICAgICAgICB9CisgICAgfQor
ICAgIAorICAgIGludmFsaWRhdGUoKTsKK30KKwogdm9pZCBQb3B1cENvbnRhaW5lcjo6bGF5b3V0
KCkKIHsKICAgICBtX2xpc3RCb3gtPmxheW91dCgpOwpAQCAtNTU2LDE1ICs2MDgsMTUgQEAgdm9p
ZCBQb3B1cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0JiByLCBGcmFtZVZpZXcqIHYsIGlu
dCBpbmRleCkKICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgogICAgIGxv
Y2F0aW9uLm1vdmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJbnRSZWN0IHBvcHVwUmVjdChsb2Nh
dGlvbiwgci5zaXplKCkpOwotICAgIHNldEZyYW1lUmVjdChwb3B1cFJlY3QpOworICAgIHBvcHVw
UmVjdF8gPSBJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSk7CisgICAgc2V0RnJhbWVSZWN0KHBv
cHVwUmVjdF8pOwogICAgIHNob3dQb3B1cCh2KTsKIH0KIAogdm9pZCBQb3B1cENvbnRhaW5lcjo6
cmVmcmVzaCgpCiB7CiAgICAgbGlzdEJveCgpLT51cGRhdGVGcm9tRWxlbWVudCgpOwotICAgIGxh
eW91dCgpOworICAgIG1vdmVBbmRMYXlvdXQoKTsKIH0KIAogaW50IFBvcHVwQ29udGFpbmVyOjpz
ZWxlY3RlZEluZGV4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBNZW51Q2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uaAppbmRleCBjYTQ3Y2NmLi4wY2I4NTc2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCkBAIC0xNjEsNiArMTYxLDkgQEAgcHVi
bGljOgogICAgIC8vIENvbXB1dGUgc2l6ZSBvZiB3aWRnZXQgYW5kIGNoaWxkcmVuLgogICAgIHZv
aWQgbGF5b3V0KCk7CiAKKyAgICAgLy8gQ29tcHV0ZSBzaXplIGFuZCBsb2NhdGlvbiBvZiB3aWRn
ZXQgYW5kIGNoaWxkcmVuLgorICAgIHZvaWQgbW92ZUFuZExheW91dCgpOworCiAgICAgUG9wdXBM
aXN0Qm94KiBsaXN0Qm94KCkgY29uc3QgeyByZXR1cm4gbV9saXN0Qm94LmdldCgpOyB9CiAKICAg
ICAvLyBHZXRzIHRoZSBpbmRleCBvZiB0aGUgaXRlbSB0aGF0IHRoZSB1c2VyIGlzIGN1cnJlbnRs
eSBtb3VzZWQtb3ZlciBvcgpAQCAtMjAzLDYgKzIwNiw5IEBAIHByaXZhdGU6CiAgICAgUG9wdXBU
eXBlIG1fcG9wdXBUeXBlOwogICAgIC8vIFdoZXRoZXIgdGhlIHBvcHVwIGlzIGN1cnJlbnRseSBv
cGVuLgogICAgIGJvb2wgbV9wb3B1cE9wZW47CisKKyAgICAvLyBTYXZlIHRoZSBvcmlnaW5sIG9m
IHBvcHVwUmVjdCB0byBjYWxjdWF0ZSB0aGUgbG9jYXRpb24gZXZlcnl0aW1lLgorICAgIEludFJl
Y3QgcG9wdXBSZWN0XzsKIH07CiAKIGNsYXNzIFBvcHVwTWVudUNocm9taXVtIDogcHVibGljIFBv
cHVwTWVudSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDdiZWMyNTQuLmFj
ZWI2OWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMjI0LDkgKzIyMjQs
OSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCgpCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+
Ym91bmRzUmVjdCgpOworICAgIEludFJlY3Qgb2xkQm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5m
cmFtZVJlY3QoKTsKICAgICBtX2F1dG9GaWxsUG9wdXAtPnJlZnJlc2goKTsKLSAgICBJbnRSZWN0
IG5ld0JvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+Ym91bmRzUmVjdCgpOworICAgIEludFJlY3Qg
bmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5mcmFtZVJlY3QoKTsKICAgICAvLyBMZXQncyBy
ZXNpemUgdGhlIGJhY2tpbmcgd2luZG93IGlmIG5lY2Vzc2FyeS4KICAgICBpZiAob2xkQm91bmRz
ICE9IG5ld0JvdW5kcykgewogICAgICAgICBXZWJQb3B1cE1lbnVJbXBsKiBwb3B1cE1lbnUgPQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77302</attachid>
            <date>2010-12-22 20:46:37 -0800</date>
            <delta_ts>2011-01-06 23:24:53 -0800</delta_ts>
            <desc>Chnage ChangeLog and some function name change according to Ilya&apos;s suggestion</desc>
            <filename>0001-fix-move-popup-coordinate-problem.patch</filename>
            <type>text/plain</type>
            <size>7442</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">RnJvbSA1NGE2MDVmOTc1YmQ5YjgwZTg4YmVlYzczMTAzMjYxZjAyZTIzODJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBOYW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+
CkRhdGU6IE1vbiwgMjAgRGVjIDIwMTAgMjA6MzY6MDkgLTA4MDAKU3ViamVjdDogW1BBVENIXSBm
aXggbW92ZSBwb3B1cCBjb29yZGluYXRlIHByb2JsZW0uCgptZXJnZSBjYWxjV2lkZ2V0IHJvdXRp
bmUuCgpGaXggZm9ybWF0IGVycm9yLgoKRml4IHByaXZhdGUgbWVtYmVyIGZvcm1hdCBlcnJvci4K
CnJvbGwgYmFjayBDaGFuZ2VMb2cKCkFkZCBhbiBlbnRyeSBpbiBDaGFuZ2VMb2cuCkNoYW5nZSBu
YW1lIG9mIGNhbGN1bGF0ZVdpZGdldFJlY3QoKS4KCkNoYW5nZSBmdW5jdGlvbiBuYW1lLgotLS0K
IFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMiAr
KysrKysrKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0u
Y3BwIHwgICA0MyArKysrKysrKysrKysrKysrKy0tLS0tCiBXZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1BvcHVwTWVudUNocm9taXVtLmggICB8ICAgIDkgKysrKysKIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwICAgICAgICAgICAgIHwgICAgNCArLQogNCBmaWxlcyBjaGFuZ2Vk
LCA2NSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY1YjcyMjMuLjQ4ZmQwNDAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDQgKzEsMjQgQEAKLTIwMTAtMTItMDkgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
KzIwMTAtMTItMjAgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisgIAor
ICAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAKKyAgICAgICAgICBbQ2hy
b21pdW1dSXNzdWUgNjA0Mjc6IEZpeCBwb3B1cCBtZW51IHJlLXBvc2l0aW9uaW5nIHdoZW4gdGhl
IG1lbnUKKwkJCQkJaXMgb3BlbmVkIHVwd2FyZCwgYWJvdmUgdGhlIGNvcnJlc3BvbmRpbmcgZm9y
bSBmaWVsZC4KKwkJCQkJaHR0cDovL2NyYnVnLmNvbS82MDQyNyAKKyAgICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEzODIKKyAKKyAgICAgICAgICBObyBu
ZXcgdGVzdHMuIChPT1BTISkKKyAgCisgICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cE1lbnVDaHJvbWl1bS5jcHA6CisgICAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpj
YWxjdWxhdGVXaWRnZXRSZWN0KTogTmV3IEZ1bmN0aW9uIHRvCisJCQkJCWNhbGN1bGF0ZSBwb3B1
cCB3aWRnZXQgcmVjdC4KKyAgICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OnNob3dQ
b3B1cCk6IE1vdmUgd2lkZ2V0UmVjdCBjYWxjdWxhdGlvbiB0bworCQkJCQljYWxjdWxhdGVXaWRn
ZXRSZWN0KCkuCisgICAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjptb3ZlQW5kTGF5
b3V0KTogTmV3IGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSBib3RoCisJCQkJCWxvY2F0aW9uIGFuZCBz
aXplIGFuZCBzZXQgdGhlIHJlY3QuCisgICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cE1lbnVDaHJvbWl1bS5oOiBBcHBlbmQgbmV3IGZ1bmN0aW9ucy4KKworMDEwLTEyLTA5ICBEYW4g
QmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBI
eWF0dC4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmNwcAppbmRleCAwNGVlYjkzLi5lZjc5NzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcApAQCAtMzI5LDEwICszMjksMTAgQEAgUG9wdXBD
b250YWluZXI6On5Qb3B1cENvbnRhaW5lcigpCiAgICAgICAgIHJlbW92ZUNoaWxkKG1fbGlzdEJv
eC5nZXQoKSk7CiB9CiAKLXZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcq
IHZpZXcpCitJbnRSZWN0IFBvcHVwQ29udGFpbmVyOjpjYWxjdWxhdGVXaWRnZXRSZWN0KGNvbnN0
IEludFJlY3QmIHRhcmdldEZyYW1lUmVjdCkKIHsKICAgICAvLyBQcmUtbGF5b3V0LCBvdXIgc2l6
ZSBtYXRjaGVzIHRoZSA8c2VsZWN0PiBkcm9wZG93biBjb250cm9sLgotICAgIGludCBzZWxlY3RI
ZWlnaHQgPSBmcmFtZVJlY3QoKS5oZWlnaHQoKTsKKyAgICBpbnQgc2VsZWN0SGVpZ2h0ID0gdGFy
Z2V0RnJhbWVSZWN0LmhlaWdodCgpOwogCiAgICAgLy8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8g
aXRzIGRlZmF1bHQgdmFsdWUsIGl0IHdpbGwgYmUgcmVjb21wdXRlZCBiZWxvdwogICAgIC8vIGlm
IG5lY2Vzc2FyeS4KQEAgLTM0MiwxNCArMzQyLDE0IEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNo
b3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCiAgICAgLy8gV2lkZ2V0Q2xpZW50IGFib3V0IGl0LiAg
SXQgc2hvdWxkIGFzc2lnbiB1cyBhIGNsaWVudC4KICAgICBsYXlvdXQoKTsKIAotICAgIG1fZnJh
bWVWaWV3ID0gdmlldzsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3Q7CiAgICAgQ2hyb21lQ2xpZW50
Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CiAgICAgaWYg
KGNocm9tZUNsaWVudCkgewogICAgICAgICAvLyBJZiB0aGUgcG9wdXAgd291bGQgZXh0ZW5kIHBh
c3QgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVuIHVwd2FyZHMKICAgICAgICAgLy8gaW5z
dGVhZC4KLSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3Qodmll
dyk7Ci0gICAgICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9T
Y3JlZW4oZnJhbWVSZWN0KCkpOwotCisgICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3JlZW5B
dmFpbGFibGVSZWN0KG1fZnJhbWVWaWV3LmdldCgpKTsKKyAgICAgICAgSW50UmVjdCB3aW5kb3dS
ZWN0KHRhcmdldEZyYW1lUmVjdC5sb2NhdGlvbigpLCBzaXplKCkpOworICAgICAgICB3aWRnZXRS
ZWN0ID0gY2hyb21lQ2xpZW50LT53aW5kb3dUb1NjcmVlbih3aW5kb3dSZWN0KTsKICAgICAgICAg
aWYgKHdpZGdldFJlY3QuYm90dG9tKCkgPiBzdGF0aWNfY2FzdDxpbnQ+KHNjcmVlbi5ib3R0b20o
KSkpIHsKICAgICAgICAgICAgIGlmICh3aWRnZXRSZWN0LnkoKSAtIHdpZGdldFJlY3QuaGVpZ2h0
KCkgLSBzZWxlY3RIZWlnaHQgPiAwKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMgZW5v
dWdoIHJvb20gdG8gb3BlbiB1cHdhcmRzLgpAQCAtMzY1LDEyICszNjUsMjQgQEAgdm9pZCBQb3B1
cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKICAgICAgICAgICAgICAgICAg
ICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoc3BhY2VCZWxvdyk7CiAgICAgICAgICAgICAgICAg
bGF5b3V0KCk7CiAgICAgICAgICAgICAgICAgLy8gT3VyIHNpemUgaGFzIGNoYW5nZWQsIHJlY29t
cHV0ZSB0aGUgd2lkZ2V0UmVjdC4KLSAgICAgICAgICAgICAgICB3aWRnZXRSZWN0ID0gY2hyb21l
Q2xpZW50LT53aW5kb3dUb1NjcmVlbihmcmFtZVJlY3QoKSk7CisgICAgICAgICAgICAgICAgSW50
UmVjdCB3aW5kb3dSZWN0KHRhcmdldEZyYW1lUmVjdC5sb2NhdGlvbigpLCBzaXplKCkpOworICAg
ICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKHdp
bmRvd1JlY3QpOwogICAgICAgICAgICAgICAgIC8vIEFuZCBtb3ZlIHVwd2FyZHMgaWYgbmVjZXNz
YXJ5LgogICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxvdykKICAgICAg
ICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSAr
IHNlbGVjdEhlaWdodCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQorICAgIHJl
dHVybiB3aWRnZXRSZWN0OworfQorCit2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJh
bWVWaWV3KiB2aWV3KQoreworICAgIG1fZnJhbWVWaWV3ID0gdmlldzsKKworICAgIENocm9tZUNs
aWVudENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOworICAg
IGlmIChjaHJvbWVDbGllbnQpIHsKKyAgICAgICAgY29uc3QgSW50UmVjdCB3aWRnZXRSZWN0ID0g
Y2FsY3VsYXRlV2lkZ2V0UmVjdChmcmFtZVJlY3QoKSk7CiAgICAgICAgIGNocm9tZUNsaWVudC0+
cG9wdXBPcGVuZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2UpOwogICAgICAgICBtX3BvcHVwT3Bl
biA9IHRydWU7CiAgICAgfQpAQCAtNDI4LDYgKzQ0MCwxNyBAQCB2b2lkIFBvcHVwQ29udGFpbmVy
Ojpub3RpZnlQb3B1cEhpZGRlbigpCiAgICAgY2hyb21lQ2xpZW50Q2hyb21pdW0oKS0+cG9wdXBD
bG9zZWQodGhpcyk7CiB9CiAKK3ZvaWQgUG9wdXBDb250YWluZXI6Om1vdmVBbmRMYXlvdXQoKQor
eworICAgIC8vIFN0b3JlIHRoZSBvcmlnaW5hbCBoZWlnaHQgdG8gY2hlY2sgaWYgd2UgbmVlZCB0
byByZXF1ZXN0IHRoZSBsb2NhdGlvbi4KKyAgICBpbnQgb3JpZ2luYWxIZWlnaHQgPSBoZWlnaHQo
KTsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxjdWxhdGVXaWRnZXRSZWN0KG1fcG9wdXBS
ZWN0KTsKKyAgICBpZiAob3JpZ2luYWxIZWlnaHQgIT0gd2lkZ2V0UmVjdC5oZWlnaHQoKSkKKyAg
ICAgICAgc2V0RnJhbWVSZWN0KHdpZGdldFJlY3QpOworCisgICAgaW52YWxpZGF0ZSgpOworfQor
CiB2b2lkIFBvcHVwQ29udGFpbmVyOjpsYXlvdXQoKQogewogICAgIG1fbGlzdEJveC0+bGF5b3V0
KCk7CkBAIC01NTYsMTUgKzU3OSwxNSBAQCB2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93KGNvbnN0
IEludFJlY3QmIHIsIEZyYW1lVmlldyogdiwgaW50IGluZGV4KQogICAgIC8vIE1vdmUgaXQgYmVs
b3cgdGhlIHNlbGVjdCB3aWRnZXQuCiAgICAgbG9jYXRpb24ubW92ZSgwLCByLmhlaWdodCgpKTsK
IAotICAgIEludFJlY3QgcG9wdXBSZWN0KGxvY2F0aW9uLCByLnNpemUoKSk7Ci0gICAgc2V0RnJh
bWVSZWN0KHBvcHVwUmVjdCk7CisgICAgbV9wb3B1cFJlY3QgPSBJbnRSZWN0KGxvY2F0aW9uLCBy
LnNpemUoKSk7CisgICAgc2V0RnJhbWVSZWN0KG1fcG9wdXBSZWN0KTsKICAgICBzaG93UG9wdXAo
dik7CiB9CiAKIHZvaWQgUG9wdXBDb250YWluZXI6OnJlZnJlc2goKQogewogICAgIGxpc3RCb3go
KS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICBsYXlvdXQoKTsKKyAgICBtb3ZlQW5kTGF5b3V0
KCk7CiB9CiAKIGludCBQb3B1cENvbnRhaW5lcjo6c2VsZWN0ZWRJbmRleCgpIGNvbnN0CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKaW5kZXggY2E0N2Nj
Zi4uYTIzOThhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1l
bnVDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uaApAQCAtMTYxLDYgKzE2MSw5IEBAIHB1YmxpYzoKICAgICAvLyBDb21wdXRlIHNpemUg
b2Ygd2lkZ2V0IGFuZCBjaGlsZHJlbi4KICAgICB2b2lkIGxheW91dCgpOwogCisgICAgIC8vIENv
bXB1dGUgc2l6ZSBhbmQgbG9jYXRpb24gb2Ygd2lkZ2V0IGFuZCBjaGlsZHJlbi4KKyAgICB2b2lk
IG1vdmVBbmRMYXlvdXQoKTsKKwogICAgIFBvcHVwTGlzdEJveCogbGlzdEJveCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGlzdEJveC5nZXQoKTsgfQogCiAgICAgLy8gR2V0cyB0aGUgaW5kZXggb2YgdGhl
IGl0ZW0gdGhhdCB0aGUgdXNlciBpcyBjdXJyZW50bHkgbW91c2VkLW92ZXIgb3IKQEAgLTE5Myw2
ICsxOTYsOSBAQCBwcml2YXRlOgogICAgIC8vIFBhaW50IHRoZSBib3JkZXIuCiAgICAgdm9pZCBw
YWludEJvcmRlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CiAKKyAgICAvLyBD
YWxjdWxhdGUgcG9wdXAgd2lkZ2V0IHNpemUgYW5kIGxvY2F0aW9uIGFuZCByZXR1cm5zIGl0IGFz
IEludFJlY3QuCisgICAgSW50UmVjdCBjYWxjdWxhdGVXaWRnZXRSZWN0KGNvbnN0IEludFJlY3Qm
IHRhcmdldEZyYW1lUmVjdCk7CisKICAgICAvLyBSZXR1cm5zIHRoZSBDaHJvbWVDbGllbnQgb2Yg
dGhlIHBhZ2UgdGhpcyBwb3B1cCBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgQ2hyb21lQ2xpZW50
Q2hyb21pdW0qIGNocm9tZUNsaWVudENocm9taXVtKCk7CiAKQEAgLTIwMyw2ICsyMDksOSBAQCBw
cml2YXRlOgogICAgIFBvcHVwVHlwZSBtX3BvcHVwVHlwZTsKICAgICAvLyBXaGV0aGVyIHRoZSBw
b3B1cCBpcyBjdXJyZW50bHkgb3Blbi4KICAgICBib29sIG1fcG9wdXBPcGVuOworCisgICAgLy8g
U2F2ZSB0aGUgb3JpZ2lubCBvZiBwb3B1cFJlY3QgdG8gY2FsY3VhdGUgdGhlIGxvY2F0aW9uIGV2
ZXJ5dGltZS4KKyAgICBJbnRSZWN0IG1fcG9wdXBSZWN0OwogfTsKIAogY2xhc3MgUG9wdXBNZW51
Q2hyb21pdW0gOiBwdWJsaWMgUG9wdXBNZW51IHsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKaW5kZXggN2JlYzI1NC4uYWNlYjY5YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKQEAgLTIyMjQsOSArMjIyNCw5IEBAIHZvaWQgV2ViVmlld0ltcGw6OnJlZnJlc2hBdXRvRmls
bFBvcHVwKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEludFJlY3Qgb2xkQm91bmRz
ID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50UmVjdCBvbGRCb3VuZHMg
PSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOwogICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVm
cmVzaCgpOwotICAgIEludFJlY3QgbmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNS
ZWN0KCk7CisgICAgSW50UmVjdCBuZXdCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVj
dCgpOwogICAgIC8vIExldCdzIHJlc2l6ZSB0aGUgYmFja2luZyB3aW5kb3cgaWYgbmVjZXNzYXJ5
LgogICAgIGlmIChvbGRCb3VuZHMgIT0gbmV3Qm91bmRzKSB7CiAgICAgICAgIFdlYlBvcHVwTWVu
dUltcGwqIHBvcHVwTWVudSA9Ci0tIAoxLjcuMC40Cgo=
</data>
<flag name="review"
          id="68380"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78213</attachid>
            <date>2011-01-06 23:24:53 -0800</date>
            <delta_ts>2011-01-07 21:50:56 -0800</delta_ts>
            <desc>Eliminate layout() call from calculateWidgetRect() and change the name to layoutOrCalculateWidgetRect()</desc>
            <filename>movebug.patch</filename>
            <type>text/plain</type>
            <size>7312</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IGY0ZmY4OTI5MTgzYjc3NjJhMzE4OTllMTI0NWM1NjI2ZjNlZjFhMTYKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3M2E3ZTcxLi44Y2E5NjdmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEx
LTAxLTA2ICBOYW9raSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgorCisgICAgICAg
IFtDaHJvbWl1bV0gRml4IHBvcHVwIG1lbnUgcmUtcG9zaXRpb25pbmcgd2hlbiB0aGUgbWVudSBp
cyBvcGVuZWQgdXB3YXJkLCBhYm92ZSB0aGUgY29ycmVzcG9uZGluZyBmb3JtIGZpZWxkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEzODIKKyAgICAg
ICAgaHR0cDovL2NyYnVnLmNvbS82MDQyNworCisgICAgICAgIENhbGN1bGF0ZSBjb3JyZWN0IGxv
Y2F0aW9uIG9mIHBvcHVwIHdpbmRvdyB3aGVuZXZlciB0aGUgaXRlbXMgaW4gdGhlIHdpbmRvdyBj
aGFuZ2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIHRoaXMgZml4IGlzIGZvciBD
aHJvbWl1bSBwcm9qZWN0IGFuZCBoYXJkIHRvIHRlc3Qgb25seSBpbiBXZWJLaXQgcHJvamVjdAor
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmNhbGN1bGF0ZVdpZGdldFJlY3QpOiBOZXcg
RnVuY3Rpb24gdG8gY2FsY3VsYXRlIHBvcHVwIHdpZGdldCByZWN0LgorICAgICAgICAoV2ViQ29y
ZTo6UG9wdXBDb250YWluZXI6OnNob3dQb3B1cCk6IE1vdmUgd2lkZ2V0UmVjdCBjYWxjdWxhdGlv
biB0byBjYWxjdWxhdGVXaWRnZXRSZWN0KCkuCisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRh
aW5lcjo6bW92ZUFuZExheW91dCk6IE5ldyBmdW5jdGlvbiB0byBDYWxjdWxhdGUgYm90aCBsb2Nh
dGlvbiBhbmQgc2l6ZSBhbmQgc2V0IHRoZSByZWN0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL1BvcHVwTWVudUNocm9taXVtLmg6IEFwcGVuZCBuZXcgZnVuY3Rpb25zLgorCiAyMDExLTAx
LTA1ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBS
dWJiZXItc3RhbXBlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKaW5kZXggMDRlZWI5My4uNTY3MDhhZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKQEAgLTMy
OSwyNyArMzI5LDIyIEBAIFBvcHVwQ29udGFpbmVyOjp+UG9wdXBDb250YWluZXIoKQogICAgICAg
ICByZW1vdmVDaGlsZChtX2xpc3RCb3guZ2V0KCkpOwogfQogCi12b2lkIFBvcHVwQ29udGFpbmVy
OjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQorSW50UmVjdCBQb3B1cENvbnRhaW5lcjo6bGF5
b3V0T3JDYWxjdWxhdGVXaWRnZXRSZWN0KCkKIHsKLSAgICAvLyBQcmUtbGF5b3V0LCBvdXIgc2l6
ZSBtYXRjaGVzIHRoZSA8c2VsZWN0PiBkcm9wZG93biBjb250cm9sLgotICAgIGludCBzZWxlY3RI
ZWlnaHQgPSBmcmFtZVJlY3QoKS5oZWlnaHQoKTsKLQotICAgIC8vIFJlc2V0IHRoZSBtYXggaGVp
Z2h0IHRvIGl0cyBkZWZhdWx0IHZhbHVlLCBpdCB3aWxsIGJlIHJlY29tcHV0ZWQgYmVsb3cKLSAg
ICAvLyBpZiBuZWNlc3NhcnkuCi0gICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoa01heEhlaWdo
dCk7CisgICAgaW50IHNlbGVjdEhlaWdodCA9IG1fcG9wdXBSZWN0LmhlaWdodCgpOwogCi0gICAg
Ly8gTGF5IGV2ZXJ5dGhpbmcgb3V0IHRvIGZpZ3VyZSBvdXQgb3VyIHByZWZlcnJlZCBzaXplLCB0
aGVuIHRlbGwgdGhlIHZpZXcncwotICAgIC8vIFdpZGdldENsaWVudCBhYm91dCBpdC4gIEl0IHNo
b3VsZCBhc3NpZ24gdXMgYSBjbGllbnQuCi0gICAgbGF5b3V0KCk7CisgICAgLy8gQXNzdW1lIG1f
bGlzdEJveCBzaXplIGlzIGFscmVhZHkgY2FsY3VsYXRlZC4KKyAgICBJbnRTaXplIHRhcmdldFNp
emUobV9saXN0Qm94LT53aWR0aCgpICsga0JvcmRlclNpemUgKiAyLAorICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpc3RCb3gtPmhlaWdodCgpICsga0JvcmRlclNpemUgKiAyKTsKIAotICAgIG1f
ZnJhbWVWaWV3ID0gdmlldzsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3Q7CiAgICAgQ2hyb21lQ2xp
ZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CiAgICAg
aWYgKGNocm9tZUNsaWVudCkgewogICAgICAgICAvLyBJZiB0aGUgcG9wdXAgd291bGQgZXh0ZW5k
IHBhc3QgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVuIHVwd2FyZHMKICAgICAgICAgLy8g
aW5zdGVhZC4KLSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3Qo
dmlldyk7Ci0gICAgICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93
VG9TY3JlZW4oZnJhbWVSZWN0KCkpOwotCisgICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3Jl
ZW5BdmFpbGFibGVSZWN0KG1fZnJhbWVWaWV3LmdldCgpKTsKKyAgICAgICAgSW50UmVjdCB3aW5k
b3dSZWN0KG1fcG9wdXBSZWN0LmxvY2F0aW9uKCksIHRhcmdldFNpemUpOworICAgICAgICB3aWRn
ZXRSZWN0ID0gY2hyb21lQ2xpZW50LT53aW5kb3dUb1NjcmVlbih3aW5kb3dSZWN0KTsKICAgICAg
ICAgaWYgKHdpZGdldFJlY3QuYm90dG9tKCkgPiBzdGF0aWNfY2FzdDxpbnQ+KHNjcmVlbi5ib3R0
b20oKSkpIHsKICAgICAgICAgICAgIGlmICh3aWRnZXRSZWN0LnkoKSAtIHdpZGdldFJlY3QuaGVp
Z2h0KCkgLSBzZWxlY3RIZWlnaHQgPiAwKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMg
ZW5vdWdoIHJvb20gdG8gb3BlbiB1cHdhcmRzLgpAQCAtMzU5LDE4ICszNTQsMjMgQEAgdm9pZCBQ
b3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKICAgICAgICAgICAgICAg
ICAvLyBtYXhpbXVtIG51bWJlciBvZiBpdGVtcy4KICAgICAgICAgICAgICAgICBpbnQgc3BhY2VB
Ym92ZSA9IHdpZGdldFJlY3QueSgpIC0gc2VsZWN0SGVpZ2h0OwogICAgICAgICAgICAgICAgIGlu
dCBzcGFjZUJlbG93ID0gc2NyZWVuLmJvdHRvbSgpIC0gd2lkZ2V0UmVjdC55KCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHNwYWNlQWJvdmUgPiBzcGFjZUJlbG93KQotICAgICAgICAgICAgICAgICAg
ICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChzcGFjZUFib3ZlKTsKLSAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIG1fbGlzdEJveC0+c2V0TWF4SGVpZ2h0KHNwYWNlQmVs
b3cpOwotICAgICAgICAgICAgICAgIGxheW91dCgpOwotICAgICAgICAgICAgICAgIC8vIE91ciBz
aXplIGhhcyBjaGFuZ2VkLCByZWNvbXB1dGUgdGhlIHdpZGdldFJlY3QuCi0gICAgICAgICAgICAg
ICAgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4oZnJhbWVSZWN0KCkp
OwogICAgICAgICAgICAgICAgIC8vIEFuZCBtb3ZlIHVwd2FyZHMgaWYgbmVjZXNzYXJ5LgogICAg
ICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxvdykKICAgICAgICAgICAgICAg
ICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHNlbGVjdEhl
aWdodCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgfQorICAgIHJldHVybiB3aWRn
ZXRSZWN0OworfQorCit2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2
aWV3KQoreworICAgIG1fZnJhbWVWaWV3ID0gdmlldzsKKworICAgIENocm9tZUNsaWVudENocm9t
aXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOworICAgIGlmIChjaHJv
bWVDbGllbnQpIHsKKyAgICAgICAgbGF5b3V0KCk7CisgICAgICAgIGNvbnN0IEludFJlY3Qgd2lk
Z2V0UmVjdCA9IGxheW91dE9yQ2FsY3VsYXRlV2lkZ2V0UmVjdCgpOwogICAgICAgICBjaHJvbWVD
bGllbnQtPnBvcHVwT3BlbmVkKHRoaXMsIHdpZGdldFJlY3QsIGZhbHNlKTsKICAgICAgICAgbV9w
b3B1cE9wZW4gPSB0cnVlOwogICAgIH0KQEAgLTQyOCw2ICs0MjgsMTggQEAgdm9pZCBQb3B1cENv
bnRhaW5lcjo6bm90aWZ5UG9wdXBIaWRkZW4oKQogICAgIGNocm9tZUNsaWVudENocm9taXVtKCkt
PnBvcHVwQ2xvc2VkKHRoaXMpOwogfQogCit2b2lkIFBvcHVwQ29udGFpbmVyOjptb3ZlQW5kTGF5
b3V0KCkKK3sKKyAgICAvLyBTdG9yZSB0aGUgb3JpZ2luYWwgaGVpZ2h0IHRvIGNoZWNrIGlmIHdl
IG5lZWQgdG8gcmVxdWVzdCB0aGUgbG9jYXRpb24uCisgICAgaW50IG9yaWdpbmFsSGVpZ2h0ID0g
aGVpZ2h0KCk7CisgICAgbGF5b3V0KCk7CisgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gbGF5b3V0
T3JDYWxjdWxhdGVXaWRnZXRSZWN0KCk7CisgICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdl
dFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKKworICAg
IGludmFsaWRhdGUoKTsKK30KKwogdm9pZCBQb3B1cENvbnRhaW5lcjo6bGF5b3V0KCkKIHsKICAg
ICBtX2xpc3RCb3gtPmxheW91dCgpOwpAQCAtNTU2LDE1ICs1NjgsMTUgQEAgdm9pZCBQb3B1cENv
bnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRleCkK
ICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgogICAgIGxvY2F0aW9uLm1v
dmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJbnRSZWN0IHBvcHVwUmVjdChsb2NhdGlvbiwgci5z
aXplKCkpOwotICAgIHNldEZyYW1lUmVjdChwb3B1cFJlY3QpOworICAgIG1fcG9wdXBSZWN0ID0g
SW50UmVjdChsb2NhdGlvbiwgci5zaXplKCkpOworICAgIHNldEZyYW1lUmVjdChtX3BvcHVwUmVj
dCk7CiAgICAgc2hvd1BvcHVwKHYpOwogfQogCiB2b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZyZXNo
KCkKIHsKICAgICBsaXN0Qm94KCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0gICAgbGF5b3V0KCk7
CisgICAgbW92ZUFuZExheW91dCgpOwogfQogCiBpbnQgUG9wdXBDb250YWluZXI6OnNlbGVjdGVk
SW5kZXgoKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cE1lbnVDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5oCmluZGV4IGNhNDdjY2YuLmY5NGJiNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKQEAgLTE2MSw2ICsxNjEsOSBAQCBwdWJsaWM6CiAg
ICAgLy8gQ29tcHV0ZSBzaXplIG9mIHdpZGdldCBhbmQgY2hpbGRyZW4uCiAgICAgdm9pZCBsYXlv
dXQoKTsKIAorICAgICAvLyBDb21wdXRlIHNpemUgYW5kIGxvY2F0aW9uIG9mIHdpZGdldCBhbmQg
Y2hpbGRyZW4uCisgICAgdm9pZCBtb3ZlQW5kTGF5b3V0KCk7CisKICAgICBQb3B1cExpc3RCb3gq
IGxpc3RCb3goKSBjb25zdCB7IHJldHVybiBtX2xpc3RCb3guZ2V0KCk7IH0KIAogICAgIC8vIEdl
dHMgdGhlIGluZGV4IG9mIHRoZSBpdGVtIHRoYXQgdGhlIHVzZXIgaXMgY3VycmVudGx5IG1vdXNl
ZC1vdmVyIG9yCkBAIC0xOTMsNiArMTk2LDkgQEAgcHJpdmF0ZToKICAgICAvLyBQYWludCB0aGUg
Ym9yZGVyLgogICAgIHZvaWQgcGFpbnRCb3JkZXIoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50
UmVjdCYpOwogCisgICAgLy8gQ2FsY3VsYXRlIHBvcHVwIHdpZGdldCBzaXplIGFuZCBsb2NhdGlv
biBhbmQgcmV0dXJucyBpdCBhcyBJbnRSZWN0LgorICAgIEludFJlY3QgbGF5b3V0T3JDYWxjdWxh
dGVXaWRnZXRSZWN0KCk7CisKICAgICAvLyBSZXR1cm5zIHRoZSBDaHJvbWVDbGllbnQgb2YgdGhl
IHBhZ2UgdGhpcyBwb3B1cCBpcyBhc3NvY2lhdGVkIHdpdGguCiAgICAgQ2hyb21lQ2xpZW50Q2hy
b21pdW0qIGNocm9tZUNsaWVudENocm9taXVtKCk7CiAKQEAgLTIwMyw2ICsyMDksOSBAQCBwcml2
YXRlOgogICAgIFBvcHVwVHlwZSBtX3BvcHVwVHlwZTsKICAgICAvLyBXaGV0aGVyIHRoZSBwb3B1
cCBpcyBjdXJyZW50bHkgb3Blbi4KICAgICBib29sIG1fcG9wdXBPcGVuOworCisgICAgLy8gU2F2
ZSB0aGUgb3JpZ2lubCBvZiBwb3B1cFJlY3QgdG8gY2FsY3VhdGUgdGhlIGxvY2F0aW9uIGV2ZXJ5
dGltZS4KKyAgICBJbnRSZWN0IG1fcG9wdXBSZWN0OwogfTsKIAogY2xhc3MgUG9wdXBNZW51Q2hy
b21pdW0gOiBwdWJsaWMgUG9wdXBNZW51IHsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
aW5kZXggZTQ3Yzg5ZS4uNDEzZjNmYyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAK
QEAgLTIyMTIsOSArMjIxMiw5IEBAIHZvaWQgV2ViVmlld0ltcGw6OnJlZnJlc2hBdXRvRmlsbFBv
cHVwKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIEludFJlY3Qgb2xkQm91bmRzID0g
bV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50UmVjdCBvbGRCb3VuZHMgPSBt
X2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOwogICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVmcmVz
aCgpOwotICAgIEludFJlY3QgbmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0
KCk7CisgICAgSW50UmVjdCBuZXdCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgp
OwogICAgIC8vIExldCdzIHJlc2l6ZSB0aGUgYmFja2luZyB3aW5kb3cgaWYgbmVjZXNzYXJ5Lgog
ICAgIGlmIChvbGRCb3VuZHMgIT0gbmV3Qm91bmRzKSB7CiAgICAgICAgIFdlYlBvcHVwTWVudUlt
cGwqIHBvcHVwTWVudSA9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78303</attachid>
            <date>2011-01-07 21:50:56 -0800</date>
            <delta_ts>2011-01-10 23:17:34 -0800</delta_ts>
            <desc>Remove m_popupRect</desc>
            <filename>movebug.patch</filename>
            <type>text/plain</type>
            <size>7516</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IDQ5M2QwYzhjN2IzODY2OTE1MWQ1OWI3OWIzZTE4M2Y1NDliNzRkNDIKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDczYTdlNzEuLjRmZjQ3MTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEt
MDYgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgW0No
cm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmluZyB3aGVuIHRoZSBtZW51IGlzIG9w
ZW5lZCB1cHdhcmQsIGFib3ZlIHRoZSBjb3JyZXNwb25kaW5nIGZvcm0gZmllbGQuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM4MgorICAgICAgICBo
dHRwOi8vY3JidWcuY29tLzYwNDI3CisKKyAgICAgICAgQ2FsY3VsYXRlIGNvcnJlY3QgbG9jYXRp
b24gb2YgcG9wdXAgd2luZG93IHdoZW5ldmVyIHRoZSBpdGVtcyBpbiB0aGUgd2luZG93IGNoYW5n
ZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhpcyBmaXggaXMgZm9yIENocm9t
aXVtIHByb2plY3QgYW5kIGhhcmQgdG8gdGVzdCBvbmx5IGluIFdlYktpdCBwcm9qZWN0CisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6bGF5b3V0T3JDYWxjdWxhdGVXaWRnZXRSZWN0KTog
TmV3IEZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSBwb3B1cCB3aWRnZXQgcmVjdC4KKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXApOiBNb3ZlIHdpZGdldFJlY3QgY2FsY3Vs
YXRpb24gdG8gY2FsY3VsYXRlV2lkZ2V0UmVjdCgpLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBD
b250YWluZXI6Om1vdmVBbmRMYXlvdXQpOiBOZXcgZnVuY3Rpb24gdG8gQ2FsY3VsYXRlIGJvdGgg
bG9jYXRpb24gYW5kIHNpemUgYW5kIHNldCB0aGUgcmVjdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oOiBBcHBlbmQgbmV3IGZ1bmN0aW9ucy4KKwogMjAx
MS0wMS0wNSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgUnViYmVyLXN0YW1wZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCmluZGV4IDA0ZWViOTMuLjE4MzBiNDkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCkBA
IC0zMjksMjcgKzMyOSwyMiBAQCBQb3B1cENvbnRhaW5lcjo6flBvcHVwQ29udGFpbmVyKCkKICAg
ICAgICAgcmVtb3ZlQ2hpbGQobV9saXN0Qm94LmdldCgpKTsKIH0KIAotdm9pZCBQb3B1cENvbnRh
aW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKK0ludFJlY3QgUG9wdXBDb250YWluZXI6
OmNhbGN1bGF0ZVdpZGdldFJlY3QoY29uc3QgSW50UmVjdCYgcG9wdXBSZWN0KQogewotICAgIC8v
IFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3duIGNvbnRy
b2wuCi0gICAgaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOwotCi0gICAg
Ly8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1bHQgdmFsdWUsIGl0IHdpbGwgYmUg
cmVjb21wdXRlZCBiZWxvdwotICAgIC8vIGlmIG5lY2Vzc2FyeS4KLSAgICBtX2xpc3RCb3gtPnNl
dE1heEhlaWdodChrTWF4SGVpZ2h0KTsKKyAgICBpbnQgc2VsZWN0SGVpZ2h0ID0gcG9wdXBSZWN0
LmhlaWdodCgpOwogCi0gICAgLy8gTGF5IGV2ZXJ5dGhpbmcgb3V0IHRvIGZpZ3VyZSBvdXQgb3Vy
IHByZWZlcnJlZCBzaXplLCB0aGVuIHRlbGwgdGhlIHZpZXcncwotICAgIC8vIFdpZGdldENsaWVu
dCBhYm91dCBpdC4gIEl0IHNob3VsZCBhc3NpZ24gdXMgYSBjbGllbnQuCi0gICAgbGF5b3V0KCk7
CisgICAgLy8gQXNzdW1lIG1fbGlzdEJveCBzaXplIGlzIGFscmVhZHkgY2FsY3VsYXRlZC4KKyAg
ICBJbnRTaXplIHRhcmdldFNpemUobV9saXN0Qm94LT53aWR0aCgpICsga0JvcmRlclNpemUgKiAy
LAorICAgICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPmhlaWdodCgpICsga0JvcmRlclNp
emUgKiAyKTsKIAotICAgIG1fZnJhbWVWaWV3ID0gdmlldzsKKyAgICBJbnRSZWN0IHdpZGdldFJl
Y3Q7CiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVu
dENocm9taXVtKCk7CiAgICAgaWYgKGNocm9tZUNsaWVudCkgewogICAgICAgICAvLyBJZiB0aGUg
cG9wdXAgd291bGQgZXh0ZW5kIHBhc3QgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVuIHVw
d2FyZHMKICAgICAgICAgLy8gaW5zdGVhZC4KLSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNj
cmVlbkF2YWlsYWJsZVJlY3Qodmlldyk7Ci0gICAgICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNo
cm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4oZnJhbWVSZWN0KCkpOwotCisgICAgICAgIEZsb2F0
UmVjdCBzY3JlZW4gPSBzY3JlZW5BdmFpbGFibGVSZWN0KG1fZnJhbWVWaWV3LmdldCgpKTsKKyAg
ICAgICAgSW50UmVjdCB3aW5kb3dSZWN0KHBvcHVwUmVjdC5sb2NhdGlvbigpLCB0YXJnZXRTaXpl
KTsKKyAgICAgICAgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4od2lu
ZG93UmVjdCk7CiAgICAgICAgIGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4gc3RhdGljX2Nhc3Q8
aW50PihzY3JlZW4uYm90dG9tKCkpKSB7CiAgICAgICAgICAgICBpZiAod2lkZ2V0UmVjdC55KCkg
LSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgewogICAgICAgICAgICAg
ICAgIC8vIFRoZXJlIGlzIGVub3VnaCByb29tIHRvIG9wZW4gdXB3YXJkcy4KQEAgLTM1OSwxOCAr
MzU0LDI0IEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcp
CiAgICAgICAgICAgICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMuCiAgICAgICAgICAg
ICAgICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVjdEhlaWdodDsKICAg
ICAgICAgICAgICAgICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0b20oKSAtIHdpZGdldFJl
Y3QueSgpOwotICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxvdykKLSAg
ICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoc3BhY2VBYm92ZSk7Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPnNldE1h
eEhlaWdodChzcGFjZUJlbG93KTsKLSAgICAgICAgICAgICAgICBsYXlvdXQoKTsKLSAgICAgICAg
ICAgICAgICAvLyBPdXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRlIHRoZSB3aWRnZXRSZWN0
LgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2Ny
ZWVuKGZyYW1lUmVjdCgpKTsKICAgICAgICAgICAgICAgICAvLyBBbmQgbW92ZSB1cHdhcmRzIGlm
IG5lY2Vzc2FyeS4KICAgICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cp
CiAgICAgICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJlY3QuaGVp
Z2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAgIH0K
KyAgICByZXR1cm4gd2lkZ2V0UmVjdDsKK30KKwordm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1Bv
cHVwKEZyYW1lVmlldyogdmlldykKK3sKKyAgICBtX2ZyYW1lVmlldyA9IHZpZXc7CisKKyAgICBD
aHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21lQ2xpZW50Q2hyb21pdW0o
KTsKKyAgICBpZiAoY2hyb21lQ2xpZW50KSB7CisgICAgICAgIEludFJlY3QgcG9wdXBSZWN0ID0g
ZnJhbWVSZWN0KCk7CisgICAgICAgIGxheW91dCgpOworICAgICAgICBjb25zdCBJbnRSZWN0IHdp
ZGdldFJlY3QgPSBjYWxjdWxhdGVXaWRnZXRSZWN0KHBvcHVwUmVjdCk7CiAgICAgICAgIGNocm9t
ZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2UpOwogICAgICAgICBt
X3BvcHVwT3BlbiA9IHRydWU7CiAgICAgfQpAQCAtNTU2LDE1ICs1NTcsMjYgQEAgdm9pZCBQb3B1
cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRl
eCkKICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgogICAgIGxvY2F0aW9u
Lm1vdmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJbnRSZWN0IHBvcHVwUmVjdChsb2NhdGlvbiwg
ci5zaXplKCkpOwotICAgIHNldEZyYW1lUmVjdChwb3B1cFJlY3QpOworICAgIHNldEZyYW1lUmVj
dChJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSkpOwogICAgIHNob3dQb3B1cCh2KTsKIH0KIAot
dm9pZCBQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCgpCit2b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZy
ZXNoKGNvbnN0IEludFJlY3QmIHIpCiB7CisgICAgSW50UG9pbnQgbG9jYXRpb24gPSBtX2ZyYW1l
Vmlldy0+Y29udGVudHNUb1dpbmRvdyhyLmxvY2F0aW9uKCkpOworICAgICAvLyBNb3ZlIGl0IGJl
bG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgorICAgIGxvY2F0aW9uLm1vdmUoMCwgci5oZWlnaHQoKSk7
CisgICAgSW50UmVjdCBwb3B1cFJlY3QgPSBJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSk7CisK
ICAgICBsaXN0Qm94KCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgLy8gU3RvcmUgdGhlIG9y
aWdpbmFsIGhlaWdodCB0byBjaGVjayBpZiB3ZSBuZWVkIHRvIHJlcXVlc3QgdGhlIGxvY2F0aW9u
LgorICAgIGludCBvcmlnaW5hbEhlaWdodCA9IGhlaWdodCgpOwogICAgIGxheW91dCgpOworICAg
IEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNhbGN1bGF0ZVdpZGdldFJlY3QocG9wdXBSZWN0KTsKKyAg
ICBpZiAob3JpZ2luYWxIZWlnaHQgIT0gd2lkZ2V0UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgc2V0
RnJhbWVSZWN0KHdpZGdldFJlY3QpOworCisgICAgaW52YWxpZGF0ZSgpOwogfQogCiBpbnQgUG9w
dXBDb250YWluZXI6OnNlbGVjdGVkSW5kZXgoKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCmluZGV4IGNhNDdjY2YuLmU2ZjY3YzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKQEAgLTE2MSw2
ICsxNjEsOSBAQCBwdWJsaWM6CiAgICAgLy8gQ29tcHV0ZSBzaXplIG9mIHdpZGdldCBhbmQgY2hp
bGRyZW4uCiAgICAgdm9pZCBsYXlvdXQoKTsKIAorICAgICAvLyBDb21wdXRlIHNpemUgYW5kIGxv
Y2F0aW9uIG9mIHdpZGdldCBhbmQgY2hpbGRyZW4uCisgICAgdm9pZCBtb3ZlQW5kTGF5b3V0KCk7
CisKICAgICBQb3B1cExpc3RCb3gqIGxpc3RCb3goKSBjb25zdCB7IHJldHVybiBtX2xpc3RCb3gu
Z2V0KCk7IH0KIAogICAgIC8vIEdldHMgdGhlIGluZGV4IG9mIHRoZSBpdGVtIHRoYXQgdGhlIHVz
ZXIgaXMgY3VycmVudGx5IG1vdXNlZC1vdmVyIG9yCkBAIC0xNjgsNyArMTcxLDcgQEAgcHVibGlj
OgogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAKICAgICAvLyBSZWZyZXNoIHRoZSBw
b3B1cCB2YWx1ZXMgZnJvbSB0aGUgUG9wdXBNZW51Q2xpZW50LgotICAgIHZvaWQgcmVmcmVzaCgp
OworICAgIHZvaWQgcmVmcmVzaChjb25zdCBJbnRSZWN0JiByKTsKIAogICAgIC8vIFRoZSBtZW51
IHBlci1pdGVtIGRhdGEuCiAgICAgY29uc3QgV1RGOjpWZWN0b3I8UG9wdXBJdGVtKj4mIHBvcHVw
RGF0YSgpIGNvbnN0OwpAQCAtMTkzLDYgKzE5Niw5IEBAIHByaXZhdGU6CiAgICAgLy8gUGFpbnQg
dGhlIGJvcmRlci4KICAgICB2b2lkIHBhaW50Qm9yZGVyKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IEludFJlY3QmKTsKIAorICAgIC8vIENhbGN1bGF0ZSBwb3B1cCB3aWRnZXQgc2l6ZSBhbmQgbG9j
YXRpb24gYW5kIHJldHVybnMgaXQgYXMgSW50UmVjdC4KKyAgICBJbnRSZWN0IGNhbGN1bGF0ZVdp
ZGdldFJlY3QoY29uc3QgSW50UmVjdCYgcG9wdXBSZWN0KTsKKwogICAgIC8vIFJldHVybnMgdGhl
IENocm9tZUNsaWVudCBvZiB0aGUgcGFnZSB0aGlzIHBvcHVwIGlzIGFzc29jaWF0ZWQgd2l0aC4K
ICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50Q2hyb21pdW0oKTsKIApkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBlNDdjODllLi5iYmNiMDAzIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMjIxMiw5ICsyMjEyLDkgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6cmVmcmVzaEF1dG9GaWxsUG9wdXAoKQogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgSW50UmVjdCBvbGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmJvdW5kc1JlY3QoKTsK
LSAgICBtX2F1dG9GaWxsUG9wdXAtPnJlZnJlc2goKTsKLSAgICBJbnRSZWN0IG5ld0JvdW5kcyA9
IG1fYXV0b0ZpbGxQb3B1cC0+Ym91bmRzUmVjdCgpOworICAgIEludFJlY3Qgb2xkQm91bmRzID0g
bV9hdXRvRmlsbFBvcHVwLT5mcmFtZVJlY3QoKTsKKyAgICBtX2F1dG9GaWxsUG9wdXAtPnJlZnJl
c2goZm9jdXNlZFdlYkNvcmVOb2RlKCktPmdldFJlY3QoKSk7CisgICAgSW50UmVjdCBuZXdCb3Vu
ZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOwogICAgIC8vIExldCdzIHJlc2l6ZSB0
aGUgYmFja2luZyB3aW5kb3cgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChvbGRCb3VuZHMgIT0gbmV3
Qm91bmRzKSB7CiAgICAgICAgIFdlYlBvcHVwTWVudUltcGwqIHBvcHVwTWVudSA9Cg==
</data>
<flag name="review"
          id="69602"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78498</attachid>
            <date>2011-01-10 23:17:34 -0800</date>
            <delta_ts>2011-01-14 00:43:38 -0800</delta_ts>
            <desc>Revise ChangeLog and format errors.</desc>
            <filename>movebug.patch</filename>
            <type>text/plain</type>
            <size>8331</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IDljYjk0NzEyYjcyZDFmOTVkNzk2MGEzZGZmN2QxNGQ1ZTcyNDY3MGIKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNzNhN2U3MS4uNjNlZDI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMS0xMCAg
TmFva2kgVGFrYW5vICA8dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KKworICAgICAgICBbQ2hyb21p
dW1dIEZpeCBwb3B1cCBtZW51IHJlLXBvc2l0aW9uaW5nIHdoZW4gdGhlIG1lbnUgaXMgb3BlbmVk
IHVwd2FyZCwgYWJvdmUgdGhlIGNvcnJlc3BvbmRpbmcgZm9ybSBmaWVsZC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMzgyCisgICAgICAgIGh0dHA6
Ly9jcmJ1Zy5jb20vNjA0MjcKKworICAgICAgICBDYWxjdWxhdGUgY29ycmVjdCBsb2NhdGlvbiBv
ZiBwb3B1cCB3aW5kb3cgd2hlbmV2ZXIgdGhlIGl0ZW1zIGluIHRoZSB3aW5kb3cgY2hhbmdlLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGlzIGZpeCBpcyBmb3IgQ2hyb21pdW0g
cHJvamVjdCBhbmQgaGFyZCB0byB0ZXN0IG9ubHkgaW4gV2ViS2l0IHByb2plY3QKKworICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBvcHVwQ29udGFpbmVyOjpjYWxjdWxhdGVXaWRnZXRSZWN0KTogTmV3IEZ1bmN0aW9u
IHRvIGNhbGN1bGF0ZSBwb3B1cCB3aWRnZXQgcmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
Q29udGFpbmVyOjpzaG93UG9wdXApOiBNb3ZlIHdpZGdldFJlY3QgY2FsY3VsYXRpb24gbG9naWMg
dG8gY2FsY3VsYXRlV2lkZ2V0UmVjdCgpLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWlu
ZXI6OnJlZnJlc2gpOiBBZGQgcGFyYW1ldGVyIGZvY3VzUmVjdCB0byB0YWtlIHRoZSBsb2NhdGlv
biBhbmQgdGhlIHNpemUgb2YgZm9jdXMgdGV4dCBpbnB1dCBmaWVsZCB0byBjYWxjdWxhdGUgY29y
cmVjdCBwb3B1cCB3aW5kb3cgbG9jYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
UG9wdXBNZW51Q2hyb21pdW0uaDogQXBwZW5kIG5ldyBpbnB1dCBwYXJhbWV0ZXIgZm9yIHJlZnJl
c2goKS4KKwogMjAxMS0wMS0wNSAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5j
b20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCmluZGV4IDA0ZWViOTMu
LjNjNTk5NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51
Q2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uY3BwCkBAIC0zMjksMjcgKzMyOSwyMiBAQCBQb3B1cENvbnRhaW5lcjo6flBvcHVwQ29u
dGFpbmVyKCkKICAgICAgICAgcmVtb3ZlQ2hpbGQobV9saXN0Qm94LmdldCgpKTsKIH0KIAotdm9p
ZCBQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKK0ludFJlY3QgUG9w
dXBDb250YWluZXI6OmNhbGN1bGF0ZVdpZGdldFJlY3QoY29uc3QgSW50UmVjdCYgcG9wdXBSZWN0
KQogewotICAgIC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRy
b3Bkb3duIGNvbnRyb2wuCi0gICAgaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdo
dCgpOwotCi0gICAgLy8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1bHQgdmFsdWUs
IGl0IHdpbGwgYmUgcmVjb21wdXRlZCBiZWxvdwotICAgIC8vIGlmIG5lY2Vzc2FyeS4KLSAgICBt
X2xpc3RCb3gtPnNldE1heEhlaWdodChrTWF4SGVpZ2h0KTsKKyAgICBpbnQgc2VsZWN0SGVpZ2h0
ID0gcG9wdXBSZWN0LmhlaWdodCgpOwogCi0gICAgLy8gTGF5IGV2ZXJ5dGhpbmcgb3V0IHRvIGZp
Z3VyZSBvdXQgb3VyIHByZWZlcnJlZCBzaXplLCB0aGVuIHRlbGwgdGhlIHZpZXcncwotICAgIC8v
IFdpZGdldENsaWVudCBhYm91dCBpdC4gIEl0IHNob3VsZCBhc3NpZ24gdXMgYSBjbGllbnQuCi0g
ICAgbGF5b3V0KCk7CisgICAgLy8gQXNzdW1lIG1fbGlzdEJveCBzaXplIGlzIGFscmVhZHkgY2Fs
Y3VsYXRlZC4KKyAgICBJbnRTaXplIHRhcmdldFNpemUobV9saXN0Qm94LT53aWR0aCgpICsga0Jv
cmRlclNpemUgKiAyLAorICAgICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPmhlaWdodCgp
ICsga0JvcmRlclNpemUgKiAyKTsKIAotICAgIG1fZnJhbWVWaWV3ID0gdmlldzsKKyAgICBJbnRS
ZWN0IHdpZGdldFJlY3Q7CiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9
IGNocm9tZUNsaWVudENocm9taXVtKCk7CiAgICAgaWYgKGNocm9tZUNsaWVudCkgewogICAgICAg
ICAvLyBJZiB0aGUgcG9wdXAgd291bGQgZXh0ZW5kIHBhc3QgdGhlIGJvdHRvbSBvZiB0aGUgc2Ny
ZWVuLCBvcGVuIHVwd2FyZHMKICAgICAgICAgLy8gaW5zdGVhZC4KLSAgICAgICAgRmxvYXRSZWN0
IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3Qodmlldyk7Ci0gICAgICAgIEludFJlY3Qgd2lk
Z2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4oZnJhbWVSZWN0KCkpOwotCisg
ICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3JlZW5BdmFpbGFibGVSZWN0KG1fZnJhbWVWaWV3
LmdldCgpKTsKKyAgICAgICAgSW50UmVjdCB3aW5kb3dSZWN0KHBvcHVwUmVjdC5sb2NhdGlvbigp
LCB0YXJnZXRTaXplKTsKKyAgICAgICAgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93
VG9TY3JlZW4od2luZG93UmVjdCk7CiAgICAgICAgIGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4g
c3RhdGljX2Nhc3Q8aW50PihzY3JlZW4uYm90dG9tKCkpKSB7CiAgICAgICAgICAgICBpZiAod2lk
Z2V0UmVjdC55KCkgLSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgewog
ICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIGVub3VnaCByb29tIHRvIG9wZW4gdXB3YXJkcy4K
QEAgLTM1OSwxOCArMzU0LDI0IEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFt
ZVZpZXcqIHZpZXcpCiAgICAgICAgICAgICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMu
CiAgICAgICAgICAgICAgICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVj
dEhlaWdodDsKICAgICAgICAgICAgICAgICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0b20o
KSAtIHdpZGdldFJlY3QueSgpOwotICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3Bh
Y2VCZWxvdykKLSAgICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoc3Bh
Y2VBYm92ZSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBtX2xp
c3RCb3gtPnNldE1heEhlaWdodChzcGFjZUJlbG93KTsKLSAgICAgICAgICAgICAgICBsYXlvdXQo
KTsKLSAgICAgICAgICAgICAgICAvLyBPdXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRlIHRo
ZSB3aWRnZXRSZWN0LgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQt
PndpbmRvd1RvU2NyZWVuKGZyYW1lUmVjdCgpKTsKICAgICAgICAgICAgICAgICAvLyBBbmQgbW92
ZSB1cHdhcmRzIGlmIG5lY2Vzc2FyeS4KICAgICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+
IHNwYWNlQmVsb3cpCiAgICAgICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdp
ZGdldFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQorICAgIH0KKyAgICByZXR1cm4gd2lkZ2V0UmVjdDsKK30KKwordm9pZCBQb3B1cENvbnRh
aW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKK3sKKyAgICBtX2ZyYW1lVmlldyA9IHZp
ZXc7CisKKyAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21lQ2xp
ZW50Q2hyb21pdW0oKTsKKyAgICBpZiAoY2hyb21lQ2xpZW50KSB7CisgICAgICAgIEludFJlY3Qg
cG9wdXBSZWN0ID0gZnJhbWVSZWN0KCk7CisgICAgICAgIGxheW91dCgpOworICAgICAgICBjb25z
dCBJbnRSZWN0IHdpZGdldFJlY3QgPSBjYWxjdWxhdGVXaWRnZXRSZWN0KHBvcHVwUmVjdCk7CiAg
ICAgICAgIGNocm9tZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2Up
OwogICAgICAgICBtX3BvcHVwT3BlbiA9IHRydWU7CiAgICAgfQpAQCAtNTU2LDE1ICs1NTcsMjYg
QEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0JiByLCBGcmFtZVZpZXcq
IHYsIGludCBpbmRleCkKICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0Lgog
ICAgIGxvY2F0aW9uLm1vdmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJbnRSZWN0IHBvcHVwUmVj
dChsb2NhdGlvbiwgci5zaXplKCkpOwotICAgIHNldEZyYW1lUmVjdChwb3B1cFJlY3QpOworICAg
IHNldEZyYW1lUmVjdChJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSkpOwogICAgIHNob3dQb3B1
cCh2KTsKIH0KIAotdm9pZCBQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCgpCit2b2lkIFBvcHVwQ29u
dGFpbmVyOjpyZWZyZXNoKGNvbnN0IEludFJlY3QmIGZvY3VzUmVjdCkKIHsKKyAgICBJbnRQb2lu
dCBsb2NhdGlvbiA9IG1fZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KGZvY3VzUmVjdC5sb2Nh
dGlvbigpKTsKKyAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgorICAgIGxv
Y2F0aW9uLm1vdmUoMCwgZm9jdXNSZWN0LmhlaWdodCgpKTsKKyAgICBJbnRSZWN0IHBvcHVwUmVj
dCA9IEludFJlY3QobG9jYXRpb24sIGZvY3VzUmVjdC5zaXplKCkpOworCiAgICAgbGlzdEJveCgp
LT51cGRhdGVGcm9tRWxlbWVudCgpOworICAgIC8vIFN0b3JlIHRoZSBvcmlnaW5hbCBoZWlnaHQg
dG8gY2hlY2sgaWYgd2UgbmVlZCB0byByZXF1ZXN0IHRoZSBsb2NhdGlvbi4KKyAgICBpbnQgb3Jp
Z2luYWxIZWlnaHQgPSBoZWlnaHQoKTsKICAgICBsYXlvdXQoKTsKKyAgICBJbnRSZWN0IHdpZGdl
dFJlY3QgPSBjYWxjdWxhdGVXaWRnZXRSZWN0KHBvcHVwUmVjdCk7CisgICAgaWYgKG9yaWdpbmFs
SGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVpZ2h0KCkpCisgICAgICAgIHNldEZyYW1lUmVjdCh3aWRn
ZXRSZWN0KTsKKworICAgIGludmFsaWRhdGUoKTsKIH0KIAogaW50IFBvcHVwQ29udGFpbmVyOjpz
ZWxlY3RlZEluZGV4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBNZW51Q2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uaAppbmRleCBjYTQ3Y2NmLi41NGVhYzM4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCkBAIC0xNjgsNyArMTY4LDcgQEAgcHVi
bGljOgogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAKICAgICAvLyBSZWZyZXNoIHRo
ZSBwb3B1cCB2YWx1ZXMgZnJvbSB0aGUgUG9wdXBNZW51Q2xpZW50LgotICAgIHZvaWQgcmVmcmVz
aCgpOworICAgIHZvaWQgcmVmcmVzaChjb25zdCBJbnRSZWN0Jik7CiAKICAgICAvLyBUaGUgbWVu
dSBwZXItaXRlbSBkYXRhLgogICAgIGNvbnN0IFdURjo6VmVjdG9yPFBvcHVwSXRlbSo+JiBwb3B1
cERhdGEoKSBjb25zdDsKQEAgLTE5Myw2ICsxOTMsOSBAQCBwcml2YXRlOgogICAgIC8vIFBhaW50
IHRoZSBib3JkZXIuCiAgICAgdm9pZCBwYWludEJvcmRlcihHcmFwaGljc0NvbnRleHQqLCBjb25z
dCBJbnRSZWN0Jik7CiAKKyAgICAvLyBDYWxjdWxhdGUgcG9wdXAgd2lkZ2V0IHNpemUgYW5kIGxv
Y2F0aW9uIGFuZCByZXR1cm5zIGl0IGFzIEludFJlY3QuCisgICAgSW50UmVjdCBjYWxjdWxhdGVX
aWRnZXRSZWN0KGNvbnN0IEludFJlY3QmIHBvcHVwUmVjdCk7CisKICAgICAvLyBSZXR1cm5zIHRo
ZSBDaHJvbWVDbGllbnQgb2YgdGhlIHBhZ2UgdGhpcyBwb3B1cCBpcyBhc3NvY2lhdGVkIHdpdGgu
CiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudENocm9taXVtKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE0YmRl
ZWYuLjQ3NTczNGMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTEwICBOYW9raSBUYWthbm8gIDx0YWth
bm8ubmFva2lAZ21haWwuY29tPgorCisgICAgICAgIFtDaHJvbWl1bV0gRml4IHBvcHVwIG1lbnUg
cmUtcG9zaXRpb25pbmcgd2hlbiB0aGUgbWVudSBpcyBvcGVuZWQgdXB3YXJkLCBhYm92ZSB0aGUg
Y29ycmVzcG9uZGluZyBmb3JtIGZpZWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTEzODIKKyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS82MDQyNwor
CisgICAgICAgIENhbGN1bGF0ZSBjb3JyZWN0IGxvY2F0aW9uIG9mIHBvcHVwIHdpbmRvdyB3aGVu
ZXZlciB0aGUgaXRlbXMgaW4gdGhlIHdpbmRvdyBjaGFuZ2UuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzLCBiZWNhdXNlIHRoaXMgZml4IGlzIGZvciBDaHJvbWl1bSBwcm9qZWN0IGFuZCBoYXJkIHRv
IHRlc3Qgb25seSBpbiBXZWJLaXQgcHJvamVjdAorCisgICAgICAgKiBXZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6cmVmcmVz
aEF1dG9GaWxsUG9wdXApOiBDaGFuZ2UgdGhlIGxvZ2ljIGluIHJlZnJlc2hBdXRvRmlsUG9wdXAo
KSB0byBjaGVjayBib3RoIHRoZSBsb2NhdGlvbiBhbmQgdGhlIHNpemUgb2YgcG9wdXAgd2luZG93
LgorCiAyMDEwLTEyLTMxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVXBkYXRlIFNWTiBpZ25vcmUgcHJvcGVydHkgdG8gaGlkZSB0d28gbW9yZSBleHRlcm5hbCBk
ZXBlbmRlbmNpZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGU0N2M4OWUu
LmJiY2IwMDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMjEyLDkgKzIy
MTIsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCgpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1
cC0+Ym91bmRzUmVjdCgpOwotICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVmcmVzaCgpOwotICAgIElu
dFJlY3QgbmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50
UmVjdCBvbGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOworICAgIG1fYXV0
b0ZpbGxQb3B1cC0+cmVmcmVzaChmb2N1c2VkV2ViQ29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAg
ICBJbnRSZWN0IG5ld0JvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+ZnJhbWVSZWN0KCk7CiAgICAg
Ly8gTGV0J3MgcmVzaXplIHRoZSBiYWNraW5nIHdpbmRvdyBpZiBuZWNlc3NhcnkuCiAgICAgaWYg
KG9sZEJvdW5kcyAhPSBuZXdCb3VuZHMpIHsKICAgICAgICAgV2ViUG9wdXBNZW51SW1wbCogcG9w
dXBNZW51ID0K
</data>
<flag name="review"
          id="69817"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78899</attachid>
            <date>2011-01-14 00:43:38 -0800</date>
            <delta_ts>2011-01-14 23:59:08 -0800</delta_ts>
            <desc>Fix comments and pull out setMaxHeight() call.</desc>
            <filename>popup.patch</filename>
            <type>text/plain</type>
            <size>9731</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IDhkNWE5MjEyNGNjMGQ2MDQ3ZmI3YjE5ZjVkMDQxNjVmODQ0NmRmNDkKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgogICAgCiAgICBDaGFuZ2UgcGFybWFzLgogICAgCiAgICBGaXggc2V0TWF4SGVp
Z2h0LgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBkM2MyZDc0Li4wNDA0Mjc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMTEtMDEtMTMgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5j
b20+CisKKyAgICAgICAgW0Nocm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmluZyB3
aGVuIHRoZSBtZW51IGlzIG9wZW5lZAordXB3YXJkLCBhYm92ZSB0aGUgY29ycmVzcG9uZGluZyBm
b3JtIGZpZWxkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTEzODIKKyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS82MDQyNworCisgICAgICAgIENhbGN1
bGF0ZSBjb3JyZWN0IGxvY2F0aW9uIG9mIHBvcHVwIHdpbmRvdyB3aGVuZXZlciB0aGUgaXRlbXMg
aW4gdGhlIHdpbmRvdyBjaGFuZ2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIHRo
aXMgZml4IGlzIGZvciBDaHJvbWl1bSBwcm9qZWN0IGFuZCBoYXJkIHRvIHRlc3Qgb25seSBpbiBX
ZWJLaXQgcHJvamVjdAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmNhbGN1bGF0ZVdp
ZGdldFJlY3QpOiBOZXcgRnVuY3Rpb24gdG8gY2FsY3VsYXRlIHBvcHVwIHdpZGdldCByZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OnNob3dQb3B1cCk6IE1vdmUgd2lkZ2V0
UmVjdCBjYWxjdWxhdGlvbiBsb2dpYyB0byBjYWxjdWxhdGVXaWRnZXRSZWN0KCkuCisgICAgICAg
IChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCk6IEFkZCBwYXJhbWV0ZXIgZm9jdXNS
ZWN0IHRvIHRha2UgdGhlIGxvY2F0aW9uIGFuZCB0aGUgc2l6ZSBvZiBmb2N1cyB0ZXh0IGlucHV0
IGZpZWxkIHRvIGNhbGN1bGF0ZSBjb3JyZWN0IHBvcHVwIHdpbmRvdyBsb2NhdGlvbi4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oOiBBcHBlbmQgbmV3IGlu
cHV0IHBhcmFtZXRlciBmb3IgcmVmcmVzaCgpLgorCiAyMDExLTAxLTEzICBBZHJpZW5uZSBXYWxr
ZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNz
ZWxsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uY3BwCmluZGV4IDA0ZWViOTMuLmFiZjM4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKQEAg
LTE0Niw2ICsxNDYsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldE1heEhlaWdodChpbnQgbWF4
SGVpZ2h0KSB7IG1fbWF4SGVpZ2h0ID0gbWF4SGVpZ2h0OyB9CiAKKyAgICBpbnQgZ2V0TWF4SGVp
Z2h0KCkgeyByZXR1cm4gbV9tYXhIZWlnaHQ7IH0KKwogICAgIHZvaWQgZGlzY29ubmVjdENsaWVu
dCgpIHsgbV9wb3B1cENsaWVudCA9IDA7IH0KIAogICAgIGNvbnN0IFZlY3RvcjxQb3B1cEl0ZW0q
PiYgaXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2l0ZW1zOyB9CkBAIC0zMjksNDggKzMzMSw1NCBA
QCBQb3B1cENvbnRhaW5lcjo6flBvcHVwQ29udGFpbmVyKCkKICAgICAgICAgcmVtb3ZlQ2hpbGQo
bV9saXN0Qm94LmdldCgpKTsKIH0KIAotdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZy
YW1lVmlldyogdmlldykKK0ludFJlY3QgUG9wdXBDb250YWluZXI6OmNhbGN1bGF0ZVdpZGdldFJl
Y3QoaW50IGhlaWdodE9mVGFyZ2V0Rm9ybUNvbnRyb2wsIGNvbnN0IEludFBvaW50JiBpbml0aWFs
Q29vcmRpbmF0ZU9mUG9wdXAsIGludCYgbGlzdEJveE1heEhlaWdodCkKIHsKLSAgICAvLyBQcmUt
bGF5b3V0LCBvdXIgc2l6ZSBtYXRjaGVzIHRoZSA8c2VsZWN0PiBkcm9wZG93biBjb250cm9sLgot
ICAgIGludCBzZWxlY3RIZWlnaHQgPSBmcmFtZVJlY3QoKS5oZWlnaHQoKTsKLQotICAgIC8vIFJl
c2V0IHRoZSBtYXggaGVpZ2h0IHRvIGl0cyBkZWZhdWx0IHZhbHVlLCBpdCB3aWxsIGJlIHJlY29t
cHV0ZWQgYmVsb3cKLSAgICAvLyBpZiBuZWNlc3NhcnkuCi0gICAgbV9saXN0Qm94LT5zZXRNYXhI
ZWlnaHQoa01heEhlaWdodCk7Ci0KLSAgICAvLyBMYXkgZXZlcnl0aGluZyBvdXQgdG8gZmlndXJl
IG91dCBvdXIgcHJlZmVycmVkIHNpemUsIHRoZW4gdGVsbCB0aGUgdmlldydzCi0gICAgLy8gV2lk
Z2V0Q2xpZW50IGFib3V0IGl0LiAgSXQgc2hvdWxkIGFzc2lnbiB1cyBhIGNsaWVudC4KLSAgICBs
YXlvdXQoKTsKKyAgICBsaXN0Qm94TWF4SGVpZ2h0ID0gbV9saXN0Qm94LT5nZXRNYXhIZWlnaHQo
KTsgIAorICAgIAorICAgIC8vIEFzc3VtZSBtX2xpc3RCb3ggc2l6ZSBpcyBhbHJlYWR5IGNhbGN1
bGF0ZWQuCisgICAgSW50U2l6ZSB0YXJnZXRTaXplKG1fbGlzdEJveC0+d2lkdGgoKSArIGtCb3Jk
ZXJTaXplICogMiwKKyAgICAgICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5oZWlnaHQoKSAr
IGtCb3JkZXJTaXplICogMik7CiAKLSAgICBtX2ZyYW1lVmlldyA9IHZpZXc7CisgICAgSW50UmVj
dCB3aWRnZXRSZWN0OwogICAgIENocm9tZUNsaWVudENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBj
aHJvbWVDbGllbnRDaHJvbWl1bSgpOwogICAgIGlmIChjaHJvbWVDbGllbnQpIHsKICAgICAgICAg
Ly8gSWYgdGhlIHBvcHVwIHdvdWxkIGV4dGVuZCBwYXN0IHRoZSBib3R0b20gb2YgdGhlIHNjcmVl
biwgb3BlbiB1cHdhcmRzCiAgICAgICAgIC8vIGluc3RlYWQuCi0gICAgICAgIEZsb2F0UmVjdCBz
Y3JlZW4gPSBzY3JlZW5BdmFpbGFibGVSZWN0KHZpZXcpOwotICAgICAgICBJbnRSZWN0IHdpZGdl
dFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKGZyYW1lUmVjdCgpKTsKLQorICAg
ICAgICBGbG9hdFJlY3Qgc2NyZWVuID0gc2NyZWVuQXZhaWxhYmxlUmVjdChtX2ZyYW1lVmlldy5n
ZXQoKSk7CisgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVu
KEludFJlY3QoaW5pdGlhbENvb3JkaW5hdGVPZlBvcHVwLCB0YXJnZXRTaXplKSk7CiAgICAgICAg
IGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4gc3RhdGljX2Nhc3Q8aW50PihzY3JlZW4uYm90dG9t
KCkpKSB7Ci0gICAgICAgICAgICBpZiAod2lkZ2V0UmVjdC55KCkgLSB3aWRnZXRSZWN0LmhlaWdo
dCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgeworICAgICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgp
IC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAtIGhlaWdodE9mVGFyZ2V0Rm9ybUNvbnRyb2wgPiAwKSB7
CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMgZW5vdWdoIHJvb20gdG8gb3BlbiB1cHdhcmRz
LgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0
KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwg
LSh3aWRnZXRSZWN0LmhlaWdodCgpICsgaGVpZ2h0T2ZUYXJnZXRGb3JtQ29udHJvbCkpOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBGaWd1cmUgd2hldGhlciB1cHdh
cmRzIG9yIGRvd253YXJkcyBoYXMgbW9yZSByb29tIGFuZCBzZXQgdGhlCiAgICAgICAgICAgICAg
ICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMuCi0gICAgICAgICAgICAgICAgaW50IHNwYWNl
QWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVjdEhlaWdodDsKKyAgICAgICAgICAgICAgICBp
bnQgc3BhY2VBYm92ZSA9IHdpZGdldFJlY3QueSgpIC0gaGVpZ2h0T2ZUYXJnZXRGb3JtQ29udHJv
bDsKICAgICAgICAgICAgICAgICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0b20oKSAtIHdp
ZGdldFJlY3QueSgpOwotICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxv
dykKLSAgICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQoc3BhY2VBYm92
ZSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gt
PnNldE1heEhlaWdodChzcGFjZUJlbG93KTsKLSAgICAgICAgICAgICAgICBsYXlvdXQoKTsKLSAg
ICAgICAgICAgICAgICAvLyBPdXIgc2l6ZSBoYXMgY2hhbmdlZCwgcmVjb21wdXRlIHRoZSB3aWRn
ZXRSZWN0LgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRv
d1RvU2NyZWVuKGZyYW1lUmVjdCgpKTsKICAgICAgICAgICAgICAgICAvLyBBbmQgbW92ZSB1cHdh
cmRzIGlmIG5lY2Vzc2FyeS4KLSAgICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+IHNwYWNl
QmVsb3cpCi0gICAgICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJl
Y3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAgICAgICAgICBpZiAoc3BhY2VB
Ym92ZSA+IHNwYWNlQmVsb3cpIHsKKyAgICAgICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3Zl
KDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIGhlaWdodE9mVGFyZ2V0Rm9ybUNvbnRyb2wpKTsK
KyAgICAgICAgICAgICAgICAgICAgbGlzdEJveE1heEhlaWdodCA9IHNwYWNlQWJvdmU7CisgICAg
ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbGlzdEJveE1heEhlaWdo
dCA9IHNwYWNlQmVsb3c7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg
ICB9CisgICAgfQorICAgIHJldHVybiB3aWRnZXRSZWN0OworfQorCit2b2lkIFBvcHVwQ29udGFp
bmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQoreworICAgIG1fZnJhbWVWaWV3ID0gdmll
dzsKKworICAgIENocm9tZUNsaWVudENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGll
bnRDaHJvbWl1bSgpOworICAgIGlmIChjaHJvbWVDbGllbnQpIHsKKyAgICAgICAgSW50UmVjdCBw
b3B1cFJlY3QgPSBmcmFtZVJlY3QoKTsKKyAgICAgICAgbGF5b3V0KCk7CisgICAgICAgIGludCBs
aXN0Qm94TWF4SGVpZ2h0ID0gMDsKKyAgICAgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gY2FsY3Vs
YXRlV2lkZ2V0UmVjdChwb3B1cFJlY3QuaGVpZ2h0KCksIHBvcHVwUmVjdC5sb2NhdGlvbigpLCBs
aXN0Qm94TWF4SGVpZ2h0KTsKKyAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQobGlzdEJv
eE1heEhlaWdodCk7CiAgICAgICAgIGNocm9tZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgd2lk
Z2V0UmVjdCwgZmFsc2UpOwogICAgICAgICBtX3BvcHVwT3BlbiA9IHRydWU7CiAgICAgfQpAQCAt
NTU2LDE1ICs1NjQsMjcgQEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0
JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRleCkKICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBz
ZWxlY3Qgd2lkZ2V0LgogICAgIGxvY2F0aW9uLm1vdmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJ
bnRSZWN0IHBvcHVwUmVjdChsb2NhdGlvbiwgci5zaXplKCkpOwotICAgIHNldEZyYW1lUmVjdChw
b3B1cFJlY3QpOworICAgIHNldEZyYW1lUmVjdChJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSkp
OwogICAgIHNob3dQb3B1cCh2KTsKIH0KIAotdm9pZCBQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCgp
Cit2b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZyZXNoKGNvbnN0IEludFJlY3QmIHRhcmdldEZvcm1S
ZWN0KQogeworICAgIEludFBvaW50IGxvY2F0aW9uID0gbV9mcmFtZVZpZXctPmNvbnRlbnRzVG9X
aW5kb3codGFyZ2V0Rm9ybVJlY3QubG9jYXRpb24oKSk7CisgICAgLy8gTW92ZSBpdCBiZWxvdyB0
aGUgc2VsZWN0IHdpZGdldC4KKyAgICBsb2NhdGlvbi5tb3ZlKDAsIHRhcmdldEZvcm1SZWN0Lmhl
aWdodCgpKTsKKwogICAgIGxpc3RCb3goKS0+dXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAgICAvLyBT
dG9yZSB0aGUgb3JpZ2luYWwgaGVpZ2h0IHRvIGNoZWNrIGlmIHdlIG5lZWQgdG8gcmVxdWVzdCB0
aGUgbG9jYXRpb24uCisgICAgaW50IG9yaWdpbmFsSGVpZ2h0ID0gaGVpZ2h0KCk7CiAgICAgbGF5
b3V0KCk7CisgICAgaW50IGxpc3RCb3hNYXhIZWlnaHQgPSAwOworICAgIEludFJlY3Qgd2lkZ2V0
UmVjdCA9IGNhbGN1bGF0ZVdpZGdldFJlY3QodGFyZ2V0Rm9ybVJlY3QuaGVpZ2h0KCksIGxvY2F0
aW9uLCBsaXN0Qm94TWF4SGVpZ2h0KTsKKyAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChsaXN0
Qm94TWF4SGVpZ2h0KTsKKyAgICBpZiAob3JpZ2luYWxIZWlnaHQgIT0gd2lkZ2V0UmVjdC5oZWln
aHQoKSkKKyAgICAgICAgc2V0RnJhbWVSZWN0KHdpZGdldFJlY3QpOworCisgICAgaW52YWxpZGF0
ZSgpOwogfQogCiBpbnQgUG9wdXBDb250YWluZXI6OnNlbGVjdGVkSW5kZXgoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmgKaW5kZXggY2E0N2NjZi4uMzgxODQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCkBAIC0xNjgsNyArMTY4LDcgQEAg
cHVibGljOgogICAgIGludCBzZWxlY3RlZEluZGV4KCkgY29uc3Q7CiAKICAgICAvLyBSZWZyZXNo
IHRoZSBwb3B1cCB2YWx1ZXMgZnJvbSB0aGUgUG9wdXBNZW51Q2xpZW50LgotICAgIHZvaWQgcmVm
cmVzaCgpOworICAgIHZvaWQgcmVmcmVzaChjb25zdCBJbnRSZWN0JiB0YXJnZXRGb3JtUmVjdCk7
CiAKICAgICAvLyBUaGUgbWVudSBwZXItaXRlbSBkYXRhLgogICAgIGNvbnN0IFdURjo6VmVjdG9y
PFBvcHVwSXRlbSo+JiBwb3B1cERhdGEoKSBjb25zdDsKQEAgLTE5Myw2ICsxOTMsOSBAQCBwcml2
YXRlOgogICAgIC8vIFBhaW50IHRoZSBib3JkZXIuCiAgICAgdm9pZCBwYWludEJvcmRlcihHcmFw
aGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7CiAKKyAgICAvLyBDYWxjdWxhdGUgcG9wdXAg
d2lkZ2V0IHNpemUgYW5kIGxvY2F0aW9uIGFuZCByZXR1cm5zIGl0IGFzIEludFJlY3QuCisgICAg
SW50UmVjdCBjYWxjdWxhdGVXaWRnZXRSZWN0KGludCBoZWlnaHRPZlRhcmdldEZvcm1Db250cm9s
LCBjb25zdCBJbnRQb2ludCYgaW5pdGlhbENvb3JkaW5hdGVPZlBvcHVwLCBpbnQmIGxpc3RCb3hN
YXhIZWlnaHQpOworCiAgICAgLy8gUmV0dXJucyB0aGUgQ2hyb21lQ2xpZW50IG9mIHRoZSBwYWdl
IHRoaXMgcG9wdXAgaXMgYXNzb2NpYXRlZCB3aXRoLgogICAgIENocm9tZUNsaWVudENocm9taXVt
KiBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwNTMxZTFlLi43ZTEz
MTlmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0xMCAgTmFva2kgVGFr
YW5vICA8dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KKworICAgICAgICBbQ2hyb21pdW1dIEZpeCBw
b3B1cCBtZW51IHJlLXBvc2l0aW9uaW5nIHdoZW4gdGhlIG1lbnUgaXMgb3BlbmVkIHVwd2FyZCwg
YWJvdmUgdGhlIGNvcnJlc3BvbmRpbmcgZm9ybSBmaWVsZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMzgyCisgICAgICAgIGh0dHA6Ly9jcmJ1Zy5j
b20vNjA0MjcKKworICAgICAgICBDYWxjdWxhdGUgY29ycmVjdCBsb2NhdGlvbiBvZiBwb3B1cCB3
aW5kb3cgd2hlbmV2ZXIgdGhlIGl0ZW1zIGluIHRoZSB3aW5kb3cgY2hhbmdlLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGlzIGZpeCBpcyBmb3IgQ2hyb21pdW0gcHJvamVjdCBh
bmQgaGFyZCB0byB0ZXN0IG9ubHkgaW4gV2ViS2l0IHByb2plY3QKKworICAgICAgICogV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnJlZnJlc2hBdXRvRmlsbFBvcHVwKTogQ2hhbmdlIHRoZSBsb2dpYyBpbiByZWZyZXNoQXV0
b0ZpbFBvcHVwKCkgdG8gY2hlY2sgYm90aCB0aGUgbG9jYXRpb24gYW5kIHRoZSBzaXplIG9mIHBv
cHVwIHdpbmRvdy4KKwogMjAxMS0wMS0xMSAgSm9obiBBYmQtRWwtTWFsZWsgIDxqYW1AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4KZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggNDRlZmVlYS4uMzY3MzczZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKQEAgLTIyMDgsOSArMjIwOCw5IEBAIHZvaWQgV2ViVmlld0ltcGw6
OnJlZnJlc2hBdXRvRmlsbFBvcHVwKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIElu
dFJlY3Qgb2xkQm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7Ci0gICAgbV9h
dXRvRmlsbFBvcHVwLT5yZWZyZXNoKCk7Ci0gICAgSW50UmVjdCBuZXdCb3VuZHMgPSBtX2F1dG9G
aWxsUG9wdXAtPmJvdW5kc1JlY3QoKTsKKyAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b0Zp
bGxQb3B1cC0+ZnJhbWVSZWN0KCk7CisgICAgbV9hdXRvRmlsbFBvcHVwLT5yZWZyZXNoKGZvY3Vz
ZWRXZWJDb3JlTm9kZSgpLT5nZXRSZWN0KCkpOworICAgIEludFJlY3QgbmV3Qm91bmRzID0gbV9h
dXRvRmlsbFBvcHVwLT5mcmFtZVJlY3QoKTsKICAgICAvLyBMZXQncyByZXNpemUgdGhlIGJhY2tp
bmcgd2luZG93IGlmIG5lY2Vzc2FyeS4KICAgICBpZiAob2xkQm91bmRzICE9IG5ld0JvdW5kcykg
ewogICAgICAgICBXZWJQb3B1cE1lbnVJbXBsKiBwb3B1cE1lbnUgPQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79057</attachid>
            <date>2011-01-14 23:59:08 -0800</date>
            <delta_ts>2011-01-17 00:25:54 -0800</delta_ts>
            <desc>Restore layout() call</desc>
            <filename>popup.patch</filename>
            <type>text/plain</type>
            <size>9042</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IGFmOGIxOTQ1YmEwYTAxNWEzNGNkYmIxYzI2NGJlN2Q0MWVmMzUyNjEKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgogICAgCiAgICBDaGFuZ2UgcGFybWFzLgogICAgCiAgICBGaXggc2V0TWF4SGVp
Z2h0LgogICAgCiAgICBDaGFuZ2UgZnVuY3Rpb24gbmFtZXMuCiAgICAKICAgIERlbGV0ZS4KCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZDNjMmQ3NC4uNWY3M2NjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDExLTAxLTEzICBOYW9raSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21haWwuY29tPgorCisg
ICAgICAgIFtDaHJvbWl1bV0gRml4IHBvcHVwIG1lbnUgcmUtcG9zaXRpb25pbmcgd2hlbiB0aGUg
bWVudSBpcyBvcGVuZWQKK3Vwd2FyZCwgYWJvdmUgdGhlIGNvcnJlc3BvbmRpbmcgZm9ybSBmaWVs
ZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMzgy
CisgICAgICAgIGh0dHA6Ly9jcmJ1Zy5jb20vNjA0MjcKKworICAgICAgICBDYWxjdWxhdGUgY29y
cmVjdCBsb2NhdGlvbiBvZiBwb3B1cCB3aW5kb3cgd2hlbmV2ZXIgdGhlIGl0ZW1zIGluIHRoZSB3
aW5kb3cgY2hhbmdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0aGlzIGZpeCBp
cyBmb3IgQ2hyb21pdW0gcHJvamVjdCBhbmQgaGFyZCB0byB0ZXN0IG9ubHkgaW4gV2ViS2l0IHBy
b2plY3QKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpsYXlvdXRBbmRDYWxjdWxhdGVX
aWRnZXRSZWN0KTogTmV3IEZ1bmN0aW9uIHRvIGxheW91dCBhbmQgY2FsY3VsYXRlIHBvcHVwIHdp
ZGdldCByZWN0LgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OnNob3dQb3B1cCk6
IE1vdmUgd2lkZ2V0UmVjdCBjYWxjdWxhdGlvbiBsb2dpYyB0byBjYWxjdWxhdGVXaWRnZXRSZWN0
KCkuCisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCk6IEFkZCBwYXJh
bWV0ZXIgZm9jdXNSZWN0IHRvIHRha2UgdGhlIGxvY2F0aW9uIGFuZCB0aGUgc2l6ZSBvZiBmb2N1
cyB0ZXh0IGlucHV0IGZpZWxkIHRvIGNhbGN1bGF0ZSBjb3JyZWN0IHBvcHVwIHdpbmRvdyBsb2Nh
dGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oOiBB
cHBlbmQgbmV3IGlucHV0IHBhcmFtZXRlciBmb3IgcmVmcmVzaCgpLgorCiAyMDExLTAxLTEzICBB
ZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSdXNzZWxsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCmluZGV4IDA0ZWViOTMuLjFhNDkwYzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5jcHAKQEAgLTMyOSwxMSArMzI5LDggQEAgUG9wdXBDb250YWluZXI6On5Qb3B1cENvbnRh
aW5lcigpCiAgICAgICAgIHJlbW92ZUNoaWxkKG1fbGlzdEJveC5nZXQoKSk7CiB9CiAKLXZvaWQg
UG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCitJbnRSZWN0IFBvcHVw
Q29udGFpbmVyOjpsYXlvdXRBbmRDYWxjdWxhdGVXaWRnZXRSZWN0KGludCBoZWlnaHRPZlRhcmdl
dEZvcm1Db250cm9sLCBjb25zdCBJbnRQb2ludCYgaW5pdGlhbENvb3JkaW5hdGVPZlBvcHVwKQog
ewotICAgIC8vIFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bk
b3duIGNvbnRyb2wuCi0gICAgaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdodCgp
OwotCiAgICAgLy8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1bHQgdmFsdWUsIGl0
IHdpbGwgYmUgcmVjb21wdXRlZCBiZWxvdwogICAgIC8vIGlmIG5lY2Vzc2FyeS4KICAgICBtX2xp
c3RCb3gtPnNldE1heEhlaWdodChrTWF4SGVpZ2h0KTsKQEAgLTM0MSwyMyArMzM4LDI2IEBAIHZv
aWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCiAgICAgLy8gTGF5
IGV2ZXJ5dGhpbmcgb3V0IHRvIGZpZ3VyZSBvdXQgb3VyIHByZWZlcnJlZCBzaXplLCB0aGVuIHRl
bGwgdGhlIHZpZXcncwogICAgIC8vIFdpZGdldENsaWVudCBhYm91dCBpdC4gIEl0IHNob3VsZCBh
c3NpZ24gdXMgYSBjbGllbnQuCiAgICAgbGF5b3V0KCk7CisgIAorICAgIC8vIEFzc3VtZSBtX2xp
c3RCb3ggc2l6ZSBpcyBhbHJlYWR5IGNhbGN1bGF0ZWQuCisgICAgSW50U2l6ZSB0YXJnZXRTaXpl
KG1fbGlzdEJveC0+d2lkdGgoKSArIGtCb3JkZXJTaXplICogMiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgbV9saXN0Qm94LT5oZWlnaHQoKSArIGtCb3JkZXJTaXplICogMik7CiAKLSAgICBtX2Zy
YW1lVmlldyA9IHZpZXc7CisgICAgSW50UmVjdCB3aWRnZXRSZWN0OwogICAgIENocm9tZUNsaWVu
dENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwogICAgIGlm
IChjaHJvbWVDbGllbnQpIHsKICAgICAgICAgLy8gSWYgdGhlIHBvcHVwIHdvdWxkIGV4dGVuZCBw
YXN0IHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiwgb3BlbiB1cHdhcmRzCiAgICAgICAgIC8vIGlu
c3RlYWQuCi0gICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3JlZW5BdmFpbGFibGVSZWN0KHZp
ZXcpOwotICAgICAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1Rv
U2NyZWVuKGZyYW1lUmVjdCgpKTsKLQorICAgICAgICBGbG9hdFJlY3Qgc2NyZWVuID0gc2NyZWVu
QXZhaWxhYmxlUmVjdChtX2ZyYW1lVmlldy5nZXQoKSk7CisgICAgICAgIHdpZGdldFJlY3QgPSBj
aHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKEludFJlY3QoaW5pdGlhbENvb3JkaW5hdGVPZlBv
cHVwLCB0YXJnZXRTaXplKSk7CiAgICAgICAgIGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4gc3Rh
dGljX2Nhc3Q8aW50PihzY3JlZW4uYm90dG9tKCkpKSB7Ci0gICAgICAgICAgICBpZiAod2lkZ2V0
UmVjdC55KCkgLSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgeworICAg
ICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgpIC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAtIGhlaWdo
dE9mVGFyZ2V0Rm9ybUNvbnRyb2wgPiAwKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMg
ZW5vdWdoIHJvb20gdG8gb3BlbiB1cHdhcmRzLgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3Qu
bW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAg
ICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgaGVpZ2h0
T2ZUYXJnZXRGb3JtQ29udHJvbCkpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
ICAgICAvLyBGaWd1cmUgd2hldGhlciB1cHdhcmRzIG9yIGRvd253YXJkcyBoYXMgbW9yZSByb29t
IGFuZCBzZXQgdGhlCiAgICAgICAgICAgICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMu
Ci0gICAgICAgICAgICAgICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVj
dEhlaWdodDsKKyAgICAgICAgICAgICAgICBpbnQgc3BhY2VBYm92ZSA9IHdpZGdldFJlY3QueSgp
IC0gaGVpZ2h0T2ZUYXJnZXRGb3JtQ29udHJvbDsKICAgICAgICAgICAgICAgICBpbnQgc3BhY2VC
ZWxvdyA9IHNjcmVlbi5ib3R0b20oKSAtIHdpZGdldFJlY3QueSgpOwogICAgICAgICAgICAgICAg
IGlmIChzcGFjZUFib3ZlID4gc3BhY2VCZWxvdykKICAgICAgICAgICAgICAgICAgICAgbV9saXN0
Qm94LT5zZXRNYXhIZWlnaHQoc3BhY2VBYm92ZSk7CkBAIC0zNjgsMTAgKzM2OCwyMSBAQCB2b2lk
IFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICAgICAg
ICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKGZyYW1lUmVjdCgp
KTsKICAgICAgICAgICAgICAgICAvLyBBbmQgbW92ZSB1cHdhcmRzIGlmIG5lY2Vzc2FyeS4KICAg
ICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cpCi0gICAgICAgICAgICAg
ICAgICAgIHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RI
ZWlnaHQpKTsKKyAgICAgICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0
UmVjdC5oZWlnaHQoKSArIGhlaWdodE9mVGFyZ2V0Rm9ybUNvbnRyb2wpKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICBjaHJvbWVDbGllbnQtPnBvcHVwT3BlbmVkKHRoaXMsIHdp
ZGdldFJlY3QsIGZhbHNlKTsKKyAgICB9CisgICAgcmV0dXJuIHdpZGdldFJlY3Q7Cit9CisKK3Zv
aWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCit7CisgICAgbV9m
cmFtZVZpZXcgPSB2aWV3OworCisgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVu
dCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CisgICAgaWYgKGNocm9tZUNsaWVudCkgeworICAg
ICAgICBJbnRSZWN0IHBvcHVwUmVjdCA9IGZyYW1lUmVjdCgpOworICAgICAgICBjaHJvbWVDbGll
bnQtPnBvcHVwT3BlbmVkKHRoaXMsIGxheW91dEFuZENhbGN1bGF0ZVdpZGdldFJlY3QocG9wdXBS
ZWN0LmhlaWdodCgpLCBwb3B1cFJlY3QubG9jYXRpb24oKSksIGZhbHNlKTsKICAgICAgICAgbV9w
b3B1cE9wZW4gPSB0cnVlOwogICAgIH0KIApAQCAtNTU2LDE1ICs1NjcsMjQgQEAgdm9pZCBQb3B1
cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJbnRSZWN0JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRl
eCkKICAgICAvLyBNb3ZlIGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgogICAgIGxvY2F0aW9u
Lm1vdmUoMCwgci5oZWlnaHQoKSk7CiAKLSAgICBJbnRSZWN0IHBvcHVwUmVjdChsb2NhdGlvbiwg
ci5zaXplKCkpOwotICAgIHNldEZyYW1lUmVjdChwb3B1cFJlY3QpOworICAgIHNldEZyYW1lUmVj
dChJbnRSZWN0KGxvY2F0aW9uLCByLnNpemUoKSkpOwogICAgIHNob3dQb3B1cCh2KTsKIH0KIAot
dm9pZCBQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCgpCit2b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZy
ZXNoKGNvbnN0IEludFJlY3QmIHRhcmdldEZvcm1SZWN0KQogeworICAgIEludFBvaW50IGxvY2F0
aW9uID0gbV9mcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3codGFyZ2V0Rm9ybVJlY3QubG9jYXRp
b24oKSk7CisgICAgLy8gTW92ZSBpdCBiZWxvdyB0aGUgc2VsZWN0IHdpZGdldC4KKyAgICBsb2Nh
dGlvbi5tb3ZlKDAsIHRhcmdldEZvcm1SZWN0LmhlaWdodCgpKTsKKwogICAgIGxpc3RCb3goKS0+
dXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICBsYXlvdXQoKTsKKyAgICAvLyBTdG9yZSB0aGUgb3Jp
Z2luYWwgaGVpZ2h0IHRvIGNoZWNrIGlmIHdlIG5lZWQgdG8gcmVxdWVzdCB0aGUgbG9jYXRpb24u
CisgICAgaW50IG9yaWdpbmFsSGVpZ2h0ID0gaGVpZ2h0KCk7CisgICAgSW50UmVjdCB3aWRnZXRS
ZWN0ID0gbGF5b3V0QW5kQ2FsY3VsYXRlV2lkZ2V0UmVjdCh0YXJnZXRGb3JtUmVjdC5oZWlnaHQo
KSwgbG9jYXRpb24pOworICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVpZ2h0
KCkpCisgICAgICAgIHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKKworICAgIGludmFsaWRhdGUo
KTsKIH0KIAogaW50IFBvcHVwQ29udGFpbmVyOjpzZWxlY3RlZEluZGV4KCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVt
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5o
CmluZGV4IGNhNDdjY2YuLjk2ZmYzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaApAQCAtMTY4LDcgKzE2OCw3IEBAIHB1
YmxpYzoKICAgICBpbnQgc2VsZWN0ZWRJbmRleCgpIGNvbnN0OwogCiAgICAgLy8gUmVmcmVzaCB0
aGUgcG9wdXAgdmFsdWVzIGZyb20gdGhlIFBvcHVwTWVudUNsaWVudC4KLSAgICB2b2lkIHJlZnJl
c2goKTsKKyAgICB2b2lkIHJlZnJlc2goY29uc3QgSW50UmVjdCYgdGFyZ2V0Rm9ybVJlY3QpOwog
CiAgICAgLy8gVGhlIG1lbnUgcGVyLWl0ZW0gZGF0YS4KICAgICBjb25zdCBXVEY6OlZlY3RvcjxQ
b3B1cEl0ZW0qPiYgcG9wdXBEYXRhKCkgY29uc3Q7CkBAIC0xOTMsNiArMTkzLDkgQEAgcHJpdmF0
ZToKICAgICAvLyBQYWludCB0aGUgYm9yZGVyLgogICAgIHZvaWQgcGFpbnRCb3JkZXIoR3JhcGhp
Y3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwogCisgICAgLy8gTGF5b3V0IGFuZCBjYWxjdWxh
dGUgcG9wdXAgd2lkZ2V0IHNpemUgYW5kIGxvY2F0aW9uIGFuZCByZXR1cm5zIGl0IGFzIEludFJl
Y3QuCisgICAgSW50UmVjdCBsYXlvdXRBbmRDYWxjdWxhdGVXaWRnZXRSZWN0KGludCBoZWlnaHRP
ZlRhcmdldEZvcm1Db250cm9sLCBjb25zdCBJbnRQb2ludCYgaW5pdGlhbENvb3JkaW5hdGVPZlBv
cHVwKTsKKwogICAgIC8vIFJldHVybnMgdGhlIENocm9tZUNsaWVudCBvZiB0aGUgcGFnZSB0aGlz
IHBvcHVwIGlzIGFzc29jaWF0ZWQgd2l0aC4KICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2hy
b21lQ2xpZW50Q2hyb21pdW0oKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDUzMWUxZS4uN2UxMzE5ZiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDEtMTAgIE5hb2tpIFRha2FubyAg
PHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAgICAgICAgW0Nocm9taXVtXSBGaXggcG9wdXAg
bWVudSByZS1wb3NpdGlvbmluZyB3aGVuIHRoZSBtZW51IGlzIG9wZW5lZCB1cHdhcmQsIGFib3Zl
IHRoZSBjb3JyZXNwb25kaW5nIGZvcm0gZmllbGQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM4MgorICAgICAgICBodHRwOi8vY3JidWcuY29tLzYw
NDI3CisKKyAgICAgICAgQ2FsY3VsYXRlIGNvcnJlY3QgbG9jYXRpb24gb2YgcG9wdXAgd2luZG93
IHdoZW5ldmVyIHRoZSBpdGVtcyBpbiB0aGUgd2luZG93IGNoYW5nZS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMsIGJlY2F1c2UgdGhpcyBmaXggaXMgZm9yIENocm9taXVtIHByb2plY3QgYW5kIGhh
cmQgdG8gdGVzdCBvbmx5IGluIFdlYktpdCBwcm9qZWN0CisKKyAgICAgICAqIFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpy
ZWZyZXNoQXV0b0ZpbGxQb3B1cCk6IENoYW5nZSB0aGUgbG9naWMgaW4gcmVmcmVzaEF1dG9GaWxQ
b3B1cCgpIHRvIGNoZWNrIGJvdGggdGhlIGxvY2F0aW9uIGFuZCB0aGUgc2l6ZSBvZiBwb3B1cCB3
aW5kb3cuCisKIDIwMTEtMDEtMTEgIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCmluZGV4IDQ0ZWZlZWEuLjM2NzM3M2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCkBAIC0yMjA4LDkgKzIyMDgsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZWZy
ZXNoQXV0b0ZpbGxQb3B1cCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBJbnRSZWN0
IG9sZEJvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+Ym91bmRzUmVjdCgpOwotICAgIG1fYXV0b0Zp
bGxQb3B1cC0+cmVmcmVzaCgpOwotICAgIEludFJlY3QgbmV3Qm91bmRzID0gbV9hdXRvRmlsbFBv
cHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50UmVjdCBvbGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9w
dXAtPmZyYW1lUmVjdCgpOworICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVmcmVzaChmb2N1c2VkV2Vi
Q29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAgICBJbnRSZWN0IG5ld0JvdW5kcyA9IG1fYXV0b0Zp
bGxQb3B1cC0+ZnJhbWVSZWN0KCk7CiAgICAgLy8gTGV0J3MgcmVzaXplIHRoZSBiYWNraW5nIHdp
bmRvdyBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKG9sZEJvdW5kcyAhPSBuZXdCb3VuZHMpIHsKICAg
ICAgICAgV2ViUG9wdXBNZW51SW1wbCogcG9wdXBNZW51ID0K
</data>
<flag name="review"
          id="70440"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79135</attachid>
            <date>2011-01-17 00:25:54 -0800</date>
            <delta_ts>2011-01-17 10:44:49 -0800</delta_ts>
            <desc>Change names and indentation.</desc>
            <filename>popup.patch</filename>
            <type>text/plain</type>
            <size>9072</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IGFjMjVkMzlkYTEyOTg2NDdjNmUxMGE0NTNmNmQ2MGUwMjA4YzJiMDgKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgogICAgCiAgICBDaGFuZ2UgcGFybWFzLgogICAgCiAgICBGaXggc2V0TWF4SGVp
Z2h0LgogICAgCiAgICBDaGFuZ2UgZnVuY3Rpb24gbmFtZXMuCiAgICAKICAgIERlbGV0ZS4KICAg
IAogICAgRml4IGluZGVudC4KICAgIAogICAgRml4IG5hbWUgYW5kIGluZGVudGF0aW9uLgoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBkM2MyZDc0Li41ZjczY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDEtMTMgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisKKyAg
ICAgICAgW0Nocm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmluZyB3aGVuIHRoZSBt
ZW51IGlzIG9wZW5lZAordXB3YXJkLCBhYm92ZSB0aGUgY29ycmVzcG9uZGluZyBmb3JtIGZpZWxk
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEzODIK
KyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS82MDQyNworCisgICAgICAgIENhbGN1bGF0ZSBjb3Jy
ZWN0IGxvY2F0aW9uIG9mIHBvcHVwIHdpbmRvdyB3aGVuZXZlciB0aGUgaXRlbXMgaW4gdGhlIHdp
bmRvdyBjaGFuZ2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIHRoaXMgZml4IGlz
IGZvciBDaHJvbWl1bSBwcm9qZWN0IGFuZCBoYXJkIHRvIHRlc3Qgb25seSBpbiBXZWJLaXQgcHJv
amVjdAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OmxheW91dEFuZENhbGN1bGF0ZVdp
ZGdldFJlY3QpOiBOZXcgRnVuY3Rpb24gdG8gbGF5b3V0IGFuZCBjYWxjdWxhdGUgcG9wdXAgd2lk
Z2V0IHJlY3QuCisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKTog
TW92ZSB3aWRnZXRSZWN0IGNhbGN1bGF0aW9uIGxvZ2ljIHRvIGNhbGN1bGF0ZVdpZGdldFJlY3Qo
KS4KKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpyZWZyZXNoKTogQWRkIHBhcmFt
ZXRlciBmb2N1c1JlY3QgdG8gdGFrZSB0aGUgbG9jYXRpb24gYW5kIHRoZSBzaXplIG9mIGZvY3Vz
IHRleHQgaW5wdXQgZmllbGQgdG8gY2FsY3VsYXRlIGNvcnJlY3QgcG9wdXAgd2luZG93IGxvY2F0
aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmg6IEFw
cGVuZCBuZXcgaW5wdXQgcGFyYW1ldGVyIGZvciByZWZyZXNoKCkuCisKIDIwMTEtMDEtMTMgIEFk
cmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBL
ZW5uZXRoIFJ1c3NlbGwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKaW5kZXggMDRlZWI5My4uYmI0NWU3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9t
aXVtLmNwcApAQCAtMzI5LDExICszMjksOCBAQCBQb3B1cENvbnRhaW5lcjo6flBvcHVwQ29udGFp
bmVyKCkKICAgICAgICAgcmVtb3ZlQ2hpbGQobV9saXN0Qm94LmdldCgpKTsKIH0KIAotdm9pZCBQ
b3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKK0ludFJlY3QgUG9wdXBD
b250YWluZXI6OmxheW91dEFuZENhbGN1bGF0ZVdpZGdldFJlY3QoaW50IHRhcmdldENvbnRyb2xI
ZWlnaHQsIGNvbnN0IEludFBvaW50JiBwb3B1cEluaXRpYWxDb29yZGluYXRlKQogewotICAgIC8v
IFByZS1sYXlvdXQsIG91ciBzaXplIG1hdGNoZXMgdGhlIDxzZWxlY3Q+IGRyb3Bkb3duIGNvbnRy
b2wuCi0gICAgaW50IHNlbGVjdEhlaWdodCA9IGZyYW1lUmVjdCgpLmhlaWdodCgpOwotCiAgICAg
Ly8gUmVzZXQgdGhlIG1heCBoZWlnaHQgdG8gaXRzIGRlZmF1bHQgdmFsdWUsIGl0IHdpbGwgYmUg
cmVjb21wdXRlZCBiZWxvdwogICAgIC8vIGlmIG5lY2Vzc2FyeS4KICAgICBtX2xpc3RCb3gtPnNl
dE1heEhlaWdodChrTWF4SGVpZ2h0KTsKQEAgLTM0MSwyMyArMzM4LDI2IEBAIHZvaWQgUG9wdXBD
b250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCiAgICAgLy8gTGF5IGV2ZXJ5dGhp
bmcgb3V0IHRvIGZpZ3VyZSBvdXQgb3VyIHByZWZlcnJlZCBzaXplLCB0aGVuIHRlbGwgdGhlIHZp
ZXcncwogICAgIC8vIFdpZGdldENsaWVudCBhYm91dCBpdC4gIEl0IHNob3VsZCBhc3NpZ24gdXMg
YSBjbGllbnQuCiAgICAgbGF5b3V0KCk7CisgIAorICAgIC8vIEFzc3VtZSBtX2xpc3RCb3ggc2l6
ZSBpcyBhbHJlYWR5IGNhbGN1bGF0ZWQuCisgICAgSW50U2l6ZSB0YXJnZXRTaXplKG1fbGlzdEJv
eC0+d2lkdGgoKSArIGtCb3JkZXJTaXplICogMiwKKyAgICAgICAgICAgICAgICAgICAgICAgbV9s
aXN0Qm94LT5oZWlnaHQoKSArIGtCb3JkZXJTaXplICogMik7CiAKLSAgICBtX2ZyYW1lVmlldyA9
IHZpZXc7CisgICAgSW50UmVjdCB3aWRnZXRSZWN0OwogICAgIENocm9tZUNsaWVudENocm9taXVt
KiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOwogICAgIGlmIChjaHJvbWVD
bGllbnQpIHsKICAgICAgICAgLy8gSWYgdGhlIHBvcHVwIHdvdWxkIGV4dGVuZCBwYXN0IHRoZSBi
b3R0b20gb2YgdGhlIHNjcmVlbiwgb3BlbiB1cHdhcmRzCiAgICAgICAgIC8vIGluc3RlYWQuCi0g
ICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3JlZW5BdmFpbGFibGVSZWN0KHZpZXcpOwotICAg
ICAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBjaHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKGZy
YW1lUmVjdCgpKTsKLQorICAgICAgICBGbG9hdFJlY3Qgc2NyZWVuID0gc2NyZWVuQXZhaWxhYmxl
UmVjdChtX2ZyYW1lVmlldy5nZXQoKSk7CisgICAgICAgIHdpZGdldFJlY3QgPSBjaHJvbWVDbGll
bnQtPndpbmRvd1RvU2NyZWVuKEludFJlY3QocG9wdXBJbml0aWFsQ29vcmRpbmF0ZSwgdGFyZ2V0
U2l6ZSkpOwogICAgICAgICBpZiAod2lkZ2V0UmVjdC5ib3R0b20oKSA+IHN0YXRpY19jYXN0PGlu
dD4oc2NyZWVuLmJvdHRvbSgpKSkgewotICAgICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgpIC0g
d2lkZ2V0UmVjdC5oZWlnaHQoKSAtIHNlbGVjdEhlaWdodCA+IDApIHsKKyAgICAgICAgICAgIGlm
ICh3aWRnZXRSZWN0LnkoKSAtIHdpZGdldFJlY3QuaGVpZ2h0KCkgLSB0YXJnZXRDb250cm9sSGVp
Z2h0ID4gMCkgewogICAgICAgICAgICAgICAgIC8vIFRoZXJlIGlzIGVub3VnaCByb29tIHRvIG9w
ZW4gdXB3YXJkcy4KLSAgICAgICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRS
ZWN0LmhlaWdodCgpICsgc2VsZWN0SGVpZ2h0KSk7CisgICAgICAgICAgICAgICAgd2lkZ2V0UmVj
dC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHRhcmdldENvbnRyb2xIZWlnaHQpKTsK
ICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gRmlndXJlIHdoZXRoZXIg
dXB3YXJkcyBvciBkb3dud2FyZHMgaGFzIG1vcmUgcm9vbSBhbmQgc2V0IHRoZQogICAgICAgICAg
ICAgICAgIC8vIG1heGltdW0gbnVtYmVyIG9mIGl0ZW1zLgotICAgICAgICAgICAgICAgIGludCBz
cGFjZUFib3ZlID0gd2lkZ2V0UmVjdC55KCkgLSBzZWxlY3RIZWlnaHQ7CisgICAgICAgICAgICAg
ICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHRhcmdldENvbnRyb2xIZWlnaHQ7
CiAgICAgICAgICAgICAgICAgaW50IHNwYWNlQmVsb3cgPSBzY3JlZW4uYm90dG9tKCkgLSB3aWRn
ZXRSZWN0LnkoKTsKICAgICAgICAgICAgICAgICBpZiAoc3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cp
CiAgICAgICAgICAgICAgICAgICAgIG1fbGlzdEJveC0+c2V0TWF4SGVpZ2h0KHNwYWNlQWJvdmUp
OwpAQCAtMzY4LDEwICszNjgsMjEgQEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZy
YW1lVmlldyogdmlldykKICAgICAgICAgICAgICAgICB3aWRnZXRSZWN0ID0gY2hyb21lQ2xpZW50
LT53aW5kb3dUb1NjcmVlbihmcmFtZVJlY3QoKSk7CiAgICAgICAgICAgICAgICAgLy8gQW5kIG1v
dmUgdXB3YXJkcyBpZiBuZWNlc3NhcnkuCiAgICAgICAgICAgICAgICAgaWYgKHNwYWNlQWJvdmUg
PiBzcGFjZUJlbG93KQotICAgICAgICAgICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3
aWRnZXRSZWN0LmhlaWdodCgpICsgc2VsZWN0SGVpZ2h0KSk7CisgICAgICAgICAgICAgICAgICAg
IHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyB0YXJnZXRDb250cm9s
SGVpZ2h0KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgY2hyb21lQ2xpZW50
LT5wb3B1cE9wZW5lZCh0aGlzLCB3aWRnZXRSZWN0LCBmYWxzZSk7CisgICAgfQorICAgIHJldHVy
biB3aWRnZXRSZWN0OworfQorCit2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVW
aWV3KiB2aWV3KQoreworICAgIG1fZnJhbWVWaWV3ID0gdmlldzsKKworICAgIENocm9tZUNsaWVu
dENocm9taXVtKiBjaHJvbWVDbGllbnQgPSBjaHJvbWVDbGllbnRDaHJvbWl1bSgpOworICAgIGlm
IChjaHJvbWVDbGllbnQpIHsKKyAgICAgICAgSW50UmVjdCBwb3B1cFJlY3QgPSBmcmFtZVJlY3Qo
KTsKKyAgICAgICAgY2hyb21lQ2xpZW50LT5wb3B1cE9wZW5lZCh0aGlzLCBsYXlvdXRBbmRDYWxj
dWxhdGVXaWRnZXRSZWN0KHBvcHVwUmVjdC5oZWlnaHQoKSwgcG9wdXBSZWN0LmxvY2F0aW9uKCkp
LCBmYWxzZSk7CiAgICAgICAgIG1fcG9wdXBPcGVuID0gdHJ1ZTsKICAgICB9CiAKQEAgLTU1Niwx
NSArNTY3LDI0IEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNob3coY29uc3QgSW50UmVjdCYgciwg
RnJhbWVWaWV3KiB2LCBpbnQgaW5kZXgpCiAgICAgLy8gTW92ZSBpdCBiZWxvdyB0aGUgc2VsZWN0
IHdpZGdldC4KICAgICBsb2NhdGlvbi5tb3ZlKDAsIHIuaGVpZ2h0KCkpOwogCi0gICAgSW50UmVj
dCBwb3B1cFJlY3QobG9jYXRpb24sIHIuc2l6ZSgpKTsKLSAgICBzZXRGcmFtZVJlY3QocG9wdXBS
ZWN0KTsKKyAgICBzZXRGcmFtZVJlY3QoSW50UmVjdChsb2NhdGlvbiwgci5zaXplKCkpKTsKICAg
ICBzaG93UG9wdXAodik7CiB9CiAKLXZvaWQgUG9wdXBDb250YWluZXI6OnJlZnJlc2goKQordm9p
ZCBQb3B1cENvbnRhaW5lcjo6cmVmcmVzaChjb25zdCBJbnRSZWN0JiB0YXJnZXRDb250cm9sUmVj
dCkKIHsKKyAgICBJbnRQb2ludCBsb2NhdGlvbiA9IG1fZnJhbWVWaWV3LT5jb250ZW50c1RvV2lu
ZG93KHRhcmdldENvbnRyb2xSZWN0LmxvY2F0aW9uKCkpOworICAgIC8vIE1vdmUgaXQgYmVsb3cg
dGhlIHNlbGVjdCB3aWRnZXQuCisgICAgbG9jYXRpb24ubW92ZSgwLCB0YXJnZXRDb250cm9sUmVj
dC5oZWlnaHQoKSk7CisKICAgICBsaXN0Qm94KCktPnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0gICAg
bGF5b3V0KCk7CisgICAgLy8gU3RvcmUgdGhlIG9yaWdpbmFsIGhlaWdodCB0byBjaGVjayBpZiB3
ZSBuZWVkIHRvIHJlcXVlc3QgdGhlIGxvY2F0aW9uLgorICAgIGludCBvcmlnaW5hbEhlaWdodCA9
IGhlaWdodCgpOworICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGxheW91dEFuZENhbGN1bGF0ZVdp
ZGdldFJlY3QodGFyZ2V0Q29udHJvbFJlY3QuaGVpZ2h0KCksIGxvY2F0aW9uKTsKKyAgICBpZiAo
b3JpZ2luYWxIZWlnaHQgIT0gd2lkZ2V0UmVjdC5oZWlnaHQoKSkKKyAgICAgICAgc2V0RnJhbWVS
ZWN0KHdpZGdldFJlY3QpOworCisgICAgaW52YWxpZGF0ZSgpOwogfQogCiBpbnQgUG9wdXBDb250
YWluZXI6OnNlbGVjdGVkSW5kZXgoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKaW5kZXggY2E0N2NjZi4uZjMyNmI0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51
Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1l
bnVDaHJvbWl1bS5oCkBAIC0xNjgsNyArMTY4LDcgQEAgcHVibGljOgogICAgIGludCBzZWxlY3Rl
ZEluZGV4KCkgY29uc3Q7CiAKICAgICAvLyBSZWZyZXNoIHRoZSBwb3B1cCB2YWx1ZXMgZnJvbSB0
aGUgUG9wdXBNZW51Q2xpZW50LgotICAgIHZvaWQgcmVmcmVzaCgpOworICAgIHZvaWQgcmVmcmVz
aChjb25zdCBJbnRSZWN0JiB0YXJnZXRDb250cm9sUmVjdCk7CiAKICAgICAvLyBUaGUgbWVudSBw
ZXItaXRlbSBkYXRhLgogICAgIGNvbnN0IFdURjo6VmVjdG9yPFBvcHVwSXRlbSo+JiBwb3B1cERh
dGEoKSBjb25zdDsKQEAgLTE5Myw2ICsxOTMsOSBAQCBwcml2YXRlOgogICAgIC8vIFBhaW50IHRo
ZSBib3JkZXIuCiAgICAgdm9pZCBwYWludEJvcmRlcihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRSZWN0Jik7CiAKKyAgICAvLyBMYXlvdXQgYW5kIGNhbGN1bGF0ZSBwb3B1cCB3aWRnZXQgc2l6
ZSBhbmQgbG9jYXRpb24gYW5kIHJldHVybnMgaXQgYXMgSW50UmVjdC4KKyAgICBJbnRSZWN0IGxh
eW91dEFuZENhbGN1bGF0ZVdpZGdldFJlY3QoaW50IHRhcmdldENvbnRyb2xIZWlnaHQsIGNvbnN0
IEludFBvaW50JiBwb3B1cEluaXRpYWxDb29yZGluYXRlKTsKKwogICAgIC8vIFJldHVybnMgdGhl
IENocm9tZUNsaWVudCBvZiB0aGUgcGFnZSB0aGlzIHBvcHVwIGlzIGFzc29jaWF0ZWQgd2l0aC4K
ICAgICBDaHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50Q2hyb21pdW0oKTsKIApkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggMDUzMWUxZS4uN2UxMzE5ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDEtMTAgIE5hb2tpIFRha2FubyAgPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CisK
KyAgICAgICAgW0Nocm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmluZyB3aGVuIHRo
ZSBtZW51IGlzIG9wZW5lZCB1cHdhcmQsIGFib3ZlIHRoZSBjb3JyZXNwb25kaW5nIGZvcm0gZmll
bGQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM4
MgorICAgICAgICBodHRwOi8vY3JidWcuY29tLzYwNDI3CisKKyAgICAgICAgQ2FsY3VsYXRlIGNv
cnJlY3QgbG9jYXRpb24gb2YgcG9wdXAgd2luZG93IHdoZW5ldmVyIHRoZSBpdGVtcyBpbiB0aGUg
d2luZG93IGNoYW5nZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhpcyBmaXgg
aXMgZm9yIENocm9taXVtIHByb2plY3QgYW5kIGhhcmQgdG8gdGVzdCBvbmx5IGluIFdlYktpdCBw
cm9qZWN0CisKKyAgICAgICAqIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwOgor
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCk6IENoYW5n
ZSB0aGUgbG9naWMgaW4gcmVmcmVzaEF1dG9GaWxQb3B1cCgpIHRvIGNoZWNrIGJvdGggdGhlIGxv
Y2F0aW9uIGFuZCB0aGUgc2l6ZSBvZiBwb3B1cCB3aW5kb3cuCisKIDIwMTEtMDEtMTEgIEpvaG4g
QWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDQ0ZWZlZWEu
LjM2NzM3M2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3Bw
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMjA4LDkgKzIy
MDgsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCgpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1
cC0+Ym91bmRzUmVjdCgpOwotICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVmcmVzaCgpOwotICAgIElu
dFJlY3QgbmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50
UmVjdCBvbGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOworICAgIG1fYXV0
b0ZpbGxQb3B1cC0+cmVmcmVzaChmb2N1c2VkV2ViQ29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAg
ICBJbnRSZWN0IG5ld0JvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+ZnJhbWVSZWN0KCk7CiAgICAg
Ly8gTGV0J3MgcmVzaXplIHRoZSBiYWNraW5nIHdpbmRvdyBpZiBuZWNlc3NhcnkuCiAgICAgaWYg
KG9sZEJvdW5kcyAhPSBuZXdCb3VuZHMpIHsKICAgICAgICAgV2ViUG9wdXBNZW51SW1wbCogcG9w
dXBNZW51ID0K
</data>
<flag name="review"
          id="70517"
          type_id="1"
          status="-"
          setter="tkent"
    />
    <flag name="commit-queue"
          id="70518"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79189</attachid>
            <date>2011-01-17 10:44:49 -0800</date>
            <delta_ts>2011-01-17 10:48:30 -0800</delta_ts>
            <desc>Chnage ChangeLog.</desc>
            <filename>popup.patch</filename>
            <type>text/plain</type>
            <size>9180</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IGViODczZGY2ZWZkY2Y4ZTI0OTE0YzBkZWJhMTRlNzYwODkzZTZiN2QKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgogICAgCiAgICBDaGFuZ2UgcGFybWFzLgogICAgCiAgICBGaXggc2V0TWF4SGVp
Z2h0LgogICAgCiAgICBDaGFuZ2UgZnVuY3Rpb24gbmFtZXMuCiAgICAKICAgIERlbGV0ZS4KICAg
IAogICAgRml4IGluZGVudC4KICAgIAogICAgRml4IG5hbWUgYW5kIGluZGVudGF0aW9uLgogICAg
CiAgICBDaGFuZ2UgY2hhbmdlIGxvZ3MuCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQzYzJkNzQuLjNkMDM0ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wMS0xNyAgTmFva2kgVGFrYW5vICA8
dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmlu
ZyB3aGVuIHRoZSBtZW51IGlzIG9wZW5lZCB1cHdhcmQsIGFib3ZlIHRoZSBjb3JyZXNwb25kaW5n
IGZvcm0gZmllbGQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MTM4MgorICAgICAgICBodHRwOi8vY3JidWcuY29tLzYwNDI3CisKKyAgICAgICAgQ2Fs
Y3VsYXRlIGNvcnJlY3QgbG9jYXRpb24gb2YgcG9wdXAgd2luZG93IHdoZW5ldmVyIHRoZSBpdGVt
cyBpbiB0aGUgd2luZG93IGNoYW5nZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2Ug
dGhpcyBmaXggaXMgZm9yIENocm9taXVtIHByb2plY3QgYW5kIGhhcmQgdG8gdGVzdCBvbmx5IGlu
IFdlYktpdCBwcm9qZWN0CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6bGF5b3V0QW5k
Q2FsY3VsYXRlV2lkZ2V0UmVjdCk6IE5ldyBGdW5jdGlvbiB0byBsYXlvdXQgYW5kIGNhbGN1bGF0
ZSBwb3B1cCB3aWRnZXQgcmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpz
aG93UG9wdXApOiBNb3ZlIHdpZGdldFJlY3QgY2FsY3VsYXRpb24gbG9naWMgdG8gY2FsY3VsYXRl
V2lkZ2V0UmVjdCgpLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OnJlZnJlc2gp
OiBBZGQgcGFyYW1ldGVyIGZvY3VzUmVjdCB0byB0YWtlIHRoZSBsb2NhdGlvbiBhbmQgdGhlIHNp
emUgb2YgZm9jdXMgdGV4dCBpbnB1dCBmaWVsZCB0byBjYWxjdWxhdGUgY29ycmVjdCBwb3B1cCB3
aW5kb3cgbG9jYXRpb24uCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uaDogQXBwZW5kIG5ldyBpbnB1dCBwYXJhbWV0ZXIgZm9yIHJlZnJlc2goKS4KKwogMjAx
MS0wMS0xMyAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUnVzc2VsbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRleCAwNGVlYjkzLi5iYjQ1
ZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1l
bnVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9w
dXBNZW51Q2hyb21pdW0uY3BwCkBAIC0zMjksMTEgKzMyOSw4IEBAIFBvcHVwQ29udGFpbmVyOjp+
UG9wdXBDb250YWluZXIoKQogICAgICAgICByZW1vdmVDaGlsZChtX2xpc3RCb3guZ2V0KCkpOwog
fQogCi12b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQorSW50
UmVjdCBQb3B1cENvbnRhaW5lcjo6bGF5b3V0QW5kQ2FsY3VsYXRlV2lkZ2V0UmVjdChpbnQgdGFy
Z2V0Q29udHJvbEhlaWdodCwgY29uc3QgSW50UG9pbnQmIHBvcHVwSW5pdGlhbENvb3JkaW5hdGUp
CiB7Ci0gICAgLy8gUHJlLWxheW91dCwgb3VyIHNpemUgbWF0Y2hlcyB0aGUgPHNlbGVjdD4gZHJv
cGRvd24gY29udHJvbC4KLSAgICBpbnQgc2VsZWN0SGVpZ2h0ID0gZnJhbWVSZWN0KCkuaGVpZ2h0
KCk7Ci0KICAgICAvLyBSZXNldCB0aGUgbWF4IGhlaWdodCB0byBpdHMgZGVmYXVsdCB2YWx1ZSwg
aXQgd2lsbCBiZSByZWNvbXB1dGVkIGJlbG93CiAgICAgLy8gaWYgbmVjZXNzYXJ5LgogICAgIG1f
bGlzdEJveC0+c2V0TWF4SGVpZ2h0KGtNYXhIZWlnaHQpOwpAQCAtMzQxLDIzICszMzgsMjYgQEAg
dm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1BvcHVwKEZyYW1lVmlldyogdmlldykKICAgICAvLyBM
YXkgZXZlcnl0aGluZyBvdXQgdG8gZmlndXJlIG91dCBvdXIgcHJlZmVycmVkIHNpemUsIHRoZW4g
dGVsbCB0aGUgdmlldydzCiAgICAgLy8gV2lkZ2V0Q2xpZW50IGFib3V0IGl0LiAgSXQgc2hvdWxk
IGFzc2lnbiB1cyBhIGNsaWVudC4KICAgICBsYXlvdXQoKTsKKyAgCisgICAgLy8gQXNzdW1lIG1f
bGlzdEJveCBzaXplIGlzIGFscmVhZHkgY2FsY3VsYXRlZC4KKyAgICBJbnRTaXplIHRhcmdldFNp
emUobV9saXN0Qm94LT53aWR0aCgpICsga0JvcmRlclNpemUgKiAyLAorICAgICAgICAgICAgICAg
ICAgICAgICBtX2xpc3RCb3gtPmhlaWdodCgpICsga0JvcmRlclNpemUgKiAyKTsKIAotICAgIG1f
ZnJhbWVWaWV3ID0gdmlldzsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3Q7CiAgICAgQ2hyb21lQ2xp
ZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVudENocm9taXVtKCk7CiAgICAg
aWYgKGNocm9tZUNsaWVudCkgewogICAgICAgICAvLyBJZiB0aGUgcG9wdXAgd291bGQgZXh0ZW5k
IHBhc3QgdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuLCBvcGVuIHVwd2FyZHMKICAgICAgICAgLy8g
aW5zdGVhZC4KLSAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVlbkF2YWlsYWJsZVJlY3Qo
dmlldyk7Ci0gICAgICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IGNocm9tZUNsaWVudC0+d2luZG93
VG9TY3JlZW4oZnJhbWVSZWN0KCkpOwotCisgICAgICAgIEZsb2F0UmVjdCBzY3JlZW4gPSBzY3Jl
ZW5BdmFpbGFibGVSZWN0KG1fZnJhbWVWaWV3LmdldCgpKTsKKyAgICAgICAgd2lkZ2V0UmVjdCA9
IGNocm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4oSW50UmVjdChwb3B1cEluaXRpYWxDb29yZGlu
YXRlLCB0YXJnZXRTaXplKSk7CiAgICAgICAgIGlmICh3aWRnZXRSZWN0LmJvdHRvbSgpID4gc3Rh
dGljX2Nhc3Q8aW50PihzY3JlZW4uYm90dG9tKCkpKSB7Ci0gICAgICAgICAgICBpZiAod2lkZ2V0
UmVjdC55KCkgLSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gc2VsZWN0SGVpZ2h0ID4gMCkgeworICAg
ICAgICAgICAgaWYgKHdpZGdldFJlY3QueSgpIC0gd2lkZ2V0UmVjdC5oZWlnaHQoKSAtIHRhcmdl
dENvbnRyb2xIZWlnaHQgPiAwKSB7CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUgaXMgZW5vdWdo
IHJvb20gdG8gb3BlbiB1cHdhcmRzLgotICAgICAgICAgICAgICAgIHdpZGdldFJlY3QubW92ZSgw
LCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAgICAgICAg
ICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgdGFyZ2V0Q29udHJv
bEhlaWdodCkpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBGaWd1
cmUgd2hldGhlciB1cHdhcmRzIG9yIGRvd253YXJkcyBoYXMgbW9yZSByb29tIGFuZCBzZXQgdGhl
CiAgICAgICAgICAgICAgICAgLy8gbWF4aW11bSBudW1iZXIgb2YgaXRlbXMuCi0gICAgICAgICAg
ICAgICAgaW50IHNwYWNlQWJvdmUgPSB3aWRnZXRSZWN0LnkoKSAtIHNlbGVjdEhlaWdodDsKKyAg
ICAgICAgICAgICAgICBpbnQgc3BhY2VBYm92ZSA9IHdpZGdldFJlY3QueSgpIC0gdGFyZ2V0Q29u
dHJvbEhlaWdodDsKICAgICAgICAgICAgICAgICBpbnQgc3BhY2VCZWxvdyA9IHNjcmVlbi5ib3R0
b20oKSAtIHdpZGdldFJlY3QueSgpOwogICAgICAgICAgICAgICAgIGlmIChzcGFjZUFib3ZlID4g
c3BhY2VCZWxvdykKICAgICAgICAgICAgICAgICAgICAgbV9saXN0Qm94LT5zZXRNYXhIZWlnaHQo
c3BhY2VBYm92ZSk7CkBAIC0zNjgsMTAgKzM2OCwyMSBAQCB2b2lkIFBvcHVwQ29udGFpbmVyOjpz
aG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICAgICAgICAgIHdpZGdldFJlY3QgPSBj
aHJvbWVDbGllbnQtPndpbmRvd1RvU2NyZWVuKGZyYW1lUmVjdCgpKTsKICAgICAgICAgICAgICAg
ICAvLyBBbmQgbW92ZSB1cHdhcmRzIGlmIG5lY2Vzc2FyeS4KICAgICAgICAgICAgICAgICBpZiAo
c3BhY2VBYm92ZSA+IHNwYWNlQmVsb3cpCi0gICAgICAgICAgICAgICAgICAgIHdpZGdldFJlY3Qu
bW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyBzZWxlY3RIZWlnaHQpKTsKKyAgICAgICAg
ICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHRh
cmdldENvbnRyb2xIZWlnaHQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBj
aHJvbWVDbGllbnQtPnBvcHVwT3BlbmVkKHRoaXMsIHdpZGdldFJlY3QsIGZhbHNlKTsKKyAgICB9
CisgICAgcmV0dXJuIHdpZGdldFJlY3Q7Cit9CisKK3ZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQ
b3B1cChGcmFtZVZpZXcqIHZpZXcpCit7CisgICAgbV9mcmFtZVZpZXcgPSB2aWV3OworCisgICAg
Q2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudCA9IGNocm9tZUNsaWVudENocm9taXVt
KCk7CisgICAgaWYgKGNocm9tZUNsaWVudCkgeworICAgICAgICBJbnRSZWN0IHBvcHVwUmVjdCA9
IGZyYW1lUmVjdCgpOworICAgICAgICBjaHJvbWVDbGllbnQtPnBvcHVwT3BlbmVkKHRoaXMsIGxh
eW91dEFuZENhbGN1bGF0ZVdpZGdldFJlY3QocG9wdXBSZWN0LmhlaWdodCgpLCBwb3B1cFJlY3Qu
bG9jYXRpb24oKSksIGZhbHNlKTsKICAgICAgICAgbV9wb3B1cE9wZW4gPSB0cnVlOwogICAgIH0K
IApAQCAtNTU2LDE1ICs1NjcsMjQgQEAgdm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvdyhjb25zdCBJ
bnRSZWN0JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRleCkKICAgICAvLyBNb3ZlIGl0IGJlbG93
IHRoZSBzZWxlY3Qgd2lkZ2V0LgogICAgIGxvY2F0aW9uLm1vdmUoMCwgci5oZWlnaHQoKSk7CiAK
LSAgICBJbnRSZWN0IHBvcHVwUmVjdChsb2NhdGlvbiwgci5zaXplKCkpOwotICAgIHNldEZyYW1l
UmVjdChwb3B1cFJlY3QpOworICAgIHNldEZyYW1lUmVjdChJbnRSZWN0KGxvY2F0aW9uLCByLnNp
emUoKSkpOwogICAgIHNob3dQb3B1cCh2KTsKIH0KIAotdm9pZCBQb3B1cENvbnRhaW5lcjo6cmVm
cmVzaCgpCit2b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZyZXNoKGNvbnN0IEludFJlY3QmIHRhcmdl
dENvbnRyb2xSZWN0KQogeworICAgIEludFBvaW50IGxvY2F0aW9uID0gbV9mcmFtZVZpZXctPmNv
bnRlbnRzVG9XaW5kb3codGFyZ2V0Q29udHJvbFJlY3QubG9jYXRpb24oKSk7CisgICAgLy8gTW92
ZSBpdCBiZWxvdyB0aGUgc2VsZWN0IHdpZGdldC4KKyAgICBsb2NhdGlvbi5tb3ZlKDAsIHRhcmdl
dENvbnRyb2xSZWN0LmhlaWdodCgpKTsKKwogICAgIGxpc3RCb3goKS0+dXBkYXRlRnJvbUVsZW1l
bnQoKTsKLSAgICBsYXlvdXQoKTsKKyAgICAvLyBTdG9yZSB0aGUgb3JpZ2luYWwgaGVpZ2h0IHRv
IGNoZWNrIGlmIHdlIG5lZWQgdG8gcmVxdWVzdCB0aGUgbG9jYXRpb24uCisgICAgaW50IG9yaWdp
bmFsSGVpZ2h0ID0gaGVpZ2h0KCk7CisgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gbGF5b3V0QW5k
Q2FsY3VsYXRlV2lkZ2V0UmVjdCh0YXJnZXRDb250cm9sUmVjdC5oZWlnaHQoKSwgbG9jYXRpb24p
OworICAgIGlmIChvcmlnaW5hbEhlaWdodCAhPSB3aWRnZXRSZWN0LmhlaWdodCgpKQorICAgICAg
ICBzZXRGcmFtZVJlY3Qod2lkZ2V0UmVjdCk7CisKKyAgICBpbnZhbGlkYXRlKCk7CiB9CiAKIGlu
dCBQb3B1cENvbnRhaW5lcjo6c2VsZWN0ZWRJbmRleCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAppbmRleCBjYTQ3
Y2NmLi5mMzI2YjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1BvcHVwTWVudUNocm9taXVtLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBwdWJsaWM6CiAgICAg
aW50IHNlbGVjdGVkSW5kZXgoKSBjb25zdDsKIAogICAgIC8vIFJlZnJlc2ggdGhlIHBvcHVwIHZh
bHVlcyBmcm9tIHRoZSBQb3B1cE1lbnVDbGllbnQuCi0gICAgdm9pZCByZWZyZXNoKCk7CisgICAg
dm9pZCByZWZyZXNoKGNvbnN0IEludFJlY3QmIHRhcmdldENvbnRyb2xSZWN0KTsKIAogICAgIC8v
IFRoZSBtZW51IHBlci1pdGVtIGRhdGEuCiAgICAgY29uc3QgV1RGOjpWZWN0b3I8UG9wdXBJdGVt
Kj4mIHBvcHVwRGF0YSgpIGNvbnN0OwpAQCAtMTkzLDYgKzE5Myw5IEBAIHByaXZhdGU6CiAgICAg
Ly8gUGFpbnQgdGhlIGJvcmRlci4KICAgICB2b2lkIHBhaW50Qm9yZGVyKEdyYXBoaWNzQ29udGV4
dCosIGNvbnN0IEludFJlY3QmKTsKIAorICAgIC8vIExheW91dCBhbmQgY2FsY3VsYXRlIHBvcHVw
IHdpZGdldCBzaXplIGFuZCBsb2NhdGlvbiBhbmQgcmV0dXJucyBpdCBhcyBJbnRSZWN0LgorICAg
IEludFJlY3QgbGF5b3V0QW5kQ2FsY3VsYXRlV2lkZ2V0UmVjdChpbnQgdGFyZ2V0Q29udHJvbEhl
aWdodCwgY29uc3QgSW50UG9pbnQmIHBvcHVwSW5pdGlhbENvb3JkaW5hdGUpOworCiAgICAgLy8g
UmV0dXJucyB0aGUgQ2hyb21lQ2xpZW50IG9mIHRoZSBwYWdlIHRoaXMgcG9wdXAgaXMgYXNzb2Np
YXRlZCB3aXRoLgogICAgIENocm9tZUNsaWVudENocm9taXVtKiBjaHJvbWVDbGllbnRDaHJvbWl1
bSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCAwNTMxZTFlLi40OWVmM2NkIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxMS0wMS0xNyAgTmFva2kgVGFrYW5vICA8dGFrYW5vLm5hb2tpQGdt
YWlsLmNvbT4KKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW0Nocm9taXVtXSBGaXggcG9wdXAgbWVudSByZS1wb3NpdGlvbmluZyB3aGVuIHRoZSBtZW51
IGlzIG9wZW5lZCB1cHdhcmQsIGFib3ZlIHRoZSBjb3JyZXNwb25kaW5nIGZvcm0gZmllbGQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTM4MgorICAg
ICAgICBodHRwOi8vY3JidWcuY29tLzYwNDI3CisKKyAgICAgICAgQ2FsY3VsYXRlIGNvcnJlY3Qg
bG9jYXRpb24gb2YgcG9wdXAgd2luZG93IHdoZW5ldmVyIHRoZSBpdGVtcyBpbiB0aGUgd2luZG93
IGNoYW5nZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGJlY2F1c2UgdGhpcyBmaXggaXMgZm9y
IENocm9taXVtIHByb2plY3QgYW5kIGhhcmQgdG8gdGVzdCBvbmx5IGluIFdlYktpdCBwcm9qZWN0
CisKKyAgICAgICAqIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCk6IENoYW5nZSB0aGUg
bG9naWMgaW4gcmVmcmVzaEF1dG9GaWxQb3B1cCgpIHRvIGNoZWNrIGJvdGggdGhlIGxvY2F0aW9u
IGFuZCB0aGUgc2l6ZSBvZiBwb3B1cCB3aW5kb3cuCisKIDIwMTEtMDEtMTEgIEpvaG4gQWJkLUVs
LU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBG
aXNoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDQ0ZWZlZWEuLjM2NzM3
M2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0yMjA4LDkgKzIyMDgsOSBA
QCB2b2lkIFdlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b0ZpbGxQb3B1cCgpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+Ym91
bmRzUmVjdCgpOwotICAgIG1fYXV0b0ZpbGxQb3B1cC0+cmVmcmVzaCgpOwotICAgIEludFJlY3Qg
bmV3Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5ib3VuZHNSZWN0KCk7CisgICAgSW50UmVjdCBv
bGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOworICAgIG1fYXV0b0ZpbGxQ
b3B1cC0+cmVmcmVzaChmb2N1c2VkV2ViQ29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAgICBJbnRS
ZWN0IG5ld0JvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+ZnJhbWVSZWN0KCk7CiAgICAgLy8gTGV0
J3MgcmVzaXplIHRoZSBiYWNraW5nIHdpbmRvdyBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKG9sZEJv
dW5kcyAhPSBuZXdCb3VuZHMpIHsKICAgICAgICAgV2ViUG9wdXBNZW51SW1wbCogcG9wdXBNZW51
ID0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79190</attachid>
            <date>2011-01-17 10:48:30 -0800</date>
            <delta_ts>2011-01-17 16:44:39 -0800</delta_ts>
            <desc>Delete one white space.</desc>
            <filename>popup.patch</filename>
            <type>text/plain</type>
            <size>9178</size>
            <attacher name="Naoki Takano">honten</attacher>
            
              <data encoding="base64">Y29tbWl0IGViODczZGY2ZWZkY2Y4ZTI0OTE0YzBkZWJhMTRlNzYwODkzZTZiN2QKQXV0aG9yOiBO
YW9raSBUYWthbm8gPHRha2Fuby5uYW9raUBnbWFpbC5jb20+CkRhdGU6ICAgVGh1IEphbiA2IDIz
OjIwOjIxIDIwMTEgLTA4MDAKCiAgICBFbGltaW5hdGVkIGxheW91dCgpIGNhbGwgZnJvbSBjYWxj
dWxhdGVXaWRnZXRSZWN0KCkuCiAgICAKICAgIENoYW5nZSBmdW5jdGlvbiBuYW1lLgogICAgCiAg
ICBSZW1vdmUgbV9wb3B1cFJlY3QuCiAgICBDaGFuZ2UgbmFtZSBvZiBsYXlvdXRPckNhbGN1bGF0
ZVdpZGdldFJlY3QoKS4KICAgIAogICAgQ2hhbmdlIENoYW5nZUxvZyBpbiBib3RoIFdlYktpdCBh
bmQgV2ViQ29yZS4KICAgIERlbGV0ZSB1bm5lZWRlZCBmdW5jdGlvbi4KICAgIEZpeCBpZGVudGF0
aW9uIGVycm9yLgogICAgCiAgICBDaGFuZ2UgcGFybWFzLgogICAgCiAgICBGaXggc2V0TWF4SGVp
Z2h0LgogICAgCiAgICBDaGFuZ2UgZnVuY3Rpb24gbmFtZXMuCiAgICAKICAgIERlbGV0ZS4KICAg
IAogICAgRml4IGluZGVudC4KICAgIAogICAgRml4IG5hbWUgYW5kIGluZGVudGF0aW9uLgogICAg
CiAgICBDaGFuZ2UgY2hhbmdlIGxvZ3MuCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQzYzJkNzQuLjNkMDM0ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wMS0xNyAgTmFva2kgVGFrYW5vICA8
dGFrYW5vLm5hb2tpQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbQ2hyb21pdW1dIEZpeCBwb3B1cCBtZW51IHJlLXBvc2l0aW9uaW5n
IHdoZW4gdGhlIG1lbnUgaXMgb3BlbmVkIHVwd2FyZCwgYWJvdmUgdGhlIGNvcnJlc3BvbmRpbmcg
Zm9ybSBmaWVsZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMzgyCisgICAgICAgIGh0dHA6Ly9jcmJ1Zy5jb20vNjA0MjcKKworICAgICAgICBDYWxj
dWxhdGUgY29ycmVjdCBsb2NhdGlvbiBvZiBwb3B1cCB3aW5kb3cgd2hlbmV2ZXIgdGhlIGl0ZW1z
IGluIHRoZSB3aW5kb3cgY2hhbmdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSB0
aGlzIGZpeCBpcyBmb3IgQ2hyb21pdW0gcHJvamVjdCBhbmQgaGFyZCB0byB0ZXN0IG9ubHkgaW4g
V2ViS2l0IHByb2plY3QKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwQ29udGFpbmVyOjpsYXlvdXRBbmRD
YWxjdWxhdGVXaWRnZXRSZWN0KTogTmV3IEZ1bmN0aW9uIHRvIGxheW91dCBhbmQgY2FsY3VsYXRl
IHBvcHVwIHdpZGdldCByZWN0LgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBDb250YWluZXI6OnNo
b3dQb3B1cCk6IE1vdmUgd2lkZ2V0UmVjdCBjYWxjdWxhdGlvbiBsb2dpYyB0byBjYWxjdWxhdGVX
aWRnZXRSZWN0KCkuCisgICAgICAgIChXZWJDb3JlOjpQb3B1cENvbnRhaW5lcjo6cmVmcmVzaCk6
IEFkZCBwYXJhbWV0ZXIgZm9jdXNSZWN0IHRvIHRha2UgdGhlIGxvY2F0aW9uIGFuZCB0aGUgc2l6
ZSBvZiBmb2N1cyB0ZXh0IGlucHV0IGZpZWxkIHRvIGNhbGN1bGF0ZSBjb3JyZWN0IHBvcHVwIHdp
bmRvdyBsb2NhdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5oOiBBcHBlbmQgbmV3IGlucHV0IHBhcmFtZXRlciBmb3IgcmVmcmVzaCgpLgorCiAyMDEx
LTAxLTEzICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCmluZGV4IDA0ZWViOTMuLmJiNDVl
NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVu
dUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cE1lbnVDaHJvbWl1bS5jcHAKQEAgLTMyOSwxMSArMzI5LDggQEAgUG9wdXBDb250YWluZXI6On5Q
b3B1cENvbnRhaW5lcigpCiAgICAgICAgIHJlbW92ZUNoaWxkKG1fbGlzdEJveC5nZXQoKSk7CiB9
CiAKLXZvaWQgUG9wdXBDb250YWluZXI6OnNob3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCitJbnRS
ZWN0IFBvcHVwQ29udGFpbmVyOjpsYXlvdXRBbmRDYWxjdWxhdGVXaWRnZXRSZWN0KGludCB0YXJn
ZXRDb250cm9sSGVpZ2h0LCBjb25zdCBJbnRQb2ludCYgcG9wdXBJbml0aWFsQ29vcmRpbmF0ZSkK
IHsKLSAgICAvLyBQcmUtbGF5b3V0LCBvdXIgc2l6ZSBtYXRjaGVzIHRoZSA8c2VsZWN0PiBkcm9w
ZG93biBjb250cm9sLgotICAgIGludCBzZWxlY3RIZWlnaHQgPSBmcmFtZVJlY3QoKS5oZWlnaHQo
KTsKLQogICAgIC8vIFJlc2V0IHRoZSBtYXggaGVpZ2h0IHRvIGl0cyBkZWZhdWx0IHZhbHVlLCBp
dCB3aWxsIGJlIHJlY29tcHV0ZWQgYmVsb3cKICAgICAvLyBpZiBuZWNlc3NhcnkuCiAgICAgbV9s
aXN0Qm94LT5zZXRNYXhIZWlnaHQoa01heEhlaWdodCk7CkBAIC0zNDEsMjMgKzMzOCwyNiBAQCB2
b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93UG9wdXAoRnJhbWVWaWV3KiB2aWV3KQogICAgIC8vIExh
eSBldmVyeXRoaW5nIG91dCB0byBmaWd1cmUgb3V0IG91ciBwcmVmZXJyZWQgc2l6ZSwgdGhlbiB0
ZWxsIHRoZSB2aWV3J3MKICAgICAvLyBXaWRnZXRDbGllbnQgYWJvdXQgaXQuICBJdCBzaG91bGQg
YXNzaWduIHVzIGEgY2xpZW50LgogICAgIGxheW91dCgpOworICAKKyAgICAvLyBBc3N1bWUgbV9s
aXN0Qm94IHNpemUgaXMgYWxyZWFkeSBjYWxjdWxhdGVkLgorICAgIEludFNpemUgdGFyZ2V0U2l6
ZShtX2xpc3RCb3gtPndpZHRoKCkgKyBrQm9yZGVyU2l6ZSAqIDIsCisgICAgICAgICAgICAgICAg
ICAgICAgIG1fbGlzdEJveC0+aGVpZ2h0KCkgKyBrQm9yZGVyU2l6ZSAqIDIpOwogCi0gICAgbV9m
cmFtZVZpZXcgPSB2aWV3OworICAgIEludFJlY3Qgd2lkZ2V0UmVjdDsKICAgICBDaHJvbWVDbGll
bnRDaHJvbWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21lQ2xpZW50Q2hyb21pdW0oKTsKICAgICBp
ZiAoY2hyb21lQ2xpZW50KSB7CiAgICAgICAgIC8vIElmIHRoZSBwb3B1cCB3b3VsZCBleHRlbmQg
cGFzdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4sIG9wZW4gdXB3YXJkcwogICAgICAgICAvLyBp
bnN0ZWFkLgotICAgICAgICBGbG9hdFJlY3Qgc2NyZWVuID0gc2NyZWVuQXZhaWxhYmxlUmVjdCh2
aWV3KTsKLSAgICAgICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gY2hyb21lQ2xpZW50LT53aW5kb3dU
b1NjcmVlbihmcmFtZVJlY3QoKSk7Ci0KKyAgICAgICAgRmxvYXRSZWN0IHNjcmVlbiA9IHNjcmVl
bkF2YWlsYWJsZVJlY3QobV9mcmFtZVZpZXcuZ2V0KCkpOworICAgICAgICB3aWRnZXRSZWN0ID0g
Y2hyb21lQ2xpZW50LT53aW5kb3dUb1NjcmVlbihJbnRSZWN0KHBvcHVwSW5pdGlhbENvb3JkaW5h
dGUsIHRhcmdldFNpemUpKTsKICAgICAgICAgaWYgKHdpZGdldFJlY3QuYm90dG9tKCkgPiBzdGF0
aWNfY2FzdDxpbnQ+KHNjcmVlbi5ib3R0b20oKSkpIHsKLSAgICAgICAgICAgIGlmICh3aWRnZXRS
ZWN0LnkoKSAtIHdpZGdldFJlY3QuaGVpZ2h0KCkgLSBzZWxlY3RIZWlnaHQgPiAwKSB7CisgICAg
ICAgICAgICBpZiAod2lkZ2V0UmVjdC55KCkgLSB3aWRnZXRSZWN0LmhlaWdodCgpIC0gdGFyZ2V0
Q29udHJvbEhlaWdodCA+IDApIHsKICAgICAgICAgICAgICAgICAvLyBUaGVyZSBpcyBlbm91Z2gg
cm9vbSB0byBvcGVuIHVwd2FyZHMuCi0gICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5tb3ZlKDAs
IC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHNlbGVjdEhlaWdodCkpOworICAgICAgICAgICAgICAg
IHdpZGdldFJlY3QubW92ZSgwLCAtKHdpZGdldFJlY3QuaGVpZ2h0KCkgKyB0YXJnZXRDb250cm9s
SGVpZ2h0KSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIEZpZ3Vy
ZSB3aGV0aGVyIHVwd2FyZHMgb3IgZG93bndhcmRzIGhhcyBtb3JlIHJvb20gYW5kIHNldCB0aGUK
ICAgICAgICAgICAgICAgICAvLyBtYXhpbXVtIG51bWJlciBvZiBpdGVtcy4KLSAgICAgICAgICAg
ICAgICBpbnQgc3BhY2VBYm92ZSA9IHdpZGdldFJlY3QueSgpIC0gc2VsZWN0SGVpZ2h0OworICAg
ICAgICAgICAgICAgIGludCBzcGFjZUFib3ZlID0gd2lkZ2V0UmVjdC55KCkgLSB0YXJnZXRDb250
cm9sSGVpZ2h0OwogICAgICAgICAgICAgICAgIGludCBzcGFjZUJlbG93ID0gc2NyZWVuLmJvdHRv
bSgpIC0gd2lkZ2V0UmVjdC55KCk7CiAgICAgICAgICAgICAgICAgaWYgKHNwYWNlQWJvdmUgPiBz
cGFjZUJlbG93KQogICAgICAgICAgICAgICAgICAgICBtX2xpc3RCb3gtPnNldE1heEhlaWdodChz
cGFjZUFib3ZlKTsKQEAgLTM2OCwxMCArMzY4LDIxIEBAIHZvaWQgUG9wdXBDb250YWluZXI6OnNo
b3dQb3B1cChGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgICAgICAgICAgd2lkZ2V0UmVjdCA9IGNo
cm9tZUNsaWVudC0+d2luZG93VG9TY3JlZW4oZnJhbWVSZWN0KCkpOwogICAgICAgICAgICAgICAg
IC8vIEFuZCBtb3ZlIHVwd2FyZHMgaWYgbmVjZXNzYXJ5LgogICAgICAgICAgICAgICAgIGlmIChz
cGFjZUFib3ZlID4gc3BhY2VCZWxvdykKLSAgICAgICAgICAgICAgICAgICAgd2lkZ2V0UmVjdC5t
b3ZlKDAsIC0od2lkZ2V0UmVjdC5oZWlnaHQoKSArIHNlbGVjdEhlaWdodCkpOworICAgICAgICAg
ICAgICAgICAgICB3aWRnZXRSZWN0Lm1vdmUoMCwgLSh3aWRnZXRSZWN0LmhlaWdodCgpICsgdGFy
Z2V0Q29udHJvbEhlaWdodCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGNo
cm9tZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgd2lkZ2V0UmVjdCwgZmFsc2UpOworICAgIH0K
KyAgICByZXR1cm4gd2lkZ2V0UmVjdDsKK30KKwordm9pZCBQb3B1cENvbnRhaW5lcjo6c2hvd1Bv
cHVwKEZyYW1lVmlldyogdmlldykKK3sKKyAgICBtX2ZyYW1lVmlldyA9IHZpZXc7CisKKyAgICBD
aHJvbWVDbGllbnRDaHJvbWl1bSogY2hyb21lQ2xpZW50ID0gY2hyb21lQ2xpZW50Q2hyb21pdW0o
KTsKKyAgICBpZiAoY2hyb21lQ2xpZW50KSB7CisgICAgICAgIEludFJlY3QgcG9wdXBSZWN0ID0g
ZnJhbWVSZWN0KCk7CisgICAgICAgIGNocm9tZUNsaWVudC0+cG9wdXBPcGVuZWQodGhpcywgbGF5
b3V0QW5kQ2FsY3VsYXRlV2lkZ2V0UmVjdChwb3B1cFJlY3QuaGVpZ2h0KCksIHBvcHVwUmVjdC5s
b2NhdGlvbigpKSwgZmFsc2UpOwogICAgICAgICBtX3BvcHVwT3BlbiA9IHRydWU7CiAgICAgfQog
CkBAIC01NTYsMTUgKzU2NywyNCBAQCB2b2lkIFBvcHVwQ29udGFpbmVyOjpzaG93KGNvbnN0IElu
dFJlY3QmIHIsIEZyYW1lVmlldyogdiwgaW50IGluZGV4KQogICAgIC8vIE1vdmUgaXQgYmVsb3cg
dGhlIHNlbGVjdCB3aWRnZXQuCiAgICAgbG9jYXRpb24ubW92ZSgwLCByLmhlaWdodCgpKTsKIAot
ICAgIEludFJlY3QgcG9wdXBSZWN0KGxvY2F0aW9uLCByLnNpemUoKSk7Ci0gICAgc2V0RnJhbWVS
ZWN0KHBvcHVwUmVjdCk7CisgICAgc2V0RnJhbWVSZWN0KEludFJlY3QobG9jYXRpb24sIHIuc2l6
ZSgpKSk7CiAgICAgc2hvd1BvcHVwKHYpOwogfQogCi12b2lkIFBvcHVwQ29udGFpbmVyOjpyZWZy
ZXNoKCkKK3ZvaWQgUG9wdXBDb250YWluZXI6OnJlZnJlc2goY29uc3QgSW50UmVjdCYgdGFyZ2V0
Q29udHJvbFJlY3QpCiB7CisgICAgSW50UG9pbnQgbG9jYXRpb24gPSBtX2ZyYW1lVmlldy0+Y29u
dGVudHNUb1dpbmRvdyh0YXJnZXRDb250cm9sUmVjdC5sb2NhdGlvbigpKTsKKyAgICAvLyBNb3Zl
IGl0IGJlbG93IHRoZSBzZWxlY3Qgd2lkZ2V0LgorICAgIGxvY2F0aW9uLm1vdmUoMCwgdGFyZ2V0
Q29udHJvbFJlY3QuaGVpZ2h0KCkpOworCiAgICAgbGlzdEJveCgpLT51cGRhdGVGcm9tRWxlbWVu
dCgpOwotICAgIGxheW91dCgpOworICAgIC8vIFN0b3JlIHRoZSBvcmlnaW5hbCBoZWlnaHQgdG8g
Y2hlY2sgaWYgd2UgbmVlZCB0byByZXF1ZXN0IHRoZSBsb2NhdGlvbi4KKyAgICBpbnQgb3JpZ2lu
YWxIZWlnaHQgPSBoZWlnaHQoKTsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSBsYXlvdXRBbmRD
YWxjdWxhdGVXaWRnZXRSZWN0KHRhcmdldENvbnRyb2xSZWN0LmhlaWdodCgpLCBsb2NhdGlvbik7
CisgICAgaWYgKG9yaWdpbmFsSGVpZ2h0ICE9IHdpZGdldFJlY3QuaGVpZ2h0KCkpCisgICAgICAg
IHNldEZyYW1lUmVjdCh3aWRnZXRSZWN0KTsKKworICAgIGludmFsaWRhdGUoKTsKIH0KIAogaW50
IFBvcHVwQ29udGFpbmVyOjpzZWxlY3RlZEluZGV4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCmluZGV4IGNhNDdj
Y2YuLmYzMjZiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1BvcHVwTWVudUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBNZW51Q2hyb21pdW0uaApAQCAtMTY4LDcgKzE2OCw3IEBAIHB1YmxpYzoKICAgICBp
bnQgc2VsZWN0ZWRJbmRleCgpIGNvbnN0OwogCiAgICAgLy8gUmVmcmVzaCB0aGUgcG9wdXAgdmFs
dWVzIGZyb20gdGhlIFBvcHVwTWVudUNsaWVudC4KLSAgICB2b2lkIHJlZnJlc2goKTsKKyAgICB2
b2lkIHJlZnJlc2goY29uc3QgSW50UmVjdCYgdGFyZ2V0Q29udHJvbFJlY3QpOwogCiAgICAgLy8g
VGhlIG1lbnUgcGVyLWl0ZW0gZGF0YS4KICAgICBjb25zdCBXVEY6OlZlY3RvcjxQb3B1cEl0ZW0q
PiYgcG9wdXBEYXRhKCkgY29uc3Q7CkBAIC0xOTMsNiArMTkzLDkgQEAgcHJpdmF0ZToKICAgICAv
LyBQYWludCB0aGUgYm9yZGVyLgogICAgIHZvaWQgcGFpbnRCb3JkZXIoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UmVjdCYpOwogCisgICAgLy8gTGF5b3V0IGFuZCBjYWxjdWxhdGUgcG9wdXAg
d2lkZ2V0IHNpemUgYW5kIGxvY2F0aW9uIGFuZCByZXR1cm5zIGl0IGFzIEludFJlY3QuCisgICAg
SW50UmVjdCBsYXlvdXRBbmRDYWxjdWxhdGVXaWRnZXRSZWN0KGludCB0YXJnZXRDb250cm9sSGVp
Z2h0LCBjb25zdCBJbnRQb2ludCYgcG9wdXBJbml0aWFsQ29vcmRpbmF0ZSk7CisKICAgICAvLyBS
ZXR1cm5zIHRoZSBDaHJvbWVDbGllbnQgb2YgdGhlIHBhZ2UgdGhpcyBwb3B1cCBpcyBhc3NvY2lh
dGVkIHdpdGguCiAgICAgQ2hyb21lQ2xpZW50Q2hyb21pdW0qIGNocm9tZUNsaWVudENocm9taXVt
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDA1MzFlMWUuLjQ5ZWYzY2QgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDExLTAxLTE3ICBOYW9raSBUYWthbm8gIDx0YWthbm8ubmFva2lAZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gRml4IHBvcHVwIG1lbnUgcmUtcG9zaXRpb25pbmcgd2hlbiB0aGUgbWVudSBp
cyBvcGVuZWQgdXB3YXJkLCBhYm92ZSB0aGUgY29ycmVzcG9uZGluZyBmb3JtIGZpZWxkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEzODIKKyAgICAg
ICAgaHR0cDovL2NyYnVnLmNvbS82MDQyNworCisgICAgICAgIENhbGN1bGF0ZSBjb3JyZWN0IGxv
Y2F0aW9uIG9mIHBvcHVwIHdpbmRvdyB3aGVuZXZlciB0aGUgaXRlbXMgaW4gdGhlIHdpbmRvdyBj
aGFuZ2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWNhdXNlIHRoaXMgZml4IGlzIGZvciBD
aHJvbWl1bSBwcm9qZWN0IGFuZCBoYXJkIHRvIHRlc3Qgb25seSBpbiBXZWJLaXQgcHJvamVjdAor
CisgICAgICAgKiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6cmVmcmVzaEF1dG9GaWxsUG9wdXApOiBDaGFuZ2UgdGhlIGxv
Z2ljIGluIHJlZnJlc2hBdXRvRmlsUG9wdXAoKSB0byBjaGVjayBib3RoIHRoZSBsb2NhdGlvbiBh
bmQgdGhlIHNpemUgb2YgcG9wdXAgd2luZG93LgorCiAyMDExLTAxLTExICBKb2huIEFiZC1FbC1N
YWxlayAgPGphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlz
aGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA0NGVmZWVhLi4zNjczNzNm
IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtMjIwOCw5ICsyMjA4LDkgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6cmVmcmVzaEF1dG9GaWxsUG9wdXAoKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgSW50UmVjdCBvbGRCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmJvdW5k
c1JlY3QoKTsKLSAgICBtX2F1dG9GaWxsUG9wdXAtPnJlZnJlc2goKTsKLSAgICBJbnRSZWN0IG5l
d0JvdW5kcyA9IG1fYXV0b0ZpbGxQb3B1cC0+Ym91bmRzUmVjdCgpOworICAgIEludFJlY3Qgb2xk
Qm91bmRzID0gbV9hdXRvRmlsbFBvcHVwLT5mcmFtZVJlY3QoKTsKKyAgICBtX2F1dG9GaWxsUG9w
dXAtPnJlZnJlc2goZm9jdXNlZFdlYkNvcmVOb2RlKCktPmdldFJlY3QoKSk7CisgICAgSW50UmVj
dCBuZXdCb3VuZHMgPSBtX2F1dG9GaWxsUG9wdXAtPmZyYW1lUmVjdCgpOwogICAgIC8vIExldCdz
IHJlc2l6ZSB0aGUgYmFja2luZyB3aW5kb3cgaWYgbmVjZXNzYXJ5LgogICAgIGlmIChvbGRCb3Vu
ZHMgIT0gbmV3Qm91bmRzKSB7CiAgICAgICAgIFdlYlBvcHVwTWVudUltcGwqIHBvcHVwTWVudSA9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>