Skip to content

Commit

Permalink
Move the JSON parser into a general Parser interface
Browse files Browse the repository at this point in the history
This also moves json_parser into a parsers subdir. More parsers that
run in the same sandbox will be added in followups.

R=csharp

Bug: 830892
Change-Id: I8c73d7a88d03f62dd817bd9c834bd9a61783eb5b
Reviewed-on: https://chromium-review.googlesource.com/c/1329893
Commit-Queue: Joe Mason <joenotcharles@google.com>
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Reviewed-by: Chris Sharp <csharp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608084}
  • Loading branch information
JoeNotCharlesGoogle authored and Commit Bot committed Nov 14, 2018
1 parent 2cfceac commit 9bb61a5
Show file tree
Hide file tree
Showing 46 changed files with 563 additions and 494 deletions.
2 changes: 1 addition & 1 deletion chrome/chrome_cleaner/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ test("chrome_cleaner_unittests") {
"//chrome/chrome_cleaner/http:unittest_sources",
"//chrome/chrome_cleaner/interfaces/typemaps:unittest_sources",
"//chrome/chrome_cleaner/ipc:unittest_sources",
"//chrome/chrome_cleaner/json_parser:unittest_sources",
"//chrome/chrome_cleaner/logging:unittest_sources",
"//chrome/chrome_cleaner/os:unittest_sources",
"//chrome/chrome_cleaner/parsers/json_parser:unittest_sources",
"//chrome/chrome_cleaner/pup_data:unittest_sources",
"//chrome/chrome_cleaner/scanner:unittest_sources",
"//chrome/chrome_cleaner/settings:unittest_sources",
Expand Down
3 changes: 1 addition & 2 deletions chrome/chrome_cleaner/DEPS
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
include_rules = [
"+sandbox/win/src",
"+testing/gtest",
"+components/chrome_cleaner",
"+sandbox/win/src",
"+third_party/protobuf/src/google/protobuf",
]
4 changes: 2 additions & 2 deletions chrome/chrome_cleaner/chrome_utils/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ source_set("extensions_util_lib") {
deps = [
":chrome_util_lib",
"//base:base",
"//chrome/chrome_cleaner/json_parser",
"//chrome/chrome_cleaner/os:common_os",
"//chrome/chrome_cleaner/parsers/json_parser",
]
}

Expand All @@ -40,7 +40,7 @@ source_set("unittest_sources") {
":extensions_util_lib",
"//base:base",
"//base/test:test_support",
"//chrome/chrome_cleaner/json_parser",
"//chrome/chrome_cleaner/parsers/json_parser",
"//chrome/chrome_cleaner/test:test_util",
"//testing/gtest",
]
Expand Down
2 changes: 1 addition & 1 deletion chrome/chrome_cleaner/chrome_utils/extensions_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
#include "base/macros.h"
#include "base/strings/string16.h"
#include "base/synchronization/waitable_event.h"
#include "chrome/chrome_cleaner/json_parser/json_parser_api.h"
#include "chrome/chrome_cleaner/os/registry_util.h"
#include "chrome/chrome_cleaner/parsers/json_parser/json_parser_api.h"

namespace chrome_cleaner {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#include "base/test/test_reg_util_win.h"
#include "base/test/test_timeouts.h"
#include "base/win/registry.h"
#include "chrome/chrome_cleaner/json_parser/test_json_parser.h"
#include "chrome/chrome_cleaner/parsers/json_parser/test_json_parser.h"
#include "chrome/chrome_cleaner/test/test_file_util.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
Expand Down
4 changes: 2 additions & 2 deletions chrome/chrome_cleaner/components/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ source_set("components") {
"//chrome/chrome_cleaner/constants:uws_id",
"//chrome/chrome_cleaner/http:http",
"//chrome/chrome_cleaner/http:http_status_codes",
"//chrome/chrome_cleaner/json_parser",
"//chrome/chrome_cleaner/logging:common",
"//chrome/chrome_cleaner/logging:scoped_timed_task_logger",
"//chrome/chrome_cleaner/logging/proto:shared_data_proto",
"//chrome/chrome_cleaner/os:cleaner_os",
"//chrome/chrome_cleaner/os:common_os",
"//chrome/chrome_cleaner/parsers/json_parser",
"//chrome/chrome_cleaner/pup_data:pup_data_base",
"//components/chrome_cleaner/public/constants:constants",
"//components/crx_file",
Expand Down Expand Up @@ -58,11 +58,11 @@ source_set("unittest_sources") {
"//chrome/chrome_cleaner/constants:common_strings",
"//chrome/chrome_cleaner/constants:uws_id",
"//chrome/chrome_cleaner/http:mock_http_agent_factory",
"//chrome/chrome_cleaner/json_parser",
"//chrome/chrome_cleaner/logging:cleaner_logging",
"//chrome/chrome_cleaner/logging/proto:chrome_cleaner_report_proto",
"//chrome/chrome_cleaner/os:cleaner_os",
"//chrome/chrome_cleaner/os:common_os",
"//chrome/chrome_cleaner/parsers/json_parser",
"//chrome/chrome_cleaner/test:test_branding_header",
"//chrome/chrome_cleaner/test:test_component",
"//chrome/chrome_cleaner/test:test_pup_data",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
#include "chrome/chrome_cleaner/chrome_utils/extensions_util.h"
#include "chrome/chrome_cleaner/constants/chrome_cleaner_switches.h"
#include "chrome/chrome_cleaner/constants/common_registry_names.h"
#include "chrome/chrome_cleaner/json_parser/json_parser_api.h"
#include "chrome/chrome_cleaner/logging/logging_service_api.h"
#include "chrome/chrome_cleaner/logging/proto/shared_data.pb.h"
#include "chrome/chrome_cleaner/logging/scoped_timed_task_logger.h"
Expand All @@ -59,6 +58,7 @@
#include "chrome/chrome_cleaner/os/system_util.h"
#include "chrome/chrome_cleaner/os/system_util_cleaner.h"
#include "chrome/chrome_cleaner/os/task_scheduler.h"
#include "chrome/chrome_cleaner/parsers/json_parser/json_parser_api.h"
#include "components/chrome_cleaner/public/constants/constants.h"

using base::WaitableEvent;
Expand Down
2 changes: 1 addition & 1 deletion chrome/chrome_cleaner/components/system_report_component.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <vector>

#include "chrome/chrome_cleaner/components/component_api.h"
#include "chrome/chrome_cleaner/json_parser/json_parser_api.h"
#include "chrome/chrome_cleaner/parsers/json_parser/json_parser_api.h"

namespace chrome_cleaner {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,14 @@
#include "base/win/registry.h"
#include "chrome/chrome_cleaner/constants/chrome_cleaner_switches.h"
#include "chrome/chrome_cleaner/constants/uws_id.h"
#include "chrome/chrome_cleaner/json_parser/test_json_parser.h"
#include "chrome/chrome_cleaner/logging/cleaner_logging_service.h"
#include "chrome/chrome_cleaner/logging/logging_service_api.h"
#include "chrome/chrome_cleaner/logging/proto/chrome_cleaner_report.pb.h"
#include "chrome/chrome_cleaner/os/disk_util.h"
#include "chrome/chrome_cleaner/os/file_path_sanitization.h"
#include "chrome/chrome_cleaner/os/pre_fetched_paths.h"
#include "chrome/chrome_cleaner/os/registry_util.h"
#include "chrome/chrome_cleaner/parsers/json_parser/test_json_parser.h"
#include "chrome/chrome_cleaner/test/test_file_util.h"
#include "chrome/chrome_cleaner/test/test_pup_data.h"
#include "chrome/chrome_cleaner/test/test_util.h"
Expand Down
4 changes: 2 additions & 2 deletions chrome/chrome_cleaner/crash/crashpad_crash_client.cc
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,8 @@ bool CrashpadCrashClient::InitializeCrashReporting(Mode mode,
case SandboxType::kEset:
SetCrashKey(kProcessType, "eset");
break;
case SandboxType::kJsonParser:
SetCrashKey(kProcessType, "json_parser");
case SandboxType::kParser:
SetCrashKey(kProcessType, "parser");
break;
case SandboxType::kZipArchiver:
SetCrashKey(kProcessType, "zip_archiver");
Expand Down
4 changes: 2 additions & 2 deletions chrome/chrome_cleaner/interfaces/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ chrome_cleaner_mojom("engine_sandbox_interface") {
]
}

chrome_cleaner_mojom("json_parser_interface") {
chrome_cleaner_mojom("parser_interface") {
sources = [
"json_parser.mojom",
"parser_interface.mojom",
]
deps = [
"//mojo/public/mojom/base",
Expand Down
20 changes: 0 additions & 20 deletions chrome/chrome_cleaner/interfaces/json_parser.mojom

This file was deleted.

19 changes: 19 additions & 0 deletions chrome/chrome_cleaner/interfaces/parser_interface.mojom
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Copyright 2018 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.

module chrome_cleaner.mojom;

import "mojo/public/mojom/base/values.mojom";

// Common interface for the parsers used on the Chrome Cleanup Tool.
interface Parser {
// JSON parser:
// Interface copied from services/data_decoder/public/mojom/json_parser.mojom,
// which can't be used directly because it's closely tied to the service
// manager which chrome_cleaner does not support.
//
// Sends a JSON string to parse from the high-privilege sandbox broker process
// to a locked down sandbox target process where the parsing takes place.
ParseJson(string json) => (mojo_base.mojom.Value? result, string? error);
};
4 changes: 3 additions & 1 deletion chrome/chrome_cleaner/ipc/sandbox.cc
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,9 @@ ResultCode GetResultCodeForSandboxConnectionError(SandboxType sandbox_type) {
case SandboxType::kEset:
result_code = RESULT_CODE_ESET_SANDBOX_DISCONNECTED_TOO_SOON;
break;
case SandboxType::kJsonParser:
case SandboxType::kParser:
// TODO(joenotcharles): This needs to be renamed to
// RESULT_CODE_PARSER_SANDBOX_DISCONNECTED_TOO_SOON.
result_code = RESULT_CODE_JSON_PARSER_SANDBOX_DISCONNECTED_TOO_SOON;
break;
case SandboxType::kZipArchiver:
Expand Down
3 changes: 0 additions & 3 deletions chrome/chrome_cleaner/json_parser/DEPS

This file was deleted.

28 changes: 0 additions & 28 deletions chrome/chrome_cleaner/json_parser/json_parser_impl.h

This file was deleted.

29 changes: 0 additions & 29 deletions chrome/chrome_cleaner/json_parser/json_splicer.h

This file was deleted.

65 changes: 0 additions & 65 deletions chrome/chrome_cleaner/json_parser/sandbox_setup_hooks.cc

This file was deleted.

59 changes: 0 additions & 59 deletions chrome/chrome_cleaner/json_parser/sandbox_setup_hooks.h

This file was deleted.

Loading

0 comments on commit 9bb61a5

Please sign in to comment.