Commit Graph

15264 Commits

Author SHA1 Message Date
Antonio Scandurra
81af989f0d Merge branch 'master' into as-snapshot-atom-environment 2017-03-16 21:08:41 +01:00
Antonio Scandurra
ad6a5ac3bf Don't send did-resolve-proxy messages to destroyed windows
This should fix some main process test failures we are observing on
AppVeyor.
2017-03-16 15:58:54 +01:00
Antonio Scandurra
a8b885c4d5 Merge branch 'master' into as-ns-startup-snapshot 2017-03-16 10:52:34 +01:00
Ian Olsen
4ef9a0502f Merge pull request #11803 from lexicalunit/lexicalunit/replace-selected-text-tweak
Following replaceSelectedText(), update the selected text range accordingly.
2017-03-13 14:46:50 -07:00
Antonio Scandurra
0d29004723 Speed up FileSystemBlobStore.load by not storing invalidation keys
This was unneeded because we can simply compute the cache key by
concatenating the v8 version and the file's contents.
2017-03-13 19:11:53 +01:00
Antonio Scandurra
ea440148d8 Fix remaining tests 2017-03-12 11:57:16 +01:00
Antonio Scandurra
284f2c62e5 Start fixing tests 2017-03-11 19:05:28 +01:00
Antonio Scandurra
fbcbfc4889 Validate selectors only in devMode 2017-03-11 18:56:29 +01:00
Antonio Scandurra
8bd409ede3 Fix dev mode 2017-03-11 18:50:13 +01:00
Dirk Thomas
865294f3c8 pass through line count options 2017-03-10 10:37:50 -08:00
Max Brunsfeld
bb557d83a5 Merge pull request #13970 from atom/fb-mdt-refactor-open
Refactor open; separate creation and placement of items
2017-03-10 09:19:14 -08:00
Antonio Scandurra
05eb737a94 Set config schema entirely in the snapshot 2017-03-10 16:50:50 +01:00
Antonio Scandurra
f5a19a6904 Move StateStore into the snapshot 2017-03-10 16:50:50 +01:00
Antonio Scandurra
c4d0944c0d Snapshot more objects 2017-03-10 16:49:53 +01:00
Antonio Scandurra
c61df72548 Snapshot config, keymaps, tooltips, commands, grammars and styles 2017-03-10 16:48:00 +01:00
Antonio Scandurra
44e3573fcb Start moving AtomEnvironment instantiation bits inside the snapshot 2017-03-10 16:48:00 +01:00
Antonio Scandurra
4b98843fae Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 16:47:27 +01:00
Antonio Scandurra
69ea645b85 Fix lint errors 2017-03-10 16:31:20 +01:00
Antonio Scandurra
1e040c62d9 Add AtomEnvironment.prototype.resolveProxy(url)
This new private API will allow settings-view to communicate
asynchronously with the main process to resolve proxies, instead of
using `remote` and blocking the renderer process during startup.
2017-03-10 16:08:02 +01:00
Antonio Scandurra
e61919cd60 Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 15:04:26 +01:00
Antonio Scandurra
11961b09ac Merge pull request #13949 from atom/as-minimize-startup-sync-io
Minimize synchronous I/O during startup
2017-03-10 15:00:30 +01:00
Antonio Scandurra
79e6a6ff3c 🔥 HistoryImporter 2017-03-10 14:45:34 +01:00
Antonio Scandurra
337ad58434 🔥 HistoryManager.prototype.importProjectHistory 2017-03-10 14:37:49 +01:00
Antonio Scandurra
7e761d39af Fall back to local storage when no history can be found 2017-03-10 14:37:37 +01:00
Antonio Scandurra
3d40f55747 Fix lint errors 2017-03-10 10:00:09 +01:00
Antonio Scandurra
73e8642b96 Merge branch 'master' into as-ns-startup-snapshot 2017-03-10 09:04:30 +01:00
Matthew Dapena-Tretter
e85ed1dc7f Refactor open; separate creation and placement of items
This is a refactoring that sets up the work for #13878 (docks).

Because items will be able to dictate their preferred locations, we
need to detangle the item creation from their placement.
2017-03-09 23:29:51 -08:00
Matthew Dapena-Tretter
4b3e2ccca4 Remove the buildTextEditor binding
The comment was actually no longer accurate since arrow functions
aren't newable. After doing an audit, @maxbrunsfeld determined that it
could just be removed.
2017-03-09 15:14:06 -08:00
Amy Troschinetz
ac7bb27e22 Select the replaced text post replacement. 2017-03-08 20:24:31 -06:00
Max Brunsfeld
4a1f98cb6c Create autoUpdateManager in AtomApplication constructor 2017-03-08 15:50:08 -08:00
Nathan Sobo
206bcac1bc Merge pull request #13955 from atom/fb-mdt-workspace-element-to-js
Convert workspace element and spec to JavaScript
2017-03-07 19:49:32 -07:00
Matthew Dapena-Tretter
3017b28ef7 Convert workspace element to JS: Cleanup 2017-03-07 16:31:00 -08:00
Matthew Dapena-Tretter
ca4d55954b Convert workspace element to JS: Lint 2017-03-07 15:56:57 -08:00
Matthew Dapena-Tretter
ede4a2972a Convert workspace element to JS: Decaffeinate 2017-03-07 15:49:22 -08:00
Matthew Dapena-Tretter
d6a354d6ba Convert panel container to JS: Cleanup 2017-03-07 14:52:32 -08:00
Matthew Dapena-Tretter
f56865b6f8 Convert panel container to JS: Lint 2017-03-07 14:30:33 -08:00
Matthew Dapena-Tretter
228b24b68b Convert panel container to JS: Decaffeinate 2017-03-07 14:20:27 -08:00
Antonio Scandurra
cf9a5b13e3 Replace localStorage with StateStore in HistoryManager
Instead of using `localStorage` to store and retrieve the project
history, with this commit we will use `StateStore` so that we can
retrieve state asynchronously without blocking Atom during startup.
2017-03-07 11:02:40 +01:00
Antonio Scandurra
45d41ca69f Register enter/leave fullscreen events in the main process
This will still notify render processes when such events are triggered
without, however, incurring the additional cost of synchronously
retrieving a `BrowserWindow` (and its properties) via `remote` during
startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
727472af58 Disable zoom in the main process
This commit will register the `display-added` and `display-removed`
events only once in the main process in order to disable zoom (see
https://github.com/atom/atom/pull/11345) directly instead of
unnecessarily paying for I/O in the renderer process during startup.
2017-03-07 10:54:42 +01:00
Antonio Scandurra
051e27dbcb Expose load settings to BrowserWindows as JSON
When accessing objects in the main process via the `remote` module,
Electron returns proxy objects that are references to the original ones.
This means that trying to access a remote object's property or function
results in a synchronous message exchange with the main process.

In Atom core we frequently access the load settings coming from the main
process, especially during startup. This caused a lot of synchronous I/O
which was blocking the renderer process for several milliseconds.

With this commit, instead of exposing load settings as a JavaScript
object, we serialize them to JSON in the main process and parse them
back to a JavaScript object in the renderer processes. This allows us to
get a full copy of the object locally and pay for I/O just once when
retrieving load settings from the main process for the first time.
2017-03-07 10:54:42 +01:00
Damien Guard
59c20484aa Always restore Reopen Project menu, fixes #13758 2017-03-06 09:41:14 -08:00
Antonio Scandurra
ebe725de4d Assign globals to snapshotResult only if present 2017-03-06 13:36:41 +01:00
Damien Guard
ef0619048e Revert "Ensure recent project list populated when no project loaded, fixes #13758"
This reverts commit 52492c1386.
2017-03-05 17:49:01 -08:00
Damien Guard
52492c1386 Ensure recent project list populated when no project loaded, fixes #13758 2017-03-05 17:21:05 -08:00
Antonio Scandurra
ed9a101de2 Fix destroying a PanelContainer containing multiple panels
Previously, when calling `destroy` on a `PanelContainer` containing
multiple panels, Atom would throw a `Cannot read property 'destroy' of
undefined` exception. This was due to iterating over the panels while at
the same time destroying them, which caused the iterated array to be
modified during the loop.

With this commit we slice the array before iterating over it so that
destroying a `PanelContainer` doesn't throw exceptions anymore.
2017-03-04 15:39:38 +01:00
Antonio Scandurra
6cde324290 Fix core renderer tests 2017-03-04 14:33:57 +01:00
Max Brunsfeld
4f261731ae Merge pull request #13922 from atom/fb-mdt-workspace-to-js
Convert workspace to JavaScript
2017-03-03 13:03:36 -08:00
Max Brunsfeld
3c06381018 Fix usage of dynamic arguments variable in an arrow function 2017-03-03 12:00:45 -08:00
Wliu
5f2dc226b5 Merge pull request #13912 from atom/wl-remove-workaround
Remove macOS emoji workaround
2017-03-03 10:51:46 -05:00