WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-105528-20130314132115.patch (text/plain), 24.01 KB, created by
pdeng6
on 2013-03-13 22:18:05 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
pdeng6
Created:
2013-03-13 22:18:05 PDT
Size:
24.01 KB
patch
obsolete
>Subversion Revision: 145780 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index a41ddea17bcb29862cc9fc7c8a28bdae74be9ebd..7fde4d916384c70d26ad1397edc5ac7b315f874d 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,45 @@ >+2013-03-13 Pan Deng <pan.deng@intel.com> >+ >+ [Timeline] Add WebSocket SendFrame, ReceiveFrame and FrameError to Timeline panel. >+ https://bugs.webkit.org/show_bug.cgi?id=105528. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This patch add WebSocketSendFrame, WebSocketReceiveFrame and WebSocketReceiveFrameError to Timeline panel, the websocket >+ url and limited frame data can be shown in Popup. >+ >+ Layout test is updated in http/tests/inspector/websocket/timeline-websocket-event.html >+ >+ * English.lproj/localizedStrings.js: >+ * inspector/InspectorInstrumentation.cpp: >+ (WebCore): >+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl): Add Timeline instrumentation. >+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl): Ditto. >+ (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl): Ditto >+ * inspector/InspectorInstrumentation.h: >+ (InspectorInstrumentation): >+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame): >+ (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError): >+ (WebCore::InspectorInstrumentation::didSendWebSocketFrame): >+ * inspector/InspectorTimelineAgent.cpp: >+ (TimelineRecordType): >+ (WebCore): >+ (WebCore::InspectorTimelineAgent::didReceiveWebSocketFrame): >+ (WebCore::InspectorTimelineAgent::didSendWebSocketFrame): >+ (WebCore::InspectorTimelineAgent::didReceiveWebSocketFrameError): >+ * inspector/InspectorTimelineAgent.h: >+ (WebCore): >+ (InspectorTimelineAgent): >+ * inspector/TimelineRecordFactory.h: >+ (TimelineRecordFactory): >+ (WebCore::TimelineRecordFactory::createWebSocketFrameData): >+ (WebCore::TimelineRecordFactory::createWebSocketFrameErrorData): >+ * inspector/front-end/TimelineModel.js: Add record types. >+ * inspector/front-end/TimelinePresentationModel.js: >+ (WebInspector.TimelinePresentationModel._initRecordStyles): >+ (WebInspector.TimelinePresentationModel.Record): >+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): Add props to popup. >+ > 2013-03-13 Rafael Weinstein <rafaelw@chromium.org> > > [HTMLTemplateElement] EOF should unwind the stack of template insertion modes iteratively >diff --git a/Source/WebCore/English.lproj/localizedStrings.js b/Source/WebCore/English.lproj/localizedStrings.js >index bd306f1770b1c1a17ef96d96f33ece2256bed1d6..ae9358e47a111c7f6b292684c4a26a75335ab41e 100644 >--- a/Source/WebCore/English.lproj/localizedStrings.js >+++ b/Source/WebCore/English.lproj/localizedStrings.js >@@ -873,6 +873,11 @@ localizedStrings["Create WebSocket"] = "Create WebSocket"; > localizedStrings["Send WebSocket Handshake"] = "Send WebSocket Handshake"; > localizedStrings["Receive WebSocket Handshake"] = "Receive WebSocket Handshake"; > localizedStrings["Destroy WebSocket"] = "Destroy WebSocket"; >+localizedStrings["Send WebSocket Frame"] = "Send WebSocket Frame"; >+localizedStrings["Receive WebSocket Frame"] = "Receive WebSocket Frame"; >+localizedStrings["Receive WebSocket Frame Error"] = "Receive WebSocket Frame Error"; >+localizedStrings["Error Message"] = "Error Message"; >+localizedStrings["Frame Data"] = "Frame Data"; > localizedStrings["Split panels vertically when docked to right"] = "Split panels vertically when docked to right"; > localizedStrings["(no domain)"] = "(no domain)"; > localizedStrings["This file was changed externally. Would you like to reload it?"] = "This file was changed externally. Would you like to reload it?"; >diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp >index ff0f0b863c6f9cef9ed0ae18d9861f7ec8389bd9..4864024300bc88d87d062480001ada72bfb5e8d9 100644 >--- a/Source/WebCore/inspector/InspectorInstrumentation.cpp >+++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp >@@ -1193,20 +1193,28 @@ void InspectorInstrumentation::didCloseWebSocketImpl(InstrumentingAgents* instru > timelineAgent->didDestroyWebSocket(identifier, document->frame()); > } > >-void InspectorInstrumentation::didReceiveWebSocketFrameImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const WebSocketFrame& frame) >+void InspectorInstrumentation::didReceiveWebSocketFrameImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const WebSocketFrame& frame, Document* document) > { > if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent()) > resourceAgent->didReceiveWebSocketFrame(identifier, frame); >+ if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent()) >+ timelineAgent->didReceiveWebSocketFrame(identifier, frame, document->frame()); > } >-void InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const String& errorMessage) >+ >+void InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const String& errorMessage, Document* document) > { > if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent()) > resourceAgent->didReceiveWebSocketFrameError(identifier, errorMessage); >+ if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent()) >+ timelineAgent->didReceiveWebSocketFrameError(identifier, errorMessage, document->frame()); > } >-void InspectorInstrumentation::didSendWebSocketFrameImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const WebSocketFrame& frame) >+ >+void InspectorInstrumentation::didSendWebSocketFrameImpl(InstrumentingAgents* instrumentingAgents, unsigned long identifier, const WebSocketFrame& frame, Document* document) > { > if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent()) > resourceAgent->didSendWebSocketFrame(identifier, frame); >+ if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent()) >+ timelineAgent->didSendWebSocketFrame(identifier, frame, document->frame()); > } > #endif > >diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h >index b4a8322d13f77c1bc5f4b8b53ab455633984d64d..960fb916803c8ddf6cb4a2b2f341369943065a65 100644 >--- a/Source/WebCore/inspector/InspectorInstrumentation.h >+++ b/Source/WebCore/inspector/InspectorInstrumentation.h >@@ -471,9 +471,9 @@ private: > static void willSendWebSocketHandshakeRequestImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketHandshakeRequest&, Document*); > static void didReceiveWebSocketHandshakeResponseImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketHandshakeResponse&, Document*); > static void didCloseWebSocketImpl(InstrumentingAgents*, unsigned long identifier, Document*); >- static void didReceiveWebSocketFrameImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketFrame&); >- static void didSendWebSocketFrameImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketFrame&); >- static void didReceiveWebSocketFrameErrorImpl(InstrumentingAgents*, unsigned long identifier, const String&); >+ static void didReceiveWebSocketFrameImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketFrame&, Document*); >+ static void didSendWebSocketFrameImpl(InstrumentingAgents*, unsigned long identifier, const WebSocketFrame&, Document*); >+ static void didReceiveWebSocketFrameErrorImpl(InstrumentingAgents*, unsigned long identifier, const String&, Document*); > #endif > > static void networkStateChangedImpl(InstrumentingAgents*); >@@ -1884,7 +1884,7 @@ inline void InspectorInstrumentation::didReceiveWebSocketFrame(Document* documen > { > #if ENABLE(INSPECTOR) > if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(document)) >- didReceiveWebSocketFrameImpl(instrumentingAgents, identifier, frame); >+ didReceiveWebSocketFrameImpl(instrumentingAgents, identifier, frame, document); > #else > UNUSED_PARAM(document); > UNUSED_PARAM(identifier); >@@ -1895,7 +1895,7 @@ inline void InspectorInstrumentation::didReceiveWebSocketFrameError(Document* do > { > #if ENABLE(INSPECTOR) > if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(document)) >- didReceiveWebSocketFrameErrorImpl(instrumentingAgents, identifier, errorMessage); >+ didReceiveWebSocketFrameErrorImpl(instrumentingAgents, identifier, errorMessage, document); > #else > UNUSED_PARAM(document); > UNUSED_PARAM(identifier); >@@ -1906,7 +1906,7 @@ inline void InspectorInstrumentation::didSendWebSocketFrame(Document* document, > { > #if ENABLE(INSPECTOR) > if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForDocument(document)) >- didSendWebSocketFrameImpl(instrumentingAgents, identifier, frame); >+ didSendWebSocketFrameImpl(instrumentingAgents, identifier, frame, document); > #else > UNUSED_PARAM(document); > UNUSED_PARAM(identifier); >diff --git a/Source/WebCore/inspector/InspectorTimelineAgent.cpp b/Source/WebCore/inspector/InspectorTimelineAgent.cpp >index 0288b0418c60ab11bfa8c7eea20dc5cc43155a3d..6a673d371d7862c81a38256fdfcd0caa9296db1d 100644 >--- a/Source/WebCore/inspector/InspectorTimelineAgent.cpp >+++ b/Source/WebCore/inspector/InspectorTimelineAgent.cpp >@@ -117,6 +117,10 @@ static const char WebSocketCreate[] = "WebSocketCreate"; > static const char WebSocketSendHandshakeRequest[] = "WebSocketSendHandshakeRequest"; > static const char WebSocketReceiveHandshakeResponse[] = "WebSocketReceiveHandshakeResponse"; > static const char WebSocketDestroy[] = "WebSocketDestroy"; >+static const char WebSocketReceiveFrame[] = "WebSocketReceiveFrame"; >+static const char WebSocketSendFrame[] = "WebSocketSendFrame"; >+static const char WebSocketReceiveFrameError[] = "WebSocketReceiveFrameError"; >+ > > // Event names visible to other modules. > const char Rasterize[] = "Rasterize"; >@@ -530,6 +534,22 @@ void InspectorTimelineAgent::didDestroyWebSocket(unsigned long identifier, Frame > { > appendRecord(TimelineRecordFactory::createGenericWebSocketData(identifier), TimelineRecordType::WebSocketDestroy, true, frame); > } >+ >+void InspectorTimelineAgent::didReceiveWebSocketFrame(unsigned long identifier, const WebSocketFrame& websocketFrame, Frame* frame) >+{ >+ appendRecord(TimelineRecordFactory::createWebSocketFrameData(identifier, websocketFrame), TimelineRecordType::WebSocketReceiveFrame, true, frame); >+} >+ >+void InspectorTimelineAgent::didSendWebSocketFrame(unsigned long identifier, const WebSocketFrame& websocketFrame, Frame* frame) >+{ >+ appendRecord(TimelineRecordFactory::createWebSocketFrameData(identifier, websocketFrame), TimelineRecordType::WebSocketSendFrame, true, frame); >+} >+ >+void InspectorTimelineAgent::didReceiveWebSocketFrameError(unsigned long identifier, const String& errorMessage, Frame* frame) >+{ >+ appendRecord(TimelineRecordFactory::createWebSocketFrameErrorData(identifier, errorMessage), TimelineRecordType::WebSocketReceiveFrameError, true, frame); >+} >+ > #endif // ENABLE(WEB_SOCKETS) > > void InspectorTimelineAgent::addRecordToTimeline(PassRefPtr<InspectorObject> record, const String& type) >diff --git a/Source/WebCore/inspector/InspectorTimelineAgent.h b/Source/WebCore/inspector/InspectorTimelineAgent.h >index e1ccc26c7ee80bd205a6fb85217a6e882c419bcb..09d4dc4a82dd4a8e50370caed9f247ba1d029377 100644 >--- a/Source/WebCore/inspector/InspectorTimelineAgent.h >+++ b/Source/WebCore/inspector/InspectorTimelineAgent.h >@@ -60,6 +60,7 @@ class RenderObject; > class ResourceRequest; > class ResourceResponse; > class TimelineTraceEventProcessor; >+class WebSocketFrame; > > typedef String ErrorString; > >@@ -169,6 +170,9 @@ public: > void willSendWebSocketHandshakeRequest(unsigned long identifier, Frame*); > void didReceiveWebSocketHandshakeResponse(unsigned long identifier, Frame*); > void didDestroyWebSocket(unsigned long identifier, Frame*); >+ void didReceiveWebSocketFrame(unsigned long identifier, const WebSocketFrame&, Frame*); >+ void didSendWebSocketFrame(unsigned long identifier, const WebSocketFrame&, Frame*); >+ void didReceiveWebSocketFrameError(unsigned long identifier, const String&, Frame*); > #endif > > // ScriptGCEventListener methods. >diff --git a/Source/WebCore/inspector/TimelineRecordFactory.h b/Source/WebCore/inspector/TimelineRecordFactory.h >index 092564931c8c49dda37fdacdb8fa4d0866c0f1c6..e5a67c913b8eaf8ea50fe0fc69905c3765810e8f 100644 >--- a/Source/WebCore/inspector/TimelineRecordFactory.h >+++ b/Source/WebCore/inspector/TimelineRecordFactory.h >@@ -34,8 +34,10 @@ > #include "InspectorValues.h" > #include "KURL.h" > #include "LayoutRect.h" >+#include "WebSocketFrame.h" > #include <wtf/Forward.h> > #include <wtf/text/WTFString.h> >+#include <wtf/unicode/CharacterNames.h> > > namespace WebCore { > >@@ -107,6 +109,29 @@ namespace WebCore { > data->setNumber("identifier", identifier); > return data.release(); > } >+ >+ static inline PassRefPtr<InspectorObject> createWebSocketFrameData(unsigned long identifier, const WebSocketFrame& frame) >+ { >+ static size_t maxFrameDataLength = 50; >+ String frameData = String(frame.payload, frame.payloadLength); >+ if (frame.payloadLength > maxFrameDataLength) { >+ frameData.substring(0, maxFrameDataLength); >+ frameData.append(horizontalEllipsis); >+ } >+ >+ RefPtr<InspectorObject> data = InspectorObject::create(); >+ data->setNumber("identifier", identifier); >+ data->setString("webSocketFrame", frameData); >+ return data.release(); >+ } >+ >+ static inline PassRefPtr<InspectorObject> createWebSocketFrameErrorData(unsigned long identifier, const String& errorMessage) >+ { >+ RefPtr<InspectorObject> data = InspectorObject::create(); >+ data->setNumber("identifier", identifier); >+ data->setString("errorMessage", errorMessage); >+ return data.release(); >+ } > #endif > static PassRefPtr<InspectorObject> createRasterData(double totalCPUTime, int threadsUsed); > >diff --git a/Source/WebCore/inspector/front-end/TimelineModel.js b/Source/WebCore/inspector/front-end/TimelineModel.js >index 3e5ade168c8622e054eb071b3dc431c88b314529..fc1ac68fdc48779772a77a02cfdc0ae157de4b03 100644 >--- a/Source/WebCore/inspector/front-end/TimelineModel.js >+++ b/Source/WebCore/inspector/front-end/TimelineModel.js >@@ -96,6 +96,9 @@ WebInspector.TimelineModel.RecordType = { > WebSocketSendHandshakeRequest : "WebSocketSendHandshakeRequest", > WebSocketReceiveHandshakeResponse : "WebSocketReceiveHandshakeResponse", > WebSocketDestroy : "WebSocketDestroy", >+ WebSocketSendFrame : "WebSocketSendFrame", >+ WebSocketReceiveFrame : "WebSocketReceiveFrame", >+ WebSocketReceiveFrameError : "WebSocketReceiveFrameError", > } > > WebInspector.TimelineModel.Events = { >diff --git a/Source/WebCore/inspector/front-end/TimelinePresentationModel.js b/Source/WebCore/inspector/front-end/TimelinePresentationModel.js >index 50d40b9bf1af7038932abf8e3e19308395d6921d..fe0fea63d49e5594ecd38d8a6433584b8fc13a49 100644 >--- a/Source/WebCore/inspector/front-end/TimelinePresentationModel.js >+++ b/Source/WebCore/inspector/front-end/TimelinePresentationModel.js >@@ -107,6 +107,9 @@ WebInspector.TimelinePresentationModel._initRecordStyles = function() > recordStyles[recordTypes.WebSocketSendHandshakeRequest] = { title: WebInspector.UIString("Send WebSocket Handshake"), category: categories["scripting"] }; > recordStyles[recordTypes.WebSocketReceiveHandshakeResponse] = { title: WebInspector.UIString("Receive WebSocket Handshake"), category: categories["scripting"] }; > recordStyles[recordTypes.WebSocketDestroy] = { title: WebInspector.UIString("Destroy WebSocket"), category: categories["scripting"] }; >+ recordStyles[recordTypes.WebSocketSendFrame] = { title: WebInspector.UIString("Send WebSocket Frame"), category: categories["scripting"] }; >+ recordStyles[recordTypes.WebSocketReceiveFrame] = { title: WebInspector.UIString("Receive WebSocket Frame"), category: categories["scripting"] }; >+ recordStyles[recordTypes.WebSocketReceiveFrameError] = { title: WebInspector.UIString("Receive WebSocket Frame Error"), category: categories["scripting"] }; > > WebInspector.TimelinePresentationModel._recordStylesMap = recordStyles; > return recordStyles; >@@ -751,12 +754,17 @@ WebInspector.TimelinePresentationModel.Record = function(presentationModel, reco > case recordTypes.WebSocketSendHandshakeRequest: > case recordTypes.WebSocketReceiveHandshakeResponse: > case recordTypes.WebSocketDestroy: >+ case recordTypes.WebSocketSendFrame: >+ case recordTypes.WebSocketReceiveFrame: >+ case recordTypes.WebSocketReceiveFrameError: > var webSocketCreateRecord = presentationModel._webSocketCreateRecords[record.data["identifier"]]; > if (webSocketCreateRecord) { // False if we started instrumentation in the middle of request. > this.webSocketURL = webSocketCreateRecord.webSocketURL; > if (typeof webSocketCreateRecord.webSocketProtocol !== "undefined") > this.webSocketProtocol = webSocketCreateRecord.webSocketProtocol; > } >+ this.webSocketFrame = record.data["webSocketFrame"]; >+ this.webSocketFrameErrorMessage = record.data["errorMessage"]; > break; > } > } >@@ -1045,13 +1053,20 @@ WebInspector.TimelinePresentationModel.Record.prototype = { > case recordTypes.WebSocketSendHandshakeRequest: > case recordTypes.WebSocketReceiveHandshakeResponse: > case recordTypes.WebSocketDestroy: >+ case recordTypes.WebSocketSendFrame: >+ case recordTypes.WebSocketReceiveFrame: >+ case recordTypes.WebSocketReceiveFrameError: > if (typeof this.webSocketURL !== "undefined") > contentHelper.appendTextRow(WebInspector.UIString("URL"), this.webSocketURL); > if (typeof this.webSocketProtocol !== "undefined") > contentHelper.appendTextRow(WebInspector.UIString("WebSocket Protocol"), this.webSocketProtocol); > if (typeof this.data["message"] !== "undefined") > contentHelper.appendTextRow(WebInspector.UIString("Message"), this.data["message"]) >- break; >+ if (typeof this.webSocketFrame !== "undefined") >+ contentHelper.appendTextRow(WebInspector.UIString("Frame Data"), this.webSocketFrame); >+ if (typeof this.webSocketFrameErrorMessage !== "undefined") >+ contentHelper.appendTextRow(WebInspector.UIString("Error Message"), this.webSocketFrameErrorMessage); >+ break; > default: > if (this.detailsNode()) > contentHelper.appendElementRow(WebInspector.UIString("Details"), this.detailsNode().childNodes[1].cloneNode()); >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 5c105d1005228a7d8a128dca18aeee188c07ac53..7a32e72a70ac2a37b9bd786527ce2aedb4e7d309 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,17 @@ >+2013-03-13 Pan Deng <pan.deng@intel.com> >+ >+ [Timeline] Add WebSocket SendFrame, ReceiveFrame and FrameError to Timeline panel. >+ https://bugs.webkit.org/show_bug.cgi?id=105528. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add WebSocketSendFrame, WebSocketReceiveFrame record to print, and the expected file. >+ >+ * http/tests/inspector/timeline-test.js: >+ * http/tests/inspector/websocket/timeline-websocket-event-expected.txt: >+ * http/tests/inspector/websocket/timeline-websocket-event.html: >+ * inspector/timeline/timeline-enum-stability-expected.txt: >+ > 2013-03-13 Dean Jackson <dino@apple.com> > > [WebGL] array-bounds-clamping should use less dramatic numbers >diff --git a/LayoutTests/http/tests/inspector/timeline-test.js b/LayoutTests/http/tests/inspector/timeline-test.js >index 4e1f72446a9817d5a461b00880819a762211a0d9..0c3021a7d7eafb0a2656cc142fed6ac5a39b09de 100644 >--- a/LayoutTests/http/tests/inspector/timeline-test.js >+++ b/LayoutTests/http/tests/inspector/timeline-test.js >@@ -21,7 +21,9 @@ InspectorTest.timelinePropertyFormatters = { > lineNumber: "formatAsTypeName", > frameId: "formatAsTypeName", > encodedDataLength: "formatAsTypeName", >- identifier: "formatAsTypeName" >+ identifier: "formatAsTypeName", >+ webSocketFrame: "formatAsTypeName", >+ errorMessage: "formatAsTypeName" > }; > > InspectorTest.startTimeline = function(callback) >diff --git a/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event-expected.txt b/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event-expected.txt >index 9f4f0d924d5d37dd800bbc1667a3361ded1ff019..a57145fbdc942a4c89d060111148f0b49f496058 100644 >--- a/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event-expected.txt >+++ b/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event-expected.txt >@@ -35,6 +35,42 @@ WebSocketReceiveHandshakeResponse Properties: > type : "WebSocketReceiveHandshakeResponse" > usedHeapSize : <number> > } >+WebSocketSendFrame Properties: >+{ >+ counters : <object> >+ data : { >+ identifier : <number> >+ webSocketFrame : <string> >+ } >+ frameId : <string> >+ startTime : <number> >+ type : "WebSocketSendFrame" >+ usedHeapSize : <number> >+} >+WebSocketReceiveFrame Properties: >+{ >+ counters : <object> >+ data : { >+ identifier : <number> >+ webSocketFrame : <string> >+ } >+ frameId : <string> >+ startTime : <number> >+ type : "WebSocketReceiveFrame" >+ usedHeapSize : <number> >+} >+WebSocketReceiveFrame Properties: >+{ >+ counters : <object> >+ data : { >+ identifier : <number> >+ webSocketFrame : <string> >+ } >+ frameId : <string> >+ startTime : <number> >+ type : "WebSocketReceiveFrame" >+ usedHeapSize : <number> >+} > WebSocketDestroy Properties: > { > counters : <object> >diff --git a/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event.html b/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event.html >index 447760ad4405c4d8f294bc8164f503f2ec36a436..28c2912132d9a7bb64cb9b82c8e9c0bc411c477e 100644 >--- a/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event.html >+++ b/LayoutTests/http/tests/inspector/websocket/timeline-websocket-event.html >@@ -24,6 +24,8 @@ function test() > InspectorTest.printTimelineRecords("WebSocketCreate"); > InspectorTest.printTimelineRecords("WebSocketSendHandshakeRequest"); > InspectorTest.printTimelineRecords("WebSocketReceiveHandshakeResponse"); >+ InspectorTest.printTimelineRecords("WebSocketSendFrame"); >+ InspectorTest.printTimelineRecords("WebSocketReceiveFrame"); > InspectorTest.printTimelineRecords("WebSocketDestroy"); > InspectorTest.completeTest(); > } >diff --git a/LayoutTests/inspector/timeline/timeline-enum-stability-expected.txt b/LayoutTests/inspector/timeline/timeline-enum-stability-expected.txt >index f253de572ff1997ef17dc534a6dc4883c891b736..30cc4f3acd1b6c96a8e9da1b1d0f3c88050772b3 100644 >--- a/LayoutTests/inspector/timeline/timeline-enum-stability-expected.txt >+++ b/LayoutTests/inspector/timeline/timeline-enum-stability-expected.txt >@@ -39,7 +39,10 @@ Applications outside of WebKit depend on the stability of the mapping of these t > TimerRemove : "TimerRemove" > WebSocketCreate : "WebSocketCreate" > WebSocketDestroy : "WebSocketDestroy" >+ WebSocketReceiveFrame : "WebSocketReceiveFrame" >+ WebSocketReceiveFrameError : "WebSocketReceiveFrameError" > WebSocketReceiveHandshakeResponse : "WebSocketReceiveHandshakeResponse" >+ WebSocketSendFrame : "WebSocketSendFrame" > WebSocketSendHandshakeRequest : "WebSocketSendHandshakeRequest" > XHRLoad : "XHRLoad" > XHRReadyStateChange : "XHRReadyStateChange"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
pfeldman
:
review-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 105528
:
193046
|
193048
| 193066