<?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>140323</bug_id>
          
          <creation_ts>2015-01-09 16:06:38 -0800</creation_ts>
          <short_desc>Log navigation types using DiagnosticLoggingClient</short_desc>
          <delta_ts>2015-01-14 13:39:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</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>
          
          <blocked>140463</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1060319</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-09 16:06:38 -0800</bug_when>
    <thetext>Log navigation types using DiagnosticLoggingClient to help us understand what types of navigations are common and give us an estimate on the total number of navigations.

Radar: &lt;rdar://problem/19432920&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060322</commentid>
    <comment_count>1</comment_count>
      <attachid>244385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-09 16:10:51 -0800</bug_when>
    <thetext>Created attachment 244385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060602</commentid>
    <comment_count>2</comment_count>
      <attachid>244385</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-01-12 10:52:11 -0800</bug_when>
    <thetext>Comment on attachment 244385
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:1422
&gt; +    if (page-&gt;settings().diagnosticLoggingEnabled()) {

If settings() were hanging off the main frame, then we would not need to involve the page at all. It would be way nicer if this was a main frame thing and not a page thing.

&gt; Source/WebCore/loader/FrameLoader.cpp:1424
&gt; +        if (DiagnosticLoggingClient* diagnosticLoggingClient = page-&gt;mainFrame().diagnosticLoggingClient())
&gt; +            diagnosticLoggingClient-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::navigationKey(), navigationDescription);

I’d name this local variable “client”, not “diagnosticLoggingClient” since its scope is just this tiny if statement.

I’d use auto* to avoid repeating the long type name.

It seems a shame that logDiagnosticMessage takes a String. If these are all string literals then why doesn’t it just take a const char*?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060603</commentid>
    <comment_count>3</comment_count>
      <attachid>244385</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-01-12 10:52:44 -0800</bug_when>
    <thetext>Comment on attachment 244385
Patch

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

&gt; Source/WebCore/page/DiagnosticLoggingKeys.h:46
&gt; +    static String navigationKey();

I think these should all be const char*. No reason to reference count all these string literals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060604</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-01-12 10:54:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 244385 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244385&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:1422
&gt; &gt; +    if (page-&gt;settings().diagnosticLoggingEnabled()) {
&gt; 
&gt; If settings() were hanging off the main frame, then we would not need to
&gt; involve the page at all. It would be way nicer if this was a main frame
&gt; thing and not a page thing.
&gt; 

Settings are ref-counted now, and each frame has a Settings object:

        Settings&amp; settings() const { return *m_settings; }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060621</commentid>
    <comment_count>5</comment_count>
      <attachid>244385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-12 12:23:38 -0800</bug_when>
    <thetext>Comment on attachment 244385
Patch

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

&gt;&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1422
&gt;&gt;&gt; +    if (page-&gt;settings().diagnosticLoggingEnabled()) {
&gt;&gt; 
&gt;&gt; If settings() were hanging off the main frame, then we would not need to involve the page at all. It would be way nicer if this was a main frame thing and not a page thing.
&gt; 
&gt; Settings are ref-counted now, and each frame has a Settings object:
&gt; 
&gt;         Settings&amp; settings() const { return *m_settings; }

Ok, I will get the settings from the MainFrame instead.

&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:1424
&gt;&gt; +            diagnosticLoggingClient-&gt;logDiagnosticMessage(DiagnosticLoggingKeys::navigationKey(), navigationDescription);
&gt; 
&gt; I’d name this local variable “client”, not “diagnosticLoggingClient” since its scope is just this tiny if statement.
&gt; 
&gt; I’d use auto* to avoid repeating the long type name.
&gt; 
&gt; It seems a shame that logDiagnosticMessage takes a String. If these are all string literals then why doesn’t it just take a const char*?

Yes, I think those can be const char*. Do you mind mind if I do this in a separate patch? There is quite a bit of existing code to update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060623</commentid>
    <comment_count>6</comment_count>
      <attachid>244455</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-12 12:26:39 -0800</bug_when>
    <thetext>Created attachment 244455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060672</commentid>
    <comment_count>7</comment_count>
      <attachid>244455</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-12 14:31:04 -0800</bug_when>
    <thetext>Comment on attachment 244455
Patch

Clearing flags on attachment: 244455

Committed r178298: &lt;http://trac.webkit.org/changeset/178298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060673</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-12 14:31:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060681</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-12 14:45:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 244385 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244385&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/DiagnosticLoggingKeys.h:46
&gt; &gt; +    static String navigationKey();
&gt; 
&gt; I think these should all be const char*. No reason to reference count all
&gt; these string literals.

In several cases, logDiagnosticMessage() is called with non-literals (http status codes constructed using String::number(), MIME types, ...). So the logDiagnosticMessage*() take Strings in arguments.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244385</attachid>
            <date>2015-01-09 16:10:51 -0800</date>
            <delta_ts>2015-01-12 12:26:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140323-20150109161056.patch</filename>
            <type>text/plain</type>
            <size>5793</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFlOTdlNGI4YjliZDU0
YWM0MDM4ZWIwZDk5ODA5YzBjNDViN2FkNi4uNjg3YmUyZmFlNGY0MDRhODg2NWJiNTZkOGYxOTJl
YmFkOTFkNDRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTAxLTA5ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nIG5hdmlnYXRpb24gdHlw
ZXMgdXNpbmcgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDMyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIExvZyBuYXZpZ2F0aW9uIHR5cGVzIHVzaW5nIERpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50IHRvIGhlbHAgdXMgdW5kZXJzdGFuZAorICAgICAgICB3aGF0IHR5
cGVzIG9mIG5hdmlnYXRpb25zIGFyZSBjb21tb24gYW5kIGdpdmUgdXMgYW4gZXN0aW1hdGUgb24g
dGhlCisgICAgICAgIHRvdGFsIG51bWJlciBvZiBuYXZpZ2F0aW9ucy4KKworICAgICAgICAqIGxv
YWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dOYXZpZ2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OmxvZ05hdmlnYXRpb25XaXRoRmVhdHVyZUNvdW50ZXIpOiBEZWxl
dGVkLgorICAgICAgICAqIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6bmF2aWdhdGlvbktleSk6CisgICAgICAg
ICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaDoKKwogMjAxNS0wMS0wOSAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJl
bW92ZSBvciB1c2UgVGltZWxpbmVBZ2VudCBSZXNvdXJjZSByZWxhdGVkIGV2ZW50IHR5cGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA2NmIwYzM0Mzg1Nzc4NWJiNjgz
NDEyMDhhMDczNjQzZTVmMjAzMTBhLi5kNDdhNDdhMDk3YTc3NTk3ZGZhY2FjY2FhOTdhN2M2OGYy
YWZhODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEzNzgsMzcg
KzEzNzgsNTMgQEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZChEb2N1bWVudExvYWRlciogbmV3RG9j
dW1lbnRMb2FkZXIpCiAgICAgbG9hZFdpdGhEb2N1bWVudExvYWRlcihuZXdEb2N1bWVudExvYWRl
ciwgdHlwZSwgMCwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMpOwogfQogCi1zdGF0
aWMgdm9pZCBsb2dOYXZpZ2F0aW9uV2l0aEZlYXR1cmVDb3VudGVyKFBhZ2UqIHBhZ2UsIEZyYW1l
TG9hZFR5cGUgdHlwZSkKK3N0YXRpYyB2b2lkIGxvZ05hdmlnYXRpb24oUGFnZSogcGFnZSwgRnJh
bWVMb2FkVHlwZSB0eXBlKQogewotICAgIGNvbnN0IGNoYXIqIGtleTsKKyAgICBpZiAoIXBhZ2Up
CisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0IGNoYXIqIGZlYXR1cmVDb3VudGVyS2V5Owor
ICAgIFN0cmluZyBuYXZpZ2F0aW9uRGVzY3JpcHRpb247CiAgICAgc3dpdGNoICh0eXBlKSB7CiAg
ICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpTdGFuZGFyZDoKLSAgICAgICAga2V5ID0gRmVhdHVyZUNv
dW50ZXJOYXZpZ2F0aW9uU3RhbmRhcmRLZXk7CisgICAgICAgIGZlYXR1cmVDb3VudGVyS2V5ID0g
RmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uU3RhbmRhcmRLZXk7CisgICAgICAgIG5hdmlnYXRpb25E
ZXNjcmlwdGlvbiA9IEFTQ0lJTGl0ZXJhbCgic3RhbmRhcmQiKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpCYWNrOgotICAgICAgICBrZXkgPSBGZWF0dXJlQ291bnRl
ck5hdmlnYXRpb25CYWNrS2V5OworICAgICAgICBmZWF0dXJlQ291bnRlcktleSA9IEZlYXR1cmVD
b3VudGVyTmF2aWdhdGlvbkJhY2tLZXk7CisgICAgICAgIG5hdmlnYXRpb25EZXNjcmlwdGlvbiA9
IEFTQ0lJTGl0ZXJhbCgiYmFjayIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZyYW1lTG9h
ZFR5cGU6OkZvcndhcmQ6Ci0gICAgICAgIGtleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvbkZv
cndhcmRLZXk7CisgICAgICAgIGZlYXR1cmVDb3VudGVyS2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZp
Z2F0aW9uRm9yd2FyZEtleTsKKyAgICAgICAgbmF2aWdhdGlvbkRlc2NyaXB0aW9uID0gQVNDSUlM
aXRlcmFsKCJmb3J3YXJkIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRnJhbWVMb2FkVHlw
ZTo6SW5kZXhlZEJhY2tGb3J3YXJkOgotICAgICAgICBrZXkgPSBGZWF0dXJlQ291bnRlck5hdmln
YXRpb25JbmRleGVkQmFja0ZvcndhcmRLZXk7CisgICAgICAgIGZlYXR1cmVDb3VudGVyS2V5ID0g
RmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uSW5kZXhlZEJhY2tGb3J3YXJkS2V5OworICAgICAgICBu
YXZpZ2F0aW9uRGVzY3JpcHRpb24gPSBBU0NJSUxpdGVyYWwoImluZGV4ZWRCYWNrRm9yd2FyZCIp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZDoKLSAgICAg
ICAga2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uUmVsb2FkS2V5OworICAgICAgICBmZWF0
dXJlQ291bnRlcktleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvblJlbG9hZEtleTsKKyAgICAg
ICAgbmF2aWdhdGlvbkRlc2NyaXB0aW9uID0gQVNDSUlMaXRlcmFsKCJyZWxvYWQiKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpTYW1lOgotICAgICAgICBrZXkgPSBG
ZWF0dXJlQ291bnRlck5hdmlnYXRpb25TYW1lS2V5OworICAgICAgICBmZWF0dXJlQ291bnRlcktl
eSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvblNhbWVLZXk7CisgICAgICAgIG5hdmlnYXRpb25E
ZXNjcmlwdGlvbiA9IEFTQ0lJTGl0ZXJhbCgic2FtZSIpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46Ci0gICAgICAgIGtleSA9IEZlYXR1
cmVDb3VudGVyTmF2aWdhdGlvblJlbG9hZEZyb21PcmlnaW5LZXk7CisgICAgICAgIGZlYXR1cmVD
b3VudGVyS2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uUmVsb2FkRnJvbU9yaWdpbktleTsK
KyAgICAgICAgbmF2aWdhdGlvbkRlc2NyaXB0aW9uID0gQVNDSUlMaXRlcmFsKCJyZWxvYWRGcm9t
T3JpZ2luIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRnJhbWVMb2FkVHlwZTo6UmVwbGFj
ZToKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJk
TGlzdDoKICAgICAgICAgLy8gTm90IGxvZ2dpbmcgdGhvc2UgZm9yIG5vdy4KICAgICAgICAgcmV0
dXJuOwogICAgIH0KLSAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5UX0tFWShwYWdlLCBrZXkp
OworICAgIGlmIChwYWdlLT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKSB7
CisgICAgICAgIGlmIChEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCogZGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQgPSBwYWdlLT5tYWluRnJhbWUoKS5kaWFnbm9zdGljTG9nZ2luZ0NsaWVudCgpKQorICAg
ICAgICAgICAgZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlKERp
YWdub3N0aWNMb2dnaW5nS2V5czo6bmF2aWdhdGlvbktleSgpLCBuYXZpZ2F0aW9uRGVzY3JpcHRp
b24pOworICAgIH0KKyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQgd29ya3Mgb24gaU9TLgorICAgIEZFQVRVUkVfQ09VTlRFUl9JTkNSRU1FTlRfS0VZKHBh
Z2UsIGZlYXR1cmVDb3VudGVyS2V5KTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhE
b2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyLCBGcmFtZUxvYWRUeXBlIHR5cGUs
IFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpCkBAIC0xNDMxLDcgKzE0NDcsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVy
KiBsb2FkZXIsIEZyYW1lTG9hZFR5cGUgdAogCiAgICAgLy8gTG9nIG1haW4gZnJhbWUgbmF2aWdh
dGlvbiB0eXBlcy4KICAgICBpZiAobV9mcmFtZS5pc01haW5GcmFtZSgpKQotICAgICAgICBsb2dO
YXZpZ2F0aW9uV2l0aEZlYXR1cmVDb3VudGVyKG1fZnJhbWUucGFnZSgpLCB0eXBlKTsKKyAgICAg
ICAgbG9nTmF2aWdhdGlvbihtX2ZyYW1lLnBhZ2UoKSwgdHlwZSk7CiAKICAgICBwb2xpY3lDaGVj
a2VyKCkuc2V0TG9hZFR5cGUodHlwZSk7CiAgICAgUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRl
ID0gcHJwRm9ybVN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2lu
Z0tleXMuY3BwCmluZGV4IDk5NjQ0N2NkNWY0MjM1NDczNTljZWVhZDEyZGFmOTliM2JkYTE4OTAu
LjY2ZWIyN2QzNjI1OTQ5YTJkYjU1ZDJkYzBmMzM5ODM2OTZlOTVhZWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5jcHAKQEAgLTkzLDUgKzkzLDEwIEBA
IFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmVuZ2luZUZhaWxlZFRvTG9hZEtleSgpCiAg
ICAgcmV0dXJuIFdURjo6QVNDSUlMaXRlcmFsKCJlbmdpbmVGYWlsZWRUb0xvYWQiKTsKIH0KIAor
V1RGOjpTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpuYXZpZ2F0aW9uS2V5KCkKK3sKKyAg
ICByZXR1cm4gV1RGOjpBU0NJSUxpdGVyYWwoIm5hdmlnYXRpb24iKTsKK30KKwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAppbmRleCBhZjYwNmRkMTZj
MGE3NTM2MzI3Y2YyZDJjOGEwNjY1YWYyOGJlZDdhLi4xZGY0MDIwNjE5YWEwOWRkNGJjMjA3N2Ni
ZWJkYTRiYmU2MGZkNTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0
aWNMb2dnaW5nS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dp
bmdLZXlzLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgcGFn
ZUNvbnRhaW5zQXRMZWFzdE9uZU1lZGlhRW5naW5lS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBw
YWdlTG9hZGVkS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xvYWRLZXko
KTsKKyAgICBzdGF0aWMgU3RyaW5nIG5hdmlnYXRpb25LZXkoKTsKIAogICAgIC8vIFN1Y2Nlc3Mg
a2V5cy4KICAgICBzdGF0aWMgU3RyaW5nIHBhc3NLZXkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244455</attachid>
            <date>2015-01-12 12:26:39 -0800</date>
            <delta_ts>2015-01-12 14:31:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140323-20150112122644.patch</filename>
            <type>text/plain</type>
            <size>5712</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4Mjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZiOWVhOTQ0MGE4NmVi
YmZiOWIzZWY2NDIxOWFmZDg2MWM5ZGU2ZC4uYTdkZjA3ZTNlMDI3YzhiMTE4MzBiNWM3YWVhNjMy
NzVkMTMxMjYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTAxLTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTG9nIG5hdmlnYXRpb24gdHlw
ZXMgdXNpbmcgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDMyMworCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIExvZyBuYXZpZ2F0aW9uIHR5cGVzIHVzaW5nIERpYWdub3N0
aWNMb2dnaW5nQ2xpZW50IHRvIGhlbHAgdXMgdW5kZXJzdGFuZAorICAgICAgICB3aGF0IHR5cGVz
IG9mIG5hdmlnYXRpb25zIGFyZSBjb21tb24gYW5kIGdpdmUgdXMgYW4gZXN0aW1hdGUgb24gdGhl
CisgICAgICAgIHRvdGFsIG51bWJlciBvZiBuYXZpZ2F0aW9ucy4KKworICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsb2dOYXZpZ2F0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OmxvZ05hdmlnYXRpb25XaXRoRmVhdHVyZUNvdW50ZXIpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nS2V5czo6bmF2aWdhdGlvbktleSk6CisgICAgICAgICog
cGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaDoKKwogMjAxNS0wMS0xMiAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBkZWZhdWx0UGxheWJhY2tSYXRlIG5vdCBy
ZXNwZWN0ZWQgd2hlbiBzZXQgYmVmb3JlIHNvdXJjZSBpcyBsb2FkZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDAxMThjNTAzMTM5NjBhNGY1NjJkYjIxOGRmZThhOTM5
NGJmZDg3ZjMuLmQ4YWE1YjZlZTdhZDFiNzdmNGM0N2JjMDk3OTQ2ZDY3Zjc3Y2ZhY2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTM3NywzNyArMTM3Nyw1MCBAQCB2
b2lkIEZyYW1lTG9hZGVyOjpsb2FkKERvY3VtZW50TG9hZGVyKiBuZXdEb2N1bWVudExvYWRlcikK
ICAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKG5ld0RvY3VtZW50TG9hZGVyLCB0eXBlLCAwLCBB
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKLXN0YXRpYyB2b2lkIGxvZ05h
dmlnYXRpb25XaXRoRmVhdHVyZUNvdW50ZXIoUGFnZSogcGFnZSwgRnJhbWVMb2FkVHlwZSB0eXBl
KQorc3RhdGljIHZvaWQgbG9nTmF2aWdhdGlvbihNYWluRnJhbWUmIGZyYW1lLCBGcmFtZUxvYWRU
eXBlIHR5cGUpCiB7Ci0gICAgY29uc3QgY2hhcioga2V5OworICAgIGNvbnN0IGNoYXIqIGZlYXR1
cmVDb3VudGVyS2V5OworICAgIFN0cmluZyBuYXZpZ2F0aW9uRGVzY3JpcHRpb247CiAgICAgc3dp
dGNoICh0eXBlKSB7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpTdGFuZGFyZDoKLSAgICAgICAg
a2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uU3RhbmRhcmRLZXk7CisgICAgICAgIGZlYXR1
cmVDb3VudGVyS2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uU3RhbmRhcmRLZXk7CisgICAg
ICAgIG5hdmlnYXRpb25EZXNjcmlwdGlvbiA9IEFTQ0lJTGl0ZXJhbCgic3RhbmRhcmQiKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpCYWNrOgotICAgICAgICBrZXkg
PSBGZWF0dXJlQ291bnRlck5hdmlnYXRpb25CYWNrS2V5OworICAgICAgICBmZWF0dXJlQ291bnRl
cktleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvbkJhY2tLZXk7CisgICAgICAgIG5hdmlnYXRp
b25EZXNjcmlwdGlvbiA9IEFTQ0lJTGl0ZXJhbCgiYmFjayIpOwogICAgICAgICBicmVhazsKICAg
ICBjYXNlIEZyYW1lTG9hZFR5cGU6OkZvcndhcmQ6Ci0gICAgICAgIGtleSA9IEZlYXR1cmVDb3Vu
dGVyTmF2aWdhdGlvbkZvcndhcmRLZXk7CisgICAgICAgIGZlYXR1cmVDb3VudGVyS2V5ID0gRmVh
dHVyZUNvdW50ZXJOYXZpZ2F0aW9uRm9yd2FyZEtleTsKKyAgICAgICAgbmF2aWdhdGlvbkRlc2Ny
aXB0aW9uID0gQVNDSUlMaXRlcmFsKCJmb3J3YXJkIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgRnJhbWVMb2FkVHlwZTo6SW5kZXhlZEJhY2tGb3J3YXJkOgotICAgICAgICBrZXkgPSBGZWF0
dXJlQ291bnRlck5hdmlnYXRpb25JbmRleGVkQmFja0ZvcndhcmRLZXk7CisgICAgICAgIGZlYXR1
cmVDb3VudGVyS2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uSW5kZXhlZEJhY2tGb3J3YXJk
S2V5OworICAgICAgICBuYXZpZ2F0aW9uRGVzY3JpcHRpb24gPSBBU0NJSUxpdGVyYWwoImluZGV4
ZWRCYWNrRm9yd2FyZCIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6
OlJlbG9hZDoKLSAgICAgICAga2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uUmVsb2FkS2V5
OworICAgICAgICBmZWF0dXJlQ291bnRlcktleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvblJl
bG9hZEtleTsKKyAgICAgICAgbmF2aWdhdGlvbkRlc2NyaXB0aW9uID0gQVNDSUlMaXRlcmFsKCJy
ZWxvYWQiKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGcmFtZUxvYWRUeXBlOjpTYW1lOgot
ICAgICAgICBrZXkgPSBGZWF0dXJlQ291bnRlck5hdmlnYXRpb25TYW1lS2V5OworICAgICAgICBm
ZWF0dXJlQ291bnRlcktleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvblNhbWVLZXk7CisgICAg
ICAgIG5hdmlnYXRpb25EZXNjcmlwdGlvbiA9IEFTQ0lJTGl0ZXJhbCgic2FtZSIpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlbG9hZEZyb21PcmlnaW46Ci0gICAg
ICAgIGtleSA9IEZlYXR1cmVDb3VudGVyTmF2aWdhdGlvblJlbG9hZEZyb21PcmlnaW5LZXk7Cisg
ICAgICAgIGZlYXR1cmVDb3VudGVyS2V5ID0gRmVhdHVyZUNvdW50ZXJOYXZpZ2F0aW9uUmVsb2Fk
RnJvbU9yaWdpbktleTsKKyAgICAgICAgbmF2aWdhdGlvbkRlc2NyaXB0aW9uID0gQVNDSUlMaXRl
cmFsKCJyZWxvYWRGcm9tT3JpZ2luIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRnJhbWVM
b2FkVHlwZTo6UmVwbGFjZToKICAgICBjYXNlIEZyYW1lTG9hZFR5cGU6OlJlZGlyZWN0V2l0aExv
Y2tlZEJhY2tGb3J3YXJkTGlzdDoKICAgICAgICAgLy8gTm90IGxvZ2dpbmcgdGhvc2UgZm9yIG5v
dy4KICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5U
X0tFWShwYWdlLCBrZXkpOworICAgIGlmIChmcmFtZS5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dn
aW5nRW5hYmxlZCgpKSB7CisgICAgICAgIGlmIChhdXRvKiBjbGllbnQgPSBmcmFtZS5kaWFnbm9z
dGljTG9nZ2luZ0NsaWVudCgpKQorICAgICAgICAgICAgY2xpZW50LT5sb2dEaWFnbm9zdGljTWVz
c2FnZShEaWFnbm9zdGljTG9nZ2luZ0tleXM6Om5hdmlnYXRpb25LZXkoKSwgbmF2aWdhdGlvbkRl
c2NyaXB0aW9uKTsKKyAgICB9CisgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50IHdvcmtzIG9uIGlPUy4KKyAgICBGRUFUVVJFX0NPVU5URVJfSU5DUkVNRU5U
X0tFWShmcmFtZS5wYWdlKCksIGZlYXR1cmVDb3VudGVyS2V5KTsKIH0KIAogdm9pZCBGcmFtZUxv
YWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyLCBGcmFt
ZUxvYWRUeXBlIHR5cGUsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUsIEFsbG93
TmF2aWdhdGlvblRvSW52YWxpZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpCkBAIC0x
NDMwLDcgKzE0NDMsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVy
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIEZyYW1lTG9hZFR5cGUgdAogCiAgICAgLy8gTG9nIG1h
aW4gZnJhbWUgbmF2aWdhdGlvbiB0eXBlcy4KICAgICBpZiAobV9mcmFtZS5pc01haW5GcmFtZSgp
KQotICAgICAgICBsb2dOYXZpZ2F0aW9uV2l0aEZlYXR1cmVDb3VudGVyKG1fZnJhbWUucGFnZSgp
LCB0eXBlKTsKKyAgICAgICAgbG9nTmF2aWdhdGlvbihzdGF0aWNfY2FzdDxNYWluRnJhbWUmPiht
X2ZyYW1lKSwgdHlwZSk7CiAKICAgICBwb2xpY3lDaGVja2VyKCkuc2V0TG9hZFR5cGUodHlwZSk7
CiAgICAgUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlID0gcHJwRm9ybVN0YXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCmluZGV4IDk5NjQ0N2Nk
NWY0MjM1NDczNTljZWVhZDEyZGFmOTliM2JkYTE4OTAuLjY2ZWIyN2QzNjI1OTQ5YTJkYjU1ZDJk
YzBmMzM5ODM2OTZlOTVhZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nS2V5cy5jcHAKQEAgLTkzLDUgKzkzLDEwIEBAIFN0cmluZyBEaWFnbm9zdGljTG9nZ2lu
Z0tleXM6OmVuZ2luZUZhaWxlZFRvTG9hZEtleSgpCiAgICAgcmV0dXJuIFdURjo6QVNDSUlMaXRl
cmFsKCJlbmdpbmVGYWlsZWRUb0xvYWQiKTsKIH0KIAorV1RGOjpTdHJpbmcgRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzOjpuYXZpZ2F0aW9uS2V5KCkKK3sKKyAgICByZXR1cm4gV1RGOjpBU0NJSUxpdGVy
YWwoIm5hdmlnYXRpb24iKTsKK30KKwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0tleXMuaAppbmRleCBhZjYwNmRkMTZjMGE3NTM2MzI3Y2YyZDJjOGEwNjY1YWYy
OGJlZDdhLi4xZGY0MDIwNjE5YWEwOWRkNGJjMjA3N2NiZWJkYTRiYmU2MGZkNTg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmgKQEAgLTQzLDYgKzQzLDcg
QEAgcHVibGljOgogICAgIHN0YXRpYyBTdHJpbmcgcGFnZUNvbnRhaW5zQXRMZWFzdE9uZU1lZGlh
RW5naW5lS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBwYWdlTG9hZGVkS2V5KCk7CiAgICAgc3Rh
dGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xvYWRLZXkoKTsKKyAgICBzdGF0aWMgU3RyaW5nIG5h
dmlnYXRpb25LZXkoKTsKIAogICAgIC8vIFN1Y2Nlc3Mga2V5cy4KICAgICBzdGF0aWMgU3RyaW5n
IHBhc3NLZXkoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>