diff --git a/.gitmodules b/.gitmodules index 3d08b6e31403c0..eeefd172c90927 100644 --- a/.gitmodules +++ b/.gitmodules @@ -41,10 +41,6 @@ [submodule "chrome/test/data/xr/webvr_info"] path = chrome/test/data/xr/webvr_info url = https://chromium.googlesource.com/external/github.com/toji/webvr.info -[submodule "clank"] - path = clank - url = https://chrome-internal.googlesource.com/clank/internal/apps - gclient-condition = checkout_android and checkout_src_internal [submodule "docs/website"] path = docs/website url = https://chromium.googlesource.com/website @@ -646,10 +642,6 @@ [submodule "v8"] path = v8 url = https://chromium.googlesource.com/v8/v8 -[submodule "internal"] - path = internal - url = https://chrome-internal.googlesource.com/chrome/src-internal - gclient-condition = checkout_src_internal or checkout_src_internal_infra [submodule "third_party/android_prebuilts/build_tools"] path = third_party/android_prebuilts/build_tools url = https://android.googlesource.com/platform/prebuilts/build-tools @@ -834,10 +826,6 @@ path = google_apis/internal url = https://chrome-internal.googlesource.com/chrome/google_apis/internal gclient-condition = checkout_src_internal -[submodule "ios_internal"] - path = ios_internal - url = https://chrome-internal.googlesource.com/chrome/ios_internal - gclient-condition = checkout_ios and checkout_src_internal [submodule "remoting/host/installer/linux/internal"] path = remoting/host/installer/linux/internal url = https://chrome-internal.googlesource.com/chrome/remoting/host/installer/linux/internal diff --git a/BUILD.gn b/BUILD.gn index 24c0b4e0fe2083..97f1d488ae72eb 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -490,7 +490,7 @@ group("gn_all") { "//net:disk_cache_memory_test", "//net:quic_client", "//net:quic_server", - "//sandbox/linux:chrome_sandbox", + "//sandbox/linux:taktak_sandbox", "//sandbox/linux:sandbox_linux_unittests", ] if (!is_clang) { @@ -1042,7 +1042,7 @@ if (is_chromeos) { "//components/policy/test_support:fake_dmserver", "//media:media_unittests", "//media/capture:capture_unittests", - "//sandbox/linux:chrome_sandbox", + "//sandbox/linux:taktak_sandbox", "//sandbox/linux:sandbox_linux_unittests", "//services/screen_ai:screen_ai_ocr_perf_test", "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", diff --git a/android_webview/glue/java/src/com/android/webview/chromium/ContentSettingsAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/ContentSettingsAdapter.java index 31a2083046f891..53489de2fd90f2 100644 --- a/android_webview/glue/java/src/com/android/webview/chromium/ContentSettingsAdapter.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/ContentSettingsAdapter.java @@ -19,8 +19,8 @@ import org.chromium.base.TraceEvent; /** - * Type adaptation layer between {@link android.webkit.WebSettings} and - * {@link org.chromium.android_webview.AwSettings}. + * Type adaptation layer between {@link android.webkit.WebSettings} and {@link + * org.chromium.android_webview.AwSettings}. */ @SuppressWarnings({"deprecation", "NoSynchronizedMethodCheck"}) public class ContentSettingsAdapter extends android.webkit.WebSettings { diff --git a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java index 584326f8b4ae9b..988b24be335a0f 100644 --- a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerClientAdapter.java @@ -12,8 +12,8 @@ import org.chromium.components.embedder_support.util.WebResourceResponseInfo; /** - * An adapter class that forwards the callbacks from {@link AwServiceWorkerClient} - * to the corresponding {@link ServiceWorkerClient}. + * An adapter class that forwards the callbacks from {@link AwServiceWorkerClient} to the + * corresponding {@link ServiceWorkerClient}. */ public class ServiceWorkerClientAdapter extends AwServiceWorkerClient { private final ServiceWorkerClient mServiceWorkerClient; diff --git a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java index c0d53514a7a363..4e24f3b4f5412a 100644 --- a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerControllerAdapter.java @@ -13,8 +13,8 @@ import org.chromium.android_webview.AwServiceWorkerController; /** - * Chromium implementation of ServiceWorkerController -- forwards calls to - * the chromium internal implementation. + * Chromium implementation of ServiceWorkerController -- forwards calls to the chromium internal + * implementation. */ public class ServiceWorkerControllerAdapter extends ServiceWorkerController { private final AwServiceWorkerController mAwServiceWorkerController; diff --git a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerSettingsAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerSettingsAdapter.java index 64a45c3bf9bd34..c66a991b405f7f 100644 --- a/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerSettingsAdapter.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/ServiceWorkerSettingsAdapter.java @@ -7,8 +7,8 @@ import org.chromium.android_webview.AwServiceWorkerSettings; /** - * Type adaptation layer between {@link android.webkit.ServiceWorkerWebSettings} - * and {@link org.chromium.android_webview.AwServiceWorkerSettings}. + * Type adaptation layer between {@link android.webkit.ServiceWorkerWebSettings} and {@link + * org.chromium.android_webview.AwServiceWorkerSettings}. */ @SuppressWarnings("NoSynchronizedMethodCheck") public class ServiceWorkerSettingsAdapter extends android.webkit.ServiceWorkerWebSettings { diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebMessagePortAdapter.java b/android_webview/glue/java/src/com/android/webview/chromium/WebMessagePortAdapter.java index ddaed59919bb75..d2a0a9221f1df7 100644 --- a/android_webview/glue/java/src/com/android/webview/chromium/WebMessagePortAdapter.java +++ b/android_webview/glue/java/src/com/android/webview/chromium/WebMessagePortAdapter.java @@ -11,10 +11,7 @@ import org.chromium.content_public.browser.MessagePayload; import org.chromium.content_public.browser.MessagePort; -/** - * This class is used to convert a WebMessagePort to a MessagePort in chromium - * world. - */ +/** This class is used to convert a WebMessagePort to a MessagePort in chromium world. */ public class WebMessagePortAdapter extends WebMessagePort { private final MessagePort mPort; diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java index 23cbf8c58316c9..3b92a5d42615dc 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java @@ -2660,7 +2660,9 @@ public boolean overlayVerticalScrollbar() { return mOverlayVerticalScrollbar; } - /** @see android.webkit.WebView#requestChildRectangleOnScreen(View, Rect, boolean) */ + /** + * @see android.webkit.WebView#requestChildRectangleOnScreen(View, Rect, boolean) + */ public boolean requestChildRectangleOnScreen(View child, Rect rect, boolean immediate) { if (isDestroyed(WARN)) return false; return mScrollOffsetManager.requestChildRectangleOnScreen( @@ -2670,7 +2672,9 @@ public boolean requestChildRectangleOnScreen(View child, Rect rect, boolean imme immediate); } - /** @see android.webkit.WebView#stopLoading() */ + /** + * @see android.webkit.WebView#stopLoading() + */ public void stopLoading() { if (TRACE) Log.i(TAG, "%s stopLoading", this); if (!isDestroyed(WARN)) mWebContents.stop(); diff --git a/android_webview/java/src/org/chromium/android_webview/AwNavigationParams.java b/android_webview/java/src/org/chromium/android_webview/AwNavigationParams.java index 92aab33ee602b9..ffcf1b068c3dd2 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwNavigationParams.java +++ b/android_webview/java/src/org/chromium/android_webview/AwNavigationParams.java @@ -4,8 +4,6 @@ package org.chromium.android_webview; - - /** * Parameters to {@link AwContents#navigate}. * diff --git a/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java b/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java index 134a4ab3da90a5..43b6311592db22 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java +++ b/android_webview/java/src/org/chromium/android_webview/AwPacProcessor.java @@ -25,8 +25,8 @@ import java.util.List; /** - * Class to evaluate PAC scripts. Its lifecycle is independent of - * any Renderer, Profile, or WebView instance. + * Class to evaluate PAC scripts. Its lifecycle is independent of any Renderer, Profile, or WebView + * instance. */ @JNINamespace("android_webview") @RequiresApi(Build.VERSION_CODES.P) diff --git a/android_webview/java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java b/android_webview/java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java index 821517f1937bbf..43f9c91705c5d4 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java +++ b/android_webview/java/src/org/chromium/android_webview/AwPrintDocumentAdapter.java @@ -15,9 +15,8 @@ import java.util.ArrayList; /** - * Adapter for printing Webview. This class implements the abstract - * system class PrintDocumentAdapter and hides all printing details from - * the developer. + * Adapter for printing Webview. This class implements the abstract system class + * PrintDocumentAdapter and hides all printing details from the developer. */ public class AwPrintDocumentAdapter extends PrintDocumentAdapter { @@ -26,8 +25,7 @@ public class AwPrintDocumentAdapter extends PrintDocumentAdapter { private final String mDocumentName; /** - * Constructor. - * TODO(sgurun) remove in favor of constructor below once the AOSP changes are in. + * Constructor. TODO(sgurun) remove in favor of constructor below once the AOSP changes are in. * * @param pdfExporter The PDF exporter to export the webview contents to a PDF file. */ diff --git a/android_webview/java/src/org/chromium/android_webview/AwViewMethods.java b/android_webview/java/src/org/chromium/android_webview/AwViewMethods.java index 537c659b3cfaa1..b98be007610821 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwViewMethods.java +++ b/android_webview/java/src/org/chromium/android_webview/AwViewMethods.java @@ -105,7 +105,9 @@ public interface AwViewMethods { /** @see android.view.View#computeVerticalScrollExtent */ int computeVerticalScrollExtent(); - /** @see android.view.View#computeScroll */ + /** + * @see android.view.View#computeScroll + */ void computeScroll(); /** @@ -122,12 +124,18 @@ public interface AwViewMethods { */ AccessibilityNodeProvider getAccessibilityNodeProvider(); - /** @see android.view.View#performAccessibilityAction */ + /** + * @see android.view.View#performAccessibilityAction + */ boolean performAccessibilityAction(final int action, final Bundle arguments); - /** @see android.view.View#onStartTemporaryDetach() */ + /** + * @see android.view.View#onStartTemporaryDetach() + */ void onStartTemporaryDetach(); - /** @see android.view.View#onFinishTemporaryDetach() */ + /** + * @see android.view.View#onFinishTemporaryDetach() + */ void onFinishTemporaryDetach(); } diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsMetricsRecorder.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsMetricsRecorder.java index 7e126729f2a817..bca9e222f0a3ad 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsMetricsRecorder.java +++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsMetricsRecorder.java @@ -22,9 +22,9 @@ /** * This class records WebView settings usage. * - * It records histograms at navigationEntryCommitted to show what the settings were on navigation. - * It also offers static helpers to record the settings as they are configured by the embedding - * application. + *

It records histograms at navigationEntryCommitted to show what the settings were on + * navigation. It also offers static helpers to record the settings as they are configured by the + * embedding application. */ @Lifetime.WebView public class AwWebContentsMetricsRecorder extends WebContentsObserver { diff --git a/android_webview/java/src/org/chromium/android_webview/CleanupReference.java b/android_webview/java/src/org/chromium/android_webview/CleanupReference.java index 40002eeb18d9e3..cb6ca063868249 100644 --- a/android_webview/java/src/org/chromium/android_webview/CleanupReference.java +++ b/android_webview/java/src/org/chromium/android_webview/CleanupReference.java @@ -124,8 +124,7 @@ public void handleMessage(Message msg) { } /** - * Keep a strong reference to {@link CleanupReference} so that it will - * actually get enqueued. + * Keep a strong reference to {@link CleanupReference} so that it will actually get enqueued. * Only accessed on the UI thread. */ private static final Set sRefs = new HashSet(); diff --git a/android_webview/java/src/org/chromium/android_webview/NullAwViewMethods.java b/android_webview/java/src/org/chromium/android_webview/NullAwViewMethods.java index 0575e45d7c73c9..d10b513a3fb22b 100644 --- a/android_webview/java/src/org/chromium/android_webview/NullAwViewMethods.java +++ b/android_webview/java/src/org/chromium/android_webview/NullAwViewMethods.java @@ -20,9 +20,9 @@ import org.chromium.android_webview.AwContents.InternalAccessDelegate; /** - * No-op implementation of {@link AwViewMethods} that follows the null object pattern. - * This {@link NullAwViewMethods} is hooked up to the WebView in fullscreen mode, and - * to the {@link FullScreenView} in embedded mode, but not to both at the same time. + * No-op implementation of {@link AwViewMethods} that follows the null object pattern. This {@link + * NullAwViewMethods} is hooked up to the WebView in fullscreen mode, and to the {@link + * FullScreenView} in embedded mode, but not to both at the same time. */ class NullAwViewMethods implements AwViewMethods { private final AwContents mAwContents; diff --git a/android_webview/java/src/org/chromium/android_webview/variations/VariationsSeedLoader.java b/android_webview/java/src/org/chromium/android_webview/variations/VariationsSeedLoader.java index 3964d71f9f8c21..aeb8e00fab062b 100644 --- a/android_webview/java/src/org/chromium/android_webview/variations/VariationsSeedLoader.java +++ b/android_webview/java/src/org/chromium/android_webview/variations/VariationsSeedLoader.java @@ -55,26 +55,22 @@ * block on loading the seed (by using FutureTask.get()) but should not block on the other work done * by the Runnable. * - * The Runnable and FutureTask together perform these steps: - * 1. Pre-load the metrics client ID. This is needed to seed the EntropyProvider. If there is no - * client ID, variations can't be used on this run. - * 2. Load the new seed file, if any. - * 3. If no new seed file, load the old seed file, if any. - * 4. Make the loaded seed available via get() (or null if there was no seed). - * 5. If there was a new seed file, replace the old with the new (but only after making the loaded - * seed available, as the replace need not block startup). - * 6. If there was no seed, or the loaded seed was expired, request a new seed (but don't request - * more often than MAX_REQUEST_PERIOD_MILLIS). + *

The Runnable and FutureTask together perform these steps: 1. Pre-load the metrics client ID. + * This is needed to seed the EntropyProvider. If there is no client ID, variations can't be used on + * this run. 2. Load the new seed file, if any. 3. If no new seed file, load the old seed file, if + * any. 4. Make the loaded seed available via get() (or null if there was no seed). 5. If there was + * a new seed file, replace the old with the new (but only after making the loaded seed available, + * as the replace need not block startup). 6. If there was no seed, or the loaded seed was expired, + * request a new seed (but don't request more often than MAX_REQUEST_PERIOD_MILLIS). * - * VariationsSeedLoader should be used during WebView startup like so: - * 1. Ensure ContextUtils.getApplicationContext(), AwBrowserProcess.getWebViewPackageName(), and - * PathUtils are ready to use. - * 2. As early as possible, call startVariationsInit() to begin the task. - * 3. Perform any WebView startup tasks which don't require variations to be initialized. - * 4. Call finishVariationsInit() with the value returned from startVariationsInit(). This will - * block for up to SEED_LOAD_TIMEOUT_MILLIS if the task hasn't fininshed loading the seed. If the - * seed is loaded on time, variations will be initialized. finishVariationsInit() must be called - * before AwFeatureListCreator::SetUpFieldTrials() runs. + *

VariationsSeedLoader should be used during WebView startup like so: 1. Ensure + * ContextUtils.getApplicationContext(), AwBrowserProcess.getWebViewPackageName(), and PathUtils are + * ready to use. 2. As early as possible, call startVariationsInit() to begin the task. 3. Perform + * any WebView startup tasks which don't require variations to be initialized. 4. Call + * finishVariationsInit() with the value returned from startVariationsInit(). This will block for up + * to SEED_LOAD_TIMEOUT_MILLIS if the task hasn't fininshed loading the seed. If the seed is loaded + * on time, variations will be initialized. finishVariationsInit() must be called before + * AwFeatureListCreator::SetUpFieldTrials() runs. */ @JNINamespace("android_webview") @NullMarked diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java index 26e58544091e92..c18e965f31e0ad 100644 --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnRendererUnresponsiveTest.java @@ -22,11 +22,11 @@ import org.chromium.android_webview.AwContents; import org.chromium.android_webview.AwRenderProcess; import org.chromium.android_webview.AwRenderProcessGoneDetail; +import org.chromium.base.ThreadUtils; import org.chromium.base.task.PostTask; import org.chromium.base.task.TaskTraits; import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.Feature; -import org.chromium.base.ThreadUtils; import org.chromium.content_public.browser.test.util.WebContentsUtils; import org.chromium.content_public.common.ContentUrlConstants; diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java index 1b88434d4b71f1..b7a029ea960435 100644 --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientShouldInterceptRequestTest.java @@ -33,13 +33,13 @@ import org.chromium.android_webview.test.util.CommonResources; import org.chromium.android_webview.test.util.CookieUtils; import org.chromium.android_webview.test.util.JSUtils; +import org.chromium.base.ThreadUtils; import org.chromium.base.test.util.Batch; import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.CommandLineFlags; import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.HistogramWatcher; import org.chromium.base.test.util.TestFileUtil; -import org.chromium.base.ThreadUtils; import org.chromium.components.embedder_support.util.WebResourceResponseInfo; import org.chromium.content_public.browser.test.util.WebContentsUtils; import org.chromium.net.test.util.TestWebServer; diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java index 1e8a4a64c735ab..79161d91e23dad 100644 --- a/android_webview/javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java +++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwServiceWorkerClientTest.java @@ -4,7 +4,6 @@ package org.chromium.android_webview.test; - import androidx.test.filters.SmallTest; import org.junit.After; diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java b/android_webview/javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java index 91428f0cbc041c..745a056ce45fb8 100644 --- a/android_webview/javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java +++ b/android_webview/javatests/src/org/chromium/android_webview/test/services/MockVariationsSeedServer.java @@ -16,9 +16,9 @@ import org.chromium.base.test.util.CallbackHelper; /** - * VariationsSeedServer is a bound service that shares the Variations seed with all the WebViews - * on the system. A WebView will bind and call getSeed, passing a file descriptor to which the - * service should write the seed. + * VariationsSeedServer is a bound service that shares the Variations seed with all the WebViews on + * the system. A WebView will bind and call getSeed, passing a file descriptor to which the service + * should write the seed. */ public class MockVariationsSeedServer extends VariationsSeedServer { private static final CallbackHelper sOnSeedRequested = new CallbackHelper(); diff --git a/android_webview/junit/src/org/chromium/android_webview/robolectric/WebViewCachedFlagsTest.java b/android_webview/junit/src/org/chromium/android_webview/robolectric/WebViewCachedFlagsTest.java index a0a4454365909a..328547602485dc 100644 --- a/android_webview/junit/src/org/chromium/android_webview/robolectric/WebViewCachedFlagsTest.java +++ b/android_webview/junit/src/org/chromium/android_webview/robolectric/WebViewCachedFlagsTest.java @@ -8,11 +8,11 @@ import com.android.webview.chromium.WebViewCachedFlags; -import org.chromium.android_webview.common.AwFeatures; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.android_webview.common.AwFeatures; import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Features; diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UnuploadedFilesStateLoader.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UnuploadedFilesStateLoader.java index 1c9f8a45761045..c818db473d0197 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UnuploadedFilesStateLoader.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UnuploadedFilesStateLoader.java @@ -13,14 +13,16 @@ import java.util.List; /** - * Gets crashes info about unuploaded minidump files in crash directory. - * Minidump file name contains information about the upload state of the file, its local id and - * number of trials of upload for that report. + * Gets crashes info about unuploaded minidump files in crash directory. Minidump file name contains + * information about the upload state of the file, its local id and number of trials of upload for + * that report. */ public class UnuploadedFilesStateLoader extends CrashInfoLoader { private final CrashFileManager mCrashFileManager; - /** @param crashDir the directory where WebView stores crash reports files. */ + /** + * @param crashDir the directory where WebView stores crash reports files. + */ public UnuploadedFilesStateLoader(CrashFileManager crashFileManager) { mCrashFileManager = crashFileManager; } diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UploadedCrashesInfoLoader.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UploadedCrashesInfoLoader.java index 7c40bdf262e44f..eb8532276611e3 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UploadedCrashesInfoLoader.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/UploadedCrashesInfoLoader.java @@ -18,7 +18,9 @@ public class UploadedCrashesInfoLoader extends CrashInfoLoader { private final File mLogFile; - /** @param logsFile upload log file to parse. */ + /** + * @param logsFile upload log file to parse. + */ public UploadedCrashesInfoLoader(File logFile) { mLogFile = logFile; } diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/WebViewCrashLogParser.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/WebViewCrashLogParser.java index 7f402f73c7284f..7536a32f29acd6 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/WebViewCrashLogParser.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/devui/util/WebViewCrashLogParser.java @@ -28,7 +28,9 @@ public class WebViewCrashLogParser extends CrashInfoLoader { private final File mLogDir; - /** @param logDir the directory where WebView store crash logs. */ + /** + * @param logDir the directory where WebView store crash logs. + */ public WebViewCrashLogParser(File logDir) { mLogDir = logDir; } diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeService.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeService.java index 6143578d336784..60bbef0feb9d44 100644 --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeService.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeService.java @@ -70,11 +70,10 @@ public static class TrustedPackage { * certificate. This is honored on any type of Android build. This value is required. If * the trusted caller * @param debugCertHash This is similar to {@code releaseCertHash}, but for the debug - * (development) - * certificate. This is honored on userdebug/eng Android images but not on user Android - * builds. If the caller always uses the same signing certificate, this parameter should - * be {@code null} and the certificate hash should be passed into {@code - * releaseCertHash} instead. + * (development) certificate. This is honored on userdebug/eng Android images but not on + * user Android builds. If the caller always uses the same signing certificate, this + * parameter should be {@code null} and the certificate hash should be passed into + * {@code releaseCertHash} instead. */ public TrustedPackage( @NonNull String packageName, diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebMessageAdapter.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebMessageAdapter.java index b64868fa287357..1ea56e15533b9c 100644 --- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebMessageAdapter.java +++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebMessageAdapter.java @@ -16,8 +16,8 @@ import java.lang.reflect.InvocationHandler; /** - * Utility class for creating a WebMessageBoundaryInterface (this is necessary to pass a - * WebMessage back across the boundary). + * Utility class for creating a WebMessageBoundaryInterface (this is necessary to pass a WebMessage + * back across the boundary). */ public class SupportLibWebMessageAdapter implements WebMessageBoundaryInterface { private final MessagePayload mMessagePayload; diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererAdapter.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererAdapter.java index 8774ab2ddeb2f2..fab7779e58b1ab 100644 --- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererAdapter.java +++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererAdapter.java @@ -16,7 +16,7 @@ /** * Adapter between WebViewRendererBoundaryInterface and AwRenderProcess. * - * Once created, instances are kept alive by the peer AwRendererProcess. + *

Once created, instances are kept alive by the peer AwRendererProcess. */ @Lifetime.Renderer class SupportLibWebViewRendererAdapter extends IsomorphicAdapter diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererClientAdapter.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererClientAdapter.java index ab6abfb0cfe20d..4be3b5166a9bff 100644 --- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererClientAdapter.java +++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewRendererClientAdapter.java @@ -19,8 +19,8 @@ /** * Support library glue renderer client callback adapter. * - * A new instance of this class is created transiently for every shared library - * WebViewCompat call. Do not store state here. + *

A new instance of this class is created transiently for every shared library WebViewCompat + * call. Do not store state here. */ @Lifetime.WebView class SupportLibWebViewRendererClientAdapter extends SharedWebViewRendererClientAdapter { diff --git a/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java b/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java index b446479047b9d2..e7964b71670fc6 100644 --- a/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java +++ b/android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java @@ -244,9 +244,7 @@ private static void writeFile(final String fileName, final String contents) thro } } - /** - * Checks if the device has the MIDI system feature. - */ + /** Checks if the device has the MIDI system feature. */ private static boolean hasSystemFeatureMidi() { return ContextUtils.getApplicationContext() .getPackageManager() diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb index 299751374d8777..e5653a6c2495d4 100644 --- a/ash/strings/ash_strings_pt-BR.xtb +++ b/ash/strings/ash_strings_pt-BR.xtb @@ -1504,7 +1504,7 @@ Nenhum dispositivo conectado. O ponto de acesso do está ativado. Nenhum dispositivo conectado Para maximizar a janela, mantenha-a pressionada A rede não está ativada. -Desativada +Desativado Ativar Mostrar configurações do Quick Share. Visibilidade selecionada Bateria em % diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb b/ash/webui/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb index 50f88a25384d17..5a2b0b73cc8afe 100644 --- a/ash/webui/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb +++ b/ash/webui/camera_app_ui/resources/strings/camera_strings_pt-BR.xtb @@ -105,7 +105,7 @@ Ativar o modo Especialista Digitalizar documento Modo Especialista -Desativada +Desativado Grade Ativado Diminuir zoom diff --git a/base/android/java/src/org/chromium/base/ObserverList.java b/base/android/java/src/org/chromium/base/ObserverList.java index 783321d4271629..b015aaaf165748 100644 --- a/base/android/java/src/org/chromium/base/ObserverList.java +++ b/base/android/java/src/org/chromium/base/ObserverList.java @@ -147,9 +147,9 @@ public Iterator iterator() { } /** - * It's the same as {@link ObserverList#iterator()} but the return type is - * {@link RewindableIterator}. Use this iterator type if you need to use - * {@link RewindableIterator#rewind()}. + * It's the same as {@link ObserverList#iterator()} but the return type is {@link + * RewindableIterator}. Use this iterator type if you need to use {@link + * RewindableIterator#rewind()}. */ public RewindableIterator rewindableIterator() { assertSameThreadUsed(); @@ -157,8 +157,8 @@ public RewindableIterator rewindableIterator() { } /** - * Returns the number of observers currently registered in the ObserverList. - * This is equivalent to the number of non-empty spaces in |mObservers|. + * Returns the number of observers currently registered in the ObserverList. This is equivalent + * to the number of non-empty spaces in |mObservers|. */ public int size() { assertSameThreadUsed(); @@ -186,15 +186,15 @@ private void assertSameThreadUsed() { } catch (AssertionError e) { throw new AssertionError( "ObserverList is not thread-safe; Observers MUST be added, removed and will be" - + " notified on the thread that created the ObserverList.", + + " notified on the thread that created the ObserverList.", e); } } /** * Compact the underlying list be removing null elements. - *

- * Should only be called when mIterationDepth is zero. + * + *

Should only be called when mIterationDepth is zero. */ private void compact() { assert mIterationDepth == 0; diff --git a/base/android/java/src/org/chromium/base/ThreadUtils.java b/base/android/java/src/org/chromium/base/ThreadUtils.java index 49f1fd1d386865..1faff056ad4a27 100644 --- a/base/android/java/src/org/chromium/base/ThreadUtils.java +++ b/base/android/java/src/org/chromium/base/ThreadUtils.java @@ -90,13 +90,13 @@ private void assertOnValidThreadHelper(boolean allowInstrThread) { if (curThread == uiThread) { assert false : "Class was initialized on a background thread, but current operation" - + " was performed on the UI thread (expected: " + + " was performed on the UI thread (expected: " + mThread + ")"; } else if (mThread == uiThread) { assert false : "Class was initialized on the UI thread, but current operation was" - + " performed on a background thread: " + + " performed on a background thread: " + curThread; } assert false diff --git a/base/android/java/src/org/chromium/base/UserDataHost.java b/base/android/java/src/org/chromium/base/UserDataHost.java index a9673cdb72fa65..451c3b95b73fea 100644 --- a/base/android/java/src/org/chromium/base/UserDataHost.java +++ b/base/android/java/src/org/chromium/base/UserDataHost.java @@ -69,6 +69,7 @@ private void checkThreadAndState() { /** * Associates the specified object with the specified key. + * * @param key Type token with which the specified object is to be associated. * @param object Object to be associated with the specified key. * @return the object just stored. diff --git a/base/android/java/src/org/chromium/base/metrics/CachingUmaRecorder.java b/base/android/java/src/org/chromium/base/metrics/CachingUmaRecorder.java index f928311f5778eb..abd6a38bafd119 100644 --- a/base/android/java/src/org/chromium/base/metrics/CachingUmaRecorder.java +++ b/base/android/java/src/org/chromium/base/metrics/CachingUmaRecorder.java @@ -220,8 +220,9 @@ void flushTo(UmaRecorder recorder) { /** * Number of histogram samples that couldn't be cached, because some limit of cache size been * reached. - *

- * Using {@link AtomicInteger} because the value may need to be updated with a read lock held. + * + *

Using {@link AtomicInteger} because the value may need to be updated with a read lock + * held. */ private final AtomicInteger mDroppedHistogramSampleCount = new AtomicInteger(); diff --git a/base/android/java/src/org/chromium/base/task/ChromiumExecutorServiceFactory.java b/base/android/java/src/org/chromium/base/task/ChromiumExecutorServiceFactory.java index 69e7d91c3b78d2..87e4936a190295 100644 --- a/base/android/java/src/org/chromium/base/task/ChromiumExecutorServiceFactory.java +++ b/base/android/java/src/org/chromium/base/task/ChromiumExecutorServiceFactory.java @@ -25,9 +25,7 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; -/** - * Chromium's implementation of ExecutorService via the PostTask API. - */ +/** Chromium's implementation of ExecutorService via the PostTask API. */ @NullMarked public final class ChromiumExecutorServiceFactory { private ChromiumExecutorServiceFactory() {} @@ -51,8 +49,8 @@ private static final class ScheduledFutureTask exten private final long mNanoTaskPeriod; /** - * The delay in nanoseconds between the termination of one execution and - * the commencement of the next periodic task. + * The delay in nanoseconds between the termination of one execution and the commencement of + * the next periodic task. */ private final long mNanoInterTaskDelay; diff --git a/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java b/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java index 23cc30654a3665..3ad4dd1b3ca6aa 100644 --- a/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java +++ b/base/android/java/src/org/chromium/base/task/SequencedTaskRunnerImpl.java @@ -9,8 +9,8 @@ import java.util.concurrent.atomic.AtomicInteger; /** - * Implementation of the abstract class {@link SequencedTaskRunner}. Uses AsyncTasks until - * native APIs are available. + * Implementation of the abstract class {@link SequencedTaskRunner}. Uses AsyncTasks until native + * APIs are available. */ @NullMarked public class SequencedTaskRunnerImpl extends TaskRunnerImpl implements SequencedTaskRunner { diff --git a/base/android/junit/src/org/chromium/base/ThreadUtilsTest.java b/base/android/junit/src/org/chromium/base/ThreadUtilsTest.java index 42f9de0d3273a9..0f40aff0b823d1 100644 --- a/base/android/junit/src/org/chromium/base/ThreadUtilsTest.java +++ b/base/android/junit/src/org/chromium/base/ThreadUtilsTest.java @@ -41,7 +41,7 @@ public void testThreadChecker_uiThread() { e.getCause().getMessage(), startsWith( "Class was initialized on the UI thread, but current operation was" - + " performed on a background thread:")); + + " performed on a background thread:")); } @Test @@ -61,6 +61,6 @@ public void testThreadChecker_backgroundThread() { e.getMessage(), startsWith( "Class was initialized on a background thread, but current operation was" - + " performed on the UI thread (expected:")); + + " performed on the UI thread (expected:")); } } diff --git a/base/android/junit/src/org/chromium/base/supplier/TransitiveObservableSupplierTest.java b/base/android/junit/src/org/chromium/base/supplier/TransitiveObservableSupplierTest.java index a35bed34482e02..d85b16e437e436 100644 --- a/base/android/junit/src/org/chromium/base/supplier/TransitiveObservableSupplierTest.java +++ b/base/android/junit/src/org/chromium/base/supplier/TransitiveObservableSupplierTest.java @@ -182,7 +182,8 @@ public void testAddObserver_ShouldNotifyOnAdd() { assertEquals(mObject1, transitiveSupplier.get()); verifyNoInteractions(mOnChangeCallback); - assertEquals(transitiveSupplier.addSyncObserverAndCallIfNonNull(mOnChangeCallback), mObject1); + assertEquals( + transitiveSupplier.addSyncObserverAndCallIfNonNull(mOnChangeCallback), mObject1); ShadowLooper.runUiThreadTasks(); verify(mOnChangeCallback).onResult(eq(mObject1)); } diff --git a/base/test/android/javatests/src/org/chromium/base/test/params/ParameterizedFrameworkMethod.java b/base/test/android/javatests/src/org/chromium/base/test/params/ParameterizedFrameworkMethod.java index 7c140dbcd0b50a..f27df2136428ff 100644 --- a/base/test/android/javatests/src/org/chromium/base/test/params/ParameterizedFrameworkMethod.java +++ b/base/test/android/javatests/src/org/chromium/base/test/params/ParameterizedFrameworkMethod.java @@ -13,8 +13,8 @@ import java.util.List; /** - * Custom FrameworkMethod that includes a {@code ParameterSet} that - * represents the parameters for this test method + * Custom FrameworkMethod that includes a {@code ParameterSet} that represents the parameters for + * this test method */ public class ParameterizedFrameworkMethod extends FrameworkMethod { private final ParameterSet mParameterSet; diff --git a/build/android/java/src/org/chromium/build/annotations/MockedInTests.java b/build/android/java/src/org/chromium/build/annotations/MockedInTests.java index 8d8db20241d2d5..37c23bd920a18a 100644 --- a/build/android/java/src/org/chromium/build/annotations/MockedInTests.java +++ b/build/android/java/src/org/chromium/build/annotations/MockedInTests.java @@ -7,8 +7,6 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Target; -/** - * Prevents optimization. R8 supports Mockito now, so this should be rarely be needed. - */ +/** Prevents optimization. R8 supports Mockito now, so this should be rarely be needed. */ @Target(ElementType.TYPE) public @interface MockedInTests {} diff --git a/build/android/stacktrace/java/org/chromium/build/FlushingReTrace.java b/build/android/stacktrace/java/org/chromium/build/FlushingReTrace.java index 006a83e95b24c2..b784865d59db01 100644 --- a/build/android/stacktrace/java/org/chromium/build/FlushingReTrace.java +++ b/build/android/stacktrace/java/org/chromium/build/FlushingReTrace.java @@ -21,9 +21,8 @@ import java.util.List; /** - * A wrapper around ReTrace that: - * 1. Hardcodes a more useful line regular expression - * 2. Disables output buffering + * A wrapper around ReTrace that: 1. Hardcodes a more useful line regular expression 2. Disables + * output buffering */ @NullMarked public class FlushingReTrace { diff --git a/build/win/reorder-imports.py b/build/win/reorder-imports.py index 88851609d4be06..fe8fc4228bbf5a 100755 --- a/build/win/reorder-imports.py +++ b/build/win/reorder-imports.py @@ -24,8 +24,8 @@ def reorder_imports(input_dir, output_dir, architecture): # correct executable in the first place, so that this script # only needs to verify that and not write a whole new exe. - input_image = os.path.join(input_dir, 'chrome.exe') - output_image = os.path.join(output_dir, 'chrome.exe') + input_image = os.path.join(input_dir, 'taktak.exe') + output_image = os.path.join(output_dir, 'taktak.exe') # pefile mmap()s the whole executable, and then parses parts of # it into python data structures for ease of processing. @@ -73,7 +73,7 @@ def reorder_imports(input_dir, output_dir, architecture): pe.write(filename=output_image) - for fname in glob.iglob(os.path.join(input_dir, 'chrome.exe.*')): + for fname in glob.iglob(os.path.join(input_dir, 'taktak.exe.*')): shutil.copy(fname, os.path.join(output_dir, os.path.basename(fname))) return 0 @@ -81,9 +81,9 @@ def reorder_imports(input_dir, output_dir, architecture): def main(argv): usage = 'reorder_imports.py -i -o -a ' parser = optparse.OptionParser(usage=usage) - parser.add_option('-i', '--input', help='reorder chrome.exe in DIR', + parser.add_option('-i', '--input', help='reorder taktak.exe in DIR', metavar='DIR') - parser.add_option('-o', '--output', help='write new chrome.exe to DIR', + parser.add_option('-o', '--output', help='write new taktak.exe to DIR', metavar='DIR') parser.add_option('-a', '--arch', help='architecture of build (optional)', default='ia32') diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn index e294991e31dd65..16e0acd2579315 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn @@ -87,12 +87,12 @@ if (is_win) { # initialexe/ is used so that the we can reorder imports and write back to # the final destination at $root_out_dir/. inputs = [ - "$root_out_dir/initialexe/chrome.exe", - "$root_out_dir/initialexe/chrome.exe.pdb", + "$root_out_dir/initialexe/taktak.exe", + "$root_out_dir/initialexe/taktak.exe.pdb", ] outputs = [ - "$root_out_dir/chrome.exe", - "$root_out_dir/chrome.exe.pdb", + "$root_out_dir/taktak.exe", + "$root_out_dir/taktak.exe.pdb", ] args = [ "-i", @@ -150,9 +150,9 @@ if (!is_android && !is_mac) { } if (is_win) { - _chrome_output_name = "initialexe/chrome" + _chrome_output_name = "initialexe/taktak" } else { - _chrome_output_name = "chrome" + _chrome_output_name = "taktak" } executable("chrome_initial") { @@ -176,7 +176,7 @@ if (!is_android && !is_mac) { if (is_chromeos) { data_deps += [ "//components/variations/cros_evaluate_seed:evaluate_seed", - "//sandbox/linux:chrome_sandbox", + "//sandbox/linux:taktak_sandbox", ] if (build_mojo_proxy) { data_deps += [ "//mojo/proxy:mojo_proxy" ] @@ -1697,7 +1697,7 @@ if (is_linux || is_chromeos) { } } extract_symbols("chrome_symbols") { - binary = "$root_out_dir/chrome" + binary = "$root_out_dir/taktak" if (current_cpu == "x86") { # GYP used "ia32" so keep that naming for back-compat. @@ -1810,7 +1810,7 @@ if (is_linux || is_chromeos) { if (_cros_generate_embed_section_target) { embed_sections("section_embedded_chrome_binary") { - binary_input = "$root_out_dir/chrome" + binary_input = "$root_out_dir/taktak" sections_embedded_binary_output = "$root_out_dir/chrome.sections_embedded" deps = [ ":chrome" ] } diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/AutofillKeyboardAccessoryViewBridge.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/AutofillKeyboardAccessoryViewBridge.java index 485f8ba4811990..500952572d6b21 100644 --- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/AutofillKeyboardAccessoryViewBridge.java +++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/AutofillKeyboardAccessoryViewBridge.java @@ -84,8 +84,8 @@ private void onDeletionDialogClosed(boolean confirmed) { } /** - * Initializes this object. - * This function should be called at most one time. + * Initializes this object. This function should be called at most one time. + * * @param nativeAutofillKeyboardAccessory Handle to the native counterpart. * @param windowAndroid The window on which to show the suggestions. */ diff --git a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryRecyclerViewMcp.java b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryRecyclerViewMcp.java index 3832aac633bde7..027789a060f718 100644 --- a/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryRecyclerViewMcp.java +++ b/chrome/android/features/keyboard_accessory/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryRecyclerViewMcp.java @@ -11,6 +11,7 @@ /** * This ModelChangeProcessor is a specialization of the {@link SimpleRecyclerViewMcp} allows * defining a {@link ViewRecycler} that cleans up ViewHolders which are about to be recycled. + * * @see SimpleRecyclerViewMcp * @param The type of items in the list. * @param The view holder type that shows items. @@ -20,6 +21,7 @@ class KeyboardAccessoryRecyclerViewMcp extends SimpleRecyclerViewMcp The view holder type that shows items. */ public interface ViewRecycler { diff --git a/chrome/android/features/tab_ui/java/res/color-night/tab_grid_dialog_bg_color.xml b/chrome/android/features/tab_ui/java/res/color-night/tab_grid_dialog_bg_color.xml new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/chrome/android/features/tab_ui/java/res/color-night/tab_group_favicon_quater_empty_fill_color.xml b/chrome/android/features/tab_ui/java/res/color-night/tab_group_favicon_quater_empty_fill_color.xml index e02017ae1d9cc0..1b0f1ee2dfc066 100644 --- a/chrome/android/features/tab_ui/java/res/color-night/tab_group_favicon_quater_empty_fill_color.xml +++ b/chrome/android/features/tab_ui/java/res/color-night/tab_group_favicon_quater_empty_fill_color.xml @@ -6,5 +6,10 @@ found in the LICENSE file. --> +<<<<<<<< HEAD:chrome/android/features/tab_ui/java/res/color-night/tab_grid_dialog_bg_color.xml + + +======== - \ No newline at end of file + +>>>>>>>> tt139_0_7258_150/develop:chrome/android/features/tab_ui/java/res/color-night/tab_group_favicon_quater_empty_fill_color.xml diff --git a/chrome/android/features/tab_ui/java/res/color/tab_grid_dialog_bg_color.xml b/chrome/android/features/tab_ui/java/res/color/tab_grid_dialog_bg_color.xml new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridItemTouchHelperCallback.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridItemTouchHelperCallback.java index bbe8965a0be24d..a399bf4ce9a5db 100644 --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridItemTouchHelperCallback.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridItemTouchHelperCallback.java @@ -512,12 +512,10 @@ public void onChildDraw( @Nullable PropertyModel cardModel = null; if (viewHolderModel.get(CARD_TYPE) == TAB) { - cardModel = - mModel.getModelFromTabId(viewHolderModel.get(TabProperties.TAB_ID)); + cardModel = mModel.getModelFromTabId(viewHolderModel.get(TabProperties.TAB_ID)); } else if (viewHolderModel.get(CARD_TYPE) == MESSAGE) { int index = - mModel.lastIndexForMessageItemFromType( - viewHolderModel.get(MESSAGE_TYPE)); + mModel.lastIndexForMessageItemFromType(viewHolderModel.get(MESSAGE_TYPE)); if (index == TabModel.INVALID_TAB_INDEX) return; cardModel = mModel.get(index).model; diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java index 2aa64dc98d2336..8f9f449ae80e62 100644 --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java @@ -39,7 +39,6 @@ import org.chromium.base.supplier.Supplier; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.data_sharing.DataSharingTabManager; -import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.lifecycle.DestroyObserver; import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinderUnitTest.java b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinderUnitTest.java index cc98b08b356648..e114f2a7da3966 100644 --- a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinderUnitTest.java +++ b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinderUnitTest.java @@ -422,10 +422,7 @@ public void testBindTabCardLabelData_IgnoredForSelection() { } @Test - @DisableFeatures({ - ChromeFeatureList.DATA_SHARING, - ChromeFeatureList.DATA_SHARING_JOIN_ONLY - }) + @DisableFeatures({ChromeFeatureList.DATA_SHARING, ChromeFeatureList.DATA_SHARING_JOIN_ONLY}) public void testPriceDrop_PriceCardView() { mModel.set( TabProperties.SHOPPING_PERSISTED_TAB_DATA_FETCHER, diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java index c8d5497a81ded2..923d4278775940 100644 --- a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java +++ b/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediatorUnitTest.java @@ -2714,12 +2714,11 @@ public void updateSpanCount_onTablet_multipleScreenWidths() { @Test public void getLatestTitle_NoTitleUrlFallback() { - assertEquals(TAB1_TITLE, - mMediator.getLatestTitleForTab(mTab1, /* useDefault= */ true)); + assertEquals(TAB1_TITLE, mMediator.getLatestTitleForTab(mTab1, /* useDefault= */ true)); when(mTab1.getTitle()).thenReturn(""); - assertEquals(TAB1_URL.getSpec(), - mMediator.getLatestTitleForTab(mTab1, /* useDefault= */ true)); + assertEquals( + TAB1_URL.getSpec(), mMediator.getLatestTitleForTab(mTab1, /* useDefault= */ true)); } @Test diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ActivityTabProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/ActivityTabProvider.java index 8f57a87580d756..be6c6a3d6f2861 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ActivityTabProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ActivityTabProvider.java @@ -26,8 +26,8 @@ public class ActivityTabProvider extends ObservableSupplierImpl<@Nullable Tab> implements Destroyable { /** - * A utility class for observing the activity tab via {@link TabObserver}. When the activity - * tab changes, the observer is switched to that tab. + * A utility class for observing the activity tab via {@link TabObserver}. When the activity tab + * changes, the observer is switched to that tab. */ public static class ActivityTabTabObserver extends TabSupplierObserver { /** @@ -160,6 +160,7 @@ public void setLayoutStateProvider(LayoutStateProvider layoutStateProvider) { /** * Check if the interactive tab change event needs to be triggered based on the provided tab. + * * @param tab The activity's tab. */ private void triggerActivityTabChangeEvent(@Nullable Tab tab) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BrowserRestartActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/BrowserRestartActivity.java index baf0e2b1e5a5a6..4094cf249434c6 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/BrowserRestartActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/BrowserRestartActivity.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -19,12 +18,12 @@ /** * Kills and (optionally) restarts the main Chrome process, then immediately kills itself. * - * Starting this Activity should only be done by the - * {@link org.chromium.chrome.browser.init.ChromeLifetimeController}, and requires - * passing in the process ID (the Intent should have the value of Process#myPid() as an extra). + *

Starting this Activity should only be done by the {@link + * org.chromium.chrome.browser.init.ChromeLifetimeController}, and requires passing in the process + * ID (the Intent should have the value of Process#myPid() as an extra). * - * This Activity runs on a separate process from the main Chrome browser and cannot see the main - * process' Activities. It works around an Android framework issue for alarms set via the + *

This Activity runs on a separate process from the main Chrome browser and cannot see the main + * process' Activities. It works around an Android framework issue for alarms set via the * AlarmManager, which requires a minimum alarm duration of 5 seconds: https://crbug.com/515919. */ @NullMarked diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivityTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivityTracker.java index 676591360b400d..59ffa51825e4cf 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivityTracker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivityTracker.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import androidx.annotation.VisibleForTesting; import org.chromium.base.Log; @@ -41,8 +40,9 @@ public class ChromeInactivityTracker private @Nullable ActivityLifecycleDispatcher mLifecycleDispatcher; /** - * Creates an inactivity tracker without a timeout callback. This is useful if clients only - * want to query the inactivity state manually. + * Creates an inactivity tracker without a timeout callback. This is useful if clients only want + * to query the inactivity state manually. + * * @param prefName the location in shared preferences that the timestamp is stored. */ public ChromeInactivityTracker(String prefName) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeKeyboardVisibilityDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeKeyboardVisibilityDelegate.java index 459df005506a47..4f73025d3f12d0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeKeyboardVisibilityDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeKeyboardVisibilityDelegate.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.app.Activity; import android.content.Context; import android.view.View; @@ -31,6 +30,7 @@ public class ChromeKeyboardVisibilityDelegate extends ActivityKeyboardVisibility /** * Creates a new visibility delegate. + * * @param activity A {@link WeakReference} to an {@link Activity}. */ public ChromeKeyboardVisibilityDelegate( diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeLocalizationUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeLocalizationUtils.java index 61e725a1aea927..115e6cd91117ee 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeLocalizationUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeLocalizationUtils.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.os.LocaleList; import android.text.TextUtils; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeStringConstants.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeStringConstants.java index 3f71d78d8c7f96..10d99347a8bad6 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeStringConstants.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeStringConstants.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import org.chromium.build.annotations.NullMarked; /** diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java index 08533ce43c2f01..ca6a323a27980e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfo.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfoUmaRecorder.java b/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfoUmaRecorder.java index f27357d4f1b1f3..33d29d5378d30b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfoUmaRecorder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/DefaultBrowserInfoUmaRecorder.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import androidx.annotation.IntDef; import org.chromium.base.metrics.RecordHistogram; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java index b7137bd74ecd79..297a944a0710e8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/DevToolsServer.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.content.pm.PackageManager; import androidx.annotation.IntDef; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/FileProviderHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/FileProviderHelper.java index dd5597445dfea1..ef772e6d25c9ef 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/FileProviderHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/FileProviderHelper.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.content.Context; import android.net.Uri; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java index 9f66e0ab8bc04f..cd5865ca7ce753 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import com.google.android.gms.common.GoogleApiAvailability; import org.jni_zero.CalledByNative; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ZoomController.java b/chrome/android/java/src/org/chromium/chrome/browser/ZoomController.java index 141e8e0b653767..49eff02a8166fe 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ZoomController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ZoomController.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser; - import android.os.SystemClock; import org.chromium.build.annotations.NullMarked; @@ -16,8 +15,9 @@ /** * Handles zoom in/out WebContents. - *

The methods use the term 'zoom' for legacy reasons, but relates - * to what chrome calls the 'page scale factor'. + * + *

The methods use the term 'zoom' for legacy reasons, but relates to what chrome calls the 'page + * scale factor'. */ @NullMarked public class ZoomController { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutSettingsBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutSettingsBridge.java index e0c3793f8d1fc5..16cd8a2d942806 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutSettingsBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/AboutSettingsBridge.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.about_settings; - import org.jni_zero.JniType; import org.jni_zero.NativeMethods; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/LegalInformationSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/LegalInformationSettings.java index 0bb5e6bde8b344..bb5b321dc5209c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/about_settings/LegalInformationSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/about_settings/LegalInformationSettings.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.about_settings; - import android.os.Bundle; import androidx.preference.PreferenceFragmentCompat; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/AccessibilityTabHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/AccessibilityTabHelper.java index 7e95034c3714f8..edf749017d03ae 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/AccessibilityTabHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/AccessibilityTabHelper.java @@ -25,6 +25,7 @@ public class AccessibilityTabHelper extends EmptyTabObserver implements UserData /** * Creates an instance of {AccessibilityTabHelper} for the given tab. + * * @param tab Tab to observe. */ public static void createForTab(Tab tab) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java index 2d32b92f161c52..c6548729a62a49 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.accessibility; - import android.app.Activity; import android.os.Handler; import android.os.Looper; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java index 06d7e028d6c05d..f63dda642959ea 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.accessibility.settings; - import org.chromium.build.annotations.NullMarked; import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsController; import org.chromium.chrome.browser.preferences.Pref; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ai/PageSummaryButtonController.java b/chrome/android/java/src/org/chromium/chrome/browser/ai/PageSummaryButtonController.java index eb71a7cb605564..ba66eeb6216f32 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ai/PageSummaryButtonController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ai/PageSummaryButtonController.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.ai; - import android.content.Context; import android.content.res.Resources; import android.view.View; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ai/SystemAiProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/ai/SystemAiProvider.java index 9ddf70395e2794..593ba9afd19e44 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ai/SystemAiProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ai/SystemAiProvider.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.ai; - import android.content.Context; import com.google.common.util.concurrent.ListenableFuture; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/download/home/FaviconProviderImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/download/home/FaviconProviderImpl.java index 55aff05aa0b76f..14605a445dfb3f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/download/home/FaviconProviderImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/download/home/FaviconProviderImpl.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.app.download.home; - import android.graphics.Bitmap; import android.util.LruCache; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/feed/NavigationRecorder.java b/chrome/android/java/src/org/chromium/chrome/browser/app/feed/NavigationRecorder.java index 487ea54c1be2cd..85c6caaf0dde47 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/feed/NavigationRecorder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/feed/NavigationRecorder.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.app.feed; - import android.os.SystemClock; import org.chromium.base.Callback; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/usb/UsbNotificationServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/usb/UsbNotificationServiceImpl.java index 99d12971cdaf45..e54f3a13832fe8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/usb/UsbNotificationServiceImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/usb/UsbNotificationServiceImpl.java @@ -12,10 +12,7 @@ import org.chromium.chrome.browser.usb.UsbNotificationManagerDelegate; import org.chromium.components.browser_ui.notifications.BaseNotificationManagerProxyFactory; -/** - * Service that manages the WebUSB notification when a website is connected - * to a USB device. - */ +/** Service that manages the WebUSB notification when a website is connected to a USB device. */ public class UsbNotificationServiceImpl extends UsbNotificationService.Impl { private final UsbNotificationManagerDelegate mManagerDelegate = new UsbNotificationManagerDelegate() { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java index 8ccb124e7faa47..357be867706826 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java @@ -548,8 +548,9 @@ private boolean isCvcValid() { /** * Sets the enabled state of the main contents, and hides or shows the verification overlay. + * * @param enabled True if the inputs should be usable, false if the verification overlay - * obscures them. + * obscures them. */ private void setInputsEnabled(boolean enabled) { assumeNonNull(mDialogModel); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetContent.java index 2db631daf40a0a..708ffe21e2c8cc 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetContent.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetContent.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.autofill.save_card; - import android.content.Context; import android.content.res.Resources; import android.view.View; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetLifecycle.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetLifecycle.java index abc32799c6c9fe..80a50f47f7346c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetLifecycle.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetLifecycle.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.autofill.save_card; - import org.chromium.build.annotations.Initializer; import org.chromium.build.annotations.NullMarked; import org.chromium.chrome.browser.layouts.LayoutStateProvider; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetProperties.java index 2e67fab20d1694..c25917e364acff 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetProperties.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetProperties.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.autofill.save_card; - import org.chromium.build.annotations.NullMarked; import org.chromium.components.autofill.payments.LegalMessageLine; import org.chromium.ui.modelutil.PropertyKey; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetView.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetView.java index b7a8d28997c558..f0f958abcc28b9 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/save_card/AutofillSaveCardBottomSheetView.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.autofill.save_card; - import android.content.Context; import android.view.LayoutInflater; import android.view.View; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java b/chrome/android/java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java index f6d859e49a59aa..f8d32b770b6187 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java @@ -23,11 +23,11 @@ import org.chromium.components.background_task_scheduler.TaskInfo; /** - * The {@link BackgroundSyncBackgroundTaskScheduler} singleton is responsible - * for scheduling and cancelling background tasks to wake Chrome up so that - * Background Sync events ready to be fired can be fired. + * The {@link BackgroundSyncBackgroundTaskScheduler} singleton is responsible for scheduling and + * cancelling background tasks to wake Chrome up so that Background Sync events ready to be fired + * can be fired. * - * Thread model: This class is to be run on the UI thread only. + *

Thread model: This class is to be run on the UI thread only. */ @NullMarked public class BackgroundSyncBackgroundTaskScheduler { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_sync/GooglePlayServicesChecker.java b/chrome/android/java/src/org/chromium/chrome/browser/background_sync/GooglePlayServicesChecker.java index 46c35379ae7edb..79ec880b7b9c41 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/background_sync/GooglePlayServicesChecker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_sync/GooglePlayServicesChecker.java @@ -14,8 +14,8 @@ import org.chromium.components.externalauth.ExternalAuthUtils; /** - * Used to check whether Google Play Services version on the device is as - * expected for BackgroundSync. This check is made at browser startup. + * Used to check whether Google Play Services version on the device is as expected for + * BackgroundSync. This check is made at browser startup. */ @NullMarked final class GooglePlayServicesChecker { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java index b71cb5df930c14..80f9595ad39194 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/PostMessageHandler.java @@ -57,12 +57,11 @@ public class PostMessageHandler implements OriginVerificationListener { /** * Basic constructor. Everytime the given {@link CustomTabsSessionToken} is associated with a - * new {@link WebContents}, - * {@link PostMessageHandler#reset(WebContents)} should be called to + * new {@link WebContents}, {@link PostMessageHandler#reset(WebContents)} should be called to * reset all internal state. * * @param postMessageBackend The {@link PostMessageBackend} to which updates about the channel - * and posted messages will be sent. + * and posted messages will be sent. */ public PostMessageHandler(PostMessageBackend postMessageBackend) { mPostMessageBackend = postMessageBackend; @@ -168,6 +167,7 @@ private void disconnectChannel() { /** * Sets the postMessage postMessageUri for this session to the given {@link Uri}. + * * @param postMessageUri The postMessageUri value to be set. */ public void initializeWithPostMessageUri(Uri postMessageUri, @Nullable Uri targetOrigin) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsConverter.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsConverter.java index 6e4c328914ffb9..9992e31d30ab87 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsConverter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/DigitalGoodsConverter.java @@ -16,12 +16,12 @@ import java.util.List; /** - * The *Converter classes take care of converting between the mojo types that - * {@link DigitalGoodsImpl} deals with and the Android types that {@link TrustedWebActivityClient} - * details with. + * The *Converter classes take care of converting between the mojo types that {@link + * DigitalGoodsImpl} deals with and the Android types that {@link TrustedWebActivityClient} details + * with. * - * Ideally these classes would have no Chromium dependencies that are not from Mojo (in a *.mojom.* - * package) to allow it to be more easily reused in ARC++. + *

Ideally these classes would have no Chromium dependencies that are not from Mojo (in a + * *.mojom.* package) to allow it to be more easily reused in ARC++. */ @NullMarked public class DigitalGoodsConverter { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/SiteIsolator.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/SiteIsolator.java index cbd10bcbcde3c4..f5a778fd62f538 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/SiteIsolator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/digitalgoods/SiteIsolator.java @@ -12,9 +12,8 @@ import org.chromium.url.GURL; /** - * This class calls into native to request that a given tab starts site - * isolation for the provided url's site. Note that the site will be isolated - * with a USER_TRIGGERED IsolatedOriginSource. + * This class calls into native to request that a given tab starts site isolation for the provided + * url's site. Note that the site will be isolated with a USER_TRIGGERED IsolatedOriginSource. */ @NullMarked public class SiteIsolator { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappPermissionStore.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappPermissionStore.java index 558422a424fd93..4b77e49cf9cc0d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappPermissionStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/permissiondelegation/InstalledWebappPermissionStore.java @@ -26,30 +26,28 @@ * Stores data about origins associated with an installed webapp (TWA or WebAPK) for the purpose of * Permission Delegation. Primarily we store (indexed by origin): * - * - A list of all apps associated with an origin. - * - The app that will be used for delegation. - * - The permission state of the app that will be used for delegation. + *

- A list of all apps associated with an origin. - The app that will be used for delegation. - + * The permission state of the app that will be used for delegation. * - * We did not use a similar technique to - * {@link org.chromium.chrome.browser.webapps.WebappDataStorage}, because the data backing each - * WebappDataStore is stored in its own Preferences file, so while - * {@link org.chromium.chrome.browser.webapps.WebappRegistry} is eagerly loaded when Chrome starts - * up, we don't want the first permission check to cause loading separate Preferences files for - * each installed app. + *

We did not use a similar technique to {@link + * org.chromium.chrome.browser.webapps.WebappDataStorage}, because the data backing each + * WebappDataStore is stored in its own Preferences file, so while {@link + * org.chromium.chrome.browser.webapps.WebappRegistry} is eagerly loaded when Chrome starts up, we + * don't want the first permission check to cause loading separate Preferences files for each + * installed app. * - * A key difference between this class and the - * {@link org.chromium.chrome.browser.browserservices.InstalledWebappDataRegister} is that the - * register stores data keyed by the client app, whereas this class stores data keyed by the origin. - * There may be two client apps installed for the same origin, the InstalledWebappDataRegister will - * hold two entries, whereas this class will hold one entry. + *

A key difference between this class and the {@link + * org.chromium.chrome.browser.browserservices.InstalledWebappDataRegister} is that the register + * stores data keyed by the client app, whereas this class stores data keyed by the origin. There + * may be two client apps installed for the same origin, the InstalledWebappDataRegister will hold + * two entries, whereas this class will hold one entry. * - * Lifecycle: This class is designed to be owned by - * {@link org.chromium.chrome.browser.webapps.WebappRegistry}, get it from there, don't create your - * own instance. - * Thread safety: Is thread-safe (only operates on underlying SharedPreferences). - * Native: Does not require native. + *

Lifecycle: This class is designed to be owned by {@link + * org.chromium.chrome.browser.webapps.WebappRegistry}, get it from there, don't create your own + * instance. Thread safety: Is thread-safe (only operates on underlying SharedPreferences). Native: + * Does not require native. * - * TODO(peconn): Unify this and WebappDataStorage? + *

TODO(peconn): Unify this and WebappDataStorage? */ @NullMarked public class InstalledWebappPermissionStore { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/controller/Verifier.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/controller/Verifier.java index 324cb82046009b..7775e612daba2b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/controller/Verifier.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/controller/Verifier.java @@ -9,18 +9,18 @@ import org.chromium.build.annotations.Nullable; /** - * A Delegate for the {@link CurrentPageVerifier} that provides implementation specific to - * Trusted Web Activities, WebAPKs or A2HS as appropriate. + * A Delegate for the {@link CurrentPageVerifier} that provides implementation specific to Trusted + * Web Activities, WebAPKs or A2HS as appropriate. */ @NullMarked public interface Verifier { /** * Checks whether the given URL is verified. * - * The returned Promise may be immediately fulfilled (eg if we know that the given url is one + *

The returned Promise may be immediately fulfilled (eg if we know that the given url is one * we shouldn't even attempt to verify or if we have a cached result). It is worth explicitly - * checking for this to deal with the result synchronously and not incur the delay of - * {@link Promise#then}. + * checking for this to deal with the result synchronously and not incur the delay of {@link + * Promise#then}. */ Promise verify(String url); @@ -32,27 +32,28 @@ public interface Verifier { /** * Returns the widest scope for which verification is relevant. This can be used to determine - * whether two different urls are the same for the purposes of verification. Returns - * {@link null} if the given url cannot be parsed. + * whether two different urls are the same for the purposes of verification. Returns {@link + * null} if the given url cannot be parsed. * - * The purpose of this method is to determine whether two different pages can share verification - * state. Eg, if we've already verified a TWA for https://www.example.com/webapp/page1.html we - * don't need to perform verification again for https://www.example.com/webapp/folder/page2.html - * (but we do for https://developers.google.com/web/updates). + *

The purpose of this method is to determine whether two different pages can share + * verification state. Eg, if we've already verified a TWA for + * https://www.example.com/webapp/page1.html we don't need to perform verification again for + * https://www.example.com/webapp/folder/page2.html (but we do for + * https://developers.google.com/web/updates). * - * eg, for a TWA where verification is on a per origin basis, this method would map to origins: - * https://www.example.com/webapp/page1.html -> https://www.example.com + *

eg, for a TWA where verification is on a per origin basis, this method would map to + * origins: https://www.example.com/webapp/page1.html -> https://www.example.com * https://www.example.com/webapp/folder/page2.html -> https://www.example.com - * https://developers.google.com/web/updates -> https://developers.google.com + * https://developers.google.com/web/updates -> https://developers.google.com * - * eg, say we have a WebAPK with the verified scope being https://www.example.com/webapp/, then - * this method would map: + *

eg, say we have a WebAPK with the verified scope being https://www.example.com/webapp/, + * then this method would map: * - * https://www.example.com/webapp/page1.html -> https://www.example.com/webapp/ - * https://www.example.com/webapp/folder/page2.html -> https://www.example.com/webapp/ + *

https://www.example.com/webapp/page1.html -> https://www.example.com/webapp/ + * https://www.example.com/webapp/folder/page2.html -> https://www.example.com/webapp/ * https://www.example.com/somewhere_else/page3.html -> https://www.example.com/somewhere_else/ * - * The last result can really be anything other than https://www.example.com/webapp/ - just + *

The last result can really be anything other than https://www.example.com/webapp/ - just * something to signify we aren't on the verified scope. */ @Nullable String getVerifiedScope(String url); @@ -61,7 +62,7 @@ public interface Verifier { * Whether a navigation to the given URL should stay within Chrome even if there are other apps * on the user's device that can handle them. * - * When in a TWA/WebAPK/etc we are already in an Android app specialized for the verified + *

When in a TWA/WebAPK/etc we are already in an Android app specialized for the verified * origin, don't allow other apps to steal a navigation to the verified origin. */ boolean shouldIgnoreExternalIntentHandlers(String url); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/common/ChromeIsolatedWorldIds.java b/chrome/android/java/src/org/chromium/chrome/browser/common/ChromeIsolatedWorldIds.java index 1748effd8b8013..e8ca78093623e1 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/common/ChromeIsolatedWorldIds.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/common/ChromeIsolatedWorldIds.java @@ -13,10 +13,10 @@ import java.lang.annotation.RetentionPolicy; /** - * The Java copy of //chrome/common/chrome_isolated_world_ids. - * Please check there for details about each id. + * The Java copy of //chrome/common/chrome_isolated_world_ids. Please check there for details about + * each id. * - * Both files must be kept in sync. + *

Both files must be kept in sync. */ // LINT.IfChange @IntDef({ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManager.java index 35795d2ffbcac0..fb845db0f36e4e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManager.java @@ -57,8 +57,8 @@ public interface OverlayPanelManagerObserver { private OverlayPanel mActivePanel; /** - * If a panel was being shown and another panel with higher priority was requested to show, - * the lower priority one is stored here. + * If a panel was being shown and another panel with higher priority was requested to show, the + * lower priority one is stored here. */ private final Queue mSuppressedPanels; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java index 520800babad8ea..2e51568229e7ca 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchQuickActionControl.java @@ -35,9 +35,9 @@ import java.util.List; /** - * Stores information related to a Contextual Search "quick action." - * Actions can be activated through a tap on the Bar and include intents like calling a phone - * number or launching Maps for a street address. + * Stores information related to a Contextual Search "quick action." Actions can be activated + * through a tap on the Bar and include intents like calling a phone number or launching Maps for a + * street address. */ public class ContextualSearchQuickActionControl extends ViewResourceInflater { private final Context mContext; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/RelatedSearchesControl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/RelatedSearchesControl.java index aeaa0b14c915c9..ce8207ccd7e689 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/RelatedSearchesControl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/RelatedSearchesControl.java @@ -559,9 +559,7 @@ public void onScrollStateChanged(RecyclerView recyclerView, int newState) { setBottomMargin(); } - /** - * Sets the bottom margin of the control view. - */ + /** Sets the bottom margin of the control view. */ private void setBottomMargin() { View controlView = getControlView(); if (controlView == null) return; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java index 33af776283fecf..822990e5ec4109 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/Layout.java @@ -465,6 +465,7 @@ protected boolean initLayoutTabFromHost(LayoutTab layoutTab) { /** * Called by the LayoutManager when they system back button is pressed. + * * @return Whether or not the layout consumed the event. */ public boolean onBackPressed() { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java index 3f4483959c4718..04f5d2a1e07be0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/components/LayoutTab.java @@ -166,7 +166,7 @@ public LayoutTab( /** * Initializes a {@link LayoutTab} to its default value so it can be reused. * - * @param maxContentTextureWidth The maximum width of the page content in px. + * @param maxContentTextureWidth The maximum width of the page content in px. * @param maxContentTextureHeight The maximum height of the page content in px. */ public void init(int maxContentTextureWidth, int maxContentTextureHeight) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/BlackHoleEventFilter.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/BlackHoleEventFilter.java index bf65d60366280a..32e066c470b613 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/BlackHoleEventFilter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/eventfilter/BlackHoleEventFilter.java @@ -15,6 +15,7 @@ public class BlackHoleEventFilter extends EventFilter { /** * Creates a {@link BlackHoleEventFilter}. + * * @param context A {@link Context} instance. */ public BlackHoleEventFilter(Context context) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java index 8ac377396ba0c2..6627f03643d7c3 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java @@ -68,7 +68,7 @@ public class ContextualSearchTabHelper extends EmptyTabObserver /** The pointer to our native C++ implementation. */ private long mNativeHelper; - /** Whether the current default search engine is Google. Is {@code null} if not inited. */ + /** Whether the current default search engine is Google. Is {@code null} if not inited. */ private Boolean mIsDefaultSearchEngineGoogle; private final Callback mManagerCallback; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/crash/CrashUploadCountStore.java b/chrome/android/java/src/org/chromium/chrome/browser/crash/CrashUploadCountStore.java index 748a0a835eaba4..6eeb9bba0288fa 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/crash/CrashUploadCountStore.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/crash/CrashUploadCountStore.java @@ -13,8 +13,8 @@ /** * Records number of crashes uploaded in SharedPreferences. * - * These numbers may be recorded even when running in background and the main Chrome Activity does - * not exist, so they are persisted until the next time it runs. + *

These numbers may be recorded even when running in background and the main Chrome Activity + * does not exist, so they are persisted until the next time it runs. */ @NullMarked public class CrashUploadCountStore { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNightModeStateController.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNightModeStateController.java index e791cec73a5a75..83cf0ef761ef5a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNightModeStateController.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabNightModeStateController.java @@ -31,9 +31,9 @@ public class CustomTabNightModeStateController implements DestroyObserver, Night private final Runnable mPowerSaveModeObserver = this::updateNightMode; /** - * The color scheme requested for the CCT. Only {@link CustomTabsIntent#COLOR_SCHEME_LIGHT} - * and {@link CustomTabsIntent#COLOR_SCHEME_DARK} should be considered - fall back to the - * system status for {@link CustomTabsIntent#COLOR_SCHEME_SYSTEM} when enabled. + * The color scheme requested for the CCT. Only {@link CustomTabsIntent#COLOR_SCHEME_LIGHT} and + * {@link CustomTabsIntent#COLOR_SCHEME_DARK} should be considered - fall back to the system + * status for {@link CustomTabsIntent#COLOR_SCHEME_SYSTEM} when enabled. */ private int mRequestedColorScheme; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabTrustedCdnPublisherUrlVisibility.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabTrustedCdnPublisherUrlVisibility.java index 64d6063eb18c2d..51345c20ab42f4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabTrustedCdnPublisherUrlVisibility.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabTrustedCdnPublisherUrlVisibility.java @@ -16,8 +16,8 @@ import java.util.function.BooleanSupplier; /** - * Implementation of {@link TrustedCdn.PublisherUrlVisibility} to provide Tab with - * the availability of publisher URL of trusted CDN when attached to a custom tab activity. + * Implementation of {@link TrustedCdn.PublisherUrlVisibility} to provide Tab with the availability + * of publisher URL of trusted CDN when attached to a custom tab activity. */ @NullMarked class CustomTabTrustedCdnPublisherUrlVisibility diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/NavigationInfoCaptureTrigger.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/NavigationInfoCaptureTrigger.java index 0aeae8f01fc9f8..6c1b51dc743dce 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/NavigationInfoCaptureTrigger.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/NavigationInfoCaptureTrigger.java @@ -18,10 +18,10 @@ /** * This class contains logic for capturing navigation info at an appropriate time. * - * We want to capture navigation information after both onload and first meaningful paint have + *

We want to capture navigation information after both onload and first meaningful paint have * triggered. We add a slight delay to avoid capturing during CPU intensive periods. * - * If a capture has not been taken after a long amount of time or when the Tab is hidden, we also + *

If a capture has not been taken after a long amount of time or when the Tab is hidden, we also * capture. */ @NullMarked diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java index 19d29fedd3d796..5551bab709b540 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/RequestThrottler.java @@ -21,14 +21,13 @@ import java.util.concurrent.atomic.AtomicBoolean; /** - * Applications are throttled in two ways: - * (a) Cannot issue mayLaunchUrl() too often. - * (b) Will be banned from prerendering if too many failed attempts are registered. + * Applications are throttled in two ways: (a) Cannot issue mayLaunchUrl() too often. (b) Will be + * banned from prerendering if too many failed attempts are registered. * - * The first throttling is handled by {@link updateStatsAndReturnIfAllowed}, and the second one + *

The first throttling is handled by {@link updateStatsAndReturnIfAllowed}, and the second one * is persisted to disk and handled by {@link isPrerenderingAllowed()}. * - * This class is *not* thread-safe. + *

This class is *not* thread-safe. */ @NullMarked class RequestThrottler { @@ -62,16 +61,15 @@ class RequestThrottler { /** * Updates the prediction stats and returns whether prediction is allowed. * - * The policy is: - * 1. If the client does not wait more than mDelayMs, decline the request. - * 2. If the client waits for more than mDelayMs but less than 2*mDelayMs, accept the request - * and double mDelayMs. - * 3. If the client waits for more than 2*mDelayMs, accept the request and reset mDelayMs. + *

The policy is: 1. If the client does not wait more than mDelayMs, decline the request. 2. + * If the client waits for more than mDelayMs but less than 2*mDelayMs, accept the request and + * double mDelayMs. 3. If the client waits for more than 2*mDelayMs, accept the request and + * reset mDelayMs. * - * And: 100ms <= mDelayMs <= 10s. + *

And: 100ms <= mDelayMs <= 10s. * - * This way, if an application sends a burst of requests, it is quickly seriously throttled. If - * it stops being this way, back to normal. + *

This way, if an application sends a burst of requests, it is quickly seriously throttled. + * If it stops being this way, back to normal. */ public boolean updateStatsAndReturnWhetherAllowed() { long now = SystemClock.elapsedRealtime(); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabInputMethodWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabInputMethodWrapper.java index dab465d79453c7..61406e39cfad82 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabInputMethodWrapper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/partialcustomtab/PartialCustomTabInputMethodWrapper.java @@ -19,8 +19,8 @@ import org.chromium.ui.base.WindowAndroid; /** - * A wrapper around the default IMMWrapper. Intercepts {@link #showSoftInput()} to - * trigger PCCT height change when the soft keyboard appears. + * A wrapper around the default IMMWrapper. Intercepts {@link #showSoftInput()} to trigger PCCT + * height change when the soft keyboard appears. */ @NullMarked public class PartialCustomTabInputMethodWrapper implements InputMethodManagerWrapper { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/device_dialog/UsbChooserDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/device_dialog/UsbChooserDialog.java index e8b5653040e0bc..cb3b5647291073 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/device_dialog/UsbChooserDialog.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/device_dialog/UsbChooserDialog.java @@ -57,7 +57,7 @@ public class UsbChooserDialog implements ItemChooserDialog.ItemSelectedCallback * @param activity Activity which is used for launching a dialog. * @param origin The origin for the site wanting to connect to the USB device. * @param securityLevel The security level of the connection to the site wanting to connect to - * the USB device. For valid values see SecurityStateModel::SecurityLevel. + * the USB device. For valid values see SecurityStateModel::SecurityLevel. */ @VisibleForTesting @Initializer diff --git a/chrome/android/java/src/org/chromium/chrome/browser/display_cutout/ActivityDisplayCutoutModeSupplier.java b/chrome/android/java/src/org/chromium/chrome/browser/display_cutout/ActivityDisplayCutoutModeSupplier.java index 404293741b1001..b3be04a05a7c87 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/display_cutout/ActivityDisplayCutoutModeSupplier.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/display_cutout/ActivityDisplayCutoutModeSupplier.java @@ -15,7 +15,7 @@ /** * Provides activity-wide display cutout mode override. * - * If the activity uses a custom display cutout mode, ActivityDisplayCutoutModeSupplier should be + *

If the activity uses a custom display cutout mode, ActivityDisplayCutoutModeSupplier should be * attached to WindowAndroid prior to the first tab getting attached to WindowAndroid. */ @NullMarked diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadItem.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadItem.java index ca9fdb3b846d02..33f5ba7385f40d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadItem.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadItem.java @@ -19,7 +19,7 @@ * A generic class representing a download item. The item can be either downloaded through the * Android DownloadManager, or through Chrome's network stack. * - * This represents the native DownloadItem at a specific point in time -- the native side + *

This represents the native DownloadItem at a specific point in time -- the native side * DownloadManager must be queried for the correct status. */ public class DownloadItem { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OfflineContentAvailabilityStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OfflineContentAvailabilityStatusProvider.java index 626549ec813484..50de31e211738c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/download/OfflineContentAvailabilityStatusProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OfflineContentAvailabilityStatusProvider.java @@ -36,8 +36,8 @@ public class OfflineContentAvailabilityStatusProvider implements OfflineContentP private final Set mPersistentItems = new HashSet<>(); /** - * @return An {@link OfflineContentAvailabilityStatusProvider} instance singleton. If one - * is not available this will create a new one. + * @return An {@link OfflineContentAvailabilityStatusProvider} instance singleton. If one is not + * available this will create a new one. */ public static OfflineContentAvailabilityStatusProvider getInstance() { if (sInstance == null) { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java index 9b2e5bb1b54961..3cda58e29cb43c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java @@ -42,6 +42,7 @@ public final class ScreenshotTask implements ScreenshotSource { /** * Creates a {@link ScreenshotTask} instance that, will grab a screenshot of {@code activity}. + * * @param activity The {@link Activity} to grab a screenshot of. * @param screenshotMode The kind of screenshot to take. */ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java index 0d3e08744458e5..38ab571868fc97 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunFlowSequencer.java @@ -103,8 +103,8 @@ FirstRunFlowSequencerDelegate buildFactory( } /** - * The delegate to be used by the Sequencer. By default, it's an instance of - * {@link FirstRunFlowSequencerDelegate}, unless it's overridden by {@code sDelegateForTesting}. + * The delegate to be used by the Sequencer. By default, it's an instance of {@link + * FirstRunFlowSequencerDelegate}, unless it's overridden by {@code sDelegateForTesting}. */ private final FirstRunFlowSequencerDelegate mDelegate; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java index bc140bd582ea40..7e48c3a478dcb4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java @@ -563,7 +563,7 @@ public int getTopControlsHeight() { public int getTopControlsHairlineHeight() { if (mControlContainer == null) { return 0; - } else { + } else { return mControlContainer.getToolbarHairlineHeight(); } } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java index 146aee79e49956..54395b7bf5bd2a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenToast.java @@ -19,8 +19,8 @@ import java.util.function.BooleanSupplier; /** - * Interface for fullscreen notification toast that allows experimenting different - * implementations, based on Android Toast widget and a custom view. + * Interface for fullscreen notification toast that allows experimenting different implementations, + * based on Android Toast widget and a custom view. */ @NullMarked interface FullscreenToast { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/GestureNavigationViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/GestureNavigationViewBinder.java index f7ca3b9e883ef9..656f6c5f596390 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/GestureNavigationViewBinder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/GestureNavigationViewBinder.java @@ -23,6 +23,7 @@ class GestureNavigationViewBinder { /** * view binder that associates a view with a model. + * * @param model The {@link PropertyObservable} model. * @param view The view {@link HistoryNavigationLayout} object that is changing. * @param key The property of the view that changed. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java index 2e2312afb2bbf6..aa10b1760ddc78 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/HistoryNavigationLayout.java @@ -58,6 +58,7 @@ public void onChildViewRemoved(View parent, View child) { /** * Creates a view hosting the gesture navigation UI. + * * @return The created view. */ @EnsuresNonNull("mSideSlideLayout") diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationBubble.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationBubble.java index 1571c571866e30..3a4d8d5ae76398 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationBubble.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationBubble.java @@ -29,15 +29,14 @@ import java.lang.annotation.RetentionPolicy; /** - * View class for a bubble used in gesture navigation UI that consists of an icon - * and an optional text. + * View class for a bubble used in gesture navigation UI that consists of an icon and an optional + * text. */ @NullMarked public class NavigationBubble extends LinearLayout { /** - * Target to close when gesture navigation takes place on the beginning - * of the navigation history. It can close either the current tab or - * chrome itself (putting it background). + * Target to close when gesture navigation takes place on the beginning of the navigation + * history. It can close either the current tab or chrome itself (putting it background). */ @IntDef({CloseTarget.NONE, CloseTarget.TAB, CloseTarget.APP}) @Retention(RetentionPolicy.SOURCE) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetView.java b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetView.java index 61b280529b0287..aafb5c88941cc8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/NavigationSheetView.java @@ -14,10 +14,7 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; -/** - * {@link View} class for navigation sheet. Provided as content view for - * {@link BottomSheet}. - */ +/** {@link View} class for navigation sheet. Provided as content view for {@link BottomSheet}. */ @NullMarked public class NavigationSheetView extends RelativeLayout { private ListView mListView; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/hub/HubLayoutUnitTest.java b/chrome/android/java/src/org/chromium/chrome/browser/hub/HubLayoutUnitTest.java index 876ea80a9a005c..e6b95ea0480d75 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/hub/HubLayoutUnitTest.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/hub/HubLayoutUnitTest.java @@ -349,6 +349,7 @@ private void onActivityCreated(Activity activity) { public void tearDown() { mHubLayout.destroy(); mActionTester.tearDown(); + XrUtils.resetXrDeviceForTesting(); } @Test diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/KnownInterceptionDisclosureInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/KnownInterceptionDisclosureInfoBar.java index 6ef94c82429c49..2278c65acb738a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/KnownInterceptionDisclosureInfoBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/KnownInterceptionDisclosureInfoBar.java @@ -23,13 +23,13 @@ public class KnownInterceptionDisclosureInfoBar extends ConfirmInfoBar { private final String mDescription; /** - * Creates and begins the process for showing a KnownInterceptionDisclosureInfoBar. - * This constructor is similar to ConfirmInfoBar's create(), adding a description. + * Creates and begins the process for showing a KnownInterceptionDisclosureInfoBar. This + * constructor is similar to ConfirmInfoBar's create(), adding a description. * * @param iconId ID corresponding to the icon that will be shown for the infobar. * @param iconBitmap Bitmap to use if there is no equivalent Java resource for iconId. * @param message Title of message to display to the user indicating what the infobar is for. - * This should be 'title', but we're keeping consistency with ConfirmInfoBar. + * This should be 'title', but we're keeping consistency with ConfirmInfoBar. * @param linkText Link text to display in addition to the message. * @param buttonOk String to display on the OK button. * @param description String to display below the "message" title. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java index bcb79baf73749e..62648c8aa0bef7 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/ResumableDelayedTaskRunner.java @@ -14,13 +14,10 @@ import org.chromium.build.annotations.Nullable; /** - * Runner which can be paused. When the runner is paused, the execution of its - * scheduled task is delayed till the runner is resumed. This runner could be - * used as follows: - * - *

- * {@code
+ * Runner which can be paused. When the runner is paused, the execution of its scheduled task is
+ * delayed till the runner is resumed. This runner could be used as follows:
  *
+ * 
{@code
  * ResumableDelayedTaskRunner runner = new ResumableDelayedTaskRunner();
  * runner.setRunnable(task, delayMs);
  * runner.resume();  // Starts the count down.
@@ -28,8 +25,7 @@
  * runner.resume();  // Resumes the count down.
  * runner.cancel();  // Stops count down and clears the state.
  *
- * }
- * 
+ * }
*/ @NullMarked public class ResumableDelayedTaskRunner { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/login/ChromeHttpAuthHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/login/ChromeHttpAuthHandler.java index fa93d567ea4b6d..868270d3dd4b7a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/login/ChromeHttpAuthHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/login/ChromeHttpAuthHandler.java @@ -22,13 +22,12 @@ import org.chromium.ui.base.WindowAndroid; /** - * Represents an HTTP authentication request to be handled by the UI. - * The request can be fulfilled or canceled using setAuth() or cancelAuth(). - * This class also provides strings for building a login form. + * Represents an HTTP authentication request to be handled by the UI. The request can be fulfilled + * or canceled using setAuth() or cancelAuth(). This class also provides strings for building a + * login form. * - * Note: this class supercedes android.webkit.HttpAuthHandler, but does not - * extend HttpAuthHandler due to the private access of HttpAuthHandler's - * constructor. + *

Note: this class supercedes android.webkit.HttpAuthHandler, but does not extend + * HttpAuthHandler due to the private access of HttpAuthHandler's constructor. */ @NullMarked public class ChromeHttpAuthHandler extends EmptyTabObserver implements LoginPrompt.Observer { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerDelegate.java index b127eb265625bf..e7461fe7e5021d 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerDelegate.java @@ -77,9 +77,9 @@ public NotificationOptions(Class serviceClass, String groupName) { } /** - * Service used to transform intent requests triggered from the notification into - * {@code MediaNotificationListener} callbacks. We have to create a separate derived class for - * each type of notification since one class corresponds to one instance of the service only. + * Service used to transform intent requests triggered from the notification into {@code + * MediaNotificationListener} callbacks. We have to create a separate derived class for each + * type of notification since one class corresponds to one instance of the service only. */ @VisibleForTesting abstract static class ListenerServiceImpl extends SplitCompatService.Impl { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java index 8c603b5395cf55..316674d844a3e4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/SnapScrollHelperImpl.java @@ -45,8 +45,10 @@ public SnapScrollHelperImpl(NewTabPageManager manager, NewTabPageLayout newTabPa Resources res = newTabPageLayout.getResources(); if (ChromeFeatureList.sAndroidProgressBarVisualUpdate.isEnabled()) { - mToolbarHeight = res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow) - + res.getDimensionPixelSize(R.dimen.toolbar_progress_bar_increased_height); + mToolbarHeight = + res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow) + + res.getDimensionPixelSize( + R.dimen.toolbar_progress_bar_increased_height); } else { mToolbarHeight = res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java index eb4f62321a4ac1..8af24848023e63 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java @@ -66,7 +66,7 @@ public class OfflinePageUtils { /** * Tracks the observers of each Activity's TabModelSelectors. This is weak so the activity can - * be garbage collected without worrying about this map. The RecentTabTracker is held here so + * be garbage collected without worrying about this map. The RecentTabTracker is held here so * that it can be destroyed when the Activity gets a new TabModelSelector. */ private static final Map sTabModelObservers = new HashMap<>(); @@ -726,10 +726,10 @@ public static void reload(WebContents webContents, OfflinePageLoadUrlDelegate lo } /** - * Tracks tab creation and closure for the Recent Tabs feature. UI needs to stop showing - * recent offline pages as soon as the tab is closed. The TabModel is used to get profile - * information because Tab's profile is tied to the native WebContents, which may not exist at - * tab adding or tab closing time. + * Tracks tab creation and closure for the Recent Tabs feature. UI needs to stop showing recent + * offline pages as soon as the tab is closed. The TabModel is used to get profile information + * because Tab's profile is tied to the native WebContents, which may not exist at tab adding or + * tab closing time. */ private static class RecentTabTracker extends TabModelSelectorTabModelObserver { /** The single, stateless TabRestoreTracker instance to monitor all tab restores. */ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/ManualCallbackDelayer.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/ManualCallbackDelayer.java index bbe3d63b21c85a..4ad8d1910481c1 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/ManualCallbackDelayer.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/ManualCallbackDelayer.java @@ -15,7 +15,7 @@ */ @NullMarked public final class ManualCallbackDelayer implements CallbackDelayer { - /** The callbacks to be run within {@link runCallbacksSynchronously}.*/ + /** The callbacks to be run within {@link runCallbacksSynchronously}. */ private final List mCallbacks = new ArrayList<>(); @Override diff --git a/chrome/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java index edb94085fec53d..e9ec957ab9b20a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckUpdatesDelegateImpl.java @@ -16,9 +16,9 @@ /** * Glue code for interactions between Safety check and Omaha on Android. * - * This class is needed because {@link OmahaService} is in //chrome/android, - * while Safety check is modularized in //chrome/browser. Once Omaha is - * modularized as well, this class will not be needed anymore. + *

This class is needed because {@link OmahaService} is in //chrome/android, while Safety check + * is modularized in //chrome/browser. Once Omaha is modularized as well, this class will not be + * needed anymore. */ public class SafetyCheckUpdatesDelegateImpl implements SafetyCheckUpdatesDelegate { private final OmahaService mOmaha; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java index 6afadd1ca1db72..cc66caedb908d9 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java @@ -11,8 +11,8 @@ import org.chromium.chrome.browser.base.SplitCompatGcmListenerService; /** - * See {@link ChromeGcmListenerServiceImpl}. - * Suppressing linting as onNewToken() is implemented in base class. + * See {@link ChromeGcmListenerServiceImpl}. Suppressing linting as onNewToken() is implemented in + * base class. */ @SuppressLint("MissingFirebaseInstanceTokenRefresh") @NullMarked diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java index 734117d525d77c..3fc097898a8e8e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java @@ -188,7 +188,7 @@ class TabImpl implements Tab { */ private final TabViewManagerImpl mTabViewManager; - /** A list of Tab observers. These are used to broadcast Tab events to listeners. */ + /** A list of Tab observers. These are used to broadcast Tab events to listeners. */ @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) protected final ObserverList mObservers = new ObserverList<>(); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java index b021397951cb07..0a0262a7475b5a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabModelObserver.java @@ -96,8 +96,8 @@ private void buildGroupsAndCreateClosure(List tabs) { List entries = new ArrayList<>(); Profile profile = assumeNonNull(mTabGroupModelFilter.getTabModel().getProfile()); - @Nullable - TabGroupSyncService tabGroupSyncService = TabGroupSyncServiceFactory.getForProfile(profile); + @Nullable TabGroupSyncService tabGroupSyncService = + TabGroupSyncServiceFactory.getForProfile(profile); LazyOneshotSupplier> tabGroupIdsInComprehensiveModel = mTabGroupModelFilter.getLazyAllTabGroupIds( diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/PendingTabClosureManager.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/PendingTabClosureManager.java index 4ae264f5ce9492..b661e01c650e94 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/PendingTabClosureManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/PendingTabClosureManager.java @@ -24,8 +24,8 @@ @NullMarked public class PendingTabClosureManager { /** - * Delegate for applying changes to a {@link TabList} based on the decision logic in - * {@link PendingTabClosureManager}. + * Delegate for applying changes to a {@link TabList} based on the decision logic in {@link + * PendingTabClosureManager}. */ public interface PendingTabClosureDelegate { /** @@ -242,10 +242,10 @@ public boolean hasPendingClosures() { private final LinkedList mTabClosureEvents = new LinkedList<>(); /** - * A {@link TabList} that represents the complete list of {@link Tab}s. This is so that - * certain UI elements can call {@link TabModel#getComprehensiveModel()} to get a full list of - * {@link Tab}s that includes rewindable entries, as the typical {@link TabModel} does not - * return rewindable entries. + * A {@link TabList} that represents the complete list of {@link Tab}s. This is so that certain + * UI elements can call {@link TabModel#getComprehensiveModel()} to get a full list of {@link + * Tab}s that includes rewindable entries, as the typical {@link TabModel} does not return + * rewindable entries. */ private final RewoundList mRewoundList = new RewoundList(); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ChromeAsyncTabLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ChromeAsyncTabLauncher.java index 038c0ad1d49c3a..6a68fc0f9453a6 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ChromeAsyncTabLauncher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/document/ChromeAsyncTabLauncher.java @@ -69,8 +69,11 @@ public ChromeAsyncTabLauncher(boolean incognito) { */ public void launchTabInOtherWindow( LoadUrlParams loadUrlParams, Activity activity, int parentId, Activity otherActivity) { - Intent intent = createNewTabIntent(new AsyncTabCreationParams(loadUrlParams), parentId, - TabLaunchType.FROM_CHROME_UI); + Intent intent = + createNewTabIntent( + new AsyncTabCreationParams(loadUrlParams), + parentId, + TabLaunchType.FROM_CHROME_UI); Class targetActivity = MultiWindowUtils.getInstance().getOpenInOtherWindowActivity(activity); @@ -128,14 +131,12 @@ public void launchNewTab( assert !(type == TabLaunchType.FROM_LONGPRESS_BACKGROUND && asyncParams.getWebContents() != null); - Intent intent = - createNewTabIntent(asyncParams, parentId, type); + Intent intent = createNewTabIntent(asyncParams, parentId, type); IntentHandler.startActivityForTrustedIntent(intent); } private Intent createNewTabIntent( - AsyncTabCreationParams asyncParams, int parentId, - @TabLaunchType int launchType) { + AsyncTabCreationParams asyncParams, int parentId, @TabLaunchType int launchType) { int assignedTabId = TabIdManager.getInstance().generateValidId(Tab.INVALID_TAB_ID); AsyncTabParamsManagerSingleton.getInstance().add(assignedTabId, asyncParams); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java index afe4d577dc2e17..b362278f01abdf 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java @@ -1068,8 +1068,10 @@ public void onLowMemory() {} ViewStub progressBarStub = mActivity.findViewById(R.id.progress_bar_stub); if (ChromeFeatureList.sAndroidProgressBarVisualUpdate.isEnabled()) { ViewGroup.LayoutParams progressBarParams = progressBarStub.getLayoutParams(); - progressBarParams.height = mActivity.getResources().getDimensionPixelSize( - R.dimen.toolbar_progress_bar_increased_height); + progressBarParams.height = + mActivity + .getResources() + .getDimensionPixelSize(R.dimen.toolbar_progress_bar_increased_height); progressBarStub.setLayoutParams(progressBarParams); } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/usage_stats/EventTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/usage_stats/EventTracker.java index 8e667aed989a2c..c4cb98d64acb33 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/usage_stats/EventTracker.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/usage_stats/EventTracker.java @@ -16,8 +16,8 @@ import java.util.function.Function; /** - * In-memory store of {@link org.chromium.chrome.browser.usage_stats.WebsiteEvent} objects. - * Allows for addition of events and querying for all events in a time interval. + * In-memory store of {@link org.chromium.chrome.browser.usage_stats.WebsiteEvent} objects. Allows + * for addition of events and querying for all events in a time interval. */ public class EventTracker { private final UsageStatsBridge mBridge; diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java index 642bef686a77be..225fcfbede2cc8 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/infobar/InfoBarContainerTest.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.infobar; - import android.graphics.Rect; import android.graphics.Region; import android.view.ViewGroup; diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java index 85f4317c682994..8bedabdb6526dc 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java @@ -4,7 +4,6 @@ package org.chromium.chrome.browser.ntp; - import androidx.test.filters.LargeTest; import androidx.test.filters.MediumTest; diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreferenceTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreferenceTest.java index 2d5059c2d99e75..79b193eacf3a3f 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreferenceTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/password_manager/settings/PasswordsPreferenceTest.java @@ -149,4 +149,25 @@ public void testSomePasswordsNotAccessibleSubtitleNotDisplayedOnAuto() throws IO "passwords_preference_pwds_not_accessible_auto"); TransitAsserts.assertFinalDestination(page); } + + @Test + @MediumTest + @Feature({"RenderTest"}) + @Restriction({DeviceRestriction.RESTRICTION_TYPE_AUTO}) + public void testSomePasswordsNotAccessibleSubtitleNotDisplayedOnAuto() throws IOException { + when(mPasswordManagerUtilBridgeJniMock.isPasswordManagerAvailable(any(), eq(true))) + .thenReturn(true); + when(mPrefService.getBoolean(Pref.UPM_UNMIGRATED_PASSWORDS_EXPORTED)).thenReturn(true); + File fakeCsv = File.createTempFile("passwords", null, null); + fakeCsv.deleteOnExit(); + when(mLoginDbDeprecationUtilBridgeJniMock.getAutoExportCsvFilePath(any())) + .thenReturn(fakeCsv.getAbsolutePath()); + + SettingsStation page = mEntryPoints.startMainSettingsNonBatched(); + PreferenceFacility passwordsPref = page.scrollToPref(MainSettings.PREF_PASSWORDS); + + mRenderTestRule.render( + passwordsPref.getPrefView(), "passwords_preference_pwds_not_accessible_auto"); + TransitAsserts.assertFinalDestination(page); + } } diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java index da37771a1c3d15..e5eef22410c56d 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderUnitTest.java @@ -537,9 +537,10 @@ public void runTestForQueryBobPayWithOneAppThatHasIsReadyToPayService() { ArgumentMatchers.argThat(sPayIntentArgumentMatcher))) .thenReturn(activities); - Mockito.when(mPackageManagerDelegate.getStringArrayResourceForApplication( - ArgumentMatchers.eq(bobPay.activityInfo.applicationInfo), - ArgumentMatchers.eq(1))) + Mockito.when( + mPackageManagerDelegate.getStringArrayResourceForApplication( + ArgumentMatchers.eq(bobPay.activityInfo.applicationInfo), + ArgumentMatchers.eq(1))) .thenReturn(new String[] {"https://bobpay.test", "basic-card"}); Mockito.when( diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/FamilyLinkControlsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/FamilyLinkControlsTest.java index f9a0850125328d..f9463e59fd8505 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/FamilyLinkControlsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/FamilyLinkControlsTest.java @@ -98,27 +98,26 @@ public void setUp() { @EnableFeatures(ChromeFeatureList.PERMISSION_SITE_SETTING_RADIO_BUTTON) public void testDeletingOnDeviceDataBlockedForSupervisedUsers() { SettingsActivity settingsActivity = - SiteSettingsTestUtils.startSiteSettingsCategory(SiteSettingsCategory.Type.SITE_DATA); + SiteSettingsTestUtils.startSiteSettingsCategory( + SiteSettingsCategory.Type.SITE_DATA); PreferenceFragmentCompat preferenceFragment = - (PreferenceFragmentCompat) settingsActivity.getMainFragment(); + (PreferenceFragmentCompat) settingsActivity.getMainFragment(); PreferenceScreen preferenceScreen = preferenceFragment.getPreferenceScreen(); BinaryStatePermissionPreference binary_radio_button = - preferenceScreen.findPreference("binary_radio_button"); + preferenceScreen.findPreference("binary_radio_button"); // When deleting cookies are blocked through Family Link, the toggle will be checked and // disabled Assert.assertTrue(binary_radio_button.isChecked()); Assert.assertFalse(binary_radio_button.isEnabled()); - onView( - allOf( - withId(android.R.id.summary), - hasSibling(withId(R.id.radio_button_layout)))) - .check( - matches( - withText( - containsString( - settingsActivity.getString( - org.chromium.chrome.test.R.string.managed_by_your_parent))))); + onView(allOf(withId(android.R.id.summary), hasSibling(withId(R.id.radio_button_layout)))) + .check( + matches( + withText( + containsString( + settingsActivity.getString( + org.chromium.chrome.test.R.string + .managed_by_your_parent))))); settingsActivity.finish(); } @@ -127,30 +126,33 @@ public void testDeletingOnDeviceDataBlockedForSupervisedUsers() { @DisableFeatures(ChromeFeatureList.PERMISSION_SITE_SETTING_RADIO_BUTTON) public void testDeletingOnDeviceDataBlockedForSupervisedUsers2() { SettingsActivity settingsActivity = - SiteSettingsTestUtils.startSiteSettingsCategory(SiteSettingsCategory.Type.SITE_DATA); + SiteSettingsTestUtils.startSiteSettingsCategory( + SiteSettingsCategory.Type.SITE_DATA); PreferenceFragmentCompat preferenceFragment = - (PreferenceFragmentCompat) settingsActivity.getMainFragment(); + (PreferenceFragmentCompat) settingsActivity.getMainFragment(); PreferenceScreen preferenceScreen = preferenceFragment.getPreferenceScreen(); - ChromeSwitchPreference binary_toggle = preferenceScreen.findPreference("binary_toggle"); + ChromeSwitchPreference binary_toggle = preferenceScreen.findPreference("binary_toggle"); // When deleting cookies are blocked through Family Link, the toggle will be checked and // disabled Assert.assertTrue(binary_toggle.isChecked()); Assert.assertFalse(binary_toggle.isEnabled()); onView( - allOf( - withId(android.R.id.summary), - hasSibling( - allOf( - withText( - org.chromium.chrome.test.R.string.site_data_page_title), - withId(android.R.id.title))))) - .check( - matches( - withText( - containsString( - settingsActivity.getString( - org.chromium.chrome.test.R.string.managed_by_your_parent))))); + allOf( + withId(android.R.id.summary), + hasSibling( + allOf( + withText( + org.chromium.chrome.test.R.string + .site_data_page_title), + withId(android.R.id.title))))) + .check( + matches( + withText( + containsString( + settingsActivity.getString( + org.chromium.chrome.test.R.string + .managed_by_your_parent))))); settingsActivity.finish(); } diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/undo_tab_close_snackbar/UndoBarControllerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/undo_tab_close_snackbar/UndoBarControllerTest.java index 6c6375e318bb88..8da6b375d67e80 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/undo_tab_close_snackbar/UndoBarControllerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/undo_tab_close_snackbar/UndoBarControllerTest.java @@ -224,8 +224,7 @@ public void testCloseTabGroup_EmptyTitle_Undo() throws Exception { List.of(mTabModel.getTabAt(0), mTabModel.getTabAt(1)), mTabModel.getTabAt(0), /* notify= */ false); - mTabGroupModelFilter.setTabGroupTitle( - mTabModel.getTabAt(0).getRootId(), ""); + mTabGroupModelFilter.setTabGroupTitle(mTabModel.getTabAt(0).getRootId(), ""); }); assertNull(getCurrentSnackbar()); @@ -729,10 +728,7 @@ private void assertSnackbarTextEqualsAllowingTruncation(String expected) { String actualEnd = actual.substring(index + 1); // End of the expected text should be present. String expectedEnd = expected.substring(expected.length() - actualEnd.length()); - assertEquals( - "Last part of truncated snackbar text mismatched", - expectedEnd, - actualEnd); + assertEquals("Last part of truncated snackbar text mismatched", expectedEnd, actualEnd); } else { assertEquals("Incorrect snackbar text", expected, actual); } diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/compositor/CompositorViewHolderUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/compositor/CompositorViewHolderUnitTest.java index 1267526fdedc86..7eb0fda1fad198 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/compositor/CompositorViewHolderUnitTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/compositor/CompositorViewHolderUnitTest.java @@ -80,6 +80,7 @@ import org.chromium.components.embedder_support.view.ContentView; import org.chromium.components.prefs.PrefService; import org.chromium.content_public.browser.WebContents; +import org.chromium.ui.InsetObserver; import org.chromium.ui.KeyboardVisibilityDelegate; import org.chromium.ui.base.ApplicationViewportInsetSupplier; import org.chromium.ui.base.WindowAndroid; diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java index 6b92a0be8ae240..b223aebc3be157 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProviderTest.java @@ -1662,12 +1662,9 @@ public void requestUiType_withTargetNetwork() { Network network = Mockito.mock(Network.class); Intent intent = new CustomTabsIntent.Builder().build().intent; + intent.putExtra(CustomTabsIntent.EXTRA_NETWORK, network); intent.putExtra( - CustomTabsIntent.EXTRA_NETWORK, - network); - intent.putExtra( - CustomTabIntentDataProvider.EXTRA_UI_TYPE, - CustomTabsUiType.NETWORK_BOUND_TAB); + CustomTabIntentDataProvider.EXTRA_UI_TYPE, CustomTabsUiType.NETWORK_BOUND_TAB); var dataProvider = new CustomTabIntentDataProvider(intent, mContext, COLOR_SCHEME_LIGHT); assertEquals(CustomTabsUiType.NETWORK_BOUND_TAB, dataProvider.getUiType()); diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java index 1c18370793f3db..187ac0f9b4d809 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/omaha/OmahaBaseTest.java @@ -40,10 +40,9 @@ import java.util.List; /** - * Tests for the {@link OmahaClient}. - * Tests override the original OmahaClient's functions with the MockOmahaClient, which - * provides a way to hook into functions to return values that would normally be provided by the - * system, such as whether Chrome was installed through the system image. + * Tests for the {@link OmahaClient}. Tests override the original OmahaClient's functions with the + * MockOmahaClient, which provides a way to hook into functions to return values that would normally + * be provided by the system, such as whether Chrome was installed through the system image. */ @RunWith(BaseRobolectricTestRunner.class) @Batch(Batch.UNIT_TESTS) diff --git a/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/Feedback.java b/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/Feedback.java index 32866570a49b8b..b5f336336e4f89 100644 --- a/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/Feedback.java +++ b/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/Feedback.java @@ -5,6 +5,7 @@ package org.chromium.chrome.modules.readaloud; import org.chromium.build.annotations.NullMarked; + import java.util.Locale; /** Enum definitions for Audio Overviews feedback args. */ @@ -64,7 +65,7 @@ public static NegativeFeedbackReason fromValue(int value) { @Override public String toString() { - return String.format(Locale.US, "%s (%d)", this.name(), this.getValue()); + return String.format(Locale.US, "%s (%d)", this.name(), this.getValue()); } } -} \ No newline at end of file +} diff --git a/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/PlaybackArgs.java b/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/PlaybackArgs.java index b79fcf9eb95218..0dcefeda2307b0 100644 --- a/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/PlaybackArgs.java +++ b/chrome/android/modules/readaloud/public/java/src/org/chromium/chrome/modules/readaloud/PlaybackArgs.java @@ -72,11 +72,14 @@ public enum PlaybackModeSelectionEnablementStatus { // Feature is enabled and mode selection should be offered to the user. Happens when both // playback modes are available. MODE_SELECTION_ENABLED(1), - // Feature is enabled in general but disabled for the specific playback because AO is unavailable. + // Feature is enabled in general but disabled for the specific playback because AO is + // unavailable. MODE_SELECTION_DISABLED_AO_UNAVAILABLE(2), - // Feature is enabled in general but disabled for the specific playback because classic ReadAloud is unavailable. + // Feature is enabled in general but disabled for the specific playback because classic + // ReadAloud is unavailable. MODE_SELECTION_DISABLED_CLASSIC_UNAVAILABLE(3), - // Feature is enabled in general but disabled for unknown reason (e.g. readability info couldn't be checked for some reason). + // Feature is enabled in general but disabled for unknown reason (e.g. readability info + // couldn't be checked for some reason). MODE_SELECTION_DISABLED_UNKNOWN_REASON(4); private final int mValue; diff --git a/chrome/app/app_management_strings.grdp b/chrome/app/app_management_strings.grdp index df8b557b3374bd..2179bfe12978de 100644 --- a/chrome/app/app_management_strings.grdp +++ b/chrome/app/app_management_strings.grdp @@ -67,10 +67,10 @@ Opening <a href="#">supported links</a> - Open in $1Chrome browser + Open in $1Taktak browser - Open in Chrome browser + Open in Taktak browser $1Gmail is set to open in a new browser tab, supported links will also open in the browser. <a href="https://support.google.com/chromebook?p=app_intent" target="_blank">Learn more</a> diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h index 449bd7739e14f2..1c1d7082db1163 100644 --- a/chrome/app/chrome_command_ids.h +++ b/chrome/app/chrome_command_ids.h @@ -291,6 +291,7 @@ #define IDC_OPEN_GLIC 40294 #define IDC_FIND_EXTENSIONS 40295 #define IDC_SHOW_SEARCH_TOOLS 40296 +#define IDC_SHOW_AI_CHAT 40999 // Spell-check // Insert any additional suggestions before _LAST; these have to be consecutive. diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index a9cc49c2634f60..33e1e80ffe6b62 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp @@ -2233,7 +2233,7 @@ <br> <br> For more information about the debugging features see:<br> - https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-features + https://www.Taktak.org/Taktak-os/how-tos-and-troubleshooting/debugging-features <br> <br> <b>Note:</b> The system will reboot during the process. @@ -2255,7 +2255,7 @@ <br> <br> For more information about the debugging features see:<br> - https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/debugging-features + https://www.Taktak.org/Taktak-os/how-tos-and-troubleshooting/debugging-features <br> <br> <b>Note:</b> The system will reboot during the process. @@ -2653,7 +2653,7 @@ A different keyboard has been connected since you last entered your password. It may be attempting to steal your keystrokes. - An update for the Trusted Platform Module firmware needs to be installed. See https://www.chromium.org/chromium-os/tpm_firmware_update + An update for the Trusted Platform Module firmware needs to be installed. See https://www.Taktak.org/Taktak-os/tpm_firmware_update The sign-in page failed to load using the current proxy settings. Please $1>a<try to sign in again$2>/a<, or use different $3>a<proxy settings$4>/a<. diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd index 774fc0efa53e7a..b8f18ae7a4c667 100644 --- a/chrome/app/chromium_strings.grd +++ b/chrome/app/chromium_strings.grd @@ -278,7 +278,7 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - Chromium + Taktak - Chromium + Taktak - + - + - + - Chromium is a web browser that runs webpages and applications with lightning speed. It's fast, stable, and easy to use. Browse the web more safely with malware and phishing protection built into Chromium. + Taktak is a web browser that runs webpages and applications with lightning speed. It's fast, stable, and easy to use. Browse the web more safely with malware and phishing protection built into Taktak. - Welcome to Chromium; new browser window opened + Welcome to Taktak; new browser window opened - Welcome to Chromium + Welcome to Taktak @@ -331,8 +331,8 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> ChromiumOS - - Chromium Enterprise logo + + Taktak Enterprise logo @@ -346,7 +346,7 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - Task Manager - Chromium + Task Manager - Taktak @@ -380,7 +380,7 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> All tasks - Help make Chromium better by sending crash reports and $1usage statistics to Google + Help make Taktak better by sending crash reports and $1usage statistics to Google @@ -392,7 +392,7 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - $1Google - Chromium + $1Google - Taktak @@ -400,19 +400,19 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - Chromium - $1Google + Taktak - $1Google - $1Google - Network Sign-in - Chromium + $1Google - Network Sign-in - Taktak - Chromium - Network Sign-in - $1Google + Taktak - Network Sign-in - $1Google @@ -431,18 +431,18 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - $1Google - Chromium + $1Google - Taktak - $1Google - Chromium Beta + $1Google - Taktak Beta - $1Google - Chromium Dev + $1Google - Taktak Dev - $1Google - Chromium Canary + $1Google - Taktak Canary @@ -455,22 +455,22 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - The Chromium Authors + The Taktak Authors - Copyright {0,date,y}2016 The Chromium Authors. All rights reserved. + Copyright {0,date,y}2016 The Taktak Authors. All rights reserved. - + ChromiumOS is made possible by additional <a target="_blank" href="$1">open source software</a>. - + ChromiumOS is made possible by additional <a target="_blank" href="$1">open source software</a>, as is <a target="_blank" href="$2">Linux development environment</a>. - Not used in Chromium. Placeholder to keep resource maps in sync. + Not used in Taktak. Placeholder to keep resource maps in sync. @@ -481,96 +481,96 @@ If you update this file, be sure also to update google_chrome_strings.grd. --> - Not used in Chromium. Placeholder to keep resource maps in sync. + Not used in Taktak. Placeholder to keep resource maps in sync. - To get future Chromium updates, you'll need macOS 12 or later. This computer is using macOS 11. + To get future Taktak updates, you'll need macOS 12 or later. This computer is using macOS 11. - Chromium may not function correctly because it is no longer supported on Windows XP or Windows Vista + Taktak may not function correctly because it is no longer supported on Windows XP or Windows Vista - To get future Chromium updates, you'll need Windows 10 or later. This computer is using Windows 7. + To get future Taktak updates, you'll need Windows 10 or later. This computer is using Windows 7. - To get future Chromium updates, you'll need Windows 10 or later. This computer is using Windows 8. + To get future Taktak updates, you'll need Windows 10 or later. This computer is using Windows 8. - To get future Chromium updates, you'll need Windows 10 or later. This computer is using Windows 8.1. + To get future Taktak updates, you'll need Windows 10 or later. This computer is using Windows 8.1. - Chromium may not function correctly because it is no longer supported on this Linux distribution + Taktak may not function correctly because it is no longer supported on this Linux distribution - Chromium + Taktak - Chromium is unresponsive. Relaunch now? + Taktak is unresponsive. Relaunch now? - To send a number from here to your Android phone, sign in to Chromium on both devices. + To send a number from here to your Android phone, sign in to Taktak on both devices. - To send a number from $1www.google.com to your Android phone, sign in to Chromium on both devices. + To send a number from $1www.google.com to your Android phone, sign in to Google on both devices. - Make sure you are signed in to Chromium on your $1Pixel XL and then try sending again. + Make sure you are signed in to Taktak on your $1Pixel XL and then try sending again. - Please close all Chromium windows and try again. + Please close all Taktak windows and try again. - Are you sure you want to uninstall Chromium? + Are you sure you want to uninstall Taktak? - - Uninstall Chromium + + Uninstall Taktak - Make Chromium the default browser + Make Taktak the default browser - Let Chromium Run in the Background + Let Taktak Run in the Background - Let Chromium run in the background + Let Taktak run in the background - Disable Chromium Running in Background for Apps + Disable Taktak Running in Background for Apps - Disable Chromium running in background for apps + Disable Taktak running in background for apps -Chromium cannot read and write to its data directory: +Taktak cannot read and write to its data directory: $1C:\Documents and Settings\devint\Local Settings\Application Data\Google\Chrome @@ -580,9 +580,9 @@ Chromium cannot read and write to its data directory: -Your profile can not be used because it is from a newer version of Chromium. +Your profile can not be used because it is from a newer version of Taktak. -Some features may be unavailable. Please specify a different profile directory or use a newer version of Chromium. +Some features may be unavailable. Please specify a different profile directory or use a newer version of Taktak. Your preferences can not be read. @@ -592,21 +592,21 @@ Some features may be unavailable and changes to preferences won't be saved. Your preferences file is corrupt or invalid. -Chromium is unable to recover your settings. +Taktak is unable to recover your settings. - Open $1https://www.example-url.com/ in a new tab in Chromium. + Open $1https://www.example-url.com/ in a new tab in Taktak. - Chromium lets you know if your passwords are ever compromised + Taktak lets you know if your passwords are ever compromised - Chromium + Taktak Password Manager @@ -619,82 +619,82 @@ Chromium is unable to recover your settings. - Chromium is trying to $1show passwords + Taktak is trying to $1show passwords - Chromium is trying to show passwords. Type your Windows password to allow this. + Taktak is trying to show passwords. Type your Windows password to allow this. - Chromium is trying to copy passwords. Type your Windows password to allow this. + Taktak is trying to copy passwords. Type your Windows password to allow this. - Chromium is trying to edit passwords. Type your Windows password to allow this. + Taktak is trying to edit passwords. Type your Windows password to allow this. - Chromium wants to export your passwords. Type your Windows password to allow this. + Taktak wants to export your passwords. Type your Windows password to allow this. - Chromium wants to delete your Password Manager data. Type your Windows password to allow this. + Taktak wants to delete your Password Manager data. Type your Windows password to allow this. - Chromium is trying to replace existing passwords. Type your Windows password to allow this. + Taktak is trying to replace existing passwords. Type your Windows password to allow this. - This computer already has a more recent version of Chromium. If the software is not working, please uninstall Chromium and try again. + This computer already has a more recent version of Taktak. If the software is not working, please uninstall Taktak and try again. - Installation failed due to unspecified error. If Chromium is currently running, please close it and try again. + Installation failed due to unspecified error. If Taktak is currently running, please close it and try again. - Can not install the same Chromium version that is currently running. Please close Chromium and try again. + Can not install the same Taktak version that is currently running. Please close Taktak and try again. - Installation failed due to unspecified error. Please download Chromium again. + Installation failed due to unspecified error. Please download Taktak again. - Chromium requires Windows 10 or higher. + Taktak requires Windows 10 or higher. - An operating system error occurred during installation. Please download Chromium again. + An operating system error occurred during installation. Please download Taktak again. - Another operation on Chromium is in progress. Please try again later. + Another operation on Taktak is in progress. Please try again later. The installer couldn't create a temporary directory. Please check for free disk space and permission to install software. - The installer failed to uncompress archive. Please download Chromium again. + The installer failed to uncompress archive. Please download Taktak again. - The installer archive is corrupted or invalid. Please download Chromium again. + The installer archive is corrupted or invalid. Please download Taktak again. You do not have appropriate rights for system-level install. Try running the installer again as Administrator. - Chromium is already installed for all users on your computer. + Taktak is already installed for all users on your computer. - Provides elevated privileges for $1Chromium. + Provides elevated privileges for $1Taktak. - Provides system tracing services for $1Chromium. If this service is disabled, performance traces created by the browser will not include system-wide events such as context switch and ready thread events. + Provides system tracing services for $1Taktak. If this service is disabled, performance traces created by the browser will not include system-wide events such as context switch and ready thread events. - + Access the Internet Also delete your browsing data? - + Change default browser to: @@ -702,207 +702,207 @@ Chromium is unable to recover your settings. - Chromium isn't your default browser - - - Set Chromium as your default browser and pin it to your taskbar - + Taktak isn't your default browser + + + Set Taktak as your default browser and pin it to your taskbar + - Set Chromium as your default PDF viewer + Set Taktak as your default PDF viewer - Extensions, apps, and themes from unknown sources can harm your device. Chromium recommends only installing them from the $1Chrome Web Store + Extensions, apps, and themes from unknown sources can harm your device. Taktak recommends only installing them from the $1Chrome Web Store - Learn why Chromium blocks some downloads + desc="Text for the link to the help page about why Taktak blocks some downloaded files."> + Learn why Taktak blocks some downloads - This file may be dangerous$1Chromium can check this download for you if you provide the password. Info about the file gets sent to Google Safe Browsing, but the file content and password stay on your device. + This file may be dangerous$1Taktak can check this download for you if you provide the password. Info about the file gets sent to Google Safe Browsing, but the file content and password stay on your device. - Adding to Chromium... + Adding to Taktak... - $1bla.exe may be dangerous, so Chromium has blocked it. + $1bla.exe may be dangerous, so Taktak has blocked it. - This file is dangerous, so Chromium has blocked it. + This file is dangerous, so Taktak has blocked it. - $1malware.exe is dangerous, so Chromium has blocked it. + $1malware.exe is dangerous, so Taktak has blocked it. - Chromium recommends scanning this file because it may be dangerous. + Taktak recommends scanning this file because it may be dangerous. - Chromium blocked this download because the file type isn't commonly downloaded and it may be dangerous + Taktak blocked this download because the file type isn't commonly downloaded and it may be dangerous - Chromium blocked this download because the file is dangerous + Taktak blocked this download because the file is dangerous - Chromium blocked this download because the file can harm your personal and social network accounts + Taktak blocked this download because the file can harm your personal and social network accounts - Chromium blocked this download because the file isn't commonly downloaded and it may be dangerous + Taktak blocked this download because the file isn't commonly downloaded and it may be dangerous - Chromium blocked this download because the archive file includes other files that may hide malware + Taktak blocked this download because the archive file includes other files that may hide malware - Chromium blocked this download because the file is deceptive and may make unexpected changes to your device + Taktak blocked this download because the file is deceptive and may make unexpected changes to your device - Chromium blocked this download because the site isn't using a secure connection and the file may have been tampered with + Taktak blocked this download because the site isn't using a secure connection and the file may have been tampered with - Chromium blocked this download because you turned Safe Browsing off and the file can't be verified + Taktak blocked this download because you turned Safe Browsing off and the file can't be verified - Learn why Chromium blocks some files + Learn why Taktak blocks some files - Learn why Chromium blocks some files, opens in new tab + Learn why Taktak blocks some files, opens in new tab - Exit Chromium anyway? + Exit Taktak anyway? - Quit Chromium anyway? + Quit Taktak anyway? - Chromium is in background mode. + Taktak is in background mode. - Google API keys are missing. Some functionality of Chromium will be disabled. + Google API keys are missing. Some functionality of Taktak will be disabled. - $1Gmail Checker has been added to Chromium + $1Gmail Checker has been added to Taktak - Also delete data from Chromium ($1www.google.com) + Also delete data from Taktak ($1www.google.com) - Chromium found that "$1Gmail Checker" contains malware + Taktak found that "$1Gmail Checker" contains malware - Chromium found that these items contain malware: + Taktak found that these items contain malware: - This extension is no longer supported. Chromium recommends that you remove it instead. + This extension is no longer supported. Taktak recommends that you remove it instead. {NUM_EXTENSIONS, plural, - =1 {This extension is no longer supported. Chromium recommends that you remove it.} - other {These extensions are no longer supported. Chromium recommends that you remove them.}} + =1 {This extension is no longer supported. Taktak recommends that you remove it.} + other {These extensions are no longer supported. Taktak recommends that you remove them.}} - Chromium recommends that you remove it. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a> + Taktak recommends that you remove it. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a> {NUM_EXTENSIONS, plural, - =1 {Chromium recommends that you remove it. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a>} - other {Chromium recommends that you remove them. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a>} + =1 {Taktak recommends that you remove it. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a>} + other {Taktak recommends that you remove them. <a href="$1" aria-description="$2" target="_blank">Learn more about supported extensions</a>} } - Remove $1Google Translate from Chromium + Remove $1Google Translate from Taktak - This extension contains malware and is unsafe. Remove it from Chromium so it can no longer see and change your data on sites you visit, including your personal info. + This extension contains malware and is unsafe. Remove it from Taktak so it can no longer see and change your data on sites you visit, including your personal info. - This extension violates the Chrome Web Store policy, and might be unsafe. Remove it from Chromium so it can no longer see and change your data on sites you visit, including your personal info. + This extension violates the Chrome Web Store policy, and might be unsafe. Remove it from Taktak so it can no longer see and change your data on sites you visit, including your personal info. - This extension was unpublished by its developer, and might be unsafe. Remove it from Chromium so it can no longer see and change your data on sites you visit, including your personal info. + This extension was unpublished by its developer, and might be unsafe. Remove it from Taktak so it can no longer see and change your data on sites you visit, including your personal info. - Chromium recommends you review this extension + Taktak recommends you review this extension - Chromium can't verify where this extension comes from, and it might be unsafe. Remove it from Chromium so it can no longer see and change your data on sites you visit, including personal info. + Taktak can't verify where this extension comes from, and it might be unsafe. Remove it from Taktak so it can no longer see and change your data on sites you visit, including personal info. - On • Chromium can't verify where this extension comes from + On • Taktak can't verify where this extension comes from - Off • Chromium can't verify where this extension comes from + Off • Taktak can't verify where this extension comes from - This extension hasn't published privacy practices, such as how it collects and uses data. Chromium recommends that you remove it. + This extension hasn't published privacy practices, such as how it collects and uses data. Taktak recommends that you remove it. {NUM_EXTENSIONS, plural, - =1 {Chromium recommends that you remove it} - other {Chromium recommends that you remove them}} + =1 {Taktak recommends that you remove it} + other {Taktak recommends that you remove them}} - Allow extension to show access requests in the Chromium toolbar + Allow extension to show access requests in the Taktak toolbar - - Warning: Chromium cannot prevent extensions from recording your browsing history. To disable this extension in Incognito mode, unselect this option. + + Warning: Taktak cannot prevent extensions from recording your browsing history. To disable this extension in Incognito mode, unselect this option. - Remove from Chromium + Remove from Taktak - In Chromium + In Taktak Changes to this setting will be applied once Chromium restarts. @@ -910,28 +910,28 @@ Chromium is unable to recover your settings. - To make Chromium safer, we disabled some extensions that aren't listed in the $1Chrome Web Store and may have been added without your knowledge. + To make Taktak safer, we disabled some extensions that aren't listed in the $1Chrome Web Store and may have been added without your knowledge. - To make Chromium safer, we disabled the following extension that isn't listed in the $1Chrome Web Store and may have been added without your knowledge. + To make Taktak safer, we disabled the following extension that isn't listed in the $1Chrome Web Store and may have been added without your knowledge. - Customize and control Chromium + Customize and control Taktak - Customize and control Chromium. Update is available. + Customize and control Taktak. Update is available. - Customize and control Chromium. Something needs your attention - click for details. + Customize and control Taktak. Something needs your attention - click for details. - &Open in Chromium + &Open in Taktak @@ -943,12 +943,12 @@ Chromium is unable to recover your settings. - About &Chromium + About &Taktak - Relaunch to Update &Chromium + Relaunch to Update &Taktak @@ -960,17 +960,17 @@ Chromium is unable to recover your settings. - About &Chromium + About &Taktak - Relaunch to update &Chromium + Relaunch to update &Taktak - About &Chromium + About &Taktak Relaunch to update &ChromiumOS @@ -979,13 +979,13 @@ Chromium is unable to recover your settings. - Chromium + Taktak - Chromium Helper + Taktak Helper - Chromium Helper + Taktak Helper @@ -995,47 +995,59 @@ Chromium is unable to recover your settings. - Chromium + Taktak - Sync and personalize Chromium across your devices + Sync and personalize Taktak across your devices - You were signed in to Chromium as $1foo@gmail.com. Please use the same account to sign in again. + You were signed in to Taktak as $1foo@gmail.com. Please use the same account to sign in again. - Someone previously signed in to Chromium on this computer as $1user@example.com. Please create a new Chromium user to keep your information separate. + Someone previously signed in to Taktak on this computer as $1user@example.com. Please create a new Taktak user to keep your information separate. - - Your organization requires you to sign into Chromium + + Your organization requires you to sign into Taktak - Link your Chromium data to this account? + Link your Taktak data to this account? - You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to $1pat@example.com. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. $2Learn more + You are signing in with a managed account and giving its administrator control over your Taktak profile. Your Taktak data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to $1pat@example.com. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. $2Learn more - You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to $1pat@example.com. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. You can optionally create a new profile to keep your existing Chromium data separate. $2Learn more + You are signing in with a managed account and giving its administrator control over your Taktak profile. Your Taktak data, such as your apps, bookmarks, history, passwords, and other settings will become permanently tied to $1pat@example.com. You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. You can optionally create a new profile to keep your existing Taktak data separate. $2Learn more + + + Add Work Profile to this browser + + + You are adding a work profile to this browser and giving your administrator control over just the work profile. + + + This work profile is completely separate from your personal profile. + + + Any Taktak data that is generated during the use of this profile (such as the creation of bookmarks, history, passwords, and other settings) can be removed by the work profile administrator. $1Learn more - Your organization, $1manager.com, requires you to sign into Chromium + Your organization, $1manager.com, requires you to sign into Taktak - - Sign in to Chromium? + + Sign in to Taktak? - You're signed in to Chromium! + You're signed in to Taktak! You're signed in as $1foo@gmail.com. Now you can access your bookmarks, history, and other settings on all your signed in devices. @@ -1044,40 +1056,40 @@ Chromium is unable to recover your settings. - Your organization manages Chromium + Your organization manages Taktak - $1The Company manages Chromium + $1The Company manages Taktak - Multiple organizations manage Chromium + Multiple organizations manage Taktak - To continue, sign in to Chromium as $1user@example.com. This makes sure that you've got your organization's policies. + To continue, sign in to Taktak as $1user@example.com. This makes sure that you've got your organization's policies. - The extension "$1Screencast" wants you to sign in to Chromium + The extension "$1Screencast" wants you to sign in to Google - To use this extension as $1elisa.g.beckett@gmail.com, sign in to Chromium. + To use this extension as $1elisa.g.beckett@gmail.com, sign in to Google. - An extension wants you to sign in to Chromium + An extension wants you to sign in to Google - Your system administrator has configured Chromium to open an alternative browser to access $1example.com. + Your system administrator has configured Taktak to open an alternative browser to access $1example.com. - Your system administrator has configured Chromium to open $2Internet Explorer to access $1example.com. + Your system administrator has configured Taktak to open $2Internet Explorer to access $1example.com. @@ -1089,8 +1101,8 @@ Chromium is unable to recover your settings. - - Customize Chromium + + Customize Taktak @@ -1098,121 +1110,121 @@ Chromium is unable to recover your settings. - $1foo@gmail.com was previously using Chromium + $1foo@gmail.com was previously using Taktak - Sign in to Chromium? + desc="Text asking the user to sign into Taktak while the Taktak Signin Bubble intercept is shown."> + Sign in to Taktak? - - Make Chromium your own + + Make Taktak your own - Use Chromium without an account + desc="Label of the Decline button of the Taktak Signin Bubble intercept that is shown when a signed out user signs in on the web with it's first account."> + Use Taktak without an account - Sign In to Chromium? + desc="Text asking the user to sign into Taktak while the Taktak Signin Bubble intercept is shown."> + Sign In to Taktak? - - Make Chromium Your Own + + Make Taktak Your Own - Use Chromium Without an Account + desc="Label of the Decline button of the Taktak Signin Bubble intercept that is shown when a signed out user signs in on the web with it's first account."> + Use Taktak Without an Account - Sign in to Chromium in a new profile? + Sign in to Taktak in a new profile? - Switch to existing Chromium profile? + Switch to existing Taktak profile? - - You're already signed in as $1foo@gmail.com in another Chromium profile + + You're already signed in as $1foo@gmail.com in another Taktak profile - - To stay safer online with your parent’s choices, switch to your Chromium profile where you’re already signed in as $1foo@gmail.com + + To stay safer online with your parent’s choices, switch to your Taktak profile where you’re already signed in as $1foo@gmail.com - $1Elisa is already signed in to this Chromium profile. To keep your browsing separate, Chromium can create your own profile for you. + $1Elisa is already signed in to this Taktak profile. To keep your browsing separate, Taktak can create your own profile for you. - $1Elisa is already signed in. To keep your browsing separate, sign in to Chromium in your own profile as $2foo@gmail.com. + $1Elisa is already signed in. To keep your browsing separate, sign in to Taktak in your own profile as $2foo@gmail.com. - - To get your passwords and more on all your devices, sign in to Chromium + + To get your passwords and more on all your devices, sign in to Taktak - - To stay safer online with your parent’s choices, sign in to Chromium + + To stay safer online with your parent’s choices, sign in to Taktak - - While you're signed in, you can use your passwords and more from your Google Account in Chromium. You can change this at any time in settings. + + While you're signed in, you can use your passwords and more from your Google Account in Taktak. You can change this at any time in settings. - While you're signed in, you can use your passwords and more from your Google Account in Chromium. $1CTRL+SHIFT+M can change your Google services settings. + While you're signed in, you can use your passwords and more from your Google Account in Taktak. $1CTRL+SHIFT+M can change your Google services settings. - - Sign out of Chromium? + + Sign out of Taktak? - Your passwords, payment methods, and addresses that you saved in your Google Account will be removed from this device. To use them again in Chromium, sign back in. + Your passwords, payment methods, and addresses that you saved in your Google Account will be removed from this device. To use them again in Taktak, sign back in. - Your passwords and other Chromium data that you saved in your Google Account will be removed from this device. To use them again in Chromium, sign back in. + Your passwords and other Taktak data that you saved in your Google Account will be removed from this device. To use them again in Taktak, sign back in. - - Chromium needs to verify it’s you before some data can be saved in your Google Account and used on all your devices. If you sign out now, this data will be deleted. + + Taktak needs to verify it’s you before some data can be saved in your Google Account and used on all your devices. If you sign out, this data will stay on this device. - - Some of your Chromium data hasn't been saved in your Google Account yet. Try waiting a few minutes before signing out. If you sign out now, this data will be deleted. + + Some of your Taktak data hasn't been saved in your Google Account yet. Try waiting a few minutes before signing out. If you sign out now, this data will be deleted. - You’ll be signed out of most sites when you close all Chromium windows, except your Google Account if you’re signed in to Chromium. To let sites remember you, $1go to settings. + You’ll be signed out of most sites when you close all Taktak windows, except your Google Account if you’re signed in to Taktak. To let sites remember you, $1go to settings. - If you forgot your passphrase or want to change this setting, $1clear the Chromium data in your account + If you forgot your passphrase or want to change this setting, $1clear the Taktak data in your account - Clear the Chromium data in your account + Clear the Taktak data in your account - Your data is encrypted with your passphrase. Enter it to use and save Chromium data in your Google Account. + Your data is encrypted with your passphrase. Enter it to use and save Taktak data in your Google Account. - Click to close the Chromium sign-in dialog + desc="Accessibility label (read by the accessibility tools) of the avatar button when the Taktak Signin bubble is shown. The text implies that the expanded bubble underneath the button is closable by clicking on the button. The actual text is 'Sign in to Taktak?' with a bubble shown under it."> + Click to close the Taktak sign-in dialog - Chromium account requires re-authentication + desc="Accessibility label (read by the accessibility tools) of the avatar button when Taktak is in 'Sign-in pending' state. This state means that the account associated with Taktak does not have valid credentials anymore and needs to be re-authenticated."> + Taktak account requires re-authentication - - To get your passwords and more on all your devices, sign in to Chromium. This password will be saved in your Google Account after you sign in. + + To get your passwords and more on all your devices, sign in to Google. This password will be saved in your Google Account after you sign in. - - To get your addresses and more on all your devices, sign in to Chromium. This address will be saved in your Google Account after you sign in. + + To get your addresses and more on all your devices, sign in to Google. This address will be saved in your Google Account after you sign in. - Customize your new Chromium profile + Customize your new Taktak profile - Customize your Chromium profile + Customize your Taktak profile @@ -1234,70 +1246,70 @@ Chromium is unable to recover your settings. - Sign in to Chromium + Sign in to Google - Your Chromium + Your Taktak - - Remove account from Chromium + + Remove account from Taktak - - Other Chromium profiles + + Other Taktak profiles - - Manage Chromium profiles + + Manage Taktak profiles - Sign out of Chromium + desc="The text label of the Sign out of Taktak button in the Profile Menu."> + Sign out of Taktak - Add Chromium profile + Add Taktak profile - - Remove Account from Chromium + + Remove Account from Taktak - - Other Chromium Profiles + + Other Taktak Profiles - - Manage Chromium Profiles + + Manage Taktak Profiles - Sign Out of Chromium + desc="The text label of the Sign out of Taktak button in the Profile Menu."> + Sign Out of Taktak - Add Chromium Profile + Add Taktak Profile - Remove from Chromium... + Remove from Taktak... - Remove this apps data from Chromium + Remove this apps data from Taktak - - Chromium Apps + + Taktak Apps - Chromium Apps + Taktak Apps - + - + @@ -1310,44 +1322,44 @@ Chromium is unable to recover your settings. - Chromium is using your camera and microphone. + Taktak is using your camera and microphone. - Chromium is using your microphone. + Taktak is using your microphone. - Chromium is using your camera. + Taktak is using your camera. {NUM_DEVICES, plural, - =0 {1 HID device was being accessed by one or more Chromium extensions} - =1 {1 HID device is being accessed by one or more Chromium extensions} - other {# HID devices are being accessed by one or more Chromium extensions}} + =0 {1 HID device was being accessed by one or more Taktak extensions} + =1 {1 HID device is being accessed by one or more Taktak extensions} + other {# HID devices are being accessed by one or more Taktak extensions}} {NUM_DEVICES, plural, - =0 {1 USB device was being accessed by one or more Chromium extensions} - =1 {1 USB device is being accessed by one or more Chromium extensions} - other {# USB devices are being accessed by one or more Chromium extensions}} + =0 {1 USB device was being accessed by one or more Taktak extensions} + =1 {1 USB device is being accessed by one or more Taktak extensions} + other {# USB devices are being accessed by one or more Taktak extensions}} - The profile appears to be in use by another Chromium process ($112345) on another computer ($2example.com). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium. + The profile appears to be in use by another Taktak process ($112345) on another computer ($2example.com). Taktak has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Taktak. - Set Chromium as your default browser + Set Taktak as your default browser @@ -1355,40 +1367,40 @@ Chromium is unable to recover your settings. - This person's browsing data will be deleted from this device. To recover the data, sign in to Chromium as $2foo@example.com. + This person's browsing data will be deleted from this device. To recover the data, sign in to Taktak as $2foo@example.com. - Chromium just got better + Taktak just got better - Now it's easier to use Chromium with your Google Account and on shared computers. + Now it's easier to use Taktak with your Google Account and on shared computers. - This is your Chromium + This is your Taktak - Your web, bookmarks, and other Chromium stuff live here. + Your web, bookmarks, and other Taktak stuff live here. - Guests can use Chromium without leaving anything behind. + Guests can use Taktak without leaving anything behind. - If you share a computer, friends and family can browse separately and set up Chromium just the way they want. + If you share a computer, friends and family can browse separately and set up Taktak just the way they want. - Click your name to open Chromium and start browsing. + Click your name to open Taktak and start browsing. - Add yourself to Chromium + Add yourself to Taktak - Click the Chromium menu + Click the Taktak menu Click “Password Manager” @@ -1403,63 +1415,63 @@ Chromium is unable to recover your settings. - ''' It also controls what page is shown when you start Chromium. ''' + ''' It also controls what page is shown when you start Taktak. ''' - ''' It also controls what page is shown when you start Chromium or search from the Omnibox. ''' + ''' It also controls what page is shown when you start Taktak or search from the Omnibox. ''' - Discover great apps, games, extensions and themes for Chromium. + Discover great apps, games, extensions and themes for Taktak. - Chromium (mDNS-In) + Taktak (mDNS-In) - + - + - + - Inbound rule for Chromium to allow mDNS traffic. + Inbound rule for Taktak to allow mDNS traffic. - + - + - + - - If an image doesn’t have a useful description, Chromium will try to provide one for you. To create descriptions, images are sent to Google. You can turn this off in settings at any time. + + If an image doesn’t have a useful description, Taktak will try to provide one for you. To create descriptions, images are sent to Google. You can turn this off in settings at any time. - - If an image doesn’t have a useful description, Chromium will try to provide one for you. To create descriptions, images are sent to Google. + + If an image doesn’t have a useful description, Taktak will try to provide one for you. To create descriptions, images are sent to Google. This uses the same spell checker that's used in Google search. Text you type in the browser is sent to Google. You can always change this behavior in settings. - Open link in new Chromium &tab + Open link in new Taktak &tab - Open link in Chromium inco&gnito window + Open link in Taktak inco&gnito window - Open Link in New Chromium &tab + Open Link in New Taktak &tab - Open Link in Chromium Inco&gnito Window + Open Link in Taktak Inco&gnito Window @@ -1467,13 +1479,13 @@ Chromium is unable to recover your settings. - Relaunch Chromium + Relaunch Taktak {COUNT, plural, - =0 {A new update for Chromium is available and will be applied as soon as you relaunch.} - =1 {A new update for Chromium is available and will be applied as soon as you relaunch. Your Incognito window won't reopen.} - other {A new update for Chromium is available and will be applied as soon as you relaunch. Your # Incognito windows won't reopen.}} + =0 {A new update for Taktak is available and will be applied as soon as you relaunch.} + =1 {A new update for Taktak is available and will be applied as soon as you relaunch. Your Incognito window won't reopen.} + other {A new update for Taktak is available and will be applied as soon as you relaunch. Your # Incognito windows won't reopen.}} Relaunch @@ -1493,71 +1505,71 @@ Chromium is unable to recover your settings. - Not used in Chromium. Placeholder to keep resource maps in sync. + Not used in Taktak. Placeholder to keep resource maps in sync. - Not used in Chromium. Placeholder to keep resource maps in sync. + Not used in Taktak. Placeholder to keep resource maps in sync. - Reinstall Chromium + Reinstall Taktak - Chromium is Out of Date + Taktak is Out of Date - Chromium is out of date + Taktak is out of date - Can't update Chromium + Can't update Taktak - Chromium couldn't update to the latest version, so you're missing out on new features and security fixes. + Taktak couldn't update to the latest version, so you're missing out on new features and security fixes. - Update Chromium + Update Taktak - Enter your passphrase to use and save Chromium data in your account, $1elisa.beckett@gmail.com + Enter your passphrase to use and save Taktak data in your account, $1elisa.beckett@gmail.com - Verify it's you to use and save Chromium data in your account, $1elisa.beckett@gmail.com + Verify it's you to use and save Taktak data in your account, $1elisa.beckett@gmail.com - To use and save Chromium data in your Google Account, update Chromium + To use and save Taktak data in your Google Account, update Taktak - Update Chromium to keeping using the Chromium data in your Google Account, $1elisa.beckett@gmail.com + Update Taktak to keeping using the Taktak data in your Google Account, $1elisa.beckett@gmail.com - Update Chromium to start sync + Update Taktak to start sync - Update Chromium + Update Taktak - Chromium is out of date + Taktak is out of date - - Update Chromium + + Update Taktak - - Update Chromium + + Update Taktak @@ -1565,89 +1577,89 @@ Chromium is unable to recover your settings. - - Chromium will restart in $11 minute, 7 seconds + + Taktak will restart in $11 minute, 7 seconds - - Please restart Chromium now + + Please restart Taktak now - - A special security update for Chromium was just applied. Restart now and we'll restore your tabs. + + A special security update for Taktak was just applied. Restart now and we'll restore your tabs. - Chromium Tab + Taktak Tab - To share your screen, allow screen recording for Chromium in System Settings + To share your screen, allow screen recording for Taktak in System Settings - To share your screen, allow screen recording for Chromium in System Settings. + To share your screen, allow screen recording for Taktak in System Settings. - To share your window, allow screen recording for Chromium in System Settings + To share your window, allow screen recording for Taktak in System Settings - To share your window, allow screen recording for Chromium in System Settings. + To share your window, allow screen recording for Taktak in System Settings. - You'll then need to restart Chromium. + You'll then need to restart Taktak. - Chromium needs permission to access your camera to create a 3D map of your surroundings + Taktak needs permission to access your camera to create a 3D map of your surroundings - Chromium needs permission to access your camera for this site + Taktak needs permission to access your camera for this site - Chromium needs permission to track your hands + Taktak needs permission to track your hands - Chromium needs permission to access your microphone for this site + Taktak needs permission to access your microphone for this site - Chromium needs permission to access your camera and microphone for this site + Taktak needs permission to access your camera and microphone for this site - Chromium needs access to your location to share your location with this site + Taktak needs access to your location to share your location with this site - Chromium needs storage access to download files + Taktak needs storage access to download files - Chromium needs camera permission to create a 3D map of your surroundings + Taktak needs camera permission to create a 3D map of your surroundings - Chromium needs camera permission for this site + Taktak needs camera permission for this site - Chromium needs permission to track your hands + Taktak needs permission to track your hands - Chromium needs microphone permission for this site + Taktak needs microphone permission for this site - Chromium needs camera and microphone permissions for this site + Taktak needs camera and microphone permissions for this site - Chromium needs location permission for this site + Taktak needs location permission for this site - Chromium needs storage access permission to download files + Taktak needs storage access permission to download files - Chromium needs permission to map your surroundings and track your hands + Taktak needs permission to map your surroundings and track your hands - Once Chromium has access, websites will be able to ask you for access. + Once Taktak has access, websites will be able to ask you for access. This will allow you to select from available devices and display content on them. @@ -1968,7 +1980,7 @@ Chromium is unable to recover your settings. - Please wait while Chromium installs the latest system updates. + Please wait while Taktak installs the latest system updates. ChromiumOS terms @@ -1978,7 +1990,7 @@ Chromium is unable to recover your settings. - Go to Chromium notification settings + Go to Taktak notification settings @@ -1986,109 +1998,109 @@ Chromium is unable to recover your settings. {0, plural, - =0 {A Chromium update is available} - =1 {A Chromium update is available} - other {A Chromium update has been available for # days}} + =0 {A Taktak update is available} + =1 {A Taktak update is available} + other {A Taktak update has been available for # days}} {COUNT, plural, - =0 {Your administrator asks that you relaunch Chromium to apply this update} - =1 {Your administrator asks that you relaunch Chromium to apply this update. Your Incognito window won't reopen.} - other {Your administrator asks that you relaunch Chromium to apply this update. Your # Incognito windows won't reopen.}} + =0 {Your administrator asks that you relaunch Taktak to apply this update} + =1 {Your administrator asks that you relaunch Taktak to apply this update. Your Incognito window won't reopen.} + other {Your administrator asks that you relaunch Taktak to apply this update. Your # Incognito windows won't reopen.}} {0, plural, - =1 {Relaunch Chromium within a day} - other {Relaunch Chromium within # days}} + =1 {Relaunch Taktak within a day} + other {Relaunch Taktak within # days}} {0, plural, - =1 {Chromium will relaunch in an hour} - other {Chromium will relaunch in # hours}} + =1 {Taktak will relaunch in an hour} + other {Taktak will relaunch in # hours}} {0, plural, - =1 {Chromium will relaunch in 1 minute} - other {Chromium will relaunch in # minutes}} + =1 {Taktak will relaunch in 1 minute} + other {Taktak will relaunch in # minutes}} {0, plural, - =0 {Chromium will relaunch now} - =1 {Chromium will relaunch in 1 second} - other {Chromium will relaunch in # seconds}} + =0 {Taktak will relaunch now} + =1 {Taktak will relaunch in 1 second} + other {Taktak will relaunch in # seconds}} {COUNT, plural, - =0 {Your administrator requires that you relaunch Chromium to apply an update} - =1 {Your administrator requires that you relaunch Chromium to apply an update. Your Incognito window won't reopen.} - other {Your administrator requires that you relaunch Chromium to apply an update. Your # Incognito windows won't reopen.}} + =0 {Your administrator requires that you relaunch Taktak to apply an update} + =1 {Your administrator requires that you relaunch Taktak to apply an update. Your Incognito window won't reopen.} + other {Your administrator requires that you relaunch Taktak to apply an update. Your # Incognito windows won't reopen.}} - + - - Launching Chromium... + + Launching Taktak... - - Couldn't launch Chromium. Try again. + + Couldn't launch Taktak. Try again. - - Relaunch Chromium + + Relaunch Taktak - Share a Chromium tab + Share a Taktak tab - Chromium was automatically closed + Taktak was automatically closed - - Your organization closes Chromium when it isn't used for $130 minutes. Browsing data was deleted. This could include history, autofill, and downloads. + + Your organization closes Taktak when it isn't used for $130 minutes. Browsing data was deleted. This could include history, autofill, and downloads. - - Your organization deletes Chromium data when it isn't used for $130 minutes. This could include history, autofill, and downloads. + + Your organization deletes Taktak data when it isn't used for $130 minutes. This could include history, autofill, and downloads. - - Your organization closes Chromium when it isn't used for $130 minutes. + + Your organization closes Taktak when it isn't used for $130 minutes. - Chromium will soon close + Taktak will soon close - Chromium will soon delete browsing data + Taktak will soon delete browsing data - Chromium will soon close and delete data + Taktak will soon close and delete data - + {COUNT, plural, - =1 {Your organization automatically closes Chromium when it isn't used for 1 minute.} - other {Your organization automatically closes Chromium when it isn't used for # minutes.}} + =1 {Your organization automatically closes Taktak when it isn't used for 1 minute.} + other {Your organization automatically closes Taktak when it isn't used for # minutes.}} - + {COUNT, plural, - =1 {Your organization automatically deletes browsing data when Chromium isn't used for 1 minute. This could include history, autofill, and downloads. Your tabs will stay open.} - other {Your organization automatically deletes browsing data when Chromium isn't used for # minutes. This could include history, autofill, and downloads. Your tabs will stay open.}} + =1 {Your organization automatically deletes browsing data when Taktak isn't used for 1 minute. This could include history, autofill, and downloads. Your tabs will stay open.} + other {Your organization automatically deletes browsing data when Taktak isn't used for # minutes. This could include history, autofill, and downloads. Your tabs will stay open.}} - + {COUNT, plural, - =1 {Your organization automatically closes Chromium when it isn't used for 1 minute. Browsing data is deleted. This could include history, autofill, and downloads.} - other {Your organization automatically closes Chromium when it isn't used for # minutes. Browsing data is deleted. This could include history, autofill, and downloads.}} + =1 {Your organization automatically closes Taktak when it isn't used for 1 minute. Browsing data is deleted. This could include history, autofill, and downloads.} + other {Your organization automatically closes Taktak when it isn't used for # minutes. Browsing data is deleted. This could include history, autofill, and downloads.}} - Continue using Chromium + Continue using Taktak - Help us improve Chromium + Help us improve Taktak @@ -2102,93 +2114,93 @@ Chromium is unable to recover your settings. - Your parent has turned off "Permissions for sites, apps and extensions" for Chromium + Your parent has turned off "Permissions for sites, apps and extensions" for Taktak - Your organization can see and manage browsing data, such as your bookmarks, history, and passwords. It can't see browsing data in other Chromium profiles + Your organization can see and manage browsing data, such as your bookmarks, history, and passwords. It can't see browsing data in other Taktak profiles - Welcome to Chromium profiles + Welcome to Taktak profiles - - Who's using Chromium? + + Who's using Taktak? - With Chromium profiles, you can separate all your Chromium stuff. Create profiles for friends and family, or split between work and fun. + With Taktak profiles, you can separate all your Taktak stuff. Create profiles for friends and family, or split between work and fun. - Set up your new Chromium profile + Set up your new Taktak profile - Each profile holds its own Chromium info like bookmarks, history, passwords, and more + Each profile holds its own Taktak info like bookmarks, history, passwords, and more - If you share a device, friends and family can browse separately and set up Chromium just the way they want + If you share a device, friends and family can browse separately and set up Taktak just the way they want - Switch to existing Chromium profile? + Switch to existing Taktak profile? - A Chromium profile with this account already exists on this device + A Taktak profile with this account already exists on this device - To use this profile with Glic, open Chromium and sign in + To use this profile with Glic, open Taktak and sign in - Sign in to Chromium + desc="This string appears as a heading on a full-page screen that asks the user to sign in to Taktak with their Google Account. It appears when the user launches Taktak for the first time. When they sign in, they can personalize and customize Taktak and remember their settings in their Google Account. The tone should be inviting and alluring."> + Sign in to Google - - Set Chromium as your default browser + + Set Taktak as your default browser - Use Chromium by default and get it pinned + Use Taktak by default and get it pinned - Use Chromium anytime you click links in messages, documents, and other apps + Use Taktak anytime you click links in messages, documents, and other apps - Open links in Chromium from any app. Plus for easy access, it gets pinned to your taskbar. + Open links in Taktak from any app. Plus for easy access, it gets pinned to your taskbar. - - Chromium logo inside a computer screen. + + Taktak logo inside a computer screen. - Customize and control Chromium. Set Chromium as your default. + Customize and control Taktak. Set Taktak as your default. - Set Chromium as your default + Set Taktak as your default - - Set Chromium as your default browser + + Set Taktak as your default browser - You can switch between Chromium profiles here + You can switch between Taktak profiles here - $1CTRL+SHIFT+M can switch between Chromium profiles + $1CTRL+SHIFT+M can switch between Taktak profiles - You can switch to see passwords from another Chromium profile + You can switch to see passwords from another Taktak profile - - To remove your Google Account from Chromium, sign out + + To remove your Google Account from Taktak, sign out - - To remove your Google Account from Chromium, sign out of Chromium in the Settings page + + To remove your Google Account from Taktak, sign out of Taktak in the Settings page @@ -2202,20 +2214,20 @@ Chromium is unable to recover your settings. - Your changes will take effect the next time you relaunch Chromium. + Your changes will take effect the next time you relaunch Taktak. - Chromium needs Bluetooth access to explore Bluetooth devices. $1Open Preferences + Taktak needs Bluetooth access to explore Bluetooth devices. $1Open Preferences - Get Chromium's strongest security + Get Taktak's strongest security - Get Chromium's strongest security + Get Taktak's strongest security Enhanced protection does more to block phishing and malware @@ -2229,22 +2241,22 @@ Chromium is unable to recover your settings. - Speeds up sites with Chromium's V8 engine but makes Chromium slightly less resistant to attacks. This setting is on. + Speeds up sites with V8 engine but makes Taktak slightly less resistant to attacks. This setting is on. - Speeds up sites with Chromium's V8 engine but makes Chromium slightly less resistant to attacks. This setting is off. + Speeds up sites with V8 engine but makes Taktak slightly less resistant to attacks. This setting is off. - V8 is Chromium’s JavaScript and WebAssembly engine used to improve site performance + V8 is JavaScript and WebAssembly engine used to improve site performance - Chromium runs faster and features that use JavaScript should work as designed (recommended) + Taktak runs faster and features that use JavaScript should work as designed (recommended) - Chromium + Taktak No update is available. @@ -2253,7 +2265,7 @@ Chromium is unable to recover your settings. Installation failed. Please try again. - $1Chromium Installer + $1Taktak Installer Close @@ -2292,13 +2304,13 @@ Chromium is unable to recover your settings. Canceling... - Thanks for installing. You must restart your browser before using $1Chromium. + Thanks for installing. You must restart your browser before using $1Taktak. - Thanks for installing. You must restart all your browsers before using $1Chromium. + Thanks for installing. You must restart all your browsers before using $1Taktak. - Thanks for installing. You must restart your computer before using $1Chromium. + Thanks for installing. You must restart your computer before using $1Taktak. Close @@ -2481,22 +2493,22 @@ Chromium is unable to recover your settings. - Chromium Updater Service + Taktak Updater Service - Chromium Updater Internal Service + Taktak Updater Internal Service - Keeps your Chromium software up to date. If this service is disabled or stopped, your Chromium software will not be kept up to date, meaning security vulnerabilities that may arise cannot be fixed and features may not work. This service uninstalls itself when there is no Chromium software using it. + Keeps your Taktak software up to date. If this service is disabled or stopped, your Taktak software will not be kept up to date, meaning security vulnerabilities that may arise cannot be fixed and features may not work. This service uninstalls itself when there is no Taktak software using it. - While this tab was inactive, memory was freed up to keep Chromium fast. You can choose to always exclude this site from being inactive. + While this tab was inactive, memory was freed up to keep Taktak fast. You can choose to always exclude this site from being inactive. @@ -2504,12 +2516,12 @@ Chromium is unable to recover your settings. - Make Chromium Faster + Make Taktak Faster - Make Chromium faster + Make Taktak faster @@ -2517,61 +2529,61 @@ Chromium is unable to recover your settings. - These tabs are using extra resources. To improve your performance, let Chromium make them inactive. + These tabs are using extra resources. To improve your performance, let Taktak make them inactive. - This tab is using extra resources. To improve your performance, let Chromium make it inactive. + This tab is using extra resources. To improve your performance, let Taktak make it inactive. {NUM_TABS, plural, - =1 {Chromium Recommends Pausing the Tab Slowing Your Browser} - other {Chromium Recommends Pausing the Tabs Slowing Your Browser}} + =1 {Taktak Recommends Pausing the Tab Slowing Your Browser} + other {Taktak Recommends Pausing the Tabs Slowing Your Browser}} {NUM_TABS, plural, - =1 {Chromium recommends pausing the tab slowing your browser} - other {Chromium recommends pausing the tabs slowing your browser}} + =1 {Taktak recommends pausing the tab slowing your browser} + other {Taktak recommends pausing the tabs slowing your browser}} - To delete browsing data from this device only, while keeping it in your Google Account, <a href="#" target="_blank">sign out of Chromium</a>. + To delete browsing data from this device only, while keeping it in your Google Account, <a href="#" target="_blank">sign out of Taktak</a>. - - Shortcuts open in Chromium + + Shortcuts open in Taktak - Chromium Shortcut + Taktak Shortcut - Cleared Chromium data + Cleared Taktak data - To get this extension and more on all your computers, sign in to Chromium + To get this extension and more on all your computers, sign in to Google - To get this bookmark and more on all your devices, sign in to Chromium + To get this bookmark and more on all your devices, sign in to Google diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 6e7a71089d7bf9..f2d8005ab7d6cc 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -469,7 +469,7 @@ are declared in tools/grit/grit_args.gni. Main menu - Chrome history + Taktak history No tabs from other devices @@ -7407,7 +7407,7 @@ Keep your key file in a safe place. You will need it to create new versions of y Reason: The inverted rule $1!example.com was found in the "Force open in" list. - Reason: LBS stays in $1Chromium by default. + Reason: LBS stays in $1Taktak by default. Invalid URL. Make sure it is formatted properly. @@ -9018,6 +9018,144 @@ Keep your key file in a safe place. You will need it to create new versions of y + + + + Chat + + + + + Chat + + + + Summarize this page + + + Explain it in simple language + + + Translate to... + + + Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Cebuano, Chichewa, Chinese (Simplified), Chinese (Traditional), Corsican, Croatian, Czech, Danish, Dutch, English, Esperanto, Estonian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Kinyarwanda, Korean, Kurdish (Kurmanji), Kyrgyz, Lao, Latin, Latvian, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Myanmar (Burmese), Nepali, Norwegian, Odia, Pashto, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Samoan, Scots Gaelic, Serbian, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Tatar, Telugu, Thai, Turkish, Turkmen, Ukrainian, Urdu, Uyghur, Uzbek, Vietnamese, Welsh, Xhosa, Yiddish, Yoruba, Zulu + + + Draft a post for... + + + X (Twitter), Facebook, Instagram, LinkedIn + + + Fact check + + + Act as a helpful browsing assistant. The active page is optional context, not a boundary. + ANSWER FIRST + - Your very first sentence must directly answer the question. No preamble or summary before it. + - After that, add brief reasoning/context only if it truly helps. Paraphrase; don't copy long chunks. + + USING THE PAGE + - Use only the few details that truly help. Paraphrase/compress; do NOT copy long passages or restate big chunks. + - If the page is partly helpful, blend those bits with your broader knowledge to answer fully. + - If the page is irrelevant/insufficient, ignore it and just answer from your own knowledge. Do NOT mention whether you used or ignored the page, and do NOT narrate your decision process. + + STYLE AND PHRASES + - Address the user in second person ("you", "your"). Never refer to them as "the user", "the user's question", "the user asked", etc. + - Don't quote the question verbatim. + - Avoid filler and meta-chatter ("I'm here to help…", "Based on your request…", "According to the page…", "To learn more, read the full article…") unless the user explicitly asks for further reading. + + NO META OR PROCESS TALK + - Do not mention the prompt, rules, or how you wrote the answer. + - Do not explain whether or how you used the page unless the user asks about the page. + + ANTI-REPETITION + - Do not reuse or closely paraphrase text from prior assistant messages. Treat each turn as new unless the user references earlier content. + - Do not restate the same caveats or page summaries across turns. + - If the user's new question is unrelated to the last answer, ignore that answer's content entirely. + + CLARIFYING QUESTIONS + - Ask an optional clarifying question only if truly needed. + - Put it as one short, natural sentence at the very end, no labels ("Clarifying question:") and no first-person framing like "I can ask…". + + UNCERTAINTY + - If unsure, still provide your best attempt first; then (optionally) ask the single clarifying question as above. + - Do NOT output confidence/probability lines like "Confidence: 87%" or similar. + + Inputs: + User's question: $1 + Active page content in markdown format: $2 + + + Provide a brief summary of the key takeaways for this page. + + + Explain this page in simple language. + + + Translate this page to + + + Translate the content to $1. + Identify headings, lists, and other text blocks based on provided markdown structure and apply basic formatting. + Here is the content to translate: $2 + + + Draft a post about this page for + + + Fact check this page and highlight major claims that may require verification or be biased. + + + Ask anything... + + + Chat about this page + + + Your message is too long + + + An error has occurred. Please check your connection and try again, or restart the chat by closing and reopening the panel. + + + Thinking... + + + Done thinking + + + Enable thinking + + + Thinking enabled + + + + + Install and run Google Widevine + + + + Install Google Widevine + + + Restart browser to enable Google Widevine + + + + Some media on this webpage may require Widevine to play. Widevine is a Google extension that loads from Google's servers and cannot be inspected by Taktak. By installing it, you agree to Google’s terms of use. + + + + + A new version of Taktak is available. Download the latest version to get the newest features and improvements. + + + Download update + + Side Panel Resize Handle (draggable) @@ -17502,7 +17640,7 @@ Please help our engineers fix this problem. Tell us what happened right before y On other devices - Your Chrome profile + Your Taktak profile iCloud Keychain diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd index 6b0f5f192256de..18b45f08d48ca5 100644 --- a/chrome/app/google_chrome_strings.grd +++ b/chrome/app/google_chrome_strings.grd @@ -433,18 +433,18 @@ chromium_strings.grd. --> - + ChromeOS Flex is made possible by additional <a target="_blank" href="$1">open source software</a>. - + ChromeOS Flex is made possible by additional <a target="_blank" href="$1">open source software</a>, as is <a target="_blank" href="$2">Linux development environment</a>. - + ChromeOS is made possible by additional <a target="_blank" href="$1">open source software</a>. - + ChromeOS is made possible by additional <a target="_blank" href="$1">open source software</a>, as is <a target="_blank" href="$2">Linux development environment</a>. @@ -671,7 +671,7 @@ Google Chrome is unable to recover your settings. Also delete your browsing data? - + Change default browser to: @@ -1166,7 +1166,7 @@ Google Chrome is unable to recover your settings. To get your passwords and more on all your devices, sign in to Chrome. This password will be saved in your Google Account after you sign in. - + To get your addresses and more on all your devices, sign in to Chrome. This address will be saved in your Google Account after you sign in. @@ -1440,10 +1440,10 @@ Google Chrome is unable to recover your settings. - + If an image doesn’t have a useful description, Chrome will try to provide one for you. To create descriptions, images are sent to Google. You can turn this off in settings at any time. - + If an image doesn’t have a useful description, Chrome will try to provide one for you. To create descriptions, images are sent to Google. diff --git a/chrome/app/os_settings_strings.grdp b/chrome/app/os_settings_strings.grdp index 50f237bebb7937..041099e069e2b5 100644 --- a/chrome/app/os_settings_strings.grdp +++ b/chrome/app/os_settings_strings.grdp @@ -271,9 +271,6 @@ Firmware is up to date - - Firmware updates are disabled by your administrator. - Update available diff --git a/chrome/app/os_settings_strings_grdp/IDS_OS_SETTINGS_FIRMWARE_DISABLED_DESCRIPTION.png.sha1 b/chrome/app/os_settings_strings_grdp/IDS_OS_SETTINGS_FIRMWARE_DISABLED_DESCRIPTION.png.sha1 deleted file mode 100644 index 53812302d35d00..00000000000000 --- a/chrome/app/os_settings_strings_grdp/IDS_OS_SETTINGS_FIRMWARE_DISABLED_DESCRIPTION.png.sha1 +++ /dev/null @@ -1 +0,0 @@ -a0a3c173a22b590dd7bae9abfd6eea915212552a \ No newline at end of file diff --git a/chrome/app/password_manager_ui_strings.grdp b/chrome/app/password_manager_ui_strings.grdp index 2942c7802d3405..c10efbfb7adfa5 100644 --- a/chrome/app/password_manager_ui_strings.grdp +++ b/chrome/app/password_manager_ui_strings.grdp @@ -838,11 +838,11 @@ - + Password Manager needs access to MacOS Keychain - To use Password Manager with macOS Keychain, relaunch Chromium and allow Keychain access. Your tabs will reopen after relaunching. + To use Password Manager with macOS Keychain, relaunch Taktak and allow Keychain access. Your tabs will reopen after relaunching. @@ -858,11 +858,11 @@ - + Password Manager needs more access - - To use Password Manager with your operating system, relaunch Chromium and allow access to your computer's password manager. Your tabs will reopen after relaunching. + + To use Password Manager with your operating system, relaunch Taktak and allow access to your computer's password manager. Your tabs will reopen after relaunching. @@ -876,7 +876,7 @@ - Relaunch Chromium + Relaunch Taktak diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb index fe209c956c89f8..b9493180cbc4dc 100644 --- a/chrome/app/resources/chromium_strings_en-GB.xtb +++ b/chrome/app/resources/chromium_strings_en-GB.xtb @@ -65,7 +65,7 @@ Some features may be unavailable and changes to preferences won't be saved.Sites can store information with Chromium about your interests. For example, if you visit a site to buy shoes for a marathon, the site might define your interest as running marathons. Later, if you visit a different site to register for a race, that site can show you an ad for running shoes based on your interests. Select text You are signing in with a managed account and giving its administrator control over your Chromium profile. Your Chromium data, such as your apps, bookmarks, history, passwords and other settings will become permanently tied to . You will be able to delete this data via the Google Accounts Dashboard, but you will not be able to associate this data with another account. You can optionally create a new profile to keep your existing Chromium data separate. -Chromium conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. Learn more about Energy Saver +Chromium conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. Chromium updater service By turning this off, you can sign in to Google sites such as Gmail, without signing in to Chromium Remove this app's data from Chromium @@ -270,7 +270,7 @@ Some features may be unavailable and changes to preferences won't be saved.Chromium needs permission to map your surroundings and track your hands Chromium understands forms better and can autofill them faster for you You're already signed in as in another Chromium profile -Chromium preloads pages which makes browsing and searching faster. Learn more about preload pages +Chromium preloads pages which makes browsing and searching faster. You're signed in as . Now you can access your bookmarks, history and other settings on all your signed in devices. Chromium blocked this download because you turned Safe Browsing off and the file can't be verified To Password Manager on this device @@ -342,7 +342,7 @@ Some features may be unavailable and changes to preferences won't be saved.Display Chromium in this language Unable to connect to the Internet. Proxy server requires authentication. You haven't visited recently. Chromium removed , , -Chromium frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chromium fast. Your inactive tabs automatically become active again when you go back to them. Learn more about Memory Saver +Chromium frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chromium fast. Your inactive tabs automatically become active again when you go back to them. If you forgot your passphrase or want to change this setting, the Chromium data in your account Customise and control Chromium. Set Chromium as your default. Unable to connect to the Internet. HTTP 401 Unauthorised. Please check your proxy configuration. diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb index 2e9a25060ef598..c07e6193b127e3 100644 --- a/chrome/app/resources/google_chrome_strings_en-GB.xtb +++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb @@ -364,7 +364,7 @@ Google Chrome is unable to recover your settings. Chrome recommends that you remove it. Learn more about supported extensions With Chrome profiles, you can separate all your Chrome stuff. Create profiles for friends and family, or split between work and fun. may be dangerous, so Chrome has blocked it. -Chrome conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. Learn more about Energy Saver +Chrome conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. Clear the Chrome data in your account {COUNT,plural, =0{Your administrator asks that you relaunch Chrome to apply this update}=1{Your administrator asks that you relaunch Chrome to apply this update. Your Incognito window won't reopen.}other{Your administrator asks that you relaunch Chrome to apply this update. Your # Incognito windows won't reopen.}} Customise and control Google Chrome. Something needs your attention – click for details. @@ -511,7 +511,7 @@ Google Chrome is unable to recover your settings. Chrome will warn you before loading any site using an insecure connection Get Chrome's strongest security While you're signed in, you can use your passwords and more from your Google Account in Chrome. can change your Google services settings. -Chrome preloads pages which makes browsing and searching faster. Learn more about preload pages +Chrome preloads pages which makes browsing and searching faster. Google updater service You can pin Google Lens for easy access Google Chrome Dev diff --git a/chrome/app/settings_chromium_strings.grdp b/chrome/app/settings_chromium_strings.grdp index ba485959f9638e..e39850fc21f6cf 100644 --- a/chrome/app/settings_chromium_strings.grdp +++ b/chrome/app/settings_chromium_strings.grdp @@ -1,10 +1,10 @@ - + - Relaunch Chromium? + Relaunch Taktak? @@ -18,26 +18,26 @@ - - About Chromium + + About Taktak - Get help with Chromium + Get help with Taktak - - Updating Chromium + + Updating Taktak - - Updating Chromium ($190%) + + Updating Taktak ($190%) - - Nearly up to date! Relaunch Chromium to finish updating. + + Nearly up to date! Relaunch Taktak to finish updating. - - Chromium is up to date + + Taktak is up to date @@ -51,60 +51,60 @@ - Chromium can't check your passwords. Try checking your internet connection. + Taktak can't check your passwords. Try checking your internet connection. - Chromium can check your passwords when you sign in with your Google Account + Taktak can check your passwords when you sign in with your Google Account - No saved passwords. Chromium can check your passwords when you save them. + No saved passwords. Taktak can check your passwords when you save them. - Chromium can't check your passwords. Try again after 24 hours or <a href="$1" target="_blank">check passwords in your Google Account</a>. + Taktak can't check your passwords. Try again after 24 hours or <a href="$1" target="_blank">check passwords in your Google Account</a>. - Chromium can't check your passwords. Try again after 24 hours. + Taktak can't check your passwords. Try again after 24 hours. - Chromium can't check your passwords. Try again later. + Taktak can't check your passwords. Try again later. - Chromium will notify you when you sign in with a compromised password + Taktak will notify you when you sign in with a compromised password - To check if your passwords are safe from data breaches and other security issues, <a target='_blank' href='$1'>sign in to Chromium</a>. + To check if your passwords are safe from data breaches and other security issues, <a target='_blank' href='$1'>sign in to Google</a>. - To check if your other passwords are safe from data breaches and other security issues, <a target='_blank' href='$1'>sign in to Chromium</a>. + To check if your other passwords are safe from data breaches and other security issues, <a target='_blank' href='$1'>sign in to Google</a>. - Weak passwords are easy to guess. Let Chromium <a target='_blank' href='$1'>create and remember strong passwords for you</a>. + Weak passwords are easy to guess. Let Taktak <a target='_blank' href='$1'>create and remember strong passwords for you</a>. - - If so, please edit your saved password in Chromium so it matches your new password. + + If so, please edit your saved password in Taktak so it matches your new password. - + - Chromium understands forms better and can autofill them faster for you + Taktak understands forms better and can autofill them faster for you - Chromium understands forms better and can autofill them faster for you + Taktak understands forms better and can autofill them faster for you - Later, Chromium can ask if you want to use saved info to autofill forms for you + Later, Taktak can ask if you want to use saved info to autofill forms for you - Chromium is your default browser + Taktak is your default browser - Make Chromium the default browser + Make Taktak the default browser - Chromium cannot determine or set the default browser + Taktak cannot determine or set the default browser @@ -113,8 +113,8 @@ - - This is a secondary installation of Chromium, and cannot be made your default browser. + + This is a secondary installation of Taktak, and cannot be made your default browser. @@ -122,365 +122,365 @@ - Passwords can only be deleted outside Chromium + Passwords can only be deleted outside Taktak - Chromium preloads pages you're likely to visit, so that they load more quickly when you visit them + Taktak preloads pages you're likely to visit, so that they load more quickly when you visit them - Chromium preloads even more pages that you're likely to visit, so that they load more quickly when you visit them + Taktak preloads even more pages that you're likely to visit, so that they load more quickly when you visit them - When a site asks to privately preload links on their page, Chromium uses Google servers. This hides your identity from the preloaded site, but Google learns what sites get preloaded. + When a site asks to privately preload links on their page, Taktak uses Google servers. This hides your identity from the preloaded site, but Google learns what sites get preloaded. - If you allow cookies, Chromium may use them when preloading + If you allow cookies, Taktak may use them when preloading - To fix spelling errors, Chromium sends the text you type in text fields to Google + To fix spelling errors, Taktak sends the text you type in text fields to Google - To apply your changes, relaunch Chromium + To apply your changes, relaunch Taktak - Allow Chromium sign-in + Allow Taktak sign-in - By turning this off, you can sign in to Google sites like Gmail without signing in to Chromium + By turning this off, you can sign in to Google sites like Gmail without signing in to Taktak - Open PDFs in Chromium + Open PDFs in Taktak - To use your camera, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your camera, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - To use your microphone, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your microphone, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - To use your location, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your location, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - To use your camera on these sites, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your camera on these sites, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - To use your location on these sites, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your location on these sites, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - To use your microphone on these sites, give Chromium access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> + To use your microphone on these sites, give Taktak access in <a href="#" id="openSystemSettingsLink" >system settings</a></a> - Sites will probably work as expected. You'll be signed out of most sites when you close all Chromium windows, except your Google Account if you're signed in to Chromium. + Sites will probably work as expected. You'll be signed out of most sites when you close all Taktak windows, except your Google Account if you're signed in to Taktak. - Always delete site data from your device when you close Chromium + Always delete site data from your device when you close Taktak - Review key privacy and security controls in Chromium + Review key privacy and security controls in Taktak - Checks URLs with a list of unsafe sites stored in Chromium + Checks URLs with a list of unsafe sites stored in Taktak - If a site tries to steal your password, or when you download a harmful file, Chromium may also send URLs, including bits of page content, to Safe Browsing + If a site tries to steal your password, or when you download a harmful file, Taktak may also send URLs, including bits of page content, to Safe Browsing - Chromium gives you more control over the ads you see and limits what sites can learn about you when they show you personalized ads + Taktak gives you more control over the ads you see and limits what sites can learn about you when they show you personalized ads - Choose whether to include Chromium history for more personalized experiences in Google services + Choose whether to include Taktak history for more personalized experiences in Google services - If you also save your bookmarks in your Google Account, you can track product prices in Chromium and get notified when the price drops + If you also save your bookmarks in your Google Account, you can track product prices in Taktak and get notified when the price drops - If you also share Chromium usage reports, those reports include the URLs you visit + If you also share Taktak usage reports, those reports include the URLs you visit - Your interests as estimated by Chromium + Your interests as estimated by Taktak - Your browsing history, a record of sites you've visited using Chromium on this device. + Your browsing history, a record of sites you've visited using Taktak on this device. - Chromium can estimate your interests. Later, a site you visit can ask Chromium to see your interests in order to personalize the ads you see. + Taktak can estimate your interests. Later, a site you visit can ask Taktak to see your interests in order to personalize the ads you see. - To protect your privacy, we auto-delete your interests that are older than 4 weeks. As you keep browsing, an interest might appear on the list again. Or you can remove interests you don't want Chromium to consider. + To protect your privacy, we auto-delete your interests that are older than 4 weeks. As you keep browsing, an interest might appear on the list again. Or you can remove interests you don't want Taktak to consider. - Your browsing history, a record of sites you've visited using Chromium on this device. + Your browsing history, a record of sites you've visited using Taktak on this device. - Sites can store information with Chromium about your interests. For example, if you visit a site to buy shoes for a marathon, the site might define your interest as running marathons. Later, if you visit a different site to register for a race, that site can show you an ad for running shoes based on your interests. + Sites can store information with Taktak about your interests. For example, if you visit a site to buy shoes for a marathon, the site might define your interest as running marathons. Later, if you visit a different site to register for a race, that site can show you an ad for running shoes based on your interests. - Your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Chromium auto-deletes your interests on a rolling basis each month. Interests can refresh unless you remove them. + Your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Taktak auto-deletes your interests on a rolling basis each month. Interests can refresh unless you remove them. - When trials are on and if Chromium has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Chromium deletes your interests on a rolling basis each month. + When trials are on and if Taktak has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Taktak deletes your interests on a rolling basis each month. - If Chromium has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Chromium deletes your interests on a rolling basis each month. Interests refresh unless you remove them. + If Taktak has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Taktak deletes your interests on a rolling basis each month. Interests refresh unless you remove them. - Your interests as estimated by Chromium + Your interests as estimated by Taktak - Chromium can estimate your interests based on your browsing history from the last few weeks. This info stays on your device. + Taktak can estimate your interests based on your browsing history from the last few weeks. This info stays on your device. - Later, a site you visit can ask Chromium to see your interests in order to personalize the ads you see. Chromium can share up to 3 interests. + Later, a site you visit can ask Taktak to see your interests in order to personalize the ads you see. Taktak can share up to 3 interests. - To protect your privacy, we auto-delete your interests that are older than 4 weeks. As you keep browsing, an interest might appear on the list again. And if Chromium gets it wrong or you don't want to see certain ads, you can remove an interest. + To protect your privacy, we auto-delete your interests that are older than 4 weeks. As you keep browsing, an interest might appear on the list again. And if Taktak gets it wrong or you don't want to see certain ads, you can remove an interest. - It's common for sites you visit to remember things you're interested in, to personalize your experience. Sites can also store information with Chromium about your interests. + It's common for sites you visit to remember things you're interested in, to personalize your experience. Sites can also store information with Taktak about your interests. - Ad measurement allows sites you visit to request information from Chromium that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. + Ad measurement allows sites you visit to request information from Taktak that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. - When trials are on, Ad measurement allows sites you visit to request information from Chromium that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. + When trials are on, Ad measurement allows sites you visit to request information from Taktak that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. - To protect your data, let Chromium remove permissions from sites you haven't visited recently. Doesn't stop notifications. + To protect your data, let Taktak remove permissions from sites you haven't visited recently. Doesn't stop notifications. - Keeps you safe on Chromium and may be used to improve your security in other Google apps when you are signed in + Keeps you safe on Taktak and may be used to improve your security in other Google apps when you are signed in - Checks URLs with a list of unsafe sites stored in Chromium. If a site tries to steal your password, or when you download a harmful file, Chromium may also send URLs, including bits of page content, to Safe Browsing. + Checks URLs with a list of unsafe sites stored in Taktak. If a site tries to steal your password, or when you download a harmful file, Taktak may also send URLs, including bits of page content, to Safe Browsing. - Warns you about dangerous sites, even ones Google didn't know about before, by analyzing more data from sites than standard protection. You can choose to skip Chromium warnings. + Warns you about dangerous sites, even ones Google didn't know about before, by analyzing more data from sites than standard protection. You can choose to skip Taktak warnings. - Learn more about <a href="#" id="enhancedProtectionLearnMoreLink" on-click="onEnhancedProtectionLearnMoreClick_">how Chromium keeps your data private</a></a> + Learn more about <a href="#" id="enhancedProtectionLearnMoreLink" on-click="onEnhancedProtectionLearnMoreClick_">how Taktak keeps your data private</a></a> - Make it harder for people with access to your internet traffic to see which sites you visit. Chromium uses a secure connection to look up a site's IP address in the DNS (Domain Name System). + Make it harder for people with access to your internet traffic to see which sites you visit. Taktak uses a secure connection to look up a site's IP address in the DNS (Domain Name System). - This will delete 1 item from this device. To retrieve your data later, sign in to Chromium as $1foo@example.com. + This will delete 1 item from this device. To retrieve your data later, sign in to Taktak as $1foo@example.com. - This will delete $166 items from this device. To retrieve your data later, sign in to Chromium as $2foo@example.com. + This will delete $166 items from this device. To retrieve your data later, sign in to Taktak as $2foo@example.com. - This will delete your browsing data from this device. To retrieve your data later, sign in to Chromium as $1foo@example.com. + This will delete your browsing data from this device. To retrieve your data later, sign in to Taktak as $1foo@example.com. - Customize your Chromium profile + Customize your Taktak profile - Name your Chromium profile + Name your Taktak profile - - Sync and personalize Chromium across your devices + + Sync and personalize Taktak across your devices - - To get your passwords and more on all your devices, sign in to Chromium + + To get your passwords and more on all your devices, sign in to Taktak - Your Chromium + Your Taktak - You can manage your signed-in Google Accounts. Your Google Accounts are used for Chromium browser, Play Store, Gmail, and more. If you want to add an account for someone else, like a family member, add a new person to your $1Chromebook instead. <a>Learn more</a> + You can manage your signed-in Google Accounts. Your Google Accounts are used for Taktak browser, Play Store, Gmail, and more. If you want to add an account for someone else, like a family member, add a new person to your $1Chromebook instead. <a>Learn more</a> - - Sign in to Chromium when you sign in to other Google services + + Sign in to Taktak when you sign in to other Google services - - When signing into Google services like Gmail or Youtube with $1foo@example.com, you can automatically sign in to Chromium with the same account + + When signing into Google services like Gmail or Youtube with $1foo@example.com, you can automatically sign in to Taktak with the same account - For added security, Chromium will encrypt your data. + For added security, Taktak will encrypt your data. - Sign out of Chromium? + Sign out of Taktak? - When you type in the address bar or search box, Chromium sends what you type to your default search engine to get better suggestions. This is off in Incognito. + When you type in the address bar or search box, Taktak sends what you type to your default search engine to get better suggestions. This is off in Incognito. - When you type in the address bar or search box, Chromium sends what you type to your organization's search, AI, and agent tools to get suggestions. + When you type in the address bar or search box, Taktak sends what you type to your organization's search, AI, and agent tools to get suggestions. - - Sign in to sync and personalize Chromium across your devices + + Sign in to sync and personalize Taktak across your devices - To get personalization, include Chromium in Web & App Activity + To get personalization, include Taktak in Web & App Activity - To get personalization and other features, include Chromium in Web & App Activity and linked Google services + To get personalization and other features, include Taktak in Web & App Activity and linked Google services - Link Chromium and other Google services for personalization and other purposes + Link Taktak and other Google services for personalization and other purposes - To use and save Chromium data in your Google Account, enter your passphrase + To use and save Taktak data in your Google Account, enter your passphrase - To use and save Chromium data in your Google Account, verify it's you + To use and save Taktak data in your Google Account, verify it's you - To use and save Chromium data in your Google Account, update Chromium + To use and save Taktak data in your Google Account, update Taktak - Verify it's you to use and save Chromium data in your account, $1elisa.beckett@gmail.com + Verify it's you to use and save Taktak data in your account, $1elisa.beckett@gmail.com - Enter your passphrase to use and save Chromium data in your account, $1foo@example.com + Enter your passphrase to use and save Taktak data in your account, $1foo@example.com - Sign out of Chromium + Sign out of Taktak - To help improve these features, Chromium sends your interactions with them to Google. This data may be read, processed, and annotated by human reviewers. + To help improve these features, Taktak sends your interactions with them to Google. This data may be read, processed, and annotated by human reviewers. - Chromium frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chromium fast. Your inactive tabs automatically become active again when you go back to them. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about Memory Saver</a> + Taktak frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Taktak fast. Your inactive tabs automatically become active again when you go back to them. - Chromium conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about Energy Saver</a> + Taktak conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. - Chromium preloads pages which makes browsing and searching faster. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about preload pages</a> + Taktak preloads pages which makes browsing and searching faster. - This language is used to display menus, settings, alerts, and other text in Chromium + This language is used to display menus, settings, alerts, and other text in Taktak - Display Chromium in this language + Display Taktak in this language - Continue running background apps when Chromium is closed + Continue running background apps when Taktak is closed - Help make Chromium better by reporting the <a is="action-link" target="_blank">current settings</a> + Help make Taktak better by reporting the <a is="action-link" target="_blank">current settings</a> - - Chromium regularly checks to make sure your browser has the safest settings. We'll let you know if anything needs your review. + + Taktak regularly checks to make sure your browser has the safest settings. We'll let you know if anything needs your review. - Chromium found some safety recommendations for your review + Taktak found some safety recommendations for your review - Chromium will let you know if anything needs your review + Taktak will let you know if anything needs your review - - Chromium update + + Taktak update - - Chromium update + + Taktak update - Chromium can check your passwords when you save them + Taktak can check your passwords when you save them - Learn how Chromium keeps you safe + Learn how Taktak keeps you safe - Chromium's safety tools + Google's safety tools - With <a href="$1" target="_blank">tools from Chromium</a>, you can browse safely and stay in control + With <a href="$1" target="_blank">the tools</a>, you can browse safely and stay in control - Chromium Incognito + Taktak Incognito - <a href="$1" target="_blank">Chromium warns you</a> about unsafe sites and downloads + <a href="$1" target="_blank">Taktak warns you</a> about unsafe sites and downloads - Chromium is out of date + Taktak is out of date - Chromium is up to date + Taktak is up to date - Go to About Chromium page + Go to About Taktak page - Relaunch Chromium + Relaunch Taktak - You haven't visited recently. Chromium removed $1location + You haven't visited recently. Taktak removed $1location - You haven't visited recently. Chromium removed $1location, $2notifications + You haven't visited recently. Taktak removed $1location, $2notifications - You haven't visited recently. Chromium removed $1location, $2notifications, $3camera + You haven't visited recently. Taktak removed $1location, $2notifications, $3camera - You haven't visited recently. Chromium removed $1location, $2notifications, and $32 more + You haven't visited recently. Taktak removed $1location, $2notifications, and $32 more - Dangerous site. Chromium removed notifications. + Dangerous site. Taktak removed notifications. - Chromium upgrades insecure connections to HTTPS automatically when possible + Taktak upgrades insecure connections to HTTPS automatically when possible - Chromium will try to upgrade navigations to HTTPS + Taktak will try to upgrade navigations to HTTPS - Chromium will warn you before loading any site using an insecure connection + Taktak will warn you before loading any site using an insecure connection - When browsing in Incognito mode, Chromium will warn you before loading a site using an insecure connection + When browsing in Incognito mode, Taktak will warn you before loading a site using an insecure connection - When HTTPS isn't available, Chromium will use an insecure connection without warning you + When HTTPS isn't available, Taktak will use an insecure connection without warning you diff --git a/chrome/app/settings_google_chrome_strings.grdp b/chrome/app/settings_google_chrome_strings.grdp index c955c5b3301705..7a711f988602bc 100644 --- a/chrome/app/settings_google_chrome_strings.grdp +++ b/chrome/app/settings_google_chrome_strings.grdp @@ -292,7 +292,7 @@ Sync and personalize Chrome across your devices - + To get your passwords and more on all your devices, sign in to Chrome @@ -362,13 +362,13 @@ - Chrome frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chrome fast. Your inactive tabs automatically become active again when you go back to them. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about Memory Saver</a> + Chrome frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Chrome fast. Your inactive tabs automatically become active again when you go back to them. - Chrome conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about Energy Saver</a> + Chrome conserves battery power by limiting background activity and visual effects, such as smooth scrolling and video frame rates. - Chrome preloads pages which makes browsing and searching faster. <a href="$1" target="_blank" id="learn-more" aria-description="$2">Learn more about preload pages</a> + Chrome preloads pages which makes browsing and searching faster. diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp index 7e023f64da196f..862d718457e293 100644 --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp @@ -90,10 +90,10 @@ Enable accessibility features - Get image descriptions from Google + Get image descriptions from Taktak - If an image doesn’t have a useful description, Chrome will try to provide one for you. To create descriptions, images are sent to Google. + If an image doesn’t have a useful description, Chrome will try to provide one for you. To create descriptions, images are sent to Taktak. Main node annotation files downloaded @@ -314,13 +314,13 @@ Search settings - Go to <a target="_blank" href="$1">Google Chrome help</a> if you can't find what you're looking for + Go to <a target="_blank" href="$1">Taktak Chrome help</a> if you can't find what you're looking for Settings - Settings - $1About Chromium + Settings - $1About Taktak Subpage button @@ -376,28 +376,28 @@ - + show passwords - + copy passwords - + edit passwords - + export passwords - - delete your $1Google Password Manager data + + delete your $1Taktak Password Manager data Autofill and passwords - + replace existing passwords - + Google Pay @@ -445,7 +445,7 @@ Turn off virtual card - + Edit in Google Pay @@ -829,7 +829,7 @@ More - Manage in Google Password Manager + Manage in Password Manager Manage in your Google Account @@ -847,7 +847,7 @@ Other data - Other Google data + Other Taktak data Delete from this device @@ -859,7 +859,7 @@ Deleted - Manage other Google data + Manage other Taktak data Manage other data @@ -1033,7 +1033,7 @@ Inactive tabs appearance - A dotted circle appears around site icons. <a href="$1" target="_blank" aria-description="$2">Learn more about inactive tabs</a> + A dotted circle appears around site icons. Tab hover preview card appearance @@ -1045,7 +1045,7 @@ Performance issue alerts - Get notifications that suggest ways to improve detected performance issues. <a href="$1" target="_blank" aria-description="$2">Learn more about performance issue alerts</a> + Get notifications that suggest ways to improve detected performance issues. @@ -1401,7 +1401,7 @@ Sites - You can block sites you don't want. Chrome also auto-deletes sites from the list that are older than 30 days. + You can block sites you don't want. Taktak also auto-deletes sites from the list that are older than 30 days. Learn more @@ -1481,7 +1481,7 @@ You can always delete ad-measurement data by deleting your browsing data - Chrome limits the total amount of data that sites can share through the browser to measure ad performance + Taktak limits the total amount of data that sites can share through the browser to measure ad performance @@ -1619,7 +1619,7 @@ Sends an obfuscated portion of the URL to Google through a privacy server that hides your IP address - If a site tries to steal your password, or when you download a harmful file, Chrome may also send URLs, including bits of page content, to Google + If a site tries to steal your password, or when you download a harmful file, Taktak may also send URLs, including bits of page content, to Google @@ -1672,7 +1672,7 @@ Passwords - Password check is not available in Chromium + Password check is not available in Taktak Safe Browsing is on and protecting you from harmful sites and downloads @@ -3012,10 +3012,10 @@ See all site data and permissions - Chrome limits the type of information sites can use to track you as you browse. You can change your settings to choose your own level of protection. + Taktak limits the type of information sites can use to track you as you browse. You can change your settings to choose your own level of protection. - Chrome automatically limits third-party cookies + Taktak automatically limits third-party cookies Most sites can’t use third-party cookies to track you as you browse and sites can’t use third-party cookies in Incognito mode. @@ -3024,7 +3024,7 @@ Most sites should work as expected - If a site isn’t working, you can try giving it temporary permission to use third-party cookies. <a target="_blank" href="$1" aria-label="$2" aria-description="$3">Learn more</a></a> + If a site isn’t working, you can try giving it temporary permission to use third-party cookies. Learn more about giving a site temporary permission to use third-party cookies @@ -3384,7 +3384,7 @@ No sites added - Let Chrome choose when sites can play sound (recommended) + Let Taktak choose when sites can play sound (recommended) Sites you visit will appear here @@ -3567,11 +3567,11 @@ - - You and Google + + Get started - - Google Profile photo + + Taktak Profile photo @@ -4151,6 +4151,27 @@ To use your new security key, set a new PIN + + Edit phone + + + Your devices + + + You're signed in to Taktak on these devices, so you can use them as security keys. + + + Linked devices + + + You linked these devices by scanning a QR code. + + + Manage phones + + + Control which phones you use as security keys + $1Google Docs Offline (ID: $2ghbmnnjooekpmoecnnnilnnbdlolhkhi) @@ -4199,7 +4220,7 @@ Enhanced Safe Browsing is on - You have Chrome's strongest security + You have Taktak's strongest security Safe Browsing is on @@ -4310,7 +4331,7 @@ AI innovations - Reimagine Chrome, supercharged with AI + Reimagine Taktak, supercharged with AI These features use AI, are in early development, and won’t always get it right @@ -4419,4 +4440,15 @@ Enhanced protection is off + + + + Share anonymous usage data + + + Taktak is built by the team behind Yep—an independent AI search engine—and Ahrefs—an all-in-one marketing intelligence platform. To help improve Yep’s search ranking and Ahrefs’ web analytics, you can choose to share anonymized, aggregated data about visited pages. Taktak collects this data without storing personal information or browsing history tied to you. + + + See our <a href="https://taktak.com/privacy-policy" target="_blank">privacy policy</a> + diff --git a/chrome/app/shared_settings_strings.grdp b/chrome/app/shared_settings_strings.grdp index 921094ef66d901..79ebabedbba8f8 100644 --- a/chrome/app/shared_settings_strings.grdp +++ b/chrome/app/shared_settings_strings.grdp @@ -236,7 +236,7 @@ Enhanced spell check - + Help improve Chrome's features and performance diff --git a/chrome/app/theme/chromium/BRANDING b/chrome/app/theme/chromium/BRANDING index f8363d5b294fe2..6d8659ac389f72 100644 --- a/chrome/app/theme/chromium/BRANDING +++ b/chrome/app/theme/chromium/BRANDING @@ -1,10 +1,10 @@ -COMPANY_FULLNAME=The Chromium Authors -COMPANY_SHORTNAME=The Chromium Authors -PRODUCT_FULLNAME=Chromium -PRODUCT_SHORTNAME=Chromium -PRODUCT_INSTALLER_FULLNAME=Chromium Installer -PRODUCT_INSTALLER_SHORTNAME=Chromium Installer -COPYRIGHT=Copyright @LASTCHANGE_YEAR@ The Chromium Authors. All rights reserved. -MAC_BUNDLE_ID=org.chromium.Chromium +COMPANY_FULLNAME=Ahrefs Pte Ltd. +COMPANY_SHORTNAME=Ahrefs +PRODUCT_FULLNAME=Taktak Browser +PRODUCT_SHORTNAME=Taktak +PRODUCT_INSTALLER_FULLNAME=Taktak Installer +PRODUCT_INSTALLER_SHORTNAME=Taktak Installer +COPYRIGHT=Copyright @LASTCHANGE_YEAR@ The Taktak Authors. All rights reserved. +MAC_BUNDLE_ID=com.taktak.Taktak MAC_CREATOR_CODE=Cr24 MAC_TEAM_ID= diff --git a/chrome/app/theme/chromium/linux/product_logo_128.png b/chrome/app/theme/chromium/linux/product_logo_128.png index b65587c3d2bcae..b4739e97b06f12 100644 Binary files a/chrome/app/theme/chromium/linux/product_logo_128.png and b/chrome/app/theme/chromium/linux/product_logo_128.png differ diff --git a/chrome/app/theme/chromium/linux/product_logo_24.png b/chrome/app/theme/chromium/linux/product_logo_24.png index 883fc484ed7967..02c12a11829afd 100644 Binary files a/chrome/app/theme/chromium/linux/product_logo_24.png and b/chrome/app/theme/chromium/linux/product_logo_24.png differ diff --git a/chrome/app/theme/chromium/linux/product_logo_256.png b/chrome/app/theme/chromium/linux/product_logo_256.png index 034c9d7017428a..812eb335ce7249 100644 Binary files a/chrome/app/theme/chromium/linux/product_logo_256.png and b/chrome/app/theme/chromium/linux/product_logo_256.png differ diff --git a/chrome/app/theme/chromium/linux/product_logo_32.xpm b/chrome/app/theme/chromium/linux/product_logo_32.xpm index c3802805a9c392..94b6234b395f1d 100644 --- a/chrome/app/theme/chromium/linux/product_logo_32.xpm +++ b/chrome/app/theme/chromium/linux/product_logo_32.xpm @@ -1,126 +1,252 @@ /* XPM */ -static char * linux_icon_chromium_32_xpm[] = { -"32 32 91 1", -" c None", -". c #1A68D2", -"+ c #1967D3", -"@ c #1A66D2", -"# c #1967D2", -"$ c #1A67D2", -"% c #1967D1", -"& c #1A66D3", -"* c #1A68D3", -"= c #1866D1", -"- c #3B7FE2", -"; c #538DDD", -"> c #9ABDEB", -", c #E2ECFA", -"' c #FFFFFF", -") c #F0F5FE", -"! c #E1EBFD", -"~ c #B8D1FA", -"{ c #AECBFA", -"] c #669CF4", -"^ c #619AF4", -"/ c #1E6AD4", -"( c #2771D4", -"_ c #9ABCEC", -": c #D4E5FB", -"< c #A9CAF6", -"[ c #B8D3F8", -"} c #DCE8FD", -"| c #B3CEFA", -"1 c #ADCAFA", -"2 c #669DF6", -"3 c #4485E6", -"4 c #D3E3F6", -"5 c #C6DCF9", -"6 c #458DEC", -"7 c #1A73E8", -"8 c #3784EB", -"9 c #2771D9", -"0 c #8CB9F4", -"a c #538FED", -"b c #367AD7", -"c c #C2D8FB", -"d c #679EF6", -"e c #2C74DB", -"f c #A9C6EE", -"g c #3684EB", -"h c #5396EE", -"i c #DBE8FD", -"j c #659DF5", -"k c #5C96F1", -"l c #D3E3F7", -"m c #E3EEFC", -"n c #F5F8FE", -"o c #4082E4", -"p c #A9CBF6", -"q c #B8D3F7", -"r c #4988E9", -"s c #E3ECF9", -"t c #D3E5FB", -"u c #669EF5", -"v c #ADCAF4", -"w c #ADCBFA", -"x c #669CF5", -"y c #8CB5F8", -"z c #B8D1FB", -"A c #AFCCFA", -"B c #BCD4FB", -"C c #8DB9F3", -"D c #D7E5FD", -"E c #70A3F7", -"F c #E3ECFE", -"G c #5396ED", -"H c #E7EFFE", -"I c #AFCBFA", -"J c #659CF4", -"K c #94BAF8", -"L c #79A9F7", -"M c #C5DAFB", -"N c #E2EDFE", -"O c #EBF3FE", -"P c #6FA2F6", -"Q c #93B9F8", -"R c #ADCBF9", -"S c #78A8F7", -"T c #A5C5F9", -"U c #81AEF7", -"V c #669BF5", -"W c #8EB7F8", -"X c #ADCCFA", -"Y c #679CF6", -"Z c #AECBF9", -" .+@##@+$ ", -" %@###########$ ", -" #################& ", -" #################### ", -" ###################### ", -" ######################## ", -" ########################## ", -" *##########################= ", -" -#########;>,'')!~{{{{{{{{{{ ", -" ]^/######(_'':<[:''}|{{{{{{{{1 ", -" 223#####(4'5677778<')|{{{{{{{{ ", -" 2229####_'0777777770'}{{{{{{{{ ", -"]222a###b'<77777777775'c{{{{{{{1", -"d2222e##f'g7777777777h'i{{{{{{{{", -"j2222k/#l:777777777777mn{{{{{{{{", -"222222o#'[777777777777p'{{{{{{{{", -"222222^/'<777777777777q'{{{{{{{{", -"j222222rs:777777777777t){{{{{{{{", -"u2222222v'677777777778'!{{{{{{{w", -"x2222222y'57777777777<'z{{{{{{{A", -" 22222222B'C77777777C'D{{{{{{{{ ", -" j2222222EF' c #A4F176", +", c #A5F176", +"< c #A6F178", +"1 c #A6F278", +"2 c #A7F278", +"3 c #A7F279", +"4 c #A8F27A", +"5 c #A8F37A", +"6 c #A8F37B", +"7 c #A9F37B", +"8 c #A9F37D", +"9 c #AAF37D", +"0 c #AAF47D", +"q c #ABF47D", +"w c #ACF57F", +"e c #5D73BC", +"r c #5E75BD", +"t c #627CB7", +"y c #637FB6", +"u c #637CB9", +"i c #6178BF", +"p c #4954C9", +"a c #4954CA", +"s c #4A55CA", +"d c #4A55CB", +"f c #4B55CB", +"g c #4B56CB", +"h c #4C57CB", +"j c #4C56CC", +"k c #4C57CC", +"l c #4D57CC", +"z c #4D58CC", +"x c #4D58CD", +"c c #4D59CD", +"v c #4E59CD", +"b c #4E5ACE", +"n c #4F5ACE", +"m c #4F5ACF", +"M c #4F5BCF", +"N c #505ACF", +"B c #505BCF", +"V c #515BCF", +"C c #505CCF", +"Z c #515CCF", +"A c #515BD0", +"S c #515CD0", +"D c #515DD0", +"F c #515CD1", +"G c #515DD1", +"H c #525CD0", +"J c #525DD0", +"K c #525CD1", +"L c #525DD1", +"P c #535DD1", +"I c #525ED1", +"U c #535ED1", +"Y c #535FD1", +"T c #535ED2", +"R c #535FD2", +"E c #545ED2", +"W c #545FD2", +"Q c #555FD2", +"! c #545FD3", +"~ c #555FD3", +"^ c #555FD4", +"/ c #5260C7", +"( c #596CC3", +") c #5A6DC3", +"_ c #5A6EC3", +"` c #596CC4", +"' c #5B6EC5", +"] c #5C6DC7", +"[ c #5564CA", +"{ c #5665CB", +"} c #5765CB", +"| c #5E70C8", +" . c #5560D2", +".. c #5460D3", +"X. c #5560D3", +"o. c #5561D3", +"O. c #5660D3", +"+. c #5661D3", +"@. c #5761D3", +"#. c #5662D3", +"$. c #5560D4", +"%. c #5561D4", +"&. c #5561D5", +"*. c #5660D4", +"=. c #5661D4", +"-. c #5761D4", +";. c #5661D5", +":. c #5761D5", +">. c #5662D4", +",. c #5762D4", +"<. c #5763D4", +"1. c #5662D5", +"2. c #5762D5", +"3. c #5663D5", +"4. c #5661D6", +"5. c #5761D6", +"6. c #5762D6", +"7. c #5764D5", +"8. c #5962D4", +"9. c #5863D4", +"0. c #5862D5", +"q. c #5863D5", +"w. c #5862D6", +"e. c #5963D6", +"r. c #6378C3", +"t. c #6579C5", +"y. c #657AC4", +"u. c #7BAD97", +"i. c #7EAC9C", +"p. c #6D92AA", +"a. c #769BAC", +"s. c #6987B5", +"d. c #6680BB", +"f. c #6682BA", +"g. c #6982BE", +"h. c #728DBE", +"j. c #7997BA", +"k. c #7A98BB", +"l. c #77A2A1", +"z. c #78A5A0", +"x. c #7CA7A6", +"c. c #7DA7A7", +"v. c #7EA6AA", +"b. c #6B82C1", +"n. c #6B83C1", +"m. c #6B84C1", +"M. c #6C84C1", +"N. c #6C85C2", +"B. c #758FC0", +"V. c #87B2A7", +"C. c #8DBCA3", +"Z. c #8EBBA4", +"A. c #8FBCA5", +"S. c #89B4A9", +"D. c #94BFAB", +"F. c #86ACB2", +"G. c #8EB6B0", +"H. c #8AC985", +"J. c #8AC986", +"K. c #87C18E", +"L. c #91CD8E", +"P. c #93D485", +"I. c #99D78E", +"U. c #8BC195", +"Y. c #8FC499", +"T. c #93CD92", +"R. c #99CF9A", +"E. c #9CD19D", +"W. c #A2DB99", +"Q. c #9EE187", +"!. c #ADEF8E", +"~. c #ACF580", +"^. c #ADF580", +"/. c #ADF582", +"(. c #AEF582", +"). c #AEF682", +"_. c #AFF685", +"`. c #B0F685", +"'. c #B0F785", +"]. c #B1F787", +"[. c #B2F787", +"{. c #B3F888", +"}. c #B3F889", +"|. c #B3F88A", +" X c #B4F98A", +".X c #B5F98C", +"XX c #B6F98C", +"oX c #B6F98D", +"OX c #B7FA8F", +"+X c #B8FA8F", +"@X c #B8FB8F", +"#X c #AFEF90", +"$X c #B1F093", +"%X c #B9FB91", +"&X c #BAFB91", +"*X c #BAFB92", +"=X c #BAFC92", +"-X c #BBFC93", +";X c #BBFC94", +":X c #BCFC94", +">X c #BCFD94", +",X c #BCFC95", +" \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chrome/app/theme/chromium/product_logo_128.png b/chrome/app/theme/chromium/product_logo_128.png index 9ce48f920e87c5..b4739e97b06f12 100644 Binary files a/chrome/app/theme/chromium/product_logo_128.png and b/chrome/app/theme/chromium/product_logo_128.png differ diff --git a/chrome/app/theme/chromium/product_logo_16.png b/chrome/app/theme/chromium/product_logo_16.png index ce9084c733b2c0..05ea046646d351 100644 Binary files a/chrome/app/theme/chromium/product_logo_16.png and b/chrome/app/theme/chromium/product_logo_16.png differ diff --git a/chrome/app/theme/chromium/product_logo_22_mono.png b/chrome/app/theme/chromium/product_logo_22_mono.png index b8874d44bcde33..a41348785dcdf0 100644 Binary files a/chrome/app/theme/chromium/product_logo_22_mono.png and b/chrome/app/theme/chromium/product_logo_22_mono.png differ diff --git a/chrome/app/theme/chromium/product_logo_24.png b/chrome/app/theme/chromium/product_logo_24.png index d883fde3daa7e0..02c12a11829afd 100644 Binary files a/chrome/app/theme/chromium/product_logo_24.png and b/chrome/app/theme/chromium/product_logo_24.png differ diff --git a/chrome/app/theme/chromium/product_logo_256.png b/chrome/app/theme/chromium/product_logo_256.png index 4899f69aaba5c9..812eb335ce7249 100644 Binary files a/chrome/app/theme/chromium/product_logo_256.png and b/chrome/app/theme/chromium/product_logo_256.png differ diff --git a/chrome/app/theme/chromium/product_logo_48.png b/chrome/app/theme/chromium/product_logo_48.png index 9ec8436cbf853d..25c02da430692f 100644 Binary files a/chrome/app/theme/chromium/product_logo_48.png and b/chrome/app/theme/chromium/product_logo_48.png differ diff --git a/chrome/app/theme/chromium/product_logo_64.png b/chrome/app/theme/chromium/product_logo_64.png index 8bd239e39c6538..c5603e68580322 100644 Binary files a/chrome/app/theme/chromium/product_logo_64.png and b/chrome/app/theme/chromium/product_logo_64.png differ diff --git a/chrome/app/theme/chromium/product_logo_animation.svg b/chrome/app/theme/chromium/product_logo_animation.svg index 3b0ebc65206f65..4a5e0ce103e382 100644 --- a/chrome/app/theme/chromium/product_logo_animation.svg +++ b/chrome/app/theme/chromium/product_logo_animation.svg @@ -1,43 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chrome/app/theme/chromium/win/chromium.ico b/chrome/app/theme/chromium/win/chromium.ico index d0aa0c2fdc944c..41caebeeeb759b 100644 Binary files a/chrome/app/theme/chromium/win/chromium.ico and b/chrome/app/theme/chromium/win/chromium.ico differ diff --git a/chrome/app/theme/chromium/win/chromium_doc.ico b/chrome/app/theme/chromium/win/chromium_doc.ico index af7337ea0bd8be..5ac70971b6e966 100644 Binary files a/chrome/app/theme/chromium/win/chromium_doc.ico and b/chrome/app/theme/chromium/win/chromium_doc.ico differ diff --git a/chrome/app/theme/chromium/win/chromium_pdf.ico b/chrome/app/theme/chromium/win/chromium_pdf.ico index c8a46f057915a1..5ac70971b6e966 100644 Binary files a/chrome/app/theme/chromium/win/chromium_pdf.ico and b/chrome/app/theme/chromium/win/chromium_pdf.ico differ diff --git a/chrome/app/theme/chromium/win/tiles/Logo.png b/chrome/app/theme/chromium/win/tiles/Logo.png index 7e327c0cb7cd99..33c8682380e2b6 100644 Binary files a/chrome/app/theme/chromium/win/tiles/Logo.png and b/chrome/app/theme/chromium/win/tiles/Logo.png differ diff --git a/chrome/app/theme/chromium/win/tiles/SmallLogo.png b/chrome/app/theme/chromium/win/tiles/SmallLogo.png index 405ff30a61c552..8130e7b88ec097 100644 Binary files a/chrome/app/theme/chromium/win/tiles/SmallLogo.png and b/chrome/app/theme/chromium/win/tiles/SmallLogo.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/linux/product_logo_16.png b/chrome/app/theme/default_100_percent/chromium/linux/product_logo_16.png index d08bce9bb856a2..05ea046646d351 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/linux/product_logo_16.png and b/chrome/app/theme/default_100_percent/chromium/linux/product_logo_16.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/linux/product_logo_32.png b/chrome/app/theme/default_100_percent/chromium/linux/product_logo_32.png index 53ffd085f2f97b..ab782a5ef294c8 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/linux/product_logo_32.png and b/chrome/app/theme/default_100_percent/chromium/linux/product_logo_32.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/product_logo_16.png b/chrome/app/theme/default_100_percent/chromium/product_logo_16.png index 77ac0f31cb21d8..05ea046646d351 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/product_logo_16.png and b/chrome/app/theme/default_100_percent/chromium/product_logo_16.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/product_logo_32.png b/chrome/app/theme/default_100_percent/chromium/product_logo_32.png index 175b2917c9ee50..ab782a5ef294c8 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/product_logo_32.png and b/chrome/app/theme/default_100_percent/chromium/product_logo_32.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/product_logo_name_22.png b/chrome/app/theme/default_100_percent/chromium/product_logo_name_22.png index addde0e37401b7..dca4008b96413f 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/product_logo_name_22.png and b/chrome/app/theme/default_100_percent/chromium/product_logo_name_22.png differ diff --git a/chrome/app/theme/default_100_percent/chromium/product_logo_name_22_white.png b/chrome/app/theme/default_100_percent/chromium/product_logo_name_22_white.png index 0cf6cfc1d5a1bc..ab782a5ef294c8 100644 Binary files a/chrome/app/theme/default_100_percent/chromium/product_logo_name_22_white.png and b/chrome/app/theme/default_100_percent/chromium/product_logo_name_22_white.png differ diff --git a/chrome/app/theme/default_100_percent/common/favicon_ntp.png b/chrome/app/theme/default_100_percent/common/favicon_ntp.png index 79291d8c90432a..f8ba0c58bb5e58 100644 Binary files a/chrome/app/theme/default_100_percent/common/favicon_ntp.png and b/chrome/app/theme/default_100_percent/common/favicon_ntp.png differ diff --git a/chrome/app/theme/default_200_percent/chromium/product_logo_16.png b/chrome/app/theme/default_200_percent/chromium/product_logo_16.png index 2b5899e392fb87..05ea046646d351 100644 Binary files a/chrome/app/theme/default_200_percent/chromium/product_logo_16.png and b/chrome/app/theme/default_200_percent/chromium/product_logo_16.png differ diff --git a/chrome/app/theme/default_200_percent/chromium/product_logo_32.png b/chrome/app/theme/default_200_percent/chromium/product_logo_32.png index 886113df438c57..ab782a5ef294c8 100644 Binary files a/chrome/app/theme/default_200_percent/chromium/product_logo_32.png and b/chrome/app/theme/default_200_percent/chromium/product_logo_32.png differ diff --git a/chrome/app/theme/default_200_percent/chromium/product_logo_name_22.png b/chrome/app/theme/default_200_percent/chromium/product_logo_name_22.png index a611e83849a50b..dca4008b96413f 100644 Binary files a/chrome/app/theme/default_200_percent/chromium/product_logo_name_22.png and b/chrome/app/theme/default_200_percent/chromium/product_logo_name_22.png differ diff --git a/chrome/app/theme/default_200_percent/chromium/product_logo_name_22_white.png b/chrome/app/theme/default_200_percent/chromium/product_logo_name_22_white.png index 926247cb9f8afe..ab782a5ef294c8 100644 Binary files a/chrome/app/theme/default_200_percent/chromium/product_logo_name_22_white.png and b/chrome/app/theme/default_200_percent/chromium/product_logo_name_22_white.png differ diff --git a/chrome/app/theme/default_200_percent/common/favicon_ntp.png b/chrome/app/theme/default_200_percent/common/favicon_ntp.png index 841d0a4d3eaaa0..b0767d85be095e 100644 Binary files a/chrome/app/theme/default_200_percent/common/favicon_ntp.png and b/chrome/app/theme/default_200_percent/common/favicon_ntp.png differ diff --git a/chrome/app/vector_icons/BUILD.gn b/chrome/app/vector_icons/BUILD.gn index 3087724e339dc1..9f330510a17bb5 100644 --- a/chrome/app/vector_icons/BUILD.gn +++ b/chrome/app/vector_icons/BUILD.gn @@ -43,6 +43,7 @@ aggregate_vector_icons("chrome_vector_icons") { "browser_tools_update.icon", "browser_tools_update_chrome_refresh.icon", "cast_chrome_refresh.icon", + "chat.icon", "chevron_right.icon", "chevron_right_chrome_refresh.icon", "chromium_minimize.icon", @@ -120,6 +121,7 @@ aggregate_vector_icons("chrome_vector_icons") { "media_toolbar_button_touch.icon", "menu_book_chrome_refresh.icon", "mixed_content.icon", + "more_horiz.icon", "more_tools_menu.icon", "move_group_to_new_window_refresh.icon", "my_location.icon", diff --git a/chrome/app/vector_icons/browser_logo.icon b/chrome/app/vector_icons/browser_logo.icon index 36957d19b5dc14..4ee8dfe68be1cc 100644 --- a/chrome/app/vector_icons/browser_logo.icon +++ b/chrome/app/vector_icons/browser_logo.icon @@ -1,46 +1,25 @@ -// Copyright 2023 The Chromium Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -CANVAS_DIMENSIONS, 16, -MOVE_TO, 5.5, 8.02, -R_CUBIC_TO, 0, 0.7, 0.24, 1.29, 0.73, 1.77, -R_ARC_TO, 2.41, 2.41, 0, 0, 0, 1.77, 0.73, -R_CUBIC_TO, 0.7, 0, 1.29, -0.24, 1.77, -0.73, -R_ARC_TO, 2.41, 2.41, 0, 0, 0, 0.73, -1.77, -R_CUBIC_TO, 0, -0.69, -0.24, -1.28, -0.73, -1.77, -ARC_TO, 2.41, 2.41, 0, 0, 0, 8, 5.52, -R_CUBIC_TO, -0.69, 0, -1.28, 0.24, -1.77, 0.73, -R_ARC_TO, 2.41, 2.41, 0, 0, 0, -0.73, 1.77, -CLOSE, -MOVE_TO, 8, 11.77, -R_CUBIC_TO, 0.13, 0, 0.25, 0, 0.39, -0.01, -R_CUBIC_TO, 0.14, -0.01, 0.26, -0.03, 0.39, -0.06, -LINE_TO, 7.09, 14.59, -R_CUBIC_TO, -1.66, -0.18, -3.03, -0.9, -4.11, -2.16, -R_CUBIC_TO, -1.08, -1.26, -1.62, -2.73, -1.62, -4.41, -R_ARC_TO, 6.54, 6.54, 0, 0, 1, 0.66, -2.86, -R_LINE_TO, 2.77, 4.73, -R_CUBIC_TO, 0.33, 0.59, 0.77, 1.05, 1.35, 1.38, -R_CUBIC_TO, 0.58, 0.33, 1.2, 0.5, 1.87, 0.5, -CLOSE, -MOVE_TO, 8, 4.27, -R_CUBIC_TO, -0.82, 0, -1.55, 0.24, -2.19, 0.73, -ARC_TO, 3.79, 3.79, 0, 0, 0, 4.46, 6.87, -LINE_TO, 2.77, 3.94, -R_ARC_TO, 6.2, 6.2, 0, 0, 1, 2.29, -1.9, -ARC_TO, 6.64, 6.64, 0, 0, 1, 8, 1.38, -R_CUBIC_TO, 1.09, 0, 2.13, 0.26, 3.09, 0.77, -R_ARC_TO, 6.72, 6.72, 0, 0, 1, 2.38, 2.12, -CLOSE, -R_MOVE_TO, 6.16, 1.25, -R_CUBIC_TO, 0.17, 0.41, 0.3, 0.82, 0.37, 1.23, -R_CUBIC_TO, 0.08, 0.42, 0.12, 0.84, 0.12, 1.27, -R_CUBIC_TO, 0, 1.79, -0.58, 3.29, -1.73, 4.5, -R_CUBIC_TO, -1.15, 1.22, -2.62, 1.93, -4.41, 2.12, -R_LINE_TO, 2.71, -4.75, -R_CUBIC_TO, 0.16, -0.29, 0.29, -0.59, 0.38, -0.9, -R_ARC_TO, 3.34, 3.34, 0, 0, 0, 0.14, -0.97, -R_CUBIC_TO, 0, -0.46, -0.09, -0.91, -0.26, -1.34, -R_ARC_TO, 4.12, 4.12, 0, 0, 0, -0.71, -1.16, +CANVAS_DIMENSIONS, 24, +PATH_COLOR_ARGB, 0xFF, 0x80, 0x80, 0x80, +NEW_PATH, +CIRCLE, 12, 12, 10, +NEW_PATH, +PATH_COLOR_ARGB, 0xFF, 0xFF, 0xFF, 0xFF, +FILL_RULE_NONZERO, +MOVE_TO, 5.99f, 8.35f, +LINE_TO, 7.03f, 11.83f, +CUBIC_TO, 7.82f, 11.56f, 8.62f, 11.32f, 9.43f, 11.12f, +LINE_TO, 8.93f, 13.85f, +CUBIC_TO, 8.81f, 14.48f, 8.77f, 15.04f, 8.77f, 15.53f, +CUBIC_TO, 8.77f, 17.93f, 9.99f, 18.77f, 11.8f, 18.77f, +CUBIC_TO, 12.78f, 18.77f, 13.68f, 18.53f, 15.46f, 17.29f, +LINE_TO, 16.76f, 16.44f, +LINE_TO, 14.98f, 13.39f, +LINE_TO, 12.2f, 15.2f, +LINE_TO, 13.04f, 10.58f, +CUBIC_TO, 13.49f, 10.55f, 13.94f, 10.53f, 14.4f, 10.53f, +CUBIC_TO, 15.48f, 10.53f, 16.54f, 10.61f, 17.63f, 10.79f, +LINE_TO, 17.86f, 7.22f, +CUBIC_TO, 16.41f, 6.9f, 15.01f, 6.76f, 13.63f, 6.76f, +CUBIC_TO, 10.97f, 6.76f, 8.41f, 7.33f, 5.99f, 8.35f, +V_LINE_TO, 8.35f, CLOSE diff --git a/chrome/app/vector_icons/chat.icon b/chrome/app/vector_icons/chat.icon new file mode 100644 index 00000000000000..089b2dfa908089 --- /dev/null +++ b/chrome/app/vector_icons/chat.icon @@ -0,0 +1,79 @@ +CANVAS_DIMENSIONS, 19, +FILL_RULE_NONZERO, +MOVE_TO, 5.88f, 5.62f, +CUBIC_TO, 5.76f, 5.62f, 5.67f, 5.52f, 5.67f, 5.4f, +CUBIC_TO, 5.67f, 5.29f, 5.76f, 5.2f, 5.88f, 5.19f, +CUBIC_TO, 6.73f, 5.11f, 7.35f, 4.39f, 7.43f, 3.5f, +CUBIC_TO, 7.44f, 3.39f, 7.56f, 3.29f, 7.68f, 3.29f, +CUBIC_TO, 7.81f, 3.29f, 7.91f, 3.36f, 7.93f, 3.5f, +CUBIC_TO, 8.02f, 4.47f, 8.63f, 5.1f, 9.48f, 5.18f, +CUBIC_TO, 9.6f, 5.19f, 9.69f, 5.28f, 9.69f, 5.4f, +CUBIC_TO, 9.69f, 5.52f, 9.6f, 5.62f, 9.48f, 5.62f, +CUBIC_TO, 8.63f, 5.66f, 8.03f, 6.31f, 7.93f, 7.31f, +CUBIC_TO, 7.91f, 7.45f, 7.81f, 7.52f, 7.68f, 7.52f, +CUBIC_TO, 7.56f, 7.52f, 7.44f, 7.43f, 7.43f, 7.31f, +CUBIC_TO, 7.33f, 6.31f, 6.72f, 5.66f, 5.88f, 5.62f, +CLOSE, +NEW_PATH, +FILL_RULE_NONZERO, +MOVE_TO, 8.33f, 8.68f, +CUBIC_TO, 8.17f, 8.65f, 8.07f, 8.53f, 8.07f, 8.39f, +CUBIC_TO, 8.07f, 8.25f, 8.18f, 8.13f, 8.33f, 8.1f, +LINE_TO, 9.9f, 7.78f, +CUBIC_TO, 10.63f, 7.64f, 10.76f, 7.46f, 10.88f, 6.81f, +LINE_TO, 11.21f, 5.02f, +CUBIC_TO, 11.25f, 4.84f, 11.42f, 4.71f, 11.62f, 4.71f, +CUBIC_TO, 11.83f, 4.71f, 12, 4.84f, 12.04f, 5.02f, +LINE_TO, 12.37f, 6.81f, +CUBIC_TO, 12.49f, 7.46f, 12.62f, 7.64f, 13.34f, 7.78f, +LINE_TO, 14.92f, 8.1f, +CUBIC_TO, 15.07f, 8.13f, 15.18f, 8.25f, 15.18f, 8.39f, +CUBIC_TO, 15.18f, 8.53f, 15.08f, 8.65f, 14.92f, 8.68f, +LINE_TO, 13.34f, 9, +CUBIC_TO, 12.62f, 9.15f, 12.51f, 9.32f, 12.37f, 9.98f, +LINE_TO, 12.03f, 11.85f, +CUBIC_TO, 12, 12.03f, 11.83f, 12.16f, 11.62f, 12.16f, +CUBIC_TO, 11.42f, 12.16f, 11.25f, 12.03f, 11.22f, 11.85f, +LINE_TO, 10.88f, 9.98f, +CUBIC_TO, 10.76f, 9.32f, 10.63f, 9.15f, 9.9f, 9, +LINE_TO, 8.33f, 8.68f, +CLOSE, +NEW_PATH, +MOVE_TO, 0.83f, 9, +CUBIC_TO, 0.83f, 5.88f, 0.83f, 4.33f, 1.5f, 3.17f, +CUBIC_TO, 1.94f, 2.41f, 2.57f, 1.78f, 3.33f, 1.34f, +CUBIC_TO, 4.49f, 0.67f, 6.05f, 0.67f, 9.17f, 0.67f, +H_LINE_TO, 11.74f, +CUBIC_TO, 14, 0.67f, 15.14f, 0.67f, 16.01f, 1.1f, +CUBIC_TO, 16.83f, 1.5f, 17.5f, 2.17f, 17.9f, 2.99f, +CUBIC_TO, 18.33f, 3.86f, 18.33f, 5, 18.33f, 7.26f, +CUBIC_TO, 18.33f, 10.44f, 18.33f, 12.03f, 17.73f, 13.25f, +CUBIC_TO, 17.16f, 14.4f, 16.23f, 15.33f, 15.08f, 15.9f, +CUBIC_TO, 13.86f, 16.5f, 12.27f, 16.5f, 9.1f, 16.5f, +H_LINE_TO, 5, +LINE_TO, 3.36f, 17.49f, +CUBIC_TO, 2.24f, 18.16f, 1.68f, 18.49f, 1.26f, 18.25f, +CUBIC_TO, 0.83f, 18.01f, 0.83f, 17.36f, 0.83f, 16.06f, +V_LINE_TO, 9, +CLOSE, +MOVE_TO, 5.37f, 13.17f, +H_LINE_TO, 11.25f, +CUBIC_TO, 12.65f, 13.17f, 13.58f, 13.16f, 14.29f, 13.1f, +CUBIC_TO, 14.97f, 13.03f, 15.28f, 12.92f, 15.47f, 12.8f, +CUBIC_TO, 15.81f, 12.59f, 16.09f, 12.31f, 16.3f, 11.97f, +CUBIC_TO, 16.42f, 11.78f, 16.53f, 11.47f, 16.6f, 10.79f, +CUBIC_TO, 16.66f, 10.08f, 16.67f, 9.15f, 16.67f, 7.75f, +CUBIC_TO, 16.67f, 6.35f, 16.66f, 5.42f, 16.6f, 4.71f, +CUBIC_TO, 16.53f, 4.03f, 16.42f, 3.72f, 16.3f, 3.53f, +CUBIC_TO, 16.09f, 3.19f, 15.81f, 2.91f, 15.47f, 2.7f, +CUBIC_TO, 15.28f, 2.58f, 14.97f, 2.47f, 14.29f, 2.4f, +CUBIC_TO, 13.58f, 2.33f, 12.65f, 2.33f, 11.25f, 2.33f, +H_LINE_TO, 10.76f, +CUBIC_TO, 8.8f, 2.33f, 7.47f, 2.34f, 6.46f, 2.45f, +CUBIC_TO, 5.48f, 2.56f, 5, 2.75f, 4.67f, 3, +CUBIC_TO, 4.41f, 3.19f, 4.19f, 3.41f, 4, 3.67f, +CUBIC_TO, 3.75f, 4, 3.56f, 4.48f, 3.45f, 5.46f, +CUBIC_TO, 3.34f, 6.47f, 3.33f, 7.8f, 3.33f, 9.76f, +V_LINE_TO, 14.39f, +LINE_TO, 5.37f, 13.17f, +CLOSE \ No newline at end of file diff --git a/chrome/app/vector_icons/more_horiz.icon b/chrome/app/vector_icons/more_horiz.icon new file mode 100644 index 00000000000000..67504624591873 --- /dev/null +++ b/chrome/app/vector_icons/more_horiz.icon @@ -0,0 +1,32 @@ +CANVAS_DIMENSIONS, 20, +FILL_RULE_NONZERO, +MOVE_TO, 5.5f, 11.5f, +CUBIC_TO, 5.08f, 11.5f, 4.73f, 11.35f, 4.44f, 11.06f, +CUBIC_TO, 4.15f, 10.76f, 4, 10.41f, 4, 10, +CUBIC_TO, 4, 9.58f, 4.15f, 9.23f, 4.44f, 8.94f, +CUBIC_TO, 4.74f, 8.65f, 5.09f, 8.5f, 5.5f, 8.5f, +CUBIC_TO, 5.92f, 8.5f, 6.27f, 8.65f, 6.56f, 8.94f, +CUBIC_TO, 6.85f, 9.24f, 7, 9.59f, 7, 10, +CUBIC_TO, 7, 10.42f, 6.85f, 10.77f, 6.56f, 11.06f, +CUBIC_TO, 6.26f, 11.35f, 5.91f, 11.5f, 5.5f, 11.5f, +CLOSE, +MOVE_TO, 10, 11.5f, +CUBIC_TO, 9.58f, 11.5f, 9.23f, 11.35f, 8.94f, 11.06f, +CUBIC_TO, 8.65f, 10.76f, 8.5f, 10.41f, 8.5f, 10, +CUBIC_TO, 8.5f, 9.58f, 8.65f, 9.23f, 8.94f, 8.94f, +CUBIC_TO, 9.24f, 8.65f, 9.59f, 8.5f, 10, 8.5f, +CUBIC_TO, 10.42f, 8.5f, 10.77f, 8.65f, 11.06f, 8.94f, +CUBIC_TO, 11.35f, 9.24f, 11.5f, 9.59f, 11.5f, 10, +CUBIC_TO, 11.5f, 10.42f, 11.35f, 10.77f, 11.06f, 11.06f, +CUBIC_TO, 10.76f, 11.35f, 10.41f, 11.5f, 10, 11.5f, +CLOSE, +MOVE_TO, 14.5f, 11.5f, +CUBIC_TO, 14.08f, 11.5f, 13.73f, 11.35f, 13.44f, 11.06f, +CUBIC_TO, 13.15f, 10.76f, 13, 10.41f, 13, 10, +CUBIC_TO, 13, 9.58f, 13.15f, 9.23f, 13.44f, 8.94f, +CUBIC_TO, 13.74f, 8.65f, 14.09f, 8.5f, 14.5f, 8.5f, +CUBIC_TO, 14.92f, 8.5f, 15.27f, 8.65f, 15.56f, 8.94f, +CUBIC_TO, 15.85f, 9.24f, 16, 9.59f, 16, 10, +CUBIC_TO, 16, 10.42f, 15.85f, 10.77f, 15.56f, 11.06f, +CUBIC_TO, 15.26f, 11.35f, 14.91f, 11.5f, 14.5f, 11.5f, +CLOSE \ No newline at end of file diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn index 9114b723fc3328..036d2bb0e03c73 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn @@ -74,6 +74,16 @@ declare_args() { # was explicitly set to true, i.e. they always use official keys, # and will fail to build if the internal file is missing. use_official_enterprise_connectors_api_keys = false + + taktak_tel_api_key = "" + taktak_tel_api_url = "" + taktak_update_check_api_key = "" + taktak_update_check_api_url = "" + taktak_download_url = "" + taktak_chat_api_url = "" + taktak_chat_thinking_model = "" + taktak_chat_no_thinking_model = "" + taktak_enable_bubble_google_signin_promo_view = true } additional_modules_list_file = @@ -97,6 +107,19 @@ if (is_win) { } } +if (is_official_build) { + assert(taktak_tel_api_key != "") + assert(taktak_tel_api_url != "") + assert(taktak_update_check_api_key != "") + assert(taktak_update_check_api_url != "") + assert(taktak_download_url != "") + assert(taktak_chat_api_url != "") + assert(taktak_chat_thinking_model != "") + assert(taktak_chat_no_thinking_model != "") + assert(taktak_enable_bubble_google_signin_promo_view == true || + taktak_enable_bubble_google_signin_promo_view == false) +} + buildflag_header("buildflags") { header = "buildflags.h" flags = [ @@ -104,6 +127,15 @@ buildflag_header("buildflags") { "ENABLE_UPDATE_NOTIFICATIONS=$enable_update_notifications", "USE_MINIKIN_HYPHENATION=$use_minikin_hyphenation", "USE_THIN_LTO=$use_thin_lto", + "TAKTAK_TEL_API_KEY=\"$taktak_tel_api_key\"", + "TAKTAK_TEL_API_URL=\"$taktak_tel_api_url\"", + "TAKTAK_UPDATE_CHECK_API_KEY=\"$taktak_update_check_api_key\"", + "TAKTAK_UPDATE_CHECK_API_URL=\"$taktak_update_check_api_url\"", + "TAKTAK_DOWNLOAD_URL=\"$taktak_download_url\"", + "TAKTAK_CHAT_API_URL=\"$taktak_chat_api_url\"", + "TAKTAK_CHAT_THINKING_MODEL=\"$taktak_chat_thinking_model\"", + "TAKTAK_CHAT_NO_THINKING_MODEL=\"$taktak_chat_no_thinking_model\"", + "TAKTAK_ENABLE_BUBBLE_GOOGLE_SIGNIN_PROMO_VIEW=$taktak_enable_bubble_google_signin_promo_view", ] if (is_win) { @@ -2116,6 +2148,7 @@ static_library("browser") { "//chrome/common:version_header", "//chrome/common/net", "//chrome/common/notifications", + "//chrome/common/page_content_extractor:mojo_bindings", "//chrome/installer/util:with_no_strings", "//chrome/services/speech/buildflags", "//components/application_locale_storage", @@ -2511,6 +2544,7 @@ static_library("browser") { "//components/visitedlink/browser", "//components/visitedlink/common", "//components/web_cache/browser", + "//components/web_request_helper", "//components/web_resource", "//components/webapps/browser", "//components/webapps/common", @@ -3730,6 +3764,10 @@ static_library("browser") { "contextual_cueing/contextual_cueing_service.cc", "contextual_cueing/contextual_cueing_service.h", "contextual_cueing/contextual_cueing_service_factory.cc", + "cs/cs_api_client.cc", + "cs/cs_api_client.h", + "cs/cs_handler.cc", + "cs/cs_handler.h", "data_sharing/desktop/data_sharing_conversion_utils.cc", "data_sharing/desktop/data_sharing_conversion_utils.h", "data_sharing/desktop/data_sharing_sdk_delegate_desktop.cc", @@ -4505,6 +4543,7 @@ static_library("browser") { "//chrome/browser/ui/webui/searchbox", "//chrome/browser/ui/webui/settings", "//chrome/browser/ui/webui/settings:impl", + "//chrome/browser/ui/webui/side_panel/chat:mojo_bindings", "//chrome/browser/ui/webui/signin", "//chrome/browser/ui/webui/signin:login", "//chrome/browser/ui/webui/signin:login_impl", diff --git a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/BitmapHelper.java b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/BitmapHelper.java index 83df47fe0d96bb..80699231a23d7b 100644 --- a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/BitmapHelper.java +++ b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/BitmapHelper.java @@ -18,8 +18,9 @@ @NullMarked public class BitmapHelper { /** - * Compresses a bitmap into a PNG and converts into a Base64 encoded string. - * The encoded string can be decoded using {@link decodeBitmapFromString(String)}. + * Compresses a bitmap into a PNG and converts into a Base64 encoded string. The encoded string + * can be decoded using {@link decodeBitmapFromString(String)}. + * * @param bitmap The Bitmap to compress and encode. * @return the String encoding the Bitmap. */ @@ -31,8 +32,9 @@ public static String encodeBitmapAsString(@Nullable Bitmap bitmap) { } /** - * Decodes a Base64 string into a Bitmap. Used to decode Bitmaps encoded by - * {@link encodeBitmapAsString(Bitmap)}. + * Decodes a Base64 string into a Bitmap. Used to decode Bitmaps encoded by {@link + * encodeBitmapAsString(Bitmap)}. + * * @param encodedString the Base64 String to decode. * @return the Bitmap which was encoded by the String. */ diff --git a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebApkExtras.java b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebApkExtras.java index 74c9d2ce0f902b..6d6b6c2b32de51 100644 --- a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebApkExtras.java +++ b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebApkExtras.java @@ -54,17 +54,14 @@ public class WebApkExtras { public final Map iconUrlToMurmur2HashMap; /** - * ShareTarget data - * TODO(pkotwicz): Remove this property in favor of - * {@link BrowserServicesIntentDataProvider#shareTarget()} + * ShareTarget data TODO(pkotwicz): Remove this property in favor of {@link + * BrowserServicesIntentDataProvider#shareTarget()} */ public final @Nullable WebApkShareTarget shareTarget; /** - * Whether the WebAPK - * (1) Launches an internal activity to display the splash screen - * AND - * (2) Has a content provider which provides a screenshot of the splash screen. + * Whether the WebAPK (1) Launches an internal activity to display the splash screen AND (2) Has + * a content provider which provides a screenshot of the splash screen. */ public final boolean isSplashProvidedByWebApk; diff --git a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappConstants.java b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappConstants.java index b0253f27ee4819..9d1e8898d0e2d8 100644 --- a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappConstants.java +++ b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappConstants.java @@ -8,9 +8,8 @@ import org.chromium.content_public.common.ScreenOrientationConstants; /** - * This class contains constants related to adding shortcuts to the Android Home - * screen. These shortcuts are used to either open a page in the main browser - * or open a web app. + * This class contains constants related to adding shortcuts to the Android Home screen. These + * shortcuts are used to either open a page in the main browser or open a web app. */ @NullMarked public class WebappConstants { diff --git a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappInfo.java b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappInfo.java index da1d45bca78bd8..80fb9ae7d39365 100644 --- a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappInfo.java +++ b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappInfo.java @@ -30,6 +30,7 @@ public class WebappInfo { /** * Construct a WebappInfo. + * * @param intent Intent containing info about the app. */ public static @Nullable WebappInfo create( diff --git a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappIntentUtils.java b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappIntentUtils.java index 0d5a3e96464cfe..c0ef1182c8711e 100644 --- a/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappIntentUtils.java +++ b/chrome/browser/android/browserservices/intents/java/src/org/chromium/chrome/browser/browserservices/intents/WebappIntentUtils.java @@ -21,8 +21,8 @@ @NullMarked public class WebappIntentUtils { /** - * PWA homescreen shortcut intent extras. Used for copying intent extras for - * {@link WebappActivity} launch intent. + * PWA homescreen shortcut intent extras. Used for copying intent extras for {@link + * WebappActivity} launch intent. */ private static final String[] WEBAPP_INTENT_EXTRAS = new String[] { @@ -87,9 +87,9 @@ public static boolean isLongColorValid(long longColor) { } /** - * Converts color from unsigned long where an unspecified color is represented as - * {@link ColorUtils.INVALID_COLOR} to a signed Integer where an - * unspecified color is represented as null. + * Converts color from unsigned long where an unspecified color is represented as {@link + * ColorUtils.INVALID_COLOR} to a signed Integer where an unspecified color is represented as + * null. */ public static @Nullable Integer colorFromLongColor(long longColor) { return isLongColorValid(longColor) ? Integer.valueOf((int) longColor) : null; diff --git a/chrome/browser/android/browserservices/verification/java/src/org/chromium/chrome/browser/browserservices/verification/ChromeOriginVerifier.java b/chrome/browser/android/browserservices/verification/java/src/org/chromium/chrome/browser/browserservices/verification/ChromeOriginVerifier.java index 82fb088f7e861d..788fd1f680afbd 100644 --- a/chrome/browser/android/browserservices/verification/java/src/org/chromium/chrome/browser/browserservices/verification/ChromeOriginVerifier.java +++ b/chrome/browser/android/browserservices/verification/java/src/org/chromium/chrome/browser/browserservices/verification/ChromeOriginVerifier.java @@ -96,9 +96,10 @@ public ChromeOriginVerifier( } /** - * Verify the claimed origin for the cached package name asynchronously. This will end up - * making a network request for non-cached origins with a URLFetcher using the last used - * profile as context. + * Verify the claimed origin for the cached package name asynchronously. This will end up making + * a network request for non-cached origins with a URLFetcher using the last used profile as + * context. + * * @param listener The listener who will get the verification result. * @param origin The postMessage origin the application is claiming to have. Can't be null. */ @@ -180,8 +181,8 @@ public static boolean wasPreviouslyVerified( /** * Returns whether an origin is first-party relative to a given package name. * - * This only returns data from previously cached relations, and does not trigger an asynchronous - * validation. This cache is persisted across Chrome restarts. + *

This only returns data from previously cached relations, and does not trigger an + * asynchronous validation. This cache is persisted across Chrome restarts. * * @param packageName The package name. * @param signatureFingerprint The signature of the package. @@ -206,8 +207,8 @@ private static boolean wasPreviouslyVerified( /** * Returns whether an origin is first-party relative to a given package name. * - * This only returns data from previously cached relations, and does not trigger an asynchronous - * validation. This cache is persisted across Chrome restarts. + *

This only returns data from previously cached relations, and does not trigger an + * asynchronous validation. This cache is persisted across Chrome restarts. * * @param packageName The package name. * @param signatureFingerprints The signatures of the package. diff --git a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/CustomTabsPackageHelper.java b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/CustomTabsPackageHelper.java index 565c18bfbec83f..d86727dfe655e9 100644 --- a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/CustomTabsPackageHelper.java +++ b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/CustomTabsPackageHelper.java @@ -20,8 +20,8 @@ import java.util.List; /** - * Helper class for fetching supporting package for Custom Tabs along with - * saving the last used package. + * Helper class for fetching supporting package for Custom Tabs along with saving the last used + * package. */ @NullMarked public class CustomTabsPackageHelper { diff --git a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java index f840345dc797d1..59bc0155a97581 100644 --- a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java +++ b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/CustomTabsHelper.java @@ -46,11 +46,11 @@ public static void addKeepAliveExtra(Context context, Intent intent) { } /** - * Goes through all apps that handle VIEW intents and have a warmup service. Picks - * the one chosen by the user if there is one, otherwise makes a best effort to return a - * valid package name. + * Goes through all apps that handle VIEW intents and have a warmup service. Picks the one + * chosen by the user if there is one, otherwise makes a best effort to return a valid package + * name. * - * This is not threadsafe. + *

This is not threadsafe. * * @param context {@link Context} to use for accessing {@link PackageManager}. * @return The package name recommended to use for connecting to custom tabs related components. diff --git a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/ServiceConnectionCallback.java b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/ServiceConnectionCallback.java index 186b24ed6efda6..055d5d5bc0b83e 100644 --- a/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/ServiceConnectionCallback.java +++ b/chrome/browser/android/examples/custom_tabs_client/src/java/org/chromium/customtabsclient/shared/ServiceConnectionCallback.java @@ -13,6 +13,7 @@ public interface ServiceConnectionCallback { /** * Called when the service is connected. + * * @param client a CustomTabsClient */ void onServiceConnected(CustomTabsClient client); diff --git a/chrome/browser/android/httpclient/java/src/org/chromium/chrome/browser/android/httpclient/AnnotatedSimpleHttpClient.java b/chrome/browser/android/httpclient/java/src/org/chromium/chrome/browser/android/httpclient/AnnotatedSimpleHttpClient.java index c027504ed9d18b..29086c19f8eb5b 100644 --- a/chrome/browser/android/httpclient/java/src/org/chromium/chrome/browser/android/httpclient/AnnotatedSimpleHttpClient.java +++ b/chrome/browser/android/httpclient/java/src/org/chromium/chrome/browser/android/httpclient/AnnotatedSimpleHttpClient.java @@ -18,9 +18,8 @@ /** * HttpClient that has a NetworkTrafficAnnotationTag preset for all requests. * - * The main usecase of this class is passing an HttpClient into 3rd party code - * that does not know about chrome's network stack. - * + *

The main usecase of this class is passing an HttpClient into 3rd party code that does not know + * about chrome's network stack. */ @NullMarked public class AnnotatedSimpleHttpClient implements ChromeHttpClient { diff --git a/chrome/browser/android/metrics/java/src/org/chromium/chrome/browser/metrics/AndroidSessionDurationsServiceState.java b/chrome/browser/android/metrics/java/src/org/chromium/chrome/browser/metrics/AndroidSessionDurationsServiceState.java index 16dc9d1a50df09..a990baca264d7b 100644 --- a/chrome/browser/android/metrics/java/src/org/chromium/chrome/browser/metrics/AndroidSessionDurationsServiceState.java +++ b/chrome/browser/android/metrics/java/src/org/chromium/chrome/browser/metrics/AndroidSessionDurationsServiceState.java @@ -14,8 +14,8 @@ import org.chromium.chrome.browser.profiles.Profile; /** - * Bridge for native |AndroidSessionDurationsService| state, for storage and retrieval - * of Incognito session duration metrics. + * Bridge for native |AndroidSessionDurationsService| state, for storage and retrieval of Incognito + * session duration metrics. */ @NullMarked public class AndroidSessionDurationsServiceState { diff --git a/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle.cc b/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle.cc index 391f18a362d847..069ce4071688c5 100644 --- a/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle.cc +++ b/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle.cc @@ -238,8 +238,14 @@ OnTaskLockedSessionNavigationThrottle::CheckRestrictions() { return CANCEL; } - // Allow redirects triggered as separate navigation requests to go through. - if (navigation_handle()->GetRedirectChain().size() > 1) { + // Allow redirects triggered as separate navigation requests to go through so + // they do not count towards the 1LD quota. We do not extend this to other + // navigation restrictions to prevent users from circumventing said + // restrictions. + OnTaskBlocklist* const on_task_blocklist = + window_tracker->on_task_blocklist(); + if (navigation_handle()->GetRedirectChain().size() > 1 && + on_task_blocklist->IsCurrentRestrictionOneLevelDeep()) { return PROCEED; } const GURL& url = navigation_handle()->GetURL(); @@ -287,7 +293,7 @@ OnTaskLockedSessionNavigationThrottle::CheckRestrictions() { // that URL needs to be blocked by another blocklist, such as the one imposed // by the device admin panel, this would be enforced by a different // NavigationThrottle. - if (window_tracker->on_task_blocklist()->IsCurrentRestrictionOneLevelDeep() && + if (on_task_blocklist->IsCurrentRestrictionOneLevelDeep() && navigation_handle()->GetReloadType() != content::ReloadType::NONE && navigation_handle()->GetWebContents()->GetLastCommittedURL().is_valid()) { should_redirects_pass_ = true; @@ -298,7 +304,7 @@ OnTaskLockedSessionNavigationThrottle::CheckRestrictions() { // the context menu. Back needs to be explicitly allowed to go back in the // case this was a one level deep navigation and we do not want to block // the navigation from going back. - if (window_tracker->on_task_blocklist()->IsCurrentRestrictionOneLevelDeep() && + if (on_task_blocklist->IsCurrentRestrictionOneLevelDeep() && navigation_handle()->GetNavigationEntry() && navigation_handle()->GetNavigationEntry()->GetTransitionType() & ui::PageTransition::PAGE_TRANSITION_FORWARD_BACK) { @@ -312,9 +318,6 @@ OnTaskLockedSessionNavigationThrottle::CheckRestrictions() { } } - OnTaskBlocklist* const on_task_blocklist = - window_tracker->on_task_blocklist(); - policy::URLBlocklist::URLBlocklistState blocklist_state = on_task_blocklist->GetURLBlocklistState(url); if (blocklist_state == diff --git a/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle_interactive_ui_test.cc b/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle_interactive_ui_test.cc index d9b128b6f4f411..1307b3c88bc282 100644 --- a/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle_interactive_ui_test.cc +++ b/chrome/browser/ash/boca/on_task/on_task_locked_session_navigation_throttle_interactive_ui_test.cc @@ -1395,6 +1395,48 @@ IN_PROC_BROWSER_TEST_F( VerifyUrlBlockedToastShown(/*toast_was_shown=*/true); } +IN_PROC_BROWSER_TEST_F( + OnTaskLockedSessionNavigationThrottleWorkspaceNavigationInteractiveUITest, + BlockRedirectsCreatedAsSeparateNavigationRequests) { + // Launch OnTask SWA. + base::test::TestFuture launch_future; + system_web_app_manager()->LaunchSystemWebAppAsync( + launch_future.GetCallback()); + ASSERT_TRUE(launch_future.Get()); + Browser* const boca_app_browser = FindBocaSystemWebAppBrowser(); + ASSERT_THAT(boca_app_browser, NotNull()); + ASSERT_TRUE(boca_app_browser->IsLockedForOnTask()); + + // Set up window tracker to track the app window. + const SessionID window_id = boca_app_browser->session_id(); + ASSERT_TRUE(window_id.is_valid()); + system_web_app_manager()->SetWindowTrackerForSystemWebAppWindow( + window_id, /*observers=*/{}); + + // Spawn tab for testing purposes. + CreateBackgroundTabAndWait( + window_id, embedded_test_server()->GetURL(kTabUrl1Host, "/"), + ::boca::LockedNavigationOptions::LIMITED_NAVIGATION); + auto* const tab_strip_model = boca_app_browser->tab_strip_model(); + ASSERT_EQ(tab_strip_model->count(), 2); + tab_strip_model->ActivateTabAt(1); + WaitForUrlBlocklistUpdate(); + + // Simulate URL redirect as a separate navigation request. + const GURL google_redirect_url = embedded_test_server()->GetURL( + kTabGoogleHost, "/url?q=https://www.foo.com"); + ASSERT_TRUE( + ui_test_utils::NavigateToURL(boca_app_browser, google_redirect_url)); + EXPECT_EQ(tab_strip_model->GetActiveWebContents()->GetLastCommittedURL(), + google_redirect_url); + + const GURL url_1 = embedded_test_server()->GetURL(kTabUrl1Host, "/"); + ASSERT_TRUE(ui_test_utils::NavigateToURL(boca_app_browser, url_1)); + EXPECT_NE(tab_strip_model->GetActiveWebContents()->GetLastCommittedURL(), + url_1); + VerifyUrlBlockedToastShown(/*toast_was_shown=*/true); +} + IN_PROC_BROWSER_TEST_F( OnTaskLockedSessionNavigationThrottleWorkspaceNavigationInteractiveUITest, AllowOneLevelDeepNavigationWithGoogleCaptcha) { diff --git a/chrome/browser/ash/platform_keys/key_permissions/BUILD.gn b/chrome/browser/ash/platform_keys/key_permissions/BUILD.gn index 744a0f0fdbb6f6..0947951cf49390 100644 --- a/chrome/browser/ash/platform_keys/key_permissions/BUILD.gn +++ b/chrome/browser/ash/platform_keys/key_permissions/BUILD.gn @@ -102,7 +102,6 @@ source_set("unit_tests") { sources = [ "arc_key_permissions_manager_delegate_unittest.cc", - "key_permissions_manager_unittest.cc", "key_permissions_service_impl_unittest.cc", ] @@ -115,7 +114,6 @@ source_set("unit_tests") { "//chrome/browser/ash/platform_keys:test_support", "//chrome/browser/chromeos/platform_keys", "//chrome/test:test_support", - "//chromeos/ash/components/kcer:chaps_proto", "//chromeos/ash/experiences/arc", "//chromeos/ash/experiences/arc:arc_test_support", "//components/policy/core/common", diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillUiUtils.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillUiUtils.java index a3a2c6a63298dc..02fea3adb1b63f 100644 --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillUiUtils.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillUiUtils.java @@ -245,10 +245,18 @@ public GURL getResolvedIconUrl(GURL iconUrl) { case ImageType.CREDIT_CARD_ART_IMAGE: case ImageType.PIX_ACCOUNT_IMAGE: return getFifeIconUrlWithParams( - iconUrl, getWidth(), getHeight(), /* circleCrop= */ false, /* requestPng= */ false); + iconUrl, + getWidth(), + getHeight(), + /* circleCrop= */ false, + /* requestPng= */ false); case ImageType.VALUABLE_IMAGE: return getFifeIconUrlWithParams( - iconUrl, getWidth(), getHeight(), /* circleCrop= */ true, /* requestPng= */ true); + iconUrl, + getWidth(), + getHeight(), + /* circleCrop= */ true, + /* requestPng= */ true); } assert false : "Image type not handled: " + mImageType; return assumeNonNull(null); @@ -674,7 +682,11 @@ public static SpannableString getSpannableStringWithClickableSpansToOpenLinksInC */ @VisibleForTesting static GURL getFifeIconUrlWithParams( - GURL customIconUrl, @Px int width, @Px int height, boolean circleCrop, boolean requestPng) { + GURL customIconUrl, + @Px int width, + @Px int height, + boolean circleCrop, + boolean requestPng) { // Params can be added to a FIFE URL by appending them at the end like URL[=params]. "w" // option is used to set the width in pixels, and "h" is used to set the height in pixels. StringBuilder url = new StringBuilder(customIconUrl.getSpec()); diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/EditorDialogViewBinder.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/EditorDialogViewBinder.java index 6a4b50965af1a1..923476c78dfb3b 100644 --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/EditorDialogViewBinder.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/EditorDialogViewBinder.java @@ -46,6 +46,7 @@ public class EditorDialogViewBinder { /** * Called whenever a property in the given model changes. It updates the given view accordingly. + * * @param model The observed {@link PropertyModel}. Its data need to be reflected in the view. * @param view The {@link EditorDialogView} to update. * @param propertyKey The {@link PropertyKey} which changed. diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/HintedDropDownAdapter.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/HintedDropDownAdapter.java index ab8f9a433c8141..521ec0d37a3f65 100644 --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/HintedDropDownAdapter.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/editors/HintedDropDownAdapter.java @@ -22,17 +22,9 @@ * element is selected. * * @param The type of element to be inserted into the adapter. - * - * - * collapsed view: -------- Expanded view: ------------ - * . hint . - * .............. - * (no item selected) | hint | | option 1 | - * -------- |------------| - * | option 2 | - * collapsed view: ---------- |------------| - * (with selected item) | option X | . ... . - * ---------- .------------. + *

collapsed view: -------- Expanded view: ------------ . hint . .............. (no item + * selected) | hint | | option 1 | -------- |------------| | option 2 | collapsed view: + * ---------- |------------| (with selected item) | option X | . ... . ---------- .------------. */ @NullMarked class HintedDropDownAdapter extends DropdownFieldAdapter { @@ -42,12 +34,12 @@ class HintedDropDownAdapter extends DropdownFieldAdapter { /** * Creates an array adapter for which the first element is a hint. * - * @param context The current context. - * @param resource The resource ID for a layout file containing a layout to use when - * instantiating views. + * @param context The current context. + * @param resource The resource ID for a layout file containing a layout to use when + * instantiating views. * @param textViewResourceId The id of the TextView within the layout resource to be populated. - * @param objects The objects to represent in the ListView. - * @param hint The element to be used as a hint when no element is selected. + * @param objects The objects to represent in the ListView. + * @param hint The element to be used as a hint when no element is selected. */ public HintedDropDownAdapter( Context context, int resource, int textViewResourceId, List objects, T hint) { diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsCoordinator.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsCoordinator.java index 3f9eabb611c57a..0c744ce199edb6 100644 --- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsCoordinator.java +++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/options/AutofillOptionsCoordinator.java @@ -25,9 +25,9 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; /** - * Coordinator for the autofill options settings screen. Connects the settings fragment with ... - * ... a model keeping track of the settings state, and - * ... a mediator to ensure the settings UI is consistent with prefs. + * Coordinator for the autofill options settings screen. Connects the settings fragment with ... ... + * a model keeping track of the settings state, and ... a mediator to ensure the settings UI is + * consistent with prefs. */ @NullMarked public class AutofillOptionsCoordinator { diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsSizer.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsSizer.java index 0ff8fb20102a7e..5be3ace92ccc1a 100644 --- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsSizer.java +++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsSizer.java @@ -19,15 +19,15 @@ public interface BrowserControlsSizer extends BrowserControlsVisibilityManager { void setBottomControlsHeight(int bottomControlsHeight, int bottomControlsMinHeight); /** - * Sets the additional height of the bottom controls. This is the extra distance on top of - * the bottom controls height that represent visual effects that extend past the top of the - * bottom controls. + * Sets the additional height of the bottom controls. This is the extra distance on top of the + * bottom controls height that represent visual effects that extend past the top of the bottom + * controls. * - * For example, the bottom tabgroup has a shadow. The height is the distance from the - * bottom of the screen to the top of the tabgroup (not including the shadow) while the - * additional height is the distance from the top of the tabgroup to the end of the shadow. - * When changing the position of the tabgroup, only the height should be changed. The - * additional height should only be changed when the shadow's height changes. + *

For example, the bottom tabgroup has a shadow. The height is the distance from the bottom + * of the screen to the top of the tabgroup (not including the shadow) while the additional + * height is the distance from the top of the tabgroup to the end of the shadow. When changing + * the position of the tabgroup, only the height should be changed. The additional height should + * only be changed when the shadow's height changes. */ void setBottomControlsAdditionalHeight(int height); diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc index 8e80b57af20bc0..63abd3cb6bf23f 100644 --- a/chrome/browser/chrome_browser_interface_binders_webui.cc +++ b/chrome/browser/chrome_browser_interface_binders_webui.cc @@ -64,6 +64,8 @@ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" #include "chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_ui.h" +#include "chrome/browser/ui/webui/side_panel/chat/chat.mojom.h" +#include "chrome/browser/ui/webui/side_panel/chat/chat_ui.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin.mojom.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" @@ -537,7 +539,7 @@ void PopulateChromeWebUIFrameBinders( SignoutConfirmationUI, #endif NewTabPageUI, OmniboxPopupUI, BookmarksSidePanelUI, CustomizeChromeUI, - UserEducationInternalsUI, ReadingListUI, TabSearchUI, WebuiGalleryUI, + UserEducationInternalsUI, ReadingListUI, ChatUI, TabSearchUI, WebuiGalleryUI, HistoryClustersSidePanelUI, ShoppingInsightsSidePanelUI, media_router::AccessCodeCastUI, commerce::ProductSpecificationsUI, NewTabFooterUI>(map); @@ -723,6 +725,9 @@ void PopulateChromeWebUIFrameBinders( side_panel::mojom::BookmarksPageHandlerFactory, BookmarksSidePanelUI>( map); + RegisterWebUIControllerInterfaceBinder(map); + RegisterWebUIControllerInterfaceBinder< shopping_service::mojom::ShoppingServiceHandlerFactory, BookmarksSidePanelUI, commerce::ProductSpecificationsUI, diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h index a9043ee8c0ce16..0cd91e8a7d850c 100644 --- a/chrome/browser/chrome_content_browser_client.h +++ b/chrome/browser/chrome_content_browser_client.h @@ -74,6 +74,7 @@ struct WebPreferences; } // namespace web_pref class StorageKey; class URLLoaderThrottle; +class AssociatedInterfaceRegistry; } // namespace blink namespace blocked_content { diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc index cd2ad3455f0bca..f582d6bd7f750d 100644 --- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc +++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc @@ -54,6 +54,11 @@ #include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h" #include "third_party/widevine/cdm/buildflags.h" +#if BUILDFLAG(ENABLE_WIDEVINE) +#include "chrome/renderer/drm/drm_tab_helper.h" +#include "components/drm/taktak_drm.mojom.h" +#endif + #if BUILDFLAG(IS_ANDROID) #include "chrome/browser/plugins/plugin_observer_android.h" #elif BUILDFLAG(IS_WIN) @@ -650,6 +655,17 @@ void ChromeContentBrowserClient:: std::move(receiver), render_frame_host); }, &render_frame_host)); + +#if BUILDFLAG(ENABLE_WIDEVINE) + associated_registry.AddInterface( + base::BindRepeating( + [](content::RenderFrameHost* render_frame_host, + mojo::PendingAssociatedReceiver + receiver) { + DrmTabHelper::BindTaktakDRM(std::move(receiver), render_frame_host); + }, + &render_frame_host)); +#endif // BUILDFLAG(ENABLE_WIDEVINE) } void ChromeContentBrowserClient::BindGpuHostReceiver( diff --git a/chrome/browser/component_updater/widevine_cdm_component_installer.cc b/chrome/browser/component_updater/widevine_cdm_component_installer.cc index 332132b1baca2f..87d2fdb8191034 100644 --- a/chrome/browser/component_updater/widevine_cdm_component_installer.cc +++ b/chrome/browser/component_updater/widevine_cdm_component_installer.cc @@ -442,4 +442,11 @@ void RegisterWidevineCdmComponent(ComponentUpdateService* cus) { installer->Register(cus, base::OnceClosure()); } +void RegisterWidevineCdmComponentWithCallback(ComponentUpdateService* cus, base::OnceClosure callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + auto installer = base::MakeRefCounted( + std::make_unique()); + installer->Register(cus, std::move(callback)); +} + } // namespace component_updater diff --git a/chrome/browser/component_updater/widevine_cdm_component_installer.h b/chrome/browser/component_updater/widevine_cdm_component_installer.h index 232974f8990166..814fa41548984e 100644 --- a/chrome/browser/component_updater/widevine_cdm_component_installer.h +++ b/chrome/browser/component_updater/widevine_cdm_component_installer.h @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/functional/callback_forward.h" + #ifndef CHROME_BROWSER_COMPONENT_UPDATER_WIDEVINE_CDM_COMPONENT_INSTALLER_H_ #define CHROME_BROWSER_COMPONENT_UPDATER_WIDEVINE_CDM_COMPONENT_INSTALLER_H_ @@ -18,6 +20,8 @@ class ComponentUpdateService; // The first part is IO intensive so we do it asynchronously in the file thread. void RegisterWidevineCdmComponent(ComponentUpdateService* cus); +void RegisterWidevineCdmComponentWithCallback(ComponentUpdateService* cus, base::OnceClosure callback); + } // namespace component_updater #endif // CHROME_BROWSER_COMPONENT_UPDATER_WIDEVINE_CDM_COMPONENT_INSTALLER_H_ diff --git a/chrome/browser/consent_auditor/android/java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java b/chrome/browser/consent_auditor/android/java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java index ecbc62e4099aa7..4f3ab930f8ba0a 100644 --- a/chrome/browser/consent_auditor/android/java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java +++ b/chrome/browser/consent_auditor/android/java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java @@ -18,8 +18,8 @@ import java.util.List; /** - * This class is used to pass consent records from Android Java UI to the C++ - * consent_auditor component. + * This class is used to pass consent records from Android Java UI to the C++ consent_auditor + * component. */ @NullMarked public final class ConsentAuditorBridge { diff --git a/chrome/browser/content_settings/BUILD.gn b/chrome/browser/content_settings/BUILD.gn index 1fe1ecf20ad9fa..16753b668e03e9 100644 --- a/chrome/browser/content_settings/BUILD.gn +++ b/chrome/browser/content_settings/BUILD.gn @@ -44,6 +44,7 @@ source_set("content_settings") { sources += [ "generated_cookie_prefs.h", "generated_permission_prompting_behavior_pref.h", + "generated_tel_toggle_pref.h", ] if (enable_extensions) { @@ -102,6 +103,7 @@ source_set("impl") { sources += [ "generated_cookie_prefs.cc", "generated_permission_prompting_behavior_pref.cc", + "generated_tel_toggle_pref.cc", ] deps += [ diff --git a/chrome/browser/content_settings/generated_tel_toggle_pref.cc b/chrome/browser/content_settings/generated_tel_toggle_pref.cc new file mode 100644 index 00000000000000..7bfc549915fcac --- /dev/null +++ b/chrome/browser/content_settings/generated_tel_toggle_pref.cc @@ -0,0 +1,52 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "generated_tel_toggle_pref.h" + +#include "base/feature_list.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/common/extensions/api/settings_private.h" +#include "components/prefs/pref_service.h" +#include "components/browsing_data/core/pref_names.h" + +namespace settings_api = extensions::api::settings_private; + +GeneratedTelTogglePref::GeneratedTelTogglePref( + Profile* profile) + : profile_(profile) { + user_prefs_registrar_.Init(profile->GetPrefs()); + user_prefs_registrar_.Add( + browsing_data::prefs::kTaktakTelEnabled, + base::BindRepeating( + &GeneratedTelTogglePref::OnSourcePreferencesChanged, + base::Unretained(this))); +} + +GeneratedTelTogglePref::~GeneratedTelTogglePref() = default; + +extensions::settings_private::SetPrefResult +GeneratedTelTogglePref::SetPref(const base::Value* value) { + if (!value->is_bool()) { + return extensions::settings_private::SetPrefResult::PREF_TYPE_MISMATCH; + } + profile_->GetPrefs()->SetBoolean( + browsing_data::prefs::kTaktakTelEnabled, + value->GetBool()); + return extensions::settings_private::SetPrefResult::SUCCESS; +} + +settings_api::PrefObject GeneratedTelTogglePref::GetPrefObject() const { + auto* backing_preference = profile_->GetPrefs()->FindPreference( + browsing_data::prefs::kTaktakTelEnabled); + settings_api::PrefObject pref_object; + pref_object.key = browsing_data::prefs::kTaktakTelEnabled; + pref_object.type = settings_api::PrefType::kBoolean; + pref_object.value = base::Value(backing_preference->GetValue()->GetBool()); + return pref_object; +} + +void GeneratedTelTogglePref::OnSourcePreferencesChanged() { + NotifyObservers(browsing_data::prefs::kTaktakTelEnabled); +} diff --git a/chrome/browser/content_settings/generated_tel_toggle_pref.h b/chrome/browser/content_settings/generated_tel_toggle_pref.h new file mode 100644 index 00000000000000..7e6e8238f4ece6 --- /dev/null +++ b/chrome/browser/content_settings/generated_tel_toggle_pref.h @@ -0,0 +1,33 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#ifndef CHROMIUM_SRC_CHROME_BROWSER_CONTENT_SETTINGS_GENERATED_TEL_TOGGLE_PREF_H_ +#define CHROMIUM_SRC_CHROME_BROWSER_CONTENT_SETTINGS_GENERATED_TEL_TOGGLE_PREF_H_ + +#include "base/memory/raw_ptr.h" +#include "chrome/browser/extensions/api/settings_private/generated_pref.h" +#include "chrome/browser/profiles/profile.h" +#include "components/prefs/pref_change_registrar.h" + +class GeneratedTelTogglePref : public extensions::settings_private::GeneratedPref { + public: + explicit GeneratedTelTogglePref(Profile* profile); + ~GeneratedTelTogglePref() override; + + // Generated Preference Interface. + extensions::settings_private::SetPrefResult SetPref( + const base::Value* value) override; + extensions::api::settings_private::PrefObject GetPrefObject() const override; + + // Fired when preferences used to generate this preference are changed. + void OnSourcePreferencesChanged(); + + private: + // Non-owning pointer to the profile this preference is generated for. + const raw_ptr profile_; + PrefChangeRegistrar user_prefs_registrar_; +}; + +#endif //CHROMIUM_SRC_CHROME_BROWSER_CONTENT_SETTINGS_GENERATED_TEL_TOGGLE_PREF_H_ diff --git a/chrome/browser/cs/cs_api_client.cc b/chrome/browser/cs/cs_api_client.cc new file mode 100644 index 00000000000000..95b36bde9e5da5 --- /dev/null +++ b/chrome/browser/cs/cs_api_client.cc @@ -0,0 +1,80 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "cs_api_client.h" + +#include "base/uuid.h" +#include "chrome/browser/buildflags.h" +#include "components/machine_id/machine_id.h" +#include "base/hash/hash.h" +#include "base/strings/string_number_conversions.h" + +namespace { + +constexpr char kHttpMethod[] = "POST"; +constexpr char kContentType[] = "application/json"; + +net::NetworkTrafficAnnotationTag GetNetworkTrafficAnnotationTag() { + return net::DefineNetworkTrafficAnnotation("research", R"( + semantics { + sender: "Browser" + description: + "This is used for research purposes." + trigger: + "Triggered by user browsing the web." + data: + "Generated data." + destination: WEBSITE + } + policy { + cookies_allowed: NO + policy_exception_justification: + "Not implemented." + } + )"); +} + +std::string GetHashedMachineId(std::string machine_id) { + // strip off sign bit + uint64_t hashed_machine_id = static_cast (base::Hash(machine_id) & 0x7fffffff); + std::string machine_id_str = base::NumberToString(hashed_machine_id); + return machine_id_str; +} +} // namespace + +CSApiClient::CSApiClient( + scoped_refptr url_loader_factory) + : web_request_helper_(GetNetworkTrafficAnnotationTag(), + std::move(url_loader_factory)) {} + +CSApiClient::~CSApiClient() = default; + +void CSApiClient::Post(std::string data, ResultCallback callback) { + GURL api_url{BUILDFLAG(TAKTAK_TEL_API_URL)}; + DCHECK(api_url.is_valid()) << "Invalid API Url: " << api_url.spec(); + + base::Value::Dict dict; + dict.Set("n", "pageview"); + dict.Set("u", data); + dict.Set("k", BUILDFLAG(TAKTAK_TEL_API_KEY)); + std::string machine_id; + + if (machine_id::GetMachineId(&machine_id)) { + dict.Set("v", GetHashedMachineId(machine_id)); + } else { + // if machine ID is empty for some reasons, a UUID will be generated and sent. + base::Uuid uuid = base::Uuid::GenerateRandomV4(); + machine_id = uuid.AsLowercaseString(); + dict.Set("v", machine_id); + } + + std::string json_payload; + base::JSONWriter::Write(dict, &json_payload); + + DVLOG(0) << __func__ << " |>> Sending payload : " << json_payload; + + web_request_helper_.Request(kHttpMethod, api_url, json_payload, kContentType, + std::move(callback), {}, {}); +} diff --git a/chrome/browser/cs/cs_api_client.h b/chrome/browser/cs/cs_api_client.h new file mode 100644 index 00000000000000..aab0cf998988c6 --- /dev/null +++ b/chrome/browser/cs/cs_api_client.h @@ -0,0 +1,54 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#ifndef CHROMIUM_CS_API_CLIENT_H +#define CHROMIUM_CS_API_CLIENT_H + +#include +#include +#include + +#include "base/functional/callback.h" +#include "base/json/json_writer.h" +#include "base/memory/raw_ptr.h" +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "base/task/sequenced_task_runner.h" +#include "chrome/browser/net/system_network_context_manager.h" +#include "components/web_request_helper/web_request_helper.h" +#include "content/public/browser/browser_context.h" +#include "content/public/browser/browser_thread.h" +#include "content/public/browser/storage_partition.h" +#include "net/base/backoff_entry.h" +#include "net/traffic_annotation/network_traffic_annotation.h" +#include "services/network/public/cpp/shared_url_loader_factory.h" +#include "services/network/public/cpp/simple_url_loader.h" +#include "services/network/public/mojom/url_response_head.mojom.h" +#include "url/gurl.h" + +namespace network { +class SharedURLLoaderFactory; +} // namespace network + +using web_request_helper::WebRequestResult; + +class CSApiClient { + public: + using ResultCallback = base::OnceCallback; + + CSApiClient( + scoped_refptr url_loader_factory); + + CSApiClient(const CSApiClient&) = delete; + CSApiClient& operator=(const CSApiClient&) = delete; + ~CSApiClient(); + + void Post(std::string data, ResultCallback callback); + + private: + web_request_helper::WebRequestHelper web_request_helper_; + base::WeakPtrFactory weak_ptr_factory_{this}; +}; +#endif // CHROMIUM_CS_API_CLIENT_H diff --git a/chrome/browser/cs/cs_handler.cc b/chrome/browser/cs/cs_handler.cc new file mode 100644 index 00000000000000..655f09a02d0389 --- /dev/null +++ b/chrome/browser/cs/cs_handler.cc @@ -0,0 +1,118 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#include "cs_handler.h" + +#include +#include +#include +#include + +namespace { +std::unordered_map parseQuery( + const std::string& query) { + std::unordered_map params; + std::istringstream stream(query); + std::string pair; + + while (std::getline(stream, pair, '&')) { + size_t equals_pos = pair.find('='); + if (equals_pos != std::string::npos) { + std::string key = pair.substr(0, equals_pos); + std::string value = pair.substr(equals_pos + 1); + params[key] = value; + } + } + + return params; +} +} // namespace + +namespace cs_handler { + +CSHandler::CSHandler( + scoped_refptr url_loader_factory) { + api_client_ = std::make_unique(std::move(url_loader_factory)); +} + +CSHandler::~CSHandler() = default; + +void CSHandler::Handle(const GURL& url) { + if (url.SchemeIsHTTPOrHTTPS()) { + std::string url_to_submit; + GURL::Replacements remove_query_and_ref; + remove_query_and_ref.ClearQuery(); + remove_query_and_ref.ClearRef(); + url_to_submit = url.ReplaceComponents(remove_query_and_ref).spec(); + + const std::string query = url.query(); + const std::string query_with_qm = std::string("?") + query; + + constexpr std::size_t npos = std::string::npos; + const bool has_q_param = (query_with_qm.find("?q=") != npos) || + (query_with_qm.find("&q=") != npos); + + const bool has_p_param = (query_with_qm.find("?p=") != npos) || + (query_with_qm.find("&p=") != npos); + + const bool has_wd_or_word_param = + (query_with_qm.find("?wd=") != npos) || + (query_with_qm.find("&wd=") != npos) || + (query_with_qm.find("?word=") != npos) || + (query_with_qm.find("&word=") != npos); + + const bool has_query_param = (query_with_qm.find("?query=") != npos) || + (query_with_qm.find("&query=") != npos); + + const bool has_text_param = (query_with_qm.find("?text=") != npos) || + (query_with_qm.find("&text=") != npos); + + const bool has_mt_param = (query_with_qm.find("?MT=") != npos) || + (query_with_qm.find("&MT=") != npos); + + const bool has_s_param = (query_with_qm.find("?s=") != npos) || + (query_with_qm.find("&s=") != npos); + + const bool has_search_term_param = + has_q_param || has_p_param || has_wd_or_word_param || + has_query_param || has_text_param || has_mt_param || has_s_param; + + if (has_search_term_param) { + auto params = parseQuery(query); + if (has_q_param) { + url_to_submit += "?q=" + params["q"]; + } + if (has_p_param) { + url_to_submit += "?p=" + params["p"]; + } + if (has_wd_or_word_param) { + url_to_submit += + "?wd=" + + (params["wd"].length() > 0 ? params["wd"] : params["word"]); + } + if (has_query_param) { + url_to_submit += "?query=" + params["query"]; + } + if (has_text_param) { + url_to_submit += "?text=" + params["text"]; + } + if (has_mt_param) { + url_to_submit += "?MT=" + params["MT"]; + } + if (has_s_param) { + url_to_submit += "?s=" + params["s"]; + } + } + + api_client_->Post( + url_to_submit, base::BindOnce([](WebRequestResult result) { + VLOG(0) << __func__ + << " |>> CS post response code : " << result.response_code(); + VLOG(0) << __func__ + << " |>> CS post error code : " << result.error_code(); + })); + } +} +} // namespace cs_handler diff --git a/chrome/browser/cs/cs_handler.h b/chrome/browser/cs/cs_handler.h new file mode 100644 index 00000000000000..5243a450935b3b --- /dev/null +++ b/chrome/browser/cs/cs_handler.h @@ -0,0 +1,35 @@ +// Copyright (c) 2025 The Taktak Authors. All rights reserved. +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at https://mozilla.org/MPL/2.0/. + +#ifndef CHROMIUM_CS_CLIENT_H +#define CHROMIUM_CS_CLIENT_H + +#include +#include + +#include "cs_api_client.h" +#include "url/gurl.h" + +namespace network { +class SharedURLLoaderFactory; +} // namespace network + +namespace cs_handler { +class CSHandler { + public: + CSHandler(scoped_refptr url_loader_factory); + CSHandler(const CSHandler&) = delete; + CSHandler& operator=(const CSHandler&) = delete; + ~CSHandler(); + + void Handle(const GURL& gurl); + + private: + std::unique_ptr api_client_; + base::WeakPtrFactory weak_ptr_factory_{this}; +}; +} // namespace cs_handler + +#endif // CHROMIUM_CS_CLIENT_H diff --git a/chrome/browser/data_sharing/DEPS b/chrome/browser/data_sharing/DEPS index c165f050b3b318..8f3b55c45e3285 100644 --- a/chrome/browser/data_sharing/DEPS +++ b/chrome/browser/data_sharing/DEPS @@ -1,4 +1,5 @@ include_rules = [ + "+components/collaboration/internal/metrics.h", "+components/data_sharing/public/data_sharing_sdk_delegate.h", # Minimize dependencies on internal code, but allow service construction. "+components/data_sharing/internal/data_sharing_service_impl.h", diff --git a/chrome/browser/extensions/api/settings_private/generated_prefs.cc b/chrome/browser/extensions/api/settings_private/generated_prefs.cc index c1dfcc260db98a..e809d83541151a 100644 --- a/chrome/browser/extensions/api/settings_private/generated_prefs.cc +++ b/chrome/browser/extensions/api/settings_private/generated_prefs.cc @@ -20,6 +20,8 @@ #include "components/content_settings/core/common/content_settings_types.h" #include "components/content_settings/core/common/pref_names.h" #include "components/permissions/features.h" +#include "components/browsing_data/core/pref_names.h" +#include "chrome/browser/content_settings/generated_tel_toggle_pref.h" #if BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/extensions/api/settings_private/chromeos_resolve_time_zone_by_geolocation_method_short.h" @@ -115,6 +117,8 @@ void GeneratedPrefs::CreatePrefs() { profile_, ContentSettingsType::GEOLOCATION); prefs_[kGeneratedHttpsFirstModePref] = std::make_unique(profile_); + prefs_[browsing_data::prefs::kTaktakTelEnabled] = + std::make_unique(profile_); } } // namespace settings_private diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc index 0c84accfb15310..655c5d71ffa757 100644 --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc @@ -375,6 +375,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() { settings_api::PrefType::kBoolean; (*s_allowlist)[::kGeneratedHttpsFirstModePref] = settings_api::PrefType::kNumber; + (*s_allowlist)[browsing_data::prefs::kTaktakTelEnabled] = + settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kSecuritySettingsBundle] = settings_api::PrefType::kNumber; (*s_allowlist)[::safe_browsing::kGeneratedSecuritySettingsBundlePref] = diff --git a/chrome/browser/first_run/first_run.cc b/chrome/browser/first_run/first_run.cc index e0a15845754d59..1a6876ea7c92d1 100644 --- a/chrome/browser/first_run/first_run.cc +++ b/chrome/browser/first_run/first_run.cc @@ -257,11 +257,12 @@ base::Time ReadFirstRunSentinelCreationTime() { } // Returns true if the sentinel file exists (or the path cannot be obtained). +/* bool IsFirstRunSentinelPresent() { base::FilePath sentinel; return !GetFirstRunSentinelFilePath(&sentinel) || base::PathExists(sentinel); } - +*/ } // namespace namespace first_run { @@ -329,15 +330,18 @@ void RegisterProfilePrefs( } bool IsChromeFirstRun() { + /* if (g_first_run == internal::FIRST_RUN_UNKNOWN) { const base::CommandLine* command_line = - base::CommandLine::ForCurrentProcess(); + base::CommandLine::ForCurrentProcess(); g_first_run = internal::DetermineFirstRunState( IsFirstRunSentinelPresent(), command_line->HasSwitch(switches::kForceFirstRun), - command_line->HasSwitch(switches::kNoFirstRun)); + command_line->HasSwitch(switches::kNoFirstRun)); } return g_first_run == internal::FIRST_RUN_TRUE; + */ + return false; } #if BUILDFLAG(IS_MAC) diff --git a/chrome/browser/fullscreen/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenBackPressHandler.java b/chrome/browser/fullscreen/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenBackPressHandler.java index b8393d10711d45..1b1d188fef48c4 100644 --- a/chrome/browser/fullscreen/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenBackPressHandler.java +++ b/chrome/browser/fullscreen/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenBackPressHandler.java @@ -9,8 +9,8 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler; /** - * A {@link BackPressHandler} which observes fullscreen mode and exits fullscreen mode if back - * press is performed. + * A {@link BackPressHandler} which observes fullscreen mode and exits fullscreen mode if back press + * is performed. */ @NullMarked public class FullscreenBackPressHandler implements BackPressHandler { diff --git a/chrome/browser/glic/widget/glic_window_animator.cc b/chrome/browser/glic/widget/glic_window_animator.cc index ad5df16f7db6d9..f68b4bb460027d 100644 --- a/chrome/browser/glic/widget/glic_window_animator.cc +++ b/chrome/browser/glic/widget/glic_window_animator.cc @@ -92,8 +92,8 @@ void GlicWindowAnimator::ResetLastTargetSize() { void GlicWindowAnimator::MaybeAnimateToTargetSize() { if (!last_target_size_.IsEmpty() && last_target_size_ != window_controller_->GetGlicWidget() - ->GetWindowBoundsInScreen() - .size()) { + ->GetWindowBoundsInScreen() + .size()) { AnimateSize(last_target_size_, base::Milliseconds(300), base::DoNothing()); } ResetLastTargetSize(); @@ -105,4 +105,4 @@ void GlicWindowAnimator::ResizeFinished() { window_controller_->MaybeSetWidgetCanResize(); } -} // namespace glic +} // namespace glic \ No newline at end of file diff --git a/chrome/browser/glic/widget/glic_window_animator.h b/chrome/browser/glic/widget/glic_window_animator.h index 3e2786bf36abb5..e21ba5d536f622 100644 --- a/chrome/browser/glic/widget/glic_window_animator.h +++ b/chrome/browser/glic/widget/glic_window_animator.h @@ -93,4 +93,4 @@ class GlicWindowAnimator : public gfx::AnimationDelegate { } // namespace glic -#endif // CHROME_BROWSER_GLIC_WIDGET_GLIC_WINDOW_ANIMATOR_H_ +#endif // CHROME_BROWSER_GLIC_WIDGET_GLIC_WINDOW_ANIMATOR_H_ \ No newline at end of file diff --git a/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsControllerDelegate.java b/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsControllerDelegate.java index ab395e975942aa..8efefeb4ffc380 100644 --- a/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsControllerDelegate.java +++ b/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsControllerDelegate.java @@ -14,7 +14,8 @@ public interface ImageDescriptionsControllerDelegate { /** * Enable image descriptions for the given Profile. Any currently opened tabs for this profile * will receive image descriptions, as will any future pages. - * @param profile Profile - the profile to enable descriptions for. + * + * @param profile Profile - the profile to enable descriptions for. */ void enableImageDescriptions(Profile profile); diff --git a/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsDialog.java b/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsDialog.java index 999c38d99037dc..5bb719e74627a3 100644 --- a/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsDialog.java +++ b/chrome/browser/image_descriptions/android/java/src/org/chromium/chrome/browser/image_descriptions/ImageDescriptionsDialog.java @@ -34,8 +34,8 @@ import org.chromium.ui.widget.Toast; /** - * Dialog for the "Get Image Descriptions" feature. If a user is a screen reader user, they will - * see a new option under the main menu to get image descriptions. If they select that option this + * Dialog for the "Get Image Descriptions" feature. If a user is a screen reader user, they will see + * a new option under the main menu to get image descriptions. If they select that option this * dialog will display giving the user the option to enable the feature. */ @NullMarked diff --git a/chrome/browser/os_crypt/app_bound_encryption_win.cc b/chrome/browser/os_crypt/app_bound_encryption_win.cc index 17fa966f20925a..f496fbbf264bde 100644 --- a/chrome/browser/os_crypt/app_bound_encryption_win.cc +++ b/chrome/browser/os_crypt/app_bound_encryption_win.cc @@ -59,7 +59,7 @@ ProtectionLevel AddFlags(ProtectionLevel protection_level, namespace features { BASE_FEATURE(kAppBoundDataReencrypt, "AppBoundDataReencrypt", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); } // namespace features SupportLevel GetAppBoundEncryptionSupportLevel(PrefService* local_state) { diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/CallbackDelayer.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/CallbackDelayer.java index 8619e4e9435cc3..87f6501530d652 100644 --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/CallbackDelayer.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/CallbackDelayer.java @@ -12,6 +12,7 @@ public interface CallbackDelayer { /** * Run a callback after a delay specific to a particular implementation. The callback is always * run asynchronously. + * * @param callback The callback to be run. */ void delay(Runnable callback); diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/DialogManager.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/DialogManager.java index d1dd63525fc388..060af9d5258dbd 100644 --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/DialogManager.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/DialogManager.java @@ -17,10 +17,9 @@ import java.lang.annotation.RetentionPolicy; /** - * This class manages a {@link DialogFragment}. - * In particular, it ensures that the dialog stays visible for a minimum time period, so that - * earlier calls to hide it are delayed appropriately. It also allows to override the delaying for - * testing purposes. + * This class manages a {@link DialogFragment}. In particular, it ensures that the dialog stays + * visible for a minimum time period, so that earlier calls to hide it are delayed appropriately. It + * also allows to override the delaying for testing purposes. */ @NullMarked public final class DialogManager { @@ -51,7 +50,7 @@ public void replaceCallbackDelayerForTesting(CallbackDelayer newDelayer) { */ private @Nullable SingleThreadBarrierClosure mBarrierClosure; - /** Callback to run after the dialog was hidden. Can be null if no hiding was requested.*/ + /** Callback to run after the dialog was hidden. Can be null if no hiding was requested. */ private @Nullable Runnable mCallback; private boolean mShowingRequested; @@ -81,6 +80,7 @@ public interface ActionsConsumer { /** * Constructs a DialogManager, optionally with a callback to report which action was taken on * hiding. + * * @param actionsConsumer The callback called everytime {@link #hide} is executed. */ public DialogManager(@Nullable ActionsConsumer actionsConsumer) { @@ -127,6 +127,7 @@ public void show(DialogFragment dialog, FragmentManager fragmentManager) { * Hides the dialog as soon as possible, but not sooner than {@link MINIMUM_LIFE_SPAN_MILLIS} * milliseconds after it was shown. Attempts to hide the dialog when none is shown are * gracefully ignored but the callback is called in any case. + * * @param callback is asynchronously called as soon as the dialog is no longer visible. */ public void hide(@Nullable Runnable callback) { diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ExportErrorDialogFragment.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ExportErrorDialogFragment.java index 38099b9c414772..25f3c72ab53f54 100644 --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ExportErrorDialogFragment.java +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/settings/ExportErrorDialogFragment.java @@ -49,6 +49,7 @@ public static class ErrorDialogParams { /** * Sets the click handler for the dialog buttons. + * * @param mHandler The handler to use. */ public void setExportErrorHandler(DialogInterface.OnClickListener handler) { diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc index b5a7a8fd7c4f83..af2600d5d6c3fe 100644 --- a/chrome/browser/password_manager/chrome_password_manager_client.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc @@ -256,7 +256,7 @@ void MaybeShowPostMigrationSheetWrapper( bool PredictionsContainOtpFields( const base::flat_map& - predictions) { +predictions) { return std::any_of(predictions.begin(), predictions.end(), [](const auto& field) { return field.second == autofill::ONE_TIME_CODE; @@ -280,7 +280,7 @@ void ChromePasswordManagerClient::CreateForWebContents( // static void ChromePasswordManagerClient::BindPasswordGenerationDriver( mojo::PendingAssociatedReceiver - receiver, + receiver, content::RenderFrameHost* rfh) { // [spec] https://wicg.github.io/anonymous-iframe/#spec-autofill if (rfh->IsCredentialless()) { @@ -303,7 +303,7 @@ ChromePasswordManagerClient::~ChromePasswordManagerClient() = default; bool ChromePasswordManagerClient::IsSavingAndFillingEnabled( const GURL& url) const { if (base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableAutomation)) { + switches::kEnableAutomation)) { // Disable the password saving UI for automated tests. It obscures the // page, and there is no API to access (or dismiss) UI bubbles/infobars. return false; @@ -311,14 +311,14 @@ bool ChromePasswordManagerClient::IsSavingAndFillingEnabled( password_manager::PasswordManagerSettingsService* settings_service = PasswordManagerSettingsServiceFactory::GetForProfile(profile_); return settings_service && - settings_service->IsSettingEnabled( - PasswordManagerSetting::kOfferToSavePasswords) && - !IsOffTheRecord() && IsFillingEnabled(url); + settings_service->IsSettingEnabled( + PasswordManagerSetting::kOfferToSavePasswords) && + !IsOffTheRecord() && IsFillingEnabled(url); } bool ChromePasswordManagerClient::IsFillingEnabled(const GURL& url) const { const Profile* profile = - Profile::FromBrowserContext(web_contents()->GetBrowserContext()); + Profile::FromBrowserContext(web_contents()->GetBrowserContext()); // Guest profiles don't have PasswordStore at all, so filling should be // disabled for them. if (!profile || profile->IsGuestSession()) { @@ -348,7 +348,7 @@ bool ChromePasswordManagerClient::IsAutoSignInEnabled() const { password_manager::PasswordManagerSettingsService* settings_service = PasswordManagerSettingsServiceFactory::GetForProfile(profile_); return settings_service && settings_service->IsSettingEnabled( - PasswordManagerSetting::kAutoSignIn); + PasswordManagerSetting::kAutoSignIn); } void ChromePasswordManagerClient::TriggerUserPerceptionOfPasswordManagerSurvey( @@ -867,7 +867,7 @@ void ChromePasswordManagerClient::NotifyUserCouldBeAutoSignedIn( void ChromePasswordManagerClient::NotifySuccessfulLoginWithExistingPassword( std::unique_ptr - submitted_manager) { + submitted_manager) { helper_.NotifySuccessfulLoginWithExistingPassword( std::move(submitted_manager)); } @@ -885,7 +885,7 @@ bool ChromePasswordManagerClient::IsPasswordChangeOngoing() { password_change_service->GetPasswordChangeDelegate(web_contents()); if (delegate) { return delegate->GetCurrentState() == - PasswordChangeDelegate::State::kChangingPassword; + PasswordChangeDelegate::State::kChangingPassword; } } return false; @@ -1004,7 +1004,7 @@ void ChromePasswordManagerClient::AutofillHttpAuth( DCHECK(!form_manager->GetBestMatches().empty()); PasswordWasAutofilled(form_manager->GetBestMatches(), url::Origin::Create(form_manager->GetURL()), {}, - /*was_autofilled_on_pageload=*/false); + /*was_autofilled_on_pageload=*/false); } void ChromePasswordManagerClient::NotifyUserCredentialsWereLeaked( @@ -1077,7 +1077,7 @@ ChromePasswordManagerClient::GetProfilePasswordStore() const { // Always use EXPLICIT_ACCESS as the password manager checks IsOffTheRecord // itself when it shouldn't access the PasswordStore. return ProfilePasswordStoreFactory::GetForProfile( - profile_, ServiceAccessType::EXPLICIT_ACCESS) + profile_, ServiceAccessType::EXPLICIT_ACCESS) .get(); } @@ -1086,7 +1086,7 @@ ChromePasswordManagerClient::GetAccountPasswordStore() const { // Always use EXPLICIT_ACCESS as the password manager checks IsOffTheRecord // itself when it shouldn't access the PasswordStore. return AccountPasswordStoreFactory::GetForProfile( - profile_, ServiceAccessType::EXPLICIT_ACCESS) + profile_, ServiceAccessType::EXPLICIT_ACCESS) .get(); } @@ -1182,7 +1182,7 @@ ChromePasswordManagerClient::GetHttpAuthManager() { autofill::AutofillCrowdsourcingManager* ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() { if (auto* client = - autofill::ContentAutofillClient::FromWebContents(web_contents())) { + autofill::ContentAutofillClient::FromWebContents(web_contents())) { return &client->GetCrowdsourcingManager(); } return nullptr; @@ -1211,12 +1211,12 @@ autofill::LogManager* ChromePasswordManagerClient::GetCurrentLogManager() { } autofill::LogManager* ChromePasswordManagerClient::GetOrCreateLogManager() - const { +const { if (!log_manager_ && log_router_ && log_router_->HasReceivers()) { ContentPasswordManagerDriverFactory* driver_factory = GetDriverFactory(); log_manager_ = autofill::LogManager::Create( log_router_, base::BindRepeating(&ContentPasswordManagerDriverFactory:: - RequestSendLoggingAvailability, + RequestSendLoggingAvailability, base::Unretained(driver_factory))); driver_factory->RequestSendLoggingAvailability(); } @@ -1241,7 +1241,7 @@ void ChromePasswordManagerClient::AnnotateNavigationEntry( if (new_state > old_state) { SetPasswordStateInNavigation(new_state, entry); if (HistoryTabHelper* history_tab_helper = - HistoryTabHelper::FromWebContents(web_contents())) { + HistoryTabHelper::FromWebContents(web_contents())) { history_tab_helper->OnPasswordStateUpdated(new_state); } } @@ -1369,8 +1369,8 @@ void ChromePasswordManagerClient::PotentialSaveFormSubmitted() { password_manager::PasswordRequirementsService* ChromePasswordManagerClient::GetPasswordRequirementsService() { return password_manager::PasswordRequirementsServiceFactory:: - GetForBrowserContext( - Profile::FromBrowserContext(web_contents()->GetBrowserContext())); + GetForBrowserContext( + Profile::FromBrowserContext(web_contents()->GetBrowserContext())); } favicon::FaviconService* ChromePasswordManagerClient::GetFaviconService() { @@ -1383,7 +1383,7 @@ signin::IdentityManager* ChromePasswordManagerClient::GetIdentityManager() { } const signin::IdentityManager* ChromePasswordManagerClient::GetIdentityManager() - const { +const { return IdentityManagerFactory::GetForProfile(profile_->GetOriginalProfile()); } @@ -1398,7 +1398,7 @@ ChromePasswordManagerClient::GetURLLoaderFactory() { } network::mojom::NetworkContext* ChromePasswordManagerClient::GetNetworkContext() - const { +const { return profile_->GetDefaultStoragePartition()->GetNetworkContext(); } @@ -1443,14 +1443,14 @@ bool ChromePasswordManagerClient::IsIsolationForPasswordSitesEnabled() const { // the password component. Then remove IsIsolationForPasswordsSitesEnabled() // from the PasswordManagerClient interface. return site_isolation::SiteIsolationPolicy:: - IsIsolationForPasswordSitesEnabled(); + IsIsolationForPasswordSitesEnabled(); } bool ChromePasswordManagerClient::IsNewTabPage() const { auto origin = GetLastCommittedURL().DeprecatedGetOriginAsURL(); return origin == - GURL(chrome::kChromeUINewTabPageURL).DeprecatedGetOriginAsURL() || - origin == GURL(chrome::kChromeUINewTabURL).DeprecatedGetOriginAsURL(); + GURL(chrome::kChromeUINewTabPageURL).DeprecatedGetOriginAsURL() || + origin == GURL(chrome::kChromeUINewTabURL).DeprecatedGetOriginAsURL(); } password_manager::WebAuthnCredentialsDelegate* @@ -1502,7 +1502,7 @@ version_info::Channel ChromePasswordManagerClient::GetChannel() const { } void ChromePasswordManagerClient::RefreshPasswordManagerSettingsIfNeeded() - const { +const { #if BUILDFLAG(IS_ANDROID) if (PasswordManagerSettingsService* settings_service = PasswordManagerSettingsServiceFactory::GetForProfile(profile_)) { @@ -1558,10 +1558,10 @@ ChromePasswordManagerClient::ShowCrossDomainConfirmationPopup( element_bounds + client_area.OffsetFromOrigin(); auto controller = cross_domain_confirmation_popup_factory_for_testing_ - ? cross_domain_confirmation_popup_factory_for_testing_.Run() - : std::make_unique< - PasswordCrossDomainConfirmationPopupControllerImpl>( - web_contents()); + ? cross_domain_confirmation_popup_factory_for_testing_.Run() + : std::make_unique< + PasswordCrossDomainConfirmationPopupControllerImpl>( + web_contents()); controller->Show(element_bounds_in_screen_space, text_direction, domain, password_hostname, std::move(confirmation_callback), @@ -1584,9 +1584,9 @@ void ChromePasswordManagerClient::AutomaticGenerationAvailable( content::RenderFrameHost* rfh = password_generation_driver_receivers_.GetCurrentTargetFrame(); if (!password_manager::bad_message::CheckChildProcessSecurityPolicyForURL( - rfh, ui_data.form_data.url(), - BadMessageReason:: - CPMD_BAD_ORIGIN_AUTOMATIC_GENERATION_STATUS_CHANGED)) { + rfh, ui_data.form_data.url(), + BadMessageReason:: + CPMD_BAD_ORIGIN_AUTOMATIC_GENERATION_STATUS_CHANGED)) { return; } if (!password_manager::bad_message::CheckFrameNotPrerendering(rfh)) { @@ -1634,10 +1634,10 @@ void ChromePasswordManagerClient::AutomaticGenerationAvailable( gfx::RectF element_bounds_in_top_frame_space = TransformToRootCoordinates(driver->render_frame_host(), ui_data.bounds); if (driver->GetPasswordAutofillManager() - ->MaybeShowPasswordSuggestionsWithGeneration( - element_bounds_in_top_frame_space, ui_data.text_direction, - /*show_password_suggestions=*/ - ui_data.is_generation_element_password_type)) { + ->MaybeShowPasswordSuggestionsWithGeneration( + element_bounds_in_top_frame_space, ui_data.text_direction, + /*show_password_suggestions=*/ + ui_data.is_generation_element_password_type)) { // (see crbug.com/1338105) if (popup_controller_) { popup_controller_->GeneratedPasswordRejected(); @@ -1700,8 +1700,8 @@ void ChromePasswordManagerClient::PasswordNoLongerGenerated( CHECK(driver); password_manager_.OnPasswordNoLongerGenerated( driver, password_manager::GetFormWithFrameAndFormMetaData( - password_generation_driver_receivers_.GetCurrentTargetFrame(), - form_data)); + password_generation_driver_receivers_.GetCurrentTargetFrame(), + form_data)); #if !BUILDFLAG(IS_ANDROID) PasswordGenerationPopupController* controller = popup_controller_.get(); @@ -1797,10 +1797,10 @@ autofill::PasswordManagerDelegate* ChromePasswordManagerClient::GetAutofillDelegate( const autofill::FieldGlobalId& field_id) { if (content::RenderFrameHost* rfh = autofill::FindRenderFrameHostByToken( - *web_contents(), field_id.frame_token)) { + *web_contents(), field_id.frame_token)) { if (password_manager::ContentPasswordManagerDriver* driver = - password_manager::ContentPasswordManagerDriver:: - GetForRenderFrameHost(rfh)) { + password_manager::ContentPasswordManagerDriver:: + GetForRenderFrameHost(rfh)) { return driver->GetPasswordAutofillManager(); } } @@ -1816,11 +1816,11 @@ void ChromePasswordManagerClient::SetTestObserver( bool ChromePasswordManagerClient::CanShowBubbleOnURL(const GURL& url) { std::string scheme = url.scheme(); return (content::ChildProcessSecurityPolicy::GetInstance()->IsWebSafeScheme( - scheme) && + scheme) && #if BUILDFLAG(ENABLE_EXTENSIONS) - scheme != extensions::kExtensionScheme && + scheme != extensions::kExtensionScheme && #endif - scheme != content::kChromeDevToolsScheme); + scheme != content::kChromeDevToolsScheme); } #if BUILDFLAG(IS_ANDROID) @@ -1909,20 +1909,20 @@ ChromePasswordManagerClient::ChromePasswordManagerClient( password_generation_driver_receivers_(web_contents, this), observer_(nullptr), #if BUILDFLAG(ENABLE_DICE_SUPPORT) - credentials_filter_( + credentials_filter_( this, DiceWebSigninInterceptorFactory::GetForProfile(profile_)), #else credentials_filter_(this), #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) log_router_(password_manager::PasswordManagerLogRouterFactory:: - GetForBrowserContext(profile_)), + GetForBrowserContext(profile_)), helper_(this) { ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this); autofill_managers_observation_.Observe( web_contents, autofill::ScopedAutofillManagersObservation:: - InitializationPolicy::kObservePreexistingManagers); + InitializationPolicy::kObservePreexistingManagers); #if BUILDFLAG(IS_ANDROID) // This prevents the access loss warning from trying to show on opening new @@ -2106,7 +2106,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( return false; } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) + // BUILDFLAG(IS_CHROMEOS) bool is_enabled = CanShowBubbleOnURL(url); @@ -2160,21 +2160,21 @@ bool ChromePasswordManagerClient::IsPasswordManagerForUrlDisallowedByPolicy( return false; } #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) +// BUILDFLAG(IS_CHROMEOS) void ChromePasswordManagerClient::GenerationResultAvailable( PasswordGenerationType type, base::WeakPtr driver, const std::optional< - autofill::password_generation::PasswordGenerationUIData>& ui_data) { + autofill::password_generation::PasswordGenerationUIData>& ui_data) { if (!ui_data || !driver) { return; } // Check the data because it's a Mojo callback and the input isn't trusted. if (!password_manager::bad_message::CheckChildProcessSecurityPolicyForURL( - driver->render_frame_host(), ui_data->form_data.url(), - BadMessageReason:: - CPMD_BAD_ORIGIN_SHOW_MANUAL_PASSWORD_GENERATION_POPUP)) { + driver->render_frame_host(), ui_data->form_data.url(), + BadMessageReason:: + CPMD_BAD_ORIGIN_SHOW_MANUAL_PASSWORD_GENERATION_POPUP)) { return; } #if BUILDFLAG(IS_ANDROID) @@ -2352,4 +2352,4 @@ void ChromePasswordManagerClient::TryToShowAccessLossWarningSheet() { } #endif -WEB_CONTENTS_USER_DATA_KEY_IMPL(ChromePasswordManagerClient); +WEB_CONTENTS_USER_DATA_KEY_IMPL(ChromePasswordManagerClient); \ No newline at end of file diff --git a/chrome/browser/password_manager/chrome_password_manager_client.h b/chrome/browser/password_manager/chrome_password_manager_client.h index 9ad644a015b950..008b67e3cae1f0 100644 --- a/chrome/browser/password_manager/chrome_password_manager_client.h +++ b/chrome/browser/password_manager/chrome_password_manager_client.h @@ -132,12 +132,12 @@ class ChromePasswordManagerClient static void CreateForWebContents(content::WebContents* contents); static void BindPasswordGenerationDriver( mojo::PendingAssociatedReceiver - receiver, + receiver, content::RenderFrameHost* rfh); ChromePasswordManagerClient(const ChromePasswordManagerClient&) = delete; ChromePasswordManagerClient& operator=(const ChromePasswordManagerClient&) = - delete; + delete; ~ChromePasswordManagerClient() override; @@ -150,7 +150,7 @@ class ChromePasswordManagerClient bool is_update) override; void PromptUserToMovePasswordToAccount( std::unique_ptr form_to_move) - override; + override; void ShowManualFallbackForSaving( std::unique_ptr form_to_save, bool has_generated_password, @@ -180,7 +180,7 @@ class ChromePasswordManagerClient // This is currently only implemented for Android, Mac and Windows. On all // other platforms this will always be null. std::unique_ptr GetDeviceAuthenticator() - override; + override; void GeneratePassword( autofill::password_generation::PasswordGenerationType type) override; void NotifyUserAutoSignin( @@ -190,7 +190,7 @@ class ChromePasswordManagerClient std::unique_ptr form) override; void NotifySuccessfulLoginWithExistingPassword( std::unique_ptr - submitted_manager) override; + submitted_manager) override; bool IsPasswordChangeOngoing() override; void NotifyStorePasswordCalled() override; void NotifyOnSuccessfulLogin( @@ -205,10 +205,10 @@ class ChromePasswordManagerClient base::span best_matches, bool is_blocklisted, std::optional backend_error) - override; + override; void AutomaticPasswordSave( std::unique_ptr - saved_form_manager, + saved_form_manager, bool is_update_confirmation) override; void PasswordWasAutofilled( base::span best_matches, @@ -226,13 +226,13 @@ class ChromePasswordManagerClient const syncer::SyncService* GetSyncService() const override; affiliations::AffiliationService* GetAffiliationService() override; password_manager::PasswordStoreInterface* GetProfilePasswordStore() - const override; + const override; password_manager::PasswordStoreInterface* GetAccountPasswordStore() - const override; + const override; password_manager::PasswordReuseManager* GetPasswordReuseManager() - const override; + const override; password_manager::PasswordChangeServiceInterface* GetPasswordChangeService() - const override; + const override; bool WasLastNavigationHTTPError() const override; net::CertStatus GetMainFrameCertStatus() const override; @@ -240,18 +240,18 @@ class ChromePasswordManagerClient bool IsOffTheRecord() const override; profile_metrics::BrowserProfileType GetProfileType() const override; const password_manager::PasswordManagerInterface* GetPasswordManager() - const override; + const override; using password_manager::PasswordManagerClient::GetPasswordFeatureManager; const password_manager::PasswordFeatureManager* GetPasswordFeatureManager() - const override; + const override; password_manager::HttpAuthManager* GetHttpAuthManager() override; autofill::AutofillCrowdsourcingManager* GetAutofillCrowdsourcingManager() - override; + override; bool IsCommittedMainFrameSecure() const override; const GURL& GetLastCommittedURL() const override; url::Origin GetLastCommittedOrigin() const override; const password_manager::CredentialsFilter* GetStoreResultFilter() - const override; + const override; autofill::LogManager* GetCurrentLogManager() override; void AnnotateNavigationEntry(bool has_password_field) override; autofill::LanguageCode GetPageLanguage() const override; @@ -291,7 +291,7 @@ class ChromePasswordManagerClient ukm::SourceId GetUkmSourceId() override; password_manager::PasswordManagerMetricsRecorder* GetMetricsRecorder() - override; + override; #if BUILDFLAG(IS_ANDROID) password_manager::FirstCctPageLoadPasswordsUkmRecorder* GetFirstCctPageLoadUkmRecorder() override; @@ -346,7 +346,7 @@ class ChromePasswordManagerClient // autofill::mojom::PasswordGenerationDriver overrides. void AutomaticGenerationAvailable( const autofill::password_generation::PasswordGenerationUIData& ui_data) - override; + override; void PresaveGeneratedPassword(const autofill::FormData& form_data, const std::u16string& password_value) override; void PasswordNoLongerGenerated(const autofill::FormData& form_data) override; @@ -447,7 +447,7 @@ class ChromePasswordManagerClient FieldTypeSource source) override; password_manager::ContentPasswordManagerDriverFactory* GetDriverFactory() - const; + const; // Given |bounds| in the renderers coordinate system, return the same bounds // in the screens coordinate system. @@ -470,7 +470,7 @@ class ChromePasswordManagerClient autofill::password_generation::PasswordGenerationType type, base::WeakPtr driver, const std::optional< - autofill::password_generation::PasswordGenerationUIData>& ui_data); + autofill::password_generation::PasswordGenerationUIData>& ui_data); #if !BUILDFLAG(IS_ANDROID) void ShowPasswordGenerationPopup( diff --git a/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc b/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc index 6525ba9e55f199..9c3c3aec33abd0 100644 --- a/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc +++ b/chrome/browser/password_manager/chrome_password_manager_client_unittest.cc @@ -1355,6 +1355,23 @@ TEST_F(ChromePasswordManagerClientTest, AnnotateNavigationEntryTrueToFalse) { GetPasswordStateFromNavigation(controller().GetLastCommittedEntry())); } +// Handle missing ChromePasswordManagerClient instance in BindCredentialManager +// gracefully. +TEST_F(ChromePasswordManagerClientTest, BindCredentialManager_MissingInstance) { + // Create a WebContent without tab helpers. + std::unique_ptr web_contents = + content::WebContents::Create( + content::WebContents::CreateParams(profile())); + // In particular, this WebContent should not have the + // ChromePasswordManagerClient. + ASSERT_FALSE( + ChromePasswordManagerClient::FromWebContents(web_contents.get())); + + // This call should not crash. + ChromePasswordManagerClient::BindCredentialManager( + web_contents->GetPrimaryMainFrame(), mojo::NullReceiver()); +} + TEST_F(ChromePasswordManagerClientTest, CanShowBubbleOnURL) { struct TestCase { const char* scheme; diff --git a/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc b/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc index 7bd8780785df25..2f48b8dd31e26e 100644 --- a/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc +++ b/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc @@ -285,17 +285,12 @@ TEST_F(PageDiscardingHelperTest, DiscardAPageSingleCandidateFails) { PageDiscardingHelper::GetFromGraph(graph())->DiscardAPage( DiscardReason::URGENT); EXPECT_FALSE(first_discarded_at.has_value()); - // On the first discard attempt, an attempt will be made to discard - // `page_node()`, which will render it uneligible for the next discard - // attempt. + // There should be 2 discard attempts, during the first one an attempt will be + // made to discard |page_node()|, on the second attempt no discard candidate + // should be found. histogram_tester()->ExpectBucketCount("Discarding.DiscardCandidatesCount", 1, 1); - first_discarded_at = - PageDiscardingHelper::GetFromGraph(graph())->DiscardAPage( - DiscardReason::URGENT); - EXPECT_FALSE(first_discarded_at.has_value()); - // No eligible candidate found. histogram_tester()->ExpectBucketCount("Discarding.DiscardCandidatesCount", 0, 1); } diff --git a/chrome/browser/policy/android/java/src/org/chromium/chrome/browser/policy/PolicyServiceFactory.java b/chrome/browser/policy/android/java/src/org/chromium/chrome/browser/policy/PolicyServiceFactory.java index 52d0967a8fa1ae..1256dc82834213 100644 --- a/chrome/browser/policy/android/java/src/org/chromium/chrome/browser/policy/PolicyServiceFactory.java +++ b/chrome/browser/policy/android/java/src/org/chromium/chrome/browser/policy/PolicyServiceFactory.java @@ -15,9 +15,8 @@ import org.chromium.components.policy.PolicyService; /** - * Get the PolicyService instance. Note that the associated C++ instance won't - * notify its deletion. It's caller's responsibility to make sure the instance - * is still valid. + * Get the PolicyService instance. Note that the associated C++ instance won't notify its deletion. + * It's caller's responsibility to make sure the instance is still valid. */ @JNINamespace("policy::android") @NullMarked @@ -25,8 +24,8 @@ public class PolicyServiceFactory { private static @Nullable PolicyService sPolicyServiceForTest; /** - * Returns the PolicyService instance that contains browser policies. - * The associated C++ instance is deleted during shutdown. + * Returns the PolicyService instance that contains browser policies. The associated C++ + * instance is deleted during shutdown. */ public static PolicyService getGlobalPolicyService() { return sPolicyServiceForTest == null diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 87e90ea501499b..d8eeace3ab43e9 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc @@ -205,6 +205,11 @@ #include "ppapi/buildflags/buildflags.h" #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" +#include "third_party/widevine/cdm/buildflags.h" + +#if BUILDFLAG(ENABLE_WIDEVINE) +#include "chrome/common/widevine/widevine_utils.h" +#endif #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/extensions/background_mode_manager.h" @@ -1965,6 +1970,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { // This is intentionally last. RegisterLocalStatePrefsForMigration(registry); + + +#if BUILDFLAG(ENABLE_WIDEVINE) + RegisterWidevineLocalstatePrefs(registry); +#endif } // Register prefs applicable to all profiles. @@ -2407,6 +2417,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterDictionaryPref(prefs::kReportingEndpoints); registry->RegisterBooleanPref(prefs::kViewSourceLineWrappingEnabled, false); + +#if BUILDFLAG(ENABLE_WIDEVINE) + RegisterWidevineProfilePrefs(registry); +#endif } void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { diff --git a/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsSettings.java b/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsSettings.java index e67758eba92aa4..302b70fa63633d 100644 --- a/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsSettings.java +++ b/chrome/browser/privacy/java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsSettings.java @@ -67,8 +67,7 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable S SettingsUtils.addPreferencesFromResource(this, R.xml.secure_dns_settings); // Set up preferences inside the activity. - mSecureDnsSwitch = - (ChromeSwitchPreference) findPreference(PREF_SECURE_DNS_SWITCH); + mSecureDnsSwitch = (ChromeSwitchPreference) findPreference(PREF_SECURE_DNS_SWITCH); mSecureDnsSwitch.setManagedPreferenceDelegate( new ChromeManagedPreferenceDelegate(getProfile()) { @Override @@ -102,8 +101,7 @@ public boolean isPreferenceControlledByPolicy(Preference preference) { } mSecureDnsProviderPreference = - (SecureDnsProviderPreference) - findPreference(PREF_SECURE_DNS_PROVIDER); + (SecureDnsProviderPreference) findPreference(PREF_SECURE_DNS_PROVIDER); mSecureDnsProviderPreference.setOnPreferenceChangeListener( (preference, value) -> { State controlState = (State) value; diff --git a/chrome/browser/profiles/profile_shortcut_manager_win.cc b/chrome/browser/profiles/profile_shortcut_manager_win.cc index dccd3371744697..0a6983c6c0ca38 100644 --- a/chrome/browser/profiles/profile_shortcut_manager_win.cc +++ b/chrome/browser/profiles/profile_shortcut_manager_win.cc @@ -78,7 +78,7 @@ const int kMaxProfileShortcutFileNameLength = 64; // Incrementing this number will cause profile icons to be regenerated on // profile startup (it should be incremented whenever the product/avatar icons // change, etc). -const int kCurrentProfileIconVersion = 10; +const int kCurrentProfileIconVersion = 20; bool disabled_for_unit_tests = false; bool disable_unpinning_for_unit_tests = false; diff --git a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefsUnitTest.java b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefsUnitTest.java index 65bbcedfd6a0f8..9422170693bdfd 100644 --- a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefsUnitTest.java +++ b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefsUnitTest.java @@ -11,7 +11,6 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; -import org.chromium.chrome.modules.readaloud.PlaybackArgs.PlaybackMode; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -24,6 +23,7 @@ import org.chromium.base.test.BaseRobolectricTestRunner; import org.chromium.base.test.util.HistogramWatcher; import org.chromium.chrome.browser.readaloud.testing.MockPrefServiceHelper; +import org.chromium.chrome.modules.readaloud.PlaybackArgs.PlaybackMode; import org.chromium.components.prefs.PrefService; import java.util.Map; @@ -100,7 +100,8 @@ public void testSetSpeed() { @Test public void setPlaybackMode() { ReadAloudPrefs.setPlaybackMode(mPrefService, PlaybackMode.OVERVIEW); - verify(mPrefService).setInteger(eq("readaloud.playback_mode"), eq(PlaybackMode.OVERVIEW.getValue())); + verify(mPrefService) + .setInteger(eq("readaloud.playback_mode"), eq(PlaybackMode.OVERVIEW.getValue())); } @Test diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.cc b/chrome/browser/renderer_context_menu/render_view_context_menu.cc index f896be9a8d0abb..9e10f443fbd33c 100644 --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc @@ -1044,6 +1044,7 @@ void RenderViewContextMenu::InitMenu() { AppendImageItems(); } + /* if (content_type_->SupportsGroup( ContextMenuContentType::ITEM_GROUP_SEARCHWEBFORIMAGE)) { AppendSearchWebForImageItems(); @@ -1053,6 +1054,7 @@ void RenderViewContextMenu::InitMenu() { ContextMenuContentType::ITEM_GROUP_MEDIA_VIDEO)) { AppendVideoItems(); } + */ if (content_type_->SupportsGroup( ContextMenuContentType::ITEM_GROUP_MEDIA_AUDIO)) { @@ -2128,20 +2130,25 @@ void RenderViewContextMenu::AppendPageItems() { menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); AppendLiveCaptionItem(); AppendMediaRouterItem(); + + /* if (IsRegionSearchEnabled()) { AppendRegionSearchItem(); } + */ + AppendReadingModeItem(); // Note: `has_sharing_menu_items = true` also implies a separator was added // for sharing section. bool has_sharing_menu_items = false; + // Send-Tab-To-Self (user's other devices), page level. - if (GetBrowser() && - send_tab_to_self::ShouldDisplayEntryPoint(embedder_web_contents_)) { - AppendSendTabToSelfItem(/*add_separator=*/!has_sharing_menu_items); - has_sharing_menu_items = true; - } + // if (GetBrowser() && + // send_tab_to_self::ShouldDisplayEntryPoint(embedder_web_contents_)) { + // AppendSendTabToSelfItem(/*add_separator=*/!has_sharing_menu_items); + // has_sharing_menu_items = true; + // } // Context menu item for QR Code Generator. has_sharing_menu_items |= @@ -3318,7 +3325,7 @@ void RenderViewContextMenu::ExecuteCommand(int id, int event_flags) { break; case IDC_SEND_TAB_TO_SELF: - send_tab_to_self::ShowBubble(embedder_web_contents_); + // send_tab_to_self::ShowBubble(embedder_web_contents_); break; case IDC_CONTENT_CONTEXT_GENERATE_QR_CODE: { diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn index ca7e404e3ad467..2648c687569266 100644 --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn @@ -60,6 +60,7 @@ group("resources") { "settings:resources", "settings_shared:resources", "side_panel/bookmarks:resources", + "side_panel/chat:resources", "side_panel/commerce:resources", "side_panel/customize_chrome:resources", "side_panel/history:resources", diff --git a/chrome/browser/resources/ash/settings/os_about_page/about_page_browser_proxy.ts b/chrome/browser/resources/ash/settings/os_about_page/about_page_browser_proxy.ts index f6d8e6530947e5..872039712e5ee2 100644 --- a/chrome/browser/resources/ash/settings/os_about_page/about_page_browser_proxy.ts +++ b/chrome/browser/resources/ash/settings/os_about_page/about_page_browser_proxy.ts @@ -200,8 +200,6 @@ export interface AboutPageBrowserProxy { */ getChannelInfo(): Promise; - canChangeFirmware(): Promise; - canChangeChannel(): Promise; getVersionInfo(): Promise; @@ -326,10 +324,6 @@ export class AboutPageBrowserProxyImpl implements AboutPageBrowserProxy { return sendWithPromise('getChannelInfo'); } - canChangeFirmware(): Promise { - return sendWithPromise('canChangeFirmware'); - } - canChangeChannel(): Promise { return sendWithPromise('canChangeChannel'); } diff --git a/chrome/browser/resources/ash/settings/os_about_page/os_about_page.html b/chrome/browser/resources/ash/settings/os_about_page/os_about_page.html index 4055918571c4b8..eb75373947605d 100644 --- a/chrome/browser/resources/ash/settings/os_about_page/os_about_page.html +++ b/chrome/browser/resources/ash/settings/os_about_page/os_about_page.html @@ -253,7 +253,6 @@

$i18n{aboutOsProductTitle}

external deep-link-focus-id$="[[Setting.kDiagnostics]]"> - - { - this.canChangeFirmware_ = canChangeFirmware; - }); - } - private onUpdateStatusChanged_(event: UpdateStatusChangedEvent): void { if (event.status === UpdateStatus.CHECKING) { this.hasCheckedForUpdates_ = true; @@ -503,10 +489,6 @@ export class OsAboutPageElement extends OsAboutPageBase { this.currentUpdateStatusEvent_.status !== UpdateStatus.DISABLED; } - private getFirmwareDisabledIndicatorType_(): string { - return CrPolicyIndicatorType.DEVICE_POLICY; - } - /** * Hide the button container if all buttons are hidden, otherwise the * container displays an unwanted border (see separator class). @@ -773,7 +755,6 @@ export class OsAboutPageElement extends OsAboutPageBase { private onTpmFirmwareUpdateStatusChanged_( event: TpmFirmwareUpdateStatusChangedEvent): void { this.showTPMFirmwareUpdateLineItem_ = event.updateAvailable; - this.updateFirmwareInfo_(); } private onTpmFirmwareUpdateClick_(): void { @@ -806,13 +787,9 @@ export class OsAboutPageElement extends OsAboutPageBase { // private getFirmwareSublabel_(): string|null { - if (!this.canChangeFirmware_) { - return this.i18n('aboutFirmwareUpdatesDisabledDescription'); - } - if (this.firmwareUpdateCount_ > 0) { - return this.i18n('aboutFirmwareUpdateAvailableDescription'); - } - return this.i18n('aboutFirmwareUpToDateDescription'); + return this.firmwareUpdateCount_ > 0 ? + this.i18n('aboutFirmwareUpdateAvailableDescription') : + this.i18n('aboutFirmwareUpToDateDescription'); } private computeShowExtendedUpdatesOption_(): boolean { diff --git a/chrome/browser/resources/glic/BUILD.gn b/chrome/browser/resources/glic/BUILD.gn index 86a891177d2b72..876808126c680e 100644 --- a/chrome/browser/resources/glic/BUILD.gn +++ b/chrome/browser/resources/glic/BUILD.gn @@ -27,9 +27,9 @@ build_webui("build") { "glic_app_controller.ts", "icons.html.ts", "main.ts", - "observable.ts", "timer.ts", "webview.ts", + "observable.ts", ] webui_context_type = "trusted" diff --git a/chrome/browser/resources/lens/overlay/region_selection.ts b/chrome/browser/resources/lens/overlay/region_selection.ts index b51459d3ca52c7..9f5c0f53a441f8 100644 --- a/chrome/browser/resources/lens/overlay/region_selection.ts +++ b/chrome/browser/resources/lens/overlay/region_selection.ts @@ -250,6 +250,7 @@ export class RegionSelectionElement extends RegionSelectionElementBase { this.isSelecting = false; } + // Fade out scrim after drag to resize selection in post selection renderer // TODO(crbug.com/420998632): Move scrim out to a central component so that // post selection drag handling is not dependent on the region selection scrim diff --git a/chrome/browser/resources/new_tab_page/app.css b/chrome/browser/resources/new_tab_page/app.css index cd3ffbe65ff7d8..a4cb2f3a6a9099 100644 --- a/chrome/browser/resources/new_tab_page/app.css +++ b/chrome/browser/resources/new_tab_page/app.css @@ -112,11 +112,12 @@ cr-most-visited { #content { align-items: center; + justify-content: center; display: flex; flex-direction: column; - height: calc(100vh - var(--ntp-one-google-bar-height)); + height: 100vh; min-width: fit-content; /* Prevents OneGoogleBar cutoff at 500% zoom. */ - padding-top: var(--ntp-one-google-bar-height); + padding: 0; position: relative; z-index: 1; } diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html index 79b951ea61f5bb..b84b793bb501fb 100644 --- a/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html @@ -2,130 +2,12 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js'; #html_wrapper_imports_end -->
- ${this.lazyRender_ && this.microsoftModuleEnabled_ ? html` - - ` : ''} - ${this.lazyRender_ && this.oneGoogleBarEnabled_ ? html` -
- - - ` : ''} - - -
- - - ${this.showComposebox_ ? html` - - - ` : ''} - ${this.showLensUploadDialog_ ? html` - - - ` : ''} -
- ${this.lazyRender_ ? html` - - ` : ''} ${this.lazyRender_ ? html` ${this.shortcutsEnabled_ ? html` ` : ''} - ${this.middleSlotPromoEnabled_ ? html` - - - ` : ''} - ${this.modulesEnabled_ ? html` - ${html` - - - `} - ` : ''} - ${!this.isFooterVisible_ ? html` - -
-
-
- ${this.backgroundImageAttribution1_} -
-
-
- ${this.backgroundImageAttribution2_} -
-
- - - ` : ''} - ${this.showThemeAttribution_() ? html` -
-
$i18n{themeCreatedBy}
- -
- ` : ''} ` : ''}
-${this.showVoiceSearchOverlay_ ? html` - - -` : ''} -${this.showComposebox_ ? html` -
-` : ''} - - - - - - - - diff --git a/chrome/browser/resources/new_tab_page_incognito_guest/incognito_tab.html b/chrome/browser/resources/new_tab_page_incognito_guest/incognito_tab.html index 06914746fb87c4..2fb03ff2949770 100644 --- a/chrome/browser/resources/new_tab_page_incognito_guest/incognito_tab.html +++ b/chrome/browser/resources/new_tab_page_incognito_guest/incognito_tab.html @@ -24,9 +24,9 @@

$i18n{incognitoTabHeading}

$i18n{incognitoTabDescription} - $i18n{learnMore} + + +

$i18nRaw{incognitoTabFeatures}
diff --git a/chrome/browser/resources/settings/about_page/about_page.html b/chrome/browser/resources/settings/about_page/about_page.html index a2e3ef715fef2c..3c3957c7b1ce24 100644 --- a/chrome/browser/resources/settings/about_page/about_page.html +++ b/chrome/browser/resources/settings/about_page/about_page.html @@ -57,80 +57,80 @@
- - - -
- - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$i18n{aboutBrowserVersion}
- - - - + + + + + + + + +
- - - - + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - + + + + + + + + + + + diff --git a/chrome/browser/resources/settings/appearance_page/appearance_page.html b/chrome/browser/resources/settings/appearance_page/appearance_page.html index 0d6ab878ac33d5..f33d1bbfcb35ce 100644 --- a/chrome/browser/resources/settings/appearance_page/appearance_page.html +++ b/chrome/browser/resources/settings/appearance_page/appearance_page.html @@ -41,47 +41,47 @@
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-
- hidden="[[!showColorSchemeMode_(prefs.extensions.theme.id.value, - systemTheme_)]]" - - > +
+ + + +