<?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>43344</bug_id>
          
          <creation_ts>2010-08-02 06:28:21 -0700</creation_ts>
          <short_desc>Web Inspector: Extensions API tests fail on Qt &amp; GTK</short_desc>
          <delta_ts>2010-08-05 07:24:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>258833</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-08-02 06:28:21 -0700</bug_when>
    <thetext>inspector/extensions-api.html -&gt; failed
.
inspector/extensions.html -&gt; failed
......
inspector/styles-source-lines-inline.html -&gt; failed

(The last failure is induced by lack of cleanup from extension* tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>258844</commentid>
    <comment_count>1</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-02 07:05:01 -0700</bug_when>
    <thetext>The tests were temporary disabled

Committed r64459
	M	LayoutTests/platform/chromium/test_expectations.txt
	M	LayoutTests/platform/qt/Skipped
	M	LayoutTests/platform/gtk/Skipped
	M	LayoutTests/ChangeLog
r64459 = 70396b2cf3f66fef8028a1a0caacf7139b6014e4 (refs/remotes/trunk)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259639</commentid>
    <comment_count>2</comment_count>
      <attachid>63367</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-08-03 12:54:29 -0700</bug_when>
    <thetext>Created attachment 63367
patch

The tests broke because platform-specific DumpRenderTree code for Qt &amp; GTK happened to have developerExtrasEnabled set to false. This was enabled per-page by the test running code, but not for the inspector page itself.
Performing API injection conditionally on WebInspector::enabled() happened to be bad idea when enabled() may vary per-page. The only chance to have something in m_scriptsToEvaluateOnLoad is via WebInspector, so injecting these scripts when inspector is not enabled() for inspector&apos;s page should be ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259648</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-08-03 13:00:20 -0700</bug_when>
    <thetext>... this also fixes a bug in initial change where condition for discardInjectedScripts() wasn&apos;t properly inverted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259673</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-03 13:49:53 -0700</bug_when>
    <thetext>This patch confuses me. I don&apos;t know the loading and teardown well enough yet.
I assume it would be okay to discard injected scripts if the inspector is disabled,
because there probably wouldn&apos;t be any at all. But I don&apos;t see why we should inject
scripts, even if it is disabled. You mention it should be harmless, but is there an
advantage to doing it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259861</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-03 21:51:44 -0700</bug_when>
    <thetext>&gt; Performing API injection conditionally on WebInspector::enabled() happened to be bad idea when enabled() may vary per-page. The only chance to have something in m_scriptsToEvaluateOnLoad is via WebInspector, so injecting these scripts when inspector is not enabled() for inspector&apos;s page should be ok.

It is just that we should use a different way of injecting extension scripts on load as we discussed earlier. And we probably want to remote existing schema as a whole once workers get real debugging capabilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259863</commentid>
    <comment_count>6</comment_count>
      <attachid>63367</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-03 21:53:34 -0700</bug_when>
    <thetext>Comment on attachment 63367
patch

WebCore/inspector/InspectorController.cpp:464
 +      if (m_scriptsToEvaluateOnLoad.size()) {
So we are now hitting this code for every page. I never liked this thing, I don&apos;t think we should extend its capabilities.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259883</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-08-03 23:18:29 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 63367 [details])
&gt; WebCore/inspector/InspectorController.cpp:464
&gt;  +      if (m_scriptsToEvaluateOnLoad.size()) {
&gt; So we are now hitting this code for every page. 

Yes we do, but what&apos;s the problem with this? This is the cheapest check that we&apos;re going to have ever. The only way something under this conditional is going to be executed is when inspector previously added scripts to evaluate on load, which currently only happens either (a) for a page being inspected if user has enabled workers debugging or (b) for inspector page if addExtensions has been called.

This also used to work unconditionally on enabled(), just upon a slightly later event for half a year: http://trac.webkit.org/changeset/64458/trunk/WebCore/inspector/InspectorController.cpp

&gt; I never liked this thing, I don&apos;t think we should extend its capabilities.

What we essentially need is an ability of inspector to inject some JS to certain pages at the earlist possible moment. We now have a generic means for that, which covers inspector extensions, workers and any possible other case where we could need to emulate some API for page being inspected (we intentially made the scheme generic for that, as you suggested back when it was introdcued). Now, we could have it more specialized for extensions API, but it would be doing roughly the same: setting the API from inspector and injecting it in about the same moment into inspector&apos;s page. So, what exactly would be the difference that would justify the additional code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259982</commentid>
    <comment_count>8</comment_count>
      <attachid>63443</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2010-08-04 05:52:55 -0700</bug_when>
    <thetext>Created attachment 63443
patch

As discussed offline -- I&apos;m splitting script injection for extensions API and for inspected page. The formers goes without enabled() check, the latter is only performed if enabled().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260593</commentid>
    <comment_count>9</comment_count>
      <attachid>63443</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-05 07:24:16 -0700</bug_when>
    <thetext>Comment on attachment 63443
patch

Clearing flags on attachment: 63443

Committed r64745: &lt;http://trac.webkit.org/changeset/64745&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260594</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-05 07:24:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63367</attachid>
            <date>2010-08-03 12:54:29 -0700</date>
            <delta_ts>2010-08-04 05:52:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>extension-testfix</filename>
            <type>text/plain</type>
            <size>3369</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMjZlZWNiLi5jYTJiMzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgt
MDMgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZS1lbmFibGluZyBpbnNwZWN0b3Iv
ZXh0ZW5zaW9uKiB0ZXN0cyBmb2xsb3dpbmcgYSBmaXggaW4gSW5zcGVjdG9yQ29udHJvbGxlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNDQKKwor
ICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6CisKIDIwMTAtMDgtMDMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKaW5kZXggNjE1YTM3ZS4uYzc2M2ZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAg
LTU3MDQsMTIgKzU3MDQsNiBAQCBwcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLmh0bWwKICMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNjY0CiBpbnNwZWN0b3IvdGlt
ZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKIAotIyBbR1RLXSBOZXcgdGVzdHMgYXJlIGZhaWxpbmcg
YXQgUXQvR1RLKHI2NDQ1OCk6Ci0jIEJ1ZyBhZ2FpbnN0IGNhc2VxOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNDQKLWluc3BlY3Rvci9leHRlbnNpb25zLmh0bWwK
LWluc3BlY3Rvci9leHRlbnNpb25zLWFwaS5odG1sCi0KLQogIyBUZXN0cyBmYWlsaW5nIGJlY2F1
c2UgdGhlIGNvbnRleHQgbWVudSBpcyBncmFiYmluZyBtb3VzZSBldmVudHMuCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDYwMQogZmFzdC9ldmVudHMvbW91c2Ut
Y2xpY2stZXZlbnRzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDgwZTU0ZDAuLjY5
OWNiNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNTQwNSwxMSArNTQwNSw2IEBAIGlu
c3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC5odG1sCiBpbnNwZWN0b3IvZGVi
dWdnZXItcHJvdG8tcHJvcGVydHkuaHRtbAogaW5zcGVjdG9yL2RlYnVnZ2VyLWV2YWwtd2hpbGUt
cGF1c2VkLmh0bWwKIAotIyBbUXRdIE5ldyB0ZXN0cyBhcmUgZmFpbGluZyBhdCBRdC9HVEsocjY0
NDU4KToKLSMgQnVnIGFnYWluc3QgY2FzZXE6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzM0NAotaW5zcGVjdG9yL2V4dGVuc2lvbnMuaHRtbAotaW5zcGVjdG9yL2V4
dGVuc2lvbnMtYXBpLmh0bWwKLQogIyBbUXRdIGZhc3QvdGV4dC9iaWRpLWV4cGxpY2l0LWVtYmVk
ZGluZy1wYXN0LWVuZC5odG1sIGZhaWxzCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MTI0MQogZmFzdC90ZXh0L2JpZGktZXhwbGljaXQtZW1iZWRkaW5nLXBhc3Qt
ZW5kLmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMWE5YjQxYS4uMGJiNWY1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wOC0wMyAgQW5k
cmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluamVjdCBXZWJJbnNw
ZWN0b3IgZXhudGVuc2lvbiBBUEkgdW5jb25kaXRpb25hbGx5IG9uIGVuYWJsZWQoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNDQKKworICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RlZFdpbmRvd1NjcmlwdE9iamVjdENsZWFyZWQp
OgorCiAyMDEwLTA4LTAzICBBbmRyZWkgUG9wZXNjdSAgPGFuZHJlaXBAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBKZXJlbXkgT3Jsb3cuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDFjNjQwMGMuLjQzNWJhMDMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00NTgsMTEgKzQ1OCw5IEBAIHZvaWQg
SW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdGVkV2luZG93U2NyaXB0T2JqZWN0Q2xlYXJlZChG
cmFtZSogZnJhbWUpCiAgICAgaWYgKG1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgJiYgZnJhbWUg
PT0gbV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSkKICAgICAgICAgbV9pbnNwZWN0b3JGcm9u
dGVuZENsaWVudC0+d2luZG93T2JqZWN0Q2xlYXJlZCgpOwogCi0gICAgaWYgKCFlbmFibGVkKCkp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2Zyb250ZW5kICYmIGZyYW1lICE9IG1faW5z
cGVjdGVkUGFnZS0+bWFpbkZyYW1lKCkpCisgICAgaWYgKGVuYWJsZWQoKSAmJiBtX2Zyb250ZW5k
ICYmIGZyYW1lID09IG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCkpCiAgICAgICAgIG1faW5q
ZWN0ZWRTY3JpcHRIb3N0LT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzKCk7CisKICAgICBpZiAobV9z
Y3JpcHRzVG9FdmFsdWF0ZU9uTG9hZC5zaXplKCkpIHsKICAgICAgICAgU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlID0gbWFpbldvcmxkU2NyaXB0U3RhdGUoZnJhbWUpOwogICAgICAgICBmb3IgKFZl
Y3RvcjxTdHJpbmc+OjppdGVyYXRvciBpdCA9IG1fc2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQuYmVn
aW4oKTsK
</data>
<flag name="review"
          id="51708"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63443</attachid>
            <date>2010-08-04 05:52:55 -0700</date>
            <delta_ts>2010-08-05 07:24:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>extension-testfix</filename>
            <type>text/plain</type>
            <size>6363</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyNzk3NGZkLi44YTNkZmNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgt
MDQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZS1lbmFibGluZyBpbnNwZWN0b3Iv
ZXh0ZW5zaW9uKiB0ZXN0cyBmb2xsb3dpbmcgYSBmaXggaW4gSW5zcGVjdG9yQ29udHJvbGxlci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMzQ0Cisg
ICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6CisKIDIwMTAtMDgtMDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1NraXBwZWQKaW5kZXggMWNiZGE5Mi4uMzQ1ODBlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTU3MDUsMTIgKzU3MDUsNiBAQCBwcmludGluZy9wYWdlLWZvcm1hdC1kYXRhLmh0
bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNjY0CiBpbnNw
ZWN0b3IvdGltZWxpbmUtc2NyaXB0LXRhZy0xLmh0bWwKIAotIyBbR1RLXSBOZXcgdGVzdHMgYXJl
IGZhaWxpbmcgYXQgUXQvR1RLKHI2NDQ1OCk6Ci0jIEJ1ZyBhZ2FpbnN0IGNhc2VxOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNDQKLWluc3BlY3Rvci9leHRlbnNp
b25zLmh0bWwKLWluc3BlY3Rvci9leHRlbnNpb25zLWFwaS5odG1sCi0KLQogIyBUZXN0cyBmYWls
aW5nIGJlY2F1c2UgdGhlIGNvbnRleHQgbWVudSBpcyBncmFiYmluZyBtb3VzZSBldmVudHMuCiAj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDYwMQogZmFzdC9ldmVu
dHMvbW91c2UtY2xpY2stZXZlbnRzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDQ1
OTUyOTAuLjcwZGExMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBw
ZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNTQxMSwxMSArNTQx
MSw2IEBAIGluc3BlY3Rvci9kZWJ1Z2dlci1wYXVzZS1pbi1ldmFsLXNjcmlwdC5odG1sCiBpbnNw
ZWN0b3IvZGVidWdnZXItcHJvdG8tcHJvcGVydHkuaHRtbAogaW5zcGVjdG9yL2RlYnVnZ2VyLWV2
YWwtd2hpbGUtcGF1c2VkLmh0bWwKIAotIyBbUXRdIE5ldyB0ZXN0cyBhcmUgZmFpbGluZyBhdCBR
dC9HVEsocjY0NDU4KToKLSMgQnVnIGFnYWluc3QgY2FzZXE6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MzM0NAotaW5zcGVjdG9yL2V4dGVuc2lvbnMuaHRtbAotaW5z
cGVjdG9yL2V4dGVuc2lvbnMtYXBpLmh0bWwKLQogIyBbUXRdIGZhc3QvdGV4dC9iaWRpLWV4cGxp
Y2l0LWVtYmVkZGluZy1wYXN0LWVuZC5odG1sIGZhaWxzCiAjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MTI0MQogZmFzdC90ZXh0L2JpZGktZXhwbGljaXQtZW1iZWRk
aW5nLXBhc3QtZW5kLmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMWMwYTI3OS4uOGQwZmJkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0w
OC0wNCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNlcGFy
YXRlZCBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9uIEFQSSBpbmplY3Rpb24gbG9naWMgZnJvbSBvdGhl
ciBzY3JpcHRzIHRoYXQgaW5zcGVjdG9yIGluamVjdHMuCisgICAgICAgIEVuYWJsZWQgaW5qZWN0
aW9uIG9mIHRoZSBBUEkgc2NyaXB0cyBldmVuIGlmIGluc3BlY3RvciBpcyBkaXNhYmxlZCBmb3Ig
aW5zcGVjdG9yIGZyb250LWVuZCBwYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDMzNDQKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Omlu
c3BlY3RlZFdpbmRvd1NjcmlwdE9iamVjdENsZWFyZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29udHJvbGxlcjo6c2V0SW5zcGVjdG9yRXh0ZW5zaW9uQVBJKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRIb3N0OjpzZXRFeHRlbnNpb25BUEkpOgorCiAyMDEwLTA4LTAzICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAxYzY0MDBjLi4yMTg2
YjE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtNDU4
LDE4ICs0NTgsMTkgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRXaW5kb3dT
Y3JpcHRPYmplY3RDbGVhcmVkKEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9pbnNwZWN0b3JGcm9u
dGVuZENsaWVudCAmJiBmcmFtZSA9PSBtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpKQogICAg
ICAgICBtX2luc3BlY3RvckZyb250ZW5kQ2xpZW50LT53aW5kb3dPYmplY3RDbGVhcmVkKCk7CiAK
LSAgICBpZiAoIWVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fZnJvbnRl
bmQgJiYgZnJhbWUgIT0gbV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSkKLSAgICAgICAgbV9p
bmplY3RlZFNjcmlwdEhvc3QtPmRpc2NhcmRJbmplY3RlZFNjcmlwdHMoKTsKLSAgICBpZiAobV9z
Y3JpcHRzVG9FdmFsdWF0ZU9uTG9hZC5zaXplKCkpIHsKLSAgICAgICAgU2NyaXB0U3RhdGUqIHNj
cmlwdFN0YXRlID0gbWFpbldvcmxkU2NyaXB0U3RhdGUoZnJhbWUpOwotICAgICAgICBmb3IgKFZl
Y3RvcjxTdHJpbmc+OjppdGVyYXRvciBpdCA9IG1fc2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQuYmVn
aW4oKTsKLSAgICAgICAgICAgICBpdCAhPSBtX3NjcmlwdHNUb0V2YWx1YXRlT25Mb2FkLmVuZCgp
OyArK2l0KSB7Ci0gICAgICAgICAgICBtX2luamVjdGVkU2NyaXB0SG9zdC0+aW5qZWN0U2NyaXB0
KCppdCwgc2NyaXB0U3RhdGUpOworICAgIGlmIChlbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKG1f
ZnJvbnRlbmQgJiYgZnJhbWUgPT0gbV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKSkKKyAgICAg
ICAgICAgIG1faW5qZWN0ZWRTY3JpcHRIb3N0LT5kaXNjYXJkSW5qZWN0ZWRTY3JpcHRzKCk7Cisg
ICAgICAgIGlmIChtX3NjcmlwdHNUb0V2YWx1YXRlT25Mb2FkLnNpemUoKSkgeworICAgICAgICAg
ICAgU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlID0gbWFpbldvcmxkU2NyaXB0U3RhdGUoZnJhbWUp
OworICAgICAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6aXRlcmF0b3IgaXQgPSBtX3Njcmlw
dHNUb0V2YWx1YXRlT25Mb2FkLmJlZ2luKCk7CisgICAgICAgICAgICAgICAgIGl0ICE9IG1fc2Ny
aXB0c1RvRXZhbHVhdGVPbkxvYWQuZW5kKCk7ICsraXQpIHsKKyAgICAgICAgICAgICAgICBtX2lu
amVjdGVkU2NyaXB0SG9zdC0+aW5qZWN0U2NyaXB0KCppdCwgc2NyaXB0U3RhdGUpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQorICAgIGlmICghbV9pbnNwZWN0b3JFeHRlbnNpb25B
UEkuaXNFbXB0eSgpKQorICAgICAgICBtX2luamVjdGVkU2NyaXB0SG9zdC0+aW5qZWN0U2NyaXB0
KG1faW5zcGVjdG9yRXh0ZW5zaW9uQVBJLCBtYWluV29ybGRTY3JpcHRTdGF0ZShmcmFtZSkpOwog
fQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNldFNlYXJjaGluZ0Zvck5vZGUoYm9vbCBl
bmFibGVkKQpAQCAtMjE4MSw2ICsyMTgyLDExIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
cmVtb3ZlQWxsU2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQoKQogICAgIG1fc2NyaXB0c1RvRXZhbHVh
dGVPbkxvYWQuY2xlYXIoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRJbnNw
ZWN0b3JFeHRlbnNpb25BUEkoY29uc3QgU3RyaW5nJiBzb3VyY2UpCit7CisgICAgbV9pbnNwZWN0
b3JFeHRlbnNpb25BUEkgPSBzb3VyY2U7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
Z2V0UmVzb3VyY2VDb250ZW50KGxvbmcgY2FsbElkLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIp
CiB7CiAgICAgaWYgKCFtX3JlbW90ZUZyb250ZW5kKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5oCmluZGV4IDg5MGFmMzEuLjEyMzM3NTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTI4MCw2ICsyODAsNyBAQCBwdWJsaWM6CiAgICAgSW5q
ZWN0ZWRTY3JpcHQgaW5qZWN0ZWRTY3JpcHRGb3JOb2RlSWQobG9uZyBpZCk7CiAgICAgdm9pZCBh
ZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKGNvbnN0IFN0cmluZyYgc291cmNlKTsKICAgICB2b2lk
IHJlbW92ZUFsbFNjcmlwdHNUb0V2YWx1YXRlT25Mb2FkKCk7CisgICAgdm9pZCBzZXRJbnNwZWN0
b3JFeHRlbnNpb25BUEkoY29uc3QgU3RyaW5nJiBzb3VyY2UpOwogCiAgICAgc3RhdGljIGNvbnN0
IFN0cmluZyYgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZSgpOwogCkBAIC00MDQs
NiArNDA1LDcgQEAgcHJpdmF0ZToKIAogICAgIFZlY3RvcjxwYWlyPGxvbmcsIFN0cmluZz4gPiBt
X3BlbmRpbmdFdmFsdWF0ZVRlc3RDb21tYW5kczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Njcmlw
dHNUb0V2YWx1YXRlT25Mb2FkOworICAgIFN0cmluZyBtX2luc3BlY3RvckV4dGVuc2lvbkFQSTsK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKICAgICBib29sIG1fZGVidWdnZXJFbmFi
bGVkOwogICAgIGJvb2wgbV9hdHRhY2hEZWJ1Z2dlcldoZW5TaG93bjsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDBkYWNkZTYuLmY5YmYxNzYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtMTk1LDkg
KzE5NSw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0Ojptb3ZlV2luZG93QnkoZmxvYXQg
eCwgZmxvYXQgeSkgY29uc3QKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpzZXRFeHRlbnNp
b25BUEkoY29uc3QgU3RyaW5nJiBzY3JpcHQpCiB7CiAgICAgSW5zcGVjdG9yQ29udHJvbGxlciog
aW5zcGVjdG9yID0gbV9mcm9udGVuZFBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKLQotICAg
IGluc3BlY3Rvci0+cmVtb3ZlQWxsU2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQoKTsKLSAgICBpbnNw
ZWN0b3ItPmFkZFNjcmlwdFRvRXZhbHVhdGVPbkxvYWQoc2NyaXB0KTsKKyAgICBpbnNwZWN0b3It
PnNldEluc3BlY3RvckV4dGVuc2lvbkFQSShzY3JpcHQpOwogfQogCiBTdHJpbmcgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0Ojpsb2NhbGl6ZWRTdHJpbmdzVVJMKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>