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 conectadoPara maximizar a janela, mantenha-a pressionadaA rede não está ativada.
-Desativada
+DesativadoAtivarMostrar configurações do Quick Share. Visibilidade selecionadaBateria 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 EspecialistaDigitalizar documentoModo Especialista
-Desativada
+DesativadoGradeAtivadoDiminuir 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 extends Activity> 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 textYou 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 serviceBy turning this off, you can sign in to Google sites such as Gmail, without signing in to ChromiumRemove 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 youYou'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 verifiedTo 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 accountCustomise 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 extensionsWith 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 connectionGet Chrome's strongest securityWhile 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 serviceYou can pin Google Lens for easy accessGoogle 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 @@
-
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 -->
+ ${
+ // If chat is open via chrome://chat, the title of the tab is null; in this case we won't show the close button on the Chat UI header
+ this.siteInfo_.title === null
+ ? html``
+ : html`
+ `
+ }
+
${this.title_}
+
+
+
+
+
+
+ ${
+ this.conversations_.map(conversation => {
+ // if there is no user prompt or query to display due to some errors, we will only display LLM's response and thinking if any
+ if (conversation.query.length == 0) {
+ return html`${getThinkingAndResponseElements.bind(this)(
+ conversation.thinkingText,
+ conversation.responseText,
+ conversation.id,
+ false,
+ conversation.showThinkingText,
+ conversation.errorText)}`;
+ }
+
+ if (conversation.shouldDisplaySiteInfo) {
+ return html`
+
+
{
+ // capture URL here so that the correct url will be open
+ // even if multiple browser windows are open
+ const url = "https://" + conversation.url;
+ const modifier: ClickModifiers = {
+ middleButton: false,
+ altKey: e.altKey,
+ ctrlKey: e.ctrlKey,
+ metaKey: e.metaKey,
+ shiftKey: e.shiftKey,
+ };
+ this.openUrl_(url, modifier);
+ }}"
+ @auxclick="${(e: MouseEvent) => {
+ if (e.button !== 1) {
+ // not a middle click
+ return;
+ }
+ // capture URL here so that the correct url will be open
+ // even if multiple browser windows are open
+ const url = "https://" + conversation.url;
+ const modifier: ClickModifiers = {
+ middleButton: true,
+ altKey: e.altKey,
+ ctrlKey: e.ctrlKey,
+ metaKey: e.metaKey,
+ shiftKey: e.shiftKey,
+ };
+ this.openUrl_(url, modifier);
+ }}">
+
+
* A radio button group used for Safe Browsing. Currently, it has 3 options: Enhanced Protection,
* Standard Protection and No Protection. When the Enhanced Protection flag is disabled, the
* Enhanced Protection option will be removed.
- *
*
- *
- * This preference also provides an interface {@link
+ *
This preference also provides an interface {@link
* RadioButtonGroupSafeBrowsingPreference.OnSafeBrowsingModeDetailsRequested} that is triggered when
* more information of a Safe Browsing mode is requested.
- *
*/
@NullMarked
public class RadioButtonGroupSafeBrowsingPreference extends Preference
@@ -146,8 +142,9 @@ public void onAuxButtonClicked(int clickedButtonId) {
/**
* Sets a listener that will be notified when details of a Safe Browsing mode are requested.
+ *
* @param listener New listener that will be notified when details of a Safe Browsing mode are
- * requested.
+ * requested.
*/
@Initializer
public void setSafeBrowsingModeDetailsRequestedListener(
diff --git a/chrome/browser/shell_integration_linux.cc b/chrome/browser/shell_integration_linux.cc
index 29e5151078ae04..20e8e4fef220f3 100644
--- a/chrome/browser/shell_integration_linux.cc
+++ b/chrome/browser/shell_integration_linux.cc
@@ -474,21 +474,23 @@ std::string GetProgramClassClass(const base::CommandLine& command_line,
std::string GetProgramClassName() {
std::unique_ptr env(base::Environment::Create());
- return internal::GetProgramClassName(*base::CommandLine::ForCurrentProcess(),
- chrome::GetDesktopName(env.get()));
+// return internal::GetProgramClassName(*base::CommandLine::ForCurrentProcess(),
+// chrome::GetDesktopName(env.get()));
+ return "taktak-browser";
}
std::string GetProgramClassClass() {
std::unique_ptr env(base::Environment::Create());
- return internal::GetProgramClassClass(*base::CommandLine::ForCurrentProcess(),
- chrome::GetDesktopName(env.get()));
+// return internal::GetProgramClassClass(*base::CommandLine::ForCurrentProcess(),
+// chrome::GetDesktopName(env.get()));
+ return "taktak-browser";
}
std::string GetIconName() {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
return "google-chrome";
#else // BUILDFLAG(CHROMIUM_BRANDING)
- return "chromium-browser";
+ return "taktak-browser";
#endif
}
diff --git a/chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service_factory.h b/chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service_factory.h
index 6220a5515553f0..914ba9a278a99a 100644
--- a/chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service_factory.h
+++ b/chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service_factory.h
@@ -15,6 +15,10 @@ namespace user_prefs {
class PrefRegistrySyncable;
}
+// Enables bound sessions marked with "wsbeta" flag even when the main
+// `switches::kBoundSessionCredentialsEnabled` feature is disabled.
+BASE_DECLARE_FEATURE(kEnableBoundSessionCredentialsWsbetaBypass);
+
class BoundSessionCookieRefreshServiceFactory
: public ProfileKeyedServiceFactory {
public:
diff --git a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegateProvider.java b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegateProvider.java
index afca5c98fe4d0b..c68c2d1060d48c 100644
--- a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegateProvider.java
+++ b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/ParentAuthDelegateProvider.java
@@ -20,8 +20,7 @@ public class ParentAuthDelegateProvider {
private static @Nullable ParentAuthDelegate sTestingInstance;
/**
- * Sets the test instance. Can be called multiple times to change the instance
- * during testing.
+ * Sets the test instance. Can be called multiple times to change the instance during testing.
*/
@VisibleForTesting
@AnyThread
diff --git a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalCoordinator.java b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalCoordinator.java
index fa31dd2e61a53c..c856b1b793f7a0 100644
--- a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalCoordinator.java
+++ b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalCoordinator.java
@@ -19,8 +19,8 @@
import org.chromium.url.GURL;
/**
- * Coordinator for the bottom sheet content in the screen which allows a parent to approve or deny
- * a website.
+ * Coordinator for the bottom sheet content in the screen which allows a parent to approve or deny a
+ * website.
*/
@NullMarked
public class WebsiteApprovalCoordinator {
diff --git a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalViewBinder.java b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalViewBinder.java
index d3b23f1db00373..e652db318924d2 100644
--- a/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalViewBinder.java
+++ b/chrome/browser/supervised_user/android/java/src/org/chromium/chrome/browser/supervised_user/website_approval/WebsiteApprovalViewBinder.java
@@ -15,8 +15,8 @@
@NullMarked
class WebsiteApprovalViewBinder {
/**
- * Called whenever a property in the given model changes. It updates the given view
- * accordingly.
+ * 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 WebsiteApprovalSheetContent} to update.
* @param propertyKey The {@link PropertyKey} which changed.
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/EmptyTabObserver.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/EmptyTabObserver.java
index f44dd1766c265b..e353aca407abcd 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/EmptyTabObserver.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/EmptyTabObserver.java
@@ -23,7 +23,7 @@
/**
* An implementation of the {@link TabObserver} which has empty implementations of all methods.
*
- * Note: Do not replace this with TabObserver with default interface methods as it inadvertently
+ *
Note: Do not replace this with TabObserver with default interface methods as it inadvertently
* bloats the number of methods. See https://crbug.com/781359.
*/
@NullMarked
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
index a39399a462adce..6764b8ecd5953f 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
@@ -79,9 +79,9 @@ public LoadUrlResult(
boolean hasObserver(TabObserver observer);
/**
- * @return {@link UserDataHost} that manages {@link UserData} objects attached to.
- * This is used for managing Tab-specific attributes/objects without Tab
- * object having to know about them directly.
+ * @return {@link UserDataHost} that manages {@link UserData} objects attached to. This is used
+ * for managing Tab-specific attributes/objects without Tab object having to know about them
+ * directly.
*/
UserDataHost getUserDataHost();
@@ -94,9 +94,9 @@ public LoadUrlResult(
@Nullable WebContents getWebContents();
/**
- * @return The {@link Activity} {@link Context} if this {@link Tab} is attached to an
- * {@link Activity}, otherwise the themed application context (e.g. hidden tab or
- * browser action tab).
+ * @return The {@link Activity} {@link Context} if this {@link Tab} is attached to an {@link
+ * Activity}, otherwise the themed application context (e.g. hidden tab or browser action
+ * tab).
*/
Context getContext();
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
index 6fc77ea5cefc29..bb31d4e9a98d7d 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
@@ -115,9 +115,8 @@ public void setAppId(String name) {
/**
* @see #setAppId(String) for more information.
- *
- * @return The id of the application associated with that tab (null if not
- * associated with an app).
+ * @return The id of the application associated with that tab (null if not associated with an
+ * app).
*/
public @Nullable String getAppId() {
return mId;
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAttributes.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAttributes.java
index 8ee17f7a545eb0..9e321a53fd69bc 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAttributes.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAttributes.java
@@ -13,8 +13,8 @@
import java.util.Map;
/**
- * Per-tab storage that holds a map of attributes. Allows other classes to access
- * the attribute without having it directly hang on to a tab.
+ * Per-tab storage that holds a map of attributes. Allows other classes to access the attribute
+ * without having it directly hang on to a tab.
*/
@NullMarked
public class TabAttributes implements UserData {
@@ -36,6 +36,7 @@ private TabAttributes() {}
/**
* Gets the attribute of the Tab.
+ *
* @param key Name of the attribute.
*/
@SuppressWarnings("unchecked")
@@ -46,10 +47,11 @@ private TabAttributes() {}
/**
* Gets the attribute of the Tab.
+ *
* @param key Name of the attribute.
- * @param defaultValue Default attribute to return if the attribute has not been set.
- * Note that the attribute that has been set to {@code null} is also regarded
- * as set, therefore returns {@code null} not the default value.
+ * @param defaultValue Default attribute to return if the attribute has not been set. Note that
+ * the attribute that has been set to {@code null} is also regarded as set, therefore
+ * returns {@code null} not the default value.
*/
public @Nullable T get(@TabAttributeKeys String key, T defaultValue) {
return mAttributes.containsKey(key) ? get(key) : defaultValue;
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabCreationState.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabCreationState.java
index 66aff39e312efa..993adf28231b81 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabCreationState.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabCreationState.java
@@ -12,8 +12,8 @@
import java.lang.annotation.RetentionPolicy;
/**
- * State in which the tab was created. This can be used in metric accounting - e.g. to
- * distinguish reasons for a tab to be restored upon first display.
+ * State in which the tab was created. This can be used in metric accounting - e.g. to distinguish
+ * reasons for a tab to be restored upon first display.
*/
@IntDef({
TabCreationState.LIVE_IN_FOREGROUND,
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
index b6f34a0caa7809..d1a78c0b22e12c 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabDelegateFactory.java
@@ -19,6 +19,7 @@
public interface TabDelegateFactory {
/**
* Creates the {@link WebContentsDelegateAndroid} the tab will be initialized with.
+ *
* @param tab The associated {@link Tab}.
* @return The {@link WebContentsDelegateAndroid} to be used for this tab.
*/
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabLifecycle.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabLifecycle.java
index fa092759f2a079..8a60750bb0ea0a 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabLifecycle.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabLifecycle.java
@@ -7,14 +7,13 @@
import org.chromium.build.annotations.MockedInTests;
import org.chromium.build.annotations.NullMarked;
-/**
- */
+/** */
@MockedInTests
@NullMarked
public interface TabLifecycle {
/**
- * @return Whether or not this Tab has a live native component. This will be true prior to
- * {@link #initializeNative()} being called or after {@link #destroy()}.
+ * @return Whether or not this Tab has a live native component. This will be true prior to
+ * {@link #initializeNative()} being called or after {@link #destroy()}.
*/
boolean isInitialized();
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewManager.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewManager.java
index 154dc0997a3cb5..ba0eed2baafac3 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewManager.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewManager.java
@@ -7,8 +7,7 @@
import org.chromium.build.annotations.NullMarked;
/**
- * An interface that handles displaying custom {@link View}s on top of {@link Tab}'s Content
- * view.
+ * An interface that handles displaying custom {@link View}s on top of {@link Tab}'s Content view.
*/
@NullMarked
public interface TabViewManager {
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewProvider.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewProvider.java
index 842d758a64b9b1..0541bc60cd637e 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewProvider.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabViewProvider.java
@@ -17,15 +17,14 @@
import java.lang.annotation.RetentionPolicy;
/**
- * An interface that provides a {@link View} to be shown in a {@link Tab}.
- * Refer to the Javadoc on {@link TabViewManager} to learn how to add a new {@link TabViewProvider}
- * to a {@link Tab}.
+ * An interface that provides a {@link View} to be shown in a {@link Tab}. Refer to the Javadoc on
+ * {@link TabViewManager} to learn how to add a new {@link TabViewProvider} to a {@link Tab}.
*/
@NullMarked
public interface TabViewProvider {
/**
- * Represents each {@link TabViewProvider} implementer. Please note that the integer values
- * bear no ordering or prioritization meaning.
+ * Represents each {@link TabViewProvider} implementer. Please note that the integer values bear
+ * no ordering or prioritization meaning.
*/
@IntDef({Type.SUSPENDED_TAB, Type.SAD_TAB, Type.PAINT_PREVIEW, Type.NEW_DOWNLOAD_TAB})
@Retention(RetentionPolicy.SOURCE)
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
index 67170dab984ac2..69985275d4dd12 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
@@ -100,7 +100,7 @@ protected boolean canShowAppBanners() {
/**
* @return the WebAPK manifest scope. This gives frames within the scope increased privileges
- * such as autoplaying media unmuted.
+ * such as autoplaying media unmuted.
*/
protected @Nullable String getManifestScope() {
return null;
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsUserData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsUserData.java
index 280bda39dd35f7..7efdb2812e08aa 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsUserData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabWebContentsUserData.java
@@ -10,10 +10,7 @@
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.WindowAndroid;
-/**
- * UserData for a {@link Tab}. Used for a {@link WebContents} while it stays
- * active for the Tab.
- */
+/** UserData for a {@link Tab}. Used for a {@link WebContents} while it stays active for the Tab. */
@NullMarked
public abstract class TabWebContentsUserData implements UserData {
private @Nullable WebContents mWebContents;
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TrustedCdn.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TrustedCdn.java
index 344e2ef68c98de..89508f7bb9d6f5 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TrustedCdn.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TrustedCdn.java
@@ -82,7 +82,7 @@ public static void detach(PublisherUrlVisibility validator) {
/**
* @param tab Tab object currently being shown.
* @return The name of the publisher of the content if it can be reliably extracted, or null
- * otherwise.
+ * otherwise.
*/
public static @Nullable String getContentPublisher(Tab tab) {
if (tab == null) return null;
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsState.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsState.java
index c53adb2ba9c417..0480333e214f56 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsState.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsState.java
@@ -14,10 +14,8 @@
public class WebContentsState {
/**
* Version number of the format used to save the WebContents navigation history, as returned by
- * TabStateJni.get().getContentsStateAsByteBuffer(). Version labels:
- * 0 - Chrome m18
- * 1 - Chrome m25
- * 2 - Chrome m26+
+ * TabStateJni.get().getContentsStateAsByteBuffer(). Version labels: 0 - Chrome m18 1 - Chrome
+ * m25 2 - Chrome m26+
*/
public static final int CONTENTS_STATE_CURRENT_VERSION = 2;
@@ -50,12 +48,16 @@ public void setVersion(int version) {
mVersion = version;
}
- /** @return Title currently being displayed in the saved state's current entry. */
+ /**
+ * @return Title currently being displayed in the saved state's current entry.
+ */
public @Nullable String getDisplayTitleFromState() {
return WebContentsStateBridge.getDisplayTitleFromState(this);
}
- /** @return URL currently being displayed in the saved state's current entry. */
+ /**
+ * @return URL currently being displayed in the saved state's current entry.
+ */
public @Nullable String getVirtualUrlFromState() {
return WebContentsStateBridge.getVirtualUrlFromState(this);
}
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsStateBridge.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsStateBridge.java
index 57612d54db123a..cf79b9e6a52543 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsStateBridge.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/WebContentsStateBridge.java
@@ -22,6 +22,7 @@
public class WebContentsStateBridge {
/**
* Creates a WebContents from the buffer.
+ *
* @param isHidden Whether or not the tab initially starts hidden.
* @return Pointer A WebContents object.
*/
@@ -33,6 +34,7 @@ public class WebContentsStateBridge {
/**
* Creates a WebContents from the buffer.
+ *
* @param isHidden Whether or not the tab initially starts hidden.
* @param noRenderer Explicitly request to create without a renderer. If false a renderer may or
* may not be created.
@@ -131,13 +133,17 @@ public class WebContentsStateBridge {
return WebContentsStateBridgeJni.get().getContentsStateAsByteBuffer(webContents);
}
- /** @return Title currently being displayed in the saved state's current entry. */
+ /**
+ * @return Title currently being displayed in the saved state's current entry.
+ */
public static @Nullable String getDisplayTitleFromState(WebContentsState contentsState) {
return WebContentsStateBridgeJni.get()
.getDisplayTitleFromByteBuffer(contentsState.buffer(), contentsState.version());
}
- /** @return URL currently being displayed in the saved state's current entry. */
+ /**
+ * @return URL currently being displayed in the saved state's current entry.
+ */
public static @Nullable String getVirtualUrlFromState(WebContentsState contentsState) {
return WebContentsStateBridgeJni.get()
.getVirtualUrlFromByteBuffer(contentsState.buffer(), contentsState.version());
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/EmptyByteBufferPersistedTabDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/EmptyByteBufferPersistedTabDataStorage.java
index 3a7271e0b102b4..93ffeabba391e3 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/EmptyByteBufferPersistedTabDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/EmptyByteBufferPersistedTabDataStorage.java
@@ -14,9 +14,9 @@
import java.util.List;
/**
- * Mock implementation of {@link PersistedTabDataStorage} for tests. Specifically
- * this implementation mocks a non-null Bytebuffer with limit 0 simulating what
- * we saw in crbug.com/1287632.
+ * Mock implementation of {@link PersistedTabDataStorage} for tests. Specifically this
+ * implementation mocks a non-null Bytebuffer with limit 0 simulating what we saw in
+ * crbug.com/1287632.
*/
@NullMarked
public class EmptyByteBufferPersistedTabDataStorage implements PersistedTabDataStorage {
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorage.java
index f22d183845c2b3..c7eb942651bb44 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/LevelDBPersistedTabDataStorage.java
@@ -18,8 +18,8 @@
import java.util.Locale;
/**
- * {@link LevelDBPersistedTabDataStorage} provides a level db backed implementation
- * of {@link PersistedTabDataStorage}.
+ * {@link LevelDBPersistedTabDataStorage} provides a level db backed implementation of {@link
+ * PersistedTabDataStorage}.
*/
@NullMarked
public class LevelDBPersistedTabDataStorage implements PersistedTabDataStorage, Destroyable {
@@ -90,8 +90,8 @@ public void restore(int tabId, String dataId, Callback<@Nullable ByteBuffer> cal
}
/**
- * Synchronous restore was an exception provided for an edge case in
- * {@link CriticalPersistedTabData} and is not typically part of the public API.
+ * Synchronous restore was an exception provided for an edge case in {@link
+ * CriticalPersistedTabData} and is not typically part of the public API.
*/
@Deprecated
@MainThread
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabData.java
index 2fbd2b98d6279b..271b091455ed9c 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/MockPersistedTabData.java
@@ -18,8 +18,8 @@
/**
* MockPersistedTabData object used for testing
*
- * This class should not be merged because it is being used as a key in a Map
- * in PersistedTabDataConfiguration.java.
+ *
This class should not be merged because it is being used as a key in a Map in
+ * PersistedTabDataConfiguration.java.
*/
@DoNotClassMerge
@NullMarked
@@ -47,9 +47,9 @@ private MockPersistedTabData(
}
/**
- * Acquire {@link MockPersistedTabData} from storage or create it and
- * associate with {@link Tab}
- * @param tab {@link Tab} {@link MockPersistedTabData} will be associated with
+ * Acquire {@link MockPersistedTabData} from storage or create it and associate with {@link Tab}
+ *
+ * @param tab {@link Tab} {@link MockPersistedTabData} will be associated with
* @param callback callback {@link MockPersistedTabData} will be passed back in
*/
@NullUnmarked
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedDataStorage.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedDataStorage.java
index a934fa2ca690de..f57801452acda0 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedDataStorage.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedDataStorage.java
@@ -12,6 +12,7 @@
public interface PersistedDataStorage {
/**
* Save a byte array corresponding to a key
+ *
* @param key identifier in the database
* @param data to store
*/
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
index a9559495a561ca..7e54dffa645fec 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabData.java
@@ -35,11 +35,10 @@
import java.util.Set;
/**
- * PersistedTabData is Tab data persisted across restarts
- * A constructor of taking a Tab, a PersistedTabDataStorage and
- * PersistedTabDataID (identifier for {@link PersistedTabData}
- * in storage) is required as reflection is used to build
- * the object after acquiring the serialized object from storage.
+ * PersistedTabData is Tab data persisted across restarts A constructor of taking a Tab, a
+ * PersistedTabDataStorage and PersistedTabDataID (identifier for {@link PersistedTabData} in
+ * storage) is required as reflection is used to build the object after acquiring the serialized
+ * object from storage.
*/
@NullMarked
public abstract class PersistedTabData implements UserData {
@@ -74,6 +73,7 @@ public abstract class PersistedTabData implements UserData {
/**
* Build {@link PersistedTabData} from serialized form
+ *
* @param tab associated with {@link PersistedTabData}
* @param factory method for creating {@link PersistedTabData}
* @param data serialized {@link PersistedTabData}
@@ -338,6 +338,7 @@ protected static T from(
/**
* Acquire {@link PersistedTabData} from a {@link Tab} using a {@link UserData} key
+ *
* @param tab the {@link PersistedTabData} will be acquired from
* @param userDataKey the {@link UserData} object to be acquired from the {@link Tab}
*/
@@ -355,6 +356,7 @@ private static void addCallback(
/**
* Acquire {@link PersistedTabData} stored in {@link UserData} on a {@link Tab}
+ *
* @param tab the {@link Tab}
* @param clazz {@link PersistedTabData} class
*/
@@ -387,6 +389,7 @@ public void save() {
/**
* Save {@link PersistedTabData} to storage
+ *
* @param callback called after save is completed
*/
@VisibleForTesting(otherwise = VisibleForTesting.PROTECTED)
@@ -477,8 +480,8 @@ protected void delete() {
}
/**
- * Destroy the object. This will clean up any {@link PersistedTabData}
- * in memory. It will not delete the stored data on a file or database.
+ * Destroy the object. This will clean up any {@link PersistedTabData} in memory. It will not
+ * delete the stored data on a file or database.
*/
@Override
public void destroy() {
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataFactory.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataFactory.java
index e7bc48915049b0..03753f82fe5ac6 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataFactory.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataFactory.java
@@ -12,6 +12,7 @@
/**
* Creates a {@link PersistedTabData}
+ *
* @param {@link PersistedTabData} being created
*/
@NullMarked
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataMapper.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataMapper.java
index 56e8b135c0c485..d322fc00ddad82 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataMapper.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataMapper.java
@@ -9,8 +9,8 @@
import java.nio.ByteBuffer;
/**
- * @param a {@link PersistedTabDataResult}
- * Maps a {@link ByteBuffer} to a {@link PersistedTabDataResult}
+ * @param a {@link PersistedTabDataResult} Maps a {@link ByteBuffer} to a {@link
+ * PersistedTabDataResult}
*/
@NullMarked
public interface PersistedTabDataMapper {
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java
index 617c1dc399c270..8c76ee459af2f0 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/PersistedTabDataStorageFactory.java
@@ -8,6 +8,7 @@
/**
* Creates a {@link PersistedTabDataStorage}
+ *
* @param {@link PersistedTabDataStorage} being created
*/
@NullMarked
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/Serializer.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/Serializer.java
index 72add23e2260af..b14f2d2db4c7b2 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/Serializer.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/Serializer.java
@@ -9,14 +9,14 @@
/**
* Used for serializing {@link PersistedTabData}.
+ *
* @param Return type of {@link Serializer}
*/
@NullMarked
public interface Serializer {
/**
- * Acquires serialized {@link PersistedTabData}. Not all
- * {@link PersistedTabData} clients require a pre-serialization
- * step but if they do, get() assumes preSerialize() has been called
+ * Acquires serialized {@link PersistedTabData}. Not all {@link PersistedTabData} clients
+ * require a pre-serialization step but if they do, get() assumes preSerialize() has been called
* Must be called from a background thread.
*/
@Nullable T get();
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
index 3a7f3fe87e47b6..f88c0f61d11b3b 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/ShoppingPersistedTabData.java
@@ -50,8 +50,8 @@
/**
* {@link PersistedTabData} for Shopping related websites
*
- * This class should not be merged because it is being used as a key in a Map
- * in PersistedTabDataConfiguration.java.
+ *
This class should not be merged because it is being used as a key in a Map in
+ * PersistedTabDataConfiguration.java.
*/
@DoNotClassMerge
@NullMarked
@@ -107,8 +107,8 @@ private static class ShoppingServiceHolder {
}
/**
- * Used to defer initialization/acquisition of {@link ShoppingPersistedTabData}
- * until DeferredStartup.
+ * Used to defer initialization/acquisition of {@link ShoppingPersistedTabData} until
+ * DeferredStartup.
*/
private static class ShoppingDataRequest {
public final Tab tab;
@@ -212,7 +212,7 @@ private void prefetchOnNewNavigation(Tab tab, NavigationHandle navigationHandle)
* @param tab {@link Tab} associated with {@link ShoppingPersistedTabData}
* @param navigationHandle the {@link NavigationHandle} associated with the new navigation
* @param onCompleteForTesting runnable which indicates when the callback has completed for test
- * synchronization
+ * synchronization
*/
@VisibleForTesting
protected void prefetchOnNewNavigation(
@@ -345,12 +345,13 @@ public PriceDropData getPriceDropDataForTesting() {
}
/**
- * Initializes {@link ShoppingPersistedTabData} for a {@link Tab}. This results in
- * a {@link ShoppingPersistedTabData} being acquired from storage, via a network call
- * or a blank one being created. In any case, a {@link ShoppingPersistedTabData} object will be
- * created which enables pricing data to be prefetched on each new navigation. The only scenario
- * where no {@link ShoppingPersistedTabData} will be returned is if the {@link Tab} was
- * destroyed shortly after calling this method.
+ * Initializes {@link ShoppingPersistedTabData} for a {@link Tab}. This results in a {@link
+ * ShoppingPersistedTabData} being acquired from storage, via a network call or a blank one
+ * being created. In any case, a {@link ShoppingPersistedTabData} object will be created which
+ * enables pricing data to be prefetched on each new navigation. The only scenario where no
+ * {@link ShoppingPersistedTabData} will be returned is if the {@link Tab} was destroyed shortly
+ * after calling this method.
+ *
* @param tab {@link Tab} for which {@link ShoppingPersistedTabData} is initialized.
*/
public static void initialize(Tab tab) {
@@ -384,15 +385,12 @@ public static void initialize(Tab tab) {
/**
* Acquire {@link ShoppingPersistedTabData} for a {@link Tab}
+ *
* @param tab {@link Tab} ShoppingPersistedTabData is acquired for
- * @param callback {@link Callback} receiving the Tab's {@link ShoppingPersistedTabData}
- * The result in the callback wil be null for a:
- * - Custom Tab
- * - Incognito Tab
- * - Tab greater than 90 days old
- * - Tab with a non-shopping related page currently navigated to
- * - Tab with a shopping related page for which no shopping related data was found
- * - Uninitialized Tab
+ * @param callback {@link Callback} receiving the Tab's {@link ShoppingPersistedTabData} The
+ * result in the callback wil be null for a: - Custom Tab - Incognito Tab - Tab greater than
+ * 90 days old - Tab with a non-shopping related page currently navigated to - Tab with a
+ * shopping related page for which no shopping related data was found - Uninitialized Tab
*/
public static void from(Tab tab, Callback<@Nullable ShoppingPersistedTabData> callback) {
if (tab == null || tab.isDestroyed()) {
@@ -424,17 +422,14 @@ public static void from(Tab tab, Callback<@Nullable ShoppingPersistedTabData> ca
/**
* Acquire {@link ShoppingPersistedTabData} for a {@link Tab}, with an option to skip delayed
* initialization and initialize immediately.
+ *
* @param tab {@link Tab} ShoppingPersistedTabData is acquired for
* @param callback {@link Callback} receiving the Tab's {@link ShoppingPersistedTabData}
* @param skipDelayedInit whether to skip the delayed initialization of {@link
- * ShoppingPersistedTabData} and initialize immediately
- * The result in the callback wil be null for a:
- * - Custom Tab
- * - Incognito Tab
- * - Tab greater than 90 days old
- * - Tab with a non-shopping related page currently navigated to
- * - Tab with a shopping related page for which no shopping related data was found
- * - Uninitialized Tab
+ * ShoppingPersistedTabData} and initialize immediately The result in the callback wil be
+ * null for a: - Custom Tab - Incognito Tab - Tab greater than 90 days old - Tab with a
+ * non-shopping related page currently navigated to - Tab with a shopping related page for
+ * which no shopping related data was found - Uninitialized Tab
*/
static void from(
Tab tab,
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 28ca0a42ae1611..80b30e511b416a 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1149,6 +1149,14 @@ static_library("ui") {
"startup/startup_tab_provider.cc",
"startup/startup_tab_provider.h",
"startup/startup_types.h",
+ "startup/update_notifier/browser_activity_observer.cc",
+ "startup/update_notifier/browser_activity_observer.h",
+ "startup/update_notifier/update_notifier_api_client.cc",
+ "startup/update_notifier/update_notifier_api_client.h",
+ "startup/update_notifier/update_notifier_infobar_delegate.cc",
+ "startup/update_notifier/update_notifier_infobar_delegate.h",
+ "startup/update_notifier/update_notifier_prompt_manager.cc",
+ "startup/update_notifier/update_notifier_prompt_manager.h",
"sync/browser_synced_tab_delegate.cc",
"sync/browser_synced_tab_delegate.h",
"sync/browser_synced_window_delegate.cc",
@@ -1740,6 +1748,7 @@ static_library("ui") {
"//components/headless/policy",
"//components/history_embeddings",
"//components/keep_alive_registry",
+ "//components/machine_id",
"//components/manta",
"//components/manta/proto",
"//components/media_effects:media_effects",
@@ -3093,6 +3102,14 @@ static_library("ui") {
"webui/settings/settings_manage_profile_handler.h",
"webui/settings/system_handler.cc",
"webui/settings/system_handler.h",
+ "webui/side_panel/chat/api/completion_api_client.cc",
+ "webui/side_panel/chat/api/completion_api_client.h",
+ "webui/side_panel/chat/chat_page_handler.cc",
+ "webui/side_panel/chat/chat_page_handler.h",
+ "webui/side_panel/chat/chat_ui.cc",
+ "webui/side_panel/chat/chat_ui.h",
+ "webui/side_panel/chat/page_content_extractor_helper.cc",
+ "webui/side_panel/chat/page_content_extractor_helper.h",
]
if (enable_video_effects) {
@@ -3113,10 +3130,14 @@ static_library("ui") {
"//chrome/browser/ui/webui/app_home:impl",
"//chrome/browser/ui/webui/app_settings",
"//chrome/browser/ui/webui/app_settings:impl",
+ "//chrome/browser/ui/webui/side_panel/chat:mojo_bindings",
"//chrome/browser/ui/webui/signin:profile",
"//chrome/browser/ui/webui/signin:profile_impl",
+ "//chrome/common/page_content_extractor:mojo_bindings",
"//components/capture_mode",
"//components/country_codes",
+ "//components/drm:taktak_drm",
+ "//components/html2md",
"//services/audio/public/mojom",
"//services/video_capture/public/mojom",
"//services/video_effects/buildflags",
diff --git a/chrome/browser/ui/actions/chrome_action_id.h b/chrome/browser/ui/actions/chrome_action_id.h
index 2451ad9d45cc30..bc76a20e26eae3 100644
--- a/chrome/browser/ui/actions/chrome_action_id.h
+++ b/chrome/browser/ui/actions/chrome_action_id.h
@@ -539,6 +539,7 @@
E(kActionSidePanelShowLensOverlayResults, IDC_CONTENT_CONTEXT_LENS_OVERLAY) \
E(kActionSidePanelShowReadAnything) \
E(kActionSidePanelShowReadingList, IDC_READING_LIST_MENU_SHOW_UI) \
+ E(kActionAIChat, IDC_SHOW_AI_CHAT) \
E(kActionSidePanelShowSearchCompanion, IDC_SHOW_SEARCH_COMPANION) \
E(kActionSidePanelShowShoppingInsights) \
E(kActionSidePanelShowSideSearch) \
diff --git a/chrome/browser/ui/android/layouts/java/src/org/chromium/chrome/browser/layouts/SceneOverlay.java b/chrome/browser/ui/android/layouts/java/src/org/chromium/chrome/browser/layouts/SceneOverlay.java
index 034a933f05c643..6928d993d4bc9f 100644
--- a/chrome/browser/ui/android/layouts/java/src/org/chromium/chrome/browser/layouts/SceneOverlay.java
+++ b/chrome/browser/ui/android/layouts/java/src/org/chromium/chrome/browser/layouts/SceneOverlay.java
@@ -49,10 +49,11 @@ SceneOverlayLayer getUpdatedSceneOverlayTree(
/**
* Called when the viewport size of the screen changes.
- * @param width The new width of the viewport available in dp.
- * @param height The new height of the viewport available in dp.
+ *
+ * @param width The new width of the viewport available in dp.
+ * @param height The new height of the viewport available in dp.
* @param visibleViewportOffsetY The visible viewport Y offset in dp.
- * @param orientation The new orientation.
+ * @param orientation The new orientation.
*/
void onSizeChanged(float width, float height, float visibleViewportOffsetY, int orientation);
diff --git a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeMetrics.java b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeMetrics.java
index 06f0578ff52d89..25fa8f45e82294 100644
--- a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeMetrics.java
+++ b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeMetrics.java
@@ -18,8 +18,8 @@ public class NightModeMetrics {
/**
* Entries that navigate the user into Theme Settings.
*
- * This is used for histograms and should therefore be treated as append-only.
- * See AndroidThemeSettingsEntry in tools/metrics/histograms/enums.xml.
+ *
This is used for histograms and should therefore be treated as append-only. See
+ * AndroidThemeSettingsEntry in tools/metrics/histograms/enums.xml.
*/
@IntDef({ThemeSettingsEntry.SETTINGS, ThemeSettingsEntry.AUTO_DARK_MODE_MESSAGE})
@Retention(RetentionPolicy.SOURCE)
diff --git a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeStateProvider.java b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeStateProvider.java
index 2cdb88a0c9883f..299103c14283b4 100644
--- a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeStateProvider.java
+++ b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/NightModeStateProvider.java
@@ -22,19 +22,22 @@ interface Observer {
/** @return Whether or not night mode is enabled. */
boolean isInNightMode();
- /** @param observer The {@link Observer} to be registered to this provider. */
+ /**
+ * @param observer The {@link Observer} to be registered to this provider.
+ */
void addObserver(Observer observer);
- /** @param observer The {@link Observer} to be unregistered to this provider. */
+ /**
+ * @param observer The {@link Observer} to be unregistered to this provider.
+ */
void removeObserver(Observer observer);
/**
* @return Whether or not {@link Configuration#uiMode} should be overridden for night mode by
- * {@link Activity#applyOverrideConfiguration(Configuration)}. This is applicable when
- * an Activity configures whether night mode is enabled (e.g. through a user setting)
- * rather than relying on the Application context UI night mode.
- * Note that if night mode state is initialized after
- * {@link Activity#attachBaseContext(Context)}, this should return false.
+ * {@link Activity#applyOverrideConfiguration(Configuration)}. This is applicable when an
+ * Activity configures whether night mode is enabled (e.g. through a user setting) rather
+ * than relying on the Application context UI night mode. Note that if night mode state is
+ * initialized after {@link Activity#attachBaseContext(Context)}, this should return false.
*/
default boolean shouldOverrideConfiguration() {
return true;
diff --git a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/RemoteViewsWithNightModeInflater.java b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/RemoteViewsWithNightModeInflater.java
index 147d28b8b387e0..7b508c2bebbd8f 100644
--- a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/RemoteViewsWithNightModeInflater.java
+++ b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/RemoteViewsWithNightModeInflater.java
@@ -19,9 +19,9 @@
import org.chromium.build.annotations.Nullable;
/**
- * Performs inflation of {@link RemoteViews} taking into account the local night mode.
- * {@link RemoteViews#apply} always uses resource configuration corresponding to system
- * settings, see https://buganizer.corp.google.com/issues/133424086, http://crbug.com/1626864.
+ * Performs inflation of {@link RemoteViews} taking into account the local night mode. {@link
+ * RemoteViews#apply} always uses resource configuration corresponding to system settings, see
+ * https://buganizer.corp.google.com/issues/133424086, http://crbug.com/1626864.
*/
@NullMarked
public class RemoteViewsWithNightModeInflater {
diff --git a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/ThemeType.java b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/ThemeType.java
index 8859d747a85ea9..adcf58b479d966 100644
--- a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/ThemeType.java
+++ b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/ThemeType.java
@@ -12,8 +12,8 @@
import java.lang.annotation.RetentionPolicy;
/**
- * Theme setting variations. This is also used for histograms and should therefore be treated
- * as append-only. See DarkThemePreferences in tools/metrics/histograms/enums.xml.
+ * Theme setting variations. This is also used for histograms and should therefore be treated as
+ * append-only. See DarkThemePreferences in tools/metrics/histograms/enums.xml.
*/
@IntDef({ThemeType.SYSTEM_DEFAULT, ThemeType.LIGHT, ThemeType.DARK})
@Retention(RetentionPolicy.SOURCE)
diff --git a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/WebContentsDarkModeController.java b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/WebContentsDarkModeController.java
index fd2e117793d537..f991ce0f216255 100644
--- a/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/WebContentsDarkModeController.java
+++ b/chrome/browser/ui/android/night_mode/java/src/org/chromium/chrome/browser/night_mode/WebContentsDarkModeController.java
@@ -26,6 +26,7 @@
public class WebContentsDarkModeController {
/**
* Return whether auto dark mode is enable for a given URL.
+ *
* @param browserContextHandle Current browser context handle.
* @param url Queried URL to check whether auto dark is enabled.
* @return Whether auto dark mode is enable for a given URL.
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
index 7ebd8b3c6800f8..2186cbc8b3d7d4 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1241,7 +1241,7 @@ For example, some websites may respond to this request by showing you ads that a
Sites
- You can block sites you don’t want. Chrome also auto-deletes sites from the list that are older than 30 days. <link>Learn more</link>
+ You can block sites you don’t want. Taktak also auto-deletes sites from the list that are older than 30 days. <link>Learn more</link>
When on, a list of sites you visit that guess your interests appears here
@@ -1321,7 +1321,7 @@ For example, some websites may respond to this request by showing you ads that a
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
Your Android device may include a similar setting. If Ad measurement is turned on in Chrome and on your Android device, a company may be able to measure the effectiveness of an ad across web sites you visit and apps you use.
diff --git a/chrome/browser/ui/autofill/DEPS b/chrome/browser/ui/autofill/DEPS
index 0a8699b8d38136..f939f7b6087740 100644
--- a/chrome/browser/ui/autofill/DEPS
+++ b/chrome/browser/ui/autofill/DEPS
@@ -1,6 +1,5 @@
include_rules = [
'+components/android_autofill',
- '+components/credential_management',
'+components/plus_addresses',
'+components/webauthn',
'+third_party/libaddressinput/chromium/addressinput_util.h',
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
index e13af90f59791a..72a15fdc813e5c 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
@@ -242,7 +242,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
switch (survey_type) {
case plus_addresses::hats::SurveyType::kAcceptedFirstTimeCreate:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressAcceptedFirstTimeCreateSurvey)) {
+ features::kPlusAddressAcceptedFirstTimeCreateSurvey)) {
return;
}
survey_trigger = kHatsSurveyTriggerPlusAddressAcceptedFirstTimeCreate;
@@ -253,7 +253,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kDeclinedFirstTimeCreate:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressDeclinedFirstTimeCreateSurvey)) {
+ features::kPlusAddressDeclinedFirstTimeCreateSurvey)) {
return;
}
survey_trigger = kHatsSurveyTriggerPlusAddressDeclinedFirstTimeCreate;
@@ -264,7 +264,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kCreatedMultiplePlusAddresses:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressUserCreatedMultiplePlusAddressesSurvey)) {
+ features::kPlusAddressUserCreatedMultiplePlusAddressesSurvey)) {
return;
}
survey_trigger =
@@ -276,8 +276,8 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kCreatedPlusAddressViaManualFallback:
if (!base::FeatureList::IsEnabled(
- features::
- kPlusAddressUserCreatedPlusAddressViaManualFallbackSurvey)) {
+ features::
+ kPlusAddressUserCreatedPlusAddressViaManualFallbackSurvey)) {
return;
}
survey_trigger =
@@ -289,7 +289,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kDidChoosePlusAddressOverEmail:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressUserDidChoosePlusAddressOverEmailSurvey)) {
+ features::kPlusAddressUserDidChoosePlusAddressOverEmailSurvey)) {
return;
}
survey_trigger =
@@ -301,7 +301,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kDidChooseEmailOverPlusAddress:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressUserDidChooseEmailOverPlusAddressSurvey)) {
+ features::kPlusAddressUserDidChooseEmailOverPlusAddressSurvey)) {
return;
}
survey_trigger =
@@ -313,7 +313,7 @@ void LaunchPlusAddressUserPerceptionSurvey(
break;
case plus_addresses::hats::SurveyType::kFilledPlusAddressViaManualFallack:
if (!base::FeatureList::IsEnabled(
- features::kPlusAddressFilledPlusAddressViaManualFallbackSurvey)) {
+ features::kPlusAddressFilledPlusAddressViaManualFallbackSurvey)) {
return;
}
survey_trigger =
@@ -407,12 +407,12 @@ VotesUploader& ChromeAutofillClient::GetVotesUploader() {
}
AutofillOptimizationGuide* ChromeAutofillClient::GetAutofillOptimizationGuide()
- const {
+const {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
return profile->ShutdownStarted()
- ? nullptr
- : AutofillOptimizationGuideFactory::GetForProfile(profile);
+ ? nullptr
+ : AutofillOptimizationGuideFactory::GetForProfile(profile);
}
FieldClassificationModelHandler*
@@ -480,7 +480,7 @@ AutofillPlusAddressDelegate* ChromeAutofillClient::GetPlusAddressDelegate() {
// created without the feature enabled, but being defensive here to avoid
// surprises.
if (!base::FeatureList::IsEnabled(
- plus_addresses::features::kPlusAddressesEnabled)) {
+ plus_addresses::features::kPlusAddressesEnabled)) {
return nullptr;
}
return PlusAddressServiceFactory::GetForBrowserContext(
@@ -501,9 +501,9 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
optimization_guide::GetAIPageContent(
web_contents(), std::move(extraction_options),
base::BindOnce([](std::optional
- result)
+ result)
-> std::optional<
- optimization_guide::proto::AnnotatedPageContent> {
+ optimization_guide::proto::AnnotatedPageContent> {
if (!result) {
return std::nullopt;
}
@@ -535,7 +535,7 @@ AutofillAiModelExecutor* ChromeAutofillClient::GetAutofillAiModelExecutor() {
IdentityCredentialDelegate*
ChromeAutofillClient::GetIdentityCredentialDelegate() {
if (!(base::FeatureList::IsEnabled(::features::kFedCmDelegation) ||
- base::FeatureList::IsEnabled(::features::kFedCmAutofill))) {
+ base::FeatureList::IsEnabled(::features::kFedCmAutofill))) {
return nullptr;
}
@@ -595,14 +595,14 @@ signin::IdentityManager* ChromeAutofillClient::GetIdentityManager() {
}
const signin::IdentityManager* ChromeAutofillClient::GetIdentityManager()
- const {
+const {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
return IdentityManagerFactory::GetForProfile(profile->GetOriginalProfile());
}
const GoogleGroupsManager* ChromeAutofillClient::GetGoogleGroupsManager()
- const {
+const {
// Always return the GoogleGroupsManager of the original profile to allow us
// to do per-profile feature checks.
Profile* profile =
@@ -617,7 +617,7 @@ FormDataImporter* ChromeAutofillClient::GetFormDataImporter() {
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
form_data_importer_ = std::make_unique(
this, HistoryServiceFactory::GetForProfile(
- profile, ServiceAccessType::EXPLICIT_ACCESS));
+ profile, ServiceAccessType::EXPLICIT_ACCESS));
}
return form_data_importer_.get();
}
@@ -650,7 +650,7 @@ const GURL& ChromeAutofillClient::GetLastCommittedPrimaryMainFrameURL() const {
}
url::Origin ChromeAutofillClient::GetLastCommittedPrimaryMainFrameOrigin()
- const {
+const {
return web_contents()->GetPrimaryMainFrame()->GetLastCommittedOrigin();
}
@@ -698,12 +698,12 @@ GeoIpCountryCode ChromeAutofillClient::GetVariationConfigCountryCode() const {
// case.
return GeoIpCountryCode(
variation_service
- ? base::ToUpperASCII(variation_service->GetLatestCountry())
- : std::string());
+ ? base::ToUpperASCII(variation_service->GetLatestCountry())
+ : std::string());
}
profile_metrics::BrowserProfileType ChromeAutofillClient::GetProfileType()
- const {
+const {
Profile* profile = GetProfile();
// Profile can only be null in tests, therefore it is safe to always return
// |kRegular| when it does not exist.
@@ -757,7 +757,7 @@ void ChromeAutofillClient::ShowAutofillSettings(
CHECK(base::FeatureList::IsEnabled(
features::kAutofillEnableLoyaltyCardsFilling));
static constexpr std::string_view kValuableManagementUrl =
- "https://wallet.google.com/wallet/passes";
+ "https://wallet.google.com/wallet/passes";
ShowSingletonTab(browser, GURL(kValuableManagementUrl));
return;
default:
@@ -818,7 +818,7 @@ void ChromeAutofillClient::ShowPlusAddressEmailOverrideNotification(
return;
}
if (ToastController* const controller =
- browser->browser_window_features()->toast_controller()) {
+ browser->browser_window_features()->toast_controller()) {
ToastParams params(ToastId::kPlusAddressOverride);
params.menu_model = std::make_unique(
base::UTF8ToUTF16(
@@ -841,7 +841,7 @@ void ChromeAutofillClient::UpdateAutofillDataListValues(
}
base::span ChromeAutofillClient::GetAutofillSuggestions()
- const {
+const {
return suggestion_controller_ ? suggestion_controller_->GetSuggestions()
: base::span();
}
@@ -849,8 +849,8 @@ base::span ChromeAutofillClient::GetAutofillSuggestions()
std::optional
ChromeAutofillClient::GetPopupScreenLocation() const {
return suggestion_controller_
- ? suggestion_controller_->GetPopupScreenLocation()
- : std::make_optional();
+ ? suggestion_controller_->GetPopupScreenLocation()
+ : std::make_optional();
}
std::optional
@@ -939,8 +939,8 @@ bool ChromeAutofillClient::IsPasswordManagerEnabled() const {
password_manager::PasswordManagerSettingsService* settings_service =
PasswordManagerSettingsServiceFactory::GetForProfile(GetProfile());
return settings_service &&
- settings_service->IsSettingEnabled(
- password_manager::PasswordManagerSetting::kOfferToSavePasswords);
+ settings_service->IsSettingEnabled(
+ password_manager::PasswordManagerSetting::kOfferToSavePasswords);
}
void ChromeAutofillClient::DidFillForm(AutofillTriggerSource trigger_source,
@@ -971,7 +971,7 @@ bool ChromeAutofillClient::IsContextSecure() const {
// TODO(crbug.com/41307071): Once passive mixed content and legacy TLS are
// less common, just use IsSslCertificateValid().
return entry && entry->GetURL().SchemeIsCryptographic() &&
- security_level != security_state::DANGEROUS;
+ security_level != security_state::DANGEROUS;
}
LogManager* ChromeAutofillClient::GetCurrentLogManager() {
@@ -1085,7 +1085,7 @@ ChromeAutofillClient::ChromeAutofillClient(content::WebContents* web_contents)
: ContentAutofillClient(web_contents),
content::WebContentsObserver(web_contents),
#if !BUILDFLAG(IS_ANDROID)
- autofill_ai_manager_(
+ autofill_ai_manager_(
this,
StrikeDatabaseFactory::GetForProfile(
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
@@ -1150,7 +1150,7 @@ std::unique_ptr ChromeAutofillClient::CreateManager(
credential_management::ContentCredentialManager*
ChromeAutofillClient::GetContentCredentialManager() {
if (auto* chrome_password_manager_client =
- ChromePasswordManagerClient::FromWebContents(web_contents())) {
+ ChromePasswordManagerClient::FromWebContents(web_contents())) {
return chrome_password_manager_client->GetContentCredentialManager();
}
return nullptr;
@@ -1162,7 +1162,7 @@ void ChromeAutofillClient::set_test_addresses(
}
base::span ChromeAutofillClient::GetTestAddresses()
- const {
+const {
return test_addresses_;
}
@@ -1182,7 +1182,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
LaunchPlusAddressUserPerceptionSurvey(
web_contents(),
HatsServiceFactory::GetForProfile(profile,
- /*create_if_necessary=*/true),
+ /*create_if_necessary=*/true),
delegate, survey_type);
}
@@ -1217,4 +1217,4 @@ void ChromeAutofillClient::ShowEntitySaveOrUpdateBubble(
std::move(prompt_acceptance_callback).Run(EntitySaveOrUpdatePromptResult());
}
-} // namespace autofill
+} // namespace autofill
\ No newline at end of file
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h
index acce90e1514dcc..6713db2f337c27 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client.h
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.h
@@ -110,7 +110,7 @@ class ChromeAutofillClient : public ContentAutofillClient,
VotesUploader& GetVotesUploader() final;
AutofillOptimizationGuide* GetAutofillOptimizationGuide() const final;
FieldClassificationModelHandler* GetAutofillFieldClassificationModelHandler()
- final;
+ final;
FieldClassificationModelHandler*
GetPasswordManagerFieldClassificationModelHandler() final;
PersonalDataManager& GetPersonalDataManager() final;
@@ -190,7 +190,7 @@ class ChromeAutofillClient : public ContentAutofillClient,
bool IsContextSecure() const final;
LogManager* GetCurrentLogManager() final;
autofill_metrics::FormInteractionsUkmLogger& GetFormInteractionsUkmLogger()
- final;
+ final;
const AutofillAblationStudy& GetAblationStudy() const final;
#if BUILDFLAG(IS_ANDROID)
@@ -200,7 +200,7 @@ class ChromeAutofillClient : public ContentAutofillClient,
#endif
FormInteractionsFlowId GetCurrentFormInteractionsFlowId() final;
std::unique_ptr GetDeviceAuthenticator()
- final;
+ final;
bool ShowAutofillFieldIphForFeature(const FormFieldData& field,
AutofillClient::IphFeature feature) final;
void HideAutofillFieldIph() final;
@@ -214,12 +214,12 @@ class ChromeAutofillClient : public ContentAutofillClient,
void TriggerPlusAddressUserPerceptionSurvey(
plus_addresses::hats::SurveyType survey_type) final;
optimization_guide::ModelQualityLogsUploaderService* GetMqlsUploadService()
- override;
+ override;
void ShowEntitySaveOrUpdateBubble(
EntityInstance new_entity,
std::optional old_entity,
EntitySaveOrUpdatePromptResultCallback save_prompt_acceptance_callback)
- override;
+ override;
// TODO(crbug.com/407666146): Create a test API.
base::WeakPtr
@@ -255,7 +255,7 @@ class ChromeAutofillClient : public ContentAutofillClient,
// ContentAutofillClient:
credential_management::ContentCredentialManager* GetContentCredentialManager()
- override;
+ override;
protected:
explicit ChromeAutofillClient(content::WebContents* web_contents);
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 9b13df3562fa08..11eaed99dc3fde 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -140,6 +140,7 @@
#include "chrome/browser/ui/unload_controller.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/contents_web_view.h"
+#include "chrome/browser/ui/views/side_panel/side_panel_coordinator.h"
#include "chrome/browser/ui/views/status_bubble_views.h"
#include "chrome/browser/ui/web_applications/app_browser_controller.h"
#include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
@@ -2030,6 +2031,17 @@ void Browser::OnWindowDidShow() {
return;
}
+ BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(this);
+ if (browser_view) {
+ auto* browser = browser_view->browser();
+ if (browser) {
+ auto* coordinator = browser->GetFeatures().side_panel_coordinator();
+ if (coordinator) {
+ coordinator->Show(SidePanelEntry::Id::kAIChat);
+ }
+ }
+ }
+
// Show any pending global error bubble.
GlobalErrorService* service =
GlobalErrorServiceFactory::GetForProfile(profile());
diff --git a/chrome/browser/ui/browser_actions.cc b/chrome/browser/ui/browser_actions.cc
index 2199b93d43806c..3ed54c79c383a3 100644
--- a/chrome/browser/ui/browser_actions.cc
+++ b/chrome/browser/ui/browser_actions.cc
@@ -195,6 +195,9 @@ void BrowserActions::InitializeBrowserActions() {
IDS_READ_LATER_TITLE, IDS_READ_LATER_TITLE,
kReadingListIcon, kActionSidePanelShowReadingList,
browser, true),
+ SidePanelAction(SidePanelEntryId::kAIChat, IDS_AI_CHAT_TITLE,
+ IDS_AI_CHAT_TITLE, kChatIcon, kActionAIChat,
+ browser, false),
SidePanelAction(SidePanelEntryId::kAboutThisSite,
IDS_PAGE_INFO_ABOUT_THIS_PAGE_TITLE,
IDS_PAGE_INFO_ABOUT_THIS_PAGE_TITLE,
@@ -248,6 +251,7 @@ void BrowserActions::InitializeBrowserActions() {
kActionSidePanelShowReadAnything, browser, true)
.Build());
+ /*
if (lens::features::IsLensOverlayEnabled()) {
actions::ActionItem::InvokeActionCallback callback = base::BindRepeating(
[](base::WeakPtr browser, actions::ActionItem* item,
@@ -278,6 +282,7 @@ void BrowserActions::InitializeBrowserActions() {
actions::ActionPinnableState::kPinnable))
.Build());
}
+*/
root_action_item_->AddChild(
actions::ActionItem::Builder(
diff --git a/chrome/browser/ui/browser_element_identifiers.cc b/chrome/browser/ui/browser_element_identifiers.cc
index c1e65039358e18..47fa6782929759 100644
--- a/chrome/browser/ui/browser_element_identifiers.cc
+++ b/chrome/browser/ui/browser_element_identifiers.cc
@@ -9,6 +9,7 @@
// Please keep this list alphabetized.
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAddCurrentTabToReadingListElementId);
+DECLARE_ELEMENT_IDENTIFIER_VALUE(kAIChatSidePanelElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(
kAnonymizedUrlCollectionPersonalizationSettingId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kAppUninstallDialogOkButtonId);
@@ -16,6 +17,7 @@ DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkBarElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkSidePanelWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBookmarkStarViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kBrowserViewElementId);
+DEFINE_ELEMENT_IDENTIFIER_VALUE(kChatSidePanelWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kConstrainedDialogWebViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kContentsSeparatorViewElementId);
DEFINE_ELEMENT_IDENTIFIER_VALUE(kCookieControlsIconElementId);
diff --git a/chrome/browser/ui/browser_element_identifiers.h b/chrome/browser/ui/browser_element_identifiers.h
index d95875ffd2fd26..c6e7d33fb6c461 100644
--- a/chrome/browser/ui/browser_element_identifiers.h
+++ b/chrome/browser/ui/browser_element_identifiers.h
@@ -25,6 +25,7 @@ DECLARE_ELEMENT_IDENTIFIER_VALUE(kBookmarkBarElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kBookmarkSidePanelWebViewElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kBookmarkStarViewElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kBrowserViewElementId);
+DECLARE_ELEMENT_IDENTIFIER_VALUE(kChatSidePanelWebViewElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kConstrainedDialogWebViewElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kContentsSeparatorViewElementId);
DECLARE_ELEMENT_IDENTIFIER_VALUE(kCookieControlsIconElementId);
diff --git a/chrome/browser/ui/cocoa/main_menu_builder.mm b/chrome/browser/ui/cocoa/main_menu_builder.mm
index 701f94a51357fd..26debc06f80ad6 100644
--- a/chrome/browser/ui/cocoa/main_menu_builder.mm
+++ b/chrome/browser/ui/cocoa/main_menu_builder.mm
@@ -529,6 +529,9 @@
id app_delegate,
const std::u16string& product_name,
bool is_pwa) {
+ // no help menu for Taktak MVP
+ return nil;
+ /*
if (is_pwa) {
return nil;
}
@@ -545,11 +548,13 @@
.string_format_1(product_name)
.command_id(IDC_HELP_PAGE_VIA_MENU),
})
+ .submenu({})
.Build();
// clang-format on
nsapp.helpMenu = item.submenu;
return item;
+ */
}
} // namespace
diff --git a/chrome/browser/ui/cocoa/profiles/profile_menu_controller.mm b/chrome/browser/ui/cocoa/profiles/profile_menu_controller.mm
index e6ba2ecff60713..1e913e7e4f8548 100644
--- a/chrome/browser/ui/cocoa/profiles/profile_menu_controller.mm
+++ b/chrome/browser/ui/cocoa/profiles/profile_menu_controller.mm
@@ -94,30 +94,30 @@ @implementation ProfileMenuController {
- (instancetype)initWithMainMenuItem:(NSMenuItem*)item
profileAttributesStorage:(ProfileAttributesStorage*)storage {
- if ((self = [super init])) {
- _mainMenuItem = item;
-
- _mainMenuItem.submenu =
- [[NSMenu alloc] initWithTitle:GetProfileMenuTitle()];
-
- // When this object is constructed in non-test code, right after the main
- // menu is created, that happens before the message loop starts and thus
- // `g_browser_process` is not yet available. In that case, schedule
- // initialization on the loop to do work when the browser is ready. For test
- // code, the required object is available, so initialize immediately to
- // allow test code to avoid loop spinning calls, which could cause
- // flakiness.
-
- if (storage) {
- [self initializeMenuWithProfileAttributesStorage:storage];
- } else {
- dispatch_async(dispatch_get_main_queue(), ^{
- [self initializeMenuWithProfileAttributesStorage:
- &g_browser_process->profile_manager()
- ->GetProfileAttributesStorage()];
- });
- }
- }
+// if ((self = [super init])) {
+// _mainMenuItem = item;
+//
+// _mainMenuItem.submenu =
+// [[NSMenu alloc] initWithTitle:GetProfileMenuTitle()];
+//
+// // When this object is constructed in non-test code, right after the main
+// // menu is created, that happens before the message loop starts and thus
+// // `g_browser_process` is not yet available. In that case, schedule
+// // initialization on the loop to do work when the browser is ready. For test
+// // code, the required object is available, so initialize immediately to
+// // allow test code to avoid loop spinning calls, which could cause
+// // flakiness.
+//
+// if (storage) {
+// [self initializeMenuWithProfileAttributesStorage:storage];
+// } else {
+// dispatch_async(dispatch_get_main_queue(), ^{
+// [self initializeMenuWithProfileAttributesStorage:
+// &g_browser_process->profile_manager()
+// ->GetProfileAttributesStorage()];
+// });
+// }
+// }
return self;
}
diff --git a/chrome/browser/ui/color/chrome_color_id.h b/chrome/browser/ui/color/chrome_color_id.h
index ef53e5a2ee13aa..b0a60ce4f89ec5 100644
--- a/chrome/browser/ui/color/chrome_color_id.h
+++ b/chrome/browser/ui/color/chrome_color_id.h
@@ -914,6 +914,21 @@
/* Window control button background colors. */ \
E_CPONLY(kColorWindowControlButtonBackgroundActive) \
E_CPONLY(kColorWindowControlButtonBackgroundInactive) \
+ /* Yep Chat Colors. */ \
+ E_CPONLY(kColorYepChatPanelBackground) \
+ E_CPONLY(kColorYepChatPanelBorder) \
+ E_CPONLY(kColorYepChatPromptBackground) \
+ E_CPONLY(kColorYepChatSiteInfoVerticalBarBackground) \
+ E_CPONLY(kColorYepChatPrimaryText) \
+ E_CPONLY(kColorYepChatSecondaryText) \
+ E_CPONLY(kColorYepChatTertiaryText) \
+ E_CPONLY(kColorYepChatSendButtonBackground) \
+ E_CPONLY(kColorYepChatSendButtonForeground) \
+ E_CPONLY(kColorYepChatError) \
+ E_CPONLY(kColorYepChatThinkingEnabled) \
+ E_CPONLY(kColorYepChatThinkingHeadIcon) \
+ E_CPONLY(kColorYepChatToolbarIcon) \
+ E_CPONLY(kColorYepChatLink) \
#if BUILDFLAG(IS_CHROMEOS)
#define CHROME_PLATFORM_SPECIFIC_COLOR_IDS \
diff --git a/chrome/browser/ui/color/chrome_color_mixer.cc b/chrome/browser/ui/color/chrome_color_mixer.cc
index ad1e83e1bfcca7..dff5a80cf69936 100644
--- a/chrome/browser/ui/color/chrome_color_mixer.cc
+++ b/chrome/browser/ui/color/chrome_color_mixer.cc
@@ -920,20 +920,58 @@ void AddChromeColorMixer(ui::ColorProvider* provider,
gfx::kGoogleBlue500, kColorReadAnythingBackgroundYellow,
color_utils::kMinimumVisibleContrastRatio);
- // Apply high contrast recipes if necessary.
- if (!ShouldApplyHighContrastColors(key)) {
- return;
- }
- mixer[kColorDownloadShelfContentAreaSeparator] = {
- kColorToolbarContentAreaSeparator};
- mixer[kColorInfoBarContentAreaSeparator] = {
- kColorToolbarContentAreaSeparator};
- mixer[kColorLocationBarBorder] = {kColorToolbarText};
- mixer[kColorToolbar] = {dark_mode ? SK_ColorBLACK : SK_ColorWHITE};
- mixer[kColorToolbarContentAreaSeparator] = {kColorToolbarText};
- mixer[kColorToolbarText] = {dark_mode ? SK_ColorWHITE : SK_ColorBLACK};
- mixer[kColorToolbarTopSeparatorFrameActive] = {dark_mode ? SK_ColorDKGRAY
- : SK_ColorLTGRAY};
- mixer[ui::kColorFrameActive] = {SK_ColorDKGRAY};
- mixer[ui::kColorFrameInactive] = {SK_ColorGRAY};
+ /* Yep Chat Colors */
+ mixer[kColorYepChatPromptBackground] = {
+ dark_mode ? SkColorSetRGB(24, 24, 28) : SkColorSetRGB(235, 233, 240)};
+ mixer[kColorYepChatPanelBackground] = {dark_mode ? SkColorSetRGB(42, 41, 51)
+ : SK_ColorWHITE};
+ mixer[kColorYepChatSiteInfoVerticalBarBackground] = {
+ dark_mode ? SkColorSetARGB(26, 255, 255, 255)
+ : SkColorSetARGB(26, 0, 0, 0)};
+ mixer[kColorYepChatPrimaryText] = {dark_mode
+ ? SkColorSetARGB(217, 255, 255, 255)
+ : SkColorSetARGB(217, 0, 0, 0)};
+ mixer[kColorYepChatSecondaryText] = {dark_mode
+ ? SkColorSetARGB(128, 255, 255, 255)
+ : SkColorSetARGB(128, 0, 0, 0)};
+ mixer[kColorYepChatTertiaryText] = {dark_mode
+ ? SkColorSetARGB(64, 255, 255, 255)
+ : SkColorSetARGB(64, 0, 0, 0)};
+ mixer[kColorYepChatPanelBorder] = {dark_mode
+ ? SkColorSetARGB(26, 255, 255, 255)
+ : SkColorSetARGB(26, 0, 0, 0)};
+ mixer[kColorYepChatSendButtonBackground] = {dark_mode ? SK_ColorWHITE
+ : SK_ColorBLACK};
+ mixer[kColorYepChatSendButtonForeground] = {dark_mode ? SK_ColorBLACK
+ : SK_ColorWHITE};
+
+ mixer[kColorYepChatError] = {dark_mode
+ ? SkColorSetARGB(255, 255, 130, 124)
+ : SkColorSetARGB(255, 179, 38, 30)};
+ mixer[kColorYepChatThinkingEnabled] = {SkColorSetARGB(255, 90, 100, 205)};
+ mixer[kColorYepChatThinkingHeadIcon] = {SkColorSetARGB(255, 217, 217, 217)};
+
+ mixer[kColorYepChatToolbarIcon] = {dark_mode
+ ? SkColorSetARGB(255, 255, 242, 1)
+ : SkColorSetARGB(217, 0, 0, 0)};
+ mixer[kColorYepChatLink] = {dark_mode
+ ? SkColorSetARGB(255, 129, 160, 240)
+ : SkColorSetARGB(255, 8, 40, 187)};
+
+ // Apply high contrast recipes if necessary.
+ if (!ShouldApplyHighContrastColors(key)) {
+ return;
+ }
+ mixer[kColorDownloadShelfContentAreaSeparator] = {
+ kColorToolbarContentAreaSeparator};
+ mixer[kColorInfoBarContentAreaSeparator] = {
+ kColorToolbarContentAreaSeparator};
+ mixer[kColorLocationBarBorder] = {kColorToolbarText};
+ mixer[kColorToolbar] = {dark_mode ? SK_ColorBLACK : SK_ColorWHITE};
+ mixer[kColorToolbarContentAreaSeparator] = {kColorToolbarText};
+ mixer[kColorToolbarText] = {dark_mode ? SK_ColorWHITE : SK_ColorBLACK};
+ mixer[kColorToolbarTopSeparatorFrameActive] = {dark_mode ? SK_ColorDKGRAY
+ : SK_ColorLTGRAY};
+ mixer[ui::kColorFrameActive] = {SK_ColorDKGRAY};
+ mixer[ui::kColorFrameInactive] = {SK_ColorGRAY};
}
diff --git a/chrome/browser/ui/color/material_tab_strip_color_mixer.cc b/chrome/browser/ui/color/material_tab_strip_color_mixer.cc
index 7c892012eaae6a..56aee17496f3a2 100644
--- a/chrome/browser/ui/color/material_tab_strip_color_mixer.cc
+++ b/chrome/browser/ui/color/material_tab_strip_color_mixer.cc
@@ -25,26 +25,47 @@ void AddMaterialTabStripColorMixer(ui::ColorProvider* provider,
return;
}
+ const bool dark_mode =
+ key.color_mode == ui::ColorProviderKey::ColorMode::kDark;
+
// TODO(crbug.com/40883407): Validate final mappings for ChromeRefresh23
// color.
ui::ColorMixer& mixer = provider->AddMixer();
- mixer[kColorTabBackgroundActiveFrameActive] = {ui::kColorSysBase};
- mixer[kColorTabBackgroundActiveFrameInactive] = {
- kColorTabBackgroundActiveFrameActive};
+
+ // Taktak - Tab background
+ const SkColor active_tab_background = {
+ dark_mode ? SkColorSetRGB(0x2A, 0x29, 0x33) : SK_ColorWHITE};
+ const SkColor hover_tab_background = {
+ dark_mode ? SkColorSetARGB(0x17, 0x9E, 0x9D, 0xAE)
+ : SkColorSetARGB(0x17, 0x68, 0x54, 0x9A)};
+
+ // mixer[kColorTabBackgroundActiveFrameActive] = {ui::kColorSysBase};
+ // mixer[kColorTabBackgroundActiveFrameInactive] =
+ // {kColorTabBackgroundActiveFrameActive};
+ mixer[kColorTabBackgroundActiveFrameActive] = {active_tab_background};
+ mixer[kColorTabBackgroundActiveFrameInactive] = {ui::kColorSysBase};
mixer[kColorTabBackgroundInactiveFrameActive] = {ui::kColorSysHeader};
mixer[kColorTabBackgroundInactiveFrameInactive] = {
ui::kColorSysHeaderInactive};
- mixer[kColorTabBackgroundInactiveHoverFrameActive] = {
- ui::kColorSysStateHeaderHover};
+
+ // mixer[kColorTabBackgroundInactiveHoverFrameActive] =
+ // {ui::kColorSysStateHeaderHover};
+ mixer[kColorTabBackgroundInactiveHoverFrameActive] = {hover_tab_background};
+
mixer[kColorTabStripComboButtonSeparator] = {ui::kColorSysDivider};
- mixer[kColorTabStripControlButtonInkDrop] = {ui::kColorSysStateHeaderHover};
+
+ // mixer[kColorTabStripControlButtonInkDrop] =
+ // {ui::kColorSysStateHeaderHover};
+ mixer[kColorTabStripControlButtonInkDrop] = {hover_tab_background};
+
mixer[kColorTabStripControlButtonInkDropRipple] = {
ui::kColorSysStateRippleNeutralOnSubtle};
// TODO(tbergquist): Use kColorSysStateHeaderHoverInactive, once it exists.
- mixer[kColorTabBackgroundInactiveHoverFrameInactive] = {
- ui::kColorSysStateHeaderHoverInactive};
+ // mixer[kColorTabBackgroundInactiveHoverFrameInactive] = {
+ // ui::kColorSysStateHeaderHoverInactive};
+ mixer[kColorTabBackgroundInactiveHoverFrameInactive] = {hover_tab_background};
mixer[kColorTabBackgroundSelectedFrameActive] = {ui::GetResultingPaintColor(
ui::kColorSysStateHeaderSelect, kColorTabBackgroundInactiveFrameActive)};
diff --git a/chrome/browser/ui/layout_constants.cc b/chrome/browser/ui/layout_constants.cc
index 6b68ec265a56a5..59652458427be2 100644
--- a/chrome/browser/ui/layout_constants.cc
+++ b/chrome/browser/ui/layout_constants.cc
@@ -52,7 +52,8 @@ int GetLayoutConstant(LayoutConstant constant) {
case LOCATION_BAR_CHILD_INTERIOR_PADDING:
return 3;
case LOCATION_BAR_CHILD_CORNER_RADIUS:
- return 12;
+ // return 12;
+ return 0;
case LOCATION_BAR_CHIP_ICON_SIZE:
return 16;
case LOCATION_BAR_CHIP_PADDING:
@@ -60,7 +61,8 @@ int GetLayoutConstant(LayoutConstant constant) {
case LOCATION_BAR_ELEMENT_PADDING:
return touch_ui ? 3 : 2;
case LOCATION_BAR_PAGE_INFO_ICON_VERTICAL_PADDING:
- return touch_ui ? 3 : 5;
+ // return touch_ui ? 3 : 5;
+ return touch_ui ? 3 : 2;
case LOCATION_BAR_LEADING_DECORATION_EDGE_PADDING:
// TODO(manukh): See comment in `LocationBarView::Layout()`. We have too
// many feature permutations that would affect this and other layout
@@ -73,7 +75,8 @@ int GetLayoutConstant(LayoutConstant constant) {
case LOCATION_BAR_TRAILING_DECORATION_INNER_PADDING:
return touch_ui ? 3 : 8;
case LOCATION_BAR_HEIGHT:
- return touch_ui ? 36 : 34;
+ // return touch_ui ? 36 : 34;
+ return touch_ui ? 26 : 24; // toolbar_button height is changed too
case LOCATION_BAR_ICON_SIZE:
return touch_ui ? 20 : 16;
case LOCATION_BAR_LEADING_ICON_SIZE:
@@ -117,11 +120,13 @@ int GetLayoutConstant(LayoutConstant constant) {
}
return 1;
case TOOLBAR_BUTTON_HEIGHT:
- return touch_ui ? 48 : 34;
+ // return touch_ui ? 48 : 34;
+ return touch_ui ? 48 : 28;
case TOOLBAR_DIVIDER_CORNER_RADIUS:
return 1;
case TOOLBAR_DIVIDER_HEIGHT:
- return touch_ui ? 20 : 16;
+ // return touch_ui ? 20 : 16;
+ return touch_ui ? 18 : 14;
case TOOLBAR_DIVIDER_SPACING:
return 9;
case TOOLBAR_DIVIDER_WIDTH:
@@ -137,7 +142,8 @@ int GetLayoutConstant(LayoutConstant constant) {
case DOWNLOAD_ICON_SIZE:
return 20;
case TOOLBAR_CORNER_RADIUS:
- return 8;
+ // return 8;
+ return 0;
default:
break;
}
diff --git a/chrome/browser/ui/startup/infobar_utils.cc b/chrome/browser/ui/startup/infobar_utils.cc
index e6ffe5e8175ec8..b08c4f6a60713c 100644
--- a/chrome/browser/ui/startup/infobar_utils.cc
+++ b/chrome/browser/ui/startup/infobar_utils.cc
@@ -20,6 +20,7 @@
#include "chrome/browser/ui/startup/startup_browser_creator.h"
#include "chrome/browser/ui/startup/startup_types.h"
#include "chrome/browser/ui/startup/test_third_party_cookie_phaseout_infobar_delegate.h"
+#include "chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "components/infobars/content/content_infobar_manager.h"
@@ -206,11 +207,14 @@ void AddInfoBarsIfNecessary(Browser* browser,
browser->GetWeakPtr());
}
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
-
// The default browser prompt should only be shown after the first run.
if (is_first_run == chrome::startup::IsFirstRun::kNo) {
ShowDefaultBrowserPrompt(profile,
std::move(default_browser_prompt_shown_callback));
}
#endif
+
+ if (!is_web_app) {
+ UpdateNotifierPromptManager::GetInstance()->MaybeShowPrompt();
+ }
}
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
index 4eb0e772613b8f..c1c33e5b0d2dac 100644
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -59,6 +59,8 @@
#include "content/public/browser/dom_storage_context.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/content_switches.h"
+#include "base/no_destructor.h"
+#include "chrome/browser/ui/startup/update_notifier/browser_activity_observer.h"
#if BUILDFLAG(IS_MAC)
#include "base/mac/mac_util.h"
@@ -114,6 +116,8 @@ void PrependTabs(const StartupTabs& from, StartupTabs* to) {
} // namespace
+static base::NoDestructor> activity_observer_;
+
StartupBrowserCreatorImpl::StartupBrowserCreatorImpl(
const base::FilePath& cur_dir,
const base::CommandLine& command_line,
@@ -150,6 +154,10 @@ void StartupBrowserCreatorImpl::Launch(
DCHECK(profile);
profile_ = profile;
+ if (!(*activity_observer_)) {
+ *activity_observer_ = std::make_unique();
+ }
+
DetermineURLsAndLaunch(process_startup, restore_tabbed_browser);
if (command_line_->HasSwitch(switches::kInstallChromeApp)) {
diff --git a/chrome/browser/ui/startup/update_notifier/browser_activity_observer.cc b/chrome/browser/ui/startup/update_notifier/browser_activity_observer.cc
new file mode 100644
index 00000000000000..b8887ba5bb8760
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/browser_activity_observer.cc
@@ -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/.
+
+#include "browser_activity_observer.h"
+#include "chrome/browser/ui/browser_list.h"
+#include "update_notifier_prompt_manager.h"
+
+BrowserActivityObserver::BrowserActivityObserver() {
+ BrowserList::AddObserver(this);
+ last_inactive_time_ = base::Time::Now();
+}
+
+BrowserActivityObserver::~BrowserActivityObserver() {
+ BrowserList::RemoveObserver(this);
+}
+
+void BrowserActivityObserver::OnBrowserNoLongerActive(Browser *browser) {
+ last_inactive_time_ = base::Time::Now();
+}
+
+void BrowserActivityObserver::OnBrowserSetLastActive(Browser* browser) {
+ const int kInactiveDurationThresholdMinutes = 90;
+ base::Time now = base::Time::Now();
+ base::TimeDelta inactive_duration = now - last_inactive_time_;
+
+ if (inactive_duration >= base::Minutes(kInactiveDurationThresholdMinutes)) {
+ UpdateNotifierPromptManager::GetInstance()->MaybeShowPrompt();
+ }
+
+ last_inactive_time_ = now;
+}
diff --git a/chrome/browser/ui/startup/update_notifier/browser_activity_observer.h b/chrome/browser/ui/startup/update_notifier/browser_activity_observer.h
new file mode 100644
index 00000000000000..6c6e7853a20ae5
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/browser_activity_observer.h
@@ -0,0 +1,29 @@
+// 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_UI_STARTUP_UPDATE_NOTIFIER_BROWSER_ACTIVITY_OBSERVER_H_
+#define CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_BROWSER_ACTIVITY_OBSERVER_H_
+
+#include "base/time/time.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/ui/browser_list_observer.h"
+#include "chrome/browser/ui/browser.h"
+
+class BrowserActivityObserver : public BrowserListObserver {
+ public:
+ BrowserActivityObserver();
+ ~BrowserActivityObserver() override;
+
+ void OnBrowserNoLongerActive(Browser* browser) override;
+
+ void OnBrowserSetLastActive(Browser* browser) override;
+
+ private:
+
+ base::Time last_inactive_time_;
+ base::WeakPtrFactory weak_factory_{this};
+};
+
+#endif //CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_BROWSER_ACTIVITY_OBSERVER_H_
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_api_client.cc b/chrome/browser/ui/startup/update_notifier/update_notifier_api_client.cc
new file mode 100644
index 00000000000000..801c7edf2881b6
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_api_client.cc
@@ -0,0 +1,53 @@
+// 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 "update_notifier_api_client.h"
+#include "base/version_info/version_info.h"
+#include "chrome/browser/buildflags.h"
+
+namespace {
+
+constexpr char kHttpMethod[] = "GET";
+constexpr char kContentType[] = "application/json";
+
+net::NetworkTrafficAnnotationTag GetNetworkTrafficAnnotationTag() {
+ return net::DefineNetworkTrafficAnnotation("update_notifier", R"(
+ semantics {
+ sender: "Browser"
+ description:
+ "This is used to check if there is any update available for the users."
+ trigger:
+ "Triggered by user opening the browser."
+ data:
+ "Generated data."
+ destination: WEBSITE
+ }
+ policy {
+ cookies_allowed: NO
+ policy_exception_justification:
+ "Not implemented."
+ }
+ )");
+}
+
+} // namespace
+
+UpdateNotifierApiClient::UpdateNotifierApiClient(
+ scoped_refptr url_loader_factory)
+ : web_request_helper_(GetNetworkTrafficAnnotationTag(),
+ std::move(url_loader_factory)) {}
+
+UpdateNotifierApiClient::~UpdateNotifierApiClient() = default;
+
+void UpdateNotifierApiClient::Post(std::string data, ResultCallback callback) {
+ GURL api_url(BUILDFLAG(TAKTAK_UPDATE_CHECK_API_URL) + std::string("/") + std::string(version_info::GetVersionNumber()));
+ DCHECK(api_url.is_valid()) << "Invalid API Url: " << api_url.spec();
+
+ base::flat_map headers;
+ headers.emplace("x-api-key", BUILDFLAG(TAKTAK_UPDATE_CHECK_API_KEY));
+
+ web_request_helper_.Request(kHttpMethod, api_url, {}, kContentType,
+ std::move(callback), headers, {});
+}
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_api_client.h b/chrome/browser/ui/startup/update_notifier/update_notifier_api_client.h
new file mode 100644
index 00000000000000..e2446eee84b2a6
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_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_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_API_CLIENT_H_
+#define CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_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 UpdateNotifierApiClient {
+ public:
+ using ResultCallback = base::OnceCallback;
+
+ UpdateNotifierApiClient(
+ scoped_refptr url_loader_factory);
+
+ UpdateNotifierApiClient(const UpdateNotifierApiClient&) = delete;
+ UpdateNotifierApiClient& operator=(const UpdateNotifierApiClient&) = delete;
+ ~UpdateNotifierApiClient();
+
+ void Post(std::string data, ResultCallback callback);
+
+ private:
+ web_request_helper::WebRequestHelper web_request_helper_;
+ base::WeakPtrFactory weak_ptr_factory_{this};
+};
+#endif // CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_API_CLIENT_H_
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.cc b/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.cc
new file mode 100644
index 00000000000000..3591546433fec0
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.cc
@@ -0,0 +1,91 @@
+// 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 "update_notifier_infobar_delegate.h"
+
+#include
+
+#include "base/functional/bind.h"
+#include "base/functional/callback_helpers.h"
+#include "base/task/single_thread_task_runner.h"
+#include "base/types/pass_key.h"
+#include "build/build_config.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/infobars/confirm_infobar_creator.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/grit/generated_resources.h"
+#include "components/infobars/core/confirm_infobar_delegate.h"
+#include "components/infobars/core/infobar.h"
+#include "components/omnibox/browser/vector_icons.h"
+#include "components/vector_icons/vector_icons.h"
+#include "content/public/common/content_switches.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "chrome/browser/buildflags.h"
+
+// static
+infobars::InfoBar* UpdateNotifierInfoBarDelegate::Create(
+ infobars::ContentInfoBarManager* infobar_manager,
+ Profile* profile) {
+ return infobar_manager->AddInfoBar(
+ CreateConfirmInfoBar(std::make_unique(
+ base::PassKey(), profile)));
+}
+
+UpdateNotifierInfoBarDelegate::UpdateNotifierInfoBarDelegate(
+ base::PassKey,
+ Profile* profile)
+ : profile_(profile) {}
+
+UpdateNotifierInfoBarDelegate::~UpdateNotifierInfoBarDelegate() = default;
+
+infobars::InfoBarDelegate::InfoBarIdentifier
+UpdateNotifierInfoBarDelegate::GetIdentifier() const {
+ return UPDATE_NOTIFIER_INFOBAR_DELEGATE;
+}
+
+const gfx::VectorIcon& UpdateNotifierInfoBarDelegate::GetVectorIcon() const {
+ return dark_mode() ? omnibox::kProductChromeRefreshIcon
+ : vector_icons::kProductIcon;
+}
+
+bool UpdateNotifierInfoBarDelegate::ShouldExpire(
+ const NavigationDetails& details) const {
+ return false;
+}
+
+void UpdateNotifierInfoBarDelegate::InfoBarDismissed() {
+ ConfirmInfoBarDelegate::InfoBarDismissed();
+}
+
+std::u16string UpdateNotifierInfoBarDelegate::GetMessageText() const {
+ return l10n_util::GetStringUTF16(IDS_UPDATE_NOTIFIER_MESSAGE);
+}
+
+int UpdateNotifierInfoBarDelegate::GetButtons() const {
+ return BUTTON_OK;
+}
+
+std::u16string UpdateNotifierInfoBarDelegate::GetButtonLabel(
+ InfoBarButton button) const {
+ DCHECK_EQ(BUTTON_OK, button);
+ return l10n_util::GetStringUTF16(IDS_UPDATE_NOTIFIER_BUTTON_TEXT);
+}
+
+bool UpdateNotifierInfoBarDelegate::Accept() {
+ Browser* browser = chrome::FindLastActiveWithProfile(profile_);
+ if (!browser) {
+ return ConfirmInfoBarDelegate::Accept();
+ }
+
+ content::OpenURLParams params(
+ GURL{BUILDFLAG(TAKTAK_DOWNLOAD_URL)}, content::Referrer(),
+ WindowOpenDisposition::NEW_FOREGROUND_TAB, ui::PAGE_TRANSITION_LINK,
+ false /* is_renderer_initiated */);
+ browser->OpenURL(params, /*navigation_handle_callback=*/{});
+
+ return ConfirmInfoBarDelegate::Accept();
+}
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.h b/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.h
new file mode 100644
index 00000000000000..c66e01a5ca1b89
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_infobar_delegate.h
@@ -0,0 +1,44 @@
+// 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_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_INFOBAR_DELEGATE_H_
+#define CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_INFOBAR_DELEGATE_H_
+
+#include "base/memory/raw_ptr.h"
+#include "base/types/pass_key.h"
+#include "chrome/browser/shell_integration.h"
+#include "components/infobars/content/content_infobar_manager.h"
+#include "components/infobars/core/confirm_infobar_delegate.h"
+
+class Profile;
+
+// The infobar takes ownership of this delegate and manages its lifetime,
+// which is tied to the associated WebContents instance.
+class UpdateNotifierInfoBarDelegate : public ConfirmInfoBarDelegate {
+ public:
+ static infobars::InfoBar *Create(
+ infobars::ContentInfoBarManager *infobar_manager,
+ Profile *profile);
+
+ UpdateNotifierInfoBarDelegate(const UpdateNotifierInfoBarDelegate &) = delete;
+ UpdateNotifierInfoBarDelegate &operator=(const UpdateNotifierInfoBarDelegate &) = delete;
+
+ UpdateNotifierInfoBarDelegate(base::PassKey, Profile* profile);
+ ~UpdateNotifierInfoBarDelegate() override;
+
+ private:
+ // ConfirmInfoBarDelegate:
+ infobars::InfoBarDelegate::InfoBarIdentifier GetIdentifier() const override;
+ const gfx::VectorIcon &GetVectorIcon() const override;
+ bool ShouldExpire(const NavigationDetails &details) const override;
+ void InfoBarDismissed() override;
+ std::u16string GetMessageText() const override;
+ int GetButtons() const override;
+ std::u16string GetButtonLabel(InfoBarButton button) const override;
+ bool Accept() override;
+
+ raw_ptr profile_;
+};
+#endif //CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATE_NOTIFIER_INFOBAR_DELEGATE_H_
\ No newline at end of file
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.cc b/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.cc
new file mode 100644
index 00000000000000..41e3a3c1d12825
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.cc
@@ -0,0 +1,190 @@
+// 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 "update_notifier_prompt_manager.h"
+
+#include
+
+#include "base/containers/contains.h"
+#include "base/functional/bind.h"
+#include "base/functional/callback_helpers.h"
+#include "base/metrics/histogram_functions.h"
+#include "base/time/time.h"
+#include "base/timer/timer.h"
+#include "build/build_config.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_list.h"
+#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_infobar_delegate.h"
+#include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_prefs.h"
+#include "chrome/browser/ui/startup/update_notifier/update_notifier_api_client.h"
+#include "chrome/browser/ui/ui_features.h"
+#include "chrome/common/pref_names.h"
+#include "components/infobars/core/confirm_infobar_delegate.h"
+#include "components/infobars/core/infobar.h"
+#include "components/prefs/pref_service.h"
+#include "components/web_request_helper/web_request_helper.h"
+#include "content/public/browser/web_contents.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 "update_notifier_infobar_delegate.h"
+#include "url/gurl.h"
+#include "base/values.h"
+
+
+namespace {
+class SharedURLLoaderFactory;
+}
+
+// static
+UpdateNotifierPromptManager* UpdateNotifierPromptManager::GetInstance() {
+ return base::Singleton::get();
+}
+
+void UpdateNotifierPromptManager::InitTabStripTracker() {
+ browser_tab_strip_tracker_ =
+ std::make_unique(this, this);
+ // This will trigger a call to `OnTabStripModelChanged`, which will create
+ // the info bar.
+ browser_tab_strip_tracker_->Init();
+}
+
+void UpdateNotifierPromptManager::MaybeShowPrompt() {
+#if BUILDFLAG(IS_ANDROID)
+ NOTREACHED() << "Unsupported platforms for showing updater prompts.";
+#else
+
+ scoped_refptr url_loader_factory =
+ g_browser_process->system_network_context_manager()
+ ->GetSharedURLLoaderFactory();
+ if (!api_client_) {
+ api_client_ = std::make_unique(
+ std::move(url_loader_factory));
+ }
+ api_client_->Post(
+ "", base::BindOnce(&UpdateNotifierPromptManager::OnCheckNewerVersion,
+ base::Unretained(this)));
+
+#endif // BUILDFLAG(IS_ANDROID)
+}
+
+void UpdateNotifierPromptManager::CloseAllPrompts(CloseReason close_reason) {
+#if BUILDFLAG(IS_ANDROID)
+ NOTREACHED() << "Unsupported platforms for showing updater prompts.";
+#else
+ CloseAllInfoBars();
+#endif
+}
+
+UpdateNotifierPromptManager::UpdateNotifierPromptManager() = default;
+
+UpdateNotifierPromptManager::~UpdateNotifierPromptManager() = default;
+
+void UpdateNotifierPromptManager::OnCheckNewerVersion(WebRequestResult result) {
+ if (result.response_code() != 200 ) {
+ DVLOG(0) << __func__ << " |>> Failed checking new version with error code: "
+ << result.response_code();
+ return;
+ }
+ DVLOG(0) << __func__
+ << " |>> Success checking new version with response code: "
+ << result.response_code();
+ if (result.value_body().is_dict() ) {
+ const base::Value::Dict &dict = result.value_body().GetDict();
+ const std::optional success = dict.FindBool("success");
+ DVLOG(0) << __func__ << " |>> success: " << success.value();
+ if (success.has_value() && success.value()) {
+ const std::optional data = dict.FindBool("data");
+ if (data.has_value() && data.value()) {
+ DVLOG(0) << __func__ << " |>> data: " << data.value();
+ InitTabStripTracker();
+ }
+ }
+ }
+}
+
+void UpdateNotifierPromptManager::CreateInfoBarForWebContents(
+ content::WebContents* web_contents,
+ Profile* profile) {
+ // Ensure that an infobar hasn't already been created.
+ CHECK(!infobars_.contains(web_contents));
+
+ infobars::InfoBar* infobar = UpdateNotifierInfoBarDelegate::Create(
+ infobars::ContentInfoBarManager::FromWebContents(web_contents), profile);
+
+ if (infobar == nullptr) {
+ // Infobar may be null if `InfoBarManager::ShouldShowInfoBar` returns false,
+ // in which case this function should do nothing. One case where this can
+ // happen is if the --headless command line switch is present.
+ return;
+ }
+
+ infobars_[web_contents] = infobar;
+
+ static_cast(infobar->delegate())->AddObserver(this);
+
+ auto* infobar_manager =
+ infobars::ContentInfoBarManager::FromWebContents(web_contents);
+ infobar_manager->AddObserver(this);
+}
+
+void UpdateNotifierPromptManager::CloseAllInfoBars() {
+ browser_tab_strip_tracker_.reset();
+
+ for (const auto& infobars_entry : infobars_) {
+ infobars_entry.second->owner()->RemoveObserver(this);
+ infobars_entry.second->RemoveSelf();
+ }
+
+ infobars_.clear();
+}
+
+bool UpdateNotifierPromptManager::ShouldTrackBrowser(Browser* browser) {
+ return browser->is_type_normal() &&
+ !browser->profile()->IsIncognitoProfile() &&
+ !browser->profile()->IsGuestSession();
+}
+
+void UpdateNotifierPromptManager::OnTabStripModelChanged(
+ TabStripModel* tab_strip_model,
+ const TabStripModelChange& change,
+ const TabStripSelectionChange& selection) {
+ if (change.type() == TabStripModelChange::kInserted) {
+ for (const auto& contents : change.GetInsert()->contents) {
+ if (!base::Contains(infobars_, contents.contents)) {
+ CreateInfoBarForWebContents(contents.contents,
+ tab_strip_model->profile());
+ }
+ }
+ }
+}
+
+void UpdateNotifierPromptManager::OnInfoBarRemoved(infobars::InfoBar* infobar,
+ bool animate) {
+ auto infobars_entry = std::ranges::find(
+ infobars_, infobar, &decltype(infobars_)::value_type::second);
+ if (infobars_entry == infobars_.end()) {
+ return;
+ }
+
+ infobar->owner()->RemoveObserver(this);
+ infobars_.erase(infobars_entry);
+ static_cast(infobar->delegate())
+ ->RemoveObserver(this);
+
+ if (user_initiated_info_bar_close_pending_.has_value()) {
+ CloseAllPrompts(user_initiated_info_bar_close_pending_.value());
+ user_initiated_info_bar_close_pending_.reset();
+ }
+}
+
+void UpdateNotifierPromptManager::OnAccept() {
+ user_initiated_info_bar_close_pending_ = CloseReason::kAccept;
+}
+
+void UpdateNotifierPromptManager::OnDismiss() {
+ user_initiated_info_bar_close_pending_ = CloseReason::kDismiss;
+}
diff --git a/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.h b/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.h
new file mode 100644
index 00000000000000..a073acf61116fb
--- /dev/null
+++ b/chrome/browser/ui/startup/update_notifier/update_notifier_prompt_manager.h
@@ -0,0 +1,91 @@
+// 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_UI_STARTUP_UPDATE_NOTIFIER_UPDATENOTIFIERPROMPTMANAGER_H_
+#define CHROMIUM_SRC_CHROME_BROWSER_UI_STARTUP_UPDATE_NOTIFIER_UPDATENOTIFIERPROMPTMANAGER_H_
+
+#include