<?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>143681</bug_id>
          
          <creation_ts>2015-04-13 15:21:45 -0700</creation_ts>
          <short_desc>Provide SPI to allow changing whether JSContexts are remote debuggable by default</short_desc>
          <delta_ts>2015-04-16 09:34:15 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>mitz</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1084975</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-13 15:21:45 -0700</bug_when>
    <thetext>* SUMMARY
Provide SPI to allow changing whether JSContexts are remote debuggable by default

Some clients may have many JSContexts and wish to make them non-debuggable by default and enable debugging per-context. This should work well with auto-attach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084976</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-13 15:22:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/20192167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084977</commentid>
    <comment_count>2</comment_count>
      <attachid>250678</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-13 15:25:28 -0700</bug_when>
    <thetext>Created attachment 250678
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084982</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-04-13 15:33:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/20525859&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084994</commentid>
    <comment_count>4</comment_count>
      <attachid>250678</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-13 16:17:13 -0700</bug_when>
    <thetext>Comment on attachment 250678
[PATCH] Proposed Fix

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

What make this API useful? If I want to disable the inspector (or enable it), can&apos;t I just call the setter when I create a context? What does &quot;default&quot; mean in this context?

&gt; Source/JavaScriptCore/API/JSContextRefPrivate.h:103
&gt; +JS_EXPORT bool JSGlobalContextGetRemoteInspectionEnabledByDefault() CF_AVAILABLE(10_11, 9_0);

It seems inappropriate for these to be JSGlobalContext functions when they do not take a JSGlobalContextRef as an argument and they do not pertain to a particular JSGlobalContextRef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085000</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-13 16:34:58 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 250678 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250678&amp;action=review
&gt; 
&gt; What make this API useful? If I want to disable the inspector (or enable
&gt; it), can&apos;t I just call the setter when I create a context? What does
&gt; &quot;default&quot; mean in this context?

Currently all JSContexts are debuggable by default. Toggling this state on/off is a private API. This is so that developers &quot;just get&quot; JSContext debugging when they build and run their application, without toggling something in code.

Also related, with auto-attach, when the JSContext is created it may be attached, offering no time to opt-out. We discussed alternatives to address the auto-attach case, like only run auto-attach the first time something is evaluated in the context, but having a setting for the default case would handle the original concern.


&gt; &gt; Source/JavaScriptCore/API/JSContextRefPrivate.h:103
&gt; &gt; +JS_EXPORT bool JSGlobalContextGetRemoteInspectionEnabledByDefault() CF_AVAILABLE(10_11, 9_0);
&gt; 
&gt; It seems inappropriate for these to be JSGlobalContext functions when they
&gt; do not take a JSGlobalContextRef as an argument and they do not pertain to a
&gt; particular JSGlobalContextRef.

That sounds reasonable. How do these names sound?

    JSGetRemoteInspectionEnabledByDefault
    JSSetRemoteInspectionEnabledByDefault</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085247</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-14 13:50:51 -0700</bug_when>
    <thetext>&gt; Currently all JSContexts are debuggable by default. Toggling this state
&gt; on/off is a private API. This is so that developers &quot;just get&quot; JSContext
&gt; debugging when they build and run their application, without toggling
&gt; something in code.

Who does the toggling?

&gt; That sounds reasonable. How do these names sound?
&gt; 
&gt;     JSGetRemoteInspectionEnabledByDefault
&gt;     JSSetRemoteInspectionEnabledByDefault

Maybe 

JSRemoteInspectionGetEnabledByDefault
JSRemoteInspectionSetEnabledByDefault

for slightly better namespacing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085369</commentid>
    <comment_count>7</comment_count>
      <attachid>250769</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-14 18:03:41 -0700</bug_when>
    <thetext>Created attachment 250769
[PATCH] Improved Fix

Better fix. This uses JSRemoteInspector.h and names the APIs JSRemoteInspectorGetInspectionEnabledByDefault and Set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085370</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-14 18:06:13 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Currently all JSContexts are debuggable by default. Toggling this state
&gt; &gt; on/off is a private API. This is so that developers &quot;just get&quot; JSContext
&gt; &gt; debugging when they build and run their application, without toggling
&gt; &gt; something in code.
&gt; 
&gt; Who does the toggling?

Currently there is no public API to disable inspection of a JSContext or WebView. Everything is enabled by default. The mention to toggling in the comment above is that there is no toggle.

That said, there are client who want to be able to toggle, per-Context / per-WebView which are debuggable. Those are the situations these SPIs improve.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085547</commentid>
    <comment_count>9</comment_count>
      <attachid>250769</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-15 10:04:12 -0700</bug_when>
    <thetext>Comment on attachment 250769
[PATCH] Improved Fix

Really confusing that an SPI header is in a directory called API. The only way to figure out this is API, not SPI, would be to look at the Xcode project. Would be nicer if we had followed the original WebKit convention and have SPI headers include the suffix Private and corresponding internal headers include the suffix Internal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085609</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2015-04-15 11:43:10 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 250769 [details]
&gt; [PATCH] Improved Fix
&gt; 
&gt; Really confusing that an SPI header is in a directory called API. The only
&gt; way to figure out this is API, not SPI, would be to look at the Xcode
&gt; project. Would be nicer if we had followed the original WebKit convention
&gt; and have SPI headers include the suffix Private and corresponding internal
&gt; headers include the suffix Internal.

Was this ever the WebKit convention? See, for example, WebCache.h, dating back to 2006, or WebTextIterator.h, dating back to 2008.

I think the convention was, and should continue to be, that we only use the suffix Private if there is a corresponding public header, and we only use the suffix Internal if there is a corresponding public or private header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085618</commentid>
    <comment_count>11</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-15 12:04:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/182849</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085945</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-16 09:34:15 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I think the convention was, and should continue to be, that we only use the
&gt; suffix Private if there is a corresponding public header, and we only use
&gt; the suffix Internal if there is a corresponding public or private header.

Sounds sensible.

I suppose the real issue is that WebKit elsewhere does not have directories named API. I suppose that’s my real complaint. Imagine that we had a directory named “Public” that had a mix of private and public things in it. Since API and Public mean roughly the same thing, that’s what’s going on here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250678</attachid>
            <date>2015-04-13 15:25:28 -0700</date>
            <delta_ts>2015-04-14 18:03:41 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>spi.patch</filename>
            <type>text/plain</type>
            <size>6704</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHQubW0KaW5kZXggYjNhNGI3YS4uNmU0Zjdk
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHQubW0KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHQubW0KQEAgLTIwMyw2ICsyMDMs
MTYgQEAKICAgICAgICAgSlNTdHJpbmdSZWxlYXNlKG5hbWVKUyk7CiB9CiAKKysgKEJPT0wpX3Jl
bW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0Cit7CisgICAgcmV0dXJuIEpTR2xvYmFsQ29u
dGV4dEdldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCk7Cit9CisKKysgKHZvaWQp
X3NldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0OihCT09MKWVuYWJsZWRCeURlZmF1
bHQKK3sKKyAgICBKU0dsb2JhbENvbnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVm
YXVsdChlbmFibGVkQnlEZWZhdWx0KTsKK30KKwogLSAoQk9PTClfcmVtb3RlSW5zcGVjdGlvbkVu
YWJsZWQKIHsKICAgICByZXR1cm4gSlNHbG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVu
YWJsZWQobV9jb250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0UHJpdmF0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRQ
cml2YXRlLmgKaW5kZXggN2QxZDBjYi4uOGVmMzQyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NvbnRleHRQcml2YXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NvbnRleHRQcml2YXRlLmgKQEAgLTM0LDcgKzM0LDE0IEBACiAKIC8qIQogQHBy
b3BlcnR5Ci1AZGlzY3Vzc2lvbiBSZW1vdGUgaW5zcGVjdGlvbiBzZXR0aW5nIG9mIHRoZSBKU0Nv
bnRleHQuIERlZmF1bHQgdmFsdWUgaXMgWUVTLgorQGRpc2N1c3Npb24gRGVmYXVsdCBSZW1vdGUg
aW5zcGVjdGlvbiBzZXR0aW5nIGZvciBuZXcgSlNDb250ZXh0cy4gSW5pdGlhbCB2YWx1ZSBpcyBZ
RVMuCisqLworKyAoQk9PTClfcmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQgTlNfQVZB
SUxBQkxFKDEwXzExLCA5XzApOworKyAodm9pZClfc2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRC
eURlZmF1bHQ6KEJPT0wpZW5hYmxlZEJ5RGVmYXVsdCBOU19BVkFJTEFCTEUoMTBfMTEsIDlfMCk7
CisKKy8qIQorQHByb3BlcnR5CitAZGlzY3Vzc2lvbiBSZW1vdGUgaW5zcGVjdGlvbiBzZXR0aW5n
IG9mIHRoZSBKU0NvbnRleHQuCiAqLwogQHByb3BlcnR5IChzZXR0ZXI9X3NldFJlbW90ZUluc3Bl
Y3Rpb25FbmFibGVkOikgQk9PTCBfcmVtb3RlSW5zcGVjdGlvbkVuYWJsZWQgTlNfQVZBSUxBQkxF
KDEwXzEwLCA4XzApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dFJlZi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dFJlZi5j
cHAKaW5kZXggZWI1NDdlNC4uNjkxYTZiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NvbnRleHRSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDb250ZXh0UmVmLmNwcApAQCAtNTgsNiArNTgsOCBAQCBzdGF0aWMgY29uc3QgaW50MzJfdCB3
ZWJraXRGaXJzdFZlcnNpb25XaXRoQ29uY3VycmVudEdsb2JhbENvbnRleHRzID0gMHgyMTAwNTAw
OwogCiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCitzdGF0aWMgYm9vbCByZW1vdGVJbnNwZWN0aW9u
RW5hYmxlZEJ5RGVmYXVsdCA9IHRydWU7CisKIHN0YXRpYyBSdW50aW1lRmxhZ3MgamF2YVNjcmlw
dFJ1bnRpbWVGbGFncyhjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewogICAg
IFJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MgPSBKU0dsb2JhbE9iamVjdDo6amF2YVNjcmlwdFJ1
bnRpbWVGbGFncyhnbG9iYWxPYmplY3QpOwpAQCAtMTYyLDcgKzE2NCw4IEBAIEpTR2xvYmFsQ29u
dGV4dFJlZiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdy
b3VwLCBKU0NsYXNzCiAgICAgaWYgKCFnbG9iYWxPYmplY3RDbGFzcykgewogICAgICAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gSlNHbG9iYWxPYmplY3Q6OmNyZWF0ZSgqdm0sIEpT
R2xvYmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUoKnZtLCBqc051bGwoKSksICZqYXZhU2NyaXB0
Q29yZUFQSUdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKTsKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRSZW1vdGVEZWJ1Z2dpbmdFbmFibGVkKHRy
dWUpOworICAgICAgICBpZiAoSlNHbG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJs
ZWRCeURlZmF1bHQoKSkKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+c2V0UmVtb3RlRGVidWdn
aW5nRW5hYmxlZCh0cnVlKTsKICNlbmRpZgogICAgICAgICByZXR1cm4gSlNHbG9iYWxDb250ZXh0
UmV0YWluKHRvR2xvYmFsUmVmKGdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpKSk7CiAgICAgfQpA
QCAtMTc0LDcgKzE3Nyw4IEBAIEpTR2xvYmFsQ29udGV4dFJlZiBKU0dsb2JhbENvbnRleHRDcmVh
dGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdyb3VwLCBKU0NsYXNzCiAgICAgICAgIHByb3Rv
dHlwZSA9IGpzTnVsbCgpOwogICAgIGdsb2JhbE9iamVjdC0+cmVzZXRQcm90b3R5cGUoKnZtLCBw
cm90b3R5cGUpOwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgIGdsb2JhbE9iamVj
dC0+c2V0UmVtb3RlRGVidWdnaW5nRW5hYmxlZCh0cnVlKTsKKyAgICBpZiAoSlNHbG9iYWxDb250
ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQoKSkKKyAgICAgICAgZ2xvYmFs
T2JqZWN0LT5zZXRSZW1vdGVEZWJ1Z2dpbmdFbmFibGVkKHRydWUpOwogI2VuZGlmCiAgICAgcmV0
dXJuIEpTR2xvYmFsQ29udGV4dFJldGFpbih0b0dsb2JhbFJlZihleGVjKSk7CiB9CkBAIC0zMzMs
NiArMzM3LDE2IEBAIEpTU3RyaW5nUmVmIEpTQ29udGV4dENyZWF0ZUJhY2t0cmFjZShKU0NvbnRl
eHRSZWYgY3R4LCB1bnNpZ25lZCBtYXhTdGFja1NpemUpCiAgICAgcmV0dXJuIE9wYXF1ZUpTU3Ry
aW5nOjpjcmVhdGUoYnVpbGRlci50b1N0cmluZygpKS5sZWFrUmVmKCk7CiB9CiAKK2Jvb2wgSlNH
bG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQoKQoreworICAg
IHJldHVybiByZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdDsKK30KKwordm9pZCBKU0ds
b2JhbENvbnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdChib29sIGVuYWJs
ZWRCeURlZmF1bHQpCit7CisgICAgcmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQgPSBl
bmFibGVkQnlEZWZhdWx0OworfQorCiBib29sIEpTR2xvYmFsQ29udGV4dEdldFJlbW90ZUluc3Bl
Y3Rpb25FbmFibGVkKEpTR2xvYmFsQ29udGV4dFJlZiBjdHgpCiB7CiAgICAgaWYgKCFjdHgpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmUHJpdmF0
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWZQcml2YXRlLmgKaW5k
ZXggNWE1YmViZC4uMWZmZjdkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NvbnRleHRSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHRSZWZQcml2YXRlLmgKQEAgLTk2LDEwICs5NiwyNSBAQCBKU19FWFBPUlQgdm9pZCBK
U0NvbnRleHRHcm91cENsZWFyRXhlY3V0aW9uVGltZUxpbWl0KEpTQ29udGV4dEdyb3VwUmVmKSBD
Rl9BVkFJTAogCiAvKiEKIEBmdW5jdGlvbgorQGFic3RyYWN0IEdldHMgYSB3aGV0aGVyIG9yIG5v
dCByZW1vdGUgaW5zcGVjdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gbmV3IGNvbnRleHRz
LgorQHJlc3VsdCBUaGUgdmFsdWUgb2YgdGhlIHNldHRpbmcsIHRydWUgaWYgcmVtb3RlIGluc3Bl
Y3Rpb24gaXMgZW5hYmxlZCwgb3RoZXJ3aXNlIGZhbHNlLgorQGRpc2N1c3Npb24gSW5pdGlhbCB2
YWx1ZSBpcyB0cnVlLgorKi8KK0pTX0VYUE9SVCBib29sIEpTR2xvYmFsQ29udGV4dEdldFJlbW90
ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCkgQ0ZfQVZBSUxBQkxFKDEwXzExLCA5XzApOwor
CisvKiEKK0BmdW5jdGlvbgorQGFic3RyYWN0IFNldHMgdGhlIGRlZmF1bHQgcmVtb3RlIGluc3Bl
Y3Rpb24gc2V0dGluZyBmb3IgbmV3IGNvbnRleHRzLgorQHBhcmFtIGVuYWJsZWRCeURlZmF1bHQg
VGhlIG5ldyBkZWZhdWx0IHJlbW90ZSBpbnNwZWN0aW9uIGVuYWJsZWQgc2V0dGluZy4KKyovCitK
U19FWFBPUlQgdm9pZCBKU0dsb2JhbENvbnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5
RGVmYXVsdChib29sIGVuYWJsZWRCeURlZmF1bHQpIENGX0FWQUlMQUJMRSgxMF8xMSwgOV8wKTsK
KworLyohCitAZnVuY3Rpb24KIEBhYnN0cmFjdCBHZXRzIGEgd2hldGhlciBvciBub3QgcmVtb3Rl
IGluc3BlY3Rpb24gaXMgZW5hYmxlZCBvbiB0aGUgY29udGV4dC4KIEBwYXJhbSBjdHggVGhlIEpT
R2xvYmFsQ29udGV4dCB3aG9zZSBzZXR0aW5nIHlvdSB3YW50IHRvIGdldC4KIEByZXN1bHQgVGhl
IHZhbHVlIG9mIHRoZSBzZXR0aW5nLCB0cnVlIGlmIHJlbW90ZSBpbnNwZWN0aW9uIGlzIGVuYWJs
ZWQsIG90aGVyd2lzZSBmYWxzZS4KLUBkaXNjdXNzaW9uIFJlbW90ZSBpbnNwZWN0aW9uIGlzIHRy
dWUgYnkgZGVmYXVsdC4KK0BkaXNjdXNzaW9uIERlZmF1bHQgcmVtb3RlIGluc3BlY3Rpb24gaXMg
dHJ1ZSBieSBkZWZhdWx0IGFuZCB0b2dnbGVhYmxlIGJ5IEpTR2xvYmFsQ29udGV4dFNldFJlbW90
ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0LgogKi8KIEpTX0VYUE9SVCBib29sIEpTR2xvYmFs
Q29udGV4dEdldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkKEpTR2xvYmFsQ29udGV4dFJlZiBjdHgp
IENGX0FWQUlMQUJMRSgxMF8xMCwgOF8wKTsKIApAQCAtMTA5LDcgKzEyNCw3IEBAIEpTX0VYUE9S
VCBib29sIEpTR2xvYmFsQ29udGV4dEdldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkKEpTR2xvYmFs
Q29udGV4dFJlZiBjdHgpCiBAcGFyYW0gY3R4IFRoZSBKU0dsb2JhbENvbnRleHQgdGhhdCB5b3Ug
d2FudCB0byBjaGFuZ2UuCiBAcGFyYW0gZW5hYmxlZCBUaGUgbmV3IHJlbW90ZSBpbnNwZWN0aW9u
IGVuYWJsZWQgc2V0dGluZyBmb3IgdGhlIGNvbnRleHQuCiAqLwotSlNfRVhQT1JUIHZvaWQgSlNH
bG9iYWxDb250ZXh0U2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWQoSlNHbG9iYWxDb250ZXh0UmVm
IGN0eCwgYm9vbCBlbmFibGVkKSBDRl9BVkFJTEFCTEUoMTBfMTAsIDhfMCk7ICAgIAorSlNfRVhQ
T1JUIHZvaWQgSlNHbG9iYWxDb250ZXh0U2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWQoSlNHbG9i
YWxDb250ZXh0UmVmIGN0eCwgYm9vbCBlbmFibGVkKSBDRl9BVkFJTEFCTEUoMTBfMTAsIDhfMCk7
CiAKIC8qIQogQGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBhN2JmMmQ1Li5h
NzI0MGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNS0w
NC0xMyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFBy
b3ZpZGUgU1BJIHRvIGFsbG93IGNoYW5naW5nIHdoZXRoZXIgSlNDb250ZXh0cyBhcmUgcmVtb3Rl
IGRlYnVnZ2FibGUgYnkgZGVmYXVsdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQzNjgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUHJpdmF0ZSBBUEkgdG8gZ2V0L3NldCB0aGUgZGVmYXVsdCB2YWx1ZSBv
ZiByZW1vdGUgaW5zcGVjdGlvbiBmb3IgbmV3IEpTQ29udGV4dHMuCisKKyAgICAgICAgKiBBUEkv
SlNDb250ZXh0Lm1tOgorICAgICAgICAoK1tKU0NvbnRleHQgX3JlbW90ZUluc3BlY3Rpb25FbmFi
bGVkQnlEZWZhdWx0XSk6CisgICAgICAgICgrW0pTQ29udGV4dCBfc2V0UmVtb3RlSW5zcGVjdGlv
bkVuYWJsZWRCeURlZmF1bHQ6XSk6CisgICAgICAgICogQVBJL0pTQ29udGV4dFByaXZhdGUuaDoK
KyAgICAgICAgKiBBUEkvSlNDb250ZXh0UmVmLmNwcDoKKyAgICAgICAgKEpTR2xvYmFsQ29udGV4
dENyZWF0ZUluR3JvdXApOgorICAgICAgICAoSlNHbG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVj
dGlvbkVuYWJsZWRCeURlZmF1bHQpOgorICAgICAgICAoSlNHbG9iYWxDb250ZXh0U2V0UmVtb3Rl
SW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQpOgorICAgICAgICAqIEFQSS9KU0NvbnRleHRSZWZQ
cml2YXRlLmg6CisKIDIwMTUtMDQtMTMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIERGRyBpbmxpbmluZyBvZiBvcF9jYWxsX3ZhcmFyZ3Mgc2hvdWxkIGtlZXAgdGhl
IGNhbGxlZSBhbGl2ZSBpbiBjYXNlIG9mIE9TUiBleGl0Lgo=
</data>
<flag name="review"
          id="275466"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="275467"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250769</attachid>
            <date>2015-04-14 18:03:41 -0700</date>
            <delta_ts>2015-04-15 10:04:12 -0700</delta_ts>
            <desc>[PATCH] Improved Fix</desc>
            <filename>defaults.patch</filename>
            <type>text/plain</type>
            <size>4040</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmLmNwcAppbmRleCBlYjU0N2U0
Li41ODg5OTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4
dFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuY3Bw
CkBAIC00NCw2ICs0NCw3IEBACiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVk
ZSAiSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiSlNSZW1vdGVJbnNwZWN0b3IuaCIKICNl
bmRpZgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFUQ0hFUlMpCkBAIC0x
NjIsNyArMTYzLDggQEAgSlNHbG9iYWxDb250ZXh0UmVmIEpTR2xvYmFsQ29udGV4dENyZWF0ZUlu
R3JvdXAoSlNDb250ZXh0R3JvdXBSZWYgZ3JvdXAsIEpTQ2xhc3MKICAgICBpZiAoIWdsb2JhbE9i
amVjdENsYXNzKSB7CiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBKU0ds
b2JhbE9iamVjdDo6Y3JlYXRlKCp2bSwgSlNHbG9iYWxPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSgq
dm0sIGpzTnVsbCgpKSwgJmphdmFTY3JpcHRDb3JlQVBJR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUp
OwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgICAgICBnbG9iYWxPYmplY3QtPnNl
dFJlbW90ZURlYnVnZ2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIGlmIChKU1JlbW90ZUluc3Bl
Y3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCkpCisgICAgICAgICAgICBnbG9iYWxP
YmplY3QtPnNldFJlbW90ZURlYnVnZ2luZ0VuYWJsZWQodHJ1ZSk7CiAjZW5kaWYKICAgICAgICAg
cmV0dXJuIEpTR2xvYmFsQ29udGV4dFJldGFpbih0b0dsb2JhbFJlZihnbG9iYWxPYmplY3QtPmds
b2JhbEV4ZWMoKSkpOwogICAgIH0KQEAgLTE3NCw3ICsxNzYsOCBAQCBKU0dsb2JhbENvbnRleHRS
ZWYgSlNHbG9iYWxDb250ZXh0Q3JlYXRlSW5Hcm91cChKU0NvbnRleHRHcm91cFJlZiBncm91cCwg
SlNDbGFzcwogICAgICAgICBwcm90b3R5cGUgPSBqc051bGwoKTsKICAgICBnbG9iYWxPYmplY3Qt
PnJlc2V0UHJvdG90eXBlKCp2bSwgcHJvdG90eXBlKTsKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICBnbG9iYWxPYmplY3QtPnNldFJlbW90ZURlYnVnZ2luZ0VuYWJsZWQodHJ1ZSk7
CisgICAgaWYgKEpTUmVtb3RlSW5zcGVjdG9yR2V0SW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQo
KSkKKyAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRSZW1vdGVEZWJ1Z2dpbmdFbmFibGVkKHRydWUp
OwogI2VuZGlmCiAgICAgcmV0dXJuIEpTR2xvYmFsQ29udGV4dFJldGFpbih0b0dsb2JhbFJlZihl
eGVjKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTUmVtb3Rl
SW5zcGVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0
b3IuY3BwCmluZGV4IDNmNzBmODguLmZhZWJjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3IuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKK3N0YXRpYyBib29sIHJlbW90ZUluc3BlY3Rpb25FbmFi
bGVkQnlEZWZhdWx0ID0gdHJ1ZTsKKwogdm9pZCBKU1JlbW90ZUluc3BlY3RvckRpc2FibGVBdXRv
U3RhcnQodm9pZCkKIHsKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKQEAgLTY0LDMgKzY2
LDEzIEBAIHZvaWQgSlNSZW1vdGVJbnNwZWN0b3JTZXRMb2dUb1N5c3RlbUNvbnNvbGUoYm9vbCBs
b2dUb1N5c3RlbUNvbnNvbGUpCiB7CiAgICAgSlNHbG9iYWxPYmplY3RDb25zb2xlQ2xpZW50Ojpz
ZXRMb2dUb1N5c3RlbUNvbnNvbGUobG9nVG9TeXN0ZW1Db25zb2xlKTsKIH0KKworYm9vbCBKU1Jl
bW90ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KHZvaWQpCit7CisgICAg
cmV0dXJuIHJlbW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0OworfQorCit2b2lkIEpTUmVt
b3RlSW5zcGVjdG9yU2V0SW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQoYm9vbCBlbmFibGVkQnlE
ZWZhdWx0KQoreworICAgIHJlbW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0ID0gZW5hYmxl
ZEJ5RGVmYXVsdDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNS
ZW1vdGVJbnNwZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNw
ZWN0b3IuaAppbmRleCBhNDU4YTExLi4yYmRlNDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTUmVtb3RlSW5zcGVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1JlbW90ZUluc3BlY3Rvci5oCkBAIC0zOSw2ICszOSw5IEBAIEpTX0VYUE9SVCB2
b2lkIEpTUmVtb3RlSW5zcGVjdG9yU2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uKHBpZF90LCBj
b25zdCB1aW50OF90CiAKIEpTX0VYUE9SVCB2b2lkIEpTUmVtb3RlSW5zcGVjdG9yU2V0TG9nVG9T
eXN0ZW1Db25zb2xlKGJvb2wpIENGX0FWQUlMQUJMRSgxMF8xMSwgOV8wKTsKIAorSlNfRVhQT1JU
IGJvb2wgSlNSZW1vdGVJbnNwZWN0b3JHZXRJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdCh2b2lk
KSBDRl9BVkFJTEFCTEUoMTBfMTEsIDlfMCk7CitKU19FWFBPUlQgdm9pZCBKU1JlbW90ZUluc3Bl
Y3RvclNldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KGJvb2wpIENGX0FWQUlMQUJMRSgxMF8x
MSwgOV8wKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCmluZGV4IGZkM2ZkNDMuLmExNjA5NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDIyIEBACiAyMDE1LTA0LTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0Bh
cHBsZS5jb20+CiAKKyAgICAgICAgUHJvdmlkZSBTUEkgdG8gYWxsb3cgY2hhbmdpbmcgd2hldGhl
ciBKU0NvbnRleHRzIGFyZSByZW1vdGUgZGVidWdnYWJsZSBieSBkZWZhdWx0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM2ODEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFQSS9KU1JlbW90ZUluc3Bl
Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU1JlbW90ZUluc3BlY3Rvci5jcHA6CisgICAgICAgIChK
U1JlbW90ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KToKKyAgICAgICAg
KEpTUmVtb3RlSW5zcGVjdG9yU2V0SW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQpOgorICAgICAg
ICBQcm92aWRlIFNQSSB0byB0b2dnbGUgdGhlIGRlZmF1bHQgZW5hYmxlZCBpbnNwZWN0aW9uIHN0
YXRlIG9mIGRlYnVnZ2FibGVzLgorCisgICAgICAgICogQVBJL0pTQ29udGV4dFJlZi5jcHA6Cisg
ICAgICAgIChKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKToKKyAgICAgICAgUmVzcGVjdCB0
aGUgZGVmYXVsdCBzZXR0aW5nLgorCisyMDE1LTA0LTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgUmVwbGFjZSBKYXZhU2NyaXB0Q29yZU91dHB1dENv
bnNvbGVNZXNzYWdlc1RvU3lzdGVtQ29uc29sZSBkZWZhdWx0IHdpdGggYW4gU1BJCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM2OTEKIAo=
</data>
<flag name="review"
          id="275562"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>