0
Commit Graph

29 Commits

Author SHA1 Message Date
Avi Drissman
4e1b7bc33d Update copyright headers in content/
The methodology used to generate this CL is documented in
https://crbug.com/1098010#c34.

No-Try: true
No-Presubmit: true
Bug: 1098010
Change-Id: I8c0f009d16350271f07d8e5e561085822cc9dd27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3895935
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1047456}
2022-09-15 14:03:50 +00:00
Peter Boström
1d6a095400 Remove unused "base/macros.h" in content/
Removes `#include "base/macros.h"` from files in content/ that do not
contain `ignore_result(`.

Bug: 1010217
No-Try: true
Change-Id: I887403408704241047e3bd66e953ff7df195368b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3274993
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Owners-Override: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/main@{#940781}
2021-11-11 16:07:03 +00:00
Peter Boström
828b902994 Replace DISALLOW_COPY_AND_ASSIGN in content/
This replaces DISALLOW_COPY_AND_ASSIGN with explicit constructor deletes
where a local script is able to detect its insertion place (~Foo() is
public => insert before this line).

This is incomplete as not all classes have a public ~Foo() declared, so
not all DISALLOW_COPY_AND_ASSIGN occurrences are replaced.

IWYU cleanup is left as a separate pass that is easier when these macros
go away.

Bug: 1010217
Change-Id: Iea478401b7580682c7b9f195f7af9cbbdb6ce315
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3167292
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#923194}
2021-09-21 02:28:43 +00:00
Nasko Oskov
d0dfddf697 Remove AddBindings/GetEnabledBindings from RenderProcess.
The bindings stored on the RenderProcess object are not longer needed
and can safely be removed. Once that is done, the MockRenderProcess
becomes a trivial object providing no extra functionality, so this CL
goes a step further and removes it as well.

Bug: 1069939
Change-Id: I79e047faa0a418b7362a303b5d45210de394b97e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2145815
Commit-Queue: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760537}
2020-04-20 16:53:02 +00:00
Francois Doray
7f77731cd1 ThreadPool: Reduce the number of configurable options.
With this CL:

//base:
- The maximum number of BEST_EFFORT tasks that can run concurrently
  when there are no ScopedBlockingCalls is hard-coded to 2.
- The reclaim time has a default value of 30 seconds in
  ThreadPool::InitParams. It should not be overridden outside of tests.
- The WorkerThreadBackwardCompatibility enum is merged with the
  WorkerEnvironment enum. This makes sense because choosing a
  non-default value in both enums wasn't supported.
- A HAS_NATIVE_THREAD_POOL() macro is added to avoid duplication of the
  list of platforms that support native pools.

//content:
- The maximum number of threads in the foreground pool is hard-coded
  in //content. It is no longer possible to change it via a field
  trial. If we decide to experiment again with this, we should read
  field trial values directly from //base instead of using
  Content(Browser|Renderer)Client.

Change-Id: I667b5fb946b62756a0d78ca297bcfdc6b3d8fb0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1600838
Reviewed-by: Paul Jensen <pauljensen@chromium.org>
Reviewed-by: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Yuwei Huang <yuweih@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Rohit Rao <rohitrao@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#660360}
2019-05-16 12:26:31 +00:00
Gabriel Charette
52fa3aed17 [base] Rename TaskScheduler to ThreadPool
Reason: with the advent of other scheduling primitives in //base
(i.e. SequenceManager), TaskScheduler was no longer the only component
responsible for scheduling tasks. We will from now on refer to the
whole of //base/task as the "task scheduling infrastructure".

There are other types named "TaskScheduler" outside of base:: so
s/TaskScheduler/ThreadPool/ across the codebase wasn't possible.

Instead, this CL did:
 1) base/task/task_scheduler => base/task/thread_pool
    (catches all files with includes)
 1.1) Careful manual search to add files without includes
      (e.g. missing IWYU, docs, etc.)
 2) TaskScheduler => ThreadPool in all files affected by (1)
 3) task_scheduler => thread_pool in all files affected by (1)
 4) "task scheduler" => "thread pool"  in all files affected by (1)
 4) Move task_scheduler_util like headers in
    //content //components and //ios

Also:
 * Renamed UMA metrics from TaskScheduler.* to ThreadPool.*
   and dropped "Pool" from worker pool name suffixes.
 * Renamed TaskScheduler*Worker thread names to ThreadPool*Worker
 * In base/android: NativeTaskScheduler => NativeScheduler as it
   was referring to the whole of base/task.
   TaskSchedulerTest.java => NativePostTaskTest.java (former DNE)
 * Intentionally ignoring IWYU violations in this already too large
   CL.

In follow-up:
 * Rename other types as well:
     SchedulerWorker => WorkerThread
     SchedulerWorkerPool* => WorkerThreadGroup*

Bug: 951388
Change-Id: I5bc2688b593c7682ef7e56d6b228539970ba107e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1561552
Commit-Queue: Gabriel Charette <gab@chromium.org>
Auto-Submit: Gabriel Charette <gab@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Joe Mason <joenotcharles@google.com>
Reviewed-by: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#650997}
2019-04-15 21:44:37 +00:00
Arthur Sonzogni
c4f8dee31d Remove reference to AddRefProcess/ReleaseProcess() in the renderer.
The browser process is the sole responsible for shutting down its
renderer processes. Surprisingly, there was some logic in the renderer
process to request self shutdown.

Previous CL disabled renderer process initiated shutdown. This CL
removes associated logic to increment/decrement the reference counter.

Bug: 873541, 609963, 535246
Change-Id: I06bc6670d84dcad597bf98eea6c3e07242f341b6
Reviewed-on: https://chromium-review.googlesource.com/1177748
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588799}
2018-09-05 08:51:33 +00:00
Gabriel Charette
44db142be5 [TaskScheduler] Remove temporary forwarding headers and mass migrate users
When this CL is approved I will rebase it on top of tree and mass
migrate all callers in a new patch set (TBR'ed change).

TBR=robliao@chromium.org (for mass migration of existing callers)

Bug: 867421
Change-Id: I41092bbc4824964ee047e0bf53e972c8f6e896a4
Reviewed-on: https://chromium-review.googlesource.com/1161116
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580845}
2018-08-06 11:19:33 +00:00
Gabriel Charette
ffaaf85f21 [TaskScheduler] Forward all public TaskScheduler headers to forwarding headers in preparation for source move
Core move CL : https://chromium-review.googlesource.com/c/chromium/src/+/1161088

Move strategy :
 1) Rebase this CL on ToT and mass migrate all callers of public base/task_scheduler
    headers to their matching *_forward.h header.
 2) Land core move CL
 3) Mass migrate away from *_forward.h headers in
    https://chromium-review.googlesource.com/c/chromium/src/+/1161116

This move strategy was chosen to keep as much git history as possible
in (2). See code comments on forward headers for details.

Once this CL and its follow-ups are approved, I will sync it to
top-of-tree, mass migrate all existing users of these headers to
their *_forward.h version in this CL (TBR'ed) and follow-up with
the other two swiftly back-to-back.

TBR=robliao@chromium.org (for mass migration of existing callers)

Bug: 867421
Change-Id: Iea684e022181c0611abe7f92629599afc369822b
Reviewed-on: https://chromium-review.googlesource.com/1161179
Commit-Queue: Gabriel Charette <gab@chromium.org>
Reviewed-by: Gabriel Charette <gab@chromium.org>
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580622}
2018-08-03 19:20:47 +00:00
fdoray
a70d7175ad Use TaskScheduler::InitParams to initialize TaskScheduler in child processes.
Initialization with an arbitrary vector of SchedulerWorkerPoolParams
is being deprecated.

BUG=690706

Review-Url: https://codereview.chromium.org/2798623002
Cr-Commit-Position: refs/heads/master@{#461828}
2017-04-04 20:52:20 +00:00
fdoray
31cc6f8573 Add TaskScheduler initialization arguments to ChildProcess.
Previously, the constructor of ChildProcess called
ChildProcess::InitializeTaskScheduler() to initialize TaskScheduler.
RenderProcessImpl overrode this method to initialize TaskScheduler
with custom arguments. Unfortunately, the constructor of a base
class cannot call methods from a derived class.

This CL removes the virtual ChildProcess::InitializeTaskScheduler()
method. RnederProcessImpl passes its custom TaskScheduler
initialization arguments to the constructor of ChildProcess.

BUG=664996

Review-Url: https://codereview.chromium.org/2687903003
Cr-Commit-Position: refs/heads/master@{#449785}
2017-02-10 23:31:10 +00:00
fdoray
71ee072729 Initialize TaskScheduler in all child processes.
base::WorkerPool is used in the GPU process
(x11_hotplug_event_handler.cc:499). To migrate this call site to
TaskScheduler, TaskScheduler must be initialized in the GPU
process.

base::WorkerPool is also used in PPAPI plugin process
(v8_platform.cc:70).

BUG=664996

Review-Url: https://codereview.chromium.org/2627953002
Cr-Commit-Position: refs/heads/master@{#444100}
2017-01-17 18:50:34 +00:00
avi
1023d01cf1 Switch to standard integer types in content/renderer/.
BUG=138542
TBR=jam@chromium.org

Review URL: https://codereview.chromium.org/1547073003

Cr-Commit-Position: refs/heads/master@{#366847}
2015-12-25 02:40:22 +00:00
dcheng
6d18e40fc2 Standardize usage of virtual/override/final in content/renderer/
This patch was automatically generated by applying clang fixit hints
generated by the plugin to the source tree.

BUG=417463
TBR=jamesr@chromium.org

Review URL: https://codereview.chromium.org/670683003

Cr-Commit-Position: refs/heads/master@{#300473}
2014-10-21 12:33:10 +00:00
mohan.reddy
ee0b42adc4 Replace FINAL and OVERRIDE with their C++11 counterparts in content/renderer
This step is a giant search and replace for OVERRIDE and FINAL to
replace them with their lowercase versions.

BUG=417463

Review URL: https://codereview.chromium.org/633303002

Cr-Commit-Position: refs/heads/master@{#298655}
2014-10-08 04:53:33 +00:00
simonhong@chromium.org
dd72d81c04 Remove unused code in the RenderProcess[Impl]
R=jamesr@chromium.org
BUG=NONE
TEST=NONE(No functional change)

Review URL: https://codereview.chromium.org/310733003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274814 0039d316-1c4b-4281-b951-d872f2087c98
2014-06-04 14:01:24 +00:00
jbauman@chromium.org
1cf03f7f0c Remove TransportDIB methods from RenderProcess(Host)
These aren't needed now that the legacy 2d path is gone.

BUG=362164

Review URL: https://codereview.chromium.org/247263005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265826 0039d316-1c4b-4281-b951-d872f2087c98
2014-04-24 03:09:49 +00:00
jam@chromium.org
7c85e7a40a Start removing support for in-process NPAPI plugins. This was a debugging mode and was only supported by non-Aura Windows code.
BUG=330735
R=avi@chromium.org

Review URL: https://codereview.chromium.org/111613005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242552 0039d316-1c4b-4281-b951-d872f2087c98
2013-12-26 20:52:58 +00:00
avi@chromium.org
abb52216b1 Use a direct include of time headers in content/, part 2.
BUG=254986
TEST=none
TBR=ben@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18154002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209062 0039d316-1c4b-4281-b951-d872f2087c98
2013-06-28 01:54:16 +00:00
reed@google.com
9d611ca037 Simplify platform_canvas.h by recognizing that PlatformCanvas does not actually extend
SkCanvas in any way, other than provide a host of constructors (and delayed constructors
in the form of 'initialize' methods).

These late initializers are a problem, as SkCanvas is deprecating its setDevice() call,
moving to model where the backingstore/device for the canvas must be created before the
canvas is created. This is necessary to allow skia to continue to extend SkCanvas for
its backends (e.g. GPU, PDF, Picture, Pipe, etc.).

The practical change in this CL is to make PlatformCanvas just a typedef for SkCanvas,
and change the call-sites that want to call initialize() to instead create the canvas
using one of the provided Factory functions (e.g. CreatePlatformCanvas). The modifier
Platform is maintained, to document that this canvas may be backed by platform-specific
pixels (e.g. allocated by GDI or cairo).
Review URL: https://codereview.chromium.org/11138024

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167669 0039d316-1c4b-4281-b951-d872f2087c98
2012-11-14 13:46:56 +00:00
jam@chromium.org
eb39819364 Move a bunch of code in content\common (as well as a few left in renderer) to the content namespace.
Review URL: https://codereview.chromium.org/11227033

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163359 0039d316-1c4b-4281-b951-d872f2087c98
2012-10-22 20:16:19 +00:00
fsamuel@chromium.org
1b88d9f90a Make RenderProcessImpl::CreateTransportDIB and RenderProcessImpl::FreeTransportDIB public
This code allows for platform-specific ways to allocate and free TransportDIBs. This is needed by the BrowserPlugin. Make them public so that they can be accessed by the BrowserPlugin

BUG=none

Review URL: https://chromiumcodereview.appspot.com/10826100

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149538 0039d316-1c4b-4281-b951-d872f2087c98
2012-08-02 00:09:09 +00:00
ajwong@chromium.org
f78671752a Remove #pragma once from content
Review URL: https://chromiumcodereview.appspot.com/10696166

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146071 0039d316-1c4b-4281-b951-d872f2087c98
2012-07-11 07:04:07 +00:00
mseaborn@chromium.org
66eeb5290b Remove an unused #include of a native_client header
BUG=none
TEST=build


Review URL: http://codereview.chromium.org/10207027

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134179 0039d316-1c4b-4281-b951-d872f2087c98
2012-04-27 00:13:04 +00:00
creis@chromium.org
744c2a2d90 Allow browser to handle all WebUI navigations.
BUG=113496
TEST="Google Dashboard" link in Sync settings loads in new process.


Review URL: http://codereview.chromium.org/9663045

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126949 0039d316-1c4b-4281-b951-d872f2087c98
2012-03-15 18:42:04 +00:00
avi@chromium.org
edc64de774 Add OVERRIDE to content/.
BUG=104314
TEST=no change

Review URL: http://codereview.chromium.org/8587009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110544 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-17 20:07:38 +00:00
jam@chromium.org
f1933791ea Get rid of the following dependencies from content:
chrome/common/chrome_constants.h
  chrome/common/chrome_paths.h
  chrome/common/logging_chrome.h

BUG=76697
Review URL: http://codereview.chromium.org/7104144

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88935 0039d316-1c4b-4281-b951-d872f2087c98
2011-06-14 00:49:34 +00:00
hans@chromium.org
3690ebe09a Virtual destructors should have virtual keyword.
Make sure user-declared virtual destructors always have the virtual keyword.
The Clang style-check plugin will check for this soon.

No functionality change: virtual is only added
to destructors that are already implicitly virtual.

Also fix a couple of in-line destructor definitions.

BUG=83408
TEST=none

Review URL: http://codereview.chromium.org/7064033

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86587 0039d316-1c4b-4281-b951-d872f2087c98
2011-05-25 09:08:19 +00:00
jam@chromium.org
8704f89ba4 Move RenderProcess to content.
TBR=avi
Review URL: http://codereview.chromium.org/6864001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81681 0039d316-1c4b-4281-b951-d872f2087c98
2011-04-15 00:30:05 +00:00