chore: remove native_mate (Part 11) (#20719)
* refactor: convert Menu and globalShortcut to gin * refactor: convert api::Cookies to gin * refactor: convert View and WebContentsView to gin * refactor: convert WebContents related classes to gin * refactor: convert powerMonitor to gin * refactor: prepare for header change * refactor: remove last uses of mate::EventEmitter * refactor: remove mate::EventEmitter * refactor: move trackable_object to gin_helper * fix: custom converter should not use Handle * fix: no more need to check if icon is empty It was a bug that the Handle<NativeImage> can be non-empty when the image file does not exist. The bug was caused by the converter code writing out the image even when the convertion fails. The bug was work-arounded by adding an additional check, but since the original bug had been fixed, the additional check is no longer needed. * fix: should always set frameId even when callback is null * fix: do not mix gin/mate handles for NativeImage
This commit is contained in:
parent
0e0d4fe990
commit
0fe6767d6b
80 changed files with 823 additions and 1087 deletions
|
@ -13,11 +13,11 @@
|
|||
#include "base/task/post_task.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "shell/browser/api/trackable_object.h"
|
||||
#include "gin/handle.h"
|
||||
#include "shell/browser/native_window.h"
|
||||
#include "shell/browser/native_window_observer.h"
|
||||
#include "shell/common/api/atom_api_native_image.h"
|
||||
#include "shell/common/gin_helper/event_emitter.h"
|
||||
#include "shell/common/gin_helper/trackable_object.h"
|
||||
|
||||
namespace electron {
|
||||
|
||||
|
@ -25,11 +25,8 @@ namespace api {
|
|||
|
||||
class View;
|
||||
|
||||
class TopLevelWindow
|
||||
: public mate::TrackableObject<
|
||||
TopLevelWindow,
|
||||
gin_helper::EventEmitter<mate::Wrappable<TopLevelWindow>>>,
|
||||
public NativeWindowObserver {
|
||||
class TopLevelWindow : public gin_helper::TrackableObject<TopLevelWindow>,
|
||||
public NativeWindowObserver {
|
||||
public:
|
||||
static mate::WrappableBase* New(gin_helper::Arguments* args);
|
||||
|
||||
|
@ -44,9 +41,10 @@ class TopLevelWindow
|
|||
|
||||
protected:
|
||||
// Common constructor.
|
||||
TopLevelWindow(v8::Isolate* isolate, const mate::Dictionary& options);
|
||||
TopLevelWindow(v8::Isolate* isolate, const gin_helper::Dictionary& options);
|
||||
// Creating independent TopLevelWindow instance.
|
||||
TopLevelWindow(gin_helper::Arguments* args, const mate::Dictionary& options);
|
||||
TopLevelWindow(gin_helper::Arguments* args,
|
||||
const gin_helper::Dictionary& options);
|
||||
~TopLevelWindow() override;
|
||||
|
||||
// TrackableObject:
|
||||
|
@ -91,7 +89,7 @@ class TopLevelWindow
|
|||
#endif
|
||||
|
||||
// Public APIs of NativeWindow.
|
||||
void SetContentView(mate::Handle<View> view);
|
||||
void SetContentView(gin::Handle<View> view);
|
||||
void Close();
|
||||
virtual void Focus();
|
||||
virtual void Blur();
|
||||
|
@ -215,7 +213,7 @@ class TopLevelWindow
|
|||
// Extra APIs added in JS.
|
||||
bool SetThumbarButtons(gin_helper::Arguments* args);
|
||||
#if defined(TOOLKIT_VIEWS)
|
||||
void SetIcon(mate::Handle<NativeImage> icon);
|
||||
void SetIcon(gin::Handle<NativeImage> icon);
|
||||
#endif
|
||||
#if defined(OS_WIN)
|
||||
typedef base::RepeatingCallback<void(v8::Local<v8::Value>,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue