mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-10 13:44:39 +08:00
Move and rename files. NOAUTOREVERT=true NOPRESUBMIT=true NOTREECHECKS=true Bug: 768828 TBR=darin@chromium.org NOTRY=true Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28 Reviewed-on: https://chromium-review.googlesource.com/1001153 Reviewed-by: Blink Reformat <blink-reformat@chromium.org> Commit-Queue: Blink Reformat <blink-reformat@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#549061} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
52 lines
2.2 KiB
JavaScript
52 lines
2.2 KiB
JavaScript
// Copyright (c) 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
Persistence.PersistenceActions = {};
|
|
|
|
/**
|
|
* @implements {UI.ContextMenu.Provider}
|
|
* @unrestricted
|
|
*/
|
|
Persistence.PersistenceActions.ContextMenuProvider = class {
|
|
/**
|
|
* @override
|
|
* @param {!Event} event
|
|
* @param {!UI.ContextMenu} contextMenu
|
|
* @param {!Object} target
|
|
*/
|
|
appendApplicableItems(event, contextMenu, target) {
|
|
const contentProvider = /** @type {!Common.ContentProvider} */ (target);
|
|
async function saveAs() {
|
|
if (contentProvider instanceof Workspace.UISourceCode)
|
|
/** @type {!Workspace.UISourceCode} */ (contentProvider).commitWorkingCopy();
|
|
const content = await contentProvider.requestContent();
|
|
const url = contentProvider.contentURL();
|
|
Workspace.fileManager.save(url, /** @type {string} */ (content), true);
|
|
Workspace.fileManager.close(url);
|
|
}
|
|
|
|
if (contentProvider.contentType().isDocumentOrScriptOrStyleSheet())
|
|
contextMenu.saveSection().appendItem(Common.UIString('Save as...'), saveAs);
|
|
|
|
// Retrieve uiSourceCode by URL to pick network resources everywhere.
|
|
const uiSourceCode = Workspace.workspace.uiSourceCodeForURL(contentProvider.contentURL());
|
|
if (uiSourceCode && Persistence.networkPersistenceManager.canSaveUISourceCodeForOverrides(uiSourceCode)) {
|
|
contextMenu.saveSection().appendItem(Common.UIString('Save for overrides'), () => {
|
|
uiSourceCode.commitWorkingCopy();
|
|
Persistence.networkPersistenceManager.saveUISourceCodeForOverrides(
|
|
/** @type {!Workspace.UISourceCode} */ (uiSourceCode));
|
|
Common.Revealer.reveal(uiSourceCode);
|
|
});
|
|
}
|
|
|
|
const binding = uiSourceCode && Persistence.persistence.binding(uiSourceCode);
|
|
const fileURL = binding ? binding.fileSystem.contentURL() : contentProvider.contentURL();
|
|
if (fileURL.startsWith('file://')) {
|
|
const path = Common.ParsedURL.urlToPlatformPath(fileURL, Host.isWin());
|
|
contextMenu.revealSection().appendItem(
|
|
Common.UIString('Open in containing folder'), () => InspectorFrontendHost.showItemInFolder(path));
|
|
}
|
|
}
|
|
};
|