'browser/native_window_mac.h',
'browser/native_window_mac.mm',
'browser/native_window_observer.h',
+ 'common/api_messages.cc',
+ 'common/api_messages.h',
'common/node_bindings.cc',
'common/node_bindings.h',
'common/node_bindings_mac.h',
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// Multiply-included file, no traditional include guard.
+
// Used by atom_extensions.cc to declare a list of built-in modules of Atom.
NODE_EXT_LIST_START
web_contents->SetDelegate(this);
// Add window as an observer of the web contents.
+ content::WebContentsObserver::Observe(web_contents);
+
+ // Get notified of title updated message.
registrar_.Add(this, content::NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED,
content::Source<content::WebContents>(web_contents));
}
window->InitFromOptions(options.get());
}
+bool NativeWindow::OnMessageReceived(const IPC::Message& message) {
+ return false;
+}
+
void NativeWindow::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/web_contents_delegate.h"
+#include "content/public/browser/web_contents_observer.h"
namespace base {
class DictionaryValue;
namespace atom {
class NativeWindow : public content::WebContentsDelegate,
+ public content::WebContentsObserver,
public content::NotificationObserver {
public:
virtual ~NativeWindow();
const GURL& target_url,
content::WebContents* new_contents) OVERRIDE;
+ // Implementations of content::WebContentsObserver.
+ virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
+
// Implementations of content::NotificationObserver
virtual void Observe(int type,
const content::NotificationSource& source,
--- /dev/null
+// Copyright (c) 2013 GitHub, Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Get basic type definitions.
+#define IPC_MESSAGE_IMPL
+#include "common/api_messages.h"
+
+// Generate constructors.
+#include "ipc/struct_constructor_macros.h"
+#include "common/api_messages.h"
+
+// Generate destructors.
+#include "ipc/struct_destructor_macros.h"
+#include "common/api_messages.h"
+
+// Generate param traits write methods.
+#include "ipc/param_traits_write_macros.h"
+namespace IPC {
+#include "common/api_messages.h"
+} // namespace IPC
+
+// Generate param traits read methods.
+#include "ipc/param_traits_read_macros.h"
+namespace IPC {
+#include "common/api_messages.h"
+} // namespace IPC
+
+// Generate param traits log methods.
+#include "ipc/param_traits_log_macros.h"
+namespace IPC {
+#include "common/api_messages.h"
+} // namespace IPC
--- /dev/null
+// Copyright (c) 2013 GitHub, Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Multiply-included file, no traditional include guard.
+
+#include <string>
+
+#include "base/values.h"
+#include "content/public/common/common_param_traits.h"
+#include "ipc/ipc_message_macros.h"
+
+// The message starter should be declared in ipc/ipc_message_start.h. Since
+// we don't wan't to patch Chromium, we just pretend to be Content Shell.
+
+#define IPC_MESSAGE_START ShellMsgStart
+
+IPC_SYNC_MESSAGE_CONTROL2_1(AtomViewHostMsg_Allocate_Object,
+ std::string /* type name */,
+ DictionaryValue /* options */,
+ int /* object id */)
+
+IPC_SYNC_MESSAGE_CONTROL1_0(AtomViewHostMsg_Deallocate_Object,
+ int /* object id */)
+
+IPC_SYNC_MESSAGE_CONTROL3_1(AtomViewHostMsg_Call_Object_Method,
+ int /* object id */,
+ std::string /* method name */,
+ ListValue /* arguments */,
+ DictionaryValue /* return value */)
+
+IPC_SYNC_MESSAGE_CONTROL2_1(AtomViewMsg_Callback,
+ int /* callback id */,
+ ListValue /* arguments */,
+ DictionaryValue /* return value */)