Commit 846b20ae authored by David Maunder's avatar David Maunder Committed by Commit Bot

Add TraceEvent.scoped to serialization in CriticalPersistedTabData

Bug: 1119856
Change-Id: Id9f07fb02232d8a6ed7cfedf2c144e6e3c3a82c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2372923Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
Commit-Queue: David Maunder <davidjm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802066}
parent b6d0e4eb
...@@ -15,6 +15,7 @@ import com.google.protobuf.InvalidProtocolBufferException; ...@@ -15,6 +15,7 @@ import com.google.protobuf.InvalidProtocolBufferException;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.ObserverList; import org.chromium.base.ObserverList;
import org.chromium.base.TraceEvent;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tab.TabLaunchType;
import org.chromium.chrome.browser.tab.WebContentsState; import org.chromium.chrome.browser.tab.WebContentsState;
...@@ -207,7 +208,7 @@ public class CriticalPersistedTabData extends PersistedTabData { ...@@ -207,7 +208,7 @@ public class CriticalPersistedTabData extends PersistedTabData {
@Override @Override
boolean deserialize(@Nullable byte[] bytes) { boolean deserialize(@Nullable byte[] bytes) {
try { try (TraceEvent e = TraceEvent.scoped("CriticalPersistedTabData.Deserialize")) {
CriticalPersistedTabDataProto criticalPersistedTabDataProto = CriticalPersistedTabDataProto criticalPersistedTabDataProto =
CriticalPersistedTabDataProto.parseFrom(bytes); CriticalPersistedTabDataProto.parseFrom(bytes);
mParentId = criticalPersistedTabDataProto.getParentId(); mParentId = criticalPersistedTabDataProto.getParentId();
...@@ -354,24 +355,26 @@ public class CriticalPersistedTabData extends PersistedTabData { ...@@ -354,24 +355,26 @@ public class CriticalPersistedTabData extends PersistedTabData {
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
@Override @Override
public byte[] serialize() { public byte[] serialize() {
WebContentsState webContentsState = mWebContentsState; try (TraceEvent e = TraceEvent.scoped("CriticalPersistedTabData.Serialize")) {
if (webContentsState == null) { WebContentsState webContentsState = mWebContentsState;
webContentsState = getWebContentsStateFromTab(mTab); if (webContentsState == null) {
webContentsState = getWebContentsStateFromTab(mTab);
}
return CriticalPersistedTabDataProto.newBuilder()
.setParentId(mParentId)
.setRootId(mRootId)
.setTimestampMillis(mTimestampMillis)
.setWebContentsStateBytes(webContentsState == null
? ByteString.EMPTY
: ByteString.copyFrom(
getContentStateByteArray(webContentsState.buffer())))
.setContentStateVersion(mContentStateVersion)
.setOpenerAppId(mOpenerAppId)
.setThemeColor(mThemeColor)
.setLaunchTypeAtCreation(getLaunchType(mTabLaunchTypeAtCreation))
.build()
.toByteArray();
} }
return CriticalPersistedTabDataProto.newBuilder()
.setParentId(mParentId)
.setRootId(mRootId)
.setTimestampMillis(mTimestampMillis)
.setWebContentsStateBytes(webContentsState == null
? ByteString.EMPTY
: ByteString.copyFrom(
getContentStateByteArray(webContentsState.buffer())))
.setContentStateVersion(mContentStateVersion)
.setOpenerAppId(mOpenerAppId)
.setThemeColor(mThemeColor)
.setLaunchTypeAtCreation(getLaunchType(mTabLaunchTypeAtCreation))
.build()
.toByteArray();
} }
protected static byte[] getContentStateByteArray(ByteBuffer buffer) { protected static byte[] getContentStateByteArray(ByteBuffer buffer) {
......
...@@ -188,7 +188,6 @@ public abstract class PersistedTabData implements UserData { ...@@ -188,7 +188,6 @@ public abstract class PersistedTabData implements UserData {
abstract byte[] serialize(); abstract byte[] serialize();
private byte[] serializeAndLog() { private byte[] serializeAndLog() {
// TODO(crbug.com/1119856) Add trace events
byte[] res = serialize(); byte[] res = serialize();
RecordHistogram.recordBooleanHistogram( RecordHistogram.recordBooleanHistogram(
"Tabs.PersistedTabData.Serialize." + getUmaTag(), res != null); "Tabs.PersistedTabData.Serialize." + getUmaTag(), res != null);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment