| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "config.h" |
| 6 #include "core/fetch/InspectorFetchTraceEvents.h" |
| 7 |
| 8 #include "bindings/core/v8/ScriptCallStackFactory.h" |
| 9 #include "platform/TraceEvent.h" |
| 10 #include "platform/TracedValue.h" |
| 11 #include "platform/network/ResourceRequest.h" |
| 12 #include "platform/network/ResourceResponse.h" |
| 13 |
| 14 namespace blink { |
| 15 |
| 16 namespace { |
| 17 |
| 18 void setCallStack(TracedValue* value) |
| 19 { |
| 20 static const unsigned char* traceCategoryEnabled = 0; |
| 21 WTF_ANNOTATE_BENIGN_RACE(&traceCategoryEnabled, "trace_event category"); |
| 22 if (!traceCategoryEnabled) |
| 23 traceCategoryEnabled = TRACE_EVENT_API_GET_CATEGORY_GROUP_ENABLED(TRACE_
DISABLED_BY_DEFAULT("devtools.timeline.stack")); |
| 24 if (!*traceCategoryEnabled) |
| 25 return; |
| 26 RefPtrWillBeRawPtr<ScriptCallStack> scriptCallStack = currentScriptCallStack
(ScriptCallStack::maxCallStackSizeToCapture); |
| 27 if (scriptCallStack) |
| 28 scriptCallStack->toTracedValue(value, "stackTrace"); |
| 29 } |
| 30 |
| 31 } // namespace |
| 32 |
| 33 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorSendRequestEvent::data
(unsigned long identifier, const ResourceRequest& request) |
| 34 { |
| 35 RefPtr<TracedValue> value = TracedValue::create(); |
| 36 value->setString("requestId", String::number(identifier)); |
| 37 value->setString("url", request.url().string()); |
| 38 value->setString("requestMethod", request.httpMethod()); |
| 39 setCallStack(value.get()); |
| 40 return value.release(); |
| 41 } |
| 42 |
| 43 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorReceiveResponseEvent::
data(unsigned long identifier, const ResourceResponse& response) |
| 44 { |
| 45 RefPtr<TracedValue> value = TracedValue::create(); |
| 46 value->setString("requestId", String::number(identifier)); |
| 47 value->setInteger("statusCode", response.httpStatusCode()); |
| 48 value->setString("mimeType", response.mimeType().string().isolatedCopy()); |
| 49 return value.release(); |
| 50 } |
| 51 |
| 52 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorReceiveDataEvent::data
(unsigned long identifier, int encodedDataLength) |
| 53 { |
| 54 RefPtr<TracedValue> value = TracedValue::create(); |
| 55 value->setString("requestId", String::number(identifier)); |
| 56 value->setInteger("encodedDataLength", encodedDataLength); |
| 57 return value.release(); |
| 58 } |
| 59 |
| 60 PassRefPtr<TraceEvent::ConvertableToTraceFormat> InspectorResourceFinishEvent::d
ata(unsigned long identifier, double finishTime, bool didFail) |
| 61 { |
| 62 RefPtr<TracedValue> value = TracedValue::create(); |
| 63 value->setString("requestId", String::number(identifier)); |
| 64 value->setBoolean("didFail", didFail); |
| 65 if (finishTime) |
| 66 value->setDouble("networkTime", finishTime); |
| 67 return value.release(); |
| 68 } |
| 69 |
| 70 } // namespace blink |
| OLD | NEW |