Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6279)

Unified Diff: chrome/browser/resources/chromeos/arc_support/background.js

Issue 2458213002: [Merge-M55] arc: Use overlay to show links from ToS. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/arc_support/background.js
diff --git a/chrome/browser/resources/chromeos/arc_support/background.js b/chrome/browser/resources/chromeos/arc_support/background.js
index 548f234367b34e7ee33d62af4dab7116b0102d26..c62101110ce43ef8a024bc12d18880f0cb102fca 100644
--- a/chrome/browser/resources/chromeos/arc_support/background.js
+++ b/chrome/browser/resources/chromeos/arc_support/background.js
@@ -162,7 +162,7 @@ function initialize(data, deviceId) {
*/
var onLearnMoreMetrics = function() {
var loadTimeData = appWindow.contentWindow.loadTimeData;
- showLearnModeOverlay(loadTimeData.getString('learnMoreStatistics'));
+ showTextOverlay(loadTimeData.getString('learnMoreStatistics'));
};
/**
@@ -171,7 +171,7 @@ var onLearnMoreMetrics = function() {
*/
var onLearnMoreBackupAndRestore = function() {
var loadTimeData = appWindow.contentWindow.loadTimeData;
- showLearnModeOverlay(loadTimeData.getString('learnMoreBackupAndRestore'));
+ showTextOverlay(loadTimeData.getString('learnMoreBackupAndRestore'));
};
/**
@@ -180,7 +180,7 @@ var onLearnMoreBackupAndRestore = function() {
*/
var onLearnMoreLocationServices = function() {
var loadTimeData = appWindow.contentWindow.loadTimeData;
- showLearnModeOverlay(loadTimeData.getString('learnMoreLocationServices'));
+ showTextOverlay(loadTimeData.getString('learnMoreLocationServices'));
};
/**
@@ -328,7 +328,7 @@ function showPage(pageDivId) {
return;
}
- hideLearnModeOverlay();
+ hideOverlay();
var doc = appWindow.contentWindow.document;
var pages = doc.getElementsByClassName('section');
var sendFeedbackElement = doc.getElementById('button-send-feedback');
@@ -371,27 +371,51 @@ function setErrorMessage(error) {
}
/**
- * Sets learn more content text and shows it as overlay dialog.
+ * Shows overlay dialog and required content.
+ * @param {string} overlayClass Defines which content to show, 'overlay-url' for
+ * webview based content and 'overlay-text' for
+ * simple text view.
+ */
+function showOverlay(overlayClass) {
+ var doc = appWindow.contentWindow.document;
+ var overlayContainer = doc.getElementById('overlay-container');
+ overlayContainer.className = 'overlay ' + overlayClass;
+ overlayContainer.hidden = false;
+}
+
+/**
+ * Opens overlay dialog and shows formatted text content there.
* @param {string} content HTML formatted text to show.
*/
-function showLearnModeOverlay(content) {
+function showTextOverlay(content) {
var doc = appWindow.contentWindow.document;
- var learnMoreContainer = doc.getElementById('learn-more-container');
- var learnMoreContent = doc.getElementById('learn-more-content');
- learnMoreContent.innerHTML = content;
- learnMoreContainer.hidden = false;
+ var textContent = doc.getElementById('overlay-text-content');
+ textContent.innerHTML = content;
+ showOverlay('overlay-text');
}
/**
- * Hides learn more overlay dialog.
+ * Opens overlay dialog and shows external URL there.
+ * @param {string} url Target URL to open in overlay dialog.
*/
-function hideLearnModeOverlay() {
+function showURLOverlay(url) {
var doc = appWindow.contentWindow.document;
- var learnMoreContainer = doc.getElementById('learn-more-container');
- learnMoreContainer.hidden = true;
+ var overlayWebview = doc.getElementById('overlay-url');
+ overlayWebview.src = url;
+ showOverlay('overlay-url');
}
/**
+ * Hides overlay dialog.
+ */
+function hideOverlay() {
+ var doc = appWindow.contentWindow.document;
+ var overlayContainer = doc.getElementById('overlay-container');
+ overlayContainer.hidden = true;
+}
+
+
+/**
* Shows requested page.
* @param {int} pageId Index of the page to show. Must be in the array range of
* UI_PAGES.
@@ -562,10 +586,10 @@ chrome.app.runtime.onLaunched.addListener(function() {
// webview is not allowed to open links in the new window. Hook these events
- // and open links in context of main page.
+ // and open links in overlay dialog.
termsView.addEventListener('newwindow', function(event) {
event.preventDefault();
- chrome.browser.openTab({'url': event.targetUrl}, function() {});
+ showURLOverlay(event.targetUrl);
});
var onAgree = function() {
@@ -606,13 +630,13 @@ chrome.app.runtime.onLaunched.addListener(function() {
doc.getElementById('button-retry').addEventListener('click', onRetry);
doc.getElementById('button-send-feedback')
.addEventListener('click', onSendFeedback);
- doc.getElementById('learn-more-close').addEventListener('click',
- hideLearnModeOverlay);
+ doc.getElementById('overlay-close').addEventListener('click',
+ hideOverlay);
- var overlay = doc.getElementById('learn-more-container');
+ var overlay = doc.getElementById('overlay-container');
appWindow.contentWindow.cr.ui.overlay.setupOverlay(overlay);
appWindow.contentWindow.cr.ui.overlay.globalInitialization();
- overlay.addEventListener('cancelOverlay', hideLearnModeOverlay);
+ overlay.addEventListener('cancelOverlay', hideOverlay);
connectPort();
};
« no previous file with comments | « chrome/browser/chromeos/arc/arc_support_host.cc ('k') | chrome/browser/resources/chromeos/arc_support/main.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698