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: Ifd155bbeff882ea939f74cf8b8f847f42847940b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5468156
Reviewed-by: Darryl James <dljames@chromium.org>
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290297}
This commit is contained in:
Alison Gale
2024-04-20 03:05:40 +00:00
committed by Chromium LUCI CQ
parent af2a84b470
commit 59c007a7ad
438 changed files with 648 additions and 636 deletions
android_webview
base
build/config
cc
content
browser
accessibility
bluetooth
browser_child_process_host_impl.cc
browsing_data
browsing_topics
cache_storage
child_process_launcher_helper.ccchild_process_security_policy_impl.cc
devtools
fenced_frame
file_system_access
gpu
handwriting
indexed_db
interest_group
loader
locks
media
navigation_transitions
network
permissions
picture_in_picture
preloading
quota
reduce_accept_language
renderer_host
resource_loading_browsertest.cc
security
service_worker
site_per_process_browsertest.ccsite_per_process_hit_test_browsertest.ccsnapshot_browsertest.cc
speech
storage_partition_impl.h
web_contents
webid
webrtc
worker_host
xr
child
common
gpu
public
renderer
services
shell
test
web_test
zygote
device
docs/experiments
extensions/browser
fuchsia_web/webengine/browser
gin
google_apis/gaia
gpu
headless
infra/config
ios
media
mojo
net
pdf
services
storage/browser
testing
tools
binary_size
libsupersize
code_coverage
js_source_maps
merge_js_source_maps
disable_tests
mb
metrics
perf
variations
ui
url

@@ -261,7 +261,7 @@ void AwBrowserContext::RegisterPrefs(PrefRegistrySimple* registry) {
// We only use the autocomplete feature of Autofill, which is controlled via // We only use the autocomplete feature of Autofill, which is controlled via
// the manager_delegate. We don't use the rest of Autofill, which is why it is // the manager_delegate. We don't use the rest of Autofill, which is why it is
// hardcoded as disabled here. // hardcoded as disabled here.
// TODO(crbug.com/873740): The following also disables autocomplete. // TODO(crbug.com/40589187): The following also disables autocomplete.
// Investigate what the intended behavior is. // Investigate what the intended behavior is.
registry->RegisterBooleanPref(autofill::prefs::kAutofillProfileEnabled, registry->RegisterBooleanPref(autofill::prefs::kAutofillProfileEnabled,
false); false);

@@ -145,10 +145,10 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
// WebView. // WebView.
aw_feature_overrides.DisableFeature(::features::kWebOTP); aw_feature_overrides.DisableFeature(::features::kWebOTP);
// TODO(https://crbug.com/1012899): WebXR is not yet supported on WebView. // TODO(crbug.com/40652382): WebXR is not yet supported on WebView.
aw_feature_overrides.DisableFeature(::features::kWebXr); aw_feature_overrides.DisableFeature(::features::kWebXr);
// TODO(https://crbug.com/1312827): Digital Goods API is not yet supported // TODO(crbug.com/40831925): Digital Goods API is not yet supported
// on WebView. // on WebView.
aw_feature_overrides.DisableFeature(::features::kDigitalGoodsApi); aw_feature_overrides.DisableFeature(::features::kDigitalGoodsApi);
@@ -170,7 +170,7 @@ void AwFieldTrials::RegisterFeatureOverrides(base::FeatureList* feature_list) {
// Disable dr-dc on webview. // Disable dr-dc on webview.
aw_feature_overrides.DisableFeature(::features::kEnableDrDc); aw_feature_overrides.DisableFeature(::features::kEnableDrDc);
// TODO(crbug.com/1100993): Web Bluetooth is not yet supported on WebView. // TODO(crbug.com/40703318): Web Bluetooth is not yet supported on WebView.
aw_feature_overrides.DisableFeature(::features::kWebBluetooth); aw_feature_overrides.DisableFeature(::features::kWebBluetooth);
// TODO(crbug.com/933055): WebUSB is not yet supported on WebView. // TODO(crbug.com/933055): WebUSB is not yet supported on WebView.

@@ -48,7 +48,7 @@ class AwFormDatabaseServiceTest : public Test {
std::unique_ptr<AwFormDatabaseService> service_; std::unique_ptr<AwFormDatabaseService> service_;
}; };
// TODO(https://crbug.com/1472844): Fix flakes. // TODO(crbug.com/40278752): Fix flakes.
TEST_F(AwFormDatabaseServiceTest, DISABLED_HasAndClearFormData) { TEST_F(AwFormDatabaseServiceTest, DISABLED_HasAndClearFormData) {
EXPECT_FALSE(service_->HasFormData()); EXPECT_FALSE(service_->HasFormData());
std::vector<FormFieldData> fields; std::vector<FormFieldData> fields;

@@ -41,7 +41,7 @@ void AwJavaScriptDialogManager::RunJavaScriptDialog(
// origin of the "last committed URL" can be different due to a legacy app- // origin of the "last committed URL" can be different due to a legacy app-
// exposed setting, so such a change might be even more breaking. // exposed setting, so such a change might be even more breaking.
// //
// TODO(crbug.com/1241925): Figure out if some kind of migration can be done // TODO(crbug.com/40194877): Figure out if some kind of migration can be done
// here, as this is one of several instances in which moving from URL to // here, as this is one of several instances in which moving from URL to
// origin would be desirable. // origin would be desirable.
// //

@@ -28,7 +28,7 @@ namespace android_webview {
class AwBrowserContext; class AwBrowserContext;
// TODO(crbug.com/1215208): Change the functions in this class to reference // TODO(crbug.com/40184305): Change the functions in this class to reference
// StorageKey instead of Origin. // StorageKey instead of Origin.
// //
// This object is owned by the native AwBrowserContext, and the Java peer is // This object is owned by the native AwBrowserContext, and the Java peer is

@@ -560,7 +560,7 @@ void CookieManager::GetCookieListAsyncHelper(const GURL& host,
base::OnceClosure complete) { base::OnceClosure complete) {
net::CookieOptions options = net::CookieOptions::MakeAllInclusive(); net::CookieOptions options = net::CookieOptions::MakeAllInclusive();
// TODO(crbug.com/1225444): Complete partitioned cookies implementation for // TODO(crbug.com/40188414): Complete partitioned cookies implementation for
// WebView. The current implementation is a temporary fix for // WebView. The current implementation is a temporary fix for
// crbug.com/1442333 to let the app access its 1p partitioned cookie. // crbug.com/1442333 to let the app access its 1p partitioned cookie.
if (GetMojoCookieManager()) { if (GetMojoCookieManager()) {

@@ -26,7 +26,7 @@ std::unique_ptr<DisplayWebView> DisplayWebView::Create(
std::unique_ptr<viz::OverlayProcessorInterface> overlay_processor; std::unique_ptr<viz::OverlayProcessorInterface> overlay_processor;
OverlayProcessorWebView* overlay_processor_webview_raw = nullptr; OverlayProcessorWebView* overlay_processor_webview_raw = nullptr;
if (features::IsAndroidSurfaceControlEnabled()) { if (features::IsAndroidSurfaceControlEnabled()) {
// TODO(crbug.com/1039876): This is to help triage bugs on pre-release // TODO(crbug.com/40113791): This is to help triage bugs on pre-release
// android. Remove this log once feature is controlled only by feature flag // android. Remove this log once feature is controlled only by feature flag
// or launched. // or launched.
LOG(WARNING) << "WebView overlays are enabled!"; LOG(WARNING) << "WebView overlays are enabled!";

@@ -43,7 +43,7 @@ using GLSurfaceContextPair =
std::pair<scoped_refptr<gl::GLSurface>, scoped_refptr<gl::GLContext>>; std::pair<scoped_refptr<gl::GLSurface>, scoped_refptr<gl::GLContext>>;
GLSurfaceContextPair GetRealContextForVulkan() { GLSurfaceContextPair GetRealContextForVulkan() {
// TODO(crbug.com/1143279): Remove all of this after code no longer expects // TODO(crbug.com/40155015): Remove all of this after code no longer expects
// GL to be present (eg for getting capabilities or calling glGetError). // GL to be present (eg for getting capabilities or calling glGetError).
static base::NoDestructor<base::WeakPtr<gl::GLSurface>> cached_surface; static base::NoDestructor<base::WeakPtr<gl::GLSurface>> cached_surface;
static base::NoDestructor<base::WeakPtr<gl::GLContext>> cached_context; static base::NoDestructor<base::WeakPtr<gl::GLContext>> cached_context;
@@ -89,7 +89,7 @@ void OnContextLost(std::unique_ptr<bool> expect_loss,
crash_keys::kContextLossReason); crash_keys::kContextLossReason);
reason_key.Set(base::NumberToString(static_cast<int>(context_lost_reason))); reason_key.Set(base::NumberToString(static_cast<int>(context_lost_reason)));
// TODO(https://crbug.com/1112841): Debugging contexts losts. WebView will // TODO(crbug.com/40143203): Debugging contexts losts. WebView will
// intentionally crash in HardwareRenderer::OnViz::DisplayOutputSurface // intentionally crash in HardwareRenderer::OnViz::DisplayOutputSurface
// that will happen after this callback. That crash happens on viz thread and // that will happen after this callback. That crash happens on viz thread and
// doesn't have any useful information. Crash here on RenderThread to // doesn't have any useful information. Crash here on RenderThread to

@@ -65,8 +65,8 @@ void VizCompositorThreadRunnerWebView::InitFrameSinkManagerOnViz() {
// Android doesn't support software compositing, but in some cases // Android doesn't support software compositing, but in some cases
// unaccelerated canvas can use SharedBitmaps as resource so we create // unaccelerated canvas can use SharedBitmaps as resource so we create
// SharedBitmapManager anyway. // SharedBitmapManager anyway.
// TODO(1056184): Stop using SharedBitmapManager after fixing fallback to // TODO(crbug.com/40120216): Stop using SharedBitmapManager after fixing
// SharedBitmap. // fallback to SharedBitmap.
server_shared_bitmap_manager_ = server_shared_bitmap_manager_ =
std::make_unique<viz::ServerSharedBitmapManager>(); std::make_unique<viz::ServerSharedBitmapManager>();

@@ -25,7 +25,7 @@ AwComponentMetricsProviderDelegate::AwComponentMetricsProviderDelegate(
// The returned ComponentInfo have component's id and version as this is the // The returned ComponentInfo have component's id and version as this is the
// only info WebView keeps about components. // only info WebView keeps about components.
// TODO(https://crbug.com/1228535): record the component's Omaha fingerprint. // TODO(crbug.com/40777796): record the component's Omaha fingerprint.
std::vector<ComponentInfo> AwComponentMetricsProviderDelegate::GetComponents() { std::vector<ComponentInfo> AwComponentMetricsProviderDelegate::GetComponents() {
return component_updater::ComponentsInfoHolder::GetInstance() return component_updater::ComponentsInfoHolder::GetInstance()
->GetComponents(); ->GetComponents();

@@ -70,7 +70,7 @@ AwPingManagerFactory::GetURLLoaderFactory() const {
if (testing_url_loader_factory_) { if (testing_url_loader_factory_) {
return testing_url_loader_factory_; return testing_url_loader_factory_;
} }
// TODO(crbug.com/1293957): Support separate SafeBrowsingNetworkContexts per // TODO(crbug.com/40820267): Support separate SafeBrowsingNetworkContexts per
// browser context instead of having the same one all contexts. If done // browser context instead of having the same one all contexts. If done
// similar to the chrome/ implementation, GetURLLoaderFactory will take in a // similar to the chrome/ implementation, GetURLLoaderFactory will take in a
// browser context as a parameter. // browser context as a parameter.

@@ -187,7 +187,7 @@ BASE_FEATURE(kWebViewWideColorGamutSupport,
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Control the default behaviour for the XRequestedWith header. // Control the default behaviour for the XRequestedWith header.
// TODO(crbug.com/1493963): enable by default after M120 branch point. // TODO(crbug.com/40286009): enable by default after M120 branch point.
BASE_FEATURE(kWebViewXRequestedWithHeaderControl, BASE_FEATURE(kWebViewXRequestedWithHeaderControl,
"WebViewXRequestedWithHeaderControl", "WebViewXRequestedWithHeaderControl",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);

@@ -3385,7 +3385,7 @@ class WebViewChromium
} }
} }
// TODO(crbug.com/1479496): Add override annotation when SDK includes this method. // TODO(crbug.com/40280893): Add override annotation when SDK includes this method.
public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) { public PointerIcon onResolvePointerIcon(MotionEvent event, int pointerIndex) {
return mAwContents.onResolvePointerIcon(event, pointerIndex); return mAwContents.onResolvePointerIcon(event, pointerIndex);
} }

@@ -126,7 +126,7 @@ public class FastVariationsSeedSafeModeAction implements SafeModeAction {
.querySafeModeVariationsSeedContentProvider(); .querySafeModeVariationsSeedContentProvider();
} }
// TODO(crbug.com/1422878): Update this to include timeout capability. // TODO(crbug.com/40259816): Update this to include timeout capability.
private static class ContentProviderQuery { private static class ContentProviderQuery {
private static final String URI_SUFFIX = ".SafeModeVariationsSeedContentProvider"; private static final String URI_SUFFIX = ".SafeModeVariationsSeedContentProvider";
private static final String URI_PATH = VariationsFastFetchModeUtils.URI_PATH; private static final String URI_PATH = VariationsFastFetchModeUtils.URI_PATH;

@@ -278,7 +278,8 @@ public class JsJavaInteractionTest extends AwParameterizedTest {
@SmallTest @SmallTest
@Feature({"AndroidWebView", "JsJavaInteraction"}) @Feature({"AndroidWebView", "JsJavaInteraction"})
public void testAddWebMessageListenerAffectsRendererInitiatedNavigation() throws Throwable { public void testAddWebMessageListenerAffectsRendererInitiatedNavigation() throws Throwable {
// TODO(crbug.com/969842): We'd either replace the following html file with a file contains // TODO(crbug.com/40630430): We'd either replace the following html file with a file
// contains
// no JavaScript code or add a test to ensure that evaluateJavascript() won't // no JavaScript code or add a test to ensure that evaluateJavascript() won't
// over-trigger DidClearWindowObject. // over-trigger DidClearWindowObject.
loadUrlFromPath(POST_MESSAGE_WITH_PORTS_HTML); loadUrlFromPath(POST_MESSAGE_WITH_PORTS_HTML);

@@ -64,8 +64,8 @@ using base::android::JavaRef;
namespace { namespace {
// TODO(crbug.com/1297672): This is what shows up as filename in errors. Revisit // TODO(crbug.com/40215244): This is what shows up as filename in errors.
// this once error handling is in place. // Revisit this once error handling is in place.
constexpr std::string_view resource_name = "<expression>"; constexpr std::string_view resource_name = "<expression>";
constexpr jlong kUnknownAssetFileDescriptorLength = -1; constexpr jlong kUnknownAssetFileDescriptorLength = -1;
constexpr int64_t kDefaultChunkSize = 1 << 16; constexpr int64_t kDefaultChunkSize = 1 << 16;

@@ -108,7 +108,7 @@ void AwComponentInstallerPolicy::ComponentReady(
GetVersionDirName(highest_sequence_number + 1, version.GetString()); GetVersionDirName(highest_sequence_number + 1, version.GetString());
const base::FilePath temp_copy_path = const base::FilePath temp_copy_path =
temp_dir.GetPath().AppendASCII(new_sequence_version_string); temp_dir.GetPath().AppendASCII(new_sequence_version_string);
// TODO(crbug.com/1176335) use file links to optimize copies number. // TODO(crbug.com/40747851) use file links to optimize copies number.
if (!base::CopyDirectory(install_dir, temp_copy_path, if (!base::CopyDirectory(install_dir, temp_copy_path,
/* recursive= */ true)) { /* recursive= */ true)) {
LOG(ERROR) << "Error copying from " << install_dir << " to " LOG(ERROR) << "Error copying from " << install_dir << " to "

@@ -160,7 +160,7 @@ class OnDemandNetworkFetcher : public update_client::NetworkFetcher {
}; };
// A NetworkFetcher that fakes downloading a CRX file. // A NetworkFetcher that fakes downloading a CRX file.
// TODO(crbug.com/1190310) use EmbeddedTestServer instead of Mocking the // TODO(crbug.com/40755924) use EmbeddedTestServer instead of Mocking the
// NetworkFetcher. // NetworkFetcher.
class FakeCrxNetworkFetcher : public update_client::NetworkFetcher { class FakeCrxNetworkFetcher : public update_client::NetworkFetcher {
public: public:

@@ -89,7 +89,7 @@ void RegisterComponentsForUpdate(
if (base::CommandLine::ForCurrentProcess()->HasSwitch( if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kWebViewEnableTrustTokensComponent)) { switches::kWebViewEnableTrustTokensComponent)) {
// TODO(https://crbug.com/1170468): decide if this component is still // TODO(crbug.com/40165770): decide if this component is still
// needed. Note: We're using a command-line switch because finch features // needed. Note: We're using a command-line switch because finch features
// isn't supported in nonembedded WebView. // isn't supported in nonembedded WebView.
// After setting this flag, it may be necessary to force restart the // After setting this flag, it may be necessary to force restart the

@@ -40,7 +40,7 @@ public class ComponentsInfoLoader {
for (File componentDirectory : componentDirectories) { for (File componentDirectory : componentDirectories) {
String[] componentVersions = componentDirectory.list(); String[] componentVersions = componentDirectory.list();
// TODO(https://crbug.com/1231543): Handle multiple versions by sorting semantically and // TODO(crbug.com/40779741): Handle multiple versions by sorting semantically and
// picking out the highest version // picking out the highest version
String version = String version =
(componentVersions == null || componentVersions.length == 0) (componentVersions == null || componentVersions.length == 0)

@@ -21,7 +21,7 @@ import java.util.Locale;
/** Factory class to build bug URI for a crash report. */ /** Factory class to build bug URI for a crash report. */
public class CrashBugUrlFactory { public class CrashBugUrlFactory {
// There is a limit on the length of this query string, see https://crbug.com/1015923 // There is a limit on the length of this query string, see https://crbug.com/1015923
// TODO(https://crbug.com/1052295): add assert statement to check the length of this String. // TODO(crbug.com/40674230): add assert statement to check the length of this String.
@VisibleForTesting @VisibleForTesting
public static final String CRASH_REPORT_TEMPLATE = public static final String CRASH_REPORT_TEMPLATE =
""" """

@@ -94,7 +94,7 @@ public class AwComponentUpdateService extends JobService {
ComponentUpdaterSafeModeUtils.executeSafeModeIfEnabled( ComponentUpdaterSafeModeUtils.executeSafeModeIfEnabled(
new File(ComponentsProviderPathUtil.getComponentUpdateServiceDirectoryPath())); new File(ComponentsProviderPathUtil.getComponentUpdateServiceDirectoryPath()));
// TODO(https://crbug.com/1221092): Stop native updates when onStopJob, onDestroy are // TODO(crbug.com/40773291): Stop native updates when onStopJob, onDestroy are
// called. // called.
setUnexpectedExit(false); setUnexpectedExit(false);
@@ -157,7 +157,7 @@ public class AwComponentUpdateService extends JobService {
setUnexpectedExit(true); setUnexpectedExit(true);
mIsUpdating = true; mIsUpdating = true;
final long startTime = SystemClock.uptimeMillis(); final long startTime = SystemClock.uptimeMillis();
// TODO(crbug.com/1171817) Once we can log UMA from native, remove the count parameter. // TODO(crbug.com/40745317) Once we can log UMA from native, remove the count parameter.
AwComponentUpdateServiceJni.get() AwComponentUpdateServiceJni.get()
.startComponentUpdateService( .startComponentUpdateService(
(count) -> { (count) -> {

@@ -103,7 +103,7 @@ public class WebViewApkApplication extends Application {
PureJavaExceptionHandler.installHandler(AwPureJavaExceptionReporter::new); PureJavaExceptionHandler.installHandler(AwPureJavaExceptionReporter::new);
CustomAssertionHandler.installPreNativeHandler(AwPureJavaExceptionReporter::new); CustomAssertionHandler.installPreNativeHandler(AwPureJavaExceptionReporter::new);
// TODO(crbug.com/1182693): Do set up a native UMA recorder once we support recording // TODO(crbug.com/40751605): Do set up a native UMA recorder once we support recording
// metrics from native nonembedded code. // metrics from native nonembedded code.
UmaRecorderHolder.setUpNativeUmaRecorder(false); UmaRecorderHolder.setUpNativeUmaRecorder(false);

@@ -283,7 +283,7 @@ public class ComponentsProviderService extends Service {
return; return;
} }
// TODO(crbug.com/1256948): schedule it as a periodic job. // TODO(crbug.com/40796101): schedule it as a periodic job.
final SharedPreferences sharedPreferences = final SharedPreferences sharedPreferences =
ContextUtils.getApplicationContext() ContextUtils.getApplicationContext()
.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE); .getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE);
@@ -312,7 +312,7 @@ public class ComponentsProviderService extends Service {
} }
} }
// TODO(crbug.com/1189126): move this to utils class // TODO(crbug.com/40755263): move this to utils class
@VisibleForTesting @VisibleForTesting
public static boolean isJobScheduled(JobScheduler scheduler, int jobId) { public static boolean isJobScheduled(JobScheduler scheduler, int jobId) {
return scheduler.getPendingJob(jobId) != null; return scheduler.getPendingJob(jobId) != null;

@@ -169,7 +169,8 @@ public final class MetricsBridgeService extends Service {
public void recordMetrics(byte[] data) { public void recordMetrics(byte[] data) {
if (Binder.getCallingUid() != Process.myUid()) { if (Binder.getCallingUid() != Process.myUid()) {
throw new SecurityException( throw new SecurityException(
"recordMetrics() may only be called by non-embedded WebView processes"); "recordMetrics() may only be called by non-embedded WebView"
+ " processes");
} }
// If this is called within the same process, it will run on the caller thread, // If this is called within the same process, it will run on the caller thread,
// so we will always punt this to thread pool. // so we will always punt this to thread pool.
@@ -179,11 +180,12 @@ public final class MetricsBridgeService extends Service {
// embedded WebView connects to the service to retrieve and clear // embedded WebView connects to the service to retrieve and clear
// the records. // the records.
if (mRecordsList.size() >= MAX_HISTOGRAM_COUNT) { if (mRecordsList.size() >= MAX_HISTOGRAM_COUNT) {
// TODO(https://crbug.com/1088467) add a histogram to log the // TODO(crbug.com/40695441) add a histogram to log the
// number of dropped histograms. // number of dropped histograms.
Log.w( Log.w(
TAG, TAG,
"retained records has reached the max capacity, dropping record"); "retained records has reached the max capacity,"
+ " dropping record");
return; return;
} }
try { try {

@@ -35,7 +35,7 @@ WebViewApkProcess* WebViewApkProcess::GetInstance() {
// static // static
// Must be called exactly once during the process startup. // Must be called exactly once during the process startup.
void WebViewApkProcess::Init() { void WebViewApkProcess::Init() {
// TODO(crbug.com/1179303): Add check to assert this is only loaded by // TODO(crbug.com/40749658): Add check to assert this is only loaded by
// LibraryProcessType PROCESS_WEBVIEW_NONEMBEDDED. // LibraryProcessType PROCESS_WEBVIEW_NONEMBEDDED.
// This doesn't have to be thread safe, because it should only happen once on // This doesn't have to be thread safe, because it should only happen once on

@@ -261,7 +261,7 @@ void AwContentRendererClient::GetInterface(
const std::string& interface_name, const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) { mojo::ScopedMessagePipeHandle interface_pipe) {
// A dirty hack to make SpellCheckHost requests work on WebView. // A dirty hack to make SpellCheckHost requests work on WebView.
// TODO(crbug.com/806394): Use a WebView-specific service for SpellCheckHost // TODO(crbug.com/40560165): Use a WebView-specific service for SpellCheckHost
// and SafeBrowsing, instead of |content_browser|. // and SafeBrowsing, instead of |content_browser|.
RenderThread::Get()->BindHostReceiver( RenderThread::Get()->BindHostReceiver(
mojo::GenericPendingReceiver(interface_name, std::move(interface_pipe))); mojo::GenericPendingReceiver(interface_name, std::move(interface_pipe)));

@@ -14,7 +14,7 @@ namespace base {
AndroidHardwareBufferCompat::AndroidHardwareBufferCompat() { AndroidHardwareBufferCompat::AndroidHardwareBufferCompat() {
DCHECK(IsSupportAvailable()); DCHECK(IsSupportAvailable());
// TODO(https://crbug.com/1382595): If the Chromium build requires // TODO(crbug.com/40877384): If the Chromium build requires
// __ANDROID_API__ >= 26 at some point in the future, we could directly use // __ANDROID_API__ >= 26 at some point in the future, we could directly use
// the global functions instead of dynamic loading. However, since this would // the global functions instead of dynamic loading. However, since this would
// be incompatible with pre-Oreo devices, this is unlikely to happen in the // be incompatible with pre-Oreo devices, this is unlikely to happen in the

@@ -39,10 +39,10 @@ import java.util.Map.Entry;
import javax.annotation.concurrent.GuardedBy; import javax.annotation.concurrent.GuardedBy;
/** /**
* Provides information about the current activity's status, and a way * Provides information about the current activity's status, and a way to register / unregister
* to register / unregister listeners for state changes. * listeners for state changes. TODO(crbug.com/40411113): ApplicationStatus will not work on
* TODO(https://crbug.com/470582): ApplicationStatus will not work on WebView/WebLayer, and * WebView/WebLayer, and should be moved out of base and into //chrome. It should not be relied upon
* should be moved out of base and into //chrome. It should not be relied upon for //components. * for //components.
*/ */
@JNINamespace("base::android") @JNINamespace("base::android")
public class ApplicationStatus { public class ApplicationStatus {

@@ -156,7 +156,7 @@ class BASE_EXPORT NotReachedError : public CheckError {
// discarding log-stream arguments. See base/notreached.h. // discarding log-stream arguments. See base/notreached.h.
NOMERGE NOINLINE NOT_TAIL_CALLED static void TriggerNotReached(); NOMERGE NOINLINE NOT_TAIL_CALLED static void TriggerNotReached();
// TODO(crbug.com/851128): Mark [[noreturn]] once this is CHECK-fatal on all // TODO(crbug.com/40580068): Mark [[noreturn]] once this is CHECK-fatal on all
// builds. // builds.
NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError();
@@ -164,8 +164,8 @@ class BASE_EXPORT NotReachedError : public CheckError {
using CheckError::CheckError; using CheckError::CheckError;
}; };
// TODO(crbug.com/851128): This should take the name of the above class once all // TODO(crbug.com/40580068): This should take the name of the above class once
// callers of NOTREACHED() have migrated to the CHECK-fatal version. // all callers of NOTREACHED() have migrated to the CHECK-fatal version.
class BASE_EXPORT NotReachedNoreturnError : public CheckError { class BASE_EXPORT NotReachedNoreturnError : public CheckError {
public: public:
explicit NotReachedNoreturnError( explicit NotReachedNoreturnError(

@@ -492,8 +492,8 @@ class small_map {
} }
size_t i = static_cast<size_t>(position.array_iter_ - array_); size_t i = static_cast<size_t>(position.array_iter_ - array_);
// TODO(crbug.com/817982): When we have a checked iterator, this CHECK might // TODO(crbug.com/40565371): When we have a checked iterator, this CHECK
// not be necessary. // might not be necessary.
CHECK_LE(i, size_); CHECK_LE(i, size_);
array_[i].~value_type(); array_[i].~value_type();
--size_; --size_;

@@ -9,7 +9,7 @@
namespace base { namespace base {
// TODO(crbug.com/817982): What we really need is for checked_math.h to be // TODO(crbug.com/40565371): What we really need is for checked_math.h to be
// able to do checked arithmetic on pointers. // able to do checked arithmetic on pointers.
template <typename T> template <typename T>
inline uintptr_t get_uintptr(const T* t) { inline uintptr_t get_uintptr(const T* t) {

@@ -76,7 +76,7 @@ class VectorBuffer {
size_t capacity() const { return capacity_; } size_t capacity() const { return capacity_; }
T& operator[](size_t i) { T& operator[](size_t i) {
// TODO(crbug.com/817982): Some call sites (at least circular_deque.h) are // TODO(crbug.com/40565371): Some call sites (at least circular_deque.h) are
// calling this with `i == capacity_` as a way of getting `end()`. Therefore // calling this with `i == capacity_` as a way of getting `end()`. Therefore
// we have to allow this for now (`i <= capacity_`), until we fix those call // we have to allow this for now (`i <= capacity_`), until we fix those call
// sites to use real iterators. This comment applies here and to `const T& // sites to use real iterators. This comment applies here and to `const T&

@@ -39,7 +39,7 @@ BASE_FEATURE(kEnforceNoExecutableFileHandles,
"EnforceNoExecutableFileHandles", "EnforceNoExecutableFileHandles",
FEATURE_ENABLED_BY_DEFAULT); FEATURE_ENABLED_BY_DEFAULT);
// TODO(crbug.com/851128): Roll out this to 100% before replacing existing // TODO(crbug.com/40580068): Roll out this to 100% before replacing existing
// NOTREACHED()s with NOTREACHED_NORETURN() as part of NOTREACHED() migration. // NOTREACHED()s with NOTREACHED_NORETURN() as part of NOTREACHED() migration.
// Note that a prerequisite for rolling out this experiment is that existing // Note that a prerequisite for rolling out this experiment is that existing
// NOTREACHED reports are at a very low rate. Once this rolls out we should // NOTREACHED reports are at a very low rate. Once this rolls out we should

@@ -122,7 +122,7 @@ TEST_F(ProductInfoTest, SystemServiceReturnsValidValues) {
EXPECT_FALSE(product_info.manufacturer()->empty()); EXPECT_FALSE(product_info.manufacturer()->empty());
} }
// TODO(crbug.com/101396): Re-enable once all clients // TODO(crbug.com/40103081): Re-enable once all clients
// provide this service. // provide this service.
TEST_F(ProductInfoDeathTest, DISABLED_DcheckOnServiceNotPresent) { TEST_F(ProductInfoDeathTest, DISABLED_DcheckOnServiceNotPresent) {
EXPECT_DCHECK_DEATH_WITH(GetProductInfoViaTask(), "ZX_ERR_PEER_CLOSED"); EXPECT_DCHECK_DEATH_WITH(GetProductInfoViaTask(), "ZX_ERR_PEER_CLOSED");

@@ -156,12 +156,12 @@ std::string Serialize(PlatformSharedMemoryRegion shmem_region,
// caller, who is responsible for updating |launch_options| or the zygote // caller, who is responsible for updating |launch_options| or the zygote
// launch parameters, as appropriate. // launch parameters, as appropriate.
// //
// TODO(crbug.com/1028263): Create a wrapper to release and return the primary // TODO(crbug.com/40109064): Create a wrapper to release and return the
// descriptor for android (ScopedFD) vs non-android (ScopedFDPair). // primary descriptor for android (ScopedFD) vs non-android (ScopedFDPair).
// //
// TODO(crbug.com/1028263): Get rid of |descriptor_to_share| and just populate // TODO(crbug.com/40109064): Get rid of |descriptor_to_share| and just
// |launch_options|. The caller should be responsible for translating between // populate |launch_options|. The caller should be responsible for translating
// |launch_options| and zygote parameters as necessary. // between |launch_options| and zygote parameters as necessary.
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
descriptor_to_share = std::move(shmem_handle); descriptor_to_share = std::move(shmem_handle);
#else #else

@@ -418,7 +418,7 @@ bool Histogram::InspectConstructionArguments(std::string_view name,
// Defensive code for backward compatibility. // Defensive code for backward compatibility.
if (*minimum < 1) { if (*minimum < 1) {
// TODO(crbug.com/1288842): Temporarily disabled during cleanup. // TODO(crbug.com/40211696): Temporarily disabled during cleanup.
// DLOG(ERROR) << "Histogram: " << name << " has bad minimum: " << *minimum; // DLOG(ERROR) << "Histogram: " << name << " has bad minimum: " << *minimum;
*minimum = 1; *minimum = 1;
if (*maximum < 1) if (*maximum < 1)

@@ -63,7 +63,7 @@
// 4. The low 64 bits of the shared memory block GUID. // 4. The low 64 bits of the shared memory block GUID.
// 5. The size of the shared memory segment as a string. // 5. The size of the shared memory segment as a string.
// //
// TODO(crbug.com/1028263): Refactor the common logic here and in // TODO(crbug.com/40109064): Refactor the common logic here and in
// base/metrics/field_trial.cc // base/metrics/field_trial.cc
namespace base { namespace base {
@@ -127,7 +127,7 @@ bool HistogramSharedMemory::PassOnCommandLineIsEnabled(
// Example: The call to OpenSymbolFiles() in base/debug/stack_trace_posix.cc // Example: The call to OpenSymbolFiles() in base/debug/stack_trace_posix.cc
// grabs a read-only handle to the shmem region for some process types. // grabs a read-only handle to the shmem region for some process types.
// //
// TODO(crbug.com/1028263): Fix ChromeOS and utility processes. // TODO(crbug.com/40109064): Fix ChromeOS and utility processes.
return (FeatureList::IsEnabled(kPassHistogramSharedMemoryOnLaunch) return (FeatureList::IsEnabled(kPassHistogramSharedMemoryOnLaunch)
#if BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS)
&& process_type != "gpu-process" && process_type != "gpu-process"
@@ -172,7 +172,7 @@ void HistogramSharedMemory::AddToLaunchParameters(
// static // static
void HistogramSharedMemory::InitFromLaunchParameters( void HistogramSharedMemory::InitFromLaunchParameters(
const CommandLine& command_line) { const CommandLine& command_line) {
// TODO(crbug.com/1028263): Clean up once fully launched. // TODO(crbug.com/40109064): Clean up once fully launched.
if (!command_line.HasSwitch(switches::kMetricsSharedMemoryHandle)) { if (!command_line.HasSwitch(switches::kMetricsSharedMemoryHandle)) {
return; return;
} }

@@ -26,7 +26,7 @@ namespace logging {
// Canary and Dev with intent to roll out to stable in M124 absent any blocking // Canary and Dev with intent to roll out to stable in M124 absent any blocking
// issues that come up. // issues that come up.
// //
// TODO(crbug.com/851128): After kNotReachedIsFatal is universally rolled out // TODO(crbug.com/40580068): After kNotReachedIsFatal is universally rolled out
// then move callers without a non-fatal milestone argument to // then move callers without a non-fatal milestone argument to
// NOTREACHED_NORETURN(). Then rename the [[noreturn]] version back to // NOTREACHED_NORETURN(). Then rename the [[noreturn]] version back to
// NOTREACHED(). // NOTREACHED().
@@ -46,8 +46,8 @@ namespace logging {
// NOTREACHED_NORETURN() annotates paths that are supposed to be unreachable. // NOTREACHED_NORETURN() annotates paths that are supposed to be unreachable.
// They crash if they are ever hit. // They crash if they are ever hit.
// TODO(crbug.com/851128): Rename back to NOTREACHED() once there are no callers // TODO(crbug.com/40580068): Rename back to NOTREACHED() once there are no
// of the old non-CHECK-fatal macro. // callers of the old non-CHECK-fatal macro.
#if CHECK_WILL_STREAM() #if CHECK_WILL_STREAM()
#define NOTREACHED_NORETURN() ::logging::NotReachedNoreturnError() #define NOTREACHED_NORETURN() ::logging::NotReachedNoreturnError()
#else #else

@@ -79,7 +79,7 @@ std::optional<ULONG> GetBatteryTag(HANDLE battery) {
if (::GetLastError() == ERROR_FILE_NOT_FOUND) { if (::GetLastError() == ERROR_FILE_NOT_FOUND) {
// No battery present in this interface. // No battery present in this interface.
// //
// TODO(crbug.com/1191045): Change CHECK to DCHECK in October 2022 after // TODO(crbug.com/40756364): Change CHECK to DCHECK in October 2022 after
// verifying that there are no crash reports. // verifying that there are no crash reports.
CHECK_EQ(battery_tag, static_cast<ULONG>(BATTERY_TAG_INVALID)); CHECK_EQ(battery_tag, static_cast<ULONG>(BATTERY_TAG_INVALID));
return battery_tag; return battery_tag;

@@ -75,7 +75,7 @@ const ModuleCache::Module* ModuleCache::GetModuleForAddress(uintptr_t address) {
return nullptr; return nullptr;
const auto result = native_modules_.insert(std::move(new_module)); const auto result = native_modules_.insert(std::move(new_module));
// TODO(https://crbug.com/1131769): Reintroduce DCHECK(result.second) after // TODO(crbug.com/40150346): Reintroduce DCHECK(result.second) after
// fixing the issue that is causing it to fail. // fixing the issue that is causing it to fail.
return result.first->get(); return result.first->get();
} }

@@ -116,7 +116,7 @@ void RunLoop::Run(const Location& location) {
return; return;
// If there is a RunLoopTimeout active then set the timeout. // If there is a RunLoopTimeout active then set the timeout.
// TODO(crbug.com/905412): Use real-time for Run() timeouts so that they // TODO(crbug.com/40602467): Use real-time for Run() timeouts so that they
// can be applied even in tests which mock TimeTicks::Now(). // can be applied even in tests which mock TimeTicks::Now().
CancelableOnceClosure cancelable_timeout; CancelableOnceClosure cancelable_timeout;
const RunLoopTimeout* run_timeout = GetTimeoutForCurrentThread(); const RunLoopTimeout* run_timeout = GetTimeoutForCurrentThread();

@@ -408,7 +408,7 @@ std::string UnescapeURLWithAdjustmentsImpl(
// character. In that case, just unescaped and write the non-sense // character. In that case, just unescaped and write the non-sense
// character. // character.
// //
// TODO(https://crbug.com/829868): Do not unescape illegal UTF-8 // TODO(crbug.com/40570496): Do not unescape illegal UTF-8
// sequences. // sequences.
unsigned char non_utf8_byte; unsigned char non_utf8_byte;
if (UnescapeUnsignedByteAtIndex(escaped_text, i, &non_utf8_byte)) { if (UnescapeUnsignedByteAtIndex(escaped_text, i, &non_utf8_byte)) {

@@ -5,7 +5,7 @@
// This header is deprecated. `base::StringPiece` is now `std::string_view`. // This header is deprecated. `base::StringPiece` is now `std::string_view`.
// Use it and <string_view> instead. // Use it and <string_view> instead.
// //
// TODO(crbug.com/691162): Remove uses of this header. // TODO(crbug.com/40506050): Remove uses of this header.
#ifndef BASE_STRINGS_STRING_PIECE_H_ #ifndef BASE_STRINGS_STRING_PIECE_H_
#define BASE_STRINGS_STRING_PIECE_H_ #define BASE_STRINGS_STRING_PIECE_H_

@@ -154,7 +154,7 @@ class BASE_EXPORT CancelableTaskTracker {
TaskId next_id_ = 1; TaskId next_id_ = 1;
SEQUENCE_CHECKER(sequence_checker_); SEQUENCE_CHECKER(sequence_checker_);
// TODO(https://crbug.com/1009795): Remove once crasher is resolved. // TODO(crbug.com/40050290): Remove once crasher is resolved.
base::WeakPtr<CancelableTaskTracker> weak_this_; base::WeakPtr<CancelableTaskTracker> weak_this_;
base::WeakPtrFactory<CancelableTaskTracker> weak_factory_{this}; base::WeakPtrFactory<CancelableTaskTracker> weak_factory_{this};
}; };

@@ -1353,7 +1353,7 @@ TEST(ProcessGTestOutputTest, FoundTestCaseNotEnforced) {
} }
#endif // !BUILDFLAG(IS_FUCHSIA) #endif // !BUILDFLAG(IS_FUCHSIA)
// TODO(crbug.com/1094369): Enable leaked-child checks on other platforms. // TODO(crbug.com/40135391): Enable leaked-child checks on other platforms.
#if BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_FUCHSIA)
// Test that leaves a child process running. The test is DISABLED_, so it can // Test that leaves a child process running. The test is DISABLED_, so it can

@@ -145,7 +145,7 @@ declare_args() {
# #
# Flag discussion: https://crbug.com/977230 # Flag discussion: https://crbug.com/977230
# #
# TODO(crbug.com/1131993): This regresses binary size by ~1MB on Android and # TODO(crbug.com/40721698): This regresses binary size by ~1MB on Android and
# needs to be evaluated before enabling it there as well. # needs to be evaluated before enabling it there as well.
init_stack_vars = !(is_android && is_official_build) init_stack_vars = !(is_android && is_official_build)

@@ -230,7 +230,7 @@ can_unwind_with_cfi_table = is_android && !is_component_build &&
!enable_frame_pointers && current_cpu == "arm" !enable_frame_pointers && current_cpu == "arm"
# Whether or not cfi table should be enabled on arm. # Whether or not cfi table should be enabled on arm.
# TODO(crbug.com/1090409): Replace can_unwind_with_cfi_table with this once # TODO(crbug.com/40133751): Replace can_unwind_with_cfi_table with this once
# sampling profiler is enabled on android. # sampling profiler is enabled on android.
enable_arm_cfi_table = is_android && !is_component_build && current_cpu == "arm" enable_arm_cfi_table = is_android && !is_component_build && current_cpu == "arm"

@@ -52,7 +52,7 @@ config("default_coverage") {
} }
if (is_linux || is_chromeos) { if (is_linux || is_chromeos) {
# TODO(crbug.com/1194301): Remove this flag. # TODO(crbug.com/40175589): Remove this flag.
cflags += [ "-fno-use-cxa-atexit" ] cflags += [ "-fno-use-cxa-atexit" ]
} }
} }

@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
{ {
program: { program: {
// TODO(crbug.com/1465997): Remove the use of ASAN_OPTIONS once media does // TODO(crbug.com/40276216): Remove the use of ASAN_OPTIONS once media does
// not load the shared rust library separately. // not load the shared rust library separately.
environ: [ environ: [
"ASAN_OPTIONS=detect_odr_violation=0", "ASAN_OPTIONS=detect_odr_violation=0",

@@ -953,7 +953,7 @@ cc_test("cc_unittests") {
additional_manifest_fragments = [ additional_manifest_fragments = [
"//build/config/fuchsia/test/fonts.shard.test-cml", "//build/config/fuchsia/test/fonts.shard.test-cml",
# TODO(https://crbug.com/1185811): Investigate removing the requirement # TODO(crbug.com/40055105): Investigate removing the requirement
# for VmexResource. # for VmexResource.
"//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml", "//build/config/fuchsia/test/mark_vmo_executable.shard.test-cml",
"//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml", "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml",

@@ -586,7 +586,8 @@ PropertyToElementIdMap ElementAnimations::GetPropertyToElementIdMap() const {
// We deliberately use two branches here so that the DCHECK can // We deliberately use two branches here so that the DCHECK can
// differentiate between models with different element ids, and the case // differentiate between models with different element ids, and the case
// where some models don't have an element id. // where some models don't have an element id.
// TODO(crbug.com/900241): All KeyframeModels should have an ElementId. // TODO(crbug.com/40600273): All KeyframeModels should have an
// ElementId.
if (model->element_id()) { if (model->element_id()) {
DCHECK(!element_id_for_property || DCHECK(!element_id_for_property ||
element_id_for_property == model->element_id()) element_id_for_property == model->element_id())

@@ -113,7 +113,7 @@ class CC_ANIMATION_EXPORT ElementAnimations
// that have changed since the last update. // that have changed since the last update.
void UpdateClientAnimationState(); void UpdateClientAnimationState();
// TODO(crbug.com/1176334): Animation targets should be attached to curves // TODO(crbug.com/40747850): Animation targets should be attached to curves
// when they're created and the concrete subclass is known. This function // when they're created and the concrete subclass is known. This function
// exists as a stopgap: the animation machinery previously expected to // exists as a stopgap: the animation machinery previously expected to
// announce a target and then pass curves that would implicitly animate the // announce a target and then pass curves that would implicitly animate the

@@ -217,7 +217,7 @@ void KeyframeEffect::Pause(base::TimeTicks timeline_time,
PauseCondition pause_condition) { PauseCondition pause_condition) {
bool did_pause = false; bool did_pause = false;
for (auto& keyframe_model : keyframe_models()) { for (auto& keyframe_model : keyframe_models()) {
// TODO(crbug.com/1076012): KeyframeEffect is paused with local time for // TODO(crbug.com/40688021): KeyframeEffect is paused with local time for
// scroll-linked animations. To make sure the start event of a keyframe // scroll-linked animations. To make sure the start event of a keyframe
// model is sent to blink, we should not set its run state to PAUSED until // model is sent to blink, we should not set its run state to PAUSED until
// such event is sent. This should be revisited once KeyframeEffect is able // such event is sent. This should be revisited once KeyframeEffect is able

@@ -538,7 +538,7 @@ class CC_EXPORT InputHandler : public InputDelegateForCompositor {
// compositor side. The information gets shared by the main thread as part of // compositor side. The information gets shared by the main thread as part of
// the begin_main_frame_state. Finally Use counters are updated in the main // the begin_main_frame_state. Finally Use counters are updated in the main
// thread side to keep track of the frequency of scrolling with different // thread side to keep track of the frequency of scrolling with different
// sources per page load. TODO(crbug.com/691886): Use GRC API to plumb the // sources per page load. TODO(crbug.com/40506330): Use GRC API to plumb the
// scroll source info for Use Counters. // scroll source info for Use Counters.
void UpdateScrollSourceInfo(const ScrollState& scroll_state, void UpdateScrollSourceInfo(const ScrollState& scroll_state,
ui::ScrollInputType type); ui::ScrollInputType type);

@@ -835,7 +835,7 @@ bool SnapContainerData::IsSnapportCoveredOnAxis(
} }
} }
// TODO(crbug.com/1501103): Use tolerance value less than 1. // TODO(crbug.com/40941354): Use tolerance value less than 1.
// It is currently set to 1 because of differences in the way Blink and cc // It is currently set to 1 because of differences in the way Blink and cc
// currently handle fractional offsets when snapping. // currently handle fractional offsets when snapping.
constexpr float kSnappedToTolerance = 1.0; constexpr float kSnappedToTolerance = 1.0;

@@ -159,7 +159,7 @@ bool PaintedScrollbarLayer::UpdateInternalContentScale() {
transform, layer_tree_host()->device_scale_factor()); transform, layer_tree_host()->device_scale_factor());
float scale = std::max(transform_scales.x(), transform_scales.y()); float scale = std::max(transform_scales.x(), transform_scales.y());
// Clamp minimum scale to 1 to avoid too low scale during scale animation. // Clamp minimum scale to 1 to avoid too low scale during scale animation.
// TODO(crbug.com/1009291): Move rasterization of scrollbars to the impl side // TODO(crbug.com/40100995): Move rasterization of scrollbars to the impl side
// to better handle scale changes. // to better handle scale changes.
scale = std::max(1.0f, scale); scale = std::max(1.0f, scale);

@@ -212,7 +212,7 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRectWithThumbThicknessScale(
float track_length = TrackLength(); float track_length = TrackLength();
int thumb_length = ThumbLength(); int thumb_length = ThumbLength();
int thumb_thickness = ThumbThickness(); int thumb_thickness = ThumbThickness();
// TODO(crbug.com/1239770): This is a speculative fix. // TODO(crbug.com/40194000): This is a speculative fix.
float maximum = std::max(scroll_layer_length() - clip_layer_length(), 0.0f); float maximum = std::max(scroll_layer_length() - clip_layer_length(), 0.0f);
// TODO(crbug.com/1239510): Re-enable the following DCHECK once the // TODO(crbug.com/1239510): Re-enable the following DCHECK once the
// underlying issue is resolved. // underlying issue is resolved.

@@ -110,7 +110,7 @@ void SolidColorScrollbarLayer::SetColor(SkColor4f color) {
if (layer_tree_host() && if (layer_tree_host() &&
layer_tree_host()->GetSettings().using_synchronous_renderer_compositor) { layer_tree_host()->GetSettings().using_synchronous_renderer_compositor) {
// Root frame in Android WebView uses system scrollbars, so make ours // Root frame in Android WebView uses system scrollbars, so make ours
// invisible. TODO(crbug.com/1327047): We should apply this to the root // invisible. TODO(crbug.com/40226034): We should apply this to the root
// scrollbars only, or consider other choices listed in the bug. // scrollbars only, or consider other choices listed in the bug.
color = SkColors::kTransparent; color = SkColors::kTransparent;
} }

@@ -30,7 +30,7 @@ std::unique_ptr<LayerImpl> VideoLayer::CreateLayerImpl(
} }
bool VideoLayer::RequiresSetNeedsDisplayOnHdrHeadroomChange() const { bool VideoLayer::RequiresSetNeedsDisplayOnHdrHeadroomChange() const {
// TODO(https://crbug.com/1450807): Only return true if the contents of the // TODO(crbug.com/40065199): Only return true if the contents of the
// video are HDR. // video are HDR.
return true; return true;
} }

@@ -1458,7 +1458,7 @@ void CompositorFrameReporter::ReportCompositorLatencyTraceEvents(
reporter->add_high_latency_contribution_stage(stage); reporter->add_high_latency_contribution_stage(stage);
} }
// TODO(crbug.com/1086974): Set 'drop reason' if applicable. // TODO(crbug.com/40132773): Set 'drop reason' if applicable.
}); });
for (const auto& stage : stage_history_) { for (const auto& stage : stage_history_) {
@@ -1769,7 +1769,7 @@ void CompositorFrameReporter::CalculateCompositorLatencyPrediction(
current_stage_durations.total_blink_latency); current_stage_durations.total_blink_latency);
} }
// TODO(crbug.com/1349930): implement check that ensure the prediction is // TODO(crbug.com/40233949): implement check that ensure the prediction is
// correct by checking if platform supports breakdown of the stage // correct by checking if platform supports breakdown of the stage
// SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd, // SubmitCompositorFrameToPresentationCompositorFrame.SwapStartToSwapEnd,
// then SwapStartToSwapEnd should always be 0s and data for breakdown of it // then SwapStartToSwapEnd should always be 0s and data for breakdown of it

@@ -142,9 +142,9 @@ void CompositorFrameReportingController::WillBeginImplFrame(
if (reporters_[PipelineStage::kBeginImplFrame]) { if (reporters_[PipelineStage::kBeginImplFrame]) {
auto& reporter = reporters_[PipelineStage::kBeginImplFrame]; auto& reporter = reporters_[PipelineStage::kBeginImplFrame];
DCHECK(reporter->did_finish_impl_frame()); DCHECK(reporter->did_finish_impl_frame());
// TODO(1144353): This is a speculative fix. This code should only be // TODO(crbug.com/40728802): This is a speculative fix. This code should
// reached after the previous frame have been explicitly marked as 'did not // only be reached after the previous frame have been explicitly marked as
// produce frame', i.e. this code should have a DCHECK instead of a // 'did not produce frame', i.e. this code should have a DCHECK instead of a
// conditional: // conditional:
// DCHECK(reporter->did_not_produce_frame()). // DCHECK(reporter->did_not_produce_frame()).
if (reporter->did_not_produce_frame()) { if (reporter->did_not_produce_frame()) {
@@ -186,9 +186,9 @@ void CompositorFrameReportingController::WillBeginMainFrame(
auto active_trackers = active_trackers_; auto active_trackers = active_trackers_;
auto smooth_thread = GetSmoothThread(); auto smooth_thread = GetSmoothThread();
if (args.frame_id == last_started_compositor_frame_.args.frame_id) { if (args.frame_id == last_started_compositor_frame_.args.frame_id) {
// TODO(1277547): Instead of replacing all current information with the // TODO(crbug.com/40207819): Instead of replacing all current information
// older information from when the impl-frame started, merge the two sets // with the older information from when the impl-frame started, merge the
// of information that makes sense. // two sets of information that makes sense.
scrolling_thread = last_started_compositor_frame_.scrolling_thread; scrolling_thread = last_started_compositor_frame_.scrolling_thread;
active_trackers = last_started_compositor_frame_.active_trackers; active_trackers = last_started_compositor_frame_.active_trackers;
smooth_thread = last_started_compositor_frame_.smooth_thread; smooth_thread = last_started_compositor_frame_.smooth_thread;

@@ -37,9 +37,9 @@ class CC_EXPORT EventMetrics {
kMousePressed, kMousePressed,
kMouseReleased, kMouseReleased,
kMouseWheel, kMouseWheel,
// TODO(crbug/1071645): Currently, all ET_KEY_PRESSED events are reported // TODO(crbug.com/40126863): Currently, all ET_KEY_PRESSED events are
// under EventLatency.KeyPressed histogram. This includes both key-down and // reported under EventLatency.KeyPressed histogram. This includes both
// key-char events. Consider reporting them separately. // key-down and key-char events. Consider reporting them separately.
kKeyPressed, kKeyPressed,
kKeyReleased, kKeyReleased,
kTouchPressed, kTouchPressed,

@@ -55,8 +55,9 @@ bool FrameInfo::IsDroppedAffectingSmoothness() const {
void FrameInfo::MergeWith(const FrameInfo& other) { void FrameInfo::MergeWith(const FrameInfo& other) {
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
// TODO(1278168): on android-webview, multiple frames can be submitted against // TODO(crbug.com/40208073): on android-webview, multiple frames can be
// the same BeginFrameArgs. This can trip the DCHECK()s in this function. // submitted against the same BeginFrameArgs. This can trip the DCHECK()s in
// this function.
if (was_merged) if (was_merged)
return; return;
if (main_thread_response == MainThreadResponse::kIncluded && if (main_thread_response == MainThreadResponse::kIncluded &&

@@ -512,7 +512,7 @@ void FrameSequenceMetrics::CalculateCheckerboardingAndJankV3(
will_ignore_current_frame = true; will_ignore_current_frame = true;
} }
// TODO(crbug.com/1450940): A new FrameSequenceTracker, that has yet to // TODO(crbug.com/40270377): A new FrameSequenceTracker, that has yet to
// process its first frame uses its creation time as starting point of // process its first frame uses its creation time as starting point of
// nested traces. FrameSorter processes a FrameInfo when both threads are // nested traces. FrameSorter processes a FrameInfo when both threads are
// complete. It's possible for the smoothness thread component to have // complete. It's possible for the smoothness thread component to have

@@ -137,7 +137,7 @@ bool FrameSequenceTracker::ShouldIgnoreBeginFrameSource(
} }
void FrameSequenceTracker::ResetAllStateIfPaused() { void FrameSequenceTracker::ResetAllStateIfPaused() {
// TODO(crbug.com/1256879): With FrameSequenceMetrics handling // TODO(crbug.com/40200408): With FrameSequenceMetrics handling
// FrameInfo::FrameFinalState::kNoUpdateDesired we likely do not need this // FrameInfo::FrameFinalState::kNoUpdateDesired we likely do not need this
// anymore. // anymore.
if (!reset_all_state_) { if (!reset_all_state_) {

@@ -103,7 +103,8 @@ void ScrollJankDroppedFrameTracker::EmitPerScrollHistogramsAndResetCounters() {
// There should be at least one presented frame given the method is only // There should be at least one presented frame given the method is only
// called after we have a successful presentation. // called after we have a successful presentation.
if (per_scroll_->num_presented_frames == 0) { if (per_scroll_->num_presented_frames == 0) {
// TODO(1464878): Debug cases where we can have 0 presented frames. // TODO(crbug.com/40067426): Debug cases where we can have 0 presented
// frames.
TRACE_EVENT_INSTANT("input", "NoPresentedFramesInScroll"); TRACE_EVENT_INSTANT("input", "NoPresentedFramesInScroll");
return; return;
} }
@@ -221,10 +222,10 @@ void ScrollJankDroppedFrameTracker::ReportLatestPresentationData(
EventMetrics::DispatchStage::kGenerated); EventMetrics::DispatchStage::kGenerated);
if ((last_input_generation_ts < first_input_generation_ts) || if ((last_input_generation_ts < first_input_generation_ts) ||
(presentation_ts <= last_input_generation_ts)) { (presentation_ts <= last_input_generation_ts)) {
// TODO(crbug/1447358): Investigate when these edge cases can be triggered // TODO(crbug.com/40913586): Investigate when these edge cases can be
// in field and web tests. We have already seen this triggered in field, and // triggered in field and web tests. We have already seen this triggered in
// some web tests where an event with null(0) timestamp gets coalesced with // field, and some web tests where an event with null(0) timestamp gets
// a "normal" input. // coalesced with a "normal" input.
return; return;
} }
// TODO(b/276722271) : Analyze and reduce these cases of out of order // TODO(b/276722271) : Analyze and reduce these cases of out of order

@@ -639,7 +639,7 @@ sk_sp<SkImage> ServiceImageTransferCacheEntry::GetImageWithToneMapApplied(
sk_sp<SkImage> image; sk_sp<SkImage> image;
// Apply tone mapping. // Apply tone mapping.
// TODO(https://crbug.com/1286088): Pass a shared cache as a parameter. // TODO(crbug.com/40210699): Pass a shared cache as a parameter.
gfx::ColorConversionSkFilterCache cache; gfx::ColorConversionSkFilterCache cache;
if (has_gainmap_) { if (has_gainmap_) {
image = cache.ApplyGainmap( image = cache.ApplyGainmap(
@@ -751,7 +751,7 @@ bool ServiceImageTransferCacheEntry::Deserialize(
image_ = image_ =
image_->makeColorSpace(graphite_recorder_, target_color_space, props); image_->makeColorSpace(graphite_recorder_, target_color_space, props);
} else { } else {
// TODO(crbug.com/1443068): It's possible for both `gr_context` and // TODO(crbug.com/40267231): It's possible for both `gr_context` and
// `graphite_recorder` to be nullptr if `image_` is not texture backed. // `graphite_recorder` to be nullptr if `image_` is not texture backed.
// Need to handle this case (currently just goes through gr_context path // Need to handle this case (currently just goes through gr_context path
// with nullptr context). // with nullptr context).

@@ -758,7 +758,7 @@ TEST_F(OopPixelTest, DrawHdrImageWithMetadata) {
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
// Allow large quantization error on Android. // Allow large quantization error on Android.
// TODO(https://crbug.com/1363056): Ensure higher precision for HDR images. // TODO(crbug.com/40238547): Ensure higher precision for HDR images.
constexpr float kEpsilon = 1 / 16.f; constexpr float kEpsilon = 1 / 16.f;
#elif BUILDFLAG(IS_IOS) && BUILDFLAG(SKIA_USE_METAL) #elif BUILDFLAG(IS_IOS) && BUILDFLAG(SKIA_USE_METAL)
// TODO(crbug.com/1476507): Allow larger errors on iOS as well. // TODO(crbug.com/1476507): Allow larger errors on iOS as well.

@@ -1254,7 +1254,7 @@ void DrawImageRectOp::RasterWithFlags(const DrawImageRectOp* op,
const PaintFlags* flags, const PaintFlags* flags,
SkCanvas* canvas, SkCanvas* canvas,
const PlaybackParams& params) { const PlaybackParams& params) {
// TODO(crbug.com/931704): make sure to support the case where paint worklet // TODO(crbug.com/40613771): make sure to support the case where paint worklet
// generated images are used in other raster work such as canvas2d. // generated images are used in other raster work such as canvas2d.
if (op->image.IsPaintWorklet()) { if (op->image.IsPaintWorklet()) {
// When rasterizing on the main thread (e.g. paint invalidation checking, // When rasterizing on the main thread (e.g. paint invalidation checking,

@@ -134,7 +134,7 @@ class CC_PAINT_EXPORT PaintOpBuffer : public SkRefCnt {
bool context_supports_distance_field_text = true; bool context_supports_distance_field_text = true;
int max_texture_size = 0; int max_texture_size = 0;
// TODO(crbug.com/1096123): Cleanup after study completion. // TODO(crbug.com/40136055): Cleanup after study completion.
// //
// If true, perform serializaion in a way that avoids serializing transient // If true, perform serializaion in a way that avoids serializing transient
// members, such as IDs, so that a stable digest can be calculated. This // members, such as IDs, so that a stable digest can be calculated. This

@@ -177,7 +177,7 @@ RasterTilePriorityQueueAll::GetNextQueues() const {
// Then, use the IsHigherPriorityThan condition for // Then, use the IsHigherPriorityThan condition for
// SAME_PRIORITY_FOR_BOTH_TREES and the rest of the priority bins. // SAME_PRIORITY_FOR_BOTH_TREES and the rest of the priority bins.
// TODO(crbug.com/1380831): For SAME_PRIORITY_FOR_BOTH_TREES mode and both // TODO(crbug.com/40244895): For SAME_PRIORITY_FOR_BOTH_TREES mode and both
// being NOW, should we give the priority to Active NOW instead? // being NOW, should we give the priority to Active NOW instead?
if (active_priority.IsHigherPriorityThan(pending_priority)) { if (active_priority.IsHigherPriorityThan(pending_priority)) {
return active_queues_; return active_queues_;

@@ -1320,9 +1320,9 @@ void TileManager::ScheduleTasks(PrioritizedWorkToSchedule work_to_schedule) {
// The old locked images tasks have to stay around until past the // The old locked images tasks have to stay around until past the
// ScheduleTasks call below, so we do a swap instead of a move. // ScheduleTasks call below, so we do a swap instead of a move.
// TODO(crbug.com/647402): Have the tile_task_manager keep a ref on the tasks, // TODO(crbug.com/40485121): Have the tile_task_manager keep a ref on the
// since it makes it awkward for the callers to keep refs on tasks that only // tasks, since it makes it awkward for the callers to keep refs on tasks that
// exist within the task graph runner. // only exist within the task graph runner.
locked_image_tasks_.swap(new_locked_image_tasks); locked_image_tasks_.swap(new_locked_image_tasks);
// We must reduce the amount of unused resources before calling // We must reduce the amount of unused resources before calling

@@ -4350,7 +4350,7 @@ bool LayerTreeHostImpl::AnimateLayers(base::TimeTicks monotonic_time,
// animation_host, so on the last frame of an animation we will // animation_host, so on the last frame of an animation we will
// still request an extra SetNeedsAnimate here. // still request an extra SetNeedsAnimate here.
if (animated) { if (animated) {
// TODO(crbug.com/1039750): If only scroll animations present, schedule a // TODO(crbug.com/40667010): If only scroll animations present, schedule a
// frame only if scroll changes. // frame only if scroll changes.
SetNeedsOneBeginImplFrame(); SetNeedsOneBeginImplFrame();
frame_trackers_.StartSequence( frame_trackers_.StartSequence(

@@ -164,7 +164,7 @@ TEST_P(LayerTreeHostFiltersPixelTest, MAYBE_BackdropFilterBlurRadius) {
} }
#endif #endif
if (use_software_renderer()) { if (use_software_renderer()) {
// TODO(989238): Software renderer does not support/implement // TODO(crbug.com/40036319): Software renderer does not support/implement
// kClamp_TileMode. // kClamp_TileMode.
return; return;
} }

@@ -9404,7 +9404,7 @@ class LayerTreeHostTestDelegatedInkMetadataCompositorOnlyFrame
FakeContentLayerClient client_; FakeContentLayerClient client_;
}; };
// TODO(crbug.com/1435551): flaky on win-asan. // TODO(crbug.com/40265182): flaky on win-asan.
#if !(BUILDFLAG(IS_WIN) && defined(ADDRESS_SANITIZER)) #if !(BUILDFLAG(IS_WIN) && defined(ADDRESS_SANITIZER))
SINGLE_AND_MULTI_THREAD_TEST_F( SINGLE_AND_MULTI_THREAD_TEST_F(
LayerTreeHostTestDelegatedInkMetadataCompositorOnlyFrame); LayerTreeHostTestDelegatedInkMetadataCompositorOnlyFrame);

@@ -1111,8 +1111,8 @@ class LayerTreeHostScrollTestImplOnlyScroll : public LayerTreeHostScrollTest {
// This tests scrolling on the impl side which is only possible with a thread. // This tests scrolling on the impl side which is only possible with a thread.
MULTI_THREAD_TEST_F(LayerTreeHostScrollTestImplOnlyScroll); MULTI_THREAD_TEST_F(LayerTreeHostScrollTestImplOnlyScroll);
// TODO(crbug.com/574283): Mac currently doesn't support smooth scrolling wheel // TODO(crbug.com/40451005): Mac currently doesn't support smooth scrolling
// events. // wheel events.
#if !BUILDFLAG(IS_MAC) #if !BUILDFLAG(IS_MAC)
// This test simulates scrolling on the impl thread such that it starts a scroll // This test simulates scrolling on the impl thread such that it starts a scroll
// animation. It ensures that RequestScrollAnimationEndNotification() correctly // animation. It ensures that RequestScrollAnimationEndNotification() correctly
@@ -1524,7 +1524,7 @@ class LayerTreeHostScrollTestImplOnlyMultipleScrollSnap
ElementId snap_area_b_id_; ElementId snap_area_b_id_;
}; };
// TODO(crbug.com/1243814): Test is flaky on Chrome OS (both Ash and Lacros). // TODO(crbug.com/40787490): Test is flaky on Chrome OS (both Ash and Lacros).
#if !BUILDFLAG(IS_CHROMEOS) #if !BUILDFLAG(IS_CHROMEOS)
MULTI_THREAD_TEST_F(LayerTreeHostScrollTestImplOnlyMultipleScrollSnap); MULTI_THREAD_TEST_F(LayerTreeHostScrollTestImplOnlyMultipleScrollSnap);
#endif #endif

@@ -2548,7 +2548,7 @@ LayerTreeImpl::FindLayersUpToFirstScrollableOrOpaqueToHitTest(
// The intention here is to skip over any layers that belong to a // The intention here is to skip over any layers that belong to a
// different 3d sorting context than the first_hit layer. // different 3d sorting context than the first_hit layer.
// //
// TODO(crbug.com/1407697): This code is kind of broken for the case of a // TODO(crbug.com/40887983): This code is kind of broken for the case of a
// scroller inside a preserve-3d: we assign a sorting_context_id to the // scroller inside a preserve-3d: we assign a sorting_context_id to the
// scroller's main layer, which is marked as scrollable, but not its // scroller's main layer, which is marked as scrollable, but not its
// scrolling-contents layer, which is first_hit. Currently we rely on // scrolling-contents layer, which is first_hit. Currently we rely on

@@ -1684,7 +1684,7 @@ gfx::PointF ScrollTree::GetScrollOffsetForScrollTimeline(
const TransformNode* transform_node = const TransformNode* transform_node =
property_trees()->transform_tree().Node(scroll_node.transform_id); property_trees()->transform_tree().Node(scroll_node.transform_id);
// TODO(crbug.com/1418689): current_scroll_offset can disagree with // TODO(crbug.com/40894892): current_scroll_offset can disagree with
// transform_node->scroll_offset if the delta on a main frame update is // transform_node->scroll_offset if the delta on a main frame update is
// simply rounding of the scroll position and not using fractional scroll // simply rounding of the scroll position and not using fractional scroll
// deltas (see needs_scroll_update in PushScrollUpdatesFromMainThread). // deltas (see needs_scroll_update in PushScrollUpdatesFromMainThread).
@@ -1702,8 +1702,8 @@ gfx::PointF ScrollTree::GetScrollOffsetForScrollTimeline(
// snapping needed, due to floating point precision errors. In general this // snapping needed, due to floating point precision errors. In general this
// is fine, but we never want to report a negative scroll offset so avoid // is fine, but we never want to report a negative scroll offset so avoid
// that case here. // that case here.
// TODO(crbug.com/1076878): Remove the clamping when scroll timeline effects // TODO(crbug.com/40688441): Remove the clamping when scroll timeline
// always match the snapping. // effects always match the snapping.
offset = ClampScrollOffsetToLimits(offset - transform_node->snap_amount, offset = ClampScrollOffsetToLimits(offset - transform_node->snap_amount,
scroll_node); scroll_node);
} }

@@ -1595,8 +1595,8 @@ bool content::IsNSRange(id value) {
return nil; return nil;
} }
if (!root_manager->GetParentView()) { if (!root_manager->GetParentView()) {
// TODO(crbug.com/1425682) Find out why this happens, there should always be // TODO(crbug.com/40898856) Find out why this happens, there should always
// a parent view. This used to be a CHECK() but caused too many crashes. // be a parent view. This used to be a CHECK() but caused too many crashes.
// Repro steps are available in the bug. // Repro steps are available in the bug.
return nil; return nil;
} }

@@ -1503,7 +1503,7 @@ IN_PROC_BROWSER_TEST_F(CrossPlatformAccessibilityBrowserTest,
TestLocalizedLandmarkType(17, ax::mojom::Role::kSearch, "search"); TestLocalizedLandmarkType(17, ax::mojom::Role::kSearch, "search");
} }
// TODO(https://crbug.com/1020456) re-enable when crashing on linux is resolved. // TODO(crbug.com/40656480) re-enable when crashing on linux is resolved.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#define MAYBE_LocalizedRoleDescription DISABLED_LocalizedRoleDescription #define MAYBE_LocalizedRoleDescription DISABLED_LocalizedRoleDescription
#else #else

@@ -711,7 +711,7 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityEventsTest,
RunEventTest(FILE_PATH_LITERAL("expanded-changed.html")); RunEventTest(FILE_PATH_LITERAL("expanded-changed.html"));
} }
// TODO(crbug.com/1423530): disabled on UIA. // TODO(crbug.com/40897549): disabled on UIA.
// TODO(crbug.com/1423845): Failing on Mac. // TODO(crbug.com/1423845): Failing on Mac.
// TODO(crbug.com/1423845): Actually failing everywhere. Disabled. // TODO(crbug.com/1423845): Actually failing everywhere. Disabled.
IN_PROC_BROWSER_TEST_P(DumpAccessibilityEventsTestExceptUIA, IN_PROC_BROWSER_TEST_P(DumpAccessibilityEventsTestExceptUIA,
@@ -883,7 +883,7 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityEventsTest,
RunEventTest(FILE_PATH_LITERAL("menulist-collapse-next.html")); RunEventTest(FILE_PATH_LITERAL("menulist-collapse-next.html"));
} }
// TODO(crbug/1232295): Flaky on Linux and Win. // TODO(crbug.com/40780161): Flaky on Linux and Win.
// TODO(crbug.com/1230894): locks up with popup open, only on Mac // TODO(crbug.com/1230894): locks up with popup open, only on Mac
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#define MAYBE_AccessibilityEventsMenuListExpand \ #define MAYBE_AccessibilityEventsMenuListExpand \

@@ -159,7 +159,7 @@ class YieldingParserDumpAccessibilityTreeTest
base::test::ScopedFeatureList feature_list_; base::test::ScopedFeatureList feature_list_;
}; };
// TODO(https://crbug.com/1470120): We need to create a way to incrementally // TODO(crbug.com/40925629): We need to create a way to incrementally
// enable and create UIA tests. // enable and create UIA tests.
INSTANTIATE_TEST_SUITE_P( INSTANTIATE_TEST_SUITE_P(
All, All,
@@ -1619,7 +1619,7 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
RunHtmlTest(FILE_PATH_LITERAL("aside-inside-section-role-generic.html")); RunHtmlTest(FILE_PATH_LITERAL("aside-inside-section-role-generic.html"));
} }
// TODO(crbug.com/1502854): Fix failure on android // TODO(crbug.com/40943250): Fix failure on android
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#define MAYBE_AccessibilityAudio DISABLED_AccessibilityAudio #define MAYBE_AccessibilityAudio DISABLED_AccessibilityAudio
#else #else
@@ -2360,7 +2360,7 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
// TODO: date and time controls drop their children, including the popup button, // TODO: date and time controls drop their children, including the popup button,
// on Android. // on Android.
// TODO(https://crbug.com/1378498): Flaky on every platform. // TODO(crbug.com/40875029): Flaky on every platform.
IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
DISABLED_AccessibilityInputDateWithPopupOpen) { DISABLED_AccessibilityInputDateWithPopupOpen) {
RunHtmlTest(FILE_PATH_LITERAL("input-date-with-popup-open.html")); RunHtmlTest(FILE_PATH_LITERAL("input-date-with-popup-open.html"));
@@ -2617,8 +2617,8 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
} }
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
// TODO(1038813): The /blink test pass is different on Windows and Mac, versus // TODO(crbug.com/40666501): The /blink test pass is different on Windows and
// Linux. Also, see https://crbug.com/1314896. // Mac, versus Linux. Also, see https://crbug.com/1314896.
#define MAYBE_AccessibilityInputTime DISABLED_AccessibilityInputTime #define MAYBE_AccessibilityInputTime DISABLED_AccessibilityInputTime
#else #else
#define MAYBE_AccessibilityInputTime AccessibilityInputTime #define MAYBE_AccessibilityInputTime AccessibilityInputTime
@@ -3503,7 +3503,7 @@ IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest,
RunHtmlTest(FILE_PATH_LITERAL("node-changed-crash-in-editable-text.html")); RunHtmlTest(FILE_PATH_LITERAL("node-changed-crash-in-editable-text.html"));
} }
// TODO(https://crbug.com/1366446): This test is failing on Android. // TODO(crbug.com/40866942): This test is failing on Android.
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#define MAYBE_AccessibilityNoSourceVideo DISABLED_AccessibilityNoSourceVideo #define MAYBE_AccessibilityNoSourceVideo DISABLED_AccessibilityNoSourceVideo
#else #else

@@ -635,8 +635,8 @@ IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest,
} }
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
// Fails flakily with compared ID differences. TODO(crbug.com/1121099): Re-enable // Fails flakily with compared ID differences. TODO(crbug.com/40715277):
// this test. // Re-enable this test.
IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest, IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest,
DISABLED_CachingAsyncHitTest_WithPinchZoom) { DISABLED_CachingAsyncHitTest_WithPinchZoom) {
ASSERT_TRUE(embedded_test_server()->Start()); ASSERT_TRUE(embedded_test_server()->Start());
@@ -682,7 +682,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest,
// TODO(https://crbug.com/1224978): Times out flakily on TSAN builds. // TODO(https://crbug.com/1224978): Times out flakily on TSAN builds.
// TODO(https://crbug.com/1459570): Times out flakily on ASan builds. // TODO(https://crbug.com/1459570): Times out flakily on ASan builds.
// TODO(https://crbug.com/1461935): Times out flakily on win-asan. // TODO(crbug.com/40921699): Times out flakily on win-asan.
IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest, IN_PROC_BROWSER_TEST_P(AccessibilityHitTestingBrowserTest,
DISABLED_HitTest_WithPinchZoom) { DISABLED_HitTest_WithPinchZoom) {
ASSERT_TRUE(embedded_test_server()->Start()); ASSERT_TRUE(embedded_test_server()->Start());

@@ -102,10 +102,10 @@ void OnPairCharacteristicStartNotifications(
constexpr int WebBluetoothPairingManagerImpl::kMaxPairAttempts; constexpr int WebBluetoothPairingManagerImpl::kMaxPairAttempts;
// TODO(960258): Ensure this delegate outlives any in-progress pairing operation // TODO(crbug.com/40626253): Ensure this delegate outlives any in-progress
// for which it is used. Additionally review use of WebBluetoothDeviceId vs. // pairing operation for which it is used. Additionally review use of
// BluetoothDevice as well as how to deal with simultaneous pairing requests // WebBluetoothDeviceId vs. BluetoothDevice as well as how to deal with
// for the same device. // simultaneous pairing requests for the same device.
WebBluetoothPairingManagerImpl::WebBluetoothPairingManagerImpl( WebBluetoothPairingManagerImpl::WebBluetoothPairingManagerImpl(
WebBluetoothPairingManagerDelegate* pairing_manager_delegate) WebBluetoothPairingManagerDelegate* pairing_manager_delegate)
: pairing_manager_delegate_(pairing_manager_delegate) { : pairing_manager_delegate_(pairing_manager_delegate) {

@@ -570,7 +570,7 @@ void BrowserChildProcessHostImpl::CreateMetricsAllocator() {
} }
// This class is not expected to be used for renderer child processes. // This class is not expected to be used for renderer child processes.
// TODO(crbug/1028263): CHECK, once proven that this scenario does not // TODO(crbug.com/40109064): CHECK, once proven that this scenario does not
// occur in the wild, else remove dump and just return early if disproven. // occur in the wild, else remove dump and just return early if disproven.
if (data_.process_type == PROCESS_TYPE_RENDERER) { if (data_.process_type == PROCESS_TYPE_RENDERER) {
base::debug::DumpWithoutCrashing(); base::debug::DumpWithoutCrashing();

@@ -539,7 +539,7 @@ void BrowsingDataRemoverImpl::RemoveImpl(
RenderProcessHostImpl::ClearAllResourceCaches(); RenderProcessHostImpl::ClearAllResourceCaches();
// TODO(crbug.com/813882): implement retry on network service. // TODO(crbug.com/40563720): implement retry on network service.
// The clearing of the HTTP cache happens in the network service process // The clearing of the HTTP cache happens in the network service process
// when enabled. Note that we've deprecated the concept of a media cache, // when enabled. Note that we've deprecated the concept of a media cache,
@@ -613,7 +613,7 @@ void BrowsingDataRemoverImpl::RemoveImpl(
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// Reporting cache. // Reporting cache.
// TODO(https://crbug.com/1291489): Add unit test to cover this. // TODO(crbug.com/40818785): Add unit test to cover this.
if (remove_mask & DATA_TYPE_COOKIES) { if (remove_mask & DATA_TYPE_COOKIES) {
network::mojom::NetworkContext* network_context = network::mojom::NetworkContext* network_context =
storage_partition->GetNetworkContext(); storage_partition->GetNetworkContext();

@@ -190,7 +190,7 @@ IN_PROC_BROWSER_TEST_F(
EXPECT_EQ("[]", InvokeTopicsAPI(web_contents())); EXPECT_EQ("[]", InvokeTopicsAPI(web_contents()));
} }
// TODO(crbug.com/1381167): migrate to WPT. // TODO(crbug.com/40245082): migrate to WPT.
IN_PROC_BROWSER_TEST_F(BrowsingTopicsBrowserTest, IN_PROC_BROWSER_TEST_F(BrowsingTopicsBrowserTest,
Fetch_TopicsHeaderNotVisibleInServiceWorker) { Fetch_TopicsHeaderNotVisibleInServiceWorker) {
GURL main_frame_url = https_server_.GetURL( GURL main_frame_url = https_server_.GetURL(

@@ -1873,7 +1873,7 @@ TEST_F(CacheStorageManagerTest, GetBucketUsageConflictingBucketIds) {
EXPECT_NE(Size(bucket_locator1_), 0); EXPECT_NE(Size(bucket_locator1_), 0);
} }
// TODO(crbug.com/1369300): Re-enable test for Windows. // TODO(crbug.com/40868994): Re-enable test for Windows.
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
#define MAYBE_GetBucketUsageWithPadding DISABLED_GetBucketUsageWithPadding #define MAYBE_GetBucketUsageWithPadding DISABLED_GetBucketUsageWithPadding
#else #else

@@ -69,7 +69,7 @@ void PassHistogramSharedMemoryHandle(
[[maybe_unused]] base::CommandLine* command_line, [[maybe_unused]] base::CommandLine* command_line,
[[maybe_unused]] base::LaunchOptions* launch_options, [[maybe_unused]] base::LaunchOptions* launch_options,
[[maybe_unused]] FileMappedForLaunch* files_to_register) { [[maybe_unused]] FileMappedForLaunch* files_to_register) {
// TODO(crbug.com/1028263): Once all process types support histogram shared // TODO(crbug.com/40109064): Once all process types support histogram shared
// memory being passed at launch, remove this if. // memory being passed at launch, remove this if.
if (!histogram_memory_region.IsValid()) { if (!histogram_memory_region.IsValid()) {
return; return;
@@ -78,7 +78,7 @@ void PassHistogramSharedMemoryHandle(
CHECK(command_line); CHECK(command_line);
CHECK(histogram_memory_region.IsValid()); CHECK(histogram_memory_region.IsValid());
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE)
// TODO(crbug.com/1028263): content::FileMappedForLaunch (POSIX) is redundant // TODO(crbug.com/40109064): content::FileMappedForLaunch (POSIX) is redundant
// wrt the base::LaunchOptions::<platform-specific-handles-to-transfer> // wrt the base::LaunchOptions::<platform-specific-handles-to-transfer>
// members. Refactor this so that the details of base::Launch vs Zygote on // members. Refactor this so that the details of base::Launch vs Zygote on
// (some) POSIX platforms is an implementation detail and not exposed here. // (some) POSIX platforms is an implementation detail and not exposed here.
@@ -122,7 +122,7 @@ void PassFieldTrialSharedMemoryHandle(
[[maybe_unused]] FileMappedForLaunch* files_to_register) { [[maybe_unused]] FileMappedForLaunch* files_to_register) {
CHECK(command_line); CHECK(command_line);
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE)
// TODO(crbug.com/1028263): content::FileMappedForLaunch (POSIX) is redundant // TODO(crbug.com/40109064): content::FileMappedForLaunch (POSIX) is redundant
// wrt the base::LaunchOptions::<platform-specific-handles-to-transfer> // wrt the base::LaunchOptions::<platform-specific-handles-to-transfer>
// members. Refactor this so that the details of base::Launch vs Zygote on // members. Refactor this so that the details of base::Launch vs Zygote on
// (some) POSIX platforms is an implementation detail and not exposed here. // (some) POSIX platforms is an implementation detail and not exposed here.

@@ -1917,7 +1917,7 @@ bool ChildProcessSecurityPolicyImpl::CanAccessMaybeOpaqueOrigin(
// require COOP/COEP handling, to pass in their COOP/COEP information // require COOP/COEP handling, to pass in their COOP/COEP information
// so it can be used here instead of the values in // so it can be used here instead of the values in
// |actual_process_lock|. // |actual_process_lock|.
// TODO(crbug.com/1271197): The code below is subtly incorrect in cases // TODO(crbug.com/40205612): The code below is subtly incorrect in cases
// where actual_process_lock.is_pdf() is true, since in the case of PDFs // where actual_process_lock.is_pdf() is true, since in the case of PDFs
// the lock is intended to prevent access to the lock's site/origin, // the lock is intended to prevent access to the lock's site/origin,
// while still allowing the navigation to commit. // while still allowing the navigation to commit.

@@ -218,7 +218,7 @@ void NetworkServiceDevToolsObserver::OnCorsError(
if (!rfhi) if (!rfhi)
return; return;
// TODO(https://crbug.com/1268378): Remove this once enforcement is always // TODO(crbug.com/40204695): Remove this once enforcement is always
// enabled and warnings are no more. // enabled and warnings are no more.
if (is_warning && initiator_origin.has_value()) { if (is_warning && initiator_origin.has_value()) {
if (!initiator_origin->IsSameOriginWith(url)) { if (!initiator_origin->IsSameOriginWith(url)) {

@@ -113,7 +113,7 @@ namespace {
// //content/browser/permissions:permission_service_impl // //content/browser/permissions:permission_service_impl
// ::PermissionDescriptorToPermissionType, producing an error in // ::PermissionDescriptorToPermissionType, producing an error in
// |error_message| as necessary. // |error_message| as necessary.
// TODO(crbug.com/989983): De-duplicate this logic. // TODO(crbug.com/40638575): De-duplicate this logic.
Response PermissionDescriptorToPermissionType( Response PermissionDescriptorToPermissionType(
std::unique_ptr<protocol::Browser::PermissionDescriptor> descriptor, std::unique_ptr<protocol::Browser::PermissionDescriptor> descriptor,
PermissionType* permission_type) { PermissionType* permission_type) {

@@ -446,7 +446,7 @@ MakeCookieFromProtocolValues(const std::string& name,
} }
cookie_partition_key = deserialized_partition_key.value(); cookie_partition_key = deserialized_partition_key.value();
} }
// TODO(crbug.com/1225444) Add Partitioned to DevTools cookie structures. // TODO(crbug.com/40188414) Add Partitioned to DevTools cookie structures.
std::unique_ptr<net::CanonicalCookie> cookie = std::unique_ptr<net::CanonicalCookie> cookie =
net::CanonicalCookie::CreateSanitizedCookie( net::CanonicalCookie::CreateSanitizedCookie(
url, name, value, normalized_domain, path, base::Time(), url, name, value, normalized_domain, path, base::Time(),

@@ -1209,7 +1209,7 @@ void PageHandler::CaptureScreenshot(
modified_web_prefs); modified_web_prefs);
{ {
// TODO(crbug.com/1141835): Remove the bug is fixed. // TODO(crbug.com/40727379): Remove the bug is fixed.
// Walkaround for the bug. Emulated `view_size` has to be set twice, // Walkaround for the bug. Emulated `view_size` has to be set twice,
// otherwise the scrollbar will be on the screenshot present. // otherwise the scrollbar will be on the screenshot present.
blink::DeviceEmulationParams tmp_params = modified_params; blink::DeviceEmulationParams tmp_params = modified_params;

@@ -195,7 +195,7 @@ FencedFrameURLMapping::AssignFencedFrameURLAndInterestGroupInfo(
std::vector<blink::AdDescriptor> ad_component_descriptors, std::vector<blink::AdDescriptor> ad_component_descriptors,
scoped_refptr<FencedFrameReporter> fenced_frame_reporter) { scoped_refptr<FencedFrameReporter> fenced_frame_reporter) {
// Move pending mapped urn::uuid to `urn_uuid_to_url_map_`. // Move pending mapped urn::uuid to `urn_uuid_to_url_map_`.
// TODO(crbug.com/1422301): Remove the check for whether `urn_uuid` has been // TODO(crbug.com/40896818): Remove the check for whether `urn_uuid` has been
// mapped already once the crash is resolved. // mapped already once the crash is resolved.
CHECK(!IsMapped(urn_uuid)); CHECK(!IsMapped(urn_uuid));
auto pending_it = pending_urn_uuid_to_url_map_.find(urn_uuid); auto pending_it = pending_urn_uuid_to_url_map_.find(urn_uuid);

@@ -176,7 +176,7 @@ class CONTENT_EXPORT FencedFrameURLMapping {
// replacements map. The true URLs for any component ads associated with this // replacements map. The true URLs for any component ads associated with this
// URN will also have substrings substituted. This function will be removed // URN will also have substrings substituted. This function will be removed
// once all FLEDGE auctions switch to using fenced frames. // once all FLEDGE auctions switch to using fenced frames.
// TODO(crbug.com/1253118): Remove this function when we remove support for // TODO(crbug.com/40199055): Remove this function when we remove support for
// showing FLEDGE ads in iframes. // showing FLEDGE ads in iframes.
void SubstituteMappedURL( void SubstituteMappedURL(
const GURL& urn_uuid, const GURL& urn_uuid,

@@ -25,7 +25,7 @@ BASE_FEATURE(kFileSystemAccessDragAndDropCheckBlocklist,
"FileSystemAccessDragAndDropCheckBlocklist", "FileSystemAccessDragAndDropCheckBlocklist",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// TODO(crbug.com/1421735): Remove this flag eventually. // TODO(crbug.com/40896420): Remove this flag eventually.
// When enabled, GetFile() and GetEntries() on a directory handle performs // When enabled, GetFile() and GetEntries() on a directory handle performs
// the blocklist check on child file handles. // the blocklist check on child file handles.
BASE_FEATURE(kFileSystemAccessDirectoryIterationBlocklistCheck, BASE_FEATURE(kFileSystemAccessDirectoryIterationBlocklistCheck,

@@ -515,7 +515,7 @@ void FileSystemAccessFileHandleImpl::CreateFileWriterImpl(
DCHECK_EQ(GetWritePermissionStatus(), DCHECK_EQ(GetWritePermissionStatus(),
blink::mojom::PermissionStatus::GRANTED); blink::mojom::PermissionStatus::GRANTED);
// TODO(crbug.com/1241401): Expand this check to all backends. // TODO(crbug.com/40194651): Expand this check to all backends.
if (url().type() == storage::kFileSystemTypeLocal) { if (url().type() == storage::kFileSystemTypeLocal) {
base::ThreadPool::PostTaskAndReplyWithResult( base::ThreadPool::PostTaskAndReplyWithResult(
FROM_HERE, {base::MayBlock()}, FROM_HERE, {base::MayBlock()},
@@ -648,7 +648,7 @@ void FileSystemAccessFileHandleImpl::DidTakeSwapLock(
// existence check and when file contents are copied to the new file. // existence check and when file contents are copied to the new file.
// However, since we've acquired an exclusive lock to the swap file, this // However, since we've acquired an exclusive lock to the swap file, this
// is only possible if the file is created external to this API. // is only possible if the file is created external to this API.
// TODO(https://crbug.com/1382215): Consider requiring a lock to create an // TODO(crbug.com/40245515): Consider requiring a lock to create an
// empty file, e.g. parent.getFileHandle(swapFileName, {create: true}). // empty file, e.g. parent.getFileHandle(swapFileName, {create: true}).
manager()->DoFileSystemOperation( manager()->DoFileSystemOperation(
FROM_HERE, &FileSystemOperationRunner::FileExists, FROM_HERE, &FileSystemOperationRunner::FileExists,

@@ -504,7 +504,7 @@ TEST_F(FileSystemAccessManagerImplTest, GetSandboxedFileSystem_CustomBucket) {
// Note: we can test that the open succeeded, but because the FileSystemURL // Note: we can test that the open succeeded, but because the FileSystemURL
// is not exposed to the callback we rely on WPTs to ensure the bucket // is not exposed to the callback we rely on WPTs to ensure the bucket
// locator was actually used. // locator was actually used.
// TODO(crbug.com/1322897): Ensure the bucket override is actually used. // TODO(crbug.com/40224463): Ensure the bucket override is actually used.
ASSERT_TRUE(root); ASSERT_TRUE(root);
} }

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