Nathan Sobo
f22fedebcf
Inject new instances of native objects into every JS context
...
This prevents concurrent access to the same state from different
worker threads. We needed to treat windowState specially because we
explicitly want it to last beyond the life-span of a single context.
So we store it as a static variable in `native.mm` and synchronize
access with a static `NSLock`. Good enough for now.
2013-01-24 17:22:50 -08:00
Corey Johnson & Nathan Sobo
f876071ff0
💄
2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
5294cb6df1
Kill lines I forgot to delete
2013-01-24 17:22:49 -08:00
Nathan Sobo
87829043d4
Use window binding instead of v8 extension for $native object
...
This paves the way to inject `$native` into the context of a web worker
2013-01-24 17:22:49 -08:00
Kevin Sawicki & Nathan Sobo
2fb27bb2dd
Store pathToOpen using new atom.set/getWindowState api
...
When you use `setWindowState`, your data is saved across refreshes.
You can only store state that can be serialized to JSON.
2013-01-10 18:04:22 -07:00
Kevin Sawicki
cdac5e0763
Read output for terminate handler off main thread
...
Follow on to commit 1bd0cc4152
2012-12-19 17:25:19 -08:00
Corey Johnson & Nathan Sobo
1bd0cc4152
ChildProcess can handle commands that return large amounts of data.
...
When a command returned a large amount of data, it was blocking on the stderr callback when `[fileHandle availableData]` was called. From what I can tell, this is because stderr was being called with a zero-length string.
This was fixed when `[fileHandle availableData]` was moved to run inside the NSTask thread (instead of on the main thread). It now returns a zero-length string rather than blocking forever.
An unresolved question is why stderr is being called with zero-length strings.
2012-12-19 11:47:50 -08:00
Corey Johnson & Kevin Sawicki
a6a05b6ff4
Remove directories from fuzzy-finder
2012-12-12 17:25:45 -08:00
Corey Johnson & Kevin Sawicki
404f637101
Populate fuzzy-finder asynchronously
2012-12-12 12:26:39 -08:00
Corey Johnson & Nathan Sobo
702b8047e4
Unwatch all paths after each test
2012-11-29 15:31:05 -08:00
Corey Johnson
5c4079a2c8
Use NSASCIIStringEncoding instead of NSNonLossyASCIIStringEncoding
2012-11-29 10:36:16 -08:00
Corey Johnson
02c441e937
If $native.read fails to open a file as UTF8, it opens it as ascii
...
This is a temporary solution to allow Atom to open binary files. The ultimate goal would be to have a hex-editor built into atom.
2012-11-29 10:34:22 -08:00
Corey Johnson & Nathan Sobo
db78d6a7e5
Ensure PathWatcher isn't watching anything at the end of each spec
...
This replaces the old functionality of ensuring no files or directories have subscriptions in javascript. We allow this now, but we just don't allow leaked watches at the native layer.
2012-11-28 17:16:15 -07:00
Kevin Sawicki
0e89c7a673
💄
2012-10-26 10:41:40 -07:00
Corey Johnson
de03cc82ed
fs.traversePath(path) works if path is a symlink
2012-10-12 15:44:01 -07:00
Corey Johnson
c43c82fbcb
💄
2012-10-12 15:44:00 -07:00
Kevin Sawicki
a1f9e061bc
Remove native.list
...
Use native.traverseTree instead from fs.list
and fs.listTree
2012-10-09 17:41:33 -07:00
Kevin Sawicki
d8ea07468b
Include FTS_PHYSICAL when calling fts_open
2012-10-09 17:41:33 -07:00
Kevin Sawicki
edc1c590aa
Guard against null onDir function result
2012-10-09 17:41:33 -07:00
Kevin Sawicki
375d3551fa
Check fts_info against FTS_NSOK for files
2012-10-09 17:41:33 -07:00
Kevin Sawicki
6b6cf85ba0
DRY up native traverseTree for file and folder cases
2012-10-09 17:41:32 -07:00
Kevin Sawicki
8b61e6a9df
Split out file and directory callbacks
2012-10-09 17:41:32 -07:00
Kevin Sawicki
71c161d527
Remove unneeded regex matching for built-in ignores
2012-10-09 17:41:32 -07:00
Kevin Sawicki
f71b90578e
💄
2012-10-09 17:41:32 -07:00
Kevin Sawicki
c304788fbf
💄
2012-10-09 17:41:32 -07:00
Kevin Sawicki
98c8525bdd
Use single args vector and clear before insertion
2012-10-09 17:41:32 -07:00
Kevin Sawicki
51a41a9a72
Add native traverseTree
2012-10-09 17:41:32 -07:00
Corey Johnson
871a230b03
Make $native.exists a tiny bit faster
2012-09-26 16:30:22 -07:00
Corey Johnson & Nathan Sobo
c9c138491e
Add atom.exit, which exits from the browser process instead of the renderer
2012-08-31 10:15:12 -06:00
Corey Johnson & Nathan Sobo
bd1982ede1
Nix fs.async.* methods. They aren't needed now.
2012-08-30 16:12:15 -06:00
Nathan Sobo
d5ffdb153a
Remove $native.saveDialog. It's replaced with atom.showSaveDialog
2012-08-30 11:08:55 -06:00
Nathan Sobo
c24c9e2003
Merge branch 'master' of github.com:github/atom-cef3
...
Conflicts:
native/atom_cef_client.h
native/atom_cef_client_mac.mm
src/app/atom.coffee
2012-08-29 23:08:31 -06:00
Nathan Sobo
63a0746cc5
Remove $native.alert
2012-08-29 20:53:04 -05:00
Corey Johnson
d9dc526425
DevTools are working
2012-08-29 15:31:06 -07:00
Corey Johnson
073164c584
Remove newWindow from native extension
2012-08-29 08:56:57 -07:00
Corey Johnson & Nathan Sobo
f6a55ee468
Throw exception if fs.list's path argument is null or empty
2012-08-28 16:47:36 -07:00
Nathan Sobo
16c7c523cf
Native open code now presents the open panel from the browser process
...
This avoids retina resolution issues and ink framework errors that occur when opening dialogs from the chromium renderer process.
2012-08-28 13:54:44 -05:00
Corey Johnson & Nathan Sobo
4781d477cd
Remove tabs and handle key events when there are no windows open.
2012-08-28 10:37:25 -07:00
Nathan Sobo
a4a87917ba
Put the other v8 extensions in the v8_extensions namespace
2012-08-28 11:16:27 -05:00
Corey Johnson & Nathan Sobo
5141aba658
Move all extension C and JavaScript code into native/v8_extensions
2012-08-27 14:02:05 -07:00