From b77226e27cab2828e1638a978864442dd336a73e Mon Sep 17 00:00:00 2001 From: "husky@chromium.org" Date: Fri, 24 Feb 2012 04:17:06 +0000 Subject: Use SequencedWorkerPool for disk operations in TraceSubscriberStdio. This class was hitting a ThreadRestrictions assert because it called OpenFile on the UI thread. To reduce unnecessary copying, I've changed the OnTraceDataCollected argument from std::string to RefCountedString. Second attempt (originally committed in 123140, reverted in 123146). Added DISALLOW_COPY_AND_ASSIGN to fix Windows compilation error. BUG=None TEST=content_unittests Review URL: http://codereview.chromium.org/9443020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123433 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/automation/automation_provider.cc | 4 ++-- chrome/browser/automation/automation_provider.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'chrome/browser/automation') diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index b4a32cf..38b1b0b 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -406,8 +406,8 @@ void AutomationProvider::OnEndTracingComplete() { } void AutomationProvider::OnTraceDataCollected( - const std::string& trace_fragment) { - tracing_data_.trace_output.push_back(trace_fragment); + const scoped_refptr& trace_fragment) { + tracing_data_.trace_output.push_back(trace_fragment->data()); } bool AutomationProvider::OnMessageReceived(const IPC::Message& message) { diff --git a/chrome/browser/automation/automation_provider.h b/chrome/browser/automation/automation_provider.h index b0026ea..3a61cda 100644 --- a/chrome/browser/automation/automation_provider.h +++ b/chrome/browser/automation/automation_provider.h @@ -246,7 +246,8 @@ class AutomationProvider // TraceSubscriber: virtual void OnEndTracingComplete() OVERRIDE; - virtual void OnTraceDataCollected(const std::string& trace_fragment) OVERRIDE; + virtual void OnTraceDataCollected( + const scoped_refptr& trace_fragment) OVERRIDE; void OnUnhandledMessage(const IPC::Message& message); -- cgit v1.1