No more C++ RecordedObject and ObjectsRegistry code.
authorCheng Zhao <zcbenz@gmail.com>
Thu, 25 Apr 2013 07:02:58 +0000 (15:02 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 25 Apr 2013 07:02:58 +0000 (15:02 +0800)
All RPC API will be implemented in pure javascript.

atom.gyp
browser/api/atom_api_event_emitter.cc
browser/api/atom_api_event_emitter.h
browser/api/atom_api_objects_registry.cc [deleted file]
browser/api/atom_api_objects_registry.h [deleted file]
browser/api/atom_api_recorded_object.cc [deleted file]
browser/api/atom_api_recorded_object.h [deleted file]
browser/atom_browser_context.cc
browser/atom_browser_context.h

index 2b4bb99..e7fdc63 100644 (file)
--- a/atom.gyp
+++ b/atom.gyp
@@ -8,7 +8,6 @@
     'coffee_sources': [
       'browser/api/lib/atom.coffee',
       'browser/api/lib/ipc.coffee',
-      'browser/api/lib/.coffee',
       'browser/api/lib/window.coffee',
       'browser/atom/atom.coffee',
       'browser/atom/objects_registry.coffee',
       'browser/api/atom_api_event.h',
       'browser/api/atom_api_event_emitter.cc',
       'browser/api/atom_api_event_emitter.h',
-      'browser/api/atom_api_objects_registry.cc',
-      'browser/api/atom_api_objects_registry.h',
-      'browser/api/atom_api_recorded_object.cc',
-      'browser/api/atom_api_recorded_object.h',
       'browser/api/atom_api_window.cc',
       'browser/api/atom_api_window.h',
       'browser/api/atom_browser_bindings.cc',
index 7a88a1e..6fe790b 100644 (file)
@@ -16,8 +16,8 @@ namespace atom {
 
 namespace api {
 
-EventEmitter::EventEmitter(v8::Handle<v8::Object> wrapper)
-    : RecordedObject(wrapper) {
+EventEmitter::EventEmitter(v8::Handle<v8::Object> wrapper) {
+  Wrap(wrapper);
 }
 
 EventEmitter::~EventEmitter() {
index 021d91c..4071355 100644 (file)
@@ -7,7 +7,8 @@
 
 #include <iosfwd>
 
-#include "browser/api/atom_api_recorded_object.h"
+#include "base/basictypes.h"
+#include "vendor/node/src/node_object_wrap.h"
 
 namespace base {
 class ListValue;
@@ -20,13 +21,16 @@ namespace api {
 // Class interiting EventEmitter should assume it's a javascript object which
 // interits require('events').EventEmitter, this class provides many helper
 // methods to do event processing in C++.
-class EventEmitter : public RecordedObject {
+class EventEmitter : public node::ObjectWrap {
  public:
   virtual ~EventEmitter();
 
   // Emit an event and returns whether the handler has called preventDefault().
   bool Emit(const std::string& name, base::ListValue* args);
 
+  // Small accessor to return handle_, this follows Google C++ Style.
+  v8::Persistent<v8::Object>& handle() { return handle_; }
+
  protected:
   explicit EventEmitter(v8::Handle<v8::Object> wrapper);
 
diff --git a/browser/api/atom_api_objects_registry.cc b/browser/api/atom_api_objects_registry.cc
deleted file mode 100644 (file)
index 71e7efd..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-// 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.
-
-#include "browser/api/atom_api_objects_registry.h"
-
-namespace atom {
-
-namespace api {
-
-ObjectsRegistry::ObjectsRegistry() {
-}
-
-ObjectsRegistry::~ObjectsRegistry() {
-}
-
-}  // namespace api
-
-}  // namespace atom
diff --git a/browser/api/atom_api_objects_registry.h b/browser/api/atom_api_objects_registry.h
deleted file mode 100644 (file)
index a92bb9a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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.
-
-#ifndef ATOM_BROWSER_API_ATOM_API_OBJECTS_REGISTRY_H_
-#define ATOM_BROWSER_API_ATOM_API_OBJECTS_REGISTRY_H_
-
-#include "base/id_map.h"
-#include "base/basictypes.h"
-
-namespace atom {
-
-namespace api {
-
-class RecordedObject;
-
-class ObjectsRegistry {
- public:
-  ObjectsRegistry();
-  virtual ~ObjectsRegistry();
-
-  int Add(RecordedObject* data) { return id_map_.Add(data); }
-  void Remove(int id) { id_map_.Remove(id); }
-  void Clear() { id_map_.Clear(); }
-  RecordedObject* Lookup(int id) const { return id_map_.Lookup(id); }
-
- private:
-  IDMap<RecordedObject> id_map_;
-
-  DISALLOW_COPY_AND_ASSIGN(ObjectsRegistry);
-};
-
-}  // namespace api
-
-}  // namespace atom
-
-#endif  // ATOM_BROWSER_API_ATOM_API_OBJECTS_REGISTRY_H_
diff --git a/browser/api/atom_api_recorded_object.cc b/browser/api/atom_api_recorded_object.cc
deleted file mode 100644 (file)
index 142bb50..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.
-
-#ifndef ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_
-#define ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_
-
-#include "browser/api/atom_api_recorded_object.h"
-
-#include "base/compiler_specific.h"
-#include "browser/api/atom_api_objects_registry.h"
-#include "browser/atom_browser_context.h"
-
-namespace atom {
-
-namespace api {
-
-RecordedObject::RecordedObject(v8::Handle<v8::Object> wrapper)
-    : ALLOW_THIS_IN_INITIALIZER_LIST(id_(
-          AtomBrowserContext::Get()->objects_registry()->Add(this))) {
-  Wrap(wrapper);
-
-  wrapper->SetAccessor(v8::String::New("id"), IDGetter);
-}
-
-RecordedObject::~RecordedObject() {
-  AtomBrowserContext::Get()->objects_registry()->Remove(id());
-}
-
-// static
-v8::Handle<v8::Value> RecordedObject::IDGetter(v8::Local<v8::String> property,
-                                               const v8::AccessorInfo& info) {
-  RecordedObject* self = RecordedObject::Unwrap<RecordedObject>(info.This());
-  return v8::Integer::New(self->id_);
-}
-
-}  // namespace api
-
-}  // namespace atom
-
-#endif  // ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_
diff --git a/browser/api/atom_api_recorded_object.h b/browser/api/atom_api_recorded_object.h
deleted file mode 100644 (file)
index a5806ee..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// 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.
-
-#ifndef ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_H_
-#define ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_H_
-
-#include "base/basictypes.h"
-#include "vendor/node/src/node_object_wrap.h"
-
-namespace atom {
-
-namespace api {
-
-// Objects of this class will be recorded in C++ and available for RPC from
-// renderer.
-class RecordedObject : public node::ObjectWrap {
- public:
-  virtual ~RecordedObject();
-
-  // Small accessor to return handle_, this follows Google C++ Style.
-  v8::Persistent<v8::Object>& handle() { return handle_; }
-
-  int id() const { return id_; }
-
- protected:
-  explicit RecordedObject(v8::Handle<v8::Object> wrapper);
-
- private:
-  static v8::Handle<v8::Value> IDGetter(v8::Local<v8::String> property,
-                                        const v8::AccessorInfo& info);
-
-  int id_;
-
-  DISALLOW_COPY_AND_ASSIGN(RecordedObject);
-};
-
-}  // namespace api
-
-}  // namespace atom
-
-#endif  // ATOM_BROWSER_API_ATOM_API_RECORDED_OBJECT_H_
index 78cada0..59649b2 100644 (file)
@@ -4,13 +4,11 @@
 
 #include "browser/atom_browser_context.h"
 
-#include "browser/api/atom_api_objects_registry.h"
 #include "browser/atom_browser_main_parts.h"
 
 namespace atom {
 
-AtomBrowserContext::AtomBrowserContext()
-    : objects_registry_(new api::ObjectsRegistry) {
+AtomBrowserContext::AtomBrowserContext() {
 }
 
 AtomBrowserContext::~AtomBrowserContext() {
index 397bd92..1a97bc3 100644 (file)
 
 namespace atom {
 
-namespace api {
-class ObjectsRegistry;
-}
-
 class AtomBrowserContext : public brightray::BrowserContext {
  public:
   AtomBrowserContext();
@@ -21,13 +17,7 @@ class AtomBrowserContext : public brightray::BrowserContext {
 
   static AtomBrowserContext* Get();
 
-  api::ObjectsRegistry* objects_registry() const {
-    return objects_registry_.get();
-  }
-
  private:
-  scoped_ptr<api::ObjectsRegistry> objects_registry_;
-
   DISALLOW_COPY_AND_ASSIGN(AtomBrowserContext);
 };