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:

committed by
Chromium LUCI CQ

parent
7e4eb6a05a
commit
47d1537de7
android_webview
browser
lib
nonembedded
java
src
org
chromium
android_webview
services
apps
ash/system/unified
base
BUILD.gncallback_list.h
allocator
android
java
src
org
chromium
base
junit
src
org
chromium
base
supplier
linker
containers
debug
files
functional
hash
memory
message_loop
metrics
observer_list.hpath_service_unittest.ccprocess
profiler
rand_util.hsampling_heap_profiler
synchronization
task
post_job.cc
sequence_manager
sequence_manager_impl.cctask_queue_impl.cctask_queue_impl.hthread_controller.ccthread_controller_impl.hthread_controller_power_monitor.cc
sequenced_task_runner.hthread_pool
test
threading
time
trace_event
win
build
android
gyp
pylib
local
utils
chromeos
cipd
config
rust
sanitizers
toolchain
apple
cc
input
tiles
trees
chrome
android
app
browser
accessibility
extensions
sessions
speech
ui
services
test
chromeos
ash
features.gnicomponents
content_settings
heap_profiling
in_process
memory_system
content
app
browser
DEPS
accessibility
browser_accessibility_manager.ccdump_accessibility_events_browsertest.ccsite_per_process_accessibility_browsertest.cc
aggregation_service
aggregatable_report.ccaggregatable_report.haggregatable_report_assembler.ccaggregatable_report_sender.ccaggregatable_report_unittest.ccaggregation_service_key_fetcher.ccaggregation_service_key_fetcher.haggregation_service_network_fetcher_impl.ccaggregation_service_storage_sql.ccaggregation_service_storage_sql.h
attribution_reporting
attribution_host.ccattribution_internals_browsertest.ccattribution_storage_delegate_impl.ccattribution_storage_sql.ccattribution_storage_unittest.ccattributions_browsertest.ccsql_query_plan_test_util.h
back_forward_cache_network_request_browsertest.ccbluetooth
browser_child_process_host_impl.ccbrowser_child_process_host_impl_receiver_bindings.ccbrowser_child_process_observer_browsertest.ccbrowser_context_impl.ccbrowser_main_loop.ccbrowsing_data
client_hints
code_cache
compute_pressure
device_posture
devtools
file_system
file_system_access
file_system_access_bucket_path_watcher.hfile_system_access_change_source.hfile_system_access_file_handle_impl.ccfile_system_access_handle_base.ccfile_system_access_manager_impl.ccfile_system_access_observer_browsertest.ccfile_system_access_observer_host.hfile_system_access_observer_observation.ccfile_system_access_observer_observation.hfile_system_access_watch_scope.ccfile_system_access_watch_scope.hfile_system_access_watcher_manager.ccfile_system_access_watcher_manager.hfile_system_access_watcher_manager_unittest.cc
first_party_sets
database
indexed_db
interest_group
auction_process_manager.ccinterest_group_auction.ccinterest_group_auction.hinterest_group_browsertest.ccsubresource_url_authorizations.ccsubresource_url_builder.h
launch_as_mojo_client_browsertest.ccloader
media
ml
mojo_binder_policy_applier.ccmojo_binder_policy_map_impl.ccnetwork
network_service_browsertest.ccpermissions
picture_in_picture
preloading
prerender
prerender_browsertest.ccprerender_final_status.hprerender_host.ccprerender_host.hprerender_host_registry.ccprerender_host_registry.hprerender_host_registry_unittest.ccprerender_navigation_throttle.cc
prerenderer_impl.ccrenderer_host
back_forward_cache_can_store_document_result.hdata_transfer_util.ccframe_tree.cc
input
media
navigation_controller_impl.ccnavigation_request.ccnavigation_request_info.hpage_impl.ccpepper
private_network_access_browsertest.ccrender_frame_host_impl.ccrender_frame_host_impl.hrender_frame_host_impl_browsertest.ccrender_frame_host_manager.ccrender_process_host_browsertest.ccrender_process_host_impl.ccrender_widget_host_browsertest.ccrender_widget_host_view_aura_browsertest.ccrender_widget_host_view_aura_unittest.ccweb_menu_runner_ios.mmsecurity
service_process_host_impl.ccservice_worker
embedded_worker_instance.ccservice_worker_browsertest.ccservice_worker_container_host.ccservice_worker_context_core.ccservice_worker_context_wrapper.ccservice_worker_context_wrapper.hservice_worker_fetch_dispatcher.ccservice_worker_main_resource_loader.ccservice_worker_main_resource_loader_unittest.ccservice_worker_metrics.hservice_worker_version.ccservice_worker_version.h
shared_storage
shared_storage_document_service_impl.ccshared_storage_render_thread_worklet_driver.hshared_storage_url_loader_factory_proxy.ccshared_storage_worklet_host.cc
site_per_process_unload_browsertest.ccssl
storage_partition_impl.ccutility_process_host.hutility_sandbox_delegate_win.ccweb_contents
web_package
signed_exchange_envelope.ccsigned_exchange_request_handler_browsertest.ccsigned_exchange_subresource_prefetch_browsertest.cc
webid
webrtc
webrtc_audio_debug_recordings_browsertest.ccwebrtc_capture_from_element_browsertest.ccwebrtc_internals.ccwebrtc_media_recorder_browsertest.ccwebrtc_video_capture_browsertest.cc
worker_host
common
public
android
java
src
org
chromium
content_public
browser
browser
bluetooth_delegate.hbrowser_thread.hcontent_browser_client.hmojo_binder_policy_map.hnotification_database_data.hpage_user_data.hprivate_network_device_delegate.h
common
test
renderer
accessibility
browser_exposed_renderer_interfaces.ccrender_frame_impl.ccrender_thread_impl_browsertest.ccsandbox_mac_v2_unittest.mmservice_worker
services
auction_worklet
shell
app
browser
test
utility
web_test
device
extensions
browser
api
declarative_net_request
media_perception_private
messaging
storage
web_request
service_worker
url_loader_factory_manager.ccverified_contents.hcommon
api
commands
manifest_handlers
mojom
permissions
user_script.ccrenderer
test
fuchsia_web/webengine
browser
renderer
gin
google_apis
gpu
command_buffer
ipc
client
common
service
vulkan
headless
lib
test
infra/config
ios
build
bots
scripts
chrome
browser
app_launcher
autofill
model
browsing_data
content_settings
follow
metrics
overlays
segmentation_platform
shared
sync
ui
authentication
DEPSsignin_promo_view_mediator.mm
signin
consistency_promo_signin
signin_coordinator_egtest.mmtrusted_vault_reauthentication
two_screens_signin
signout_action_sheet
bookmarks
bubble
content_suggestions
credential_provider_promo
default_promo
post_restore
dialogs
first_run
history
ntp
omnibox
popup_menu
overflow_menu
settings
variations
web
model
web_performance_metrics
resources
web_selection
share_extension
net
cookies
testing
plugin
third_party
web
content
js_messaging
download
init
ipc
media
audio
base
capture
cast
filters
gpu
android
mac
test
video_encoder
vaapi
midi
mojo
common
mojom
services
muxers
renderers
test
mojo/core
net
base
cookies
disk_cache
blockfile
dns
http
log
ntlm
quic
url_request
pdf
ppapi
printing
sandbox
services
cert_verifier
integration_tests
device
compute_pressure
generic_sensor
public
network
BUILD.gnrestricted_cookie_manager.ccrestricted_cookie_manager_unittest.cc
attribution
cookie_settings_unittest.cccors
network_context.ccorb
public
mojom
throttling
trust_tokens
url_loader.ccweb_bundle
service_manager
shape_detection
android
javatests
src
org
chromium
shape_detection
video_capture
lacros
webnn
skia/ext
sql
storage/browser/file_system
testing
buildbot
OWNERS
filters
android.emulator_o.chrome_public_test_apk.filterchromeos.browser_tests.filterios.content_browsertests.filter
generate_buildbot_json.pytest_suite_exceptions.pylscripts
test.gnitools
android
avd
captured_sites
clang
scripts
determinism
disable_tests
ipc_fuzzer
json_schema_compiler
mb
metrics
perf
rust
typescript
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
Reference in New Issue
Block a user