chore: tune-up electron::api::NetLog (#29534)
This commit is contained in:
parent
aca14bf7dd
commit
8844034fa8
2 changed files with 16 additions and 5 deletions
|
@ -7,13 +7,17 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
|
#include "base/bind.h"
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
|
#include "base/files/file_path.h"
|
||||||
#include "base/task/thread_pool.h"
|
#include "base/task/thread_pool.h"
|
||||||
|
#include "base/task_runner_util.h"
|
||||||
#include "chrome/browser/browser_process.h"
|
#include "chrome/browser/browser_process.h"
|
||||||
#include "components/net_log/chrome_net_log.h"
|
#include "components/net_log/chrome_net_log.h"
|
||||||
#include "content/public/browser/storage_partition.h"
|
#include "content/public/browser/storage_partition.h"
|
||||||
#include "electron/electron_version.h"
|
#include "electron/electron_version.h"
|
||||||
#include "gin/object_template_builder.h"
|
#include "gin/object_template_builder.h"
|
||||||
|
#include "net/log/net_log_capture_mode.h"
|
||||||
#include "shell/browser/electron_browser_context.h"
|
#include "shell/browser/electron_browser_context.h"
|
||||||
#include "shell/browser/net/system_network_context_manager.h"
|
#include "shell/browser/net/system_network_context_manager.h"
|
||||||
#include "shell/common/gin_converters/file_path_converter.h"
|
#include "shell/common/gin_converters/file_path_converter.h"
|
||||||
|
@ -135,9 +139,10 @@ v8::Local<v8::Promise> NetLog::StartLogging(base::FilePath log_path,
|
||||||
auto* network_context =
|
auto* network_context =
|
||||||
browser_context_->GetDefaultStoragePartition()->GetNetworkContext();
|
browser_context_->GetDefaultStoragePartition()->GetNetworkContext();
|
||||||
|
|
||||||
network_context->CreateNetLogExporter(mojo::MakeRequest(&net_log_exporter_));
|
network_context->CreateNetLogExporter(
|
||||||
net_log_exporter_.set_connection_error_handler(base::BindOnce(
|
net_log_exporter_.BindNewPipeAndPassReceiver());
|
||||||
&NetLog::OnConnectionError, weak_ptr_factory_.GetWeakPtr()));
|
net_log_exporter_.set_disconnect_handler(
|
||||||
|
base::BindOnce(&NetLog::OnConnectionError, base::Unretained(this)));
|
||||||
|
|
||||||
base::PostTaskAndReplyWithResult(
|
base::PostTaskAndReplyWithResult(
|
||||||
file_task_runner_.get(), FROM_HERE,
|
file_task_runner_.get(), FROM_HERE,
|
||||||
|
@ -201,7 +206,7 @@ v8::Local<v8::Promise> NetLog::StopLogging(gin::Arguments* args) {
|
||||||
net_log_exporter_->Stop(
|
net_log_exporter_->Stop(
|
||||||
base::Value(base::Value::Type::DICTIONARY),
|
base::Value(base::Value::Type::DICTIONARY),
|
||||||
base::BindOnce(
|
base::BindOnce(
|
||||||
[](network::mojom::NetLogExporterPtr,
|
[](mojo::Remote<network::mojom::NetLogExporter>,
|
||||||
gin_helper::Promise<void> promise, int32_t error) {
|
gin_helper::Promise<void> promise, int32_t error) {
|
||||||
ResolvePromiseWithNetError(std::move(promise), error);
|
ResolvePromiseWithNetError(std::move(promise), error);
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,9 +6,14 @@
|
||||||
#define SHELL_BROWSER_API_ELECTRON_API_NET_LOG_H_
|
#define SHELL_BROWSER_API_ELECTRON_API_NET_LOG_H_
|
||||||
|
|
||||||
#include "base/callback.h"
|
#include "base/callback.h"
|
||||||
|
#include "base/files/file_path.h"
|
||||||
|
#include "base/macros.h"
|
||||||
|
#include "base/memory/weak_ptr.h"
|
||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
#include "gin/handle.h"
|
#include "gin/handle.h"
|
||||||
#include "gin/wrappable.h"
|
#include "gin/wrappable.h"
|
||||||
|
#include "mojo/public/cpp/bindings/remote.h"
|
||||||
|
#include "net/log/net_log_capture_mode.h"
|
||||||
#include "services/network/public/mojom/net_log.mojom.h"
|
#include "services/network/public/mojom/net_log.mojom.h"
|
||||||
#include "shell/common/gin_helper/promise.h"
|
#include "shell/common/gin_helper/promise.h"
|
||||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||||
|
@ -23,6 +28,7 @@ class ElectronBrowserContext;
|
||||||
|
|
||||||
namespace api {
|
namespace api {
|
||||||
|
|
||||||
|
// The code is referenced from the net_log::NetExportFileWriter class.
|
||||||
class NetLog : public gin::Wrappable<NetLog> {
|
class NetLog : public gin::Wrappable<NetLog> {
|
||||||
public:
|
public:
|
||||||
static gin::Handle<NetLog> Create(v8::Isolate* isolate,
|
static gin::Handle<NetLog> Create(v8::Isolate* isolate,
|
||||||
|
@ -55,7 +61,7 @@ class NetLog : public gin::Wrappable<NetLog> {
|
||||||
private:
|
private:
|
||||||
ElectronBrowserContext* browser_context_;
|
ElectronBrowserContext* browser_context_;
|
||||||
|
|
||||||
network::mojom::NetLogExporterPtr net_log_exporter_;
|
mojo::Remote<network::mojom::NetLogExporter> net_log_exporter_;
|
||||||
|
|
||||||
absl::optional<gin_helper::Promise<void>> pending_start_promise_;
|
absl::optional<gin_helper::Promise<void>> pending_start_promise_;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue