0

Migrate TODOs referencing old crbug IDs to the new issue tracker IDs

The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:

- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)

Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.

#crbug-todo-migration

Bug: b/321899722
Change-Id: Ieeb461e2d489e86fd50b87a2a0721a2be34520c3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5467317
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Darryl James <dljames@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Reviewed-by: Darryl James <dljames@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290198}
This commit is contained in:
Alison Gale
2024-04-19 21:31:46 +00:00
committed by Chromium LUCI CQ
parent 7e4eb6a05a
commit 47d1537de7
574 changed files with 833 additions and 819 deletions
android_webview
browser
lib
nonembedded
java
src
org
chromium
android_webview
apps
ash/system/unified
base
BUILD.gn
allocator
android
java
src
org
chromium
base
cached_flags
library_loader
junit
src
org
chromium
linker
callback_list.h
containers
debug
files
functional
hash
memory
message_loop
metrics
observer_list.hpath_service_unittest.cc
process
profiler
rand_util.h
sampling_heap_profiler
synchronization
task
test
threading
time
trace_event
win
build
cc
chrome
chromeos
components
content_settings
heap_profiling
memory_system
content
app
browser
DEPS
accessibility
aggregation_service
attribution_reporting
back_forward_cache_network_request_browsertest.cc
bluetooth
browser_child_process_host_impl.ccbrowser_child_process_host_impl_receiver_bindings.ccbrowser_child_process_observer_browsertest.ccbrowser_context_impl.ccbrowser_main_loop.cc
browsing_data
client_hints
code_cache
compute_pressure
device_posture
devtools
file_system
file_system_access
first_party_sets
indexed_db
interest_group
launch_as_mojo_client_browsertest.cc
loader
media
ml
mojo_binder_policy_applier.ccmojo_binder_policy_map_impl.cc
network
network_service_browsertest.cc
permissions
picture_in_picture
preloading
renderer_host
security
service_process_host_impl.cc
service_worker
shared_storage
site_per_process_unload_browsertest.cc
ssl
storage_partition_impl.ccutility_process_host.hutility_sandbox_delegate_win.cc
web_contents
web_package
webid
webrtc
worker_host
common
public
renderer
services
shell
test
utility
web_test
device
extensions
fuchsia_web/webengine
gin
google_apis
gpu
headless
infra/config
ios
build
chrome
browser
app_launcher
autofill
browsing_data
content_settings
follow
metrics
overlays
segmentation_platform
shared
coordinator
public
sync
ui
variations
web
model
web_performance_metrics
web_selection
share_extension
net
testing
plugin
third_party
earl_grey2
material_components_ios
web
ipc
media
mojo/core
net
pdf
ppapi
printing
sandbox
services
skia/ext
sql
storage/browser/file_system
testing
tools
ui/gl

@ -950,7 +950,7 @@ void AwContentBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories(
}
bool AwContentBrowserClient::ShouldAllowNoLongerUsedProcessToExit() {
// TODO(crbug.com/1268454): Add Android WebView support for allowing a
// TODO(crbug.com/40803531): Add Android WebView support for allowing a
// renderer process to exit when only non-live RenderFrameHosts remain,
// without consulting the app's OnRenderProcessGone crash handlers.
return false;

@ -670,7 +670,7 @@ void CookieManager::RemoveAllCookiesHelper(
base::BindOnce(&CookieManager::RemoveCookiesCompleted,
base::Unretained(this), std::move(callback)));
} else {
// TODO(crbug.com/921655): Support clearing client hints here as well.
// TODO(crbug.com/40609350): Support clearing client hints here as well.
GetCookieStore()->DeleteAllAsync(
base::BindOnce(&CookieManager::RemoveCookiesCompleted,
base::Unretained(this), std::move(callback)));

@ -397,7 +397,7 @@ void AwMainDelegate::InitializeMemorySystem(const bool is_browser_process) {
// observers of PoissonAllocationSampler. Unfortunately, some potential
// candidates are still linked and may sneak in through hidden paths.
// Therefore, we include PoissonAllocationSampler unconditionally.
// TODO(crbug.com/1411454): Which observers of PoissonAllocationSampler are
// TODO(crbug.com/40062835): Which observers of PoissonAllocationSampler are
// really in use on Android WebView? Can we add the sampler conditionally or
// remove it completely?
memory_system::Initializer()

@ -41,16 +41,15 @@ import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
/**
* AwVariationsSeedFetcher is a JobService which periodically downloads the variations seed.
* The job is scheduled whenever an app requests the seed, and it's been at least 1 day
* since the last fetch. If WebView is never used, the job will never run. The 1-day minimum fetch
* period is chosen as a trade-off between seed freshness (and prompt delivery of feature
* killswitches) and data and battery usage. Various Android versions may enforce longer periods,
* depending on WebView usage and battery-saving features. AwVariationsSeedFetcher is not meant to
* be used outside the variations service. For the equivalent fetch in Chrome, see
* AsyncInitTaskRunner$FetchSeedTask.
* AwVariationsSeedFetcher is a JobService which periodically downloads the variations seed. The job
* is scheduled whenever an app requests the seed, and it's been at least 1 day since the last
* fetch. If WebView is never used, the job will never run. The 1-day minimum fetch period is chosen
* as a trade-off between seed freshness (and prompt delivery of feature killswitches) and data and
* battery usage. Various Android versions may enforce longer periods, depending on WebView usage
* and battery-saving features. AwVariationsSeedFetcher is not meant to be used outside the
* variations service. For the equivalent fetch in Chrome, see AsyncInitTaskRunner$FetchSeedTask.
*/
// TODO(https://crbug.com/1328637): consider using BackgroundTaskScheduler instead of JobService
// TODO(crbug.com/40842120): consider using BackgroundTaskScheduler instead of JobService
public class AwVariationsSeedFetcher extends JobService {
@VisibleForTesting public static final String JOB_REQUEST_COUNT_KEY = "RequestCount";
@VisibleForTesting public static final int JOB_MAX_REQUEST_COUNT = 5;

@ -216,7 +216,7 @@ class PlatformAppPathLauncher
app_runtime::LaunchData launch_data;
// TODO(crbug.com/1354063): This conditional block is being added here
// TODO(crbug.com/40235429): This conditional block is being added here
// temporarily, and should be removed once the underlying type of
// |launch_data.action_data| is wrapped with std::optional<T>.
if (action_data_) {

@ -129,7 +129,7 @@ QsBatteryInfoViewBase::QsBatteryInfoViewBase(
QsButtonCatalogName::kBatteryButton);
controller->HandleOpenPowerSettingsAction();
},
// TODO(https://crbug.com/1380714): Remove
// TODO(crbug.com/40061562): Remove
// `UnsafeDanglingUntriaged`
base::UnsafeDanglingUntriaged(controller)),
PowerStatus::Get()->GetInlinedStatusString(),
@ -287,7 +287,7 @@ QuickSettingsFooter::QuickSettingsFooter(
QsButtonCatalogName::kAvatarButton);
controller->ShowUserChooserView();
},
// TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged`
// TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged`
base::UnsafeDanglingUntriaged(controller))));
user_avatar_button->SetEnabled(
UserChooserDetailedViewController::IsUserChooserEnabled());
@ -303,7 +303,7 @@ QuickSettingsFooter::QuickSettingsFooter(
QsButtonCatalogName::kSignOutButton);
controller->HandleSignOutAction();
},
// TODO(https://crbug.com/1380714): Remove
// TODO(crbug.com/40061562): Remove
// `UnsafeDanglingUntriaged`
base::UnsafeDanglingUntriaged(controller)),
user::GetLocalizedSignOutStringForStatus(

@ -121,7 +121,7 @@ if (is_fuchsia) {
# have a Rust toolchain, so we need a fallback to C++ for it until it removes
# its dependency on //base.
#
# TODO(crbug.com/1280708): Drop toolchain_has_rust and move the C++ parser into
# TODO(crbug.com/40811643): Drop toolchain_has_rust and move the C++ parser into
# components/nacl to just run in-process there. Don't compile base::JSONReader
# on NaCL at all.
build_rust_json_reader = toolchain_has_rust && enable_rust_json
@ -2546,7 +2546,7 @@ buildflag_header("debugging_buildflags") {
enable_lldbinit_warning =
is_debug && strip_absolute_paths_from_debug_symbols && is_mac
# TODO(crbug.com/1420774): Try and enable these checks on Android too.
# TODO(crbug.com/40258939): Try and enable these checks on Android too.
enable_commandline_sequence_checks =
(is_debug || dcheck_always_on) && !is_android

@ -29,7 +29,7 @@ void ReentryGuard::InitTLSSlot() {
int error = pthread_key_create(&entered_key_, nullptr);
CHECK(!error);
// Touch the TLS slot immediately to force any allocations.
// TODO(https://crbug.com/1411454): Use this technique to avoid allocations
// TODO(crbug.com/40062835): Use this technique to avoid allocations
// in PoissonAllocationSampler::ScopedMuteThreadSamples, which will make
// ReentryGuard redundant.
pthread_setspecific(entered_key_, nullptr);
@ -47,7 +47,7 @@ void ReentryGuard::InitTLSSlot() {}
void ReentryGuard::RecordTLSSlotToCrashKey() {
// Record the key in crash dumps to detect when it's higher than 32
// (PTHREAD_KEY_2NDLEVEL_SIZE).
// TODO(crbug.com/1411454): Remove this after diagnosing reentry crashes.
// TODO(crbug.com/40062835): Remove this after diagnosing reentry crashes.
static auto* const crash_key = base::debug::AllocateCrashKeyString(
"reentry_guard_tls_slot", base::debug::CrashKeySize::Size32);

@ -424,7 +424,7 @@ MIRACLE_PARAMETER_FOR_INT(
// abundance of caution, we provide this toggle that allows us to
// wholly disable MiraclePtr in the buffer partition, if necessary.
//
// TODO(crbug.com/1444624): this is unneeded once
// TODO(crbug.com/40064499): this is unneeded once
// MiraclePtr-for-Renderer launches.
BASE_FEATURE(kPartitionAllocDisableBRPInBufferPartition,
"PartitionAllocDisableBRPInBufferPartition",

@ -80,8 +80,8 @@ AslrMask(uintptr_t bits) {
// https://chromium-review.googlesource.com/c/v8/v8/+/557958. The difference
// is that here we clamp to 39 bits, not 32.
//
// TODO(crbug.com/738925): Remove this limitation if/when the macOS behavior
// changes.
// TODO(crbug.com/40528509): Remove this limitation if/when the macOS
// behavior changes.
PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR uintptr_t
ASLRMask() {
return AslrMask(38);

@ -454,8 +454,8 @@ TEST(PartitionAllocPageAllocatorTest, InaccessiblePages) {
FreePages(buffer, PageAllocationGranularity());
}
// TODO(crbug.com/1291888): Understand why we can't read from Read-Execute pages
// on iOS.
// TODO(crbug.com/40212918): Understand why we can't read from Read-Execute
// pages on iOS.
#if BUILDFLAG(IS_IOS)
#define MAYBE_ReadExecutePages DISABLED_ReadExecutePages
#else
@ -653,7 +653,7 @@ TEST(PartitionAllocPageAllocatorTest, AllocInaccessibleWillJitLater) {
}
#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC)
// TODO(crbug.com/1452151): Fix test to GTEST_SKIP() if MAP_JIT is in-use,
// TODO(crbug.com/40916148): Fix test to GTEST_SKIP() if MAP_JIT is in-use,
// or to be run otherwise, since kReadWriteExecute is used in some other
// configurations.
#define MAYBE_AllocReadWriteExecute DISABLED_AllocReadWriteExecute

@ -107,7 +107,7 @@ static_assert(sizeof(void*) != 8, "");
// - On macOS, pthread_mutex_trylock() is fast by default starting with macOS
// 10.14. Chromium targets an earlier version, so it cannot be known at
// compile-time. So we use something different.
// TODO(https://crbug.com/1459032): macOS 10.15 is now required; switch to
// TODO(crbug.com/40274152): macOS 10.15 is now required; switch to
// better locking.
// - Otherwise, on POSIX we assume that a fast userspace pthread_mutex_trylock()
// is available.

@ -2425,7 +2425,7 @@ TEST_P(PartitionAllocDeathTest, MAYBE_RepeatedReallocReturnNullDirect) {
"Passed DoReturnNullTest");
}
// TODO(crbug.com/1348221) re-enable the tests below, once the allocator
// TODO(crbug.com/40855174) re-enable the tests below, once the allocator
// actually returns nullptr for non direct-mapped allocations.
// When doing so, they will need to be made MAYBE_ like those above.
//
@ -2720,9 +2720,9 @@ TEST_P(PartitionAllocTest, DumpMemoryStats) {
EXPECT_EQ(0u, stats->num_decommitted_slot_spans);
}
// TODO(crbug.com/722911): Commenting this out causes this test to fail when
// run singly (--gtest_filter=PartitionAllocTest.DumpMemoryStats), but not
// when run with the others (--gtest_filter=PartitionAllocTest.*).
// TODO(crbug.com/40520833): Commenting this out causes this test to fail
// when run singly (--gtest_filter=PartitionAllocTest.DumpMemoryStats), but
// not when run with the others (--gtest_filter=PartitionAllocTest.*).
ClearEmptySlotSpanCache();
{

@ -1487,7 +1487,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) {
// We are going to read from |*slot_span| in all branches, but haven't done it
// yet.
//
// TODO(crbug.com/1207307): It would be much better to avoid touching
// TODO(crbug.com/40181250): It would be much better to avoid touching
// |*slot_span| at all on the fast path, or at least to separate its read-only
// parts (i.e. bucket pointer) from the rest. Indeed, every thread cache miss
// (or batch fill) will *write* to |slot_span->freelist_head|, leading to
@ -1508,7 +1508,7 @@ PA_ALWAYS_INLINE void PartitionRoot::FreeInline(void* object) {
GetSlotUsableSize(slot_span));
}
}
// TODO(https://crbug.com/1497380): Collecting objects for
// TODO(crbug.com/40287058): Collecting objects for
// `kSchedulerLoopQuarantineBranch` here means it "delays" other checks (BRP
// refcount, cookie, etc.)
// For better debuggability, we should do these checks before quarantining.

@ -241,7 +241,7 @@ struct IsSupportedType<T, std::enable_if_t<std::is_convertible_v<T*, id>>> {
// lead to manipulating random memory when treating it as BackupRefPtr
// ref-count. See also https://crbug.com/1262017.
//
// TODO(https://crbug.com/1262017): Cover other handle types like HANDLE,
// TODO(crbug.com/40799223): Cover other handle types like HANDLE,
// HLOCAL, HINTERNET, or HDEVINFO. Maybe we should avoid using raw_ptr<T> when
// T=void (as is the case in these handle types). OTOH, explicit,
// non-template-based raw_ptr<void> should be allowed. Maybe this can be solved

@ -15,7 +15,7 @@
#if defined(OFFICIAL_BUILD) && !BUILDFLAG(FORCE_ENABLE_RAW_PTR_EXCLUSION)
// The annotation changed compiler output and increased binary size so disable
// for official builds.
// TODO(crbug.com/1320670): Remove when issue is resolved.
// TODO(crbug.com/40836910): Remove when issue is resolved.
#define RAW_PTR_EXCLUSION
#else
// Marks a field as excluded from the `raw_ptr<T>` usage enforcement via

@ -326,7 +326,7 @@ class PoolOffsetFreelistEntry {
(next_address & kSuperPageBaseMask);
#if BUILDFLAG(USE_FREESLOT_BITMAP)
// TODO(crbug.com/1461983): Add support for freeslot bitmaps.
// TODO(crbug.com/40274683): Add support for freeslot bitmaps.
static_assert(false, "USE_FREESLOT_BITMAP not supported");
#else
constexpr bool marked_as_free_in_bitmap = true;

@ -292,7 +292,7 @@ class AllocatorShimTest : public testing::Test {
static size_t MaxSizeTracked() {
#if BUILDFLAG(IS_IOS)
// TODO(crbug.com/1077271): 64-bit iOS uses a page size that is larger than
// TODO(crbug.com/40129080): 64-bit iOS uses a page size that is larger than
// SystemPageSize(), causing this test to make larger allocations, relative
// to SystemPageSize().
return 6 * partition_alloc::internal::SystemPageSize();

@ -209,7 +209,7 @@ bool MUAwareTaskBasedBackend::NeedsToImmediatelyScan() {
base::TimeDelta MUAwareTaskBasedBackend::UpdateDelayedSchedule() {
ScopedGuard guard(scheduler_lock_);
// TODO(1197479): Adjust schedule to current heap sizing.
// TODO(crbug.com/40176938): Adjust schedule to current heap sizing.
const auto delay = earliest_next_scan_time_ - base::TimeTicks::Now();
PA_PCSCAN_VLOG(3) << "Schedule is off by " << delay.InMillisecondsF() << "ms";
return delay >= base::TimeDelta() ? delay : base::TimeDelta();

@ -633,7 +633,7 @@ PA_ALWAYS_INLINE void ThreadCache::PutInBucket(Bucket& bucket,
void* slot_start_tagged = std::assume_aligned<internal::kAlignment>(
internal::SlotStartAddr2Ptr(slot_start));
#else
// TODO(crbug.com/1429450): std::assume_aligned introuces an additional
// TODO(crbug.com/40262684): std::assume_aligned introuces an additional
// dependency: _libcpp_verbose_abort(const char*, ...). It will cause
// "undefined symbol" error when linking allocator_shim.dll.
void* slot_start_tagged = internal::SlotStartAddr2Ptr(slot_start);

@ -9,7 +9,7 @@ import java.util.List;
/**
* Utility methods for {@link CachedFlag}.
*
* TODO(crbug.com/1442347): Rename this to CachedFlagUtils.
* <p>TODO(crbug.com/40266922): Rename this to CachedFlagUtils.
*/
public class CachedFlagUtils {
/** Caches flags that must take effect on startup but are set via native code. */

@ -62,7 +62,7 @@ public class LibraryLoader {
static final boolean DEBUG = false;
// Compile time switch for sharing RELRO between the browser and the app zygote.
// TODO(crbug.com/1154224): remove when the issue is closed.
// TODO(crbug.com/40159355): remove when the issue is closed.
private static final boolean ALLOW_CHROMIUM_LINKER_IN_ZYGOTE = true;
// Shared preferences key for the background thread pool setting.

@ -27,7 +27,7 @@ import org.chromium.base.test.BaseRobolectricTestRunner;
public class LazyOneshotSupplierTest {
@Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
// TODO(https://crbug.com/1498561): Switch to @Mock once the default #bind works on mocks.
// TODO(crbug.com/40287492): Switch to @Mock once the default #bind works on mocks.
@Spy private Callback<Object> mOnAvailable;
@Test

@ -197,7 +197,7 @@ TEST_F(LinkerTest, FindReservedMemoryRegion) {
return;
}
// TODO(crbug.com/1223747): Check that only non-low-end Android Q+ devices
// TODO(crbug.com/40774803): Check that only non-low-end Android Q+ devices
// reach this point.
// Create a properly named synthetic region with a size smaller than a real

@ -132,7 +132,7 @@ class CallbackListBase {
using CallbackType =
typename CallbackListTraits<CallbackListImpl>::CallbackType;
// TODO(crbug.com/1103086): Update references to use this directly and by
// TODO(crbug.com/40139093): Update references to use this directly and by
// value, then remove.
using Subscription = CallbackListSubscription;

@ -221,7 +221,8 @@ class LRUCacheBase {
const LruCacheType&);
ValueList ordering_;
// TODO(crbug.com/1472363): Remove annotation once crbug.com/1472363 is fixed.
// TODO(crbug.com/40069408): Remove annotation once crbug.com/1472363 is
// fixed.
__attribute__((annotate("blink_gc_plugin_ignore"))) KeyIndex index_;
size_type max_size_;

@ -202,7 +202,7 @@ struct BASE_EXPORT AllocationTraceRecorderStatistics {
// Note: As a process might be terminated for whatever reason while stack
// traces are being written, the recorded data may contain some garbage.
//
// TODO(https://crbug.com/1419908): Evaluate the impact of the shared cache
// TODO(crbug.com/40258550): Evaluate the impact of the shared cache
// lines between entries.
class BASE_EXPORT AllocationTraceRecorder {
public:

@ -1337,7 +1337,7 @@ void GetDwarfCompileUnitOffsets(const void* const* trace,
continue;
}
// TODO(https://crbug.com/1335630): Consider exposing the end address so a
// TODO(crbug.com/40228616): Consider exposing the end address so a
// range of frames can be bulk-populated. This was originally implemented,
// but line number symbolization is currently broken by default (and also
// broken in sandboxed processes). The various issues will be addressed

@ -715,7 +715,7 @@ TEST_F(FilePathWatcherTest, NonExistentDirectory) {
// The delegate is only watching the file. Parent directory creation should
// not trigger an event.
ASSERT_TRUE(CreateDirectory(dir));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
// It may take some time for `watcher` to re-construct its watch list, so it's
// possible an event is missed. _At least_ one event should be fired, though.
@ -759,7 +759,7 @@ TEST_F(FilePathWatcherTest, DirectoryChain) {
for (const auto& dir_name : dir_names) {
sub_path = sub_path.AppendASCII(dir_name);
ASSERT_TRUE(CreateDirectory(sub_path));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
}
// It may take some time for `watcher` to re-construct its watch list, so it's
@ -824,7 +824,7 @@ TEST_F(FilePathWatcherTest, DeleteAndRecreate) {
delegate.RunUntilEventsMatch(event_expecter);
}
// TODO(https://crbug.com/1432064): Split into smaller tests.
// TODO(crbug.com/40263777): Split into smaller tests.
TEST_F(FilePathWatcherTest, WatchDirectory) {
FilePathWatcher watcher;
FilePath dir(temp_dir_.GetPath().AppendASCII("dir"));
@ -850,8 +850,8 @@ TEST_F(FilePathWatcherTest, WatchDirectory) {
#if !BUILDFLAG(IS_APPLE)
ASSERT_TRUE(WriteFile(file1, "content v2"));
// Mac implementation does not detect files modified in a directory.
// TODO(https://crbug.com/1432064): Expect that no events are fired on Mac.
// TODO(https://crbug.com/1019297): Consider using FSEvents to support
// TODO(crbug.com/40263777): Expect that no events are fired on Mac.
// TODO(crbug.com/40105284): Consider using FSEvents to support
// watching a directory and its immediate children, as Type::kNonRecursive
// does on other platforms.
VLOG(1) << "Waiting for file1 modification";
@ -889,7 +889,7 @@ TEST_F(FilePathWatcherTest, MoveParent) {
// We should only get notified on `subdir_delegate` of its creation.
ASSERT_TRUE(CreateDirectory(subdir));
subdir_event_expecter.AddExpectedEventForPath(subdir);
// TODO(https://crbug.com/1432064): Expect that no events are fired on the
// TODO(crbug.com/40263777): Expect that no events are fired on the
// file delegate.
subdir_delegate.RunUntilEventsMatch(subdir_event_expecter);
@ -923,7 +923,7 @@ TEST_F(FilePathWatcherTest, RecursiveWatch) {
}
ASSERT_TRUE(setup_result);
// TODO(https://crbug.com/1432064): Create a version of this test which also
// TODO(crbug.com/40263777): Create a version of this test which also
// verifies that the events occur on the correct file path if the watcher is
// set up to record the target of the event.
@ -966,7 +966,7 @@ TEST_F(FilePathWatcherTest, RecursiveWatch) {
delegate.RunUntilEventsMatch(event_expecter);
// Mac and Win don't generate events for Touch.
// TODO(https://crbug.com/1432064): Add explicit expectations for Mac and Win.
// TODO(crbug.com/40263777): Add explicit expectations for Mac and Win.
// Android TouchFile returns false.
#if !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID))
// Touch "$dir".
@ -978,7 +978,7 @@ TEST_F(FilePathWatcherTest, RecursiveWatch) {
event_expecter.AddExpectedEventForPath(dir);
event_expecter.AddExpectedEventForPath(dir);
delegate.RunUntilEventsMatch(event_expecter);
// TODO(https://crbug.com/1432064): Add a test touching `subdir`.
// TODO(crbug.com/40263777): Add a test touching `subdir`.
#endif // !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID))
// Create "$dir/subdir/subdir_file1".
@ -1053,7 +1053,7 @@ TEST_F(FilePathWatcherTest, RecursiveWithSymLink) {
ASSERT_TRUE(SetupWatch(symlink, &watcher, &delegate,
FilePathWatcher::Type::kRecursive));
// TODO(https://crbug.com/1432064): Figure out what the intended behavior here
// TODO(crbug.com/40263777): Figure out what the intended behavior here
// is. Many symlink operations don't seem to be supported on Mac, while in
// other cases Mac fires more events than expected.
@ -1079,7 +1079,7 @@ TEST_F(FilePathWatcherTest, RecursiveWithSymLink) {
// Link change.
FilePath target2(temp_dir_.GetPath().AppendASCII("target2"));
ASSERT_TRUE(CreateDirectory(target2));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
ASSERT_TRUE(DeleteFile(symlink));
event_expecter.AddExpectedEventForPath(symlink);
@ -1265,7 +1265,7 @@ TEST_F(FilePathWatcherTest, LinkedDirectoryPart1) {
ASSERT_TRUE(WriteFile(file, "content v2"));
VLOG(1) << "Waiting for file creation + modification";
// TODO(https://crbug.com/1432064): Should this fire two events on inotify?
// TODO(crbug.com/40263777): Should this fire two events on inotify?
event_expecter.AddExpectedEventForPath(linkfile);
delegate.RunUntilEventsMatch(event_expecter);
@ -1282,7 +1282,7 @@ TEST_F(FilePathWatcherTest, LinkedDirectoryPart1) {
// Verify that watching a file whose parent directory is a
// dangling symlink works if the directory is created eventually.
// TODO(https://crbug.com/1432064): Add test coverage for symlinked file
// TODO(crbug.com/40263777): Add test coverage for symlinked file
// creation independent of a corresponding write.
TEST_F(FilePathWatcherTest, LinkedDirectoryPart2) {
FilePathWatcher watcher;
@ -1300,7 +1300,7 @@ TEST_F(FilePathWatcherTest, LinkedDirectoryPart2) {
FilePathWatcher::Type::kNonRecursive));
ASSERT_TRUE(CreateDirectory(dir));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
// It may take some time for `watcher` to re-construct its watch list, so it's
// possible an event is missed. _At least_ one event should be fired, though.
@ -1845,7 +1845,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
// to access the file.
ASSERT_TRUE(ChangeFilePermissions(test_dir1, Read, false));
ASSERT_TRUE(ChangeFilePermissions(test_dir1, Read, true));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
// We should get notified in this case because filepathwatcher can no
// longer access the file.
@ -1854,7 +1854,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) {
delegate.RunUntilEventsMatch(event_expecter);
ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true));
// TODO(https://crbug.com/1432064): Expect that no events are fired.
// TODO(crbug.com/40263777): Expect that no events are fired.
}
#endif // BUILDFLAG(IS_APPLE)
@ -1938,7 +1938,7 @@ TEST_F(FilePathWatcherTest, TrivialDirMove) {
#endif // BUILDFLAG(IS_APPLE)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
// TODO(https://crbug.com/1432064): Ideally most all of the tests above would be
// TODO(crbug.com/40263777): Ideally most all of the tests above would be
// parameterized in this way.
// TODO(https://crbug.com/1425601): ChangeInfo is currently only supported by
// the inotify based implementation.

@ -409,7 +409,7 @@ class OwnedRefWrapper {
// 2) `is_valid_` is distinct from `nullptr` because it is valid to bind a null
// scoper to a `Callback` and allow the `Callback` to execute once.
//
// TODO(crbug.com/1326449): We have rvalue references and such now. Remove.
// TODO(crbug.com/40840557): We have rvalue references and such now. Remove.
template <typename T>
class PassedWrapper {
public:

@ -24,7 +24,7 @@ namespace base {
// Deprecated: Computes a hash of a memory buffer, use FastHash() instead.
// If you need to persist a change on disk or between computers, use
// PersistentHash().
// TODO(https://crbug.com/1025358): Migrate client code to new hash function.
// TODO(crbug.com/40107835): Migrate client code to new hash function.
BASE_EXPORT uint32_t Hash(const std::string& str);
// Really *fast* and high quality hash.

@ -150,7 +150,7 @@ TEST_F(SharedMemoryMappingTest, TooBigSpanWithExplicitElementCount) {
// the creation of a 1GB shared memory region, but don't allow the region to be
// mapped.
#if !BUILDFLAG(IS_IOS)
// TODO(crbug.com/1334079) Fix flakiness and re-enable on Linux and ChromeOS.
// TODO(crbug.com/40846204) Fix flakiness and re-enable on Linux and ChromeOS.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#define MAYBE_TotalMappedSizeLimit DISABLED_TotalMappedSizeLimit
#else

@ -218,7 +218,7 @@ bool MessagePumpEpoll::WaitForEpollEvents(TimeDelta timeout) {
// `timeout` has microsecond resolution, but timeouts accepted by epoll_wait()
// are integral milliseconds. Round up to the next millisecond.
// TODO(https://crbug.com/1382894): Consider higher-resolution timeouts.
// TODO(crbug.com/40245876): Consider higher-resolution timeouts.
const int epoll_timeout =
timeout.is_max() ? -1
: saturated_cast<int>(timeout.InMillisecondsRoundedUp());

@ -14,8 +14,8 @@
#include "base/metrics/histogram_base.h"
#include "base/time/time.h"
// TODO(crbug/1265443): Update this file's function comments to provide more
// detail, like histogram_macros.h.
// TODO(crbug.com/40801421): Update this file's function comments to provide
// more detail, like histogram_macros.h.
//
// Functions for recording metrics.
//

@ -322,7 +322,7 @@ class ObserverList {
// Determine whether a particular observer is in the list.
bool HasObserver(const ObserverType* obs) const {
// Client code passing null could be confused by the treatment of observers
// removed mid-iteration. TODO(https://crbug.com/876588): This should
// removed mid-iteration. TODO(crbug.com/40590447): This should
// probably DCHECK, but some client code currently does pass null.
if (obs == nullptr)
return false;

@ -120,7 +120,7 @@ TEST_F(PathServiceTest, Get) {
#if BUILDFLAG(IS_ANDROID)
// The following keys are not intended to be implemented on Android (see
// crbug.com/1257402). Current implementation is described before each key.
// TODO(crbug.com/1257402): Remove the definition of these keys on Android
// TODO(crbug.com/40796336): Remove the definition of these keys on Android
// or at least fix the behavior of DIR_HOME.
constexpr std::array kUnsupportedKeys = {
// Though DIR_HOME is not intended to be supported, PathProviderPosix

@ -75,7 +75,7 @@ using partition_alloc::win::kOomExceptionCode;
// *Must* be used to free memory allocated with base::UncheckedMalloc() and
// base::UncheckedCalloc().
// TODO(crbug.com/1279371): Enforce it, when all callers are converted.
// TODO(crbug.com/40208525): Enforce it, when all callers are converted.
BASE_EXPORT void UncheckedFree(void* ptr);
// Function object which invokes 'UncheckedFree' on its parameter, which should

@ -653,7 +653,7 @@ TEST_F(OutOfMemoryHandledTest, NewReleasesReservation) {
// Android's allocator does not allow overcommits, so very large
// UncheckedMallocs will yield OOM errors.
// TODO(crbug.com/1112840): Fails on some Android bots.
// TODO(crbug.com/40143202): Fails on some Android bots.
#define MAYBE_UncheckedMallocDies DISABLED_UncheckedMallocDies
#define MAYBE_UncheckedCallocDies DISABLED_UncheckedCallocDies
TEST_F(OutOfMemoryDeathTest, MAYBE_UncheckedMallocDies) {

@ -324,7 +324,7 @@ void TestLibraryUnload(bool wait_until_unloaded, ModuleCache* module_cache) {
NativeLibrary other_library = LoadOtherLibrary();
// TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged`
// TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged`
UnwindScenario scenario(BindRepeating(
&CallThroughOtherLibrary, UnsafeDanglingUntriaged(other_library)));

@ -53,7 +53,7 @@ BASE_EXPORT uint64_t RandUint64();
// Returns a random number between min and max (inclusive). Thread-safe.
//
// TODO(crbug.com/1488681): Change from fully-closed to half-closed (i.e.
// TODO(crbug.com/40283703): Change from fully-closed to half-closed (i.e.
// exclude `max`) to parallel other APIs here.
BASE_EXPORT int RandInt(int min, int max);

@ -314,7 +314,7 @@ TEST_F(SamplingHeapProfilerTest, StartStop) {
EXPECT_EQ(0, GetRunningSessionsCount());
}
// TODO(crbug.com/1116543): Test is crashing on Mac.
// TODO(crbug.com/40711998): Test is crashing on Mac.
#if BUILDFLAG(IS_MAC)
#define MAYBE_ConcurrentStartStop DISABLED_ConcurrentStartStop
#else

@ -38,7 +38,7 @@ bool WaitableEventWatcher::StartWatching(
// UnsafeDanglingUntriaged triggered by test:
// WaitableEventWatcherDeletionTest.SignalAndDelete
// TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged`
// TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged`
callback_ =
BindOnce(std::move(callback), base::UnsafeDanglingUntriaged(event));

@ -140,7 +140,7 @@ bool WaitableEventWatcher::StartWatching(
cancel_flag_ = new Flag;
// UnsafeDanglingUntriaged triggered by test:
// WaitableEventWatcherDeletionTest.SignalAndDelete
// TODO(https://crbug.com/1380714): Remove `UnsafeDanglingUntriaged`
// TODO(crbug.com/40061562): Remove `UnsafeDanglingUntriaged`
OnceClosure internal_callback =
base::BindOnce(&AsyncCallbackHelper, base::RetainedRef(cancel_flag_),
std::move(callback), base::UnsafeDanglingUntriaged(event));

@ -61,7 +61,7 @@ bool JobDelegate::ShouldYield() {
}
void JobDelegate::YieldIfNeeded() {
// TODO(crbug.com/839091): Implement this.
// TODO(crbug.com/40574605): Implement this.
}
void JobDelegate::NotifyConcurrencyIncrease() {

@ -755,8 +755,8 @@ void SequenceManagerImpl::MaybeAddLeewayToTask(Task& task) const {
}
}
// TODO(crbug/1267874): Rename once ExplicitHighResolutionTimerWin experiment is
// shipped.
// TODO(crbug.com/40204558): Rename once ExplicitHighResolutionTimerWin
// experiment is shipped.
bool SequenceManagerImpl::HasPendingHighResolutionTasks() {
// Only consider high-res tasks in the |wake_up_queue| (ignore the
// |non_waking_wake_up_queue|).

@ -1605,7 +1605,7 @@ TaskQueueImpl::DelayedIncomingQueue::DelayedIncomingQueue() = default;
TaskQueueImpl::DelayedIncomingQueue::~DelayedIncomingQueue() = default;
void TaskQueueImpl::DelayedIncomingQueue::push(Task task) {
// TODO(crbug.com/1247285): Remove this once the cause of corrupted tasks in
// TODO(crbug.com/40789839): Remove this once the cause of corrupted tasks in
// the queue is understood.
CHECK(task.task);
if (task.is_high_res)

@ -400,7 +400,7 @@ class BASE_EXPORT TaskQueueImpl : public TaskQueue {
return pending_high_res_tasks_;
}
// TODO(crbug.com/1155905): we pass SequenceManager to be able to record
// TODO(crbug.com/40735653): we pass SequenceManager to be able to record
// crash keys. Remove this parameter after chasing down this crash.
void SweepCancelledTasks(SequenceManagerImpl* sequence_manager);
Value::List AsValue(TimeTicks now) const;

@ -596,7 +596,7 @@ bool ThreadController::RunLevelTracker::TimeKeeper::ShouldRecordNow(
// cycle in which `histogram_` is enabled. Only start recording from there.
// Ignore any nested phases. `reqs` may indicate exceptions to this.
//
// TODO(crbug.com/1329717): In a follow-up, we could probably always be
// TODO(crbug.com/40226913): In a follow-up, we could probably always be
// tracking the phases of the pump and merely ignore the reporting if
// `histogram_` isn't set.
switch (reqs) {

@ -37,7 +37,7 @@ class BASE_EXPORT ThreadControllerImpl : public ThreadController,
ThreadControllerImpl& operator=(const ThreadControllerImpl&) = delete;
~ThreadControllerImpl() override;
// TODO(https://crbug.com/948051): replace |funneled_sequence_manager| with
// TODO(crbug.com/40620995): replace |funneled_sequence_manager| with
// |funneled_task_runner| when we sort out the workers
static std::unique_ptr<ThreadControllerImpl> Create(
SequenceManagerImpl* funneled_sequence_manager,

@ -19,7 +19,8 @@ BASE_FEATURE(kUsePowerMonitorWithThreadController,
"UsePowerMonitorWithThreadController",
FEATURE_ENABLED_BY_DEFAULT);
// TODO(1074332): Remove this when the experiment becomes the default.
// TODO(crbug.com/40127966): Remove this when the experiment becomes the
// default.
bool g_use_thread_controller_power_monitor_ = false;
} // namespace

@ -248,7 +248,7 @@ class BASE_EXPORT SequencedTaskRunner : public TaskRunner {
// `PostTask`. Since `task` may run synchronously, it is generally not
// appropriate to invoke this if `task` may take a long time to run.
//
// TODO(crbug.com/1503967): This API is still in development. It doesn't yet
// TODO(crbug.com/40944462): This API is still in development. It doesn't yet
// support SequenceLocalStorage.
virtual bool RunOrPostTask(subtle::RunOrPostTaskPassKey,
const Location& from_here,

@ -47,7 +47,7 @@ constexpr size_t kMaxNumberOfWorkers = 256;
// be scheduled concurrently when we believe that a BEST_EFFORT task is
// blocked forever.
// Currently, only 1. is true as the configuration is per thread group.
// TODO(https://crbug.com/927755): Fix racy condition when MayBlockThreshold ==
// TODO(crbug.com/40612168): Fix racy condition when MayBlockThreshold ==
// BlockedWorkersPoll.
constexpr TimeDelta kForegroundMayBlockThreshold = Milliseconds(1000);
constexpr TimeDelta kForegroundBlockedWorkersPoll = Milliseconds(1200);
@ -464,7 +464,7 @@ ThreadGroup::GetScopedWindowsThreadEnvironment(WorkerEnvironment environment) {
if (environment == WorkerEnvironment::COM_MTA) {
scoped_environment = std::make_unique<win::ScopedWinrtInitializer>();
// TODO(crbug.com/1498668): rollback the change or replace it with a CHECK
// TODO(crbug.com/40076080): rollback the change or replace it with a CHECK
// before closing the bug.
DUMP_WILL_BE_CHECK(scoped_environment->Succeeded());
}

@ -65,11 +65,11 @@ public class BaseJUnit4ClassRunner extends AndroidJUnit4ClassRunner {
* Provides access to the test class (and the annotations defined for it) and the
* instrumentation context.
*
* The only reason to use a ClassHook instead of a TestRule is because @BeforeClass/@AfterClass
* run during test listing, or multiple times for parameterized tests. See
* https://crbug.com/1090043.
* <p>The only reason to use a ClassHook instead of a TestRule is
* because @BeforeClass/@AfterClass run during test listing, or multiple times for parameterized
* tests. See https://crbug.com/1090043.
*
* TODO(https://crbug.com/1092646): Migrate all Class/Test Hooks to TestRules.
* <p>TODO(crbug.com/40134682): Migrate all Class/Test Hooks to TestRules.
*/
public interface ClassHook {
/**

@ -1510,7 +1510,7 @@ TEST_F(TaskEnvironmentTest, NoCOMEnvironment) {
}
#endif // BUILDFLAG(IS_WIN)
// TODO(crbug.com/1318840): Re-enable this test
// TODO(crbug.com/40835641): Re-enable this test
#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
#define MAYBE_ParallelExecutionFence DISABLED_ParallelExecutionFence
#else

@ -558,7 +558,7 @@ void TestSuite::Initialize() {
base::debug::AsanService::GetInstance()->Initialize();
#endif
// TODO(https://crbug.com/1400058): Enable BackupRefPtr in unittests on
// TODO(crbug.com/40250141): Enable BackupRefPtr in unittests on
// Android too. Same for ASAN.
// TODO(https://crbug.com/1413674): Enable PartitionAlloc in unittests with
// ASAN.

@ -1083,7 +1083,7 @@ void HangWatchDeadline::SetDeadline(TimeTicks new_deadline) {
std::memory_order_relaxed);
}
// TODO(crbug.com/1087026): Add flag DCHECKs here.
// TODO(crbug.com/40132796): Add flag DCHECKs here.
bool HangWatchDeadline::SetShouldBlockOnHang(uint64_t old_flags,
TimeTicks old_deadline) {
DCHECK(old_deadline <= Max()) << "Value too high to be represented.";
@ -1182,7 +1182,7 @@ uint64_t HangWatchDeadline::SwitchBitsForTesting() {
HangWatchState::HangWatchState(HangWatcher::ThreadType thread_type)
: resetter_(&hang_watch_state, this, nullptr), thread_type_(thread_type) {
// TODO(crbug.com/1223033): Remove this once macOS uses system-wide ids.
// TODO(crbug.com/40187449): Remove this once macOS uses system-wide ids.
// On macOS the thread ids used by CrashPad are not the same as the ones
// provided by PlatformThread. Make sure to use the same for correct
// attribution.

@ -691,7 +691,7 @@ TEST_F(HangWatcherSnapshotTest, NonActionableReport) {
}
}
// TODO(crbug.com/1223033): On MAC, the base::PlatformThread::CurrentId(...)
// TODO(crbug.com/40187449): On MAC, the base::PlatformThread::CurrentId(...)
// should return the system wide IDs. The HungThreadIDs test fails because the
// reported process ids do not match.
#if BUILDFLAG(IS_MAC)

@ -296,7 +296,7 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type,
MessagePumpType pump_type_hint) {
// Changing the priority of the main thread causes performance
// regressions. https://crbug.com/601270
// TODO(https://crbug.com/1280764): Remove this check. kCompositing is the
// TODO(crbug.com/40209052): Remove this check. kCompositing is the
// default on Mac, so this check is counter intuitive.
if ([[NSThread currentThread] isMainThread] &&
thread_type >= ThreadType::kCompositing &&

@ -257,7 +257,7 @@ class SequenceBound {
// object. This allows arbitrary logic to be safely executed on the object's
// task runner. The object is guaranteed to remain alive for the duration of
// the task.
// TODO(crbug.com/1182140): Consider checking whether the task runner can run
// TODO(crbug.com/40170667): Consider checking whether the task runner can run
// tasks in current sequence, and using "plain" binds and task posting (here
// and other places that `CrossThreadTraits::PostTask`).
using ConstPostTaskCallback = CrossThreadTask<void(const UnwrappedT&)>;

@ -116,7 +116,7 @@ Time Time::Midnight(bool is_local) const {
[[maybe_unused]] const bool result =
FromExploded(is_local, exploded, &out_time);
#if BUILDFLAG(IS_CHROMEOS_ASH) && defined(ARCH_CPU_ARM_FAMILY)
// TODO(crbug.com/1263873): DCHECKs have limited coverage during automated
// TODO(crbug.com/40800460): DCHECKs have limited coverage during automated
// testing on CrOS and this check failed when tested on an experimental
// builder. Testing for ARCH_CPU_ARM_FAMILY prevents regressing coverage on
// x86_64, which is already enabled. See go/chrome-dcheck-on-cros or

@ -643,7 +643,7 @@ class BASE_EXPORT Time : public time_internal::TimeBase<Time> {
// Converts time to/from a number of seconds since the Unix epoch (Jan 1,
// 1970).
//
// TODO(crbug.com/1495550): Add integral versions and use them.
// TODO(crbug.com/40286582): Add integral versions and use them.
// TODO(crbug.com/1495554): Add ...PreservingNull() versions; see comments in
// the implementation of FromSecondsSinceUnixEpoch().
static constexpr Time FromSecondsSinceUnixEpoch(double dt);

@ -60,7 +60,7 @@ void ETWInterceptor::Delegate::OnTrackEvent(
break;
}
DCHECK_NE(nullptr, phase_string);
// TODO(crbug.com/1465855): Consider exporting thread time once
// TODO(crbug.com/40276149): Consider exporting thread time once
// TrackEventStateTracker supports it.
if (event.track_event.type() ==
perfetto::protos::pbzero::TrackEvent::TYPE_SLICE_END) {

@ -152,7 +152,7 @@ class Map
// Iterates over base::win::Map.
// Its methods return E_CHANGED_STATE is the map is modified.
// TODO(https://crbug.com/987533): Refactor MapIterator to leverage
// TODO(crbug.com/40637532): Refactor MapIterator to leverage
// std::map::iterator.
class MapIterator
: public Microsoft::WRL::RuntimeClass<

@ -485,7 +485,8 @@ def _CheckForMissingSymbols(r8_path, dex_files, classpath, warnings_as_errors,
# Found in: com/facebook/fbui/textlayoutbuilder/StaticLayoutHelper
'android.text.StaticLayout.<init>',
# TODO(crbug/1426964): Remove once chrome builds with Android U SDK.
# TODO(crbug.com/40261573): Remove once chrome builds with Android U
# SDK.
' android.',
# Explicictly guarded by try (NoClassDefFoundError) in Flogger's

@ -600,8 +600,8 @@ class LocalDeviceGtestRun(local_device_test_run.LocalDeviceTestRun):
]
flags.append('--gtest_list_tests')
# TODO(crbug.com/726880): Remove retries when no longer necessary.
for i in range(0, retries+1):
# TODO(crbug.com/40522854): Remove retries when no longer necessary.
for i in range(0, retries + 1):
logging.info('flags:')
for f in flags:
logging.info(' %s', f)

@ -1184,7 +1184,7 @@ class _AvdInstance:
return self._emulator_device
# TODO(crbug.com/1275767): Refactor it to a dict-based approach.
# TODO(crbug.com/40207212): Refactor it to a dict-based approach.
def _EnsureSystemSettings(device):
set_long_press_timeout_cmd = [
'settings', 'put', 'secure', 'long_press_timeout', _LONG_PRESS_TIMEOUT
@ -1202,7 +1202,7 @@ def _EnsureSystemSettings(device):
else:
logging.warning('long_press_timeout is not set correctly')
# TODO(crbug.com/1488458): Move the date sync function to device_utils.py
# TODO(crbug.com/40283631): Move the date sync function to device_utils.py
if device.IsUserBuild():
logging.warning('Cannot sync the device date on "user" build')
return
@ -1231,7 +1231,7 @@ def _EnsureSystemSettings(device):
def _EnableNetwork(device):
logging.info('Enable the network on the emulator.')
# TODO(https://crbug.com/1486376): Remove airplane_mode once all AVD
# TODO(crbug.com/40282869): Remove airplane_mode once all AVD
# are rolled to svc-based version.
device.RunShellCommand(
['settings', 'put', 'global', 'airplane_mode_on', '0'], as_root=True)

@ -224,7 +224,8 @@ class LocalMachineJunitTestRun(test_run.TestRun):
with open(self._test_instance.json_config) as f:
json_config = json.load(f)
else:
# TODO(1384204): This step can take 3-4 seconds for chrome_junit_tests.
# TODO(crbug.com/40878339): This step can take 3-4 seconds for
# chrome_junit_tests.
try:
json_config = self._QueryTestJsonConfig(temp_dir, allow_debugging=False)
except subprocess.CalledProcessError:

@ -139,7 +139,7 @@ def GetDataDependencies(runtime_deps_path):
os.path.abspath(os.path.join(output_directory, r))
for r in rel_host_files]
filtered_abs_host_files = _FilterDataDeps(abs_host_files)
# TODO(crbug.com/752610): Filter out host executables, and investigate
# TODO(crbug.com/40533647): Filter out host executables, and investigate
# whether other files could be filtered as well.
return [(f, DevicePathComponentsFor(f, output_directory))
for f in filtered_abs_host_files]

@ -32,7 +32,7 @@ from pylib.base import base_test_result # pylint: disable=import-error
from pylib.results import json_results # pylint: disable=import-error
sys.path.insert(0, os.path.join(CHROMIUM_SRC_PATH, 'build', 'util'))
# TODO(crbug.com/1421441): Re-enable the 'no-name-in-module' check.
# TODO(crbug.com/40259280): Re-enable the 'no-name-in-module' check.
from lib.results import result_sink # pylint: disable=import-error,no-name-in-module
import subprocess # pylint: disable=import-error,wrong-import-order

@ -6,7 +6,7 @@
#
# Prepares a CIPD archive and generates a manifest file.
#
# TODO(crbug.com/1042819): Add support for including directories.
# TODO(crbug.com/40115002): Add support for including directories.
#
# Parameters:
# package_definition_yaml: CIPD package definition filename. "cipd.yaml"

@ -20,7 +20,7 @@ declare_args() {
((is_linux && !is_castos) || (is_android && !is_cast_android) || is_mac ||
is_win || is_chromeos_lacros || is_chromeos_ash)
# TODO(crbug.com/1446146): Merge with enable_check_raw_ptr_fields once both
# TODO(crbug.com/40268473): Merge with enable_check_raw_ptr_fields once both
# checks are activated on the same set of platforms.
enable_check_raw_ref_fields =
build_with_chromium && !is_official_build &&

@ -612,7 +612,7 @@ config("compiler") {
# TODO(crbug.com/1488374): This causes binary size growth and potentially
# other problems.
# TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
# TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
if (default_toolchain != "//build/toolchain/cros:target" &&
!llvm_android_mainline) {
cflags += [

@ -28,7 +28,7 @@ template("ios_test_runner_xcuitest") {
"data_deps",
])
# TODO(crbug.com/1056328) Because we change the target name, the subnodes
# TODO(crbug.com/40120290) Because we change the target name, the subnodes
# are going to append with the _test in the naming, which won't be backwards
# compatible during migration from iOS recipe to Chromium.
output_name = "${_target_name}"

@ -1792,7 +1792,7 @@ template("ios_xctest_test") {
product_type = _ios_xcode_xctest_bundle_id
host_target = _host_target
# TODO(crbug.com/1056328) The change in output name results in a mismatch
# TODO(crbug.com/40120290) The change in output name results in a mismatch
# between this value and the ios_app_bundle target name. To mitigate, this
# has been modified to _host_target. output_name is set to _host_output
# to mitigate the naming.

@ -252,7 +252,7 @@ template("cargo_crate") {
rustc_metadata = _rustc_metadata
# TODO(crbug.com/1422745): don't default to true. This requires changes to
# TODO(crbug.com/40259764): don't default to true. This requires changes to
# third_party.toml and gnrt when generating third-party build targets.
allow_unsafe = true
@ -460,7 +460,7 @@ template("cargo_crate") {
# Avoid generating profiling data for build scripts.
#
# TODO(crbug.com/1426472): determine for sure whether to remove this
# TODO(crbug.com/40261306): determine for sure whether to remove this
# config. I'm not sure of the overlap between PGO instrumentation and
# code coverage instrumentation, but we definitely don't want build
# script coverage for PGO, while we might for test coverage metrics.

@ -98,7 +98,7 @@ group("deps") {
if (can_build_rust_unit_tests) {
deps += [ "//build/rust/tests/test_cpp_including_rust:test_cpp_including_rust_dylib_unittests" ]
# TODO(crbug.com/1442273): The shared library unittest EXE ends up
# TODO(crbug.com/40266882): The shared library unittest EXE ends up
# requiring the DLL to run, even though it does not use the DLL.
if (!is_win && !is_mac) {
deps += [ "//build/rust/tests/test_rust_shared_library:test_rust_shared_library_unittests" ]

@ -152,7 +152,7 @@ const char kLsanDefaultOptions[] =
// When pointer compression in V8 is enabled the external pointers in the
// heap are guaranteed to be only 4 bytes aligned. So we need this option
// in order to ensure that LSAN will find all the external pointers.
// TODO(crbug.com/328552): see updates from 2019.
// TODO(crbug.com/40344974): see updates from 2019.
"use_unaligned=1 "
#endif // ARCH_CPU_64_BITS
;

@ -135,7 +135,7 @@ class LinkerDriver(object):
assert driver_action[0] not in linker_driver_actions
linker_driver_actions[driver_action[0]] = driver_action[1]
else:
# TODO(crbug.com/1446796): On Apple, the linker command line
# TODO(crbug.com/40268754): On Apple, the linker command line
# produced by rustc for LTO includes these arguments, but the
# Apple linker doesn't accept them.
# Upstream bug: https://github.com/rust-lang/rust/issues/60059

@ -2101,7 +2101,7 @@ std::unique_ptr<SnapSelectionStrategy> InputHandler::CreateSnapStrategy(
// Note: gesture scroll end is delayed in anticipation of future wheel
// scrolls so it is fired well after the scroll ends as opposed to precise
// touch devices where we fire it as soon as the user lifts their finger.
// TODO(crbug.com/1201678): The directional scroll should probably be
// TODO(crbug.com/40762499): The directional scroll should probably be
// triggered at gesture scroll begin to improve responsiveness.
return SnapSelectionStrategy::CreateForDirection(current_offset,
scroll_delta, true);

@ -196,7 +196,7 @@ class SnapSearchResult {
// then this will be a position inside the range. In the covered case, the
// result from FindClosestValidArea has a snap_offset_ equal to the
// intended_position() of the SnapSelectionStrategy.
// TODO(crbug.com/1472410): With refactoring it may be possible to replace
// TODO(crbug.com/40278621): With refactoring it may be possible to replace
// snap_offset_ and covered_range_ with a single range field with start == end
// for "aligned" snap positions.
float snap_offset_;

@ -3226,7 +3226,8 @@ bool GpuImageDecodeCache::TryLockImage(HaveContextLock have_context_lock,
auto* ri = context_->RasterInterface();
// If |have_context_lock|, we can immediately lock the image and send
// the lock command to the GPU process.
// TODO(crbug.com/914622): Add Chrome GL extension to upload texture array.
// TODO(crbug.com/40606304): Add Chrome GL extension to upload texture
// array.
if (data->info.yuva.has_value() &&
ri->LockDiscardableTextureCHROMIUM(data->upload.gl_y_id()) &&
ri->LockDiscardableTextureCHROMIUM(data->upload.gl_u_id()) &&

@ -107,7 +107,7 @@ SoftwareImageDecodeCacheUtils::GenerateCacheEntryFromCandidate(
SkISize::Make(key.target_size().width(), key.target_size().height());
SkImageInfo target_info =
SkImageInfo::Make(target_size, color_type, kPremul_SkAlphaType);
// TODO(crbug.com/983348): If this turns into a crasher, pass an actual
// TODO(crbug.com/40095682): If this turns into a crasher, pass an actual
// "free memory" closure.
std::unique_ptr<base::DiscardableMemory> target_pixels =
AllocateDiscardable(target_info, base::DoNothing());

@ -3791,7 +3791,7 @@ void LayerTreeHostImpl::ClearCaches() {
// comes with an invalidation and the image ids are never re-used.
bool can_clear_decode_policy_tracking = true;
tile_manager_.ClearCheckerImageTracking(can_clear_decode_policy_tracking);
// TODO(crbug.com/1378247): add tracking for which clients have used an image
// TODO(crbug.com/40243840): add tracking for which clients have used an image
// and remove entries used by only one client when the URL on that client
// changes. This should be fixed to correctly clear caches for web contents.
// This is only a problem when

@ -2789,7 +2789,7 @@ class LayerTreeHostTestDeviceScaleFactorChange : public LayerTreeHostTest {
scoped_refptr<Layer> child_layer_;
};
// TODO(crbug.com/1295115): Flaky on ChromeOS and Linux.
// TODO(crbug.com/40820956): Flaky on ChromeOS and Linux.
// SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeviceScaleFactorChange);
class LayerTreeHostTestRasterColorSpaceChange : public LayerTreeHostTest {
@ -9797,7 +9797,7 @@ class LayerTreeHostTestIgnoreEventsMetricsForNoUpdate
State state_ = State::kWaitingForFirstFrameActivation;
};
// TODO(crbug.com/1191878): Disabled because test is flaky on Linux and CrOS.
// TODO(crbug.com/40756887): Disabled because test is flaky on Linux and CrOS.
// MULTI_THREAD_TEST_F(LayerTreeHostTestIgnoreEventsMetricsForNoUpdate);
class LayerTreeHostUkmSmoothnessMetric : public LayerTreeTest {

@ -2718,7 +2718,7 @@ ElementId LayerTreeImpl::FindFrameElementIdAtPoint(
layer_list_[0].get(), &state);
if (const auto* layer = state.closest_match.get()) {
// TODO(https://crbug.com/1058870): Permit hit testing only if the framed
// TODO(crbug.com/40121347): Permit hit testing only if the framed
// element hit has a simple mask/clip. We don't have enough information
// about complex masks/clips on the impl-side to do accurate hit testing.
bool layer_hit_test_region_is_masked =

@ -2850,7 +2850,7 @@ if (current_toolchain == default_toolchain) {
# As compared to chrome_public_test_apk, this target contains only unit tests
# that require on device capabilities. These tests are smaller, more tightly
# scoped, and do not leave lingering state after execution.
# TODO(crbug.com/1238057): Set clear rules for what tests can be added here.
# TODO(crbug.com/40193330): Set clear rules for what tests can be added here.
chrome_public_test_apk_tmpl("chrome_public_unit_test_apk") {
apk_name = "ChromePublicUnitTest"
deps = [
@ -2921,7 +2921,7 @@ if (current_toolchain == default_toolchain) {
is_unit_test = true
}
# TODO(crbug.com/1238057): Rename to chrome_public_integration_test_apk
# TODO(crbug.com/40193330): Rename to chrome_public_integration_test_apk
chrome_public_test_apk_tmpl("chrome_public_test_apk") {
# TODO(wnwen): Re-enable when new lint failures are disabled for test targets.
#enable_lint = true

@ -51,7 +51,7 @@ void ChromeMainDelegateAndroid::PreSandboxStartup() {
// On some platforms pthreads can malloc internally to access higher-numbered
// TLS slots, which can cause reentry in the heap profiler. (See the comment
// on ReentryGuard::InitTLSSlot().)
// TODO(https://crbug.com/1411454): Clean up other paths that call this Init()
// TODO(crbug.com/40062835): Clean up other paths that call this Init()
// function, which are now redundant.
base::PoissonAllocationSampler::Init();

@ -150,7 +150,7 @@ int ChromeMain(int argc, const char** argv) {
// On some platforms pthreads can malloc internally to access higher-numbered
// TLS slots, which can cause reentry in the heap profiler. (See the comment
// on ReentryGuard::InitTLSSlot().)
// TODO(https://crbug.com/1411454): Clean up other paths that call this Init()
// TODO(crbug.com/40062835): Clean up other paths that call this Init()
// function, which are now redundant.
base::PoissonAllocationSampler::Init();

@ -109,7 +109,7 @@ void SodaInstallerImpl::UninstallLanguage(const std::string& language,
}
std::vector<std::string> SodaInstallerImpl::GetAvailableLanguages() const {
// TODO(crbug.com/1161569): SODA is only available for English right now.
// TODO(crbug.com/40162502): SODA is only available for English right now.
// Update this to check available languages.
return {kUsEnglishLocale};
}

@ -83,7 +83,7 @@ void WebFileHandlersPermissionHandler::Confirm(
CHECK(!base_names.empty());
// Default installed extensions can skip the file launch dialog.
// TODO(crbug.com/1448893): Remove the allowlist check after development.
// TODO(crbug.com/40269541): Remove the allowlist check after development.
// Also, for development and manual testing purposes, the manifest_features
// allowlist can also bypass the dialog.
if (WebFileHandlers::CanBypassPermissionDialog(extension)) {

@ -44,8 +44,8 @@ class WebFileHandlersPermissionHandler {
bool should_remember);
// Get apps::FileHandlers, useful for automatically obtaining file extensions.
// TODO(crbug.com/1448893): Refactor CreateIntentFiltersForExtension.
// TODO(crbug.com/1448893): Store this in place of manifest `file_handlers`.
// TODO(crbug.com/40269541): Refactor CreateIntentFiltersForExtension.
// TODO(crbug.com/40269541): Store this in place of manifest `file_handlers`.
const apps::FileHandlers GetAppsFileHandlers(const Extension& extension);
// Remember the profile when this object is created.

@ -1993,7 +1993,7 @@ IN_PROC_BROWSER_TEST_F(SoftNavigationTabRestoreTest,
browser()->tab_strip_model()->GetActiveWebContents(), 0,
blink::WebMouseEvent::Button::kLeft, gfx::Point(100, 100));
// TODO(https://crbug.com/1487628) - We're not actually getting a report on
// TODO(crbug.com/40283341) - We're not actually getting a report on
// the second navigation, as they are not committed. We need to actually wait
// for the second soft navigation and see that it fires, once the bug is
// fixed.
@ -2001,7 +2001,7 @@ IN_PROC_BROWSER_TEST_F(SoftNavigationTabRestoreTest,
// And make sure everything looks right.
EXPECT_EQ(starting_tab_count + 1, browser()->tab_strip_model()->count());
EXPECT_EQ(closed_tab_index, browser()->tab_strip_model()->active_index());
// TODO(https://crbug.com/1487628) - validate the the URL is back to the
// TODO(crbug.com/40283341) - validate the the URL is back to the
// original one, once the bug is fixed.
}

@ -100,7 +100,7 @@ void ChromeSpeechRecognitionService::LaunchIfNotRunning() {
DCHECK(profile_prefs);
DCHECK(global_prefs);
// TODO(crbug.com/1161569): Language pack path should be configurable per
// TODO(crbug.com/40162502): Language pack path should be configurable per
// SpeechRecognitionRecognizer to allow multiple features to use Speech
// recognition. For now, only Live Caption uses SpeechRecognitionService on
// non-Chrome OS Chrome, so hard-coding to the Live Caption language code.

@ -573,7 +573,7 @@ void ShowSearchEngineSettings(Browser* browser) {
void ShowWebStore(Browser* browser, const base::StringPiece& utm_source_value) {
GURL webstore_url = extension_urls::GetWebstoreLaunchURL();
// TODO(crbug.com/1488136): Refactor this check into
// TODO(crbug.com/40073814): Refactor this check into
// extension_urls::GetWebstoreLaunchURL() and fix tests relying on it.
if (base::FeatureList::IsEnabled(extensions_features::kNewWebstoreURL)) {
webstore_url = extension_urls::GetNewWebstoreLaunchURL();

@ -229,7 +229,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionsMenuModelInteractiveTest, ManageExtensions) {
MENU_ACTION_VISIT_CHROME_WEB_STORE, 0);
}
// TODO(crbug.com/1488136): Remove this test in favor of a unit test
// TODO(crbug.com/40073814): Remove this test in favor of a unit test
// extension_urls::GetWebstoreLaunchURL().
class ExtensionsMenuVisitChromeWebstoreModelInteractiveTest
: public AppMenuModelInteractiveTest,

@ -440,7 +440,7 @@ void SpeechRecognitionRecognizerImpl::ResetSoda() {
// Initialize the SODA instance.
auto api_key = google_apis::GetSodaAPIKey();
// TODO(crbug.com/1161569): Use language from SpeechRecognitionOptions
// TODO(crbug.com/40162502): Use language from SpeechRecognitionOptions
// to determine the appropriate language pack path. Note that
// SodaInstaller::GetLanguagePath() is not implemented outside of Chrome OS,
// and options_->language is not set for Live Caption.

@ -320,7 +320,7 @@ int LaunchChromeTests(size_t parallel_jobs,
// On some platforms pthreads can malloc internally to access higher-numbered
// TLS slots, which can cause reentry in the heap profiler. (See the comment
// on ReentryGuard::InitTLSSlot().)
// TODO(https://crbug.com/1411454): Clean up other paths that call this Init()
// TODO(crbug.com/40062835): Clean up other paths that call this Init()
// function, which are now redundant.
base::PoissonAllocationSampler::Init();

@ -33,7 +33,7 @@ int ChromeMain(int argc, const char** argv) {
// below is removed, this could theoretically be moved later in startup, but
// it needs to be initialized fairly early because browser tests of the heap
// profiler use the PoissonAllocationSampler.
// TODO(https://crbug.com/1411454): Clean up other paths that call this Init()
// TODO(crbug.com/40062835): Clean up other paths that call this Init()
// function, which are now redundant.
base::PoissonAllocationSampler::Init();

@ -515,7 +515,7 @@ void InProcessBrowserTest::SetUp() {
// On some platforms pthreads can malloc internally to access higher-numbered
// TLS slots, which can cause reentry in the heap profiler. (See the comment
// on ReentryGuard::InitTLSSlot().)
// TODO(https://crbug.com/1411454): Clean up other paths that call this Init()
// TODO(crbug.com/40062835): Clean up other paths that call this Init()
// function, which are now redundant.
base::PoissonAllocationSampler::Init();

@ -47,7 +47,7 @@ class NameValuePairsParserFuzzer {
std::string value = input;
value.erase(std::remove(value.begin(), value.end(), '\n'), value.end());
testInputAsVpdDumpValueForKey(value);
// TODO(crbug.com/1250434): Check that the value for "key" is |value|.
// TODO(crbug.com/40197992): Check that the value for "key" is |value|.
}
void testInputAsVpdDumpValueForKey(const std::string& input) {

Some files were not shown because too many files have changed in this diff Show More