Commit Graph

89 Commits

Author SHA1 Message Date
Corey Johnson
404ca89767 Uncomment the custom event handling code 2012-03-01 15:45:49 -08:00
Corey Johnson
e874512284 Move atom.native to $native 2012-03-01 15:44:36 -08:00
Corey Johnson
e51f49f6f5 Deal with key-equivalents before we send events to Cef 2012-03-01 15:37:58 -08:00
Corey Johnson
7fc98e0ae3 Use NSURL.path to get the filename from openDialog 2012-03-01 15:36:05 -08:00
Corey Johnson
1e6a34db81 Added native.openDialog 2012-03-01 12:11:17 -08:00
Corey Johnson
bd17d890a1 If no windows are open, keydown events are sent to the shared context. 2012-03-01 12:11:04 -08:00
Corey Johnson
569bed9ee1 Refactor ad hoc delegate methods into BrowserDelegate protocol. 2012-02-29 17:30:50 -08:00
Corey Johnson
670b9dc52d meta-r reloads a controller 2012-02-29 17:26:50 -08:00
Corey Johnson & Nathan Sobo
7e6132f5b7 Redo Xcode project FROM SCRATCH 2012-02-29 15:23:17 -08:00
Corey Johnson & Nathan Sobo
c84320b536 window-bootstrap is called when a file is opened. 2012-02-28 17:24:58 -08:00
Corey Johnson & Nathan Sobo
d9697d6ad1 💄 2012-02-28 13:20:55 -08:00
Corey Johnson & Nathan Sobo
b37b45b4b1 atom variable holds all global state and is shared across contexts. 2012-02-28 13:14:35 -08:00
Corey Johnson
5ac7088423 Reloading page resets JS env 2012-02-28 11:36:45 -08:00
Corey Johnson
b0c5cd6bb3 💄 2012-02-28 11:06:42 -08:00
Corey Johnson
bedc39d137 Close dev tools when window closes. 2012-02-28 11:06:33 -08:00
Corey Johnson
cd3dfa8ad2 Global background page is working. 2012-02-28 10:58:25 -08:00
Corey Johnson
19be5fed04 Clean up Xcode project layout 2012-02-27 17:00:05 -08:00
Corey Johnson
82dac0e554 Building Atom with Chrome 2012-02-21 14:36:59 -08:00
Corey Johnson
99cbb5e0a2 Cache compiled CoffeeScript on the Objective-C side.
This is a temporary fix, it just stores compiled scripts in memory. It
doesn't speed up the app start since the scripts need to be compiled
once. Here are some numbers.

#file load
pre: 1.5 seconds
post: 0.25 seconds

#spec load
pre: 5.4 seconds
post: 0.36 seconds
2012-01-30 16:19:28 -08:00
Corey Johnson & Nathan Sobo
430869b7e0 Show inspector with javascript 2012-01-25 12:29:36 -08:00
Nathan Sobo
80e4fda2f9 Filter out directory paths for FileFinder in Objective-C instead of JS.
Rename FileSystemHelper-contentsOfDirectoryAtPath… to -listFilesAtPath to make it clear that we're only listing files, not subdirectories. This is a fairly special purpose method but it saves us from calling back into objective-c a ton of times to filter them in JS, and makes bringing up the file finder ~2x as fast.
2012-01-04 18:22:22 -07:00
Nathan Sobo
be0fa84f1f Move fs support methods out of AtomController into FileSystemHelper 2012-01-04 18:01:31 -07:00
Nathan Sobo
c21083ae24 Merge branch 'asyncfs' of github.com:probablycorey/Atomicity into asyncfs 2012-01-04 13:30:56 -07:00
Nathan Sobo
a16e596fdf Refactor objective-c side of fs.async.list and cleanup memory leaks. 2012-01-04 13:21:26 -07:00
Corey Johnson & Nathan Sobo
9fde405ebe cmd-o allows directories to be open 2012-01-04 10:50:53 -08:00
Nathan Sobo
faa39f6bdb Construct native JS array/strings in C for fs.async.list callback.
Converting from JS-cocoa wrapper values for every element in the array appears to be very slow. Here we construct native JS datatypes and it's much faster. This is very messy and leaky and needs to be cleaned up if we want to keep it.
2012-01-03 22:47:20 -07:00
Corey Johnson & Nathan Sobo
7ba7ba2c81 Ported absolute and isFile to Objective-c.
This took fileFinder loading from .8 seconds to .35 seconds.
2012-01-03 17:50:43 -08:00
Corey Johnson & Nathan Sobo
2cfea9fa42 Fix broken specs 2012-01-03 14:40:31 -07:00
Corey Johnson & Nathan Sobo
5b3e0e9f83 fs.async.list takes a boolean 'recursive' flag. 2012-01-03 14:23:18 -07:00
Corey Johnson & Nathan Sobo
3822549007 Spec passes for fs.async.list. 2012-01-03 14:03:03 -07:00
Corey Johnson
d076b1a48c Async file finding works with with blocks 2012-01-03 11:11:11 -08:00
Corey Johnson & Nathan Sobo
e327dcc8e5 Experiment with async callbacks from js 2011-12-30 18:02:11 -06:00
Nathan Sobo
a010c8e3c6 Add window.bindMenuItem, which adds a menu item that invokes a given function.
Every menu item is created with a path (File > Save). The functions are stored in a hash from (menu item path -> action) on the window. When an AtomMenuItem is selected, it looks up the action on the current window based on its path.
2011-12-26 13:12:27 -06:00
Nathan Sobo
ae4fdf8812 Add Native.resetMainMenu and call it in global afterEach
This method removes any AtomMenuItems that aren't marked as 'global'. It ignores menu items that aren't instances of our custom subclass. This is needed by specs to clear any menu items added during tests. It will also be needed when a window loses focus and we want to remove any non-global menus associated with the window.
2011-12-23 12:43:32 -06:00
Corey Johnson
ee0bf2e553 Rename open and new methods. 2011-12-22 14:58:06 -08:00
Corey Johnson
66b066fbaf Trim Menu down to new/open/quit/run specs.
Implement those methods in AtomApp.
2011-12-22 14:04:39 -08:00
Corey Johnson
cf18c4b550 Autorun tests if AUTO-RUN env is set. 2011-12-19 13:10:02 -08:00
Nathan Sobo
ff57cbc8f6 Make "Run Specs" menu item w/ key equivalent. 2011-12-16 16:30:55 -08:00
Nathan Sobo
79fbc0118c WebView re-initializes JSCocoa on reload. 2011-12-16 16:30:49 -08:00
Nathan Sobo
ca9e26882a Bypass key equivalents on keydown until web view has a chance to process events.
Move refresh handling to keyDown: method on AtomController. Eliminate custom handleInputEvent method.

NSApplication-sendEvent calls performKeyEquivalents on keydown events. Here I override sendEvent for keydown and forward the event to its window. This allows the web view to receive Command-H etc without key equivalents interfering. If the web view short-circuits the event, then the key equivalent will not be invoked. But it can let the event pass through and it ends up invoking the key equivalent anyway via a mechanism I don't fully understand. Apparently Cocoa tries to execute key equivalents after the web view finishes with the event? But it works great.
2011-12-15 19:10:58 -08:00
Corey Johnson & Nathan Sobo
b3ce89d294 Events go on Keyup, duh. 2011-12-15 16:01:41 -08:00
Corey Johnson & Nathan Sobo
dd1c9de381 When opening a new window, block until web view loads. 2011-12-15 10:42:33 -08:00
Corey Johnson & Nathan Sobo
3309549dc5 💄 2011-12-15 10:01:11 -08:00
Corey Johnson
583d0d749c 💄 2011-12-15 09:34:09 -08:00
Corey Johnson
2a01ef757b The method call was still bugging because it is only called once and is one line long. How about we make it a local var? 2011-12-15 09:19:02 -08:00
Corey Johnson
4a2081e88d Capture window.close calls (from JS) in AtomController 2011-12-14 18:28:06 -08:00
Corey Johnson
fbb3efacf4 wii - gettings specs on App.open. Window closing not working quite right. 2011-12-14 16:24:30 -08:00
Corey Johnson
507341e714 Use correct method names. 2011-12-14 11:47:09 -08:00
Corey Johnson
725ca308c3 Rename Startup to Bootstrap. 2011-12-14 11:29:11 -08:00
Corey Johnson
89c00ec8a6 Teardown and recreate WebView (not the entire controller) on reload. 2011-12-14 10:46:57 -08:00