0
Commit Graph

20 Commits

Author SHA1 Message Date
Victor Hugo Vianna Silva
b54a4de00c Link to android_jni_ownership_best_practices.md from keyed service docs
Fixed: 1451836
Change-Id: I396bab14c72a7a02f8c53424e081aad6b48dfd92
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4757380
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Commit-Queue: Victor Vianna <victorvianna@google.com>
Cr-Commit-Position: refs/heads/main@{#1180507}
2023-08-07 20:11:47 +00:00
Avi Drissman
d4459dbffb Remove forwarding headers
bind.h, callback.h, callback_forward.h, and callback_helpers.h
moved into /base/functional/. Remove the forwarding headers as
well as do some assorted cleanup related to those headers.

Fixed: 1364441
No-Try: true
Cq-Include-Trybots: luci.chrome.try:mac-chrome,win-chrome,linux-chrome,chromeos-eve-chrome,android-internal-rel
Change-Id: I309149935f721c27f2c3373ef40627c0c1f7537b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4167020
Commit-Queue: Avi Drissman <avi@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1093705}
2023-01-18 02:45:14 +00:00
Peter Boström
a485651838 Add a version of optional args to builder docs
This documents a chainable Params object as optional argument to a
constructor.

Bug: None
Change-Id: I00996a367ebe48754f2b19b40c1fb991d8f1c594
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3650755
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1004730}
2022-05-18 13:08:22 +00:00
Elly Fong-Jones
d222d67f60 patterns: document the bool Init pattern
While people probably shouldn't add new uses of this pattern much, it
appears in a lot of places in the codebase so it's worth writing up.

Change-Id: Ia21a8597f2aadfe9a202fb6058fc856a2439f6e9
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3642419
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1002326}
2022-05-11 21:17:26 +00:00
Elly Fong-Jones
2836a37187 docs/patterns: add builder & parameter bundle
We use this in several places in Chromium at this point so a concise
writeup is probably worth the effort.

Bug: None
Change-Id: I3dde8c8c5df680dacd66c05e63d4525a00382292
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3638286
Reviewed-by: Peter Boström <pbos@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1002131}
2022-05-11 16:24:29 +00:00
Sigurdur Asgeirsson
fb9a9f7aad Retire ScopedObserver in *.md.
ScopedObserver is being deprecated in favor of two new classes:
- base::ScopedObservation for observers that only ever observe
  a single source.
- base::ScopedMultiSourceObservation for observers that do or may
  observe more than a single source.

Bug: 1145565
Change-Id: I025c150c0970d4258b8f25b7ec0c2d959866e8a6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911213
Auto-Submit: Sigurður Ásgeirsson <siggi@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#885198}
2021-05-20 20:45:17 +00:00
Peter Kasting
7ba9440cee Convert CallbackList::Subscription to a standalone class.
Bug: 1103086
AX-Relnotes: n/a.
TBR: pinkerton
Change-Id: I3b241eb7234727f314dd85d1bdbb3a41ceca5938
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2522860
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Auto-Submit: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#830015}
2020-11-22 01:49:02 +00:00
Peter Kasting
796cde2c63 Move StrongAlias and PassKey to base/types/ due to widespread value.
Bug: none
Change-Id: Idb6a5aef372726171389074bf216ef9000e715f8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2533285
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Darin Fisher <darin@chromium.org>
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828887}
2020-11-18 21:06:53 +00:00
Elly Fong-Jones
59caf72351 docs: document "domain lens" pattern
Bug: None
Change-Id: I43f3af3003d12d218140db9415df13b230e1e2e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2508324
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#822720}
2020-10-30 18:15:02 +00:00
Jan Wilken Dörrie
d02749a239 [Docs] Fix C++ Syntax Highlighting in //docs/pattern
This change adds C++ syntax highlighting to the code blocks found in
//docs/pattern and removes unnecessary leading whitespace.

While this highlighting is not visible in Code Search's markdown view,
it is supported when viewed through gitiles:
https://github.com/google/gitiles/blob/master/Documentation/markdown.md#compiled

Bug: None
Change-Id: Id2d4298fc69f57b7abe1aa589f547221785791ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2494580
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820758}
2020-10-26 15:51:03 +00:00
Elly Fong-Jones
ede232e6d9 docs: document inversion of control pattern
Bug: None
Change-Id: Ie895d32cd402b8596ca833d8bd43f172947052de
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2463556
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#817507}
2020-10-15 16:00:26 +00:00
Frédéric Wang
796f4db309 Fix typo and broken link in synchronous runloop documentation
Bug: None
Change-Id: I4162ef32a633124905a9ee8e1713d42c044c3654
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2366798
Reviewed-by: Gyuyoung Kim <gyuyoung@igalia.com>
Commit-Queue: Frédéric Wang <fwang@igalia.com>
Cr-Commit-Position: refs/heads/master@{#800510}
2020-08-21 08:23:21 +00:00
Devlin Cronin
aeb91b3661 [Docs] Add lifetime advice to synchronous-runloop.md
Bug: None
Change-Id: I5d7c3aee3fe228c709c0bcbbffe3070333542fde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2151527
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759744}
2020-04-16 18:48:40 +00:00
Devlin Cronin
759ba8a480 [Docs] Update synchronous-runloop.md to differentiate states and events
Waiting for a state and waiting for an event are subtly different: for
an event, the waiter *must* be constructed before the event is fired
(or else will spin forever), whereas for a state, a waiter may be
constructed at any point (because the state can be queried).

Update the docs with this differentiation and an example.

Bug: None
Change-Id: Ice984ee861df46d9010986e72779639e6c19e400
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2151470
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759698}
2020-04-16 16:57:06 +00:00
Elly Fong-Jones
56f11aa7d7 docs: document the synchronous runloop pattern
Bug: None
Change-Id: Ic7166feb015cf069d58173ea97c1976f008ecfaa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132768
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#756260}
2020-04-03 14:14:48 +00:00
Elly Fong-Jones
162d66cc92 docs: fix up associated data pattern doc
This change fixes some markdown syntax issues, variable naming, etc. It
also adds mentions of some iOS-specific classes.

Bug: None
Change-Id: I308088245f8579f59757b03af4d1a6143b808cfc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2105957
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750939}
2020-03-17 12:40:45 +00:00
Elly Fong-Jones
499f4a3671 docs: document the "associated data" pattern
This document outlines the associated data pattern, and the two most
commonly used implementations of it in Chromium: SupportsUserData and
KeyedService.

Bug: None
Change-Id: I45ad8d2961221fd64022168982f454fe655340fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2102591
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#750571}
2020-03-16 16:12:12 +00:00
Elly Fong-Jones
0f5259c374 docs: link passkey pattern to chromium base impl
Bug: None
Change-Id: Ideec0f3a60319eee3354642074ff3be7d078b440
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1751827
Auto-Submit: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686410}
2019-08-13 14:39:21 +00:00
Elly Fong-Jones
4e3d25c78e TabStripModelObserver: clean up on destruction
This change has TabStripModelObserver remember which TabStripModels it
is observing, and unregister from those if necessary on destruction. It
also removes instances of now-unnecessary cleanup code in subclass
destructors.

This change also introduces a new observable event on
TabStripModelObserver: OnTabStripModelDestroyed. This event
notifies observers that the model is being destroyed so
they can do any necessary cleanup. In the future most uses
of TabStripModelObserver::TabStripEmpty() should migrate to
OnTabStripModelDestroyed().


Bug: 991308
Change-Id: Ifed459ec4d88136db4a00e4386dc6c2095048b46
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739552
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Auto-Submit: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686075}
2019-08-12 18:17:15 +00:00
Elly Fong-Jones
c965059379 docs: document some testing patterns
This change adds documentation of:
* The TestApi pattern
* The ForTesting method pattern
* The Friend-the-tests pattern

The TestApi doc references another doc, describing the Passkey pattern; that doc
is included in another CL but not yet committed:
<https://chromium-review.googlesource.com/c/chromium/src/+/1739552>

Bug: None
Change-Id: Idf6bd9385e1912e3653894fd89381751cc2cb115
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1746647
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org>
Cr-Commit-Position: refs/heads/master@{#686043}
2019-08-12 17:34:16 +00:00