Files
brave-core/components/tor
Claudio DeSouza da35f85d8c BrowserTaskType::kPreconnect removed
Chromium change:
https://chromium.googlesource.com/chromium/src/+/d60aaeea8014c75e2ac421c244b51d38dbef197e

commit d60aaeea8014c75e2ac421c244b51d38dbef197e
Author: Colin Blundell <blundell@chromium.org>
Date:   Mon Jun 20 11:01:53 2022 +0000

    [Preconnect] Stop specially prioritizing preconnect tasks

    This CL eliminates the execution of preconnect tasks on a custom
    high-priority task queue that was introduced in
    https://chromium-review.googlesource.com/c/chromium/src/+/1527536,
    reverting back to the behavior prior to that CL of executing these tasks
    on the default (priority-based) task queues. We have done
    experimentation and found that execution on the custom high-priority
    task queue brought no performance benefits over execution on the default
    priority-based task queues (summary in
    https://bugs.chromium.org/p/chromium/issues/detail?id=1257582#c28).

    Specifically, this CL is implementing the launch of the NoStandaloneQ
    arm of the experiment analyzed on that bug. The logic for why this is
    the case bears explicit mention:

    - NoStandaloneQ enables the "kTreatPreconnectTaskTypeAsDefault"
      base::Feature.
    - When this feature is enabled, invoking
      GetUIThreadTaskRunner({BrowserTaskType::kPreconnect}) returns the
      task runner for the task priority of the BrowserTaskTraits instance
      created via {BrowserTaskType::kPreconnect}. This task priority is
      USER_BLOCKING, since BrowserTaskTraits inherits the default value
      from TaskTraits and doesn't modify that default value.
    - In this CL, we simply stop passing a TaskRunner to the calls to
      BindNewPipeAndPassRemote() made in the preconnect code. When no
      TaskRunner is explicitly specified to these calls, they use
      SequencedTaskRunnerHandle::Get(). The task runner returned by
      SequencedTaskRunnerHandle::Get() on the UI thread (on which these
      calls are executing) is also the task runner for the USER_BLOCKING
      priority, i.e., the same task runner that is currently being passed
      when kTreatPreconnectTaskTypeAsDefault is enabled.

    This CL also eliminates the kPreconnect browser task trait, as there
    are now no uses of it in the codebase.

    Bug: 1257582
2022-08-22 22:22:36 -04:00
..