Skip to content

Commit bc2c41c

Browse files
committed
Backed out changeset 62ed755b7c5e (bug 1879152) for bc failures on browser_all_files_referenced.
1 parent 38af635 commit bc2c41c

File tree

5 files changed

+8
-155
lines changed

5 files changed

+8
-155
lines changed

browser/components/contentanalysis/content/ContentAnalysis.sys.mjs

Lines changed: 3 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,6 @@ class MapByTopBrowsingContext {
156156
* @returns {MapByTopBrowsingContext} this
157157
*/
158158
setEntry(aBrowsingContext, aValue) {
159-
if (!aValue.request) {
160-
console.error(
161-
"MapByTopBrowsingContext.setEntry() called with a value without a request!"
162-
);
163-
}
164159
let topEntry = this.#map.get(aBrowsingContext.top);
165160
if (!topEntry) {
166161
topEntry = new Map();
@@ -169,16 +164,6 @@ class MapByTopBrowsingContext {
169164
topEntry.set(aBrowsingContext, aValue);
170165
return this;
171166
}
172-
173-
getAllRequests() {
174-
let requests = [];
175-
this.#map.forEach(topEntry => {
176-
for (let entry of topEntry.values()) {
177-
requests.push(entry.request);
178-
}
179-
});
180-
return requests;
181-
}
182167
}
183168

184169
export const ContentAnalysis = {
@@ -211,7 +196,7 @@ export const ContentAnalysis = {
211196

212197
ChromeUtils.defineLazyGetter(this, "l10n", function () {
213198
return new Localization(
214-
["branding/brand.ftl", "toolkit/contentanalysis/contentanalysis.ftl"],
199+
["toolkit/contentanalysis/contentanalysis.ftl"],
215200
true
216201
);
217202
});
@@ -232,54 +217,11 @@ export const ContentAnalysis = {
232217
Services.obs.addObserver(this, "dlp-request-made");
233218
Services.obs.addObserver(this, "dlp-response");
234219
Services.obs.addObserver(this, "quit-application");
235-
Services.obs.addObserver(this, "quit-application-requested");
236220
},
237221

238222
// nsIObserver
239223
async observe(aSubj, aTopic, aData) {
240224
switch (aTopic) {
241-
case "quit-application-requested": {
242-
let pendingRequests =
243-
this.dlpBusyViewsByTopBrowsingContext.getAllRequests();
244-
if (pendingRequests.length) {
245-
let messageBody = this.l10n.formatValueSync(
246-
"contentanalysis-inprogress-quit-message"
247-
);
248-
messageBody = messageBody + "\n\n";
249-
for (const pendingRequest of pendingRequests) {
250-
let name = this._getResourceNameFromNameOrOperationType(
251-
this._getResourceNameOrOperationTypeFromRequest(
252-
pendingRequest,
253-
true
254-
)
255-
);
256-
messageBody = messageBody + name + "\n";
257-
}
258-
let buttonSelected = Services.prompt.confirmEx(
259-
null,
260-
this.l10n.formatValueSync("contentanalysis-inprogress-quit-title"),
261-
messageBody,
262-
Ci.nsIPromptService.BUTTON_POS_0 *
263-
Ci.nsIPromptService.BUTTON_TITLE_IS_STRING +
264-
Ci.nsIPromptService.BUTTON_POS_1 *
265-
Ci.nsIPromptService.BUTTON_TITLE_CANCEL +
266-
Ci.nsIPromptService.BUTTON_POS_0_DEFAULT,
267-
this.l10n.formatValueSync(
268-
"contentanalysis-inprogress-quit-yesbutton"
269-
),
270-
null,
271-
null,
272-
null,
273-
{ value: 0 }
274-
);
275-
if (buttonSelected === 0) {
276-
lazy.gContentAnalysis.cancelAllRequests();
277-
} else {
278-
aSubj.data = true;
279-
}
280-
}
281-
break;
282-
}
283225
case "quit-application": {
284226
this.uninitialize();
285227
break;
@@ -317,7 +259,7 @@ export const ContentAnalysis = {
317259
);
318260
}
319261
let resourceNameOrOperationType =
320-
this._getResourceNameOrOperationTypeFromRequest(request, false);
262+
this._getResourceNameOrOperationTypeFromRequest(request);
321263
this.requestTokenToRequestInfo.set(request.requestToken, {
322264
browsingContext,
323265
resourceNameOrOperationType,
@@ -331,10 +273,8 @@ export const ContentAnalysis = {
331273
resourceNameOrOperationType,
332274
browsingContext
333275
),
334-
request,
335276
});
336277
}, slowTimeoutMs),
337-
request,
338278
});
339279
}
340280
break;
@@ -395,7 +335,6 @@ export const ContentAnalysis = {
395335
args.requestToken,
396336
args.resourceNameOrOperationType
397337
),
398-
request: args.request,
399338
});
400339
}
401340
},
@@ -492,32 +431,11 @@ export const ContentAnalysis = {
492431
return nameOrOperationType.name;
493432
},
494433

495-
/**
496-
* Gets a name or operation type from a request
497-
*
498-
* @param {object} aRequest The nsIContentAnalysisRequest
499-
* @param {boolean} aStandalone Whether the message is going to be used on its own
500-
* line. This is used to add more context to the message
501-
* if a file is being uploaded rather than just the name
502-
* of the file.
503-
* @returns {object} An object with either a name property that can be used as-is, or
504-
* an operationType property.
505-
*/
506-
_getResourceNameOrOperationTypeFromRequest(aRequest, aStandalone) {
434+
_getResourceNameOrOperationTypeFromRequest(aRequest) {
507435
if (
508436
aRequest.operationTypeForDisplay ==
509437
Ci.nsIContentAnalysisRequest.eCustomDisplayString
510438
) {
511-
if (aStandalone) {
512-
return {
513-
name: this.l10n.formatValueSync(
514-
"contentanalysis-customdisplaystring-description",
515-
{
516-
filename: aRequest.operationDisplayString,
517-
}
518-
),
519-
};
520-
}
521439
return { name: aRequest.operationDisplayString };
522440
}
523441
return { operationType: aRequest.operationTypeForDisplay };

toolkit/components/contentanalysis/ContentAnalysis.cpp

Lines changed: 5 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include "mozilla/Logging.h"
1616
#include "mozilla/ScopeExit.h"
1717
#include "mozilla/Services.h"
18-
#include "mozilla/StaticMutex.h"
1918
#include "mozilla/StaticPrefs_browser.h"
2019
#include "nsAppRunner.h"
2120
#include "nsComponentManagerUtils.h"
@@ -284,15 +283,6 @@ nsresult ContentAnalysisRequest::GetFileDigest(const nsAString& aFilePath,
284283
return NS_OK;
285284
}
286285

287-
// Generate an ID that will be shared by all DLP requests.
288-
// Used to cancel all requests on Firefox shutdown.
289-
void ContentAnalysis::GenerateUserActionId() {
290-
nsID id = nsID::GenerateUUID();
291-
mUserActionId = nsPrintfCString("Firefox %s", id.ToString().get());
292-
}
293-
294-
nsCString ContentAnalysis::GetUserActionId() { return mUserActionId; }
295-
296286
static nsresult ConvertToProtobuf(
297287
nsIClientDownloadResource* aIn,
298288
content_analysis::sdk::ClientDownloadRequest_Resource* aOut) {
@@ -312,8 +302,7 @@ static nsresult ConvertToProtobuf(
312302
}
313303

314304
static nsresult ConvertToProtobuf(
315-
nsIContentAnalysisRequest* aIn, nsCString&& aUserActionId,
316-
int64_t aRequestCount,
305+
nsIContentAnalysisRequest* aIn,
317306
content_analysis::sdk::ContentAnalysisRequest* aOut) {
318307
uint32_t timeout = StaticPrefs::browser_contentanalysis_agent_timeout();
319308
aOut->set_expires_at(time(nullptr) + timeout);
@@ -330,9 +319,6 @@ static nsresult ConvertToProtobuf(
330319
NS_ENSURE_SUCCESS(rv, rv);
331320
aOut->set_request_token(requestToken.get(), requestToken.Length());
332321

333-
aOut->set_user_action_id(aUserActionId.get());
334-
aOut->set_user_action_requests_count(aRequestCount);
335-
336322
const std::string tag = "dlp"; // TODO:
337323
*aOut->add_tags() = tag;
338324

@@ -713,9 +699,7 @@ ContentAnalysis::ContentAnalysis()
713699
new ClientPromise::Private("ContentAnalysis::ContentAnalysis")),
714700
mClientCreationAttempted(false),
715701
mCallbackMap("ContentAnalysis::mCallbackMap"),
716-
mWarnResponseDataMap("ContentAnalysis::mWarnResponseDataMap") {
717-
GenerateUserActionId();
718-
}
702+
mWarnResponseDataMap("ContentAnalysis::mWarnResponseDataMap") {}
719703

720704
ContentAnalysis::~ContentAnalysis() {
721705
// Accessing mClientCreationAttempted so need to be on the main thread
@@ -784,7 +768,7 @@ ContentAnalysis::GetMightBeActive(bool* aMightBeActive) {
784768
nsresult ContentAnalysis::CancelWithError(nsCString aRequestToken,
785769
nsresult aResult) {
786770
return NS_DispatchToMainThread(NS_NewCancelableRunnableFunction(
787-
"ContentAnalysis::CancelWithError",
771+
"ContentAnalysis::RunAnalyzeRequestTask::HandleResponse",
788772
[aResult, aRequestToken = std::move(aRequestToken)] {
789773
RefPtr<ContentAnalysis> owner = GetContentAnalysisFromService();
790774
if (!owner) {
@@ -832,7 +816,6 @@ RefPtr<ContentAnalysis> ContentAnalysis::GetContentAnalysisFromService() {
832816

833817
nsresult ContentAnalysis::RunAnalyzeRequestTask(
834818
const RefPtr<nsIContentAnalysisRequest>& aRequest, bool aAutoAcknowledge,
835-
int64_t aRequestCount,
836819
const RefPtr<nsIContentAnalysisCallback>& aCallback) {
837820
nsresult rv = NS_ERROR_FAILURE;
838821
auto callbackCopy = aCallback;
@@ -844,8 +827,7 @@ nsresult ContentAnalysis::RunAnalyzeRequestTask(
844827
});
845828

846829
content_analysis::sdk::ContentAnalysisRequest pbRequest;
847-
rv =
848-
ConvertToProtobuf(aRequest, GetUserActionId(), aRequestCount, &pbRequest);
830+
rv = ConvertToProtobuf(aRequest, &pbRequest);
849831
NS_ENSURE_SUCCESS(rv, rv);
850832

851833
nsCString requestToken;
@@ -1065,11 +1047,7 @@ ContentAnalysis::AnalyzeContentRequestCallback(
10651047
mozilla::services::GetObserverService();
10661048
obsServ->NotifyObservers(aRequest, "dlp-request-made", nullptr);
10671049

1068-
MOZ_ASSERT(NS_IsMainThread());
1069-
// since we're on the main thread, don't need to synchronize this
1070-
int64_t requestCount = ++mRequestCount;
1071-
return RunAnalyzeRequestTask(aRequest, aAutoAcknowledge, requestCount,
1072-
aCallback);
1050+
return RunAnalyzeRequestTask(aRequest, aAutoAcknowledge, aCallback);
10731051
}
10741052

10751053
NS_IMETHODIMP
@@ -1097,33 +1075,6 @@ ContentAnalysis::CancelContentAnalysisRequest(const nsACString& aRequestToken) {
10971075
return NS_OK;
10981076
}
10991077

1100-
NS_IMETHODIMP
1101-
ContentAnalysis::CancelAllRequests() {
1102-
mCaClientPromise->Then(
1103-
GetCurrentSerialEventTarget(), __func__,
1104-
[&](std::shared_ptr<content_analysis::sdk::Client> client) {
1105-
auto owner = GetContentAnalysisFromService();
1106-
if (!owner) {
1107-
// May be shutting down
1108-
return;
1109-
}
1110-
if (!client) {
1111-
LOGE("CancelAllRequests got a null client");
1112-
return;
1113-
}
1114-
content_analysis::sdk::ContentAnalysisCancelRequests requests;
1115-
requests.set_user_action_id(owner->GetUserActionId().get());
1116-
int err = client->CancelRequests(requests);
1117-
if (err != 0) {
1118-
LOGE("CancelAllRequests got error %d", err);
1119-
} else {
1120-
LOGD("CancelAllRequests did cancelling of requests");
1121-
}
1122-
},
1123-
[&](nsresult rv) { LOGE("CancelAllRequests failed to get the client"); });
1124-
return NS_OK;
1125-
}
1126-
11271078
NS_IMETHODIMP
11281079
ContentAnalysis::RespondToWarnDialog(const nsACString& aRequestToken,
11291080
bool aAllowContent) {

toolkit/components/contentanalysis/ContentAnalysis.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ class ContentAnalysis final : public nsIContentAnalysis {
9292
NS_DECL_NSICONTENTANALYSIS
9393

9494
ContentAnalysis();
95-
nsCString GetUserActionId();
9695

9796
private:
9897
~ContentAnalysis();
@@ -104,13 +103,11 @@ class ContentAnalysis final : public nsIContentAnalysis {
104103
bool aIsPerUser);
105104
nsresult RunAnalyzeRequestTask(
106105
const RefPtr<nsIContentAnalysisRequest>& aRequest, bool aAutoAcknowledge,
107-
int64_t aRequestCount,
108106
const RefPtr<nsIContentAnalysisCallback>& aCallback);
109107
nsresult RunAcknowledgeTask(
110108
nsIContentAnalysisAcknowledgement* aAcknowledgement,
111109
const nsACString& aRequestToken);
112110
nsresult CancelWithError(nsCString aRequestToken, nsresult aResult);
113-
void GenerateUserActionId();
114111
static RefPtr<ContentAnalysis> GetContentAnalysisFromService();
115112
static void DoAnalyzeRequest(
116113
nsCString aRequestToken,
@@ -120,8 +117,6 @@ class ContentAnalysis final : public nsIContentAnalysis {
120117
using ClientPromise =
121118
MozPromise<std::shared_ptr<content_analysis::sdk::Client>, nsresult,
122119
false>;
123-
nsCString mUserActionId;
124-
int64_t mRequestCount = 0;
125120
RefPtr<ClientPromise::Private> mCaClientPromise;
126121
// Only accessed from the main thread
127122
bool mClientCreationAttempted;

toolkit/components/contentanalysis/nsIContentAnalysis.idl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,4 @@ interface nsIContentAnalysis : nsISupports
236236
* whether the user wants to allow the request to go through.
237237
*/
238238
void respondToWarnDialog(in ACString aRequestToken, in bool aAllowContent);
239-
240-
/**
241-
* Cancels all outstanding DLP requests. Used on shutdown.
242-
*/
243-
void cancelAllRequests();
244239
};

toolkit/locales/en-US/toolkit/contentanalysis/contentanalysis.ftl

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ contentanalysis-slow-agent-dialog-body-clipboard = { $agent } is reviewing what
2222
contentanalysis-slow-agent-dialog-body-dropped-text = { $agent } is reviewing the text you dropped against your organization’s data policies. This may take a moment.
2323
contentanalysis-operationtype-clipboard = clipboard
2424
contentanalysis-operationtype-dropped-text = dropped text
25-
# $filename - The filename associated with the request, such as "aFile.txt"
26-
contentanalysis-customdisplaystring-description = upload of “{ $filename }
2725
2826
contentanalysis-warndialogtitle = This content may be unsafe
2927
@@ -44,7 +42,3 @@ contentanalysis-block-message = Your organization uses data-loss prevention soft
4442
# Variables:
4543
# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
4644
contentanalysis-error-message = An error occurred in communicating with the data-loss prevention software. Transfer denied for resource: { $content }.
47-
48-
contentanalysis-inprogress-quit-title = Quit { -brand-shorter-name }?
49-
contentanalysis-inprogress-quit-message = Several actions are in progress. If you quit { -brand-shorter-name }, these actions will not be completed.
50-
contentanalysis-inprogress-quit-yesbutton = Yes, quit

0 commit comments

Comments
 (0)