Skip to content

Commit

Permalink
Merge to M109: [Files app] Fix dependency chain breaking Files on Kio…
Browse files Browse the repository at this point in the history
…sk mode

Importing metadata_model.js from drive_sync_handler.js was breaking
Files app when running on Kiosk mode (see bug for more information).

Since the import was just used for typing, converting it to an extern
and replacing the import fixes the issue in a safe way that can be
backported to M108+.

(cherry picked from commit d1b6eb9)

Bug: b/260192017
Test: Manual
Change-Id: I92e13117114bec4aaffdc39baf384c9270680357
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4105141
Reviewed-by: Luciano Pacheco <lucmult@chromium.org>
Commit-Queue: Marcello Salomao <msalomao@google.com>
Cr-Original-Commit-Position: refs/heads/main@{#1082926}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4127742
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/branch-heads/5414@{#1401}
Cr-Branched-From: 4417ee5-refs/heads/main@{#1070088}
  • Loading branch information
Marcello Salomao authored and Chromium LUCI CQ committed Jan 18, 2023
1 parent 3534c52 commit d1f44c2
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 4 deletions.
2 changes: 1 addition & 1 deletion ui/file_manager/file_manager/background/js/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -175,9 +175,9 @@ js_library("drive_sync_handler") {
"//ui/file_manager/file_manager/common/js:url_constants",
"//ui/file_manager/file_manager/common/js:util",
"//ui/file_manager/file_manager/externs:drive_dialog_controller",
"//ui/file_manager/file_manager/externs:metadata_model",
"//ui/file_manager/file_manager/externs/background:drive_sync_handler",
"//ui/file_manager/file_manager/externs/background:progress_center",
"//ui/file_manager/file_manager/foreground/js/metadata:metadata_model",
"//ui/webui/resources/js:assert",
"//ui/webui/resources/js/cr:event_target",
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import {xfm} from '../../common/js/xfm.js';
import {DriveSyncHandler} from '../../externs/background/drive_sync_handler.js';
import {ProgressCenter} from '../../externs/background/progress_center.js';
import {DriveDialogControllerInterface} from '../../externs/drive_dialog_controller.js';
import {MetadataModel} from '../../foreground/js/metadata/metadata_model.js';
import {MetadataModelInterface} from '../../externs/metadata_model.js';

import {fileOperationUtil} from './file_operation_util.js';

Expand All @@ -37,7 +37,7 @@ export class DriveSyncHandlerImpl extends EventTarget {

/**
* The metadata model to notify entries have changed.
* @type {?MetadataModel}
* @type {?MetadataModelInterface}
* @private
*/
this.metadataModel_ = null;
Expand Down Expand Up @@ -195,7 +195,7 @@ export class DriveSyncHandlerImpl extends EventTarget {
}

/**
* @param {!MetadataModel} model
* @param {!MetadataModelInterface} model
*/
set metadataModel(model) {
this.metadataModel_ = model;
Expand Down
5 changes: 5 additions & 0 deletions ui/file_manager/file_manager/externs/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@ js_library("files_app_entry_interfaces") {
deps = [ "//ui/file_manager/file_manager/common/js:volume_manager_types" ]
}

js_library("metadata_model") {
deps =
[ "//ui/file_manager/file_manager/foreground/js/metadata:metadata_item" ]
}

js_library("metadata_worker_window") {
}

Expand Down
29 changes: 29 additions & 0 deletions ui/file_manager/file_manager/externs/metadata_model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import {MetadataItem} from '../foreground/js/metadata/metadata_item.js';

export class MetadataModelInterface {
/**
* Obtains metadata for entries.
* @param {!Array<!Entry>} entries Entries.
* @param {!Array<string>} names Metadata property names to be obtained.
* @return {!Promise<!Array<!MetadataItem>>}
*/
get(entries, names) {}

/**
* Obtains metadata cache for entries.
* @param {!Array<!Entry>} entries Entries.
* @param {!Array<string>} names Metadata property names to be obtained.
* @return {!Array<!MetadataItem>}
*/
getCache(entries, names) {}

/**
* Invalidates metadata for updated entries.
* @param {!Array<!Entry>} entries
*/
notifyEntriesChanged(entries) {}
}
1 change: 1 addition & 0 deletions ui/file_manager/file_names.gni
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ static_js_files = [
"file_manager/externs/exif_entry.js",
"file_manager/externs/files_app_entry_interfaces.js",
"file_manager/externs/foreground_window.js",
"file_manager/externs/metadata_model.js",
"file_manager/externs/metadata_worker_window.js",
"file_manager/externs/progress_center_panel.js",
"file_manager/externs/volume_info.js",
Expand Down

0 comments on commit d1f44c2

Please sign in to comment.