Commit 57a25b9f authored by Etienne Pierre-doray's avatar Etienne Pierre-doray Committed by Commit Bot

[TaskScheduler]: Use ScopedBlockingCall to mark blocking tasks.

This CL uses ScopedBlockingCall to mark blocking calls in /content/browser/tracing.

This CL was created by replacing calls to AssertBlockingAllowed()
with instantiations of ScopedBlockingCall(MAY_BLOCK).
I kindly ask the reviewer to make sure of the following:
  - ScopedBlockingCall is instantiated in a scope with minimal CPU usage.
    If this is not the case, ScopedBlockingCall should be instantiated
    closer to the blocking call. See scoped_blocking_call.h for more
    info. Please let me know when/where the blocking call happens if this needs
    to be changed.
  - Parameter |blocking_type| matches expectation:
      MAY_BLOCK: The call might block (e.g. file I/O that might hit in memory cache).
      WILL_BLOCK: The call will definitely block (e.g. cache already checked and now pinging
        server synchronously).
    See BlockingType for more info. While I assumed MAY_BLOCK by default, that might
    not be the best fit if we know that this callsite is guaranteed to block.
  - The ScopedBlockingCall's scope covers the entirety of the blocking operation
    previously asserted against by the AssertBlockingAllowed().

This CL was uploaded by git cl split.

R=simonhatch@chromium.org

Bug: 874080
Change-Id: I947898f0650e7a14a3133a4114c7fc30f326dedc
Reviewed-on: https://chromium-review.googlesource.com/c/1191806
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: default avataroysteine <oysteine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601102}
parent 0a758ceb
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "base/sequenced_task_runner.h" #include "base/sequenced_task_runner.h"
#include "base/strings/pattern.h" #include "base/strings/pattern.h"
#include "base/task/post_task.h" #include "base/task/post_task.h"
#include "base/threading/scoped_blocking_call.h"
#include "content/browser/tracing/tracing_controller_impl.h" #include "content/browser/tracing/tracing_controller_impl.h"
#include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
...@@ -90,7 +91,8 @@ class FileTraceDataEndpoint : public TracingController::TraceDataEndpoint { ...@@ -90,7 +91,8 @@ class FileTraceDataEndpoint : public TracingController::TraceDataEndpoint {
} }
bool OpenFileIfNeededOnBlockingThread() { bool OpenFileIfNeededOnBlockingThread() {
base::AssertBlockingAllowedDeprecated(); base::ScopedBlockingCall scoped_blocking_call(
base::BlockingType::MAY_BLOCK);
if (file_ != nullptr) if (file_ != nullptr)
return true; return true;
file_ = base::OpenFile(file_path_, "w"); file_ = base::OpenFile(file_path_, "w");
......
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