<?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>132320</bug_id>
          
          <creation_ts>2014-04-28 22:38:51 -0700</creation_ts>
          <short_desc>[Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method</short_desc>
          <delta_ts>2014-04-30 12:44:26 -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>Media</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>
          <dependson>132376</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kling</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1004855</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-28 22:38:51 -0700</bug_when>
    <thetext>After recent changes to support using our JavaScript media controls implementation, we found that some sites that relied on activating/deactivating captions via the &quot;webkitHasClosedCaptions&quot; method no longer worked properly.

This patch corrects the logic for these cases, allowing them to use the new JS-based code path to enable/disable captions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004856</commentid>
    <comment_count>1</comment_count>
      <attachid>230355</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-28 22:48:43 -0700</bug_when>
    <thetext>Created attachment 230355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004957</commentid>
    <comment_count>2</comment_count>
      <attachid>230355</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-29 08:34:54 -0700</bug_when>
    <thetext>Comment on attachment 230355
Patch

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3724
&gt; +bool HTMLMediaElement::callMediaControlsJSFunction(const String&amp; functionName)
&gt; +{
&gt; +    LOG(Media, &quot;HTMLMediaElement::callMediaControlsJSFunction&quot;);
&gt; +    Page* page = document().page();
&gt; +    if (!page)
&gt; +        return false;
&gt; +    
&gt; +    String mediaControlsScript = RenderTheme::themeForPage(page)-&gt;mediaControlsScript();
&gt; +    if (!mediaControlsScript.length())
&gt; +        return false;
&gt; +    
&gt; +    DOMWrapperWorld&amp; world = ensureIsolatedWorld();

Won&apos;t this recreates the script each time it is called? Instead, I think you want to do this the same way we update the script every time the page scale changes. See the static function setPageScaleFactorProperty in HTMLMediaElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005100</commentid>
    <comment_count>3</comment_count>
      <attachid>230413</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 14:02:35 -0700</bug_when>
    <thetext>Created attachment 230413
Revised to only call JS methods, not reprocess script each time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005103</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 14:12:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/16652874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005148</commentid>
    <comment_count>5</comment_count>
      <attachid>230413</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2014-04-29 15:07:13 -0700</bug_when>
    <thetext>Comment on attachment 230413
Revised to only call JS methods, not reprocess script each time.

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions methoNeed a short description (OOPS!).

Oops - &quot;... methoNeed a short description (OOPS!).&quot;

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3719
&gt; +    if (!m_mediaControlsHost)
&gt; +        m_mediaControlsHost = MediaControlsHost::create(this);

It is created in didAddUserAgentShadowRoot, so I think we are in deep trouble if we get here and m_mediaControlsHost is NULL, so an ASSERT might be more appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005160</commentid>
    <comment_count>6</comment_count>
      <attachid>230413</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 15:18:12 -0700</bug_when>
    <thetext>Comment on attachment 230413
Revised to only call JS methods, not reprocess script each time.

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

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions methoNeed a short description (OOPS!).
&gt; 
&gt; Oops - &quot;... methoNeed a short description (OOPS!).&quot;

Whoops!

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:3719
&gt;&gt; +        m_mediaControlsHost = MediaControlsHost::create(this);
&gt; 
&gt; It is created in didAddUserAgentShadowRoot, so I think we are in deep trouble if we get here and m_mediaControlsHost is NULL, so an ASSERT might be more appropriate.

Good point. I&apos;ll change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005161</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 15:19:54 -0700</bug_when>
    <thetext>Committed r167962: &lt;http://trac.webkit.org/changeset/167962&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005227</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-29 17:28:07 -0700</bug_when>
    <thetext>Regressions: Unexpected text-only failures (8)
  fast/hidpi/video-controls-in-hidpi.html [ Failure ]
  fast/layers/video-layer.html [ Failure ]
  media/audio-controls-rendering.html [ Failure ]
  media/controls-after-reload.html [ Failure ]
  media/controls-strict.html [ Failure ]
  media/controls-without-preload.html [ Failure ]
  media/media-controls-clone.html [ Failure ]
  media/video-no-audio.html [ Failure ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005236</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 17:55:14 -0700</bug_when>
    <thetext>It looks like it&apos;s not properly recognizing the &quot;.hidden&quot; class attribute added to the node. I&apos;m testing a fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005243</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-29 18:10:52 -0700</bug_when>
    <thetext>Follow-up fix checked in as:

Committed r167975: &lt;http://trac.webkit.org/changeset/167975&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005281</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-29 22:37:03 -0700</bug_when>
    <thetext>It looks almost certain that the follow-up broke a number of other tests: http://build.webkit.org/results/Apple%20Mavericks%20Release%20WK1%20(Tests)/r167977%20(5615)/results.html

I don&apos;t know how this is possible, but bot data appears definitive. I&apos;m going to roll out both changes, and if that doesn&apos;t help, I&apos;ll roll them back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005283</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-29 22:39:51 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 132376</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005290</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-29 22:47:49 -0700</bug_when>
    <thetext>&gt; I don&apos;t know how this is possible

Actually, I do. The follow-up change affected all elements with class=&quot;hidden&quot;, not just media controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005450</commentid>
    <comment_count>14</comment_count>
      <attachid>230503</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-30 11:43:57 -0700</bug_when>
    <thetext>Created attachment 230503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005453</commentid>
    <comment_count>15</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-30 11:46:36 -0700</bug_when>
    <thetext>All tests that failed with earlier versions of this patch now pass:

1. run-webkit-tests media

	Found 693 tests; running 573, skipping 120.
	Running 8 DumpRenderTrees in parallel.

	[328/573] media/media-controls-invalid-url.html passed unexpectedly             
                                                                                
	572 tests ran as expected, 1 didn&apos;t:


	Expected to fail, but passed: (1)
	  media/media-controls-invalid-url.html

2. run-webkit-tests fast/layers

	Found 42 tests; running 42, skipping 0.
	Running 1 DumpRenderTree.       

	All 42 tests ran as expected.                                                   

3. run-webkit-tests fast/hidpi (flake appears to be expected)

	Found 57 tests; running 57, skipping 0.
	Running 1 DumpRenderTree.       

	[35/57] fast/hidpi/ima...ng-canvas.html failed unexpectedly (reference mismatch)
                                                                                
	Retrying 1 unexpected failure(s) ...

	Running 1 DumpRenderTree.

                                             
	56 tests ran as expected, 1 didn&apos;t:


	Unexpected flakiness: image-only failures (1)
	  fast/hidpi/image-srcset-png-canvas.html [ ImageOnlyFailure Pass ]
  
4. run-webkit-tests compositing/visibility

	Found 12 tests; running 12, skipping 0.
	Running 1 DumpRenderTree.       

	All 12 tests ran as expected.                                                   

5. run-webkit-tests fast/layers

	Found 42 tests; running 42, skipping 0.
	Running 1 DumpRenderTree.       

	All 42 tests ran as expected.                                                   

6. run-webkit-tests fast/regions

	Found 545 tests; running 542, skipping 3.
	Running 8 DumpRenderTrees in parallel.

	All 542 tests ran as expected.                                                  

7. run-webkit-tests platform/mac/accessibility

	Found 193 tests; running 191, skipping 2.
	Running 1 DumpRenderTree.       

	All 191 tests ran as expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005474</commentid>
    <comment_count>16</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-30 12:44:26 -0700</bug_when>
    <thetext>Committed r168036: &lt;http://trac.webkit.org/changeset/168036&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230355</attachid>
            <date>2014-04-28 22:48:43 -0700</date>
            <delta_ts>2014-04-29 14:02:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132320-20140428224821.patch</filename>
            <type>text/plain</type>
            <size>5405</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzkyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTA0LTI4ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWMsIGlPU10gU3VwcG9y
dCBjYXB0aW9uIGFjdGl2YXRpb24gdmlhIEpTIHdlYmtpdEhhc0Nsb3NlZENhcHRpb25zIG1ldGhv
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tHcm91
cCk6IEFkZGVkIGNhbGwgdG8KKyAgICAgICAgbmV3ICd1cGRhdGVDYXB0aW9uc0NvbnRhaW5lcicu
CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29udGFp
bmVyKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYWxsTWVk
aWFDb250cm9sc0pTRnVuY3Rpb24oY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUpCisgICAgICAg
IChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRT
Y3JpcHQpOiBSZWZhY3RvcmVkCisgICAgICAgIHRvIHVzZSBuZXcgY29tbW9uIG1ldGhvZC4KKwor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorCiAyMDE0LTA0LTI4ICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBTZWxlY3RvckNvZGVH
ZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudElzTnRoQ2hpbGQoKSBsZWFrcyB0aGUgcGFyZW50IHJl
Z2lzdGVyIDpudGgtY2hpbGQoKSBpcyBub24tZmlsdGVyaW5nCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2NzkyMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2OTUs
OSArMzY5NSw1NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFjCiAg
ICAgICAgICAgICBtX3dlYmtpdExlZ2FjeUNsb3NlZENhcHRpb25PdmVycmlkZSA9IHRydWU7CiAg
ICAgfQogCisgICAgdXBkYXRlQ2FwdGlvbkNvbnRhaW5lcigpOworCiAgICAgbV9wcm9jZXNzaW5n
UHJlZmVyZW5jZUNoYW5nZSA9IGZhbHNlOwogfQogCitib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZUNhcHRpb25Db250YWluZXIoKQoreworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OnVwZGF0ZUNhcHRpb25Db250YWluZXIiKTsKKyNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNf
U0NSSVBUKQorICAgIHJldHVybiBjYWxsTWVkaWFDb250cm9sc0pTRnVuY3Rpb24oQVNDSUlMaXRl
cmFsKCJ1cGRhdGVDYXB0aW9uQ29udGFpbmVyIikpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7
CisjZW5kaWYKK30KKworYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpjYWxsTWVkaWFDb250cm9sc0pT
RnVuY3Rpb24oY29uc3QgU3RyaW5nJiBmdW5jdGlvbk5hbWUpCit7CisgICAgTE9HKE1lZGlhLCAi
SFRNTE1lZGlhRWxlbWVudDo6Y2FsbE1lZGlhQ29udHJvbHNKU0Z1bmN0aW9uIik7CisgICAgUGFn
ZSogcGFnZSA9IGRvY3VtZW50KCkucGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIAorICAgIFN0cmluZyBtZWRpYUNvbnRyb2xzU2NyaXB0ID0gUmVuZGVy
VGhlbWU6OnRoZW1lRm9yUGFnZShwYWdlKS0+bWVkaWFDb250cm9sc1NjcmlwdCgpOworICAgIGlm
ICghbWVkaWFDb250cm9sc1NjcmlwdC5sZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIAorICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQgPSBlbnN1cmVJc29sYXRlZFdvcmxkKCk7
CisgICAgU2NyaXB0Q29udHJvbGxlciYgc2NyaXB0Q29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFt
ZSgpLnNjcmlwdCgpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdENvbnRyb2xsZXIuZ2xvYmFsT2JqZWN0
KHdvcmxkKSk7CisgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2Jh
bEV4ZWMoKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKGV4ZWMpOworICAgIAorICAgIEpT
Qzo6SlNWYWx1ZSBmdW5jdGlvblZhbHVlID0gZ2xvYmFsT2JqZWN0LT5nZXQoZXhlYywgSlNDOjpJ
ZGVudGlmaWVyKGV4ZWMsIGZ1bmN0aW9uTmFtZSkpOworICAgIGlmIChmdW5jdGlvblZhbHVlLmlz
RnVuY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisjaWZuZGVmIE5ERUJVRwor
ICAgIC8vIFNldHRpbmcgYSBzY3JpcHRVUkwgYWxsb3dzIHRoZSBzb3VyY2UgdG8gYmUgZGVidWdn
YWJsZSBpbiB0aGUgaW5zcGVjdG9yLgorICAgIFVSTCBzY3JpcHRVUkwgPSBVUkwoUGFyc2VkVVJM
U3RyaW5nLCBBU0NJSUxpdGVyYWwoIm1lZGlhQ29udHJvbHNTY3JpcHQiKSk7CisjZWxzZQorICAg
IFVSTCBzY3JpcHRVUkw7CisjZW5kaWYKKyAgICBzY3JpcHRDb250cm9sbGVyLmV2YWx1YXRlSW5X
b3JsZChTY3JpcHRTb3VyY2VDb2RlKG1lZGlhQ29udHJvbHNTY3JpcHQsIHNjcmlwdFVSTCksIHdv
cmxkKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpIHsKKyAgICAgICAgZXhlYy0+Y2xl
YXJFeGNlcHRpb24oKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICAKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRU
ZXh0VHJhY2soVGV4dFRyYWNrKiB0cmFja1RvU2VsZWN0KQogewogICAgIFRleHRUcmFja0xpc3Qq
IHRyYWNrTGlzdCA9IHRleHRUcmFja3MoKTsKQEAgLTU5MjMsMzggKzU5NzEsNyBAQCBET01XcmFw
cGVyV29ybGQmIEhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyCiAKIGJvb2wgSFRNTE1lZGlhRWxlbWVu
dDo6ZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KCkKIHsKLSAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzSW5qZWN0ZWRTY3JpcHQiKTsK
LSAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCk7Ci0gICAgaWYgKCFwYWdlKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCA9IFJl
bmRlclRoZW1lOjp0aGVtZUZvclBhZ2UocGFnZSktPm1lZGlhQ29udHJvbHNTY3JpcHQoKTsKLSAg
ICBpZiAoIW1lZGlhQ29udHJvbHNTY3JpcHQubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQgPSBlbnN1cmVJc29sYXRlZFdvcmxkKCk7
Ci0gICAgU2NyaXB0Q29udHJvbGxlciYgc2NyaXB0Q29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFt
ZSgpLnNjcmlwdCgpOwotICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBKU0M6
OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdENvbnRyb2xsZXIuZ2xvYmFsT2JqZWN0
KHdvcmxkKSk7Ci0gICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2Jh
bEV4ZWMoKTsKLSAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKGV4ZWMpOwotCi0gICAgSlNDOjpK
U1ZhbHVlIGZ1bmN0aW9uVmFsdWUgPSBnbG9iYWxPYmplY3QtPmdldChleGVjLCBKU0M6OklkZW50
aWZpZXIoZXhlYywgImNyZWF0ZUNvbnRyb2xzIikpOwotICAgIGlmIChmdW5jdGlvblZhbHVlLmlz
RnVuY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAg
Ly8gU2V0dGluZyBhIHNjcmlwdFVSTCBhbGxvd3MgdGhlIHNvdXJjZSB0byBiZSBkZWJ1Z2dhYmxl
IGluIHRoZSBpbnNwZWN0b3IuCi0gICAgVVJMIHNjcmlwdFVSTCA9IFVSTChQYXJzZWRVUkxTdHJp
bmcsIEFTQ0lJTGl0ZXJhbCgibWVkaWFDb250cm9sc1NjcmlwdCIpKTsKLSNlbHNlCi0gICAgVVJM
IHNjcmlwdFVSTDsKLSNlbmRpZgotICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxk
KFNjcmlwdFNvdXJjZUNvZGUobWVkaWFDb250cm9sc1NjcmlwdCwgc2NyaXB0VVJMKSwgd29ybGQp
OwotICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkgewotICAgICAgICBleGVjLT5jbGVhckV4
Y2VwdGlvbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIGNhbGxNZWRpYUNvbnRyb2xzSlNGdW5jdGlvbihBU0NJSUxpdGVyYWwo
ImNyZWF0ZUNvbnRyb2xzIikpOwogfQogCiBzdGF0aWMgdm9pZCBzZXRQYWdlU2NhbGVGYWN0b3JQ
cm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIGNvbnRyb2xsZXJWYWx1
ZSwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgJKHJldmlzaW9uIDE2NzkyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MjEsNiArNzIxLDkgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHJlZ2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50Jik7CiAgICAgdm9pZCB1
bnJlZ2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50Jik7CiAKKyAgICBib29sIGNhbGxNZWRpYUNv
bnRyb2xzSlNGdW5jdGlvbihjb25zdCBTdHJpbmcmKTsKKyAgICBib29sIHVwZGF0ZUNhcHRpb25D
b250YWluZXIoKTsKKwogICAgIFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+IG1fbG9hZFRpbWVyOwog
ICAgIFRpbWVyPEhUTUxNZWRpYUVsZW1lbnQ+IG1fcHJvZ3Jlc3NFdmVudFRpbWVyOwogICAgIFRp
bWVyPEhUTUxNZWRpYUVsZW1lbnQ+IG1fcGxheWJhY2tQcm9ncmVzc1RpbWVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230413</attachid>
            <date>2014-04-29 14:02:35 -0700</date>
            <delta_ts>2014-04-30 11:43:48 -0700</delta_ts>
            <desc>Revised to only call JS methods, not reprocess script each time.</desc>
            <filename>bug-132320-20140429140212.patch</filename>
            <type>text/plain</type>
            <size>6036</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE0LTA0LTI5ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWMsIGlPU10gU3VwcG9y
dCBjYXB0aW9uIGFjdGl2YXRpb24gdmlhIEpTIHdlYmtpdEhhc0Nsb3NlZENhcHRpb25zIG1ldGhv
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNv
bnRyb2xzQXBwbGUuY3NzOgorICAgICAgICAodmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFj
ay1jb250YWluZXIgLmhpZGRlbik6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVU
ZXh0VHJhY2tHcm91cCk6IEFkZGVkIGNhbGwgdG8KKyAgICAgICAgbmV3ICd1cGRhdGVDYXB0aW9u
c0NvbnRhaW5lcicuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVD
YXB0aW9uQ29udGFpbmVyKTogQWRkZWQuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudDo6aGlk
ZSk6IFVzZSBDU1MgY2xhc3MgLmhpZGRlbiBpbnN0ZWFkIG9mCisgICAgICAgIGhhcmQtY29kZWQg
ImRpc3BsYXk6bm9uZSIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUZXh0VHJhY2tD
b250YWluZXJFbGVtZW50OjpzaG93KTogRGl0dG8uCisgICAgICAgICogaHRtbC9zaGFkb3cvTWVk
aWFDb250cm9sRWxlbWVudHMuaDoKKwogMjAxNC0wNC0yOSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgPHJkYXI6
Ly9wcm9ibGVtLzE2NTc4NzI3Pi4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
b250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuY3NzCShyZXZpc2lv
biAxNjc5MjApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFD
b250cm9sc0FwcGxlLmNzcwkod29ya2luZyBjb3B5KQpAQCAtNzA5LDYgKzcwOSwxMCBAQCB2aWRl
bzo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lCiAgICAgLXdlYmtpdC1saW5lLWJv
eC1jb250YWluOiBibG9jayBpbmxpbmUtYm94IHJlcGxhY2VkOwogfQogCit2aWRlbzo6LXdlYmtp
dC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lciAuaGlkZGVuIHsKKyAgICBkaXNwbGF5OiBub25l
OworfQorCiB2aWRlbzo6Y3VlIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAs
IDAuOCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDE2NzkyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2OTUsOSArMzY5NSw2NSBAQCB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFjCiAgICAgICAgICAgICBtX3dlYmtpdExlZ2FjeUNs
b3NlZENhcHRpb25PdmVycmlkZSA9IHRydWU7CiAgICAgfQogCisgICAgdXBkYXRlQ2FwdGlvbkNv
bnRhaW5lcigpOworCiAgICAgbV9wcm9jZXNzaW5nUHJlZmVyZW5jZUNoYW5nZSA9IGZhbHNlOwog
fQogCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUNhcHRpb25Db250YWluZXIoKQorewor
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUNhcHRpb25Db250YWluZXIi
KTsKKyNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQorICAgIFBhZ2UqIHBhZ2UgPSBk
b2N1bWVudCgpLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAg
IERPTVdyYXBwZXJXb3JsZCYgd29ybGQgPSBlbnN1cmVJc29sYXRlZFdvcmxkKCk7CisKKyAgICBp
ZiAoIWVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpKQorICAgICAgICByZXR1cm47
CisKKyAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisKKyAgICBpZiAoIW1fbWVkaWFD
b250cm9sc0hvc3QpCisgICAgICAgIG1fbWVkaWFDb250cm9sc0hvc3QgPSBNZWRpYUNvbnRyb2xz
SG9zdDo6Y3JlYXRlKHRoaXMpOworCisgICAgU2NyaXB0Q29udHJvbGxlciYgc2NyaXB0Q29udHJv
bGxlciA9IHBhZ2UtPm1haW5GcmFtZSgpLnNjcmlwdCgpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KHNjcmlwdENv
bnRyb2xsZXIuZ2xvYmFsT2JqZWN0KHdvcmxkKSk7CisgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMg
PSBnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2Nr
KGV4ZWMpOworCisgICAgSlNDOjpKU1ZhbHVlIGNvbnRyb2xsZXJWYWx1ZSA9IG1fbWVkaWFDb250
cm9sc0hvc3QtPmNvbnRyb2xsZXJKU1ZhbHVlKCk7CisgICAgaWYgKGNvbnRyb2xsZXJWYWx1ZS5p
c1VuZGVmaW5lZE9yTnVsbCgpIHx8ICFjb250cm9sbGVyVmFsdWUuaXNPYmplY3QoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgSlNDOjpKU09iamVjdCogY29udHJvbGxlck9iamVjdCA9IGNvbnRy
b2xsZXJWYWx1ZS50b09iamVjdChleGVjKTsKKworICAgIC8vIFRoZSBtZWRpYSBjb250cm9scyBz
Y3JpcHQgbXVzdCBwcm92aWRlIGEgbWV0aG9kIG9uIHRoZSBDb250cm9sbGVyIG9iamVjdCB3aXRo
IHRoZSBmb2xsb3dpbmcgZGV0YWlscy4KKyAgICAvLyBOYW1lOiB1cGRhdGVDYXB0aW9uQ29udGFp
bmVyCisgICAgLy8gUGFyYW1ldGVyczoKKyAgICAvLyAgICAgTm9uZQorICAgIC8vIFJldHVybiB2
YWx1ZToKKyAgICAvLyAgICAgTm9uZQorICAgIEpTQzo6SlNWYWx1ZSBtZXRob2RWYWx1ZSA9IGNv
bnRyb2xsZXJPYmplY3QtPmdldChleGVjLCBKU0M6OklkZW50aWZpZXIoZXhlYywgInVwZGF0ZUNh
cHRpb25Db250YWluZXIiKSk7CisgICAgaWYgKG1ldGhvZFZhbHVlLmlzVW5kZWZpbmVkT3JOdWxs
KCkgfHwgIW1ldGhvZFZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybjsKKworICAgIEpT
Qzo6SlNPYmplY3QqIG1ldGhvZE9iamVjdCA9IG1ldGhvZFZhbHVlLnRvT2JqZWN0KGV4ZWMpOwor
CisgICAgSlNDOjpDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBKU0M6OkNhbGxUeXBlIGNhbGxUeXBl
ID0gbWV0aG9kT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShtZXRob2RPYmplY3Qs
IGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gSlNDOjpDYWxsVHlwZU5vbmUpCisgICAg
ICAgIHJldHVybjsKKworICAgIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXIgbm9Bcmd1bWVudHM7
CisgICAgSlNDOjpjYWxsKGV4ZWMsIG1ldGhvZE9iamVjdCwgY2FsbFR5cGUsIGNhbGxEYXRhLCBj
b250cm9sbGVyT2JqZWN0LCBub0FyZ3VtZW50cyk7CisKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0
aW9uKCkpCisgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CisjZW5kaWYKK30KKyAgICAK
IHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4dFRyYWNrKiB0
cmFja1RvU2VsZWN0KQogewogICAgIFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCA9IHRleHRUcmFj
a3MoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lv
biAxNjc5MjApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNzIxLDYgKzcyMSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWdpc3Rl
cldpdGhEb2N1bWVudChEb2N1bWVudCYpOwogICAgIHZvaWQgdW5yZWdpc3RlcldpdGhEb2N1bWVu
dChEb2N1bWVudCYpOwogCisgICAgdm9pZCB1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCk7CisKICAg
ICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX2xvYWRUaW1lcjsKICAgICBUaW1lcjxIVE1MTWVk
aWFFbGVtZW50PiBtX3Byb2dyZXNzRXZlbnRUaW1lcjsKICAgICBUaW1lcjxIVE1MTWVkaWFFbGVt
ZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAJKHJldmlzaW9uIDE2Nzky
MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTUwMCw2ICsxNTAwLDE3IEBAIHZvaWQgTWVkaWFDb250cm9s
VGV4dFRyYWNrQ29udGFpbmVyRWxlbWUKICAgICB1cGRhdGVTaXplcygpOwogfQogCit2b2lkIE1l
ZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OmhpZGUoKQoreworICAgIGNsYXNz
TGlzdCgpLT5hZGQoImhpZGRlbiIsIElHTk9SRV9FWENFUFRJT04pOworfQorCit2b2lkIE1lZGlh
Q29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ6OnNob3coKQoreworICAgIGNsYXNzTGlz
dCgpLT5yZW1vdmUoImhpZGRlbiIsIElHTk9SRV9FWENFUFRJT04pOworfQorICAgIAorCiAjZW5k
aWYgLy8gRU5BQkxFKFZJREVPX1RSQUNLKQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L01lZGlhQ29udHJv
bEVsZW1lbnRzLmgJKHJldmlzaW9uIDE2NzkyMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L01lZGlhQ29udHJvbEVsZW1lbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3Niw2ICs0NzYs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBleGl0ZWRGdWxsc2NyZWVuKCk7CiAgICAgc3RhdGljIGNv
bnN0IEF0b21pY1N0cmluZyYgdGV4dFRyYWNrQ29udGFpbmVyRWxlbWVudFNoYWRvd1BzZXVkb0lk
KCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2hvdygpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9p
ZCBoaWRlKCkgb3ZlcnJpZGU7CisKIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVUaW1lckZpcmVk
KFRpbWVyPE1lZGlhQ29udHJvbFRleHRUcmFja0NvbnRhaW5lckVsZW1lbnQ+Jik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230503</attachid>
            <date>2014-04-30 11:43:57 -0700</date>
            <delta_ts>2014-04-30 11:55:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132320-20140430114337.patch</filename>
            <type>text/plain</type>
            <size>4827</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODAyMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA0LTMwICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWMsIGlPU10gU3VwcG9y
dCBjYXB0aW9uIGFjdGl2YXRpb24gdmlhIEpTIHdlYmtpdEhhc0Nsb3NlZENhcHRpb25zIG1ldGhv
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzIzMjAKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIENhcmxzb24uCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250
cm9sc0FwcGxlLmNzczoKKyAgICAgICAgKHZpZGVvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2st
Y29udGFpbmVyIC5oaWRkZW4pOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4
dFRyYWNrR3JvdXApOiBBZGRlZCBjYWxsIHRvCisgICAgICAgIG5ldyAndXBkYXRlQ2FwdGlvbnND
b250YWluZXInLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQ2Fw
dGlvbkNvbnRhaW5lcik6IEFkZGVkLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5o
OgorCiAyMDE0LTA0LTMwICBac29sdCBCb3JiZWx5ICA8enNib3JiZWx5LnUtc3plZ2VkQHBhcnRu
ZXIuc2Ftc3VuZy5jb20+CiAKICAgICAgICAgTW92ZSByZW1vdmVFcXVpdmFsZW50UHJvcGVydGll
cyBmdW5jdGlvbnMgdG8gRWRpdGluZ1N0eWxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmNzcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmNzcwko
cmV2aXNpb24gMTY4MDIzKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xz
L21lZGlhQ29udHJvbHNBcHBsZS5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzM2LDMgKzczNiw4IEBA
IHZpZGVvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmUKIHZpZGVvOjotd2Via2l0
LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmVyIGkgewogICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsK
IH0KKwordmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXIgLmhpZGRlbiwK
K2F1ZGlvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmVyIC5oaWRkZW4geworICAg
IGRpc3BsYXk6IG5vbmU7Cit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE2ODAyMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2OTUsOSArMzY5NSw2NSBAQCB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFjCiAgICAgICAgICAgICBtX3dlYmtp
dExlZ2FjeUNsb3NlZENhcHRpb25PdmVycmlkZSA9IHRydWU7CiAgICAgfQogCisgICAgdXBkYXRl
Q2FwdGlvbkNvbnRhaW5lcigpOworCiAgICAgbV9wcm9jZXNzaW5nUHJlZmVyZW5jZUNoYW5nZSA9
IGZhbHNlOwogfQogCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUNhcHRpb25Db250YWlu
ZXIoKQoreworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUNhcHRpb25D
b250YWluZXIiKTsKKyNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQorICAgIFBhZ2Uq
IHBhZ2UgPSBkb2N1bWVudCgpLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVy
bjsKKworICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQgPSBlbnN1cmVJc29sYXRlZFdvcmxkKCk7
CisKKyAgICBpZiAoIWVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisKKyAgICBpZiAo
IW1fbWVkaWFDb250cm9sc0hvc3QpCisgICAgICAgIG1fbWVkaWFDb250cm9sc0hvc3QgPSBNZWRp
YUNvbnRyb2xzSG9zdDo6Y3JlYXRlKHRoaXMpOworCisgICAgU2NyaXB0Q29udHJvbGxlciYgc2Ny
aXB0Q29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFtZSgpLnNjcmlwdCgpOworICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBKU0M6OmpzQ2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+
KHNjcmlwdENvbnRyb2xsZXIuZ2xvYmFsT2JqZWN0KHdvcmxkKSk7CisgICAgSlNDOjpFeGVjU3Rh
dGUqIGV4ZWMgPSBnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBKU0M6OkpTTG9ja0hv
bGRlciBsb2NrKGV4ZWMpOworCisgICAgSlNDOjpKU1ZhbHVlIGNvbnRyb2xsZXJWYWx1ZSA9IG1f
bWVkaWFDb250cm9sc0hvc3QtPmNvbnRyb2xsZXJKU1ZhbHVlKCk7CisgICAgaWYgKGNvbnRyb2xs
ZXJWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpIHx8ICFjb250cm9sbGVyVmFsdWUuaXNPYmplY3Qo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgSlNDOjpKU09iamVjdCogY29udHJvbGxlck9iamVj
dCA9IGNvbnRyb2xsZXJWYWx1ZS50b09iamVjdChleGVjKTsKKworICAgIC8vIFRoZSBtZWRpYSBj
b250cm9scyBzY3JpcHQgbXVzdCBwcm92aWRlIGEgbWV0aG9kIG9uIHRoZSBDb250cm9sbGVyIG9i
amVjdCB3aXRoIHRoZSBmb2xsb3dpbmcgZGV0YWlscy4KKyAgICAvLyBOYW1lOiB1cGRhdGVDYXB0
aW9uQ29udGFpbmVyCisgICAgLy8gUGFyYW1ldGVyczoKKyAgICAvLyAgICAgTm9uZQorICAgIC8v
IFJldHVybiB2YWx1ZToKKyAgICAvLyAgICAgTm9uZQorICAgIEpTQzo6SlNWYWx1ZSBtZXRob2RW
YWx1ZSA9IGNvbnRyb2xsZXJPYmplY3QtPmdldChleGVjLCBKU0M6OklkZW50aWZpZXIoZXhlYywg
InVwZGF0ZUNhcHRpb25Db250YWluZXIiKSk7CisgICAgaWYgKG1ldGhvZFZhbHVlLmlzVW5kZWZp
bmVkT3JOdWxsKCkgfHwgIW1ldGhvZFZhbHVlLmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIEpTQzo6SlNPYmplY3QqIG1ldGhvZE9iamVjdCA9IG1ldGhvZFZhbHVlLnRvT2JqZWN0
KGV4ZWMpOworCisgICAgSlNDOjpDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBKU0M6OkNhbGxUeXBl
IGNhbGxUeXBlID0gbWV0aG9kT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShtZXRo
b2RPYmplY3QsIGNhbGxEYXRhKTsKKyAgICBpZiAoY2FsbFR5cGUgPT0gSlNDOjpDYWxsVHlwZU5v
bmUpCisgICAgICAgIHJldHVybjsKKworICAgIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXIgbm9B
cmd1bWVudHM7CisgICAgSlNDOjpjYWxsKGV4ZWMsIG1ldGhvZE9iamVjdCwgY2FsbFR5cGUsIGNh
bGxEYXRhLCBjb250cm9sbGVyT2JqZWN0LCBub0FyZ3VtZW50cyk7CisKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9uKCk7CisjZW5kaWYK
K30KKyAgICAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0VHJhY2soVGV4
dFRyYWNrKiB0cmFja1RvU2VsZWN0KQogewogICAgIFRleHRUcmFja0xpc3QqIHRyYWNrTGlzdCA9
IHRleHRUcmFja3MoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CShyZXZpc2lvbiAxNjgwMjMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzIxLDYgKzcyMSw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCByZWdpc3RlcldpdGhEb2N1bWVudChEb2N1bWVudCYpOwogICAgIHZvaWQgdW5yZWdpc3Rlcldp
dGhEb2N1bWVudChEb2N1bWVudCYpOwogCisgICAgdm9pZCB1cGRhdGVDYXB0aW9uQ29udGFpbmVy
KCk7CisKICAgICBUaW1lcjxIVE1MTWVkaWFFbGVtZW50PiBtX2xvYWRUaW1lcjsKICAgICBUaW1l
cjxIVE1MTWVkaWFFbGVtZW50PiBtX3Byb2dyZXNzRXZlbnRUaW1lcjsKICAgICBUaW1lcjxIVE1M
TWVkaWFFbGVtZW50PiBtX3BsYXliYWNrUHJvZ3Jlc3NUaW1lcjsK
</data>
<flag name="review"
          id="254883"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>