[go: nahoru, domu]

Emoji picker: we are actually ts - rm some unneeded interfaces

Also some @override comments we don't need

Change-Id: Ib061f5cdaeef10c1e3ea17a0c95eb2bdaeeb7688
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5274965
Reviewed-by: Michael Cui <mlcui@google.com>
Commit-Queue: John Palmer <jopalmer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1262245}
diff --git a/chrome/browser/resources/chromeos/emoji_picker/app.ts b/chrome/browser/resources/chromeos/emoji_picker/app.ts
index 67ce72c..99fdd5f 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/app.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/app.ts
@@ -23,7 +23,7 @@
 import * as constants from './constants.js';
 import {EmojiGroupComponent} from './emoji_group.js';
 import {Category, Feature, Status} from './emoji_picker.mojom-webui.js';
-import {EmojiPickerApiProxy, EmojiPickerApiProxyImpl} from './emoji_picker_api_proxy.js';
+import {EmojiPickerApiProxy} from './emoji_picker_api_proxy.js';
 import {EmojiSearch} from './emoji_search.js';
 import * as events from './events.js';
 import {CATEGORY_METADATA, CATEGORY_TABS, EMOJI_GROUP_TABS, GIF_CATEGORY_METADATA, gifCategoryTabs, SUBCATEGORY_TABS, TABS_CATEGORY_START_INDEX, TABS_CATEGORY_START_INDEX_GIF_SUPPORT} from './metadata_extension.js';
@@ -130,7 +130,7 @@
   private variantGroupingSupport: boolean;
   private showGifNudgeOverlay: boolean;
   private activeVariant: EmojiGroupComponent|null = null;
-  private apiProxy: EmojiPickerApiProxy = EmojiPickerApiProxyImpl.getInstance();
+  private apiProxy: EmojiPickerApiProxy = EmojiPickerApiProxy.getInstance();
   private autoScrollingToGroup: boolean = false;
   private highlightBarMoving: boolean = false;
   private nextGifPos: {[key: string]: string};
diff --git a/chrome/browser/resources/chromeos/emoji_picker/emoji_gif_nudge_overlay.ts b/chrome/browser/resources/chromeos/emoji_picker/emoji_gif_nudge_overlay.ts
index c8e2696d..e7732038 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/emoji_gif_nudge_overlay.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/emoji_gif_nudge_overlay.ts
@@ -5,7 +5,7 @@
 import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {getTemplate} from './emoji_gif_nudge_overlay.html.js';
-import {EmojiPickerApiProxyImpl} from './emoji_picker_api_proxy.js';
+import {EmojiPickerApiProxy} from './emoji_picker_api_proxy.js';
 
 
 
@@ -27,7 +27,7 @@
   closeOverlay: () => void;
 
   onClickLink() {
-    EmojiPickerApiProxyImpl.getInstance().openHelpCentreArticle();
+    EmojiPickerApiProxy.getInstance().openHelpCentreArticle();
   }
 
   onClickTooltip(event: MouseEvent) {
diff --git a/chrome/browser/resources/chromeos/emoji_picker/emoji_group.ts b/chrome/browser/resources/chromeos/emoji_picker/emoji_group.ts
index 9b482b6..2de00e0 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/emoji_group.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/emoji_group.ts
@@ -13,7 +13,7 @@
 import {VISUAL_CONTENT_WIDTH} from './constants.js';
 import {getTemplate} from './emoji_group.html.js';
 import {EmojiImageComponent} from './emoji_image.js';
-import {EmojiPickerApiProxyImpl} from './emoji_picker_api_proxy.js';
+import {EmojiPickerApiProxy} from './emoji_picker_api_proxy.js';
 import {createCustomEvent, EMOJI_CLEAR_RECENTS_CLICK, EMOJI_IMG_BUTTON_CLICK, EMOJI_TEXT_BUTTON_CLICK, EMOJI_VARIANTS_SHOWN, EmojiClearRecentClickEvent, EmojiTextButtonClickEvent} from './events.js';
 import {CategoryEnum, EmojiVariants, Gender, PreferenceMapping, Tone} from './types.js';
 
@@ -196,7 +196,7 @@
   }
 
   private onHelpClick(): void {
-    EmojiPickerApiProxyImpl.getInstance().openHelpCentreArticle();
+    EmojiPickerApiProxy.getInstance().openHelpCentreArticle();
   }
 
   /**
diff --git a/chrome/browser/resources/chromeos/emoji_picker/emoji_picker.ts b/chrome/browser/resources/chromeos/emoji_picker/emoji_picker.ts
index 4f74a5d..60796dd0 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/emoji_picker.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/emoji_picker.ts
@@ -14,7 +14,7 @@
 export {EmojiButton} from './emoji_button.js';
 export {EmojiGroupComponent} from './emoji_group.js';
 export {Category, Status, TenorGifResponse} from './emoji_picker.mojom-webui.js';
-export {EmojiPickerApiProxy, EmojiPickerApiProxyImpl} from './emoji_picker_api_proxy.js';
+export {EmojiPickerApiProxy} from './emoji_picker_api_proxy.js';
 export {EmojiSearch} from './emoji_search.js';
 export {EMOJI_IMG_BUTTON_CLICK, EMOJI_PICKER_READY, EMOJI_TEXT_BUTTON_CLICK, EMOJI_VARIANTS_SHOWN} from './events.js';
 export {EmojiPrefixSearch} from './prefix_search.js';
diff --git a/chrome/browser/resources/chromeos/emoji_picker/emoji_picker_api_proxy.ts b/chrome/browser/resources/chromeos/emoji_picker/emoji_picker_api_proxy.ts
index 3bdb72e..90a997f 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/emoji_picker_api_proxy.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/emoji_picker_api_proxy.ts
@@ -4,51 +4,13 @@
 import {Url} from 'chrome://resources/mojo/url/mojom/url.mojom-webui.js';
 
 import {Category, PageHandlerFactory, PageHandlerRemote, Status, TenorGifResponse} from './emoji_picker.mojom-webui.js';
-import {EmojiSearch, SearchResults} from './emoji_search.mojom-webui.js';
+import {EmojiSearch} from './emoji_search.mojom-webui.js';
 import {NewWindowProxy} from './new_window_proxy.mojom-webui.js';
 import {EmojiVariants, GifSubcategoryData, VisualContent} from './types.js';
 
 const HELP_CENTRE_URL = 'https://support.google.com/chrome?p=palette';
 
-/** @interface */
-export interface EmojiPickerApiProxy {
-  showUi(): void;
-
-  insertEmoji(emoji: string, isVariant: boolean, searchLength: number): void;
-
-  insertGif(gif: Url): void;
-
-  isIncognitoTextField(): Promise<{incognito: boolean}>;
-
-  getFeatureList(): Promise<{featureList: number[]}>;
-
-  getCategories(): Promise<{gifCategories: GifSubcategoryData[]}>;
-
-  getFeaturedGifs(pos?: string):
-      Promise<{status: Status, featuredGifs: TenorGifResponse}>;
-
-  searchGifs(query: string, pos?: string):
-      Promise<{status: Status, searchGifs: TenorGifResponse}>;
-
-  searchEmoji(query: string): Promise<{
-    emojiResults: SearchResults,
-    symbolResults: SearchResults,
-    emoticonResults: SearchResults,
-  }>;
-
-  getGifsByIds(ids: string[]):
-      Promise<{status: Status, selectedGifs: VisualContent[]}>;
-
-  convertTenorGifsToEmoji(gifs: TenorGifResponse): EmojiVariants[];
-
-  openHelpCentreArticle(): void;
-
-  onUiFullyLoaded(): void;
-
-  getInitialCategory(): Promise<{category: Category}>;
-}
-
-export class EmojiPickerApiProxyImpl implements EmojiPickerApiProxy {
+export class EmojiPickerApiProxy {
   handler = new PageHandlerRemote();
   newWindowProxy = NewWindowProxy.getRemote();
   // TODO(b/309343774): Once search is always on, remove function wrapper.
@@ -59,31 +21,26 @@
     factory.createPageHandler(this.handler.$.bindNewPipeAndPassReceiver());
   }
 
-  /** @override */
   showUi() {
     this.handler.showUI();
   }
-  /** @override */
+
   insertEmoji(emoji: string, isVariant: boolean, searchLength: number) {
     this.handler.insertEmoji(emoji, isVariant, searchLength);
   }
 
-  /** @override */
   insertGif(gif: Url) {
     this.handler.insertGif(gif);
   }
 
-  /** @override */
   isIncognitoTextField() {
     return this.handler.isIncognitoTextField();
   }
 
-  /** @override */
   getFeatureList() {
     return this.handler.getFeatureList();
   }
 
-  /** @override */
   async getCategories(): Promise<{gifCategories: GifSubcategoryData[]}> {
     const {gifCategories} = await this.handler.getCategories();
     return {
@@ -91,7 +48,6 @@
     };
   }
 
-  /** @override */
   getFeaturedGifs(pos?: string):
       Promise<{status: Status, featuredGifs: TenorGifResponse}> {
     if (!navigator.onLine) {
@@ -106,7 +62,6 @@
     return this.handler.getFeaturedGifs(pos || null);
   }
 
-  /** @override */
   searchGifs(query: string, pos?: string):
       Promise<{status: Status, searchGifs: TenorGifResponse}> {
     if (!navigator.onLine) {
@@ -143,14 +98,12 @@
     return this.handler.getGifsByIds(ids);
   }
 
-  /** @override */
   openHelpCentreArticle(): void {
     this.newWindowProxy.openUrl({
       url: HELP_CENTRE_URL,
     });
   }
 
-  /** @override */
   getInitialCategory(): Promise<{category: Category}> {
     return this.handler.getInitialCategory();
   }
@@ -179,13 +132,13 @@
   }
 
   static getInstance(): EmojiPickerApiProxy {
-    if (EmojiPickerApiProxyImpl.instance === null) {
-      EmojiPickerApiProxyImpl.instance = new EmojiPickerApiProxyImpl();
+    if (EmojiPickerApiProxy.instance === null) {
+      EmojiPickerApiProxy.instance = new EmojiPickerApiProxy();
     }
-    return EmojiPickerApiProxyImpl.instance;
+    return EmojiPickerApiProxy.instance;
   }
 
   static setInstance(instance: EmojiPickerApiProxy): void {
-    EmojiPickerApiProxyImpl.instance = instance;
+    EmojiPickerApiProxy.instance = instance;
   }
 }
diff --git a/chrome/browser/resources/chromeos/emoji_picker/emoji_search.ts b/chrome/browser/resources/chromeos/emoji_picker/emoji_search.ts
index 30f2b0b..b86f502 100644
--- a/chrome/browser/resources/chromeos/emoji_picker/emoji_search.ts
+++ b/chrome/browser/resources/chromeos/emoji_picker/emoji_search.ts
@@ -15,7 +15,7 @@
 
 import {NO_INTERNET_SEARCH_ERROR_MSG} from './constants.js';
 import {Status} from './emoji_picker.mojom-webui.js';
-import {EmojiPickerApiProxyImpl} from './emoji_picker_api_proxy.js';
+import {EmojiPickerApiProxy} from './emoji_picker_api_proxy.js';
 import {getTemplate} from './emoji_search.html.js';
 import {createCustomEvent, EMOJI_IMG_BUTTON_CLICK, GIF_ERROR_TRY_AGAIN} from './events.js';
 import Fuse from './fuse.js';
@@ -296,8 +296,7 @@
 
   private async computeEmojiSearchResults(search: string):
       Promise<EmojiGroupData> {
-    const results =
-        await EmojiPickerApiProxyImpl.getInstance().searchEmoji(search);
+    const results = await EmojiPickerApiProxy.getInstance().searchEmoji(search);
 
     return [
       {
@@ -419,7 +418,7 @@
     }
 
     const searchResults: EmojiGroupData = [];
-    const apiProxy = EmojiPickerApiProxyImpl.getInstance();
+    const apiProxy = EmojiPickerApiProxy.getInstance();
     const {status, searchGifs} = await apiProxy.searchGifs(search);
     this.status = status;
     this.nextGifPos = searchGifs.next;
@@ -442,7 +441,7 @@
       return [];
     }
 
-    const apiProxy = EmojiPickerApiProxyImpl.getInstance();
+    const apiProxy = EmojiPickerApiProxy.getInstance();
     const {searchGifs} = await apiProxy.searchGifs(search, this.nextGifPos);
     this.nextGifPos = searchGifs.next;
     return apiProxy.convertTenorGifsToEmoji(searchGifs);
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_extension_gif.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_extension_gif.ts
index 54347d8a..2598d62e 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_extension_gif.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_extension_gif.ts
@@ -2,14 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EMOJI_IMG_BUTTON_CLICK, EmojiPickerApiProxyImpl, EmojiPickerApp, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
+import {EMOJI_IMG_BUTTON_CLICK, EmojiPickerApiProxy, EmojiPickerApp, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
 import {CrIconButtonElement} from 'chrome://resources/ash/common/cr_elements/cr_icon_button/cr_icon_button.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
 
 import {assertEmojiImageAlt, initialiseEmojiPickerForTest, isGroupButtonActive, timeout, waitForCondition, waitWithTimeout} from './emoji_picker_test_util.js';
-import {TestEmojiPickerApiProxyImpl} from './test_emoji_picker_api_proxy.js';
+import {TestEmojiPickerApiProxy} from './test_emoji_picker_api_proxy.js';
 
 const ACTIVE_CATEGORY_BUTTON = 'category-button-active';
 const CATEGORY_LIST = ['emoji', 'symbol', 'emoticon', 'gif'];
@@ -35,7 +35,7 @@
 
 export function gifTestSuite(category: string) {
   suite(`emoji-picker-extension-${category}`, () => {
-    EmojiPickerApiProxyImpl.setInstance(new TestEmojiPickerApiProxyImpl());
+    EmojiPickerApiProxy.setInstance(new TestEmojiPickerApiProxy());
     let emojiPicker: EmojiPickerApp;
     let findInEmojiPicker: (...path: string[]) => HTMLElement | null;
     let findEmojiFirstButton: (...path: string[]) =>
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_http_error_gif_test.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_http_error_gif_test.ts
index 5aca2078..263fd06 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_http_error_gif_test.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_http_error_gif_test.ts
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EmojiPickerApiProxyImpl, EmojiSearch, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiPickerApiProxy, EmojiSearch, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertEquals} from 'chrome://webui-test/chai_assert.js';
 
 import {initialiseEmojiPickerForTest, waitForCondition} from './emoji_picker_test_util.js';
-import {TestEmojiPickerApiProxyErrorImpl} from './test_emoji_picker_offline_api_proxy.js';
+import {TestEmojiPickerApiProxyError} from './test_emoji_picker_offline_api_proxy.js';
 
 const CATEGORY_LIST = ['emoji', 'symbol', 'emoticon', 'gif'];
 function subcategoryGroupSelector(category: string, subcategory: string) {
@@ -17,8 +17,8 @@
 }
 
 suite('emoji-picker-offline-gif', () => {
-  const testEmojiPickerApiProxy = new TestEmojiPickerApiProxyErrorImpl();
-  EmojiPickerApiProxyImpl.setInstance(testEmojiPickerApiProxy);
+  const testEmojiPickerApiProxy = new TestEmojiPickerApiProxyError();
+  EmojiPickerApiProxy.setInstance(testEmojiPickerApiProxy);
   testEmojiPickerApiProxy.setHttpError();
   const {emojiPicker, findInEmojiPicker, readyPromise} =
       initialiseEmojiPickerForTest();
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_offline_gif_test.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_offline_gif_test.ts
index 45259b1..b453478 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_offline_gif_test.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_offline_gif_test.ts
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EmojiPickerApiProxyImpl, EmojiSearch, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiPickerApiProxy, EmojiSearch, TRENDING_GROUP_ID} from 'chrome://emoji-picker/emoji_picker.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertEquals} from 'chrome://webui-test/chai_assert.js';
 
 import {initialiseEmojiPickerForTest, waitForCondition} from './emoji_picker_test_util.js';
-import {TestEmojiPickerApiProxyErrorImpl} from './test_emoji_picker_offline_api_proxy.js';
+import {TestEmojiPickerApiProxyError} from './test_emoji_picker_offline_api_proxy.js';
 
 function subcategoryGroupSelector(category: string, subcategory: string) {
   return `[data-group="${subcategory}"] > ` +
@@ -16,8 +16,8 @@
 }
 
 suite('emoji-picker-offline-gif', () => {
-  EmojiPickerApiProxyImpl.setInstance(new TestEmojiPickerApiProxyErrorImpl());
-  (EmojiPickerApiProxyImpl.getInstance() as TestEmojiPickerApiProxyErrorImpl)
+  EmojiPickerApiProxy.setInstance(new TestEmojiPickerApiProxyError());
+  (EmojiPickerApiProxy.getInstance() as TestEmojiPickerApiProxyError)
       .setNetError();
   const {emojiPicker, findInEmojiPicker, readyPromise} =
       initialiseEmojiPickerForTest();
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_scroll_test.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_scroll_test.ts
index 9727a39b..789ff5a 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_scroll_test.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_scroll_test.ts
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {Category, EmojiPickerApiProxyImpl} from 'chrome://emoji-picker/emoji_picker.js';
+import {Category, EmojiPickerApiProxy} from 'chrome://emoji-picker/emoji_picker.js';
 import {assertTrue} from 'chrome://webui-test/chai_assert.js';
 
 import {initialiseEmojiPickerForTest} from './emoji_picker_test_util.js';
@@ -16,7 +16,7 @@
     // picker exists, and we haven't begun the scroll so this timing should be
     // safe.
     let scrollDonePromise = new Promise(() => {});
-    EmojiPickerApiProxyImpl.getInstance().getInitialCategory = async () => {
+    EmojiPickerApiProxy.getInstance().getInitialCategory = async () => {
       scrollDonePromise = new Promise((resolve) => {
         document.querySelector('emoji-picker-app')!.$.groups.>
             resolve;
@@ -30,7 +30,7 @@
     assertTrue(emojiPicker.$.groups.scrollTop > 0);
   });
   test('Does not scroll for emojis', async () => {
-    EmojiPickerApiProxyImpl.getInstance().getInitialCategory = async () => {
+    EmojiPickerApiProxy.getInstance().getInitialCategory = async () => {
       return {category: Category.kEmojis};
     };
     const {emojiPicker, readyPromise} = initialiseEmojiPickerForTest();
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_search_gif_test.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_search_gif_test.ts
index caacaa4..6cb3fd7 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_search_gif_test.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_search_gif_test.ts
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EmojiPickerApiProxyImpl, EmojiSearch} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiPickerApiProxy, EmojiSearch} from 'chrome://emoji-picker/emoji_picker.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {assertEquals, assertGT} from 'chrome://webui-test/chai_assert.js';
 
 import {assertEmojiImageAlt, initialiseEmojiPickerForTest, timeout, waitForCondition} from './emoji_picker_test_util.js';
-import {TestEmojiPickerApiProxyImpl} from './test_emoji_picker_api_proxy.js';
+import {TestEmojiPickerApiProxy} from './test_emoji_picker_api_proxy.js';
 
 
 suite('emoji-search-gif', () => {
-  EmojiPickerApiProxyImpl.setInstance(new TestEmojiPickerApiProxyImpl());
+  EmojiPickerApiProxy.setInstance(new TestEmojiPickerApiProxy());
   let emojiSearch: EmojiSearch;
   let findInEmojiPicker: (...path: string[]) => HTMLElement | null;
   let scrollDown: ((height: number) => void);
@@ -209,7 +209,7 @@
 
   test('Blank search queries should be prevented in API Proxy', async () => {
     // Given a real API proxy.
-    const apiProxy = new EmojiPickerApiProxyImpl();
+    const apiProxy = new EmojiPickerApiProxy();
 
     // When blank queries are sent.
     const {status, searchGifs} = await apiProxy.searchGifs('   ');
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_test_util.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_test_util.ts
index 9977bcd..b2f339df 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_test_util.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_test_util.ts
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EMOJI_PICKER_READY, EmojiButton, EmojiGroupComponent, EmojiPickerApiProxyImpl, EmojiPickerApp} from 'chrome://emoji-picker/emoji_picker.js';
+import {EMOJI_PICKER_READY, EmojiButton, EmojiGroupComponent, EmojiPickerApiProxy, EmojiPickerApp} from 'chrome://emoji-picker/emoji_picker.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertTrue} from 'chrome://webui-test/chai_assert.js';
@@ -138,7 +138,7 @@
 export function initialiseEmojiPickerForTest(
     incognito = false, localStorage: Array<{key: string, value: string}> = []) {
   const setIncognito = (incognito: boolean) => {
-    EmojiPickerApiProxyImpl.getInstance().isIncognitoTextField = async () =>
+    EmojiPickerApiProxy.getInstance().isIncognitoTextField = async () =>
         ({incognito});
   };
 
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_validation_gif_test.ts b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_validation_gif_test.ts
index 4c48e40..595c580e 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_validation_gif_test.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/emoji_picker_validation_gif_test.ts
@@ -1,13 +1,13 @@
 // Copyright 2023 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
-import {EmojiGroupElement, EmojiPickerApiProxyImpl, EmojiPickerApp, GIF_VALIDATION_DATE, TRENDING} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiGroupElement, EmojiPickerApiProxy, EmojiPickerApp, GIF_VALIDATION_DATE, TRENDING} from 'chrome://emoji-picker/emoji_picker.js';
 import {assert} from 'chrome://resources/js/assert.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertEquals} from 'chrome://webui-test/chai_assert.js';
 
 import {assertEmojiImageAlt, initialiseEmojiPickerForTest, waitForCondition} from './emoji_picker_test_util.js';
-import {TestEmojiPickerApiProxyImpl} from './test_emoji_picker_api_proxy.js';
+import {TestEmojiPickerApiProxy} from './test_emoji_picker_api_proxy.js';
 
 function historyGroupSelector(category: string) {
   return `[data-group="${category}-history"] > ` +
@@ -124,7 +124,7 @@
     preference: {},
   };
 
-  EmojiPickerApiProxyImpl.setInstance(new TestEmojiPickerApiProxyImpl());
+  EmojiPickerApiProxy.setInstance(new TestEmojiPickerApiProxy());
 
   let emojiPicker: EmojiPickerApp;
   let findInEmojiPicker: (...path: string[]) => HTMLElement | null;
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_api_proxy.ts b/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_api_proxy.ts
index 6766eed..39fff12 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_api_proxy.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_api_proxy.ts
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EmojiPickerApiProxyImpl, GifSubcategoryData, TenorGifResponse, VisualContent} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiPickerApiProxy, GifSubcategoryData, TenorGifResponse, VisualContent} from 'chrome://emoji-picker/emoji_picker.js';
 
-export class TestEmojiPickerApiProxyImpl extends EmojiPickerApiProxyImpl {
+export class TestEmojiPickerApiProxy extends EmojiPickerApiProxy {
   // This variable is used to mock the status return value in the actual api
   // proxy.
   // TODO(b/268138636): Change hardcoded value to Status type once tests are
diff --git a/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_offline_api_proxy.ts b/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_offline_api_proxy.ts
index fbb54ea6..eaa9084 100644
--- a/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_offline_api_proxy.ts
+++ b/chrome/test/data/webui/chromeos/emoji_picker/test_emoji_picker_offline_api_proxy.ts
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {EmojiPickerApiProxyImpl, GifSubcategoryData, Status, TenorGifResponse, VisualContent} from 'chrome://emoji-picker/emoji_picker.js';
+import {EmojiPickerApiProxy, GifSubcategoryData, Status, TenorGifResponse, VisualContent} from 'chrome://emoji-picker/emoji_picker.js';
 
-export class TestEmojiPickerApiProxyErrorImpl extends EmojiPickerApiProxyImpl {
+export class TestEmojiPickerApiProxyError extends EmojiPickerApiProxy {
   status: Status = Status.kHttpOk;
   readonly noGifs: TenorGifResponse = {
     next: '',