Remove OnMessageReceived from NativeWindow

This commit is contained in:
Cheng Zhao 2018-02-22 15:26:04 +09:00
parent 44e7282b4b
commit bffb31c337
8 changed files with 27 additions and 21 deletions

View file

@ -10,6 +10,7 @@
#include "atom/browser/browser.h"
#include "atom/browser/native_window.h"
#include "atom/browser/web_contents_preferences.h"
#include "atom/common/api/api_messages.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
@ -210,6 +211,17 @@ void BrowserWindow::DidFirstVisuallyNonEmptyPaint() {
}, GetWeakPtr()));
}
bool BrowserWindow::OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* rfh) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(BrowserWindow, message, rfh)
IPC_MESSAGE_HANDLER(AtomFrameHostMsg_UpdateDraggableRegions,
UpdateDraggableRegions)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
void BrowserWindow::WillCloseWindow(bool* prevent_default) {
*prevent_default = Emit("close");
}
@ -1039,6 +1051,12 @@ void BrowserWindow::RemoveFromParentChildWindows() {
parent->child_windows_.Remove(ID());
}
void BrowserWindow::UpdateDraggableRegions(
content::RenderFrameHost* rfh,
const std::vector<DraggableRegion>& regions) {
window_->UpdateDraggableRegions(regions);
}
// static
void BrowserWindow::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {

View file

@ -64,6 +64,8 @@ class BrowserWindow : public mate::TrackableObject<BrowserWindow>,
// content::WebContentsObserver:
void RenderViewCreated(content::RenderViewHost* render_view_host) override;
void DidFirstVisuallyNonEmptyPaint() override;
bool OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* rfh) override;
// NativeWindowObserver:
void WillCloseWindow(bool* prevent_default) override;
@ -244,6 +246,11 @@ class BrowserWindow : public mate::TrackableObject<BrowserWindow>,
// Remove this window from parent window's |child_windows_|.
void RemoveFromParentChildWindows();
// Called when the window needs to update its draggable region.
void UpdateDraggableRegions(
content::RenderFrameHost* rfh,
const std::vector<DraggableRegion>& regions);
#if defined(OS_WIN)
typedef std::map<UINT, MessageCallback> MessageCallbackMap;
MessageCallbackMap messages_callback_map_;