summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation
diff options
context:
space:
mode:
authorhusky@chromium.org <husky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-24 04:17:06 +0000
committerhusky@chromium.org <husky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-24 04:17:06 +0000
commitb77226e27cab2828e1638a978864442dd336a73e (patch)
tree190bad928416e69b85b5a930dac33954b9c2fb8a /chrome/browser/automation
parentb07cdbcc2fd4044902f1542df9501b49c5f94786 (diff)
downloadchromium_src-b77226e27cab2828e1638a978864442dd336a73e.zip
chromium_src-b77226e27cab2828e1638a978864442dd336a73e.tar.gz
chromium_src-b77226e27cab2828e1638a978864442dd336a73e.tar.bz2
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
Diffstat (limited to 'chrome/browser/automation')
-rw-r--r--chrome/browser/automation/automation_provider.cc4
-rw-r--r--chrome/browser/automation/automation_provider.h3
2 files changed, 4 insertions, 3 deletions
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<base::RefCountedString>& 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<base::RefCountedString>& trace_fragment) OVERRIDE;
void OnUnhandledMessage(const IPC::Message& message);