├── script ├── lib │ ├── __init__.py │ └── config.py ├── coffeelint.json ├── chrome_version.h.in ├── pylint.py ├── test.py ├── coffeelint.py ├── compile-coffee.py ├── build.py └── update.py ├── spec ├── fixtures │ ├── asar │ │ ├── file │ │ ├── web.asar │ │ └── a.asar │ ├── module │ │ ├── id.js │ │ ├── property.js │ │ ├── print_name.js │ │ ├── ping.js │ │ ├── call.js │ │ ├── runas.js │ │ ├── create_socket.js │ │ └── fork_ping.js │ ├── workers │ │ ├── worker.js │ │ └── shared_worker.js │ ├── zip │ │ └── a.zip │ ├── pages │ │ ├── a.html │ │ ├── b.html │ │ ├── c.html │ │ └── d.html │ └── api │ │ ├── send-sync-message.html │ │ ├── unload.html │ │ ├── close.html │ │ ├── beforeunload-false.html │ │ ├── close-beforeunload-false.html │ │ ├── close-beforeunload-empty-string.html │ │ ├── close-beforeunload-string.html │ │ ├── close-beforeunload-true.html │ │ └── crash.html ├── api-clipboard-spec.coffee ├── package.json ├── api-screen-spec.coffee ├── api-app-spec.coffee ├── modules-spec.coffee └── api-crash-reporter-spec.coffee ├── chromium_src ├── chrome │ ├── common │ │ ├── pref_names.h │ │ ├── tts_utterance_request.cc │ │ ├── tts_utterance_request.h │ │ └── print_messages.cc │ └── browser │ │ ├── profiles │ │ ├── profile.h │ │ └── profile_io_data.h │ │ ├── ui │ │ └── simple_message_box.h │ │ ├── speech │ │ └── tts_platform.cc │ │ ├── browser_process.cc │ │ ├── printing │ │ ├── printing_ui_web_contents_observer.cc │ │ ├── print_view_manager_observer.h │ │ ├── printing_ui_web_contents_observer.h │ │ ├── print_job_worker_owner.h │ │ └── print_view_manager_basic.cc │ │ └── browser_process.h ├── grit │ └── generated_resources.h ├── LICENSE.chromium └── library_loaders │ └── libgio.h ├── atom ├── renderer │ ├── api │ │ ├── lib │ │ │ ├── web-frame.coffee │ │ │ └── ipc.coffee │ │ ├── atom_renderer_bindings.h │ │ └── atom_api_web_frame.h │ ├── lib │ │ ├── chrome-api.coffee │ │ └── override.coffee │ ├── resources │ │ └── mac │ │ │ └── Info.plist │ └── atom_render_view_observer.h ├── browser │ ├── api │ │ ├── lib │ │ │ ├── ipc.coffee │ │ │ ├── global-shortcut.coffee │ │ │ ├── atom-delegate.coffee │ │ │ ├── power-monitor.coffee │ │ │ ├── content-tracing.coffee │ │ │ ├── tray.coffee │ │ │ ├── protocol.coffee │ │ │ ├── auto-updater.coffee │ │ │ ├── app.coffee │ │ │ └── menu-item.coffee │ │ ├── atom_api_menu_views.h │ │ ├── atom_api_menu_mac.h │ │ ├── atom_api_menu_views.cc │ │ ├── atom_api_power_monitor.h │ │ ├── event_emitter.h │ │ ├── atom_api_tray.h │ │ ├── event.h │ │ └── atom_api_auto_updater.h │ ├── resources │ │ ├── mac │ │ │ ├── atom.icns │ │ │ └── Info.plist │ │ └── win │ │ │ ├── atom.ico │ │ │ └── resource.h │ ├── default_app │ │ └── package.json │ ├── mac │ │ ├── atom_application_delegate.h │ │ ├── atom_application.h │ │ ├── atom_application.mm │ │ └── atom_application_delegate.mm │ ├── auto_updater_linux.cc │ ├── auto_updater_win.cc │ ├── ui │ │ ├── accelerator_util_views.cc │ │ ├── tray_icon_win.cc │ │ ├── tray_icon_observer.h │ │ ├── x │ │ │ ├── x_window_utils.h │ │ │ └── x_window_utils.cc │ │ ├── tray_icon.cc │ │ ├── tray_icon_win.h │ │ ├── views │ │ │ ├── menu_layout.h │ │ │ ├── win_frame_view.h │ │ │ ├── menu_layout.cc │ │ │ └── submenu_button.h │ │ ├── cocoa │ │ │ └── event_processing_window.h │ │ ├── tray_icon_gtk.h │ │ ├── accelerator_util.h │ │ ├── message_box.h │ │ ├── accelerator_util_mac.mm │ │ ├── tray_icon_cocoa.h │ │ └── tray_icon_gtk.cc │ ├── auto_updater.cc │ ├── javascript_environment.cc │ ├── auto_updater.h │ ├── browser_linux.cc │ ├── atom_access_token_store.h │ ├── window_list_observer.h │ ├── javascript_environment.h │ ├── net │ │ ├── url_request_string_job.cc │ │ ├── url_request_string_job.h │ │ └── asar │ │ │ └── asar_protocol_handler.h │ ├── atom_javascript_dialog_manager.cc │ ├── native_window_observer.h │ ├── auto_updater_delegate.h │ ├── web_view │ │ ├── web_view_renderer_state.cc │ │ ├── web_view_manager.h │ │ └── web_view_renderer_state.h │ ├── atom_javascript_dialog_manager.h │ ├── browser_observer.h │ ├── atom_browser_context.h │ └── atom_access_token_store.cc ├── common │ ├── api │ │ ├── lib │ │ │ ├── id-weak-map.coffee │ │ │ ├── shell.coffee │ │ │ ├── screen.coffee │ │ │ ├── clipboard.coffee │ │ │ ├── callbacks-registry.coffee │ │ │ └── crash-reporter.coffee │ │ ├── object_life_monitor.h │ │ ├── atom_api_screen.cc │ │ ├── atom_api_shell.cc │ │ ├── atom_bindings.h │ │ ├── object_life_monitor.cc │ │ ├── atom_api_id_weak_map.h │ │ ├── api_messages.h │ │ └── atom_api_crash_reporter.cc │ ├── draggable_region.cc │ ├── common_message_generator.h │ ├── google_api_key.h │ ├── linux │ │ └── application_info.cc │ ├── chrome_version.h │ ├── draggable_region.h │ ├── crash_reporter │ │ ├── win │ │ │ └── crash_service_main.h │ │ ├── crash_reporter_mac.h │ │ ├── crash_reporter.cc │ │ ├── crash_reporter.h │ │ └── linux │ │ │ └── crash_dump_handler.h │ ├── resources │ │ └── mac │ │ │ └── Info.plist │ ├── native_mate_converters │ │ ├── accelerator_converter.cc │ │ ├── accelerator_converter.h │ │ ├── image_converter.h │ │ ├── value_converter.h │ │ ├── gurl_converter.h │ │ ├── string16_converter.h │ │ ├── file_path_converter.h │ │ └── value_converter.cc │ ├── node_bindings_win.h │ ├── node_bindings_mac.h │ ├── node_bindings_linux.h │ ├── node_includes.h │ ├── platform_util.h │ ├── common_message_generator.cc │ ├── asar │ │ ├── scoped_temporary_file.h │ │ └── scoped_temporary_file.cc │ ├── atom_version.h │ ├── lib │ │ └── init.coffee │ ├── node_bindings_linux.cc │ └── options_switches.h └── app │ ├── atom_main.h │ ├── atom_library_main.h │ ├── atom_library_main.cc │ ├── atom_content_client.cc │ ├── atom_content_client.h │ ├── atom_main_delegate_mac.mm │ └── atom_main_delegate.h ├── tools ├── posix │ ├── strip.sh │ └── make_locale_paks.sh ├── atom_source_root.py ├── mac │ ├── create-framework-subdir-symlinks.sh │ ├── make_locale_dirs.sh │ └── apply_locales.py ├── copy_binary.py └── win │ └── register_msdia80_dll.js ├── .gitignore ├── .travis.yml ├── docs ├── api │ ├── process.md │ ├── power-monitor.md │ ├── screen.md │ ├── menu-item.md │ ├── file-object.md │ ├── shell.md │ ├── web-frame.md │ ├── ipc-renderer.md │ ├── accelerator.md │ ├── clipboard.md │ ├── ipc-browser.md │ ├── global-shortcut.md │ ├── image.md │ ├── synopsis.md │ └── crash-reporter.md ├── development │ ├── coding-style.md │ └── build-instructions-mac.md └── tutorial │ ├── debugging-browser-process.md │ └── application-distribution.md ├── package.json ├── .gitmodules ├── appveyor.yml ├── README.md └── LICENSE /script/lib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/fixtures/asar/file: -------------------------------------------------------------------------------- 1 | file 2 | -------------------------------------------------------------------------------- /chromium_src/chrome/common/pref_names.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chromium_src/grit/generated_resources.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chromium_src/chrome/browser/profiles/profile.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/fixtures/module/id.js: -------------------------------------------------------------------------------- 1 | exports.id = 1127 2 | -------------------------------------------------------------------------------- /chromium_src/chrome/browser/ui/simple_message_box.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chromium_src/chrome/browser/profiles/profile_io_data.h: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/fixtures/module/property.js: -------------------------------------------------------------------------------- 1 | exports.property = 1127 2 | -------------------------------------------------------------------------------- /atom/renderer/api/lib/web-frame.coffee: -------------------------------------------------------------------------------- 1 | module.exports = process.atomBinding('web_frame').webFrame 2 | -------------------------------------------------------------------------------- /spec/fixtures/workers/worker.js: -------------------------------------------------------------------------------- 1 | this.onmessage = function(msg) { 2 | this.postMessage(msg.data); 3 | } 4 | -------------------------------------------------------------------------------- /spec/fixtures/zip/a.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stefanbuck/atom-shell/master/spec/fixtures/zip/a.zip -------------------------------------------------------------------------------- /tools/posix/strip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ignore errors from strip. 4 | strip "$@" 5 | 6 | exit 0 7 | -------------------------------------------------------------------------------- /spec/fixtures/module/print_name.js: -------------------------------------------------------------------------------- 1 | exports.print = function(obj) { 2 | return obj.constructor.name; 3 | } 4 | -------------------------------------------------------------------------------- /atom/browser/api/lib/ipc.coffee: -------------------------------------------------------------------------------- 1 | EventEmitter = require('events').EventEmitter 2 | 3 | module.exports = new EventEmitter 4 | -------------------------------------------------------------------------------- /script/coffeelint.json: -------------------------------------------------------------------------------- 1 | { 2 | "max_line_length": { 3 | "value": 80, 4 | "level": "ignore" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /spec/fixtures/module/ping.js: -------------------------------------------------------------------------------- 1 | process.on('message', function(msg) { 2 | process.send(msg); 3 | process.exit(0); 4 | }); 5 | -------------------------------------------------------------------------------- /atom/browser/resources/mac/atom.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stefanbuck/atom-shell/master/atom/browser/resources/mac/atom.icns -------------------------------------------------------------------------------- /atom/browser/resources/win/atom.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stefanbuck/atom-shell/master/atom/browser/resources/win/atom.ico -------------------------------------------------------------------------------- /atom/common/api/lib/id-weak-map.coffee: -------------------------------------------------------------------------------- 1 | IDWeakMap = process.atomBinding('id_weak_map').IDWeakMap 2 | 3 | module.exports = IDWeakMap 4 | -------------------------------------------------------------------------------- /spec/fixtures/pages/a.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /spec/fixtures/module/call.js: -------------------------------------------------------------------------------- 1 | exports.call = function(func) { 2 | return func(); 3 | } 4 | 5 | exports.constructor = function() { 6 | this.test = 'test'; 7 | } 8 | -------------------------------------------------------------------------------- /spec/fixtures/pages/b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /spec/fixtures/module/runas.js: -------------------------------------------------------------------------------- 1 | process.on('uncaughtException', function(err) { 2 | process.send(err.message); 3 | }); 4 | 5 | require('runas'); 6 | process.send('ok'); 7 | -------------------------------------------------------------------------------- /spec/fixtures/module/create_socket.js: -------------------------------------------------------------------------------- 1 | var net = require('net'); 2 | var server = net.createServer(function() {}); 3 | server.listen(process.argv[2]); 4 | process.exit(0); 5 | -------------------------------------------------------------------------------- /atom/browser/api/lib/global-shortcut.coffee: -------------------------------------------------------------------------------- 1 | bindings = process.atomBinding 'global_shortcut' 2 | 3 | globalShortcut = bindings.globalShortcut 4 | 5 | module.exports = globalShortcut 6 | -------------------------------------------------------------------------------- /atom/browser/default_app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "atom-shell-default-app", 3 | "productName": "Atom Shell Default App", 4 | "version": "0.1.0", 5 | "main": "main.js" 6 | } 7 | -------------------------------------------------------------------------------- /atom/browser/api/lib/atom-delegate.coffee: -------------------------------------------------------------------------------- 1 | module.exports = 2 | browserMainParts: 3 | preMainMessageLoopRun: -> 4 | 5 | setImmediate -> 6 | module.exports.browserMainParts.preMainMessageLoopRun() 7 | -------------------------------------------------------------------------------- /spec/fixtures/pages/c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /spec/fixtures/pages/d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /spec/fixtures/workers/shared_worker.js: -------------------------------------------------------------------------------- 1 | onconnect = function(event) { 2 | var port = event.ports[0]; 3 | port.start(); 4 | port.onmessage = function(event) { 5 | port.postMessage(event.data); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /build/ 3 | /dist/ 4 | /external_binaries/ 5 | /out/ 6 | /vendor/brightray/vendor/download/ 7 | /vendor/python_26/ 8 | /vendor/npm/ 9 | node_modules/ 10 | *.xcodeproj 11 | *.swp 12 | *.pyc 13 | -------------------------------------------------------------------------------- /tools/atom_source_root.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import os 4 | 5 | """Prints the absolute path of the root of atom-shell's source tree. 6 | """ 7 | 8 | 9 | print os.path.abspath(os.path.dirname(os.path.dirname(__file__))) 10 | -------------------------------------------------------------------------------- /tools/mac/create-framework-subdir-symlinks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | cd "${BUILT_PRODUCTS_DIR}/${1}.framework" 6 | shift 7 | 8 | while [ ! -z "${1}" ]; do 9 | ln -sf Versions/Current/"${1}" "${1}" 10 | shift 11 | done 12 | -------------------------------------------------------------------------------- /spec/fixtures/api/send-sync-message.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | compiler: clang 3 | os: 4 | - linux 5 | - osx 6 | 7 | notifications: 8 | email: 9 | on_success: never 10 | on_failure: change 11 | 12 | script: './script/cibuild' 13 | 14 | git: 15 | depth: 10 16 | -------------------------------------------------------------------------------- /atom/browser/api/lib/power-monitor.coffee: -------------------------------------------------------------------------------- 1 | powerMonitor = process.atomBinding('power_monitor').powerMonitor 2 | EventEmitter = require('events').EventEmitter 3 | 4 | powerMonitor.__proto__ = EventEmitter.prototype 5 | 6 | module.exports = powerMonitor 7 | -------------------------------------------------------------------------------- /atom/common/api/lib/shell.coffee: -------------------------------------------------------------------------------- 1 | module.exports = process.atomBinding 'shell' 2 | 3 | if process.platform is 'win32' and process.type is 'renderer' 4 | module.exports.showItemInFolder = require('remote').process.atomBinding('shell').showItemInFolder 5 | -------------------------------------------------------------------------------- /spec/fixtures/asar/web.asar: -------------------------------------------------------------------------------- 1 | <