diff --git a/app/brave_generated_resources.grd b/app/brave_generated_resources.grd
index 3eed76887480..e7bf107db116 100644
--- a/app/brave_generated_resources.grd
+++ b/app/brave_generated_resources.grd
@@ -311,6 +311,13 @@ By installing this extension, you are agreeing to the Google Widevine Terms of U
Disable non-proxied UDP
+
+
+ Brave Sync
+
+
+ Access Brave Sync via
+
diff --git a/browser/resources/settings/brave_page_visibility.js b/browser/resources/settings/brave_page_visibility.js
index 1b19f5ce0d2f..e89c56464f15 100644
--- a/browser/resources/settings/brave_page_visibility.js
+++ b/browser/resources/settings/brave_page_visibility.js
@@ -31,11 +31,18 @@ cr.define('settings', function() {
}
}
+ const braveSyncHandler = {
+ get: function(obj, prop) {
+ return true;
+ }
+ };
+
const handler = {
get: function(obj, prop) {
if (prop === 'appearance') return new Proxy({}, appearanceHandler);
if (prop === 'braveShieldsDefaults') return new Proxy({}, braveShieldsDefaultsHandler);
if (prop === 'privacy') return new Proxy({}, privacyHandler);
+ if (prop === 'braveSync') return new Proxy({}, braveSyncHandler);
return prop === 'a11y' ? false : true;
}
};
diff --git a/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.html b/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.html
new file mode 100644
index 000000000000..bff4ad058a78
--- /dev/null
+++ b/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.html
@@ -0,0 +1,2 @@
+
+
diff --git a/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.js b/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.js
new file mode 100644
index 000000000000..ae8da540dfbc
--- /dev/null
+++ b/browser/resources/settings/brave_sync_page/brave_sync_browser_proxy.js
@@ -0,0 +1,20 @@
+/* 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 http://mozilla.org/MPL/2.0/. */
+
+ cr.define('settings', function() {
+ /** @interface */
+ class DefaultBraveSyncBrowserProxy {}
+
+ /**
+ * @implements {settings.DefaultBraveSyncBrowserProxy}
+ */
+ class DefaultBraveSyncBrowserProxyImpl {}
+
+ cr.addSingletonGetter(DefaultBraveSyncBrowserProxyImpl);
+
+ return {
+ DefaultBraveSyncBrowserProxy,
+ DefaultBraveSyncBrowserProxyImpl
+ };
+});
diff --git a/browser/resources/settings/brave_sync_page/brave_sync_page.html b/browser/resources/settings/brave_sync_page/brave_sync_page.html
new file mode 100644
index 000000000000..ad5160e995d1
--- /dev/null
+++ b/browser/resources/settings/brave_sync_page/brave_sync_page.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/resources/settings/brave_sync_page/brave_sync_page.js b/browser/resources/settings/brave_sync_page/brave_sync_page.js
new file mode 100644
index 000000000000..1d64d114374d
--- /dev/null
+++ b/browser/resources/settings/brave_sync_page/brave_sync_page.js
@@ -0,0 +1,29 @@
+/* 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 http://mozilla.org/MPL/2.0/. */
+
+ (function() {
+ 'use strict';
+
+ /**
+ * 'settings-brave-sync-page' is the settings page containing brave's
+ * custom sync.
+ */
+ Polymer({
+ is: 'settings-brave-sync-page',
+
+ properties: {},
+
+ /** @private {?settings.DefaultBraveSyncBrowserProxy} */
+ browserProxy_: null,
+
+ /** @override */
+ created: function() {
+ this.browserProxy_ = settings.DefaultBraveSyncBrowserProxyImpl.getInstance();
+ },
+
+ /** @override */
+ ready: function() {
+ },
+ });
+ })();
diff --git a/browser/resources/settings/settings_resources.grd b/browser/resources/settings/settings_resources.grd
index aff5a5d4231d..fe6d897164d3 100644
--- a/browser/resources/settings/settings_resources.grd
+++ b/browser/resources/settings/settings_resources.grd
@@ -24,6 +24,11 @@
+
+
+
+
+
diff --git a/chromium_src/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc b/chromium_src/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
index 63df3bd1653c..67d37f2aca02 100644
--- a/chromium_src/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
+++ b/chromium_src/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
@@ -74,7 +74,11 @@ void BraveAddCommonStrings(content::WebUIDataSource* html_source,
{"defaultPublicInterfaceOnly",
IDS_SETTINGS_WEBRTC_POLICY_DEFAULT_PUBLIC_INTERFACE_ONLY},
{"disableNonProxiedUdp",
- IDS_SETTINGS_WEBRTC_POLICY_DISABLE_NON_PROXIED_UDP}
+ IDS_SETTINGS_WEBRTC_POLICY_DISABLE_NON_PROXIED_UDP},
+ {"braveSync",
+ IDS_SETTINGS_BRAVE_SYNC_TITLE},
+ {"braveSyncLabel",
+ IDS_SETTINGS_BRAVE_SYNC_LINK_LABEL}
};
AddLocalizedStringsBulk(html_source, localized_strings,
arraysize(localized_strings));
diff --git a/patches/chrome-browser-resources-settings-basic_page-basic_page.html.patch b/patches/chrome-browser-resources-settings-basic_page-basic_page.html.patch
index 2e1bfcd97ffe..1a06c88b1259 100644
--- a/patches/chrome-browser-resources-settings-basic_page-basic_page.html.patch
+++ b/patches/chrome-browser-resources-settings-basic_page-basic_page.html.patch
@@ -1,16 +1,17 @@
diff --git a/chrome/browser/resources/settings/basic_page/basic_page.html b/chrome/browser/resources/settings/basic_page/basic_page.html
-index 2e8fb6c622b75e53380e0e21c38e14e116d2c59e..3d0fc996e7e0203a6362b434e96c8139d709c4c7 100644
+index 2e8fb6c622b75e53380e0e21c38e14e116d2c59e..83eb299d0c9b71ad56d646affb139d0039582b5f 100644
--- a/chrome/browser/resources/settings/basic_page/basic_page.html
+++ b/chrome/browser/resources/settings/basic_page/basic_page.html
-@@ -26,6 +26,7 @@
+@@ -26,6 +26,8 @@
+
++