Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[API] Make UI objects inherit from EventEmitter.

  • Loading branch information...
commit f09857dbf29a3ffc68f802096b872a7b872e48a3 1 parent 855f232
@zcbenz zcbenz authored
View
6 src/api/base/base.js
@@ -21,6 +21,7 @@
function Base() {
throw new String("It's forbidden to instantialize a Base class.");
}
+require('util').inherits(Base, require('events').EventEmitter);
// Move helper functions to Base
Base.prototype.getConstructorName = nw.getConstructorName;
@@ -33,9 +34,8 @@ delete nw.setHiddenValue;
delete nw.setDestructor;
// Silent unhandled events
-Base.prototype.handleEvent = function(ev) {
- if (typeof this.on == 'function')
- this.on(arguments);
+Base.prototype.handleEvent = function() {
+ this.emit.apply(this, arguments);
}
// Generic getter and setter
View
37 src/api/window/window.cc
@@ -1,37 +0,0 @@
-// Copyright (c) 2012 Intel Corp
-// Copyright (c) 2012 The Chromium Authors
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell co
-// pies of the Software, and to permit persons to whom the Software is furnished
-// to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in al
-// l copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IM
-// PLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNES
-// S FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
-// OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WH
-// ETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-#include "content/nw/src/api/menu/menu.h"
-
-#include "content/nw/src/shell.h"
-
-using namespace v8;
-
-namespace api {
-
-// static
-void Window::Init(Handle<Object> target) {
- HandleScope scope;
-
- Local<Object> window = Object::New();
- target->Set(String::NewSymbol("Window", window));
-}
-
-} // namespace api
View
47 src/api/window/window.h
@@ -1,47 +0,0 @@
-// Copyright (c) 2012 Intel Corp
-// Copyright (c) 2012 The Chromium Authors
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell co
-// pies of the Software, and to permit persons to whom the Software is furnished
-// to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in al
-// l copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IM
-// PLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNES
-// S FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
-// OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WH
-// ETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-#ifndef CONTENT_NW_SRC_API_WINDOW_WINDOW_H_
-#define CONTENT_NW_SRC_API_WINDOW_WINDOW_H_
-
-#include "third_party/node/src/node.h"
-
-namespace content {
-class Shell;
-}
-
-namespace api {
-
-class Window {
- public:
- static void Init(v8::Handle<v8::Object> target);
-
- private:
- Window();
- ~Window();
-
- // Shared implementations
- static v8::Handle<v8::Value> Show(const v8::Arguments& args);
- static v8::Handle<v8::Value> Hide(const v8::Arguments& args);
-};
-
-} // namespace api
-
-#endif // CONTENT_NW_SRC_API_WINDOW_WINDOW_H_
View
4 tests/menu/index.html
@@ -162,6 +162,10 @@
menu.items[1].icon = tray.icon = 'icon1.png';
+ menu.items[1].on('click', function() {
+ console.log('Item Mama');
+ });
+
gc();
</script>
<script>
Please sign in to comment.
Something went wrong with that request. Please try again.