diff --git a/app/extensions.js b/app/extensions.js
index 9b660c62ed4..b2c095290e4 100644
--- a/app/extensions.js
+++ b/app/extensions.js
@@ -155,7 +155,7 @@ let generateBraveManifest = () => {
'referrer': 'no-referrer',
'style-src': '\'self\' \'unsafe-inline\'',
'img-src': '* data: file://*',
- 'frame-src': '\'self\' https://buy.coinbase.com'
+ 'frame-src': '\'self\' https://buy.coinbase.com https://brave.com'
}
if (process.env.NODE_ENV === 'development') {
diff --git a/app/extensions/brave/about-welcome.html b/app/extensions/brave/about-welcome.html
new file mode 100644
index 00000000000..7235684f064
--- /dev/null
+++ b/app/extensions/brave/about-welcome.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/extensions/brave/content/styles/defaultStyles.css b/app/extensions/brave/content/styles/defaultStyles.css
new file mode 100644
index 00000000000..20787aa1dfd
--- /dev/null
+++ b/app/extensions/brave/content/styles/defaultStyles.css
@@ -0,0 +1,27 @@
+/* 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/. */
+
+/**
+ * Use this file as a normalizer
+ * to edit webview for about:pages.
+*/
+
+html, body {
+ font-family: "Helvetica Neue", Arial, sans-serif;
+ font-weight: 400;
+ margin: 0;
+ padding: 0;
+}
+
+html, body, #appContainer, #appContainer > div {
+ height: 100%;
+}
+
+body {
+ font-size: 100%;
+}
+
+.welcomePage {
+ overflow: hidden;
+}
diff --git a/app/extensions/brave/locales/en-US/app.properties b/app/extensions/brave/locales/en-US/app.properties
index d900ddc0cae..a4c34586a52 100644
--- a/app/extensions/brave/locales/en-US/app.properties
+++ b/app/extensions/brave/locales/en-US/app.properties
@@ -16,6 +16,7 @@ submit=Submit
settings=Settings
aboutPages=About pages
aboutBrave=About Brave
+aboutWelcome=Welcome to Brave
braveInfo=Browse faster and safer with Brave.
releaseNotes=Release Notes
relNotesInfo1=Click
diff --git a/app/renderer/about/welcome.js b/app/renderer/about/welcome.js
new file mode 100644
index 00000000000..92e1e8c244f
--- /dev/null
+++ b/app/renderer/about/welcome.js
@@ -0,0 +1,23 @@
+/* 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/. */
+
+const React = require('react')
+const {StyleSheet, css} = require('aphrodite/no-important')
+
+class AboutWelcome extends React.Component {
+ render () {
+ return
+ }
+}
+
+const styles = StyleSheet.create({
+ welcomeIframe: {
+ width: '100%',
+ height: '100%',
+ border: 0
+ }
+})
+
+module.exports =
diff --git a/js/about/entry.js b/js/about/entry.js
index 9c94bd6841a..70e53eaca68 100644
--- a/js/about/entry.js
+++ b/js/about/entry.js
@@ -95,6 +95,9 @@ switch (getBaseUrl(getSourceAboutUrl(window.location.href))) {
case 'about:contributions':
element = require('./contributionStatement')
break
+ case 'about:welcome':
+ element = require('../../app/renderer/about/welcome')
+ break
}
if (element) {
diff --git a/js/lib/appUrlUtil.js b/js/lib/appUrlUtil.js
index 62b190ab45a..4e2c1961b42 100644
--- a/js/lib/appUrlUtil.js
+++ b/js/lib/appUrlUtil.js
@@ -107,7 +107,8 @@ module.exports.aboutUrls = new Immutable.Map({
'about:preferences': module.exports.getBraveExtUrl('about-preferences.html'),
'about:safebrowsing': module.exports.getBraveExtUrl('about-safebrowsing.html'),
'about:styles': module.exports.getBraveExtUrl('about-styles.html'),
- 'about:contributions': module.exports.getBraveExtUrl('about-contributions.html')
+ 'about:contributions': module.exports.getBraveExtUrl('about-contributions.html'),
+ 'about:welcome': module.exports.getBraveExtUrl('about-welcome.html')
})
module.exports.isIntermediateAboutPage = (location) =>
diff --git a/test/unit/about/welcomePageTest.js b/test/unit/about/welcomePageTest.js
new file mode 100644
index 00000000000..de2f37c8e1d
--- /dev/null
+++ b/test/unit/about/welcomePageTest.js
@@ -0,0 +1,35 @@
+/* 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/. */
+/* global describe, before, after, it */
+
+const mockery = require('mockery')
+const {shallow} = require('enzyme')
+const assert = require('assert')
+let AboutWelcome
+require('../braveUnit')
+
+describe('AboutWelcome component', function () {
+ before(function () {
+ mockery.enable({
+ warnOnReplace: false,
+ warnOnUnregistered: false,
+ useCleanCache: true
+ })
+ AboutWelcome = require('../../../app/renderer/about/welcome')
+ mockery.registerMock('../../../less/about/common.less', {})
+ })
+
+ after(function () {
+ mockery.disable()
+ })
+
+ describe('Rendering', function () {
+ it('renders an iframe', function () {
+ const wrapper = shallow(
+ AboutWelcome
+ )
+ assert.equal(wrapper.find('[data-test-id="welcomeIframe"]').length, 1)
+ })
+ })
+})