mirror of
https://github.com/electron/electron.git
synced 2026-01-14 18:08:07 -05:00
* chore: bump chromium in DEPS to 95.0.4620.0
* chore: update patches
* 3076261: Move args_ to private in ExtensionFunction
https://chromium-review.googlesource.com/c/chromium/src/+/3076261
* [GURL -> SiteForCookies] content/public/browser/content_browser_client.h
https://chromium-review.googlesource.com/c/chromium/src/+/3107759
* chore: fix -Wunreachable-code-return in node
* Tracing to diagnose ContentScriptTracker-related bad message reports
https://chromium-review.googlesource.com/c/chromium/src/+/3057922
* chore: bump chromium in DEPS to 95.0.4621.0
* chore: update patches
* Remove title from the URL format on Windows.
https://chromium-review.googlesource.com/c/chromium/src/+/3108445
* chore: bump chromium in DEPS to 95.0.4623.0
* Revert "chore: disable v8 oilpan"
This reverts commit 5d255cf1d8e8efbb906047937a713279e5f800d0.
(cherry picked from commit ba5cde4da2)
* Change file paths in network context params to be relative.
https://chromium-review.googlesource.com/c/chromium/src/+/3092927
* Code Health: Rename/replace content::WebUI::RegisterMessageCallback().
https://chromium-review.googlesource.com/c/chromium/src/+/3104691
* Migrate CanExecuteContentScriptSync to Mojo
https://chromium-review.googlesource.com/c/chromium/src/+/3108452
* chore: update patches
* remove unreachable code
* Revert "Revert "chore: disable v8 oilpan""
This reverts commit fef495c0294e21760df51bddb5f7bf1ec9ed5f1e.
* fixup mas patch
* Reland "[include] Split out v8.h"
https://chromium-review.googlesource.com/c/v8/v8/+/3113629
* chore: bump chromium in DEPS to 95.0.4624.0
* chore: bump chromium in DEPS to 95.0.4625.0
* chore: bump chromium in DEPS to 95.0.4626.0
* 3033504: Pass NavigationDownloadPolicy in CreateNewWindowParams
https://chromium-review.googlesource.com/c/chromium/src/+/3033504
* 3058038: Introduce TestPrintingContext & test UpdatePrintSettings
https://chromium-review.googlesource.com/c/chromium/src/+/3058038
* 3114943: [Conditional Focus][#4] Add tests and remove flag gating
https://chromium-review.googlesource.com/c/chromium/src/+/3114943
* chore: update patch indices
* chore: bump chromium in DEPS to 95.0.4627.0
* chore: update patches
* 3093591: ozone: webpagepopups: calculate anchor for menu bounds. 4/*
https://chromium-review.googlesource.com/c/chromium/src/+/3093591
* 3110414: [PA] Remove the leading cookie
https://chromium-review.googlesource.com/c/chromium/src/+/3110414
* chore: update patches
* 3076261: Move args_ to private in ExtensionFunction
https://chromium-review.googlesource.com/c/chromium/src/+/3076261
* 3113629: Reland "[include] Split out v8.h"
https://chromium-review.googlesource.com/c/v8/v8/+/3113629
* chore: bump chromium in DEPS to 95.0.4628.0
* chore: update patches
* chore: bump chromium in DEPS to 95.0.4629.0
* chore: update patches
* Fix chrome root store codegen for cross-compile builds.
https://chromium-review.googlesource.com/c/chromium/src/+/3133701
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
// Copyright (c) 2013 GitHub, Inc.
|
|
// Use of this source code is governed by the MIT license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef SHELL_BROWSER_JAVASCRIPT_ENVIRONMENT_H_
|
|
#define SHELL_BROWSER_JAVASCRIPT_ENVIRONMENT_H_
|
|
|
|
#include <memory>
|
|
|
|
#include "base/macros.h"
|
|
#include "gin/public/isolate_holder.h"
|
|
#include "uv.h" // NOLINT(build/include_directory)
|
|
#include "v8/include/v8-locker.h"
|
|
|
|
namespace node {
|
|
class Environment;
|
|
class MultiIsolatePlatform;
|
|
} // namespace node
|
|
|
|
namespace electron {
|
|
|
|
class MicrotasksRunner;
|
|
// Manage the V8 isolate and context automatically.
|
|
class JavascriptEnvironment {
|
|
public:
|
|
explicit JavascriptEnvironment(uv_loop_t* event_loop);
|
|
~JavascriptEnvironment();
|
|
|
|
void OnMessageLoopCreated();
|
|
void OnMessageLoopDestroying();
|
|
|
|
node::MultiIsolatePlatform* platform() const { return platform_; }
|
|
v8::Isolate* isolate() const { return isolate_; }
|
|
v8::Local<v8::Context> context() const {
|
|
return v8::Local<v8::Context>::New(isolate_, context_);
|
|
}
|
|
|
|
static v8::Isolate* GetIsolate();
|
|
|
|
private:
|
|
v8::Isolate* Initialize(uv_loop_t* event_loop);
|
|
// Leaked on exit.
|
|
node::MultiIsolatePlatform* platform_;
|
|
|
|
v8::Isolate* isolate_;
|
|
gin::IsolateHolder isolate_holder_;
|
|
v8::Locker locker_;
|
|
v8::Global<v8::Context> context_;
|
|
|
|
std::unique_ptr<MicrotasksRunner> microtasks_runner_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(JavascriptEnvironment);
|
|
};
|
|
|
|
// Manage the Node Environment automatically.
|
|
class NodeEnvironment {
|
|
public:
|
|
explicit NodeEnvironment(node::Environment* env);
|
|
~NodeEnvironment();
|
|
|
|
node::Environment* env() { return env_; }
|
|
|
|
private:
|
|
node::Environment* env_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(NodeEnvironment);
|
|
};
|
|
|
|
} // namespace electron
|
|
|
|
#endif // SHELL_BROWSER_JAVASCRIPT_ENVIRONMENT_H_
|