<?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>43924</bug_id>
          
          <creation_ts>2010-08-12 10:53:31 -0700</creation_ts>
          <short_desc>Web Inspector: -[WebInspector attach] and detach should work</short_desc>
          <delta_ts>2010-08-15 23:06:46 -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>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>263877</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-12 10:53:31 -0700</bug_when>
    <thetext>Currently they do nothing. I just got a report:

&gt; It seems like WebInspector detach: should do this, but
&gt; it doesn&apos;t actually do anything!

Looks like their implementation is empty. They should call
down to the controller, who should call requestToAttach or
Detach on its InspectorFrontendClient. Currently the only
caller to that is from JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263958</commentid>
    <comment_count>1</comment_count>
      <attachid>64257</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-12 14:00:46 -0700</bug_when>
    <thetext>Created attachment 64257
[PATCH] Implement attach and detach</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263959</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-12 14:01:51 -0700</bug_when>
    <thetext>Does this need a test? I tested locally in gdb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263965</commentid>
    <comment_count>3</comment_count>
      <attachid>64257</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 14:09:42 -0700</bug_when>
    <thetext>Comment on attachment 64257
[PATCH] Implement attach and detach

We&apos;ve been ripping attach/detach logic from the InspectorController/Client intentionally since it is a pure &apos;view&apos; concept. Ideally, it should be implemented entirely in the WebKit layer - no need to dive into WebCore. You should look at what InspectorFrontendClient is calling in WebKit and wire WebKit API to those WebKit methods directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264094</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-12 17:20:38 -0700</bug_when>
    <thetext>These methods were gutted in r56051 without explanation  &lt;http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm&gt;

Why was that ok to begin with?!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264095</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-12 17:22:46 -0700</bug_when>
    <thetext>For what it’s worth, an explanation of why it’s ok to turn methods like that in to no-ops is exactly the sort of thing that the ChangeLog should include.  Sadly, the ChangeLog entry from r56051 is effectively worthless.  It includes only a vague, high-level description of the change with no per-function commentary as is customary in WebKit ChangeLog entries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264168</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 22:19:58 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; These methods were gutted in r56051 without explanation  &lt;http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm&gt;
&gt; 
&gt; Why was that ok to begin with?!

Yeah, oversight from my side, sorry. We were supposed to file a follow up bug and fix it. The change was getting too large, so we needed to land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264178</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-12 22:28:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; &gt; These methods were gutted in r56051 without explanation  &lt;http://trac.webkit.org/changeset/56051/trunk/WebKit/mac/WebInspector/WebInspector.mm&gt;
&gt; &gt; 
&gt; &gt; Why was that ok to begin with?!
&gt; 
&gt; Yeah, oversight from my side, sorry. We were supposed to file a follow up bug and fix it. The change was getting too large, so we needed to land it.

It’s never OK to completely break API or SPI that a port exposes.  That’s a completely inappropriate manner in which to split up work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264182</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-12 22:40:11 -0700</bug_when>
    <thetext>&gt; It’s never OK to completely break API or SPI that a port exposes.  That’s a completely inappropriate manner in which to split up work.

I agree, we are taking actions to resolve it asap. Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264787</commentid>
    <comment_count>9</comment_count>
      <attachid>64436</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-14 22:51:58 -0700</bug_when>
    <thetext>Created attachment 64436
[PATCH] Allow attach and detach entirely in WebKit

I&apos;m not sure what the best name for the class would be... WebInspectorFrontend
is okay, but a little misleading. Maybe it should be WebInspectorLocalFrontend,
to indicate that it only makes sense to attach/detach a local frontend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264791</commentid>
    <comment_count>10</comment_count>
      <attachid>64436</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-14 23:07:28 -0700</bug_when>
    <thetext>Comment on attachment 64436
[PATCH] Allow attach and detach entirely in WebKit

Thanks for doing this. Afaik Yury was going to fix it pretty much the same way.

Not sure whether you need this new public abstraction and the delegation. I&apos;d simply place a reference to WebInspectorFrontendClient into WebInspectorPrivate.h. Rationale: WebInspector.h is the api to inspector and I am not sure we should distinguish between backend and front-end on the WebKit embedder level. Otherwise looks good! If you provide the rationale for the interface, I am not against putting r+!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264798</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-14 23:22:22 -0700</bug_when>
    <thetext>&gt; Thanks for doing this. Afaik Yury was going to fix it pretty much the same way.

Oh. I should have just assigned it to me when I decided I was going to
implement it. I had some spare time tonight.


&gt; I am not sure we should distinguish between backend and front-end on
&gt; the WebKit embedder level. 

I agree, but that I figured distinction already exists because of InspectorClient
and InspectorFrontendClient.


&gt; Otherwise looks good! If you provide the rationale for the interface, I am not
&gt; against putting r+!

My rationale for the extra class was that the extra class is an Obj-C
wrapper around the C++ class. I thought this was a common thing to do, or
at least I had seen the pattern so I felt I should emulate it. I&apos;m fine with
either approach. WebKit clients should still only see and use the
&quot;WebInspector&quot; class. They don&apos;t have access to the WebInspectorFrontend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264804</commentid>
    <comment_count>12</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-08-15 00:04:39 -0700</bug_when>
    <thetext>&gt; &gt; I am not sure we should distinguish between backend and front-end on
&gt; &gt; the WebKit embedder level. 
&gt; 
&gt; I agree, but that I figured distinction already exists because of InspectorClient
&gt; and InspectorFrontendClient.
&gt; 

My point was that we should distinguish between those on the WebKit level, but not pass distinction further to the embedder.

&gt; My rationale for the extra class was that the extra class is an Obj-C
&gt; wrapper around the C++ class. I thought this was a common thing to do, or
&gt; at least I had seen the pattern so I felt I should emulate it. I&apos;m fine with
&gt; either approach. WebKit clients should still only see and use the
&gt; &quot;WebInspector&quot; class. They don&apos;t have access to the WebInspectorFrontend.

It was unclear from the code: header is there, it does not look too much different from WebInspector itself. As a result, embedder might get confused. Bug given that we maintain close relationship with the embedder, I guess it is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264872</commentid>
    <comment_count>13</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-08-15 13:16:06 -0700</bug_when>
    <thetext>Committed r65383
	M	WebKit/WebKit.xcodeproj/project.pbxproj
	M	WebKit/ChangeLog
	M	WebKit/mac/WebCoreSupport/WebInspectorClient.mm
	M	WebKit/mac/ChangeLog
	M	WebKit/mac/WebInspector/WebInspectorPrivate.h
	M	WebKit/mac/WebInspector/WebInspector.h
	A	WebKit/mac/WebInspector/WebInspectorFrontend.h
	M	WebKit/mac/WebInspector/WebInspector.mm
	A	WebKit/mac/WebInspector/WebInspectorFrontend.mm
r65383 = 250fdc600fdbc0febbc313f8415741fb7889429b
http://trac.webkit.org/changeset/65383</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264943</commentid>
    <comment_count>14</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-08-15 23:06:46 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Committed r65383
&gt;     M    WebKit/WebKit.xcodeproj/project.pbxproj
&gt;     M    WebKit/ChangeLog
&gt;     M    WebKit/mac/WebCoreSupport/WebInspectorClient.mm
&gt;     M    WebKit/mac/ChangeLog
&gt;     M    WebKit/mac/WebInspector/WebInspectorPrivate.h
&gt;     M    WebKit/mac/WebInspector/WebInspector.h
&gt;     A    WebKit/mac/WebInspector/WebInspectorFrontend.h
&gt;     M    WebKit/mac/WebInspector/WebInspector.mm
&gt;     A    WebKit/mac/WebInspector/WebInspectorFrontend.mm
&gt; r65383 = 250fdc600fdbc0febbc313f8415741fb7889429b
&gt; http://trac.webkit.org/changeset/65383

Thanks for fixing this! I was trying to do it on Friday but my knowledge of Obj-C is very limited so I didn&apos;t complete my change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64257</attachid>
            <date>2010-08-12 14:00:46 -0700</date>
            <delta_ts>2010-08-14 22:51:58 -0700</delta_ts>
            <desc>[PATCH] Implement attach and detach</desc>
            <filename>bug-43924-20100812140045.patch</filename>
            <type>text/plain</type>
            <size>4311</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTcyZmUzOTMxODMwZWFiMDIwODlhMGE2MDJkNTRiYmQyNWU2Y2M4ZS4uMzI5ZDNiNTY0MWRjZWJl
ZjBjODYyZThlN2MyYzQxYWRmNGU2NDFkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOC0xMiAgSm9z
ZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IC1bV2ViSW5zcGVjdG9y
IGF0dGFjaF0gYW5kIGRldGFjaCBzaG91bGQgd29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5MjQKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OiBleHBvcnQgSW5zcGVjdG9yQ29udHJvbGxlcidzIGF0dGFjaCBhbmQgZGV0YWNoLgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNvbnRyb2xsZXI6OmF0dGFjaCk6IGRlbGVnYXRlIHRvIHRoZSBJbnNwZWN0b3JG
cm9udGVuZENsaWVudC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRl
dGFjaCk6IGRlbGVnYXRlIHRvIHRoZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorCiAyMDEwLTA4LTEyICBCZW4gTXVy
ZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KaW5kZXggMmRhNGRlZTA4ZDRlY2YwZDZjYjYwYWNmYWFjZDRlYTA4OTQ1NmQ5Ny4u
NjZlMGQzOTgzMmI3ODRkMzEzZTBiZDBjYTViOTRhNzIzOTU4NDAzOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMTk1
LDYgKzExOTUsOCBAQCBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzNGluc3BlY3Rv
clN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWVFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250
cm9sbGVyMzRpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1lRXYKIF9fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yQ29udHJvbGxlcjRzaG93RXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29u
dHJvbGxlcjVjbG9zZUV2CitfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXI2YXR0YWNo
RXYKK19fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjZkZXRhY2hFdgogX19aTjdXZWJD
b3JlMTlJbnNwZWN0b3JDb250cm9sbGVyN2luc3BlY3RFUE5TXzROb2RlRQogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyOXNob3dQYW5lbEVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2Vi
Q29yZTI4SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDEybW92ZVdpbmRvd0J5RWZmCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDk5M2ZlZDRmZGNmODEw
MDZjNzgwODU0NDM2NGVlODAzZGM4NTRmNGMuLjZiMGZlZjg3OTZmZmMxZjBjMzM0YTc2ZTkyMWIz
MWIzMzA1NjgwYzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC01NjMsNiArNTYzLDIwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6Y2xvc2UoKQog
ICAgIG1fcmVtb3RlRnJvbnRlbmQtPmNsb3NlKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ29udHJv
bGxlcjo6YXR0YWNoKCkKK3sKKyAgICBpZiAoIW1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX2luc3BlY3RvckZyb250ZW5kQ2xpZW50LT5yZXF1ZXN0QXR0
YWNoV2luZG93KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGV0YWNoKCkKK3sK
KyAgICBpZiAoIW1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQpCisgICAgICAgIHJldHVybjsKKyAg
ICBtX2luc3BlY3RvckZyb250ZW5kQ2xpZW50LT5yZXF1ZXN0RGV0YWNoV2luZG93KCk7Cit9CisK
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKIHsKICAgICBp
ZiAoIW1fcmVtb3RlRnJvbnRlbmQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmgKaW5kZXggNjIyZTFjNGY1MDczYWMxNmEzM2QyODcyNDg5NTRhYjdjMjYyNTBjNy4uMGZmMzQy
OTRmY2M2YjczNDVmZDNjODRmMGQ3ZTJhYTU2MDE2OWFmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTI5LDYgKzEyOSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNob3coKTsKICAgICB2b2lkIHNob3dQYW5lbChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGNs
b3NlKCk7CisgICAgdm9pZCBhdHRhY2goKTsKKyAgICB2b2lkIGRldGFjaCgpOwogCiAgICAgLy8g
V2UgYXJlIGluIHRyYW5zaXRpb24gZnJvbSBKUyB0cmFuc3BvcnQgdmlhIHdlYkluc3BlY3RvciB0
byBuYXRpdmUKICAgICAvLyB0cmFuc3BvcnQgdmlhIEluc3BlY3RvckNsaWVudC4gQWZ0ZXIgbWln
cmF0aW9uLCB3ZWJJbnNwZWN0b3IgcGFyYW1ldGVyIHNob3VsZApkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjNWM0NzgyOWZlNWUy
YTFkY2IxNDhiYmEzYzlhYWMxYjExNzVlYWYyLi4yODA1MDNkM2RjNGYzYzRkM2E5YjI4Zjg5YWI5
YzI0MWU4MzlhYzc0IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTA4LTEyICBKb3NlcGggUGVj
b3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogLVtXZWJJbnNwZWN0b3IgYXR0YWNo
XSBhbmQgZGV0YWNoIHNob3VsZCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MzkyNAorCisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYkluc3Bl
Y3Rvci5tbToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIGF0dGFjaDpdKTogZGVsZWdhdGUgdG8g
dGhlIEluc3BlY3RvckNvbnRyb2xsZXIuCisgICAgICAgICgtW1dlYkluc3BlY3RvciBkZXRhY2g6
XSk6IGRlbGVnYXRlIHRvIHRoZSBJbnNwZWN0b3JDb250cm9sbGVyLgorCiAyMDEwLTA4LTEyICBK
ZXJlbXkgT3Jsb3cgIDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCBmb3Ig
bm93CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW0g
Yi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW0KaW5kZXggOWIxNzQ1OTY5
YjIzMGFhOTE1MTVmYzUyZmNkYzNiZTkxODM5ZDVmMC4uMmYzZGM2NzlmODNhNjA2MjAyMDQ1NTU1
OGMwM2RlMjg3ZTJlNzkzNCAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2Vi
SW5zcGVjdG9yLm1tCisrKyBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5t
bQpAQCAtMTc1LDEwICsxNzUsMTQgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIC0gKHZv
aWQpYXR0YWNoOihpZClzZW5kZXIKIHsKKyAgICBpZiAoUGFnZSogcGFnZSA9IGNvcmUoX3dlYlZp
ZXcpKQorICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmF0dGFjaCgpOwogfQog
CiAtICh2b2lkKWRldGFjaDooaWQpc2VuZGVyCiB7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3Jl
KF93ZWJWaWV3KSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kZXRhY2go
KTsKIH0KIAogLSAodm9pZClldmFsdWF0ZUluRnJvbnRlbmQ6KGlkKXNlbmRlciBjYWxsSWQ6KGxv
bmcpY2FsbElkIHNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHQK
</data>
<flag name="review"
          id="52785"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64436</attachid>
            <date>2010-08-14 22:51:58 -0700</date>
            <delta_ts>2010-08-15 00:04:54 -0700</delta_ts>
            <desc>[PATCH] Allow attach and detach entirely in WebKit</desc>
            <filename>frontend.patch</filename>
            <type>text/plain</type>
            <size>13969</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDky
OTc2ZGIuLjczOTcyNDggMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTA4LTE0ICBKb3NlcGggUGVjb3Jhcm8g
IDxqb2VwZWNrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogLVtXZWJJbnNwZWN0b3IgYXR0YWNoXSBhbmQg
ZGV0YWNoIHNob3VsZCB3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MzkyNAorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IEFkZGVkIFdlYkluc3BlY3RvckZyb250ZW5kLntoLG1tfS4KKwogMjAxMC0wOC0wNiAg
R2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUnVi
YmVyIHN0YW1wZWQgYnkgU2FtIFdlaW5pZwpkaWZmIC0tZ2l0IGEvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDUyZDViNmMuLmY2YmU2NDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTMyOSw2ICszMjksOCBAQAogCQlBQkRERjIwRDA4RUIwRERDMDAx
RTEyNDEgLyogV2ViRG93bmxvYWRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUJEREYyMEMwOEVCMEREQzAwMUUxMjQxIC8qIFdlYkRvd25s
b2FkSW50ZXJuYWwuaCAqLzsgfTsKIAkJQjZDRTVDMjQxMDBCQzVDRTAwMjE5OTM2IC8qIFdlYkFw
cGxpY2F0aW9uQ2FjaGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNjgwNDk3MjBGRkJDRUMxMDA5RjdGNjIgLyogV2ViQXBwbGljYXRpb25DYWNoZS5t
bSAqLzsgfTsKIAkJQjZDRTVDMjUxMDBCQzVGNTAwMjE5OTM2IC8qIFdlYkFwcGxpY2F0aW9uQ2Fj
aGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2ODA0
OTcxMEZGQkNFQzEwMDlGN0Y2MiAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQjgwNDE3NkYxMjE3QTgzMTAw
NDY2QkFFIC8qIFdlYkluc3BlY3RvckZyb250ZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCODA0MTc2RDEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5z
cGVjdG9yRnJvbnRlbmQuaCAqLzsgfTsKKwkJQjgwNDE3NzAxMjE3QTgzMTAwNDY2QkFFIC8qIFdl
Ykluc3BlY3RvckZyb250ZW5kLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQjgwNDE3NkUxMjE3QTgzMTAwNDY2QkFFIC8qIFdlYkluc3BlY3RvckZyb250
ZW5kLm1tICovOyB9OwogCQlCQzI2QzY5RTEwQjc0M0Y0MDBCNjg3RUQgLyogV2ViU2VyaWFsaXpl
ZEpTVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMjZDNjlEMTBCNzQzRjQwMEI2ODdFRCAvKiBXZWJTZXJpYWxpemVkSlNWYWx1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMjZDNkE1MTBC
NzQ0N0EwMEI2ODdFRCAvKiBXZWJTZXJpYWxpemVkSlNWYWx1ZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjZDNkE0MTBCNzQ0N0EwMEI2ODdFRCAv
KiBXZWJTZXJpYWxpemVkSlNWYWx1ZS5tbSAqLzsgfTsKIAkJQkMyRTQ2NEQwRkQ4QTk2ODAwQTlE
OURFIC8qIFdlYlZpZXdEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzJFNDY0QjBGRDhBOTY4MDBBOUQ5REUgLyogV2ViVmlld0RhdGEuaCAqLzsg
fTsKQEAgLTYyNSw2ICs2MjcsOCBAQAogCQlBQkRERjIwQzA4RUIwRERDMDAxRTEyNDEgLyogV2Vi
RG93bmxvYWRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJEb3dubG9hZEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlCNjgwNDk3MTBGRkJDRUMxMDA5
RjdGNjIgLyogV2ViQXBwbGljYXRpb25DYWNoZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJBcHBsaWNhdGlvbkNhY2hlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUI2ODA0OTcyMEZGQkNFQzEwMDlGN0Y2MiAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQXBwbGljYXRpb25DYWNo
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjgwNDE3NkQxMjE3QTgzMTAwNDY2
QkFFIC8qIFdlYkluc3BlY3RvckZyb250ZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkluc3BlY3RvckZyb250ZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUI4MDQxNzZFMTIxN0E4MzEwMDQ2NkJBRSAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkluc3BlY3RvckZyb250
ZW5kLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzI2QzY5RDEwQjc0M0Y0MDBC
Njg3RUQgLyogV2ViU2VyaWFsaXplZEpTVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViU2VyaWFsaXplZEpTVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkMyNkM2QTQxMEI3NDQ3QTAwQjY4N0VEIC8qIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViU2VyaWFsaXplZEpT
VmFsdWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMkU0NjRCMEZEOEE5Njgw
MEE5RDlERSAvKiBXZWJWaWV3RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJWaWV3RGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODcxLDYgKzg3
NSw4IEBACiAJCQkJNUQ3QkY4MTIwQzJBMUQ5MDAwOENFMDZEIC8qIFdlYkluc3BlY3Rvci5oICov
LAogCQkJCTVEN0JGODEzMEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gKi8sCiAJ
CQkJN0E4RkYwRDAxMDc1MDI0QTAwQTgwQTA4IC8qIFdlYkluc3BlY3RvclByaXZhdGUuaCAqLywK
KwkJCQlCODA0MTc2RDEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCAq
LywKKwkJCQlCODA0MTc2RTEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQu
bW0gKi8sCiAJCQkJMUM2OEY2NjMwOTVCNUZDMTAwQzI5ODRFIC8qIFdlYk5vZGVIaWdobGlnaHQu
aCAqLywKIAkJCQkxQzY4RjY2NDA5NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodC5t
bSAqLywKIAkJCQkxQzY4RjY2NTA5NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZp
ZXcuaCAqLywKQEAgLTE1NzUsNiArMTU4MSw3IEBACiAJCQkJQTVERUZDMEYxMUQ1MzQzRTAwODg1
MjczIC8qIFdlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNURF
RkMxMzExRDUzNDRCMDA4ODUyNzMgLyogV2ViQXBwbGljYXRpb25DYWNoZVF1b3RhTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTU3RTJGMjQxMjA3NDlFNjAwMDQ4REYzIC8qIFdlYlF1b3Rh
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjgwNDE3NkYxMjE3QTgzMTAwNDY2QkFFIC8q
IFdlYkluc3BlY3RvckZyb250ZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE5MzYsNiArMTk0Myw3
IEBACiAJCQkJQTVERUZDMEExMUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTVERUZDMTAxMUQ1MzQzRTAwODg1MjczIC8qIFdlYkRhdGFi
YXNlUXVvdGFNYW5hZ2VyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTVERUZDMTQxMUQ1MzQ0QjAw
ODg1MjczIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVRdW90YU1hbmFnZXIubW0gaW4gU291cmNlcyAq
LywKKwkJCQlCODA0MTc3MDEyMTdBODMxMDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQu
bW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzVjNDc4Mi4uOGFmMzM2OCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
MCBAQAorMjAxMC0wOC0xNCAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IC1bV2ViSW5zcGVjdG9yIGF0dGFjaF0gYW5kIGRldGFjaCBzaG91bGQgd29yaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM5MjQKKworICAg
ICAgICBGb3IgYWN0aW9ucyB0aGF0IHJlbGF0ZSBvbmx5IHRvIHRoZSBXZWIgSW5zcGVjdG9yJ3Mg
RnJvbnRlbmQKKyAgICAgICAgd2luZG93IChhY3Rpb25zIG9uIHRoZSBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudCkgdGhlIG5ldyBPYmotQworICAgICAgICB3cmFwcGVyIGNsYXNzIFdlYkluc3BlY3Rv
ckZyb250ZW5kIGNhbiBiZSB1c2VkLiBGb3Igbm93LCB0aGlzCisgICAgICAgIGlzIGp1c3QgYXR0
YWNoIGFuZCBkZXRhY2guCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQubW06CisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9u
dGVuZCk6IHNldHVwIGFuZCBhdHRhY2ggdGhlIFdlYkluc3BlY3RvckZyb250ZW5kIHRvIHRoZSBX
ZWJJbnNwZWN0b3IuCisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5oOgorICAg
ICAgICAqIFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW06CisgICAgICAgICgtW1dlYkluc3Bl
Y3RvciBkZWFsbG9jXSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvciBhdHRhY2g6XSk6IGRlbGVn
YXRlIHRvIHRoZSBmcm9udGVuZC4KKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yIGRldGFjaDpdKTog
ZGVsZWdhdGUgdG8gdGhlIGZyb250ZW5kLgorICAgICAgICAoLVtXZWJJbnNwZWN0b3Igc2V0RnJv
bnRlbmQ6XSk6CisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250ZW5kLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JGcm9udGVuZC5tbTog
QWRkZWQuCisgICAgICAgICgtW1dlYkluc3BlY3RvckZyb250ZW5kIGluaXRXaXRoRnJvbnRlbmRD
bGllbnQ6XSk6CisgICAgICAgICgtW1dlYkluc3BlY3RvckZyb250ZW5kIGF0dGFjaF0pOgorICAg
ICAgICAoLVtXZWJJbnNwZWN0b3JGcm9udGVuZCBkZXRhY2hdKToKKyAgICAgICAgKiBXZWJJbnNw
ZWN0b3IvV2ViSW5zcGVjdG9yUHJpdmF0ZS5oOgorCiAyMDEwLTA4LTEyICBKZXJlbXkgT3Jsb3cg
IDxqb3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCBmb3Igbm93CmRpZmYgLS1n
aXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IGQ1OTEw
OWUuLjdjYWU4ZmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50Lm1tCkBAIC0zMyw2ICszMyw4IEBACiAjaW1wb3J0ICJXZWJGcmFtZUludGVybmFs
LmgiCiAjaW1wb3J0ICJXZWJGcmFtZVZpZXcuaCIKICNpbXBvcnQgIldlYkluc3BlY3Rvci5oIgor
I2ltcG9ydCAiV2ViSW5zcGVjdG9yUHJpdmF0ZS5oIgorI2ltcG9ydCAiV2ViSW5zcGVjdG9yRnJv
bnRlbmQuaCIKICNpbXBvcnQgIldlYkxvY2FsaXphYmxlU3RyaW5ncy5oIgogI2ltcG9ydCAiV2Vi
Tm9kZUhpZ2hsaWdodC5oIgogI2ltcG9ydCAiV2ViVUlEZWxlZ2F0ZS5oIgpAQCAtOTgsOCArMTAw
LDEyIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5z
cGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29uCiB7CiAgICAgUmV0YWluUHRyPFdlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXI+IHdpbmRvd0NvbnRyb2xsZXIoQWRvcHROUywgW1tXZWJJbnNw
ZWN0b3JXaW5kb3dDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aEluc3BlY3RlZFdlYlZpZXc6bV93
ZWJWaWV3XSk7CiAgICAgW3dpbmRvd0NvbnRyb2xsZXIuZ2V0KCkgc2V0SW5zcGVjdG9yQ2xpZW50
OnRoaXNdOworCiAgICAgbV9mcm9udGVuZFBhZ2UgPSBjb3JlKFt3aW5kb3dDb250cm9sbGVyLmdl
dCgpIHdlYlZpZXddKTsKLSAgICBtX2Zyb250ZW5kUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudChuZXcgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQobV93ZWJWaWV3LCB3aW5kb3dDb250cm9sbGVyLmdldCgpLCBpbnNwZWN0b3JDb250cm9sbGVy
LCBtX2Zyb250ZW5kUGFnZSkpOworICAgIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50KiBmcm9u
dGVuZENsaWVudCA9IG5ldyBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudChtX3dlYlZpZXcsIHdp
bmRvd0NvbnRyb2xsZXIuZ2V0KCksIGluc3BlY3RvckNvbnRyb2xsZXIsIG1fZnJvbnRlbmRQYWdl
KTsKKyAgICBtX2Zyb250ZW5kUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRJbnNwZWN0
b3JGcm9udGVuZENsaWVudChmcm9udGVuZENsaWVudCk7CisKKyAgICBbW21fd2ViVmlldyBpbnNw
ZWN0b3JdIHNldEZyb250ZW5kOltbV2ViSW5zcGVjdG9yRnJvbnRlbmQgYWxsb2NdIGluaXRXaXRo
RnJvbnRlbmRDbGllbnQ6ZnJvbnRlbmRDbGllbnRdXTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JD
bGllbnQ6OmhpZ2hsaWdodChOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJJ
bnNwZWN0b3IvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNw
ZWN0b3IuaAppbmRleCBmYTEzYzhkLi5lZDc4ZWQ3IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dl
Ykluc3BlY3Rvci9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9X
ZWJJbnNwZWN0b3IuaApAQCAtMjksMTAgKzI5LDEyIEBACiAjaW1wb3J0IDxGb3VuZGF0aW9uL05T
T2JqZWN0Lmg+CiAKIEBjbGFzcyBXZWJWaWV3OworQGNsYXNzIFdlYkluc3BlY3RvckZyb250ZW5k
OwogCiBAaW50ZXJmYWNlIFdlYkluc3BlY3RvciA6IE5TT2JqZWN0CiB7CiAgICAgV2ViVmlldyAq
X3dlYlZpZXc7CisgICAgV2ViSW5zcGVjdG9yRnJvbnRlbmQgKl9mcm9udGVuZDsKIH0KIC0gKGlk
KWluaXRXaXRoV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXc7CiAtICh2b2lkKXdlYlZpZXdDbG9z
ZWQ7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW0g
Yi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3IubW0KaW5kZXggOWIxNzQ1OS4u
ZjEwOWUxNSAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9y
Lm1tCisrKyBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rvci5tbQpAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW1wb3J0ICJXZWJGcmFtZUludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJJ
bnNwZWN0b3JQcml2YXRlLmgiCisjaW1wb3J0ICJXZWJJbnNwZWN0b3JGcm9udGVuZC5oIgogCiAj
aW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4K
QEAgLTQ3LDYgKzQ4LDEyIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICAgIHJldHVybiBz
ZWxmOwogfQogCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbX2Zyb250ZW5kIHJlbGVhc2VdOwor
ICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKwogLSAodm9pZCl3ZWJWaWV3Q2xvc2VkCiB7CiAgICAg
X3dlYlZpZXcgPSBuaWw7CkBAIC0xNzUsMTAgKzE4MiwxMiBAQCB1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKIAogLSAodm9pZClhdHRhY2g6KGlkKXNlbmRlcgogeworICAgIFtfZnJvbnRlbmQgYXR0
YWNoXTsKIH0KIAogLSAodm9pZClkZXRhY2g6KGlkKXNlbmRlcgogeworICAgIFtfZnJvbnRlbmQg
ZGV0YWNoXTsKIH0KIAogLSAodm9pZClldmFsdWF0ZUluRnJvbnRlbmQ6KGlkKXNlbmRlciBjYWxs
SWQ6KGxvbmcpY2FsbElkIHNjcmlwdDooTlNTdHJpbmcgKilzY3JpcHQKQEAgLTE4Niw2ICsxOTUs
MTIgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBjb3Jl
KF93ZWJWaWV3KSkKICAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5ldmFsdWF0
ZUZvclRlc3RJbkZyb250ZW5kKGNhbGxJZCwgc2NyaXB0KTsKIH0KKworLSAodm9pZClzZXRGcm9u
dGVuZDooV2ViSW5zcGVjdG9yRnJvbnRlbmQgKilmcm9udGVuZAoreworICAgIFtfZnJvbnRlbmQg
cmVsZWFzZV07CisgICAgX2Zyb250ZW5kID0gW2Zyb250ZW5kIHJldGFpbl07Cit9CiBAZW5kCiAK
IEBpbXBsZW1lbnRhdGlvbiBXZWJJbnNwZWN0b3IgKE9ic29sZXRlKQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCBiL1dlYktpdC9tYWMv
V2ViSW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250ZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uOTNiZWQ4NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9tYWMvV2Vi
SW5zcGVjdG9yL1dlYkluc3BlY3RvckZyb250ZW5kLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCitjbGFzcyBXZWJJbnNwZWN0
b3JGcm9udGVuZENsaWVudDsKKworQGludGVyZmFjZSBXZWJJbnNwZWN0b3JGcm9udGVuZCA6IE5T
T2JqZWN0IHsKK0Bwcml2YXRlCisgICAgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgKm1fZnJv
bnRlbmRDbGllbnQ7Cit9CistIChpZClpbml0V2l0aEZyb250ZW5kQ2xpZW50OihXZWJJbnNwZWN0
b3JGcm9udGVuZENsaWVudCAqKWZyb250ZW5kQ2xpZW50OworLSAodm9pZClhdHRhY2g7CistICh2
b2lkKWRldGFjaDsKK0BlbmQKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dl
Ykluc3BlY3RvckZyb250ZW5kLm1tIGIvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViSW5zcGVj
dG9yRnJvbnRlbmQubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFjYWE2
NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYkluc3BlY3Rv
ckZyb250ZW5kLm1tCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCAiV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCIKKwor
I2ltcG9ydCAiV2ViSW5zcGVjdG9yQ2xpZW50LmgiCisKK0BpbXBsZW1lbnRhdGlvbiBXZWJJbnNw
ZWN0b3JGcm9udGVuZAorCistIChpZClpbml0V2l0aEZyb250ZW5kQ2xpZW50OihXZWJJbnNwZWN0
b3JGcm9udGVuZENsaWVudCAqKWZyb250ZW5kQ2xpZW50OworeworICAgIGlmICghKHNlbGYgPSBb
c3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgbV9mcm9udGVuZENsaWVu
dCA9IGZyb250ZW5kQ2xpZW50OworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWF0dGFj
aAoreworICAgIG1fZnJvbnRlbmRDbGllbnQtPmF0dGFjaFdpbmRvdygpOworfQorCistICh2b2lk
KWRldGFjaAoreworICAgIG1fZnJvbnRlbmRDbGllbnQtPmRldGFjaFdpbmRvdygpOworfQorCitA
ZW5kCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JQcml2
YXRlLmggYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJJbnNwZWN0b3JQcml2YXRlLmgKaW5k
ZXggZDE4ZjgwNC4uZGYxZTI4NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3Iv
V2ViSW5zcGVjdG9yUHJpdmF0ZS5oCisrKyBiL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYklu
c3BlY3RvclByaXZhdGUuaApAQCAtMzAsNiArMzAsOSBAQAogCiAjaW1wb3J0IDxXZWJLaXQvV2Vi
SW5zcGVjdG9yLmg+CiAKK0BjbGFzcyBXZWJJbnNwZWN0b3JGcm9udGVuZDsKKwogQGludGVyZmFj
ZSBXZWJJbnNwZWN0b3IgKFdlYlByaXZhdGUpCiAtICh2b2lkKWV2YWx1YXRlSW5Gcm9udGVuZDoo
aWQpc2VuZGVyIGNhbGxJZDoobG9uZyljYWxsSWQgc2NyaXB0OihOU1N0cmluZyAqKXNjcmlwdDsK
Ky0gKHZvaWQpc2V0RnJvbnRlbmQ6KFdlYkluc3BlY3RvckZyb250ZW5kICopZnJvbnRlbmQ7CiBA
ZW5kCg==
</data>
<flag name="review"
          id="53011"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>