Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: chrome/browser/safe_browsing/safe_browsing_api_handler_util.h

Issue 1620813005: Revert of Move remote_db_manager into the safe_browsing_db component. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/safe_browsing/safe_browsing_api_handler_util.h
diff --git a/chrome/browser/safe_browsing/safe_browsing_api_handler_util.h b/chrome/browser/safe_browsing/safe_browsing_api_handler_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..07ed8357b861af2bdcc26a9a766eed2a60c09c23
--- /dev/null
+++ b/chrome/browser/safe_browsing/safe_browsing_api_handler_util.h
@@ -0,0 +1,58 @@
+// Copyright 2015 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.
+//
+// Helper functions for SafeBrowsingApiHandlerImpl. Separated out for tests.
+
+#ifndef CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_UTIL_H_
+#define CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_UTIL_H_
+
+#include <string>
+
+#include "chrome/browser/safe_browsing/safe_browsing_util.h"
+
+namespace safe_browsing {
+
+// These match what SafeBrowsingApiHandler.java uses for |resultStatus|
+enum RemoteCallResultStatus {
+ RESULT_STATUS_INTERNAL_ERROR = -1,
+ RESULT_STATUS_SUCCESS = 0,
+ RESULT_STATUS_TIMEOUT = 1,
+};
+
+// Threat types as per the Java code.
+// This must match those in GMS's SafeBrowsingThreatTypes.java.
+enum JavaThreatTypes {
+ JAVA_THREAT_TYPE_POTENTIALLY_HARMFUL_APPLICATION = 4,
+ JAVA_THREAT_TYPE_SOCIAL_ENGINEERING = 5,
+};
+
+// Do not reorder or delete entries, and make sure changes here are reflected
+// in SB2RemoteCallResult histogram.
+enum UmaRemoteCallResult {
+ UMA_STATUS_INTERNAL_ERROR = 0,
+ UMA_STATUS_TIMEOUT = 1,
+ UMA_STATUS_SAFE = 2,
+ UMA_STATUS_UNSAFE = 3,
+ UMA_STATUS_JSON_EMPTY = 4,
+ UMA_STATUS_JSON_FAILED_TO_PARSE = 5,
+ UMA_STATUS_JSON_UNKNOWN_THREAT = 6,
+ UMA_STATUS_UNSUPPORTED = 7,
+ UMA_STATUS_MAX_VALUE
+};
+
+// This parses the JSON from the GMSCore API and then:
+// 1) Picks the most severe threat type
+// 2) Parses remaining key/value pairs into a MalwarePatternType PB
+// so DisplayBlockingPage() can unmarshal it. We make this string
+// is binary compatible with the Pver3 API's metadata string even
+// though it comes from Pver4.
+//
+// If anything fails to parse, this sets the threat to "safe". The caller
+// should report the return value via UMA.
+UmaRemoteCallResult ParseJsonToThreatAndPB(const std::string& metadata_str,
+ SBThreatType* worst_threat,
+ std::string* metadata_pb_str);
+} // namespace safe_browsing
+
+#endif // CHROME_BROWSER_SAFE_BROWSING_SAFE_BROWSING_API_HANDLER_UTIL_H_

Powered by Google App Engine
This is Rietveld 408576698