[NextBrowser] Next Browser Version front-end in about page. 24/317724/4
authorshubham.garg <shubham.garg@samsung.com>
Fri, 13 Sep 2024 06:43:24 +0000 (12:13 +0530)
committerBot Blink <blinkbot@samsung.com>
Tue, 17 Sep 2024 10:40:45 +0000 (10:40 +0000)
-Next Browser Version display in about page in settings.

Change-Id: I8e5faa47a9ce6113b04a6bd0ae22394f09b15353
Signed-off-by: shubham.garg <shubham.garg@samsung.com>
chrome/app/settings_chromium_strings.grdp
chrome/browser/resources/settings/about_page/about_page.ts
chrome/browser/resources/settings/about_page/about_page_browser_proxy.ts

index b2cb1553a158e3bc403ea480925c674a75002299..e4a1b32a40f8530abb19e0091c8f7cb9ddd36262 100644 (file)
@@ -19,7 +19,7 @@
     </then>
     <else>
       <message name="IDS_SETTINGS_ABOUT_PROGRAM" desc="Menu title for the About Chromium page.">
-        About Chromium
+        About Next Browser <!-- SAMSUNG_NEXT_BROWSER -->
       </message>
       <message name="IDS_SETTINGS_GET_HELP_USING_CHROME" desc="Text of the button which takes the user to the Chrome help page.">
         Get help with Chromium
index 209b322854e0d6177ed6d5206219e61d4c165575..5f8464c1270dd834d534b4aa4210da2da6942876 100644 (file)
@@ -61,6 +61,11 @@ export class SettingsAboutPageElement extends SettingsAboutPageElementBase {
     return 'settings-about-page';
   }
 
+  constructor(){
+    super();
+    this.updateNextBrowserVersion();
+  }
+
   static get template() {
     return getTemplate();
   }
@@ -384,7 +389,34 @@ export class SettingsAboutPageElement extends SettingsAboutPageElementBase {
     }
     return this.showUpdateStatus_;
   }
+
+  public updateNextBrowserVersion(){
+    const promiseForNextBrowserVersion = this.aboutBrowserProxy_.getNextBrowserVersion();
+    promiseForNextBrowserVersion.then((result:any) => {
+      this.setNextBrowserVersion(result.Value);
+    });
+  }
   // </if>
+
+  private setNextBrowserVersion(value : string) : void{
+    let node = document.querySelector('settings-ui')?.shadowRoot?.childNodes[12] as HTMLElement;
+    if(node && node.querySelector)
+    {
+      let node2 = node.querySelector('settings-main')?.shadowRoot?.querySelector('SETTINGS-ABOUT-PAGE');
+      if(node2 && node2.shadowRoot)
+      {
+        node2 = node2?.shadowRoot?.childNodes[9] as HTMLElement;
+        if(node2)
+        {
+          let node3 = node2.querySelector('.secondary') as HTMLDivElement;
+          let chromiumVer = node3?.innerText;
+          let verHTML = "Next Browser Version : " + value + "\n" + chromiumVer;
+          node3.innerText = verHTML;
+        }
+      }
+
+    }
+  }
 }
 
 declare global {
@@ -392,5 +424,4 @@ declare global {
     'settings-about-page': SettingsAboutPageElement;
   }
 }
-
 customElements.define(SettingsAboutPageElement.is, SettingsAboutPageElement);
index 10bea4664af533ce109211c0ce8ec71f1fbc6ae2..e057e02c0f467b647f87cd13d227acc0425d9a91 100644 (file)
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+import {sendWithPromise} from 'chrome://resources/js/cr.js';
+
 /**
  * @fileoverview A helper object used from the "About" section to interact with
  * the browser.
  * the ones defined at |AboutHandler::UpdateStatusToString|.
  * @enum {string}
  */
+
+export interface QueryResult {
+  info: string;
+  value: string;
+}
+
 export enum UpdateStatus {
   CHECKING = 'checking',
   UPDATING = 'updating',
@@ -73,6 +81,8 @@ export interface AboutPageBrowserProxy {
    */
   promoteUpdater(): void;
   // </if>
+
+  getNextBrowserVersion() : Promise<QueryResult>;
 }
 
 export class AboutPageBrowserProxyImpl implements AboutPageBrowserProxy {
@@ -100,6 +110,10 @@ export class AboutPageBrowserProxyImpl implements AboutPageBrowserProxy {
   }
   // </if>
 
+  getNextBrowserVersion(){
+    return sendWithPromise('getNextBrowserVersion');
+  }
+
   static getInstance(): AboutPageBrowserProxy {
     return instance || (instance = new AboutPageBrowserProxyImpl());
   }