<?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>30773</bug_id>
          
          <creation_ts>2009-10-26 06:22:06 -0700</creation_ts>
          <short_desc>[Qt] QWebInspector: improve QWebPage::webInspectorTriggered(QWebElement&amp;) -&gt; QWebInspector::show() connection</short_desc>
          <delta_ts>2009-11-09 07:46:38 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>29843</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jocelyn Turcotte">jturcotte</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157748</commentid>
    <comment_count>0</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2009-10-26 06:22:06 -0700</bug_when>
    <thetext>== Currently the way to connect an instantiated QWebInspector to a QWebPage context menu event is:
// ...
QWebPage *page = new QWebPage;
// ...

QWebInspector *inspector = new QWebInspector;
inspector-&gt;setPage(page);

connect(page, SIGNAL(webInspectorTriggered(const QWebElement&amp;)), inspector, SLOT(show()));


== A way to lazily create the inspector on the first context menu event:
void UserClass::initialize() {
    // ...
    m_page = new QWebPage;
    // ...

    connect(page, SIGNAL(webInspectorTriggered(const QWebElement&amp;)), userObject, SLOT(createAndShowInspector()));
}

void UserClass::createAndShowInspector() {
    if (!m_inspector) {
        m_inspector = new QWebInspector;
        m_inspector-&gt;setPage(m_page);
    }
    m_inspector-&gt;show();
}


== The problem is that the actual &quot;set inspected element&quot; is happening magically after the webInspectorTriggered signal has been emitted.
== So it might be cool to expose this behavior in the api.
== Two possible ways:
= 1. Add a setInspectedElement property setter
= Maybe we will add the getter in later versions, but this would require additional API in WebKit&apos;s web inspector.
= Also, what is actually the current inspectedElement is not totally obvious neither.
// ...
QWebPage *page = new QWebPage;
// ...

QWebInspector *inspector = new QWebInspector;
inspector-&gt;setPage(page);

connect(page, SIGNAL(webInspectorTriggered(const QWebElement&amp;)), inspector, SLOT(show()));
connect(page, SIGNAL(webInspectorTriggered(const QWebElement&amp;)), inspector, SLOT(setInspectedElement(const QWebElement&amp;)));

= 2. Add a showElement(QWebElement&amp;) slot
= Good thing: simple
= Bad thing: The showElement slot however has two responsibilities
= This might cause problem for a user that might call this method just to set the inspected element since show() will be called each time.
// ...
QWebPage *page = new QWebPage;
// ...

QWebInspector *inspector = new QWebInspector;
inspector-&gt;setPage(page);

connect(page, SIGNAL(webInspectorTriggered(const QWebElement&amp;)), inspector, SLOT(showElement(const QWebElement&amp;)));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158170</commentid>
    <comment_count>1</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-27 06:32:19 -0700</bug_when>
    <thetext>After discussion, we&apos;re still not sure if this is the right API. Areas of concern:

 - Do we really need a way to provide lazy initialization? If not we don&apos;t need the webInspectorTriggered() signal. Also, without the signal you could always override the triggerAction

 - We want to keep the &quot;magic&quot;/default/99% case behavior of selecting the element you clicked on. The question is how to do it. Currently it&apos;s hard-coded, but if we add setInspectedElement() in the future as a slot we could add the webInspectorTriggered() signal and automatically connect it to setInspectedElement in setPage()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158641</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-28 11:07:35 -0700</bug_when>
    <thetext>webInspectorTriggered? wouldn&apos;t inspectorRequested be a better name?

No need for web either... we have methods like history() returning QWebHistory. page() returning QWebPage etc.

I also like requested more than triggered.

For setInspectedElement(), I would just go for inspectElement().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158646</commentid>
    <comment_count>3</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-28 11:20:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; No need for web either... we have methods like history() returning QWebHistory.
&gt; page() returning QWebPage etc.

I agree with you in general, but in this specific case the &quot;Web Inspector&quot; is a name on its own: http://webkit.org/blog/41/introducing-the-web-inspector/

&gt; I also like requested more than triggered.

It&apos;s actually triggered, ie it&apos;s not a request you can ignore and then nothing will happen. I think that&apos;s why we went for triggered.

&gt; For setInspectedElement(), I would just go for inspectElement().

That changes the semantics of the function. It&apos;s a property setter, not a function that does something (shows the view, highlights, etc). It would not match the getter inspectedElement() either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158978</commentid>
    <comment_count>4</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2009-10-29 11:22:19 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; I also like requested more than triggered.
&gt; 
&gt; It&apos;s actually triggered, ie it&apos;s not a request you can ignore and then nothing
&gt; will happen. I think that&apos;s why we went for triggered.
&gt; 

I think that what makes us feel that its triggered is the inspection that happen &quot;magically&quot;.
If QWebPage have no direct effect on the inspector beside through this signal&apos;s emission, I agree that it feels more like a request than a trigger.


Take for example if we have two signals/connections instead of one which connects to the QWebInspector:
QWPage::webInspectorShowRequested() ==&gt; QWInspector::show()
QWPage::inspectElementRequested(QWE&amp;) ==&gt; QWInspector::setInspectedElement(QWE&amp;)


Having one signal connected to both slots might also make sense, still no magic:
QWebPage::webInspectorRequested(QWE&amp;) ==&gt; QWebInspector::show()
QWebPage::webInspectorRequested(QWE&amp;) ==&gt; QWebInspector::setInspectedElement(QWE&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158990</commentid>
    <comment_count>5</comment_count>
      <attachid>42119</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2009-10-29 11:44:34 -0700</bug_when>
    <thetext>Created attachment 42119
Patch: Remove the signal

This patch remove the signal for this release since it is not perfect yet and we think that it&apos;s use is not mandatory for now.

The only scenario I could think of is if somebody wants to lazily create the QWebInspector object until the first trigger through the context menu. This scenario can still be achieved in the 4.6 release by subclassing QWebPage and override ::triggerAction for InspectElement actions.

IMPORTANT: ===&gt; 
We can remove the signal from 4.6 only if we all agree that in the future the signal connections between QWebPage and QWebInspector will be done automatically in QWebInspector::setPage(QWPage*).
This would allow us to change the &quot;magic&quot; behavior of 4.6 by an &quot;automatically connected signals&quot; behavior in 4.7.
Right now in trunk, this connection has to be made by the developer, which is not convenient since being able to change it is useless power in 95% of the time.

== Explanation:
// In 4.6
QWebInspector *inspector = new QWebInspector;
inspector-&gt;setPage(page) // &lt;-- In there, QWebPage keeps a pointer to the
                         // inspector and in trigger action, calls 
                         // insp-&gt;show() and sets its element

// In 4.7
QWebInspector *inspector = new QWebInspector;
inspector-&gt;setPage(page) // &lt;-- In there, signals from QWebPage are
                         // connected to the show() and
                         // setInspectedElement(QWE&amp;) slots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159297</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-30 05:40:44 -0700</bug_when>
    <thetext>
&gt; == Explanation:
&gt; // In 4.6
&gt; QWebInspector *inspector = new QWebInspector;
&gt; inspector-&gt;setPage(page) // &lt;-- In there, QWebPage keeps a pointer to the
&gt;                          // inspector and in trigger action, calls 
&gt;                          // insp-&gt;show() and sets its element
&gt; 
&gt; // In 4.7
&gt; QWebInspector *inspector = new QWebInspector;
&gt; inspector-&gt;setPage(page) // &lt;-- In there, signals from QWebPage are
&gt;                          // connected to the show() and
&gt;                          // setInspectedElement(QWE&amp;) slots

It is possible to use the same web inspector for more pages?

I don&apos;t like the set page so much, as it is more a &quot;watch page&quot; or so. Would it be possible to do it the other way around?

QWebPage::setInspectable(new QWebInspector) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159769</commentid>
    <comment_count>7</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2009-11-02 03:14:22 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; It is possible to use the same web inspector for more pages?
&gt; 
&gt; I don&apos;t like the set page so much, as it is more a &quot;watch page&quot; or so. Would it
&gt; be possible to do it the other way around?
&gt; 
&gt; QWebPage::setInspectable(new QWebInspector) ?

The relation is 1&lt;-&gt;1, so if you assign the same inspector to a different page, the previous page is unassociated (explained to the user in the documentation).

A reason I like the &quot;set&quot; is because it suggests that the objects are bound together. We first called it setInspectedPage, but since the web inspector implicitly inspects pages, so we omitted the &quot;inspected&quot;. Maybe we should re-add inspected or watched to the method just in case we want the QWebInspector to have different interractions with a QWebPage? (what would that be?)

The method is in the inspector class to make it feel similar to QWebView::setPage, they are both UI layer objects that interact with the web page which feels more like a &quot;content&quot; layer object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>159943</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2009-11-02 16:35:16 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; It is possible to use the same web inspector for more pages?

That&apos;s a good point, but I think we can handle that later without braking the current behavior.

Later, we can add the signal webInspectorTriggered() and have setInspectedElement() to change the element. In that case, you will be able to use the same inspector for different pages.

We can also add webInspectorTriggered() without the argument in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160010</commentid>
    <comment_count>9</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2009-11-03 01:12:44 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; It is possible to use the same web inspector for more pages?
&gt; 
&gt; That&apos;s a good point, but I think we can handle that later without braking the
&gt; current behavior.
&gt; 
&gt; Later, we can add the signal webInspectorTriggered() and have
&gt; setInspectedElement() to change the element. In that case, you will be able to
&gt; use the same inspector for different pages.
&gt; 
&gt; We can also add webInspectorTriggered() without the argument in the future.

The backend don&apos;t support this scenario. Moreover, the UI is not designed to display information from more than one page at the same time. The javascript console would also cause problems.

Behind the scene, the web inspector is tightly bound to WebCore&apos;s page and is not an independent API.

What we could do is to keep states like the current displayed tab within the QWebInspector and re-set this value when we do a setPage on a different QWebPage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161563</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-09 06:59:29 -0800</bug_when>
    <thetext>Committed r50656: &lt;http://trac.webkit.org/changeset/50656&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>161569</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-11-09 07:46:38 -0800</bug_when>
    <thetext>Still shouldn&apos;t it be setWebInspector then and not setInspectable?

&gt; &gt; 
&gt; &gt; QWebPage::setInspectable(new QWebInspector) ?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42119</attachid>
            <date>2009-10-29 11:44:34 -0700</date>
            <delta_ts>2009-11-09 06:57:58 -0800</delta_ts>
            <desc>Patch: Remove the signal</desc>
            <filename>qwebinspector_removeQwebpageSignal.patch</filename>
            <type>text/plain</type>
            <size>5020</size>
            <attacher name="Jocelyn Turcotte">jturcotte</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJpbnNwZWN0b3IuY3BwCmluZGV4IDQ1NzhkYzkuLjdmYWU2ZjggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
aW5zcGVjdG9yLmNwcApAQCAtNTAsNiArNTAsNyBAQAogCiAgICAgXHNlY3Rpb24xIFJlc291cmNl
cwogCisgICAgVGhpcyBjbGFzcyBhY3RzIG1vc3RseSBhcyBhIGNvbnRhaW5lciBhbmQgYSBjb250
cm9sbGVyIGZvciB0aGUgaW5zcGVjdG9yLgogICAgIE1vc3Qgb2YgdGhlIHJlc291cmNlcyBuZWVk
ZWQgYnkgdGhlIGluc3BlY3RvciBhcmUgb3duZWQgYnkgdGhlIGFzc29jaWF0ZWQKICAgICBRV2Vi
UGFnZSBhbmQgYXJlIGFsbG9jYXRlZCB0aGUgZmlyc3QgdGltZSB0aGF0OgogICAgIFxsaXN0CkBA
IC01NywxMSArNTgsNiBAQAogICAgICAgICBcbyB0aGUgUVdlYkluc3BlY3RvciBpcyBzaG93bi4K
ICAgICBcZW5kbGlzdAogCi0gICAgVGhpcyBjbGFzcyBhY3RzIG1vc3RseSBhcyBhIGNvbnRhaW5l
ciBhbmQgYSBjb250cm9sbGVyIGZvciB0aGUgaW5zcGVjdG9yLgotICAgIFlvdSBjYW4gZGVmZXIg
dGhlIGNyZWF0aW9uIGFuZCBhc3NvY2lhdGlvbiBvZiB0aGUgUVdlYkluc3BlY3RvciB1bnRpbAot
ICAgIHRoZSBmaXJzdCBlbWlzc2lvbiBvZiBRV2ViUGFnZTo6d2ViSW5zcGVjdG9yVHJpZ2dlcmVk
KCkgdG8gc2F2ZSBhZGRpdGlvbmFsCi0gICAgcmVzb3VyY2VzLgotCiAgICAgXHNlY3Rpb24xIElu
c3BlY3RvciBjb25maWd1cmF0aW9uIHBlcnNpc3RlbmNlCiAKICAgICBUaGUgaW5zcGVjdG9yIGFs
bG93cyB0aGUgdXNlciB0byBjb25maWd1cmUgc29tZSBvcHRpb25zIHRocm91Z2ggaXRzCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCmluZGV4IDBiMTIyYjQuLjYzY2U0ZWIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0xMzc4LDgg
KzEzNzgsNiBAQCBRV2ViSW5zcGVjdG9yKiBRV2ViUGFnZVByaXZhdGU6OmdldE9yQ3JlYXRlSW5z
cGVjdG9yKCkKICAgICBpZiAoIWluc3BlY3RvcikgewogICAgICAgICBRV2ViSW5zcGVjdG9yKiBp
bnNwID0gbmV3IFFXZWJJbnNwZWN0b3I7CiAgICAgICAgIGluc3AtPnNldFBhZ2UocSk7Ci0gICAg
ICAgIGluc3AtPmNvbm5lY3QocSwgU0lHTkFMKHdlYkluc3BlY3RvclRyaWdnZXJlZChjb25zdCBR
V2ViRWxlbWVudCYpKSwgU0xPVChzaG93KCkpKTsKLSAgICAgICAgaW5zcC0+c2hvdygpOyAvLyBU
aGUgaW5zcGVjdG9yIGlzIGV4cGVjdGVkIHRvIGJlIHNob3duIG9uIGluc3BlY3Rpb24KICAgICAg
ICAgaW5zcGVjdG9ySXNJbnRlcm5hbE9ubHkgPSB0cnVlOwogCiAgICAgICAgIFFfQVNTRVJUKGlu
c3BlY3Rvcik7IC8vIEFzc29jaWF0ZWQgdGhyb3VnaCBRV2ViSW5zcGVjdG9yOjpzZXRQYWdlKHEp
CkBAIC0xOTE2LDExICsxOTE0LDkgQEAgdm9pZCBRV2ViUGFnZTo6dHJpZ2dlckFjdGlvbihXZWJB
Y3Rpb24gYWN0aW9uLCBib29sKQogICAgICAgICAgICAgZWRpdG9yLT5zZXRCYXNlV3JpdGluZ0Rp
cmVjdGlvbihSaWdodFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24pOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIGNhc2UgSW5zcGVjdEVsZW1lbnQ6IHsKLSAgICAgICAgICAgIFFXZWJFbGVtZW50
IGluc3BlY3RlZEVsZW1lbnQoUVdlYkVsZW1lbnQ6OmVuY2xvc2luZ0VsZW1lbnQoZC0+aGl0VGVz
dFJlc3VsdC5kLT5pbm5lck5vblNoYXJlZE5vZGUuZ2V0KCkpKTsKLSAgICAgICAgICAgIGVtaXQg
d2ViSW5zcGVjdG9yVHJpZ2dlcmVkKGluc3BlY3RlZEVsZW1lbnQpOwotCiAgICAgICAgICAgICBp
ZiAoIWQtPmhpdFRlc3RSZXN1bHQuaXNOdWxsKCkpIHsKICAgICAgICAgICAgICAgICBkLT5nZXRP
ckNyZWF0ZUluc3BlY3RvcigpOyAvLyBNYWtlIHN1cmUgdGhlIGluc3BlY3RvciBpcyBjcmVhdGVk
CisgICAgICAgICAgICAgICAgZC0+aW5zcGVjdG9yLT5zaG93KCk7IC8vIFRoZSBpbnNwZWN0b3Ig
aXMgZXhwZWN0ZWQgdG8gYmUgc2hvd24gb24gaW5zcGVjdGlvbgogICAgICAgICAgICAgICAgIGQt
PnBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+aW5zcGVjdChkLT5oaXRUZXN0UmVzdWx0LmQt
PmlubmVyTm9uU2hhcmVkTm9kZS5nZXQoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBi
cmVhazsKQEAgLTMzMjEsMjQgKzMzMTcsNiBAQCBxdWludDY0IFFXZWJQYWdlOjpieXRlc1JlY2Vp
dmVkKCkgY29uc3QKICovCiAKIC8qIQotICAgIFxmbiB2b2lkIFFXZWJQYWdlOjp3ZWJJbnNwZWN0
b3JUcmlnZ2VyZWQoY29uc3QgUVdlYkVsZW1lbnQmIGluc3BlY3RlZEVsZW1lbnQpOwotICAgIFxz
aW5jZSA0LjYKLQotICAgIFRoaXMgc2lnbmFsIGlzIGVtaXR0ZWQgd2hlbiB0aGUgdXNlciB0cmln
Z2VyZWQgYW4gaW5zcGVjdGlvbiB0aHJvdWdoIHRoZQotICAgIGNvbnRleHQgbWVudS4gSWYgYSBR
V2ViSW5zcGVjdG9yIGlzIGFzc29jaWF0ZWQgdG8gdGhpcyBwYWdlLCBpdCBzaG91bGQgYmUKLSAg
ICB2aXNpYmxlIHRvIHRoZSB1c2VyIGFmdGVyIHRoaXMgc2lnbmFsIGhhcyBiZWVuIGVtaXR0ZWQu
Ci0KLSAgICBJZiBzdGlsbCBubyBRV2ViSW5zcGVjdG9yIGlzIGFzc29jaWF0ZWQgdG8gdGhpcyBR
V2ViUGFnZSBhZnRlciB0aGUgZW1pc3Npb24KLSAgICBvZiB0aGlzIHNpZ25hbCwgYSBwcml2YXRl
bHkgb3duZWQgaW5zcGVjdG9yIHdpbGwgYmUgc2hvd24gdG8gdGhlIHVzZXIuCi0KLSAgICBcbm90
ZSBcYSBpbnNwZWN0ZWRFbGVtZW50IGNvbnRhaW5zIHRoZSBRV2ViRWxlbWVudCB1bmRlciB0aGUg
Y29udGV4dCBtZW51LgotICAgIEl0IGlzIG5vdCBnYXJhbnRlZWQgdG8gYmUgdGhlIHNhbWUgYXMg
dGhlIGZvY3VzZWQgZWxlbWVudCBpbiB0aGUgd2ViCi0gICAgaW5zcGVjdG9yLgotCi0gICAgXHNh
IFFXZWJJbnNwZWN0b3IKLSovCi0KLS8qIQogICAgIFxmbiB2b2lkIFFXZWJQYWdlOjp0b29sQmFy
VmlzaWJpbGl0eUNoYW5nZVJlcXVlc3RlZChib29sIHZpc2libGUpCiAKICAgICBUaGlzIHNpZ25h
bCBpcyBlbWl0dGVkIHdoZW5ldmVyIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSB0b29sYmFyIGluIGEg
d2ViIGJyb3dzZXIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCBmMmJiZGUwLi5jYTczZGQ4IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBA
IC0zMjksNyArMzI5LDYgQEAgUV9TSUdOQUxTOgogICAgIHZvaWQgd2luZG93Q2xvc2VSZXF1ZXN0
ZWQoKTsKICAgICB2b2lkIHByaW50UmVxdWVzdGVkKFFXZWJGcmFtZSAqZnJhbWUpOwogICAgIHZv
aWQgbGlua0NsaWNrZWQoY29uc3QgUVVybCAmdXJsKTsKLSAgICB2b2lkIHdlYkluc3BlY3RvclRy
aWdnZXJlZChjb25zdCBRV2ViRWxlbWVudCYgaW5zcGVjdGVkRWxlbWVudCk7CiAKICAgICB2b2lk
IHRvb2xCYXJWaXNpYmlsaXR5Q2hhbmdlUmVxdWVzdGVkKGJvb2wgdmlzaWJsZSk7CiAgICAgdm9p
ZCBzdGF0dXNCYXJWaXNpYmlsaXR5Q2hhbmdlUmVxdWVzdGVkKGJvb2wgdmlzaWJsZSk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAz
ZjkzZTZiLi5jNDAzYTAwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAwOS0xMC0yOSAgSm9jZWx5biBU
dXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUmVtb3ZlIHRoZSBRV2ViUGFnZTp3
ZWJJbnNwZWN0b3JUcmlnZ2VyZWQgc2lnbmFsLgorICAgICAgICBVc2VyIGN1c3RvbWl6YXRpb24g
b2YgdGhlIGNvbW11bmljYXRpb24gYmV0d2VlbiBRV2ViUGFnZQorICAgICAgICBhbmQgUVdlYklu
c3BlY3RvciB3aWxsIGJlIHByb3Blcmx5IGRlc2lnbmVkIGluIHRoZSBuZXh0IHZlcnNpb24uCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDc3MworCisg
ICAgICAgICogQXBpL3F3ZWJpbnNwZWN0b3IuY3BwOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5j
cHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OmdldE9yQ3JlYXRlSW5zcGVjdG9yKToKKyAg
ICAgICAgKFFXZWJQYWdlOjp0cmlnZ2VyQWN0aW9uKToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2Uu
aDoKKyAgICAgICAgKiBRdExhdW5jaGVyL21haW4uY3BwOgorICAgICAgICAoTWFpbldpbmRvdzo6
TWFpbldpbmRvdyk6CisKIDIwMDktMTAtMjcgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9RdExhdW5jaGVyL21haW4uY3BwIGIvV2ViS2l0L3F0L1F0TGF1bmNoZXIv
bWFpbi5jcHAKaW5kZXggZTNjNjExNi4uYTM0ZjUyMiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1F0
TGF1bmNoZXIvbWFpbi5jcHAKKysrIGIvV2ViS2l0L3F0L1F0TGF1bmNoZXIvbWFpbi5jcHAKQEAg
LTEwMSw3ICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgICAgIGluc3BlY3Rvci0+c2V0UGFnZShwYWdl
KTsKICAgICAgICAgaW5zcGVjdG9yLT5oaWRlKCk7CiAgICAgICAgIGNvbm5lY3QodGhpcywgU0lH
TkFMKGRlc3Ryb3llZCgpKSwgaW5zcGVjdG9yLCBTTE9UKGRlbGV0ZUxhdGVyKCkpKTsKLSAgICAg
ICAgY29ubmVjdChwYWdlLCBTSUdOQUwod2ViSW5zcGVjdG9yVHJpZ2dlcmVkKGNvbnN0IFFXZWJF
bGVtZW50JikpLCBpbnNwZWN0b3IsIFNMT1Qoc2hvdygpKSk7CiAKICAgICAgICAgc2V0dXBVSSgp
OwogCg==
</data>
<flag name="review"
          id="23621"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>