Commit beafd8cb authored by sudarsana.nagineni's avatar sudarsana.nagineni Committed by Commit bot

Move chrome.diagnostics API to extensions/.

Move the chrome.diagnostics extension API from chrome/ to
extensions/.

BUG=395240

Review URL: https://codereview.chromium.org/883703004

Cr-Commit-Position: refs/heads/master@{#314338}
parent 5b715332
......@@ -5,9 +5,6 @@
{
'variables': {
'chrome_browser_extensions_chromeos_sources': [
'browser/extensions/api/diagnostics/diagnostics_api.cc',
'browser/extensions/api/diagnostics/diagnostics_api.h',
'browser/extensions/api/diagnostics/diagnostics_api_chromeos.cc',
'browser/extensions/api/document_scan/document_scan_interface_chromeos.cc',
'browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.cc',
'browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_api.h',
......
......@@ -262,11 +262,6 @@
"dependencies": ["manifest:devtools_page"],
"contexts": ["blessed_extension"]
},
"diagnostics": {
"dependencies": ["permission:diagnostics"],
"extension_types": ["platform_app"],
"contexts": ["blessed_extension"]
},
"dial": {
"dependencies": ["permission:dial"],
"contexts": ["blessed_extension"]
......
......@@ -249,21 +249,6 @@
"852290F2442EEE45EF673B8DA6090112079012A2" // http://crbug.com/375484
]
},
"diagnostics": [
{
"channel": "dev",
"extension_types": ["platform_app"]
},
{
"channel": "stable",
"extension_types": ["platform_app"],
"whitelist": [
"7AE714FFD394E073F0294CFA134C9F91DB5FBAA4", // CCD Development
"C7DA3A55C2355F994D3FDDAD120B426A0DF63843", // CCD Testing
"75E3CFFFC530582C583E4690EF97C70B9C8423B7" // CCD Release
]
}
],
"debugger": [
{
"channel": "stable",
......
......@@ -107,7 +107,6 @@
# ChromeOS-specific schemas.
'chromeos_schema_files': [
'accessibility_features.json',
'diagnostics.idl',
'enterprise_platform_keys.idl',
'enterprise_platform_keys_internal.idl',
'file_browser_handler_internal.json',
......
......@@ -229,9 +229,6 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
{APIPermission::kDeveloperPrivate,
"developerPrivate",
APIPermissionInfo::kFlagCannotBeOptional},
{APIPermission::kDiagnostics,
"diagnostics",
APIPermissionInfo::kFlagCannotBeOptional},
{APIPermission::kDial, "dial", APIPermissionInfo::kFlagCannotBeOptional},
{APIPermission::kDownloadsInternal, "downloadsInternal"},
{APIPermission::kExperienceSamplingPrivate,
......
......@@ -580,6 +580,9 @@ source_set("browser") {
if (is_chromeos) {
sources += [
"api/diagnostics/diagnostics_api.cc",
"api/diagnostics/diagnostics_api.h",
"api/diagnostics/diagnostics_api_chromeos.cc",
"api/networking_config/networking_config_api.cc",
"api/networking_config/networking_config_api.h",
"api/networking_config/networking_config_service.cc",
......
......@@ -2,22 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/diagnostics/diagnostics_api.h"
namespace SendPacket = extensions::api::diagnostics::SendPacket;
#include "extensions/browser/api/diagnostics/diagnostics_api.h"
namespace {
const char kErrorPingNotImplemented[] = "Not implemented";
const char kErrorPingFailed[] = "Failed to send ping packet";
}
namespace extensions {
DiagnosticsSendPacketFunction::DiagnosticsSendPacketFunction() {}
namespace SendPacket = core_api::diagnostics::SendPacket;
DiagnosticsSendPacketFunction::~DiagnosticsSendPacketFunction() {}
DiagnosticsSendPacketFunction::DiagnosticsSendPacketFunction() {
}
DiagnosticsSendPacketFunction::~DiagnosticsSendPacketFunction() {
}
bool DiagnosticsSendPacketFunction::Prepare() {
parameters_ = SendPacket::Params::Create(*args_);
......@@ -35,7 +36,7 @@ void DiagnosticsSendPacketFunction::OnCompleted(
double latency) {
switch (result_code) {
case SEND_PACKET_OK: {
extensions::api::diagnostics::SendPacketResult result;
core_api::diagnostics::SendPacketResult result;
result.ip = ip;
result.latency = latency;
results_ = SendPacket::Results::Create(result);
......
......@@ -2,14 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
#ifndef EXTENSIONS_BROWSER_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
#define EXTENSIONS_BROWSER_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
#include <string>
#include "base/memory/scoped_ptr.h"
#include "chrome/common/extensions/api/diagnostics.h"
#include "extensions/browser/api/async_api_function.h"
#include "extensions/common/api/diagnostics.h"
namespace extensions {
......@@ -28,8 +28,7 @@ class DiagnosticsSendPacketFunction : public AsyncApiFunction {
SEND_PACKET_FAILED,
};
DECLARE_EXTENSION_FUNCTION("diagnostics.sendPacket",
DIAGNOSTICS_SENDPACKET);
DECLARE_EXTENSION_FUNCTION("diagnostics.sendPacket", DIAGNOSTICS_SENDPACKET);
DiagnosticsSendPacketFunction();
......@@ -48,10 +47,9 @@ class DiagnosticsSendPacketFunction : public AsyncApiFunction {
const std::string& ip,
double latency);
scoped_ptr<extensions::api::diagnostics::SendPacket::Params>
parameters_;
scoped_ptr<core_api::diagnostics::SendPacket::Params> parameters_;
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
#endif // EXTENSIONS_BROWSER_API_DIAGNOSTICS_DIAGNOSTICS_API_H_
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/extensions/api/diagnostics/diagnostics_api.h"
#include "extensions/browser/api/diagnostics/diagnostics_api.h"
#include "base/bind.h"
#include "base/callback.h"
......@@ -25,12 +25,9 @@ const char kSize[] = "size";
typedef base::Callback<void(
DiagnosticsSendPacketFunction::SendPacketResultCode result_code,
const std::string& ip,
double latency)>
SendPacketCallback;
double latency)> SendPacketCallback;
bool ParseResult(const std::string& status,
std::string* ip,
double* latency) {
bool ParseResult(const std::string& status, std::string* ip, double* latency) {
// Parses the result and returns IP and latency.
scoped_ptr<base::Value> parsed_value(base::JSONReader::Read(status));
if (!parsed_value)
......@@ -54,18 +51,15 @@ bool ParseResult(const std::string& status,
return true;
}
void OnTestICMPCompleted(
const SendPacketCallback& callback,
bool succeeded,
const std::string& status) {
void OnTestICMPCompleted(const SendPacketCallback& callback,
bool succeeded,
const std::string& status) {
std::string ip;
double latency;
if (!succeeded || !ParseResult(status, &ip, &latency)) {
callback.Run(DiagnosticsSendPacketFunction::SEND_PACKET_FAILED, "", 0.0);
} else {
callback.Run(DiagnosticsSendPacketFunction::SEND_PACKET_OK,
ip,
latency);
callback.Run(DiagnosticsSendPacketFunction::SEND_PACKET_OK, ip, latency);
}
}
......@@ -81,8 +75,9 @@ void DiagnosticsSendPacketFunction::AsyncWorkStart() {
if (parameters_->options.size)
config[kSize] = base::IntToString(*parameters_->options.size);
chromeos::DBusThreadManager::Get()->GetDebugDaemonClient()->
TestICMPWithOptions(
chromeos::DBusThreadManager::Get()
->GetDebugDaemonClient()
->TestICMPWithOptions(
parameters_->options.ip, config,
base::Bind(
OnTestICMPCompleted,
......
......@@ -111,6 +111,11 @@
"dependencies": ["permission:copresence"],
"contexts": ["blessed_extension"]
},
"diagnostics": {
"dependencies": ["permission:diagnostics"],
"extension_types": ["platform_app"],
"contexts": ["blessed_extension"]
},
"dns": {
"dependencies": ["permission:dns"],
"contexts": ["blessed_extension"]
......
......@@ -151,6 +151,21 @@
"channel": "beta",
"extension_types": ["extension", "legacy_packaged_app"]
},
"diagnostics": [
{
"channel": "dev",
"extension_types": ["platform_app"]
},
{
"channel": "stable",
"extension_types": ["platform_app"],
"whitelist": [
"7AE714FFD394E073F0294CFA134C9F91DB5FBAA4", // CCD Development
"C7DA3A55C2355F994D3FDDAD120B426A0DF63843", // CCD Testing
"75E3CFFFC530582C583E4690EF97C70B9C8423B7" // CCD Release
]
}
],
"dns": [
{
"channel": "dev",
......
......@@ -59,6 +59,7 @@
],
# ChromeOS-specific schemas.
'chromeos_schema_files': [
'diagnostics.idl',
'networking_config.idl',
'vpn_provider.idl',
'webcam_private.idl',
......
......@@ -61,6 +61,9 @@ std::vector<APIPermissionInfo*> ExtensionsAPIPermissions::GetAllPermissions()
APIPermissionInfo::kFlagNone,
IDS_EXTENSION_PROMPT_WARNING_DECLARATIVE_WEB_REQUEST,
PermissionMessage::kDeclarativeWebRequest},
{APIPermission::kDiagnostics,
"diagnostics",
APIPermissionInfo::kFlagCannotBeOptional},
{APIPermission::kDns, "dns"},
{APIPermission::kExtensionView,
"extensionview",
......
......@@ -890,6 +890,9 @@
'../chromeos/chromeos.gyp:chromeos',
],
'sources': [
'browser/api/diagnostics/diagnostics_api.cc',
'browser/api/diagnostics/diagnostics_api.h',
'browser/api/diagnostics/diagnostics_api_chromeos.cc',
'browser/api/networking_config/networking_config_api.cc',
'browser/api/networking_config/networking_config_api.h',
'browser/api/networking_config/networking_config_service.cc',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment