Commit 2b26d451 authored by Jérémie Boulic's avatar Jérémie Boulic Committed by Chromium LUCI CQ

Video player: Generate first JS modules

JS modules for the following files in ui/file_manager/video_player/js:
- video_player_metrics.js
- video_player_native_controls.js
- video_player_native_controls_unittest.js

Bug: 1133186
Change-Id: I4cc517f86566b0a7dc9719c4598bff37bac253b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2596728Reviewed-by: default avatarLuciano Pacheco <lucmult@chromium.org>
Commit-Queue: Jeremie Boulic <jboulic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#837939}
parent b7547c13
......@@ -13,5 +13,5 @@ class VideoPlayerJsTest : public FileManagerJsTestBase {
};
IN_PROC_BROWSER_TEST_F(VideoPlayerJsTest, SaveResumePlaybackTest) {
RunTestURL("video_player_native_controls_unittest_gen.html");
RunTestURL("video_player_native_controls_unittest.m_gen.html");
}
......@@ -71,7 +71,7 @@ group("unit_test_data") {
"gallery/js/image_editor:js_test_gen_html_modules",
"image_loader:js_test_gen_html",
"image_loader:js_test_gen_html_modules",
"video_player/js:js_test_gen_html",
"video_player/js:js_test_gen_html_modules",
]
}
......
......@@ -5,6 +5,15 @@
import("//third_party/closure_compiler/compile_js.gni")
import("//third_party/closure_compiler/js_unit_tests.gni")
import("//ui/file_manager/base/gn/js_test_gen_html.gni")
import("//ui/webui/resources/tools/js_modulizer.gni")
js_type_check("closure_compile_jsmodules") {
uses_js_modules = true
deps = [
":video_player_metrics.m",
":video_player_native_controls.m",
]
}
js_type_check("closure_compile_module") {
deps = [
......@@ -50,12 +59,25 @@ js_library("video_player_native_controls") {
externs_list = [ "//ui/file_manager/externs/platform.js" ]
}
js_unittest("video_player_native_controls_unittest") {
js_library("video_player_native_controls.m") {
sources = [ "$root_gen_dir/ui/file_manager/video_player/js/video_player_native_controls.m.js" ]
deps = [
":video_player_native_controls",
"//ui/file_manager/base/js:app_util",
"//ui/file_manager/base/js:mock_chrome",
"//ui/webui/resources/js:webui_resource_test",
"//ui/file_manager/base/js:app_util.m",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:load_time_data.m",
"//ui/webui/resources/js:util.m",
]
externs_list = [ "//ui/file_manager/externs/platform.js" ]
extra_deps = [ ":modulize" ]
}
js_unittest("video_player_native_controls_unittest.m") {
deps = [
":video_player_native_controls.m",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/base/js:mock_chrome.m",
]
}
......@@ -77,14 +99,40 @@ js_library("video_player_metrics") {
deps = [ "//ui/file_manager/file_manager/common/js:metrics_base" ]
}
js_test_gen_html("js_test_gen_html") {
deps = [ ":video_player_native_controls_unittest" ]
js_library("video_player_metrics.m") {
sources = [
"$root_gen_dir/ui/file_manager/video_player/js/video_player_metrics.m.js",
]
deps = [ "//ui/file_manager/file_manager/common/js:metrics_base.m" ]
extra_deps = [ ":modulize" ]
}
js_test_gen_html("js_test_gen_html_modules") {
deps = [ ":video_player_native_controls_unittest.m" ]
js_module = true
closure_flags =
strict_error_checking_closure_args + [
"js_module_root=./gen/ui",
"js_module_root=../../ui",
"browser_resolver_prefix_replacements=\"chrome://test/=./\"",
"hide_warnings_for=third_party/",
]
}
group("closure_compile") {
testonly = true
deps = [
":closure_compile_jsmodules",
":closure_compile_module",
":js_test_gen_html_type_check_auto",
":js_test_gen_html_modules_type_check_auto",
]
}
js_modulizer("modulize") {
input_files = [
"video_player_native_controls.js",
"video_player_metrics.js",
]
}
......@@ -6,11 +6,15 @@
* @fileoverview Utility methods for accessing chrome.metricsPrivate API.
*
* To be included as a first script in main.html
* @suppress {uselessCode} Temporary suppress because of the line exporting.
*/
// #import {metricsBase} from '../../file_manager/common/js/metrics_base.m.js';
/**
* @extends {metricsBase}
*/
// eslint-disable-next-line no-var
var metrics = metricsBase;
/**
......@@ -100,3 +104,6 @@ metrics.recordPlayType = function(type) {
metrics.convertName_ = function(name) {
return 'VideoPlayer.' + name;
};
// eslint-disable-next-line semi,no-extra-semi
/* #export */ {metrics};
......@@ -2,10 +2,17 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// #import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
// #import {appUtil} from '../../base/js/app_util.m.js';
// #import {getRequiredElement, queryRequiredElement} from 'chrome://resources/js/util.m.js';
// #import {assertInstanceof} from 'chrome://resources/js/assert.m.js';
// clang-format on
/**
* Video player with chrome's native controls.
*/
class NativeControlsVideoPlayer {
/* #export */ class NativeControlsVideoPlayer {
constructor() {
/**
* List of open videos.
......
......@@ -2,6 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {assertEquals} from 'chrome://test/chai_assert.js';
import {MockChromeStorageAPI} from '../../base/js/mock_chrome.m.js';
import {NativeControlsVideoPlayer} from './video_player_native_controls.m.js';
/**
* Helper function for creating an mock HTMLVideoElement.
*
......@@ -19,10 +25,10 @@ function mockVideoElement(src, duration, currentTime) {
* Test case for save and resume playback position when close and reopen video
* player app.
*/
function testSaveResumePlayback() {
export function testSaveResumePlayback() {
new MockChromeStorageAPI();
let player = new NativeControlsVideoPlayer();
const player = new NativeControlsVideoPlayer();
const testCases = [
mockVideoElement('test_1', 305, 150), mockVideoElement('test_2', 305, 14),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment