Compare commits

...

3293 Commits

Author SHA1 Message Date
John Kleinschmidt
5383b4809f v1.8.2-beta.2 2017-11-06 16:11:34 -05:00
Charles Kerr
083b6e2bbe Merge pull request #11022 from ChangJoo-Park/patch-2
Fix typo inspector to inspect
2017-11-06 10:32:07 -06:00
ChangJoo Park(박창주)
859bb81b29 Fix typo inspector to inspect 2017-11-06 09:23:18 +09:00
Samuel Attard
ca480948aa Merge pull request #11005 from electron/revert-electron-download-version
revert electron-download dependency to ^3.0.1
2017-11-06 12:55:34 +13:00
Vanessa Yuen
f01e5bee92 Merge pull request #11001 from electron/ci-release-build-api
Decouple building electron for release from the actual release cutting process
2017-11-05 10:22:04 +08:00
Shelley Vohr
d1cdcc5760 Merge pull request #11007 from electron/silly-typo-change
fix: One-character typo change
2017-11-04 20:36:55 -04:00
Samuel Attard
fa795ff4cd Merge pull request #11013 from electron/temporary-remove-a-deprecation-warning-from-crashreporter-setextraparameter
Disable deprecation warning of `crashReported.setExtraParameter()`
2017-11-05 03:41:37 +13:00
Aleksei Kuzmin
bd766067ac Remove unused deprecate var to make linter happy 2017-11-04 07:52:47 +03:00
Aleksei Kuzmin
b3a1fc65e5 Disable deprecation warning of crashReported.setExtraParameter()
It caused a couple of Crash Reported tests to timeout on Mac.
Task to enable it back:
https://github.com/electron/electron/issues/11012
2017-11-04 07:48:39 +03:00
Vanessa Yuen
2063af8ac6 a few changes as per code review comments 2017-11-04 10:53:42 +08:00
Charles Kerr
0aaf961f17 empty commit for CI 2017-11-03 16:33:06 -05:00
Felix Rieseberg
067662b304 📝 Oh look, another typo 2017-11-03 13:02:12 -07:00
Felix Rieseberg
43bb74cb13 📝 One-character typo change 2017-11-03 10:54:17 -07:00
Charles Kerr
6f3fdb6ae6 revert electron-download dependency to ^3.0.1
undo last week's dependency bump as per discussion at https://github.com/electron/electron/pull/10922

dependency was bumped @ 0c9e106502
2017-11-03 09:45:09 -05:00
Shelley Vohr
8736a41cfb Merge pull request #10909 from electron/update_remote
Simplify and remove excess code from remote module
2017-11-03 09:16:28 -04:00
Shelley Vohr
803fa35484 fix null value check 2017-11-03 08:47:21 -04:00
Vanessa Yuen
85a811db55 make target branch name mandatory and specific ci job optional
add it as an npm script `npm run mock-release -- TARGET_BRANCH`
2017-11-03 14:56:16 +08:00
Vanessa Yuen
63632f1137 fix circle config 2017-11-03 14:36:25 +08:00
Cheng Zhao
42d6fe209c Merge pull request #10936 from robinwassen/tray-docs-update
Removed incorrect optional labels from tray.displayBalloon(options) docs
2017-11-03 15:08:43 +09:00
Vanessa Yuen
3bd38bd1fd add API flags to all other circle jobs 2017-11-03 12:45:30 +08:00
Shelley Vohr
2b2c7d7f9f fix object serialization test issue 2017-11-02 21:29:17 -04:00
Shelley Vohr
41fa61b446 Merge pull request #10995 from electron/initialize-retroactive-event-emitters
singletons that are retroactively turned into EventEmitters should ca…
2017-11-02 21:22:27 -04:00
Shelley Vohr
5c318932c2 add some structural changes 2017-11-02 21:07:40 -04:00
Vanessa Yuen
7cb408838f skip headers and pdbs for fake release builds 2017-11-03 08:12:54 +08:00
Shelley Vohr
c3930f235a Merge pull request #10992 from electron/address_crash_done
remove function invocation from crash test
2017-11-02 19:51:28 -04:00
Shelley Vohr
18a69b8c48 kick ci 2017-11-02 18:36:33 -04:00
Charles Kerr
4ceeddc09f Merge pull request #10972 from electron/dpi-issues
Workaround for Windows DPI issues
2017-11-02 10:16:11 -05:00
Shelley Vohr
498742d6b3 remove function invocation from crash test 2017-11-02 07:07:19 -04:00
Vanessa Yuen
4cc8008cfc derp.. why did I make a separate parse_args() 2017-11-02 16:42:09 +08:00
Vanessa Yuen
bf5b9e70bb fix linting errors 2017-11-02 16:20:41 +08:00
Vanessa Yuen
b23fa34470 modify upload script to allow uploading release assets to s3 2017-11-02 16:06:28 +08:00
Vanessa Yuen
f937f971c1 make script to hit circle ci api point to build for release 2017-11-02 15:26:37 +08:00
Shelley Vohr
9727717839 Merge pull request #10974 from electron/add_crashreport_tests
Update Crash Report Tests
2017-11-02 01:45:39 -04:00
Shelley Vohr
a7f059d951 switch from set to add in paramater test 2017-11-02 01:02:16 -04:00
Shelley Vohr
1d6803b234 remove deprecated tests 2017-11-02 00:16:51 -04:00
Charles Kerr
1c09dede1a singletons that are retroactively turned into EventEmitters should call the EventEmitter ctor 2017-11-01 23:05:27 -05:00
Shelley Vohr
65f125a245 wrap deprecation warning 2017-11-01 23:27:20 -04:00
Shelley Vohr
14df9a58c7 remove setExtraParam from docs 2017-11-01 22:30:48 -04:00
Shelley Vohr
dc9c2673d7 docs typo fix 2017-11-01 22:25:10 -04:00
Shelley Vohr
24acd74d15 update deprecation warning 2017-11-01 22:23:33 -04:00
Shelley Vohr
577012370e Merge pull request #10977 from electron/refactor-native-image-tests
Light refactoring of the nativeImage module tests
2017-11-01 22:00:01 -04:00
Shelley Vohr
3af83f1c97 add new method and mark setExtraParameter for deprecation 2017-11-01 21:57:43 -04:00
Shelley Vohr
33092e6324 update docs to reflect parameter method change 2017-11-01 21:21:41 -04:00
Shelley Vohr
a106956cfe retriggerci 2017-11-01 20:20:26 -04:00
Aleksei Kuzmin
2f7718265a Light refactoring of the nativeImage module tests 2017-11-02 03:18:32 +03:00
Shelley Vohr
f3125358c0 Merge pull request #10989 from electron/temporary-disable-visibility-state-tests
Temporary disable "document.visibilityState/hidden" tests
2017-11-01 20:13:54 -04:00
Aleksei Kuzmin
0df058dc1e Temporary disable "document.visibilityState/hidden" tests
Task to enable them:
https://github.com/electron/electron/issues/10988
2017-11-02 00:06:38 +03:00
Shelley Vohr
7b9ad5001b Merge pull request #10987 from electron/upgrade_last_few_specs
convert shell and browser spec to ES6
2017-11-01 14:30:54 -04:00
Felix Rieseberg
e8f8100e19 🔧 Add fixme 2017-11-01 11:30:32 -07:00
Shelley Vohr
6961162636 another try at fixing travis test 2017-11-01 14:26:39 -04:00
Shelley Vohr
28c009fcc0 linting is important 2017-11-01 10:56:53 -04:00
Shelley Vohr
d2e1705c80 convert app and browser spec to ES6 2017-11-01 10:48:09 -04:00
Shelley Vohr
0adf775d9a clean fixture and fix failing travis test 2017-11-01 08:57:22 -04:00
Shelley Vohr
7f89cd0774 remove const from non-member function 2017-10-31 23:55:22 -04:00
Shelley Vohr
93df164485 add const and other small edits 2017-10-31 23:42:25 -04:00
Shelley Vohr
7b08a93549 remove pesky 'only' 2017-10-31 18:31:44 -04:00
Shelley Vohr
a538e47994 complete GetParameters method & all tests passing 2017-10-31 18:19:04 -04:00
Shelley Vohr
3136f833a5 fixes and updates to GetParameters 2017-10-31 13:51:44 -04:00
Felix Rieseberg
58708d6242 🔧 Lowercase 2017-10-31 10:31:05 -07:00
Shelley Vohr
a9c13359dc first attempt to add new GetParameters method to CrashReporter 2017-10-31 13:06:54 -04:00
Felix Rieseberg
08b8f2df55 📝 Typo! 2017-10-31 08:38:33 -07:00
Shelley Vohr
cd19d7c705 add crashReporter parameter tests 2017-10-31 10:38:48 -04:00
Vanessa Yuen
b2a735ef4f test build script super rough draft 2017-10-31 17:21:13 +08:00
Shelley Vohr
cb78e4875b fix two failing tests 2017-10-30 23:15:57 -04:00
Shelley Vohr
06075c4499 extrapolate removeExtraParameter into new method 2017-10-30 23:12:04 -04:00
Shelley Vohr
603060f051 add new tests 2017-10-30 22:51:22 -04:00
Felix Rieseberg
91414dde62 🔧 I can't believe this helps 2017-10-30 11:22:07 -07:00
Samuel Attard
c9926bed9f Merge pull request #10954 from electron/less-process-metrics-warnings
fix: Don't call idleWakeupsPerSecond on Windows
2017-10-28 12:36:45 +13:00
Samuel Attard
5c6d418b59 Merge pull request #10943 from electron/ensure-contents-clicked
Ensure the click event is only dispatched on ContentsClicked activation type
2017-10-28 12:35:07 +13:00
Samuel Attard
dc8b583363 Merge pull request #10944 from electron/fix-notification-ref-crash
Close the previous notification on multiple calls to show
2017-10-28 12:33:30 +13:00
Felix Rieseberg
da21d6cdda 🔧 Don't call idleWakeupsPerSecond on Windows 2017-10-27 14:23:06 -07:00
Shelley Vohr
e4214a6cbe [WIP] Upgrade more specs (#10945)
Finish upgrading specs to ES6
2017-10-27 16:45:58 -04:00
John Kleinschmidt
04cce89fdc Merge pull request #10953 from electron/get-browser-view
Document and test `getBrowserView`
2017-10-27 16:05:51 -04:00
John Kleinschmidt
60f539789d Merge pull request #10922 from Siilwyn/patch-1
Update electron-download to version 4.1.0
2017-10-27 15:56:06 -04:00
Felix Rieseberg
2e487adf8a 📝 Add a line to the docs 2017-10-27 12:17:30 -07:00
Felix Rieseberg
7bad679a69 📝 Correct types 2017-10-27 12:14:09 -07:00
Felix Rieseberg
29a85bc928 📝 Document it 2017-10-27 11:44:48 -07:00
Felix Rieseberg
541b369175 👷 Add a spec 2017-10-27 11:44:41 -07:00
John Kleinschmidt
b429dafa38 Merge pull request #10889 from electron/avoid-eventemitter-crashes
Avoid EventEmitter crashes
2017-10-27 11:39:49 -04:00
Shelley Vohr
9292c7ec53 Merge pull request #10938 from electron/update_protocol_test
Upgrade protocol spec
2017-10-27 09:48:33 -04:00
Matt Crocker
42da83f8ca Update native-mate to pick up related changes 2017-10-27 00:11:16 -07:00
Matt Crocker
b6fb016a9a Cleanup per review comment 2017-10-27 00:07:54 -07:00
Matt Crocker
77a26882a3 Make linter happy 2017-10-27 00:04:19 -07:00
Matt Crocker
c5914516c8 Upstream good ideas from Muon 2017-10-27 00:04:19 -07:00
Matt Crocker
ca8f45a501 Notifications should emit close on close, not eventual GC 2017-10-27 00:04:19 -07:00
Samuel Attard
8719e9f098 Definitely didn't forget to push the header file 2017-10-27 16:27:37 +13:00
Samuel Attard
fe9069c028 Close the previous notification on multiple calls to show 2017-10-27 16:22:21 +13:00
Samuel Attard
85ef4c6d91 Ensure the click event is only dispatched on ContentsClicked activation type 2017-10-27 16:08:15 +13:00
Shelley Vohr
e2d5aaf0f3 Merge pull request #10942 from electron/upgrade_specs
[WIP] Upgrade specs
2017-10-26 22:12:19 -04:00
Shelley Vohr
eed54a18c4 fix comment typo 2017-10-26 22:09:38 -04:00
Shelley Vohr
7a3efd1543 stop leaving onlys there 2017-10-26 21:41:29 -04:00
Shelley Vohr
abecde0572 fix shortcut spec error 2017-10-26 21:41:06 -04:00
Shelley Vohr
ada9dfdc5e Merge pull request #10941 from electron/update_browser_view_spec
migrate api-browser-view-spec to ES6
2017-10-26 21:17:35 -04:00
Shelley Vohr
0317189213 update touch bar spec 2017-10-26 21:08:47 -04:00
Shelley Vohr
1130ccf69b upgrade system pref spec 2017-10-26 20:58:48 -04:00
Shelley Vohr
d8f2183b3d upgrade screen spec 2017-10-26 20:55:07 -04:00
Shelley Vohr
e64e9995b6 small tweak to process spec 2017-10-26 20:53:47 -04:00
Shelley Vohr
13fc080213 small tweaks to global shortcut spec 2017-10-26 20:49:21 -04:00
Shelley Vohr
6feff1d6e8 update desktop capturer spec 2017-10-26 20:44:06 -04:00
Shelley Vohr
6cd308f9ad update deprecations spec 2017-10-26 20:37:35 -04:00
Shelley Vohr
83a290a411 update debugger spec 2017-10-26 20:32:04 -04:00
Shelley Vohr
d4350079c9 update crash reporter spec 2017-10-26 20:21:36 -04:00
Shelley Vohr
56979804ec update clipboard spec 2017-10-26 20:12:51 -04:00
Shelley Vohr
68314dbc05 remove stray only 2017-10-26 20:11:12 -04:00
Shelley Vohr
b53e41af42 migrate api-browser-view-spec to ES6 2017-10-26 20:05:15 -04:00
Shelley Vohr
17f4e53d6b match earlier tests to ES6 later ones 2017-10-26 16:30:07 -04:00
Robin Andersson
08845c9903 Removed incorrect optional labels from tray.displayBalloon(options) docs 2017-10-26 20:21:09 +02:00
John Kleinschmidt
beb06c0787 Merge pull request #10537 from qazbnm456/improve-content_scripts.css
[Security] Use textContent instead innerHTML to remediate DOM based XSS
2017-10-26 11:51:43 -04:00
Charles Kerr
c72e0c1508 Merge pull request #10902 from mattlyons0/master
🐧 Don't wait for xdg-open to exit
2017-10-26 09:43:34 -05:00
John Kleinschmidt
166fb476a3 Merge pull request #10899 from electron/turn-off-escape-analysis
fix: Apply escape analysis patch
2017-10-26 09:46:31 -04:00
Selwyn
0c9e106502 Update electron-download to version 4.1.0
Respects the OS cache location and be able to set he cache location by setting the environment variable `ELECTRON_CACHE`.
2017-10-26 14:17:34 +02:00
Cheng Zhao
3230048f81 Merge pull request #10918 from pfrazee/fix-protocol-crash-error
Fix crash in custom protocols caused by bad callback exec
2017-10-26 18:35:31 +09:00
Shelley Vohr
52cbec2438 Merge pull request #10911 from electron/fix_window_log_folder
🔧 Fix windows app log path
2017-10-26 01:01:42 -04:00
Shelley Vohr
bb04b22ec8 Merge pull request #10888 from electron/menu_refactor
refactor menu.js to bring it up to readability and es6 standards
2017-10-26 00:31:47 -04:00
Shelley Vohr
fc920ffd06 base::UTF8ToWide --> base::FromUTF8Unsafe 2017-10-26 00:27:27 -04:00
Shelley Vohr
c9dca6b8ad remove unnecessary boolean 2017-10-26 00:21:52 -04:00
Shelley Vohr
246c808222 move away from wstring 2017-10-26 00:18:55 -04:00
Shelley Vohr
a431aa8c4a Merge pull request #10762 from nuriu/patch-1
[docs] [tr-TR] Update README.md
2017-10-26 00:04:32 -04:00
Shelley Vohr
46b775bf46 Merge pull request #10890 from demopark/patch-4
Add a little translation for zh-CN
2017-10-26 00:03:11 -04:00
Shelley Vohr
5f6f117bad changes from review 2017-10-25 23:41:11 -04:00
Paul Frazee
c2d9e082cb Fix crash in custom protocols caused by bad callback exec 2017-10-25 21:01:53 -05:00
Cheng Zhao
4db34ff092 Merge pull request #10711 from yuya-oc/did-attach-webview
Add did-attach-webview event
2017-10-26 10:55:50 +09:00
Shelley Vohr
d4880b135a revert ipc lookup table 2017-10-25 15:36:16 -04:00
Shelley Vohr
bccaf56200 remove common sense comments 2017-10-25 12:23:41 -04:00
Shelley Vohr
06811cc557 appropriately cast pointers to strings 2017-10-25 12:02:50 -04:00
Shelley Vohr
3c1c5a4099 combine homepath and homedrive into single line 2017-10-25 11:46:51 -04:00
Shelley Vohr
1e8bdc15e2 use _wgetenv to get windows env variables 2017-10-25 10:40:38 -04:00
Shelley Vohr
ffd43c1886 remove quotes and const replaces 2017-10-25 10:17:41 -04:00
Shelley Vohr
c0f2a7b44a fix standard issues 2017-10-25 09:56:02 -04:00
Shelley Vohr
f129622446 clean up remote 2017-10-25 09:51:21 -04:00
Shelley Vohr
042f84140d Merge pull request #10896 from electron/update_desktop_capturer
Update desktop capturer to ES6
2017-10-25 08:56:30 -04:00
Shelley Vohr
135454342d remove .only from spec 2017-10-24 22:41:28 -04:00
Shelley Vohr
f7bc5481f3 add a few more tests to api_menu_spec 2017-10-24 22:40:31 -04:00
Matt Lyons
424f9aeae6 🐧 Don't wait for xdg-open to exit
Waiting for xdg-open to return freezes Electron application.
Some file managers (ex: Nemo) don't return until some time after they are closed, this freezes the Electron application until the process returns.
The same is true about any application that can potentially be opened with OpenItem
2017-10-24 19:39:54 -07:00
Shelley Vohr
d54148de4e remove from spec 2017-10-24 20:31:02 -04:00
Shelley Vohr
0e6100ae17 upgrade menu spec to ES6 2017-10-24 20:27:26 -04:00
Felix Rieseberg
8d1ff1c59a Merge pull request #10900 from electron/issue-10877
fix: Ensure that -r isn’t considered interactive
2017-10-24 17:21:08 -07:00
Felix Rieseberg
c38f66cc1b 🔧 Ensure that -r isn’t considered interactive 2017-10-24 17:00:42 -07:00
Shelley Vohr
7593bec687 update reviewed items 2017-10-24 19:36:06 -04:00
Shelley Vohr
e8935232b1 clean falsy statements 2017-10-24 18:52:12 -04:00
John Kleinschmidt
7e1adfcab7 Apply escape analysis patch 2017-10-24 16:28:05 -04:00
Shelley Vohr
98df153750 convert to map and remove shift param 2017-10-24 15:47:09 -04:00
Shelley Vohr
491a00fd84 clean main process desktop_capturer 2017-10-24 12:49:37 -04:00
Vanessa Yuen
aaa8aec946 trying out parameterized builds in circle 2017-10-24 12:42:45 -04:00
Shelley Vohr
b58ceae69c appease linter gods 2017-10-24 12:28:15 -04:00
Shelley Vohr
43e118fe45 update desktop capturer and remove unnessary vars 2017-10-24 12:01:51 -04:00
John Kleinschmidt
36a51bbf4d Merge pull request #10893 from maxibanki/patch-1
Fixed typo
2017-10-24 10:52:14 -04:00
Max Schmitt
c1cad655c8 Fixed typo
`thrid-party` => `third-party`
2017-10-24 11:46:14 +02:00
Jonas Zhang
e7649a800a Add a little translation for zh-CN
Add a little translation for zh-CN
2017-10-24 14:02:07 +08:00
Shelley Vohr
75f32afcd5 clean up excess code from generateGroupId 2017-10-24 00:24:57 -04:00
Shelley Vohr
f93121b226 don't reassign parameters in Menu.prototype.popup 2017-10-24 00:07:39 -04:00
Shelley Vohr
b1e707d535 abstract out switch case from Menu.prototype.insert 2017-10-23 23:46:39 -04:00
Shelley Vohr
7c0f7329d9 appease the linter overlords 2017-10-23 22:35:42 -04:00
Shelley Vohr
508b614769 remove excess code in delegate 2017-10-23 22:33:23 -04:00
Shelley Vohr
9b364d5be3 refactor menuWillShow 2017-10-23 22:22:39 -04:00
Shelley Vohr
9038987e1d significant cleanup; all tests still passing 2017-10-23 20:04:22 -04:00
Zeke Sikelianos
1672fd22e1 Merge pull request #10874 from Toinane/master
Update OSR with more details
2017-10-23 15:54:31 -07:00
Shelley Vohr
3fc5d51a96 clean up delegate 2017-10-23 18:35:16 -04:00
Shelley Vohr
577c0042b0 update to ES6 2017-10-23 14:47:47 -04:00
Toinane
db5a429948 fixe grammar 2017-10-23 18:36:52 +02:00
Shelley Vohr
87802b2c17 initial port of things into a Menu class 2017-10-23 12:11:59 -04:00
John Kleinschmidt
66846bff97 Automate release (#10827)
* Create prepare-release script

* Add script to merge release

* Cleanup/add logging

* Move release process out of upload.py

* Add cleanup release branch

* Update release doc to reflect new scripts

* Fix to allow running with notesOnly

Also fixup release name and body when beta release.

* Fix issues found during release

* Use getRelease instead of getAssets

github.repos.getAssets is limited to 30 entries which means we may not get back the file we are looking for.

* Documentation corrections
2017-10-23 11:02:50 -04:00
John Kleinschmidt
67f0eb7b3b Merge pull request #10873 from ahmedmohamedali/fix_issue_10697
Fixes #10697
2017-10-23 09:32:28 -04:00
Shelley Vohr
61a93c711c clean up popup 2017-10-23 00:47:02 -04:00
Shelley Vohr
f9c3123f5f clean up menuWillShow 2017-10-23 00:16:35 -04:00
Shelley Vohr
1cd53768ab clean up indexToInsertByPosition 2017-10-22 23:57:23 -04:00
Shelley Vohr
b7ebee985b refactor indexOfItemById 2017-10-22 23:51:33 -04:00
Toinane
42f51850cc Update OSR with more details 2017-10-22 00:15:30 +02:00
Ahmed Mohamed Ali
463260b249 Electron crashes if user clicks Dev Tools & Zoom options #10697 2017-10-21 22:21:24 +02:00
Zeke Sikelianos
306b627090 Merge pull request #10839 from qazbnm456/update_docs
[docs] update app.md
2017-10-18 20:35:11 -07:00
John Kleinschmidt
90e7d7e112 v1.8.2-beta.1 2017-10-18 16:49:32 -04:00
Boik
7be79613b8 according to https://github.com/electron/electron/pull/10670, update app.md 2017-10-19 00:56:05 +08:00
John Kleinschmidt
cf12d31875 Merge pull request #10834 from Vehemos/master
Updated online-offline-events.md
2017-10-18 10:06:27 -04:00
Sarthak Tripathi
32f92f7a90 Updated online-offline-events.md
Improved readability and simplicity.
2017-10-18 19:26:19 +05:30
Sarthak Tripathi
392f4b44f0 Updated online-offline-events.md
Added links, removed grammatical error.
2017-10-18 19:11:05 +05:30
John Kleinschmidt
a65ab1d5a7 Merge pull request #10829 from zombieleet/master
update docs to show usage of ipcRenderer.sendTo
2017-10-18 09:33:57 -04:00
John Kleinschmidt
57537ea10e Merge pull request #10810 from qazbnm456/add_error_code_to_session_set_certificate_verify_proc
Add error code to session.setCertificateVerifyProc
2017-10-18 09:33:37 -04:00
John Kleinschmidt
51cbd977f0 Merge pull request #10534 from robbix1206/npx_in_quickstart
[Docs] Add npx command for node version 8.2.0 and later in quickstart guide
2017-10-18 09:32:30 -04:00
Sarthak Tripathi
392e88db34 Updated online-offline-events.md
Added more info, to clarify things.
2017-10-18 16:28:18 +05:30
73mp74710n
0a0897ef28 Update ipc-renderer.md 2017-10-18 02:52:02 +01:00
73mp74710n
5b193bad4b Merge pull request #1 from zombieleet/zombieleet-patch-1
update docs to show usage of ipcRenderer.sendTo
2017-10-18 02:35:51 +01:00
73mp74710n
c647b0c65e update docs to show usage of ipcRenderer.sendTo 2017-10-18 02:35:19 +01:00
Zeke Sikelianos
9193720789 Merge pull request #10825 from electron/vanessayuenn-patch-1
Fix link to version change rules
2017-10-17 14:53:02 -07:00
Vanessa Yuen
3208a77bf3 Fix link to version-change-rules 2017-10-17 13:37:05 -04:00
John Kleinschmidt
cbda307ebf Merge pull request #10696 from primalmotion/patch-1
🍎 skip tabbing category if macOS < Sierra
2017-10-17 10:24:11 -04:00
Cheng Zhao
0358862066 Merge pull request #10812 from electron/fix_symbol_file_names
Use real shared library names for symbol files
2017-10-17 15:27:35 +08:00
Cheng Zhao
d901504ea9 Merge pull request #10804 from robinwassen/optional-cpplint
cpplint skip to run if dependencies has not been bootstrapped
2017-10-17 15:26:49 +08:00
Cheng Zhao
4dc74776c1 Merge pull request #10709 from electron/fix-notification-actions-hs
Fix notification actions not working on High Sierra
2017-10-17 15:18:53 +08:00
Zeke Sikelianos
71f13620d3 Merge pull request #10795 from samthomson/docs/shell-open-external
updated docs
2017-10-16 19:32:09 -07:00
Zeke Sikelianos
a914d3c534 Merge pull request #10612 from electron/notification-docs-fix
Add `string` to notification doc
2017-10-16 19:31:47 -07:00
Vanessa Yuen
242a55aa60 Merge pull request #10740 from demopark/patch-1
Add notification docs translation in Chinese
2017-10-16 21:16:47 -04:00
Vanessa Yuen
9045171ad7 Merge pull request #10748 from demopark/patch-2
Add notifications tutoral in Chinese
2017-10-16 21:07:23 -04:00
Vanessa Yuen
e5797a57a7 Merge pull request #10749 from demopark/patch-3
Add notification-action.md file in Chinese
2017-10-16 21:03:32 -04:00
Ales Pergl
3a571bbdb4 Use real shared library names for symbol files 2017-10-16 16:48:52 +02:00
Boik
f40cc5ab54 add error code to session.setCertificateVerifyProc 2017-10-16 17:17:21 +08:00
Robin Andersson
60e614b10c cpplint skip to run if dependencies has not been bootstrapped
See #10593 for the discussion regarding this
2017-10-15 21:18:20 +02:00
Sam Thomson
f57b619097 updated docs 2017-10-14 13:11:44 +01:00
Zeke Sikelianos
4c9d432bd9 Merge pull request #10777 from reviforks/fix-korean-typo
WIP: Fix Korean translation's minor mistakes
2017-10-13 15:42:12 -07:00
Yongmin Hong
7b8dc38e88 Fix Korean grammatic mistakes
Mostly spacing errors. Haven't look at full Korean translation, but
will do.

Signed-off-by: Yongmin Hong <revi@pobox.com>
2017-10-13 02:58:44 +09:00
Samuel Attard
bce7d37086 Merge pull request #10773 from jeroenvisser101/patch-1
Fix link to libnotify spec
2017-10-13 02:09:05 +11:00
Birunthan Mohanathas
13b9b5c0c0 Merge pull request #10746 from electron/removeuserdefault
Add systemPreferences.removeUserDefault()
2017-10-12 16:08:57 +03:00
Jeroen Visser
cf6e3ca087 Fix link to libnotify spec
Link was broken
2017-10-12 14:55:21 +02:00
Nuri Uzunoğlu
b79e61db1d [docs] [tr-TR] Update README.md
Minor changes.
2017-10-12 09:22:40 +03:00
Samuel Attard
bdf3552be6 Merge pull request #10727 from electron/named-nativeimage
Add an API to get a nativeImage from a named NSImage
2017-10-12 10:02:07 +11:00
Felix Rieseberg
26220f2b31 Merge pull request #10758 from electron/felixrieseberg-patch-1
Don't be quiet on default loglevel
2017-10-11 15:18:11 -07:00
John Kleinschmidt
f2a1f0124d Merge pull request #10759 from electron/revert-official-build
Revert official build
2017-10-11 15:37:02 -04:00
Felix Rieseberg
2b510d7a06 Update install.js 2017-10-11 11:10:38 -07:00
Felix Rieseberg
d07529feca 🔧 Don't be quiet on default loglevel 2017-10-11 10:56:40 -07:00
John Kleinschmidt
6381f28847 Revert official build
Release builds are not currently building with official build
2017-10-11 11:38:50 -04:00
Jonas Zhang
af99e65876 Add notification-action.md file in Chinese
Add notification-action.md file in Chinese
2017-10-11 09:51:52 +08:00
Jonas Zhang
6fa9249062 Add notification.md file in Chinese
Add notification.md file in Chinese
2017-10-11 09:42:34 +08:00
Birunthan Mohanathas
06d782279c Add systemPreferences.removeUserDefault()
This can be used to restore the default or global value of a `key`
previously set with `setUserDefault`.
2017-10-10 22:57:47 +03:00
John Kleinschmidt
88616df2e5 Merge pull request #10744 from robinwassen/docs-vs-download-link
📝 Updated with link to VS 2015
2017-10-10 15:51:16 -04:00
Robin Andersson
c51ac6048d 📝 Updated with link to VS 2015
The previous link pointed to VS 2017 download location.
2017-10-10 21:33:14 +02:00
John Kleinschmidt
30abdbccf8 Merge pull request #10688 from electron/retry-uploads
Add logic to retry github uploads
2017-10-10 09:46:20 -04:00
Jonas Zhang
66df065e31 Add notification.md file in Chinese
Add notification.md file in Chinese
2017-10-10 21:34:39 +08:00
Samuel Attard
ed25941c65 Add basic specs 2017-10-10 17:30:27 +11:00
Samuel Attard
2c7787900f Follow style guide 2017-10-10 17:20:55 +11:00
Samuel Attard
9308c96f95 Appease the linting overlords 2017-10-10 17:17:51 +11:00
Samuel Attard
4ffb6c5f75 Merge pull request #10725 from electron/version-lock-escape-item
Ensure that the touchbar's esape item can be set before setting it
2017-10-10 17:07:04 +11:00
Samuel Attard
b5ba8699f3 Enable hsl shifting of named images 2017-10-10 17:05:13 +11:00
Zeke Sikelianos
19ac2179fb Merge pull request #10715 from electron/fix_toast_dpi_scaling
Fixed font DPI scaling
2017-10-09 12:56:45 -07:00
Zeke Sikelianos
1e6d51642c Merge pull request #10728 from excfergodst/patch-1
Create updates.md
2017-10-09 12:56:26 -07:00
Zeke Sikelianos
878813f968 Merge pull request #10730 from excfergodst/excfergodst-smalldoc
Adding few simple docs
2017-10-09 12:56:03 -07:00
Zeke Sikelianos
d7e5855ebf Merge pull request #10719 from yunzhenhuan/patch-1
Update build-instructions-linux.md
2017-10-09 12:55:29 -07:00
Zeke Sikelianos
a48219ecf2 Merge pull request #10731 from excfergodst/patch-7
Create v8-development.md
2017-10-09 12:54:58 -07:00
DaLun
995dccc726 Create v8-development.md 2017-10-09 13:00:35 -05:00
DaLun
0572b395ba Delete v8-development.md 2017-10-09 12:55:49 -05:00
DaLun
6e08682a7f Merge pull request #5 from excfergodst/patch-6
Create crash-report.md
2017-10-09 12:52:09 -05:00
DaLun
000ea8febd Merge pull request #4 from excfergodst/patch-5
Create upload-blob.md
2017-10-09 12:52:00 -05:00
DaLun
b02691cebd Merge pull request #3 from excfergodst/patch-4
Create size.md
2017-10-09 12:51:44 -05:00
DaLun
909fc98e1b Merge pull request #2 from excfergodst/patch-3
Create point.md
2017-10-09 12:51:33 -05:00
DaLun
53d138505a Create crash-report.md 2017-10-09 12:47:42 -05:00
DaLun
e655222d2f Create upload-blob.md 2017-10-09 12:45:56 -05:00
DaLun
d096fc8acf Create size.md 2017-10-09 12:37:48 -05:00
DaLun
48be4e765a Create point.md 2017-10-09 12:36:27 -05:00
DaLun
841763326a Create v8-development.md 2017-10-09 12:29:59 -05:00
DaLun
2ed2aedb00 Create updates.md 2017-10-09 12:13:00 -05:00
Samuel Attard
767a178bd1 Do not throw if the named image can not be found 2017-10-10 03:18:44 +11:00
Samuel Attard
ec610cd97b Document new nativeImage.createFromNamedImage method 2017-10-10 03:16:24 +11:00
Samuel Attard
e027ba9c47 Add nativeImage.createFromNamedImage API 2017-10-10 03:13:40 +11:00
Samuel Attard
d350134c4f Ensure that the touchbar's esape item can be set before setting it 2017-10-10 02:24:49 +11:00
XiYang
b8a58d0fce Update build-instructions-linux.md 2017-10-09 17:30:05 +08:00
Ales Pergl
1d25d58c26 Fixed font DPI scaling 2017-10-09 10:17:00 +02:00
Zeke Sikelianos
c85b159d46 Merge pull request #10712 from electron/remove-default-deprecation
remove potential deprecation and fix app close
2017-10-07 22:03:32 -07:00
Felix Rieseberg
77d4927e8b Merge pull request #10713 from electron/remote-node-warning-2
Tiny fix: String comparison for remote node warning
2017-10-07 10:04:49 -07:00
Felix Rieseberg
2bd8877be3 🔧 String comparison 2017-10-07 08:26:32 -07:00
Shelley Vohr
242e097e9b Merge pull request #10670 from electron/add-linuxdefaultprotocol
add setAsDefaultProtocolClient for Linux
2017-10-07 10:07:02 -05:00
Shelley Vohr
443c30890b remove dummy check 2017-10-07 10:38:08 -04:00
Yuya Ochiai
6326c6727e Add did-attach-webview event 2017-10-07 22:52:20 +09:00
Zeke Sikelianos
61e606bedc Merge pull request #10336 from electron/document-prereleases
document new release and versioning process
2017-10-06 22:14:42 -07:00
Shelley Vohr
bedb8ca191 remove potential deprecation and fix app close 2017-10-07 01:03:54 -04:00
Shelley Vohr
35eea8bea5 remove unused xdg setting 2017-10-07 00:38:25 -04:00
Shelley Vohr
66827755e7 remove chrome check and change protocol handler 2017-10-07 00:36:18 -04:00
Shelley Vohr
85ef1ee21f Merge pull request #10633 from electron/update-default-app
updates to default app and cli usage
2017-10-06 23:08:23 -05:00
Samuel Attard
e5d4574d3a Use NSUserNotification identifiers to uniquely find the correct notification from CocoaNotification 2017-10-07 14:51:28 +11:00
Shelley Vohr
a1347f67a1 remove a space from a comment wow thanks linter 2017-10-06 23:40:58 -04:00
Shelley Vohr
c9da806c84 slight refactor and lin cleanup 2017-10-06 23:32:46 -04:00
Shelley Vohr
a45b1625fc remove newline and add deprecation warning 2017-10-06 23:29:54 -04:00
Felix Rieseberg
1761d5da06 Merge pull request #10708 from electron/remote-node-warning
Warn if loading remote content with nodeIntegration
2017-10-06 16:17:52 -07:00
Felix Rieseberg
63749e281d 🔧 Linters gotta lint 2017-10-06 13:36:54 -07:00
Felix Rieseberg
11ac780caf 🔧 Add security warning 2017-10-06 13:02:54 -07:00
Vanessa Yuen
31eb83223b Update the documentation on the release process to reflect the new versioning policy. 2017-10-06 11:48:09 -04:00
Vanessa Yuen
7062a6e55d remove the condition where release draft has to have a prerelease flag 2017-10-06 11:47:28 -04:00
Antoine
5e6b683cfb fixed: trying to fix the build 2017-10-05 15:57:27 -07:00
Antoine
8e1945f768 🍎 skip tabbing category if macOS < Sierra
Previously, the macro was ensuring the` MAC_OS_X_VERSION_10_12` was not defined to decide to compile a `NSWindow` category back porting native tabs or not.

This patch ensures to compile the `NSWindow` category only if the min required version is lesser than 1012 (`MAC_OS_X_VERSION_10_12`)
2017-10-05 14:11:58 -07:00
John Kleinschmidt
0ae12c2b3d Add success message
Also increase retries to 5 attempts.
2017-10-05 16:31:54 -04:00
John Kleinschmidt
54563dc94c Add logic to retry github uploads
When doing release, sometimes the GitHub upload fails, so try to retry it once before bailing.
2017-10-05 16:31:18 -04:00
Zeke Sikelianos
f81e4ec972 order change reasons major, minor, patch 2017-10-05 10:52:38 -07:00
John Kleinschmidt
d7aa0b0ddb Merge pull request #10694 from electron/official-build
Update libchromiumcontent with official_build turned on
2017-10-05 09:48:49 -04:00
Cheng Zhao
e098f414e4 Update libchromiumcontent with official_build turned on 2017-10-05 18:14:12 +09:00
Shelley Vohr
f8f21815eb syntax updates and pointer conversion 2017-10-05 00:30:14 -04:00
Cheng Zhao
80e6a64e47 Merge pull request #10361 from sbannigan/feature/tray-events
add mouse-move event and click event position for tray
2017-10-05 12:20:00 +09:00
Cheng Zhao
bb71b09452 Fix building on Windows 2017-10-05 11:51:41 +09:00
Cheng Zhao
4342480473 Fix cpplint warnings 2017-10-05 11:49:26 +09:00
Sean Bannigan
0b205019b6 add mouse-move event and click event position for tray 2017-10-05 11:41:08 +09:00
Cheng Zhao
ee519b7552 Merge pull request #10693 from makerGeek/patch-1
Update atom-shell-vs-node-webkit.md
2017-10-05 10:21:10 +09:00
Zeke Sikelianos
fae918be59 Merge pull request #10681 from fplucas/master
📝 Translation of environment-variables.md to pt-br [ci skip]
2017-10-04 12:45:37 -07:00
Zeke Sikelianos
b77fe4ca12 add more details to versioning docs 2017-10-04 12:41:12 -07:00
Daniel Imms
3a0de7e24a New release schedule proposal 2017-10-04 12:12:11 -07:00
Zeke Sikelianos
44572dce7d add sh to code block 2017-10-04 12:05:34 -07:00
Zeke Sikelianos
ba6f01a109 add missing backtick 2017-10-04 12:05:34 -07:00
Vanessa Yuen
9f55e162a3 add section on dist-tags 2017-10-04 12:05:34 -07:00
Zeke Sikelianos
d51a8accee tweak versioning doc 2017-10-04 12:05:34 -07:00
Zeke Sikelianos
cd411a5c36 document how we define stable 2017-10-04 12:05:34 -07:00
Zeke Sikelianos
fe7c827e30 remove section on semver, as electron does not fit its mold 2017-10-04 12:05:34 -07:00
Zeke Sikelianos
cc80930e2b document prereleases 2017-10-04 12:05:34 -07:00
Moetaz
d20ce404ef Update atom-shell-vs-node-webkit.md
nwjs now supports a js script as entrypoint.
cf. http://docs.nwjs.io/en/latest/References/Manifest%20Format/#main
2017-10-04 21:01:39 +02:00
John Kleinschmidt
2d269fb7f1 Merge pull request #10690 from electron/fix-tabbed-window-test
Fix failing tests on master
2017-10-04 14:29:38 -04:00
John Kleinschmidt
15bfb86eec Make sure test closes window
Newly added test was leaving window open causing tests to fail
2017-10-04 11:35:41 -04:00
Cheng Zhao
8c5bb5969c Merge pull request #10667 from dittos/window-opacity
Add window opacity support
2017-10-04 15:03:45 +09:00
Felix Rieseberg
a337b12877 Merge pull request #10680 from electron/idlewakeups-windows
Don't call GetIdleWakeupsPerSecond on Win
2017-10-03 22:04:55 -07:00
Felix Rieseberg
4e05d24d1b Merge pull request #10661 from electron/browserview-multiple-screens
BrowserView: Allow dragging of window to screen above menubar
2017-10-03 16:09:11 -07:00
John Kleinschmidt
5c94e23004 Merge pull request #10683 from electron/format-fix-bump-version
Fix formatting on bump-version.
2017-10-03 16:07:24 -04:00
John Kleinschmidt
587c49f6b1 Fix formatting on bump-version. 2017-10-03 15:35:49 -04:00
John Kleinschmidt
211688453c Merge pull request #10403 from electron/modify-bump-version
Modify `bump-version.py`
2017-10-03 14:23:33 -04:00
Lucas Pugliesi
5e7a45d6da Fix link to environment-variables.md in pt-br 2017-10-03 15:22:53 -03:00
Lucas Pugliesi
f72c72f4d4 Fix link to environment-variables.md in pt-br 2017-10-03 15:20:41 -03:00
Lucas Pugliesi
028bab0320 Merge remote-tracking branch 'upstream/master' 2017-10-03 14:57:37 -03:00
Lucas Pugliesi
ee2168b94d 📝 Translation of environment-variables.md to pt-br [ci skip] 2017-10-03 14:54:58 -03:00
Felix Rieseberg
c4de658964 📝 Make a note in the docs 2017-10-03 10:25:42 -07:00
Felix Rieseberg
9fcf7eb27c 🔧 Don't call GetIdleWakeupsPerSecond on Win 2017-10-03 10:21:31 -07:00
Shelley Vohr
6131a523dc add xdg helper method 2017-10-03 11:10:38 -04:00
John Kleinschmidt
93e40ee79c Merge pull request #10677 from rhysd/fix-doc-findInPage
Fix findInPage() documentation for correcting type definition
2017-10-03 10:16:39 -04:00
Cheng Zhao
150a4797a4 Merge pull request #10676 from qazbnm456/fix-unhandle-null-pointer
Add a null-pointer check before processing base::SupportsUserData::GetUserData
2017-10-03 20:18:51 +09:00
Cheng Zhao
745fa707dd Merge pull request #10508 from danielma/dma/native-tab-new-button
feat(NativeWindowMac): addTabbedWindow
2017-10-03 20:16:50 +09:00
Cheng Zhao
09b93aa164 No need of example for such simple API 2017-10-03 20:12:05 +09:00
Daniel Ma
1bb042a661 feat(NativeWindowMac): addTabbedWindow
Add support for the [`NSWindow addTabbedWindow`][nsw] method on MacOSX

This plays nicely with the changes from #9052 and #9725

Usage samples available in [this commit][c] in my fork of
`electron-quick-start`

[nsw]: https://developer.apple.com/documentation/appkit/nswindow/1855947-addtabbedwindow
[c]: 79f06591df
2017-10-03 20:11:16 +09:00
rhysd
32ad59de26 Fix findInPage() documentation for correcting type definition
This update fixes the return type of `findInPage()`, which is currently
typed as `void` but actually it should be `number`.
2017-10-03 16:39:37 +09:00
Boik
d594092675 add a null-pointer check before processing base::SupportsUserData::GetUserData 2017-10-03 12:42:35 +08:00
Taeho Kim
7570ec9d39 Add BrowserWindow.getOpacity for consistency 2017-10-03 00:08:10 +09:00
Shelley Vohr
3f73e000ee first pass at adding linux setAsDefaultProtocolClient 2017-10-02 10:21:30 -04:00
Taeho Kim
7df5182901 Fix lint 2017-10-02 09:52:27 +09:00
Taeho Kim
7c1c8f323c Update browser-window.md 2017-10-01 17:36:22 +09:00
Shelley Vohr
68d35dbeb1 Merge pull request #10660 from electron/add_probot_stale
add initial file for stale bot
2017-09-29 19:47:08 -04:00
Shelley Vohr
7a163ef0cc add issue maintenance and closure information 2017-09-29 18:37:45 -04:00
John Kleinschmidt
b77467ca8f Update CI information (#10644)
* Update CI information

* Formatting updates
2017-09-29 16:11:42 -04:00
Zeke Sikelianos
e8ec1a6ed4 add utm source to outbound links 2017-09-29 12:31:17 -07:00
Zeke Sikelianos
bf2b6b3ac4 fix link behavior 2017-09-29 12:26:03 -07:00
Zeke Sikelianos
56581b416d improve command prompt styles 2017-09-29 12:13:31 -07:00
Zeke Sikelianos
a2f178b664 fix octicon alignment 2017-09-29 12:03:28 -07:00
Zeke Sikelianos
01ca3ae07f make nav link text clickable 2017-09-29 12:03:12 -07:00
Zeke Sikelianos
cc6803b358 remove unused styles 2017-09-29 11:35:39 -07:00
Zeke Sikelianos
33394f76d4 make styles more consistent with website 2017-09-29 11:35:22 -07:00
Zeke Sikelianos
f0048d54b0 make it roomy 2017-09-29 11:34:48 -07:00
Felix Rieseberg
0cc1ebc021 🔧 Allow dragging window to screen above menubar (for real) 2017-09-29 14:20:34 -04:00
Vadim Macagon
3ad1cccb1d [ci skip] Fix link to Chromium Runtime Features JSON file (#10639) 2017-09-29 14:17:00 -04:00
Zeke Sikelianos
9f895879bf Merge pull request #10191 from electron/add_log_path_support
add ability to access logs in getPath()
2017-09-29 11:11:29 -07:00
Zeke Sikelianos
9db9ffd3e4 chrome -> chromium 2017-09-29 10:41:48 -07:00
Zeke Sikelianos
0ca53420d5 use relative path to electron 2017-09-29 10:41:20 -07:00
Shelley Vohr
6932a42b0a updates to probot config 2017-09-29 13:28:49 -04:00
Shelley Vohr
b1e6845409 add initial file for stale bot 2017-09-29 10:38:38 -04:00
Shelley Vohr
96f1a25bbd convert to wstring for windows 2017-09-29 10:29:45 -04:00
Shelley Vohr
e7bb553d3b consolidate code and rename for clarity 2017-09-29 09:32:30 -04:00
Ted Kim
7f2c4a9e06 Add window opacity support 2017-09-29 17:49:10 +09:00
Shelley Vohr
c620d0de05 move overrides into the appropriate namespace 2017-09-28 23:03:01 -04:00
John Kleinschmidt
04430c6dda Bump to use large machine for arm64 build 2017-09-28 13:55:06 -04:00
Shelley Vohr
0dfadf7c09 remove unresolved external symbol 2017-09-28 13:35:24 -04:00
Shelley Vohr
911e266e9a add function signature declaration 2017-09-28 13:35:24 -04:00
Shelley Vohr
223942bf99 fix incorrect std namespacing 2017-09-28 13:35:24 -04:00
Zeke Sikelianos
94f46c9059 fix typo in comment 2017-09-28 13:35:24 -04:00
Shelley Vohr
fc443a8c2c fix header and line length lint errors 2017-09-28 13:35:24 -04:00
Shelley
e05f6102c2 update docs for new getPath() path 2017-09-28 13:35:24 -04:00
Shelley Vohr
d2d4b4cc23 fix escape backslashes 2017-09-28 13:35:24 -04:00
Shelley Vohr
c1c8f7b0f1 fix string concat errors 2017-09-28 13:35:23 -04:00
Shelley Vohr
2353fdb400 add dir creation if none exists 2017-09-28 13:35:23 -04:00
Shelley Vohr
e81cf74b39 add windows override path and cleanup linux 2017-09-28 13:35:23 -04:00
Shelley Vohr
e096b5ce83 fix override path 2017-09-28 13:35:23 -04:00
Shelley Vohr
3de008035a appeasing the linter 2017-09-28 13:35:23 -04:00
Shelley Vohr
f026bbb454 add first go at linux log path override 2017-09-28 13:35:23 -04:00
Shelley Vohr
5ef4caf8ab add ability to access logs in getPath() 2017-09-28 13:35:22 -04:00
John Kleinschmidt
7788b33dc9 Bump v1.8.1 2017-09-28 13:13:49 -04:00
John Kleinschmidt
d9d557dcc5 CircleCI updates (#10647)
* Update CircleCi for release and test

* Update test storage dir
2017-09-28 13:05:42 -04:00
Shelley Vohr
2915617c5c dear god never run beautifier again 2017-09-28 00:10:52 -04:00
Shelley Vohr
0f34967648 redesign and add versions/links 2017-09-27 23:51:53 -04:00
Zeke Sikelianos
0c9ada08a4 Merge pull request #10326 from develar/patch-4
docs: add note about electron-updater
2017-09-27 15:14:44 -07:00
Felix Rieseberg
89246f3714 🔧 Allow dragging over menubar 2017-09-27 17:43:09 -04:00
Shelley Vohr
24913a5ef9 remove drag functions 2017-09-27 14:50:46 -04:00
Shelley Vohr
2289d085fa first pass at reorganizing default usage 2017-09-27 14:23:42 -04:00
Birunthan Mohanathas
945fef8a5a Merge pull request #10483 from jublonet/fix-double-downloads
Use Squirrel.Windows --checkForUpdate
2017-09-27 20:26:24 +03:00
Zeke Sikelianos
928d2f78c3 Merge pull request #10555 from electron/CODEOWNERS
add CODEOWNERS file
2017-09-27 09:07:38 -07:00
Felix Rieseberg
04373b8658 Merge pull request #10627 from electron/fullscreen-drag
Don't drag fullscreen window
2017-09-27 08:08:08 -07:00
Birunthan Mohanathas
044a3a29a6 Simplify checking for NSFullScreenWindowMask 2017-09-27 16:36:18 +03:00
Vladimir Krivosheev
2e747e72cf change wording 2017-09-27 07:11:21 +02:00
Zeke Sikelianos
494000114c Merge pull request #10614 from electron/upload-overwrite
Document how to fix a published release
2017-09-26 21:56:37 -07:00
Zeke Sikelianos
415f1ca3a4 clarify bootstrapping command arg 2017-09-26 21:55:56 -07:00
Zeke Sikelianos
750f59cb55 make the @hubbers team own the .github directory 2017-09-26 20:11:41 -07:00
Cheng Zhao
18589a498c Merge pull request #10620 from electron/v8-promise-field
Update libchromiumcontent to fix crash in Node
2017-09-27 12:11:27 +09:00
Shelley Vohr
15b0878a17 Merge pull request #10618 from electron/add-menuitembyid
[WIP] add getMenuItemById to Menu API
2017-09-26 22:33:05 -04:00
Shelley Vohr
05c50b0a2e fix docs typo 2017-09-26 21:30:27 -04:00
Cheng Zhao
8062962d01 Define V8_PROMISE_INTERNAL_FIELD_COUNT=1 2017-09-27 10:20:06 +09:00
Shelley Vohr
31bf873c20 add docs update for new api call 2017-09-26 21:14:44 -04:00
Cheng Zhao
6e85f82d7a Update libchromiumcontent to fix crash in Node 2017-09-27 10:11:37 +09:00
Shelley Vohr
c932871bb1 change default to null 2017-09-26 20:35:14 -04:00
Shelley Vohr
3c6a7c332a add unit test for getMenuItemById 2017-09-26 20:05:51 -04:00
Felix Rieseberg
d45788a7b8 🔧 Don't drag fullscreen window 2017-09-26 18:03:44 -04:00
Shelley Vohr
f49f7d65a5 remove check on items instance 2017-09-26 14:38:34 -04:00
Zeke Sikelianos
9b6f9a0b18 fix typos in releasing doc 2017-09-26 11:10:29 -07:00
Shelley Vohr
afe033a6e1 stray semicolon fml 2017-09-26 12:10:16 -04:00
Shelley Vohr
4753ada7a9 rewrite method with only id parameter 2017-09-26 12:05:45 -04:00
Shelley Vohr
5217718d7b conform to linter standard 2017-09-26 09:50:47 -04:00
Shelley Vohr
ea42851c9b add first pass at getMenuItemById 2017-09-26 09:47:13 -04:00
Cheng Zhao
91e11f8e6f Merge pull request #10609 from electron/win32_toast_update
Fix for narrowing conversion warnings, minor style change
2017-09-26 10:50:45 +09:00
Cheng Zhao
3545280e1d Add --overwrite to the upload script 2017-09-26 10:43:43 +09:00
Cheng Zhao
c70508edb1 docs: How to re-upload binaries manually 2017-09-26 10:30:42 +09:00
Cheng Zhao
de4cb9022b Use same -ing form and remove trailing whitespaces 2017-09-26 10:18:38 +09:00
Felix Rieseberg
dfd90c3526 Merge pull request #10611 from electron/fix-notification-source
Browser-process notifications: Ensure correct icon on Windows
2017-09-26 09:54:43 +09:00
Felix Rieseberg
ff97817668 Add string to notification doc
Tiny fix: The docs suggest `NativeImage` for `icon`, but a string is also allowed.
2017-09-25 14:02:59 -07:00
Felix Rieseberg
741dc1eb0b 🔧 Ensure correct path 2017-09-25 13:51:16 -07:00
Zeke Sikelianos
c33c21e174 Merge pull request #10573 from electron/add-clarification-about-main-process
add clarification about main process
2017-09-25 12:40:45 -07:00
Ales Pergl
75feb495ad Fix for narrowing conversion warnings, minor style change 2017-09-25 18:08:54 +02:00
Aleš Pergl
2abde14a7c Merge pull request #10517 from yuya-oc/win7-notification-duration
Set duration for Windows 7 notifications based on Control Panel
2017-09-25 17:04:08 +02:00
Cheng Zhao
aeb568b41f Merge pull request #10052 from electron/views-browserview-bounds
Fix BrowserView auto-resize and BrowserWindow resize event on Windows
2017-09-25 14:12:31 +09:00
Birunthan Mohanathas
e1ddd3bdbc Stop sending resize event for minimized windows on Windows
This makes it consistent with macOS.

This also fixes BrowserView auto-resize on Windows when minimizing and
restoring the window. Previously it would incorrectly grow too in some
cases.
2017-09-25 11:44:32 +09:00
Birunthan Mohanathas
f3f6bedf8e Make BrowserView auto-resize relative to window size on Windows/Linux
Previously it was relative to the window web contents size, which was
not consistent with macOS.
2017-09-25 11:44:32 +09:00
Cheng Zhao
42a2126273 Merge pull request #10602 from electron/fix-singleton-test
Fix the flaky test of app.makeSingleInstance
2017-09-25 11:44:00 +09:00
Cheng Zhao
d87ea5713d spec: It is not certain which process starts first 2017-09-25 11:19:25 +09:00
Cheng Zhao
5940231b76 spec: Do not assume which process exits first in singleton test 2017-09-25 10:49:54 +09:00
Zeke Sikelianos
d54cb307d5 do not use globs 2017-09-24 11:34:08 +09:00
Zeke Sikelianos
2bb26b30dc add CODEOWNERS file 2017-09-24 11:34:08 +09:00
Zeke Sikelianos
696c7d59fd Merge pull request #10592 from electron/revert-9603-printer-info-options
Revert "PrinterInfo options object causes TypeScript error"
2017-09-24 11:29:54 +09:00
Zeke Sikelianos
d27f7c25b3 Revert "PrinterInfo options object causes TypeScript error" 2017-09-24 11:11:04 +09:00
Zeke Sikelianos
5843c98153 Merge pull request #10505 from qazbnm456/update-docs
docs: update web-request.md
2017-09-24 09:36:23 +09:00
Zeke Sikelianos
d552c97599 Merge pull request #10542 from EthianWong/master
Remove non-existent option
2017-09-24 09:33:43 +09:00
Zeke Sikelianos
a99280398b Merge pull request #10550 from ColMugX/patch-1
fix menu-item.md chinese version: a typo.
2017-09-24 09:32:51 +09:00
John Kleinschmidt
cb7f8e256e Change GitHub upload to use JS GitHub lib
Needed for Appveyor when running releases
2017-09-24 06:26:04 +09:00
Yuya Ochiai
d621471eb2 🏁 Set duration for Windows 7 notifications based on Control Panel 2017-09-22 21:28:29 +09:00
Cheng Zhao
ec587032b2 Merge pull request #10516 from electron/fix_notification_crash
Fixed potential crash in Win32 notifications.
2017-09-22 12:29:53 +09:00
Cheng Zhao
df098c2b2b Merge pull request #10520 from Alex-D/patch-1
Bump node version number
2017-09-22 12:20:38 +09:00
Zeke Sikelianos
5b5c4787e9 add-clarification-about-main-process 2017-09-22 10:52:43 +09:00
Samuel Attard
c4cfb3e711 Merge pull request #10518 from electron/fix-makesingleinstance
Fix app.makeSingleInstance hanging on posix systems
2017-09-20 13:54:47 +10:00
Cheng Zhao
b4075bed87 spec: Add test case for app.makeSingleInstance 2017-09-20 11:58:32 +09:00
Cheng Zhao
b7119b5756 Create watcher when message loop is ready 2017-09-20 11:58:32 +09:00
Samuel Attard
4147fa4629 Appease the linting gods 2017-09-20 11:58:32 +09:00
Samuel Attard
0ab83b301d Refactor as per @zcbenz comments
Also fix issue where we run the single instance callback *not* on the UI thread,
this apparently results in a hung process.
2017-09-20 11:58:32 +09:00
Samuel Attard
ecbeb0d117 Woops, how did that happen ;) 2017-09-20 11:58:32 +09:00
Samuel Attard
f928a399ae Move OnBrowserReady call to PreMainMessageLoopRun to account for timing issues on macOS 2017-09-20 11:58:32 +09:00
Samuel Attard
28900a9b63 Fix app.makeSingleInstance hanging on posix systems
Wait for the IO thread to be a thing before attempting to listen on the socket

Fixes #9880
2017-09-20 11:58:32 +09:00
Shelley Vohr
fb6a4febb0 Merge pull request #10552 from electron/fix-shell-openItem
update shell.OpenItem to use NSWorkspace
2017-09-19 22:00:40 -04:00
Shelley Vohr
27fd2dad59 update shell.OpenItem to use NSWorkspace 2017-09-19 18:15:37 -04:00
Co1MugX
639f445f5e zh-CN doc had a typo.
zh-CN doc had a typo.
2017-09-19 22:48:33 +08:00
WangYunjian
fa8649e671 Remove non-existent attributes
More details: 8d3e09747a
2017-09-18 13:31:54 +08:00
Samuel Attard
fa444dd029 Merge pull request #10540 from bpasero/touchbar-docs
Docs: set iconPosition as optional
2017-09-18 13:01:02 +10:00
Benjamin Pasero
ba5fe1d161 set iconPosition as optional 2017-09-17 17:44:36 +02:00
Milan Burda
9cfadbe6af Merge pull request #10509 from kewde/patch-1
docs: fix examples for sandbox
2017-09-17 12:26:27 +02:00
Boik
16499358b3 fix lint 2017-09-17 14:09:12 +08:00
Boik
d86724f17a code improvement 2017-09-17 13:56:22 +08:00
Boik
26e6f2c46c use textContent instead innerHTML to remediateDOM based XSS vulnerbilities 2017-09-17 11:27:03 +08:00
robbix1206
0bcc5d37ab Put npx as last option 2017-09-16 15:37:26 +02:00
robbix1206
564ca27679 Forget a # 2017-09-16 14:09:31 +02:00
robbix1206
9fecf4b2f7 Add npx command for node version 8.2.0 and later 2017-09-16 14:03:09 +02:00
Cheng Zhao
800ba9a325 Merge pull request #9950 from alexstrat/fix-content-script-insecure-contents
Fix mixed content errors when loading content from `chrome-extension`
2017-09-15 20:45:57 +09:00
Cheng Zhao
b277353238 Set secure schemes in native code
Code with same functionalities should be put together.
2017-09-15 16:48:55 +09:00
Alexandre Lachèze
5eb4b9ad6f Fix insecure content errors when loading content from chrome-extension 2017-09-15 16:32:47 +09:00
Alexandre Demode
8ebab10cb0 Bump node version number 2017-09-15 00:58:31 +02:00
Cheng Zhao
fc99785314 Merge pull request #10076 from alexstrat/add/add-support-for-content_scripts.css
Add support for css in content_scripts
2017-09-14 21:19:11 +09:00
Ales Pergl
af92a639be Fixed potential crash in Win32 notifications. 2017-09-14 11:52:53 +02:00
Alexandre Lachèze
e1a232e7c8 Add support for css in content_scripts 2017-09-14 17:23:33 +09:00
Cheng Zhao
6bf2ec4188 Merge pull request #10514 from electron/mac-crash
Suppress the destroy() spec on all platforms
2017-09-14 17:21:53 +09:00
Cheng Zhao
af329a9429 Suppress the destroy() spec on all platforms
It is also crashing on mac, but just not as frequent as other platforms.
2017-09-14 17:20:14 +09:00
Cheng Zhao
07840906dd Merge pull request #9869 from rafaelnobrepd/handoff-enhancements
Exposes more Handoff related APIs to Electron
2017-09-14 17:18:14 +09:00
Cheng Zhao
ff023115f5 Style fixes 2017-09-14 16:12:34 +09:00
Rafael Nobre
33dd5e26fb Updates documentation for Handoff related API. 2017-09-14 15:59:43 +09:00
Rafael Nobre
77a1c5d7fc Avoids deadlock in case NSUserActivityDelegate method start being called from main thread. 2017-09-14 15:59:43 +09:00
Rafael Nobre
9483f0fc14 Adds synchronization logic to allow NSUserActivityDelegate to wait Javascript updating the NSUserActiity UserInfo if requested. 2017-09-14 15:59:43 +09:00
Rafael Nobre
c23b4a48ec Fixes NSUserActivityDelegate that was called on a background thread thus not working. 2017-09-14 15:59:43 +09:00
Rafael Nobre
76efee675f Requests updated user info data before each Handoff operation. 2017-09-14 15:59:43 +09:00
Rafael Nobre
f6ac00532f Fix typo and remove extraneous doc entries. 2017-09-14 15:59:43 +09:00
Rafael Nobre
a870799c32 Exposes more Handoff related APIs to Electron. 2017-09-14 15:59:43 +09:00
Cheng Zhao
787675ab08 Merge pull request #9343 from xaviergonz/fix-osx-child-window-show
Make OSX child windows honor the show option to fix #8836
2017-09-14 15:50:13 +09:00
Cheng Zhao
ac55c358e9 Merge pull request #9603 from electron/printer-info-options
PrinterInfo options object causes TypeScript error
2017-09-14 15:49:41 +09:00
Kevin Sawicki
53b0698ee2 Add options object 2017-09-14 14:57:59 +09:00
Cheng Zhao
073583ff3d spec: The parent option should not affect show option 2017-09-14 14:48:42 +09:00
Cheng Zhao
19a7c7ac39 Styling fixes 2017-09-14 14:43:22 +09:00
xaviergonz
0d69738bd6 using standard javascript 2017-09-14 14:38:54 +09:00
xaviergonz
0301961c25 Update api-browser-window-spec.js 2017-09-14 14:38:54 +09:00
xaviergonz
e18cdc185a add the fix for showinactive 2017-09-14 14:35:53 +09:00
xaviergonz
d0c91daaed make sure setparentwindow only shows the window if already visible 2017-09-14 14:35:53 +09:00
xaviergonz
dc7cc6921e fix for mac child windows so they honor show option 2017-09-14 14:35:53 +09:00
xaviergonz
dae63d323c add new internal set parent window method 2017-09-14 14:33:24 +09:00
Cheng Zhao
a19a229a59 Merge pull request #10254 from zachflower/feature/simple-fullscreen-mode
Feature/simple fullscreen mode
2017-09-14 09:39:50 +09:00
Kewde
589585a269 Fix examples
w -> win
2017-09-13 20:53:30 +00:00
Zachary Flower
432b912c6a 🎨 Rename ambiguous simple_fullscreen_ variable to always_simple_fullscreen_ 2017-09-13 12:16:37 -06:00
John Kleinschmidt
5819acfd3d Rerun builds 2017-09-13 10:25:42 -04:00
Boik
0d312f3674 docs: update web-request.md 2017-09-13 22:09:21 +08:00
John Kleinschmidt
64c8ff62af Add CircleCI for Linux builds (#10344) 2017-09-13 09:48:19 -04:00
Cheng Zhao
2048a1a638 Merge pull request #10429 from qazbnm456/web-request-origin
Track the origin of webRequest events
2017-09-13 22:23:44 +09:00
Cheng Zhao
c34fb146f6 Fix styling 2017-09-13 21:40:29 +09:00
Vanessa Yuen
c39f5f1fad Merge pull request #9814 from shubham2892/fix-fullscreen-with-resizable-flag
Fix full screen when resizable is set to true
2017-09-12 20:20:19 -04:00
Vanessa Yuen
9a7d8a0511 merge master into fix-fullscreen-with-resizable-flag. 2017-09-12 18:34:23 -04:00
Vladimir Krivosheev
6bded6bf7b Fix link 2017-09-12 21:37:29 +02:00
Zachary Flower
fa4d52f042 🎨 Track/restore original stylemask, rather than individual states. 2017-09-12 12:27:30 -06:00
Zeke Sikelianos
618f8a9d06 Merge pull request #10497 from Toinane/fix-word-docs
Add markdown linking when missing
2017-09-12 08:49:35 -07:00
Milan Burda
ddb1d92c77 Merge pull request #10499 from miniak/doc-fix
Fix app.getGPUFeatureStatus in app.md
2017-09-12 16:04:17 +02:00
Toinane
1cb13be65f style: fix the word incompatible in docs 2017-09-12 15:51:53 +02:00
Milan Burda
d6bab3043c Fix app.getGPUFeatureStatus in app.md 2017-09-12 15:31:00 +02:00
Boik
e66341ec59 add back the missing 'resourceType' property 2017-09-12 21:27:49 +08:00
Boik
a01abd0fee fix lint-cpp 2017-09-12 20:28:30 +08:00
Boik
2d771674bb get webContentsId instead 2017-09-12 20:17:11 +08:00
Toinane
74cb673ce1 style: add uppercase 2017-09-12 12:07:33 +02:00
Toinane
b9f0131165 style: add link to when missing 2017-09-12 12:05:09 +02:00
Boik
13d363d1f1 fix lint-cpp 2017-09-12 15:40:35 +08:00
Boik
9f60673e4b remove package-lock.json 2017-09-12 15:40:35 +08:00
Boik
549c30f9b2 first attempt to track the origin requesters of webRequest events 2017-09-12 15:40:35 +08:00
Cheng Zhao
59cadf9e4b Merge pull request #10366 from syohex/window-close-order
Close window in order from newer one on macOS
2017-09-12 16:22:38 +09:00
Cheng Zhao
bca71fcfc1 Merge pull request #10393 from j3l11234/fix_mac_crack
fix mac ime crack
2017-09-12 16:19:08 +09:00
Cheng Zhao
1430faa2fd Merge pull request #10492 from electron/libcc-latest
Update libcc to latest
2017-09-12 16:18:47 +09:00
Cheng Zhao
8493d5707e Fix cpplint warnings 2017-09-12 15:35:24 +09:00
Cheng Zhao
92d0772eba Update libcc to latest
It was using a branch that had been deleted.
2017-09-12 15:25:29 +09:00
Cheng Zhao
6ebd00267e Merge pull request #10355 from owais/master
Add support for indicators in Ubuntu Gnome Session
2017-09-12 15:22:31 +09:00
Cheng Zhao
894bcdf749 Merge pull request #9896 from ferreus/dev/vladimir_8017
Fix #8017: Crash copying cropped image to clipboard
2017-09-12 15:02:44 +09:00
Zachary Flower
f256967414 📝 make clear what simple fullscreen mode is 2017-09-11 23:09:45 -06:00
Zeke Sikelianos
64c447bf04 Merge pull request #10487 from Toinane/fix-word-docs
Fix word in documentation
2017-09-11 10:08:01 -07:00
Toinane
2c56b67ea5 style: fix directory word in docs 2017-09-11 17:49:58 +02:00
Cheng Zhao
10ab870237 Merge pull request #10321 from kaylanm/macos-native-tab-api
🍎 Add macOS native tab methods to window API
2017-09-11 18:49:56 +09:00
Cheng Zhao
cc9771a3d0 Merge pull request #10307 from liusy182/10240-theme-color-2
return null when theme color is transparent or not found
2017-09-11 18:40:35 +09:00
Cheng Zhao
e6733b4b23 Merge pull request #10305 from ivmirx/macos-accessibility
Special attribute for macOS accessibility
2017-09-11 17:58:20 +09:00
Cheng Zhao
0694334487 Merge pull request #10271 from kaylanm/macos-native-tab-menu-items
🍎 Add roles for macOS native tab menu items
2017-09-11 17:41:31 +09:00
Zeke Sikelianos
c51e3c2882 Merge pull request #10481 from John2143/fix-docs
Redirect dead link in docs
2017-09-10 17:28:57 -07:00
J.M
6442e6b5e8 Use Squirrel.Windows --checkForUpdate
Avoid downloading updates twice. Fix #5057.
2017-09-11 00:54:08 +02:00
John Schmidt
38342fbe48 📝 Redirect dead link [ci skip] 2017-09-10 08:27:10 -04:00
Zeke Sikelianos
f293e1422b Merge pull request #10472 from lucaslopes/patch-1
Update coding-style.md
2017-09-09 12:38:07 -07:00
Lucas Lopes
20325b9952 Update coding-style.md 2017-09-09 08:08:28 -03:00
Birunthan Mohanathas
c265ea21c2 Merge pull request #10469 from electron/fix-save-dialog-extension-macos
Fix missing extension when saving a file without filters
2017-09-08 07:22:18 -07:00
Zeke Sikelianos
fbfd781426 Merge pull request #10454 from electron/MarshallOfSound-patch-1
Mark filters as optional inside webRequest
2017-09-07 21:45:24 -07:00
Samuel Attard
195cb91721 Make crashesDirectory optional 2017-09-08 13:21:35 +10:00
Birunthan Mohanathas
511e82de67 Fix missing extension when saving a file without filters
Previously, when triggering the save dialog through e.g. `<a download>`
links (e.g. http://jsfiddle.net/koldev/cW7W5/), the extension was only
saved if Finder was set to show all extensions by default. We now always
display the extension to make sure that it is saved.

If we want to keep the extension hidden, we could also populate the
allowed file types array with the extension from the default filename,
but that would have interfered with how we set the filters.
2017-09-07 16:48:14 -07:00
Samuel Attard
8e9b98360a Mark filters as optional inside webRequest 2017-09-07 14:26:37 +10:00
Samuel Attard
6ba3ee3950 Merge pull request #10453 from bpasero/fix-10448
Docs: add crashesDirectory to crash reporter options
2017-09-07 14:19:18 +10:00
Benjamin Pasero
54bd60d657 add crashesDirectory to crash reporter options 2017-09-07 06:07:28 +02:00
Vanessa Yuen
4fb800a899 more docs edit 2017-09-06 16:44:41 -04:00
Vanessa Yuen
a81ea1ffde Update release documentation to reflect new usage of bump-version script. 2017-09-06 16:41:51 -04:00
Vanessa Yuen
c56d8b4fe9 Add examples to make usage description clearer. 2017-09-06 16:31:58 -04:00
John Kleinschmidt
5bb7b4bb42 Bump v1.8.0 2017-08-31 16:31:59 -04:00
John Kleinschmidt
4b1e2b42a4 Bump v1.8.0 2017-08-31 16:16:19 -04:00
Vanessa Yuen
c784968e85 Merge pull request #10303 from MathieuDebit/doc/fix-desktopcapture-example
📝 Fix desktopCapturer example
2017-08-31 14:49:16 -04:00
Samuel Attard
6b010614e2 Implement moveToApplicationsFolder (#10142)
* Implement moveToApplicationsFolder

* Fix tabs / spaces

* Fix linting

* Use Browser::Quit, instead of exit

* Update documentation as per feedback

* Fix spec
2017-08-31 10:37:12 -04:00
John Kleinschmidt
14eea98566 Merge pull request #10333 from electron/more-releasing-tips
add more releasing tips
2017-08-30 10:42:59 -04:00
Cheng Zhao
c2ab4f711f Merge pull request #10396 from electron/cleanup
Cleanup obsolete code
2017-08-30 19:05:05 +09:00
Cheng Zhao
1630f14b99 Merge pull request #10395 from electron/fix_exit_crash2
Fixed crash on process exit on Windows
2017-08-30 17:43:46 +09:00
Ales Pergl
64d9e5b861 Removed obsolete io.h wrappers, included atlbase.h in atom_main.cc 2017-08-30 10:43:29 +02:00
Cheng Zhao
346a4bee0b Merge pull request #10394 from electron/another-async-crash
Fix another crash caused by assertion of asyncContext
2017-08-30 17:42:03 +09:00
Cheng Zhao
db0aeaa26e Fix another crash caused by assertion of asyncContext 2017-08-30 17:05:20 +09:00
Ales Pergl
7cd64f1bd1 Fixed crash on process exit on Windows 2017-08-30 09:23:19 +02:00
allenliu
5978775ce1 fix mac ime crack 2017-08-30 12:07:04 +08:00
Vanessa Yuen
a936430fd5 fix lint errors 2017-08-29 19:55:34 -04:00
Vanessa Yuen
b54804d449 change process.versions.electron to reflect suffixes in version name. 2017-08-29 19:37:49 -04:00
Vanessa Yuen
74c970c25f add dry run option 2017-08-29 18:56:16 -04:00
Vanessa Yuen
8fe675e56c Update bump-version.py to handle prerelease versions 2017-08-29 18:33:49 -04:00
Zeke Sikelianos
cc666c727f Merge pull request #10389 from electron/move-issue-template
move issue template to .github directory
2017-08-29 13:26:27 -07:00
Zeke Sikelianos
178b39b5a8 Merge pull request #10380 from electron/MarshallOfSound-patch-1
Mark channel as non-optional in ipcRenderer
2017-08-29 13:22:41 -07:00
Zeke Sikelianos
6c201fcae4 move issue template to .github directory 2017-08-29 12:51:02 -07:00
Cheng Zhao
39a366cf76 Merge pull request #10277 from electron/re-enable_debug_mode
Re-enabled debug mode
2017-08-29 19:22:37 +09:00
Cheng Zhao
0550a4a9b8 Fix crash when emitting render-view-deleted event 2017-08-29 17:46:46 +09:00
Cheng Zhao
7f4b74f8c6 spec: Compare id instead of the object
Otherwise it is impossible to see what's wrong.
2017-08-29 15:45:16 +09:00
Samuel Attard
e58ba1dc8e Update ipc-renderer.md 2017-08-29 16:12:55 +10:00
Cheng Zhao
f0f17fffd8 spec: Do not test window positions
They were too flaky.
2017-08-29 14:23:39 +09:00
Cheng Zhao
4febbec102 Fix crash when switching menus in menubar 2017-08-29 14:19:23 +09:00
Cheng Zhao
b2f3625eaa Fix deprecated node::MakeCallback call 2017-08-29 14:19:23 +09:00
Cheng Zhao
593ae7bf0e Fix crash caused by freeing capturer task 2017-08-29 14:19:22 +09:00
Cheng Zhao
5510d8cfb1 Revert "Revert "spec: Suppress the select-client-certificate test""
This reverts commit 8e989170f1.
2017-08-29 14:19:22 +09:00
Cheng Zhao
68e0fbfd60 Revert "Revert "spec: Suppress the app.importCertificate test""
This reverts commit a7cb89aeb5.
2017-08-29 14:19:21 +09:00
Cheng Zhao
9337e29482 Fix the crash caused by asyncContext 2017-08-29 14:19:20 +09:00
John Kleinschmidt
56233054ae Fix CI for Linux 2017-08-29 14:19:20 +09:00
Cheng Zhao
6e6b097968 Revert "Revert "spec: Suppress the test that destroys WebContents in event listener""
This reverts commit 210652ed54.
2017-08-29 14:19:19 +09:00
Ales Pergl
a7bae32527 Re-enabled debug mode 2017-08-29 14:19:19 +09:00
Zeke Sikelianos
c6918966c2 Merge pull request #10214 from psh0628/contextisolation-sandbox-fix
fix contextIsolation issue while webPreference sandbox is on
2017-08-28 21:20:04 -07:00
Ivan Mir
93a8e75238 Add clarifications to the documentation 2017-08-28 20:33:16 -03:00
Zeke Sikelianos
66a5ac4d67 Merge pull request #10215 from electron/update-chromium-upgrade-docs
Update Chromium Upgrade docs
2017-08-28 08:42:14 -07:00
Zeke Sikelianos
e1c4962312 add sh to code fences 2017-08-28 08:41:52 -07:00
Shohei YOSHIDA
55f2b524e7 Close window in order from newer one on macOS
A parent window is not closed if a child modal window still exists.
So a child window should be closed before parent window closed.
2017-08-28 13:56:05 +09:00
Ivan Mir
75b2915fee Change the parameter name for consistency 2017-08-27 11:53:25 -03:00
Tony Ganch
6a285e2e76 Update Chromium Upgrade docs 2017-08-27 17:51:47 +03:00
Aleksei Kuzmin
c4634f7e98 Update Chromium Upgrade docs 2017-08-27 17:51:47 +03:00
Zeke Sikelianos
87d4666648 Merge pull request #10356 from electron/update-browser-window-docs
update browser-window.md
2017-08-26 20:03:55 -07:00
Vanessa Yuen
deb7ccbef3 fix lint error 2017-08-25 17:24:50 -04:00
Vanessa Yuen
bb153ee79e update browser-window.md
Add a note about the subtle difference between `window.onbeforeunload = handler` and `window.addEventListener('beforeunload', handler)`.
2017-08-25 17:14:20 -04:00
Owais Lone
dc43dc2a13 Add support for indicators in Ubuntu Gnome Session
Ubuntu is switching to Gnome in 17.10 but it's not going to be the stock Gnome session. It's going to support the existing Unity APIs. Support has already landed for application indicators and likely other APIs (Launcher,etc) will be supported soon. The Ubuntu Gnome session will have `XDG_CURRENT_DESKTOP=ubuntu:GNOME` environment variable.

Ref: https://didrocks.fr/2017/08/23/ubuntu-gnome-shell-in-artful-day-7/
2017-08-25 23:25:08 +05:30
sungpark
65eb4e1994 fix compile error 2017-08-24 14:31:25 -07:00
Ivan Mir
6717f0d2bb Add accessibility setter to the app 2017-08-24 11:22:28 -03:00
Cheng Zhao
6a93052f7d Merge pull request #10298 from electron/update-external-binaries
Bump external binaries to 1.2.2
2017-08-24 19:29:13 +09:00
Samuel Attard
7ecac42214 Merge pull request #10232 from electron/drag-browser-view
Add -webkit-app-region support to BrowserView
2017-08-24 10:30:56 +10:00
Felix Rieseberg
fdfbf3abfa 🔧 Respect the header 2017-08-23 17:26:18 -07:00
Felix Rieseberg
a44c2d5dcc 🔧 Extend interface 2017-08-23 16:10:31 -07:00
sungpark
f984bd2ff5 use spaces instead of hard tabs for indentation and add the supported modules as a sub-list 2017-08-23 10:52:02 -07:00
sungpark
eca7ff986c add webFrame to sandboxed renderer 2017-08-23 10:52:02 -07:00
sungpark
bf07c5aebd fix contextIsolation issue while webPreference sandbox is on
contextIsolation didn't work while sandbox is on. The fix is contextIsolation picked up while sandbox on
2017-08-23 10:52:02 -07:00
Liu Siyuan
e64d4e5bd7 update web-content.md based on review 2017-08-23 23:37:37 +08:00
Liu Siyuan
15d2cfe458 update docs 2017-08-23 23:04:00 +08:00
Zeke Sikelianos
88b3109137 change backport branch creation steps 2017-08-22 21:03:03 -07:00
Siyuan Liu
5cb58cd42f use nullptr instead of nullptr_t() 2017-08-23 09:30:58 +08:00
Zeke Sikelianos
485b9099f1 Merge pull request #10328 from electron/bump-@types-node-to-8
bump @types/node to 8
2017-08-22 15:03:04 -07:00
Felix Rieseberg
cd5cd25f74 🔪 Bonus colon 2017-08-22 11:14:21 -07:00
Zeke Sikelianos
18e7354b4a bump @types/node to 8 2017-08-22 11:01:40 -07:00
Ivan Mir
9605e6cb40 Add documentation for macOS accessibility 2017-08-22 13:01:33 -03:00
Vladimir Krivosheev
d3f30e7a9c docs: add note about electron-updater 2017-08-22 16:51:57 +02:00
Cheng Zhao
1f604c0826 Merge pull request #10219 from HAMIDx9/master
Add arm64 build support
2017-08-22 17:02:23 +09:00
Cheng Zhao
2bfc2be8c9 Merge pull request #10279 from electron/fix-10279
Fix 'BrowserWindow module "webPreferences" option "sandbox" option can print to PDF'
2017-08-22 15:25:37 +09:00
Cheng Zhao
d233fc044a Pass dpiVertical and dpiHorizontal to print settings 2017-08-22 13:54:49 +09:00
Michael Kaylan
b4428e7e41 🍎 Add macOS native tab methods to window API 2017-08-21 23:24:30 -04:00
Aleksei Kuzmin
8b55e6e2f5 Revert "Disable a failing test"
This reverts commit 9487222726.
2017-08-22 11:49:53 +09:00
Cheng Zhao
94ab1c790f Verify arm64 builds in prerelease 2017-08-22 10:08:27 +09:00
Cheng Zhao
de67e42fc9 Update breakpad for ia32/arm fix 2017-08-22 10:02:51 +09:00
Cheng Zhao
136857952e Add arm64 task in travis ci 2017-08-22 10:02:51 +09:00
HAMIDx9
cd42133651 Add arm64 build support 2017-08-22 10:02:51 +09:00
Cheng Zhao
0c93e4b8d7 Merge pull request #10318 from electron/module-version
Use 57 as node module version in Electron 1.8
2017-08-22 10:02:15 +09:00
Cheng Zhao
f954b60119 Use 57 as node module version
This matches Node v8, which uses 57 for V8 5.8 - 6.0.
2017-08-22 09:24:18 +09:00
Cheng Zhao
565ece6986 Merge pull request #10308 from electron/native-view
Add WebContents.getNativeView() API
2017-08-22 09:19:27 +09:00
Felix Rieseberg
f0680587fa 🔧 Linter fascism 2017-08-21 16:52:59 -07:00
Charlie Hess
f17bd040ad Merge pull request #10293 from electron/notification-sounds
Add support for soundName in main process notifications
2017-08-21 16:15:47 -07:00
Zeke Sikelianos
b1011768e5 Merge pull request #10251 from electron/new-update-docs
New guide for implementing updates
2017-08-21 15:22:43 -07:00
Zeke Sikelianos
b6787dbbb3 link to updates guide from docs readme 2017-08-21 15:22:13 -07:00
Zeke Sikelianos
1731359a17 tweak the updates guide 2017-08-21 15:19:59 -07:00
Charlie Hess
f2c0d1f0c5 📝 Little cleanup. 2017-08-21 13:56:10 -07:00
Charlie Hess
db081d95d5 Review CommentZ. 2017-08-21 13:53:50 -07:00
Zeke Sikelianos
a50e36d256 Merge pull request #10304 from kyo-ago/patch-1
Fix typo on japanese document
2017-08-21 09:17:26 -07:00
Zeke Sikelianos
6c60c6ca76 Merge pull request #10306 from lisurc/patch-1
📝 Fix markdown syntax
2017-08-21 09:14:56 -07:00
Cheng Zhao
2c1984b6ed Add WebContents.getNativeView API 2017-08-21 19:50:12 +09:00
Cheng Zhao
dede3d6213 Merge pull request #10280 from electron/fix-10280
Fix 'BrowserWindow module window states resizable state works for a frameless window'
2017-08-21 19:28:13 +09:00
Cheng Zhao
70fd42808e Fix build on Linux 2017-08-21 17:42:45 +09:00
Cheng Zhao
19323c88f9 win: Fix "thickFrame: false" not working for normal window 2017-08-21 17:21:59 +09:00
Aleksei Kuzmin
c0331673da Revert "Disable a failing test"
This reverts commit 25c0cf0612.
2017-08-21 16:48:24 +09:00
Siyuan Liu
eeb2e58ad8 return null when theme color is not found 2017-08-20 22:48:13 +08:00
Bastien
39c2a4721b 📝 Fix markdown syntax
Also fix some grammar and syntax typing mistakes.
[ci skip]
2017-08-19 22:29:34 +02:00
Ivan Mir
94dd068e15 Special attribute for macOS accessibility #7206
In the linked issue we were discussing that Electron apps are inaccessible unless VoiceOver is enabled. While it's a working solution for users with vision impairment, all other users and apps that require accessibility can't interact with Electron-based software because they don't keep VoiceOver running.

I suggest adding `AXManualAccessibility` for programmatically enabling it in Electron apps. The reason for a new attribute is that `AXEnhancedUserInterface` is already reserved by VoiceOver.

Adding this attribute will allow both Electron developers and 3rd party developers to enable and disable accessibility from their code by calling `accessibilitySetValue:forAttribute:` on the application.

It will be also possible to create a small utility app to switch accessibility in Electron-based apps until there's a native UI solution (like the accessibility settings page in Chrome).
2017-08-19 17:18:12 -03:00
kyo_ago
8695672082 fix typo 2017-08-19 15:37:07 +09:00
Samuel Attard
15db4ee450 Merge pull request #10275 from electron/windowclose-exception
Fixing uncaught exception on window close
2017-08-19 13:58:55 +10:00
Mathieu Débit
81f7b422e4 📝 Fix desktopCapturer example (#10303)
[ci skip]

Based on MDN example:
https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Examples
2017-08-18 22:02:28 +02:00
Josh Abernathy
766b604de5 Bump external binaries to 1.2.2 2017-08-18 08:20:07 -04:00
Cheng Zhao
ac6a44f0ac Merge pull request #10273 from rhysd/doc-fix-optional-args
fix some optional args docs
2017-08-18 19:07:56 +09:00
Charlie Hess
2b9b186fd1 Rename soundName → sound. 2017-08-17 17:28:14 -07:00
Charlie Hess
0cfae1cc2b Plumb in the macOS soundName property for notifications. 2017-08-17 13:31:20 -07:00
Hari Juturu
340431750b Removing try/catch 2017-08-17 10:56:37 -07:00
Cheng Zhao
4bc4a0c45b Merge pull request #10289 from electron/fix-compile
Fix compilation on mac
2017-08-17 17:41:13 +09:00
rhysd
01f549628f fix signature of <webview>.executeJavaScript 2017-08-17 17:06:30 +09:00
Cheng Zhao
9c552644d8 Fix compilation on mac 2017-08-17 16:47:12 +09:00
Cheng Zhao
f6792c0232 Merge pull request #10264 from electron/fix-sandbox-crash-on-background-tab
Fix sandbox crash when opening a background tab
2017-08-17 15:57:29 +09:00
Cheng Zhao
ecff620528 Merge pull request #10081 from renaesop/master
Add a callback option to `webContents.print`
2017-08-17 15:56:02 +09:00
Cheng Zhao
f908678e8e Merge pull request #10183 from andens/mouse_forward
Mouse forward functionality on Windows
2017-08-17 15:54:22 +09:00
Vanessa Yuen
32121b9c38 Merge pull request #10283 from electron/welcome-probots-config
add welcome probots
2017-08-16 15:56:19 -04:00
Vanessa Yuen
c4d1fb929c Update config.yml 2017-08-16 15:04:34 -04:00
Vanessa Yuen
65908bbb87 Create config.yml 2017-08-16 14:54:10 -04:00
John Kleinschmidt
44481db1ee Merge pull request #9946 from electron/upgrade-to-chromium-59
Upgrade to Chromium 59
2017-08-16 10:00:34 -04:00
Aleksei Kuzmin
5543bfc278 Use the latest libcc version with Chromium 59 2017-08-16 14:29:03 +03:00
Andreas Flöjt
d4bbd7c7ab Add example of using mouse forwarding. 2017-08-16 03:28:52 +02:00
Andreas Flöjt
814702f5b8 Cleanup potential mouse forwarding resources when window is destroyed. 2017-08-16 03:28:07 +02:00
Felix Rieseberg
6191e6e787 🔧 Implement feedback 2017-08-15 16:14:58 -07:00
Hari Juturu
9120774c00 Fixing uncaught exception on window close 2017-08-15 14:59:48 -07:00
Leo Lamprecht
78c87d4bd3 Made dialog message clear 2017-08-15 22:55:55 +02:00
Zeke Sikelianos
5f82168213 lint 2017-08-15 13:09:06 -07:00
Zeke Sikelianos
a84d49fe5c add newline 2017-08-15 13:06:45 -07:00
Zeke Sikelianos
2ec223ba11 use an arrow function 2017-08-15 13:04:52 -07:00
Zeke Sikelianos
35b2bc6b51 implement a dialog in the download handler 2017-08-15 12:53:46 -07:00
Leo Lamprecht
68250d80cd Improved error logging 2017-08-15 21:38:31 +02:00
rhysd
2edf4da859 fix some optional args docs 2017-08-16 02:23:36 +09:00
Michael Kaylan
7741a0e6ad 🍎 Add roles for macOS native tab menu items
Fixes #9086, #10064.
2017-08-15 11:30:39 -04:00
Aleksei Kuzmin
25c0cf0612 Disable a failing test
BrowserWindow module window states resizable state works for a frameless window
2017-08-15 16:19:29 +03:00
Aleksei Kuzmin
9487222726 Disable a failing test
BrowserWindow module "webPreferences" option "sandbox" option can print to PDF
2017-08-15 16:19:29 +03:00
Catalin Fratila
60b363fa3b Fixing Windows tray icon content menu - based on chrome/browser/ui/views/status_icons/status_icon_win.cc 2017-08-15 16:19:23 +03:00
Kevin Sawicki
90fbe5c06c Disable warnings in node.cc and string_bytes.cc 2017-08-15 16:19:23 +03:00
Kevin Sawicki
7226adee29 Upgrade node for windows build fixes 2017-08-15 16:19:23 +03:00
Kevin Sawicki
27c1612f44 Upgrade to node 8.2.1 2017-08-15 16:19:23 +03:00
Kevin Sawicki
fb6759b5e0 Downgrade to node 8.1.4 since 8.2.0 will be against v8 6.0 2017-08-15 16:19:23 +03:00
Kevin Sawicki
eabbac4ca1 Upgrade node for version module change 2017-08-15 16:19:23 +03:00
Kevin Sawicki
d943519fb4 Update text expectation for new --inspect-brk message 2017-08-15 16:19:23 +03:00
Kevin Sawicki
9d2aa6f1c7 Upgrade to node 8.2.0 2017-08-15 16:19:23 +03:00
Ales Pergl
9f8f95f4c9 Lock pixels before calling SkBitmap::getPixels and copy bitmap row-wise in case (stride != width) 2017-08-15 16:19:23 +03:00
John Kleinschmidt
924a345fac Try fix to boto on Trusty 2017-08-15 16:19:23 +03:00
John Kleinschmidt
59238a915e Require sudo 2017-08-15 16:19:23 +03:00
John Kleinschmidt
03d15809be Explicity use Precise for Travis CI 2017-08-15 16:19:23 +03:00
deepak1556
778772710a intialize WebTextCheckClient https://codereview.chromium.org/2791753003 2017-08-15 16:19:22 +03:00
Kevin Sawicki
fb02343ec0 Remove unneeded volumes and env 2017-08-15 16:19:22 +03:00
Kevin Sawicki
dc6e451010 Only start xvfb when tests will be run 2017-08-15 16:19:22 +03:00
Kevin Sawicki
1f71a2e94c Simplify xvfb init script 2017-08-15 16:19:22 +03:00
Kevin Sawicki
b407834ed7 Remove default 2017-08-15 16:19:22 +03:00
Kevin Sawicki
f1036f7305 Add xvfb-init.sh to docker context 2017-08-15 16:19:22 +03:00
Kevin Sawicki
c3e0e4682d Use xvfb from container on CI 2017-08-15 16:19:22 +03:00
Kevin Sawicki
a0fd37c8a3 Try always using DISPLAY=unix:99:0 on Linux CI 2017-08-15 16:19:22 +03:00
Kevin Sawicki
23b35af7f2 Use DISPLAY=:99.0 on Linux CI 2017-08-15 16:19:22 +03:00
Kevin Sawicki
ddefc08ec5 Remove command logging 2017-08-15 16:19:22 +03:00
Kevin Sawicki
f79a90161c Extend libcc Dockerfile for Electron Linux build 2017-08-15 16:19:22 +03:00
Kevin Sawicki
29dc06c89d Configure spec UI to run in docker container 2017-08-15 16:19:22 +03:00
Kevin Sawicki
5737f8b74e Remove unneeded nodenv setup 2017-08-15 16:19:22 +03:00
Kevin Sawicki
bbd1b325fb Initial docker-based linux builds 2017-08-15 16:19:22 +03:00
Kevin Sawicki
152d573fbd Build with jessie sysroot on ARM 2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
adaec2d32b Fix brightray.gyp 2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
b6f0d04813 net: remove CryptoModule class
https://codereview.chromium.org/2724013002
2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
fe0a96200d Use Jessie sysroot for building on amd64 and i386 2017-08-15 16:19:22 +03:00
Gellert Hegyi
c6ba812d79 re-enables OSR 2017-08-15 16:19:22 +03:00
Gellert Hegyi
6ab0a8a287 removes unused autoresizelock from osrrwhv 2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
90ec61fbe9 Revert "Enable OSR"
This reverts commit 5925d737afcd1b8dbbccc1d2b52ced025e291436.
2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
ba0c43e1fc Do not run navigator.getUserMedia related test on CI build machines 2017-08-15 16:19:22 +03:00
Gellert Hegyi
1d10654a22 fixes bitmap to canvas conversion 2017-08-15 16:19:22 +03:00
Gellert Hegyi
76d46ce509 adds compositor resize lock client implementation 2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
5ef668de64 Enable OSR 2017-08-15 16:19:22 +03:00
Gellert Hegyi
ca4a6e4692 fixes offscreen rendering on macos 2017-08-15 16:19:22 +03:00
Aleksei Kuzmin
1d132565c9 FIXME: enable_osr=0 2017-08-15 16:19:21 +03:00
Kevin Sawicki
7d1a49db48 Use kPointsPerInch instead of desired_dpi
Changed in https://codereview.chromium.org/2788343003
2017-08-15 16:19:21 +03:00
Kevin Sawicki
9945fc5148 Don't destroy menu delegate until OnMenuClosed fires 2017-08-15 16:19:21 +03:00
Kevin Sawicki
ad33e569d6 Register default layout provider 2017-08-15 16:19:21 +03:00
Kevin Sawicki
34fff57646 Grant the devtools access to the extension origins 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
4fc2b3e642 Make download item drags look like bookmark
https://codereview.chromium.org/2750253002
2017-08-15 16:19:21 +03:00
Kevin Sawicki
4bb95acc2b 👕 Remove linter errors 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
c7cf844bcd Update CHROME_VERSION_STRING 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
ba9b8719ac The Blink Rename 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
f4411889a9 Fix free memory calculation.
https://codereview.chromium.org/2558043007
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
627eb30409 The Blink Rename 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
b8b7d0ab1a Rename methods in autofill 2017-08-15 16:19:21 +03:00
Kevin Sawicki
45db999593 Extend blink::WebTextCheckClient in atom::api::SpellCheckClient 2017-08-15 16:19:21 +03:00
Tony Ganch
4d9f309888 Fix HasServiceWorker check
Revert cb2014f9e8ae0283e5f20d4e2167be1592228887.
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
e2fe95894f Require explicit selection of traits for LazyInstance
https://codereview.chromium.org/2733283002
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
e16e1e2854 Remove URLRequestJobFactory::IsHandledURL.
https://codereview.chromium.org/2783343002
2017-08-15 16:19:21 +03:00
Tony Ganch
90574160db Replace x/y in WebMouseEvent with proper getters/setters 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
b997c2ffc1 Don't call deprecated copyPixelsTo
don't call deprecated copyPixelsTo
https://codereview.chromium.org/2812853002

stop using copyPixelsTo -- deprecated
https://codereview.chromium.org/2798413002

remove unused SkBitmap::copyPixelsTo
https://skia-review.googlesource.com/c/13171/
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
f824b1e9d4 Migrate base::TaskRunner from Closure to OnceClosure
Migrate base::TaskRunner from Closure to OnceClosure
https://codereview.chromium.org/2637843002

Pass Callback to TaskRunner by value and consume it on invocation (1)
https://codereview.chromium.org/2726523002

Replace base::get with std::get
https://codereview.chromium.org/2797133002
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
48821a6d2a Fix compilation 2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
d09cab2e21 Migrate base::TaskRunner from Closure to OnceClosure
Migrate base::TaskRunner from Closure to OnceClosure
https://codereview.chromium.org/2637843002

Pass Callback to TaskRunner by value and consume it on invocation (1)
https://codereview.chromium.org/2726523002

Replace base::get with std::get
https://codereview.chromium.org/2797133002
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
ffbb16e854 Adds a basic offline check to InstallableManager.
https://codereview.chromium.org/2751343002
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
30fafc2772 Fix CompositorResizeLock to do something.
https://codereview.chromium.org/2773433003
2017-08-15 16:19:21 +03:00
Aleksei Kuzmin
9b8a77f0d8 Adds the ability for WebContentsDelegate to decide if event should be updated
https://codereview.chromium.org/2775553002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
d322769de8 WebMouseEvent coordinates are now fractional & private
https://codereview.chromium.org/2782893002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
faaeab7e4a Add EME support for new VP9 codec string in WebM.
https://codereview.chromium.org/2793163003
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
567646e624 Fix cc/paint skia type mismatches
https://codereview.chromium.org/2717943002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
adddff3ee2 Move PrefRegistrySimple to use unique_ptr<Value>
https://codereview.chromium.org/2784513002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
99e57f9072 Add display::GetDisplayNearestView
https://codereview.chromium.org/2751833004
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
6415f181ca Downloads: Added transient flag to download item and download database
https://codereview.chromium.org/2720613002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
bd971b6371 Added last_access_time to DownloadItem and History DB
https://codereview.chromium.org/2705283003
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
0adc887b32 [downloads] Allow download target determination to indicate an error.
https://chromium-review.googlesource.com/c/465526/
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
7c7300ff82 Make GetDisplayedNotifications asynchronous.
https://codereview.chromium.org/2749453002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
bda5e4efcb Moving LatencyInfo into a separate component.
https://codereview.chromium.org/2783973002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
cc350efbd8 Remove base::BinaryValue
https://codereview.chromium.org/2799093006
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
49fbb52b01 Add X509CertificateBytes which uses CRYPTO_BUFFER instead of macOS-native certificate types.
https://codereview.chromium.org/2746103003
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
3d700ee49f Remove base::Value::CreateNullValue
https://codereview.chromium.org/2792573002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
c7f2e2731c Allow content embedder to set a cursor for RenderWidgetHost
https://codereview.chromium.org/2808763009
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
1126719e7f Separate ContentSettingsClient out from LocalFrameClient
https://codereview.chromium.org/2786673002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
a20f633272 Remove base::StringValue
https://codereview.chromium.org/2664753002
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
fb7bd8f11e Remove desired DPI
https://codereview.chromium.org/2788343003
2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
7a4ca08a8d The Blink Rename 2017-08-15 16:19:20 +03:00
Aleksei Kuzmin
3939359354 Update clang revision to match Chromium 59.0.3071.104 2017-08-15 16:19:20 +03:00
Thiago de Arruda
1709b8e39d Fix sandbox crash when opening a background tab
When a link is clicked with the middle mouse button, chrome opens a window with
"background-tab" disposition. This is not currently handled in sandbox mode,
causing an api::WebContents to leak leading to eventual crash(since it has no
wrapper).

Also fix the event handler for "-add-new-contents" by having it call
`event.preventDefault()` when the window creation should be cancelled.
2017-08-15 09:55:39 -03:00
Cheng Zhao
a419fe75ca Merge pull request #10253 from electron/improvements-for-libcc-development
Improve development workflow with built libchromiumcontent
2017-08-15 19:40:06 +09:00
Leo Lamprecht
4ba4fe4f62 Examples for events 2017-08-15 11:38:54 +02:00
Leo Lamprecht
3062027bab Better wording about Now deployment 2017-08-15 11:29:28 +02:00
Leo Lamprecht
78f11df6e4 Full Windows section is back 2017-08-15 11:27:33 +02:00
Leo Lamprecht
3405596983 Brought back Windows section 2017-08-15 11:24:59 +02:00
Thiago de Arruda
d6fbf5f1bb Improve development workflow with built libchromiumcontent
- Add `--debug_libchromiumcontent` to build libchromiumcontent for debugging
  (shared library build).
- By default, only invoke `gclient sync` the first time to checkout chromium
  source tree. Add `--force_update_libchromiumcontent` switch to force updating.
- Document new options.

The goal is to allow faster edit/compile cycles when debugging/making changes
to libchromiumcontent.
2017-08-15 05:40:22 -03:00
renaesop
6d16eb81d2 Add a callback option to webContents.print 2017-08-15 14:44:24 +08:00
Zeke Sikelianos
6a872dd938 update the updates doc 2017-08-14 13:26:33 -07:00
Zeke Sikelianos
796664ef1c Merge pull request #10266 from electron/revert-10250-remove-preinstall-no-op
Revert "remove no-op preinstall script"
2017-08-14 11:34:44 -07:00
Zeke Sikelianos
10f2c80162 Revert "remove no-op preinstall script" 2017-08-14 11:33:32 -07:00
Andreas Flöjt
3d33da7696 Make mouse forward option of setIgnoreMouseMessages and update documentation. 2017-08-14 20:21:00 +02:00
Andreas Flöjt
60c0bf1636 Set up legacy window subclass and mouse hook during setForwardMouseMessages.
As opposed to when a legacy window is created/destroyed. This enables forwarding on a per-window basis.
2017-08-14 18:12:55 +02:00
Zeke Sikelianos
646a8eb753 Merge pull request #10250 from electron/remove-preinstall-no-op
remove no-op preinstall script
2017-08-13 21:19:29 -07:00
Zachary Flower
8a2c35023f 📝 Document simple fullscreen functionality [ci skip] 2017-08-13 00:58:28 -06:00
Zachary Flower
ba5fa2c8b1 Add support for simple (pre-Lion) fullscreen on Mac OS 2017-08-13 00:28:33 -06:00
Leo Lamprecht
235ae0989f Mention that the app needs to check for updates 2017-08-12 12:48:49 +02:00
Leo Lamprecht
837a34cf71 Indicate that Nuts supports private repositories 2017-08-12 12:44:21 +02:00
Leo Lamprecht
01f31edb95 Cut down platform notices a little 2017-08-12 01:30:29 +02:00
Leo Lamprecht
cfe914ff83 Fixed wording 2017-08-12 01:24:56 +02:00
Leo Lamprecht
06f4c1b337 Be clear about the usage example 2017-08-12 01:23:54 +02:00
Leo Lamprecht
3815ed8af4 Fixed a typo 2017-08-12 01:18:34 +02:00
Leo Lamprecht
c1a40fbd98 Linked guide about implementing updates 2017-08-12 01:10:20 +02:00
Leo Lamprecht
bb1627a69b Added guide for updates 2017-08-12 01:04:25 +02:00
John Kleinschmidt
ad90de0c82 Merge pull request #10230 from electron/prerelease
add a prerelease check
2017-08-11 16:41:08 -04:00
Zeke Sikelianos
0cd99d9815 remove no-op preinstall script 2017-08-11 12:18:51 -07:00
John Kleinschmidt
6956f2fc69 Merge pull request #10246 from electron/another-final-step-in-releasing
edit release on github after promoting to latest
2017-08-11 09:50:08 -04:00
Zeke Sikelianos
fd6aeda6f6 edit release on github after promoting to latest 2017-08-10 20:53:02 -07:00
Felix Rieseberg
b4bb00843b 🔧 Spaces for the Spacelord 2017-08-10 09:38:01 -07:00
Felix Rieseberg
4c48908a31 Merge branch 'drag-browser-view' of https://github.com/electron/electron into drag-browser-view 2017-08-10 09:36:12 -07:00
Zeke Sikelianos
404589d9b5 add more releasing tips 2017-08-10 09:26:22 -07:00
Felix Rieseberg
d913b53fea 🔧 Handle offset BrowserView 2017-08-10 08:00:21 -07:00
Cheng Zhao
c6289ef219 Merge pull request #10223 from ajmacd/shutdown-desktop-capturers
Ensure DesktopCapturers are destroyed when no longer needed.
2017-08-10 21:28:31 +09:00
Felix Rieseberg
47d652b5a2 🔧 Properly derive 2017-08-09 15:21:58 -07:00
Felix Rieseberg
7bfece1144 🔧 Make work with complex shapes 2017-08-09 15:21:58 -07:00
Felix Rieseberg
a55015d63d 🔧 Support older versions of macOS 2017-08-09 15:21:58 -07:00
Felix Rieseberg
a5dfb09037 🔧 Draggable (using the window’s regions) 2017-08-09 15:21:58 -07:00
Felix Rieseberg
ae5c8e63d9 🔧 Properly derive 2017-08-10 07:09:03 +09:00
Felix Rieseberg
ebe058e7cb 🔧 Make work with complex shapes 2017-08-09 14:53:36 -07:00
Zeke Sikelianos
96dd9b9ab8 update prerelease to check for files on s3 2017-08-09 13:40:52 -07:00
Vanessa Yuen
b81aab9eae Bump v1.7.6 2017-08-09 15:28:55 -04:00
Felix Rieseberg
fdd0d67fd3 🔧 Support older versions of macOS 2017-08-09 11:57:57 -07:00
Zeke Sikelianos
a16c4167eb standardize 2017-08-09 11:06:16 -07:00
Zeke Sikelianos
1a6f0ae437 add a prerelease check 2017-08-09 10:49:31 -07:00
Zeke Sikelianos
1e9109f3c6 Merge pull request #10225 from electron/more-installation-tips
add more installation tips
2017-08-08 20:55:15 -07:00
Zeke Sikelianos
3a1d6e7a42 recommend fixing permissions over using sudo 2017-08-08 20:43:57 -07:00
Felix Rieseberg
df66223f4c 🔧 Draggable (using the window’s regions) 2017-08-08 17:00:00 -07:00
Zeke Sikelianos
1e4232eb3a add more installation tips 2017-08-08 15:22:52 -07:00
Vanessa Yuen
aac9ea1371 Merge pull request #10172 from electron/publish-prebuilt
publish to npm directly from electron repo
2017-08-08 13:59:37 -04:00
Zeke Sikelianos
259e1f0804 restore links to translated READMEs 2017-08-08 10:55:09 -07:00
Zeke Sikelianos
525eedc036 remove prebuilt readme in favor of top-level readme 2017-08-08 10:20:30 -07:00
Zeke Sikelianos
bc090ac67a Merge branch 'publish-prebuilt' of https://github.com/electron/electron into publish-prebuilt 2017-08-08 10:18:45 -07:00
Zeke Sikelianos
58af0778b7 update the readme 2017-08-08 10:18:40 -07:00
Zeke Sikelianos
5ae01bceee add an installation guide 2017-08-08 10:18:22 -07:00
Vanessa Yuen
8db0a10372 use root README instead of the one for prebuilt 2017-08-08 13:12:49 -04:00
Zeke Sikelianos
3f295d6664 remove duplicate list of translations from readme 2017-08-08 09:28:43 -07:00
Vladimir Vainer
39c46a9b75 added comment to mention sk_tools_utils::copy_to 2017-08-08 13:06:39 +03:00
Vladimir Vainer
e6abfa959a Revert "Do not use deprecated deepCopyTo"
This reverts commit 517184b89b.
2017-08-08 13:02:20 +03:00
Zeke Sikelianos
d0130e1b09 Merge pull request #9988 from kant2002/patch-1
Allow TypeScript definitions work with strictNullChecks
2017-08-07 20:37:26 -07:00
John Kleinschmidt
72d2e176dd Merge pull request #10160 from liusy182/liusy182-10128-asar
Return empty string when fs.readFile with 'utf8' option from asar file
2017-08-07 21:42:15 -04:00
John Kleinschmidt
ccdff72ee4 Merge pull request #9918 from alexstrat/add-extensions-loading-api
Introduce Chrome extensions management APIs independent of Dev Tools Extensions
2017-08-07 20:06:22 -04:00
John Kleinschmidt
29331af767 Merge pull request #10209 from electron/rollback_debug_mode
Rollback debug mode changes
2017-08-07 18:21:50 -04:00
Kevin Sawicki
dfec48dd44 End response and set status code for unexpected URLs 2017-08-07 13:33:01 -07:00
Kevin Sawicki
8e989170f1 Revert "spec: Suppress the select-client-certificate test"
This reverts commit dc1269615a.
2017-08-07 12:57:01 -07:00
Kevin Sawicki
a7cb89aeb5 Revert "spec: Suppress the app.importCertificate test"
This reverts commit 5ccae79ea7.
2017-08-07 12:56:54 -07:00
Kevin Sawicki
210652ed54 Revert "spec: Suppress the test that destroys WebContents in event listener"
This reverts commit b315eb83fd.
2017-08-07 12:56:48 -07:00
John Kleinschmidt
3d5acdf682 Rollback debug mode changes 2017-08-07 15:54:44 -04:00
John Kleinschmidt
d06eeeede8 Merge pull request #10204 from electron/revert-9961-fix-window-opener
Revert "Fix window.opener being null when nativeWindowOpen is used"
2017-08-07 14:14:47 -04:00
Cheng Zhao
eeca6fcb55 Revert "Fix window.opener being null when nativeWindowOpen is used" 2017-08-07 19:50:23 +09:00
Andrew MacDonald
a8759a3176 Ensure DesktopCapturers are destroyed when no longer needed. 2017-08-04 15:06:58 -07:00
Zeke Sikelianos
f1f43c51bb Merge pull request #10190 from electron/update-releasing-guide
improve the releasing guide
2017-08-04 13:52:26 -07:00
Vanessa Yuen
5f1a683869 Merge pull request #10157 from runinspring/patch-2
Create keyboard-shortcuts
2017-08-04 13:46:16 -04:00
Cheng Zhao
63d7aee1a6 Merge pull request #9961 from electron/fix-window-opener
Fix window.opener being null when nativeWindowOpen is used
2017-08-04 21:18:47 +09:00
Andreas Flöjt
0736de1e8d Fix lint errors 2017-08-03 23:23:42 +02:00
Zeke Sikelianos
e8af45e130 document npm promotion 2017-08-03 13:24:18 -07:00
Zeke Sikelianos
01283c26a8 improve the releasing guide 2017-08-03 12:55:33 -07:00
Andreas Flöjt
12dbcfa2ea 📝 Documentation for setForwardMouseMessages. 2017-08-02 21:50:42 +02:00
Andreas Flöjt
a84fa0eecb 🏁 Add API to forward mouse messages.
As opposed to the existing setIgnoreMouseEvents this call makes Chromium aware of mouse movements, allowing the user to stop forwarding according to movements in the webpage.
2017-08-02 21:16:37 +02:00
Vanessa Yuen
c8e2e37146 Merge branch 'master' into publish-prebuilt 2017-08-02 14:57:28 -04:00
John Kleinschmidt
7961a97d7d Merge pull request #10181 from electron/mocha-grep-docs
Parse --grep and --invert for mocha
2017-08-02 14:03:34 -04:00
Kevin Sawicki
7cf34c6f62 Parse --grep and --invert for mocha 2017-08-02 10:57:15 -07:00
Cheng Zhao
5e06ac11e9 Merge pull request #10175 from electron/fix-more-crashes
Fix a few more crashes in tests
2017-08-02 19:03:13 +09:00
Cheng Zhao
dc1269615a spec: Suppress the select-client-certificate test
Not sure why it is not working
2017-08-02 16:07:46 +09:00
Cheng Zhao
7d7bb1581b spec: Disable crashReporter tests for some CI machines
Have no idea why it is failing on our CI machines, but at least Appveyor
works fine.
2017-08-02 15:54:50 +09:00
Cheng Zhao
5ccae79ea7 spec: Suppress the app.importCertificate test
I have no idea why it failed, somehow the page can not load with the
provided certificated.
2017-08-02 15:17:18 +09:00
Cheng Zhao
28959da2b7 spec: Fix the event test calling done for multiple times 2017-08-02 15:06:06 +09:00
Cheng Zhao
d166d08dd5 spec: Enable passing -g to test.py 2017-08-02 14:45:06 +09:00
Cheng Zhao
4e2cb549c7 Notify net error asyncronously
Notifying net error syncronously would result in crash.
2017-08-02 11:14:06 +09:00
Cheng Zhao
b315eb83fd spec: Suppress the test that destroys WebContents in event listener
It is crashing when Electron is built in Debug mode.
2017-08-02 11:14:06 +09:00
Cheng Zhao
bd697275c2 Ignore all node_modules/ dirs 2017-08-02 10:31:27 +09:00
Vanessa Yuen
c0f68af458 minor changes as per code review comments 2017-08-01 21:06:50 -04:00
Vanessa Yuen
f251799049 Merge pull request #10173 from electron/update-glosssary
update glossary entries for brightray, libcc, V8
2017-08-01 16:19:41 -04:00
Vanessa Yuen
6e86a95f5e remove package-lock from /npm 2017-08-01 16:15:24 -04:00
Vanessa Yuen
cc2edba049 remove github authentication since it's not needed to access published release assets on gh 2017-08-01 16:10:29 -04:00
Vanessa Yuen
511bd84ece work with published release instead of draft release
add beta/latest tag with `npm publish`
2017-08-01 16:08:30 -04:00
Vanessa Yuen
cd1c5103c7 remove unnecessary tests & dependencies from /npm 2017-08-01 16:07:51 -04:00
Zeke Sikelianos
5ab38f7674 update glossary entries for brightray, libcc, V8 2017-08-01 10:58:33 -07:00
Vanessa Yuen
1577360312 fix lint errors 2017-08-01 11:50:57 -04:00
Siyuan Liu
f56abac7a8 fix linting error 2017-08-01 17:52:48 +08:00
Vanessa Yuen
eaa63c880e add final "integration test" before running npm publish on the prebuilt 2017-08-01 00:50:40 -04:00
Cheng Zhao
761eca052a Merge pull request #10162 from electron/native-image-crashes
Fix crashes due to using Debug version of libc++
2017-07-31 17:11:28 +09:00
Cheng Zhao
0ee2ab8a6e Fix accessing empty vector in V8FunctionInvoker 2017-07-31 16:47:14 +09:00
Cheng Zhao
4b46eca329 spec: Always run crash-reporter at last
So when a test crashed we can always see the stack trace.
2017-07-31 16:36:52 +09:00
Cheng Zhao
9ced85d860 Terminate tests when renderer process crashed 2017-07-31 16:24:23 +09:00
Cheng Zhao
6ee95f9529 Fix crash when converting invalid image to JPEG 2017-07-31 15:48:54 +09:00
Cheng Zhao
a6c8329a68 Remove unneeded heap allocation 2017-07-31 15:45:59 +09:00
Cheng Zhao
2d644a1560 Merge pull request #10161 from electron/fix-cross-linux
Fix Linux ia32/arm build
2017-07-31 15:34:40 +09:00
Cheng Zhao
22bf43ecc0 Fix Linux ia32/arm build 2017-07-31 12:37:56 +09:00
Cheng Zhao
e10ebfa7f3 Merge pull request #10148 from electron/fix-arm-deps
Fix conflicting dependencies for building arm
2017-07-31 11:16:20 +09:00
Cheng Zhao
a7035b08d5 Merge pull request #10070 from electron/fix-dbus-menu
Only update dbus menu when it has been changed
2017-07-31 10:42:08 +09:00
Cheng Zhao
5b7cf19ced Merge pull request #10099 from electron/leak-node-environment
Leak the Node environment when context is released
2017-07-31 10:41:45 +09:00
Siyuan Liu
5a48c1feed fixes 10128 2017-07-31 09:32:45 +08:00
Samuel Attard
bd99bcbf64 Fix typo in comment 2017-07-31 11:00:00 +10:00
Samuel Attard
32327b77a5 Remove unneeded check but document why it is not there now 2017-07-31 10:47:25 +10:00
ZhangYu
783ba397e7 Create keyboard-shortcuts 2017-07-30 22:31:23 +08:00
Samuel Attard
3ac2f674bc Fix nativeWindowOpen's opener being null 2017-07-29 19:21:28 +10:00
John Kleinschmidt
d38c9a4644 Merge pull request #10138 from electron/improve-linux-build-instructions
improve linux build instructions
2017-07-28 16:36:04 -04:00
John Kleinschmidt
b17d34a88c Update with better instructions for building libchromiumcontent 2017-07-28 16:27:33 -04:00
John Kleinschmidt
7d8f62293f Fix conflicting dependencies for building arm 2017-07-28 12:24:44 -04:00
Birunthan Mohanathas
20ae611dd9 Merge pull request #10097 from liusy182/liusy182-browserview
#10039 add BrowserView.fromId
2017-07-28 01:27:47 +03:00
John Kleinschmidt
fa8d12cb66 Merge pull request #10126 from electron/fix-travis
Fix No module named google_compute_engine error
2017-07-27 17:21:23 -04:00
Zeke Sikelianos
5e7651d282 Merge pull request #10131 from alopix/patch-1
Remove mention of SegmentedControl in description
2017-07-27 11:09:11 -07:00
Zeke Sikelianos
c62d1bbf41 improve linux build instructions 2017-07-27 10:29:41 -07:00
Zeke Sikelianos
6dfc7dc489 Merge pull request #10133 from electron/fix-scrubber-continuous
Fix Scrubber touch bar item defaults
2017-07-27 10:19:36 -07:00
Samuel Attard
59e85c0f33 Fix stupid or check in scrubber defaults 2017-07-27 17:49:05 +10:00
Shelley Vohr
768e8388d2 Merge pull request #10125 from electron/autoupdater_prefix_error_string
prefix autoupdater error with statuscode and domain
2017-07-26 23:49:08 -07:00
Dustin
bdc7d38f48 Removed mention of SegmentedControl in description 2017-07-27 07:51:19 +02:00
Samuel Attard
f385e19594 Indenting stuff 2017-07-27 11:54:06 +10:00
Shelley Vohr
ed717a9b45 revert accidental overbeautification 2017-07-26 18:41:25 -07:00
Shelley Vohr
24ab5075e7 appease the linter 2017-07-26 18:29:10 -07:00
Shelley Vohr
919d7fa22e Add header declarations in auto_updater 2017-07-26 18:10:09 -07:00
Shelley Vohr
8cf00fece6 add onError with three params and move to atom-auto-updater 2017-07-26 17:33:32 -07:00
John Kleinschmidt
85d76acebb Fix No module named google_compute_engine error 2017-07-26 14:18:55 -07:00
Shelley Vohr
1cfd20f861 prefix autoupdater error with statuscode and domain 2017-07-26 14:18:53 -07:00
Zeke Sikelianos
2467d91f27 Merge pull request #10127 from electron/fix-heading-levels-for-class-docs
fix heading levels for class docs
2017-07-26 14:16:21 -07:00
Zeke Sikelianos
1811b0cbda fix heading levels for class docs 2017-07-26 13:02:40 -07:00
Vanessa Yuen
cb93f035aa fix previous merge conflict resolution for .gitignore 2017-07-26 15:22:06 -04:00
Vanessa Yuen
0c3d15d890 Merge branch 'master' into publish-prebuilt 2017-07-26 15:07:33 -04:00
John Kleinschmidt
e80f9d7e49 Merge pull request #10116 from electron/ignore-npmrc
ignore .env and .npmrc
2017-07-26 11:05:17 -04:00
Zeke Sikelianos
ac248e79a4 Merge pull request #10113 from lsegal/patch-1
Mark certain Notification options as optional
2017-07-25 17:04:13 -07:00
Zeke Sikelianos
f0a12af707 ignore node-inspect's npmrc 2017-07-25 16:59:35 -07:00
Zeke Sikelianos
98d27d5abb gitignore .env and .npmrc 2017-07-25 16:58:12 -07:00
Zeke Sikelianos
3f53524b90 sort gitignore alphabetically 2017-07-25 16:57:35 -07:00
Zeke Sikelianos
1d9adbd0cf nothing 2017-07-25 16:54:30 -07:00
Zeke Sikelianos
2be31c1c0d Merge pull request #10062 from joe-re/translate-keyboard-shortcut-doc-to-japanese
translate keyboard shortcuts doc to japanese
2017-07-25 16:32:24 -07:00
Zeke Sikelianos
71602f106b Merge pull request #10085 from electron/fix-windows-store-guide-typo
fix typo in windows store guide
2017-07-25 16:30:18 -07:00
Zeke Sikelianos
3980f66f05 Merge pull request #10103 from fab1an/doc-fixes
consistency updates for the docs
2017-07-25 16:23:11 -07:00
Loren Segal
205954fa27 Mark certain Notification options as optional
This change makes the `subtitle` and `actions` options optional to the
Notification constructor, since they are only available on macOS.
2017-07-25 13:24:15 -04:00
Fabian Zeindl
5db02ffaa9 updates to the docs 2017-07-24 10:29:45 +02:00
Cheng Zhao
cb3c5ded0f Merge pull request #9975 from wayne-kim/patch-5
this code is not care a bubbling event
2017-07-24 16:07:44 +09:00
Cheng Zhao
bd87982b5c Merge pull request #10075 from alexstrat/fix/fix-content_scripts-match
Fix content scripts matches
2017-07-24 15:27:55 +09:00
Cheng Zhao
0719650315 Leak the Node environment when context is released 2017-07-24 14:56:56 +09:00
Cheng Zhao
25f168cecb Merge pull request #9951 from alexstrat/fix-chrome-storage
Fix chrome storage access scope
2017-07-24 14:01:15 +09:00
Siyuan Liu
ae7c1ae741 #10039 add BrowserView.fromId 2017-07-24 11:32:30 +08:00
Aleš Pergl
54e03d6edd Merge pull request #10053 from electron/debug_mode 2017-07-23 00:44:45 +02:00
Ales Pergl
8e34aad410 Fixed invalid empty vector subscript access 2017-07-22 14:45:50 +02:00
Ales Pergl
bdbf9e5d6a Suppress assert dialog boxes when running CI tests 2017-07-22 14:45:50 +02:00
Ales Pergl
cd9d0c1b0f Enabled true debug mode 2017-07-22 14:45:46 +02:00
Kevin Sawicki
fac32e52fc Merge pull request #10071 from electron/update-external-binaries
Update the external binaries version
2017-07-21 09:04:50 -07:00
Zeke Sikelianos
840dba385a fix type in windows store guide 2017-07-21 08:26:39 -07:00
Alexandre Lachèze
a2ba4e0a6a fix content scripts matches 2017-07-20 20:01:49 +02:00
Alexandre Lachèze
498f344e2e Correct mkdir 2017-07-20 19:50:55 +02:00
Josh Abernathy
ad14ccd195 Update the external binaries version 2017-07-20 10:04:21 -04:00
Cheng Zhao
edc2dae496 Make the status string shorter 2017-07-20 22:45:06 +09:00
Cheng Zhao
74df5f84fd Only update dbus menu when it has been changed
The dbus menu implementaion of KDE would send the about-to-show signal
whenever the menu has been changed, resulting in infinite loop on our
side.
2017-07-20 20:50:14 +09:00
joe-re
71ebb0d3e6 translate keyboard shortcuts doc to japanese 2017-07-20 02:56:23 +09:00
Zeke Sikelianos
3283238555 Merge pull request #10058 from electron/installation-woes-q-and-a
add installation advice to FAQ
2017-07-19 09:35:26 -07:00
Cheng Zhao
52c6c7e676 Merge pull request #9819 from ferreus/dev/vladimir_fix9231
🐛 Fix #9231: Don't load url when detached.
2017-07-19 11:15:30 +09:00
Zeke Sikelianos
eeeee2cde8 Merge pull request #9989 from electron/check-for-leaks
check for secrets before git push and npm publish
2017-07-18 15:30:03 -07:00
Zeke Sikelianos
f5ed6c36cc add installation advice to FAQ 2017-07-18 13:23:03 -07:00
Vanessa Yuen
40555371ba add tests for npm install 2017-07-18 13:38:57 -04:00
Kevin Sawicki
959231f766 Merge pull request #9834 from shubham2892/input-type-file-treating-packaged-app-as-directory
Fix treat packaged app as directory
2017-07-18 10:21:07 -07:00
Kevin Sawicki
7db3009234 Remove s 2017-07-18 10:19:00 -07:00
Kevin Sawicki
908c1fdfa0 Mark treatPackageAsDirectory as mac only 2017-07-18 10:18:23 -07:00
Shubham
b25a1d10a2 🍎 Add treatPackageasDirectory as an option 2017-07-18 10:13:25 -07:00
Kevin Sawicki
1d9f69e742 Merge pull request #10008 from qazbnm456/fix-pdf-viewer
Fix a query string parsing problem happend to PDF Viewer
2017-07-18 09:10:55 -07:00
Kevin Sawicki
2bac358064 Merge pull request #10015 from electron/input-dialog-filter-titles
Add filter descriptions for common accept types
2017-07-18 09:10:11 -07:00
Kevin Sawicki
5b9d31d3ff Bump v1.7.5 2017-07-17 12:45:30 -07:00
Kevin Sawicki
8ae7401f7c Merge pull request #10050 from electron/native-window-open-experimental
Mark nativeWindowOpen as experimental
2017-07-17 12:45:04 -07:00
Kevin Sawicki
a2554080ea Mark nativeWindowOpen as experimental 2017-07-17 12:40:59 -07:00
Kevin Sawicki
c567448cf6 Merge pull request #10049 from electron/debugging-typo
fix typo in macOS debugging doc
2017-07-17 12:39:14 -07:00
Kevin Sawicki
65fe703dc2 Merge pull request #9972 from electron/merge-web-preferences
Inherit webPreferences in windows opened via sandbox or nativeWindowOpen
2017-07-17 12:38:50 -07:00
Zeke Sikelianos
34c27468dd fix typo in macOS debugging doc 2017-07-17 12:12:44 -07:00
Kevin Sawicki
fc53ac3d38 Always register closed listeners 2017-07-17 11:55:16 -07:00
Kevin Sawicki
208be2a542 Set preload script on opened windows 2017-07-17 11:55:16 -07:00
Kevin Sawicki
fdb1fddc26 Only reset preferences when conversion succeeds 2017-07-17 11:55:16 -07:00
Kevin Sawicki
3925bfde8e Add spec for reloading opened window cross-origin 2017-07-17 11:55:15 -07:00
Kevin Sawicki
0c8f773dec Remove debug logging 2017-07-17 11:55:15 -07:00
Kevin Sawicki
9d7c2e2294 Add specs for nativeWindowOpen inheritance and new-window support 2017-07-17 11:55:15 -07:00
Kevin Sawicki
86b1deedfa Inherit enabled-sandbox in opened windows 2017-07-17 11:55:15 -07:00
Kevin Sawicki
c71b0a5441 Add spec for configuring web preferences from sandboxed new-window event 2017-07-17 11:55:15 -07:00
Kevin Sawicki
06e60e5d4d Map pending process id to webContents for frame host initiating navigation 2017-07-17 11:55:15 -07:00
Kevin Sawicki
34c5abfe43 Update web preferences when creating with existing webContents 2017-07-17 11:55:15 -07:00
Kevin Sawicki
61167ca296 Inherit nativeWindowOpen from parent window 2017-07-17 11:55:15 -07:00
Kevin Sawicki
553021bc9c Only assign opener when not using nativeWindowOpen 2017-07-17 11:55:15 -07:00
Kevin Sawicki
25e1ed97b5 Use constants from content_switches.h 2017-07-17 11:55:15 -07:00
Kevin Sawicki
eb0022363e Merge pull request #10048 from electron/revert-debug-build-9934
Revert #9934
2017-07-17 11:54:25 -07:00
Kevin Sawicki
968759b823 Revert "Suppress assert dialog boxes when running CI tests"
This reverts commit 3574bcacca.
2017-07-17 10:05:21 -07:00
Kevin Sawicki
fa7c006a3d Revert "Enabled true debug mode"
This reverts commit df90fb7f75.
2017-07-17 10:05:12 -07:00
Kevin Sawicki
0298f9e00a Merge pull request #10046 from omerfarukozdemir/master
Update readme.md
2017-07-17 09:48:19 -07:00
Ales Pergl
3574bcacca Suppress assert dialog boxes when running CI tests 2017-07-17 17:59:40 +02:00
Ales Pergl
df90fb7f75 Enabled true debug mode 2017-07-17 17:59:40 +02:00
Ömer Faruk ÖZDEMİR
3e946dfe55 Update readme.md
Typo fix
2017-07-17 17:25:36 +03:00
Vladimir Vainer
e0518444da Minor changes to match style, init variables 2017-07-17 16:52:02 +03:00
Cheng Zhao
a43553aa25 Merge pull request #9962 from ferreus/dev/vladimir_fix_8768
Fix #8768: Show() on already open modal
2017-07-17 10:49:18 +03:00
Zeke Sikelianos
fb519274e0 Merge pull request #10004 from TiagoDanin/RevisionDoc-PT_BR
[docs-translations] Correct words in PT-BR
2017-07-15 21:47:37 -07:00
Vladimir Vainer
517184b89b Do not use deprecated deepCopyTo 2017-07-16 06:33:37 +03:00
Boik
01d021e6a3 add a new spec for https://github.com/electron/electron/pull/10008 2017-07-15 15:00:30 +08:00
Boik
4fb1fffe44 fix lint 2017-07-15 10:57:16 +08:00
Boik
8d6ee5aad2 add some minor fixes 2017-07-15 10:34:25 +08:00
Kevin Sawicki
0b13ccac34 Merge pull request #9855 from electron/paulcbetts-patch-1
Recommend electron-forge in auto-updater, fix some Windows stuffs
2017-07-14 14:33:39 -07:00
Kevin Sawicki
03c8943997 Merge pull request #9953 from alexstrat/fix-content-scripts-url-used-in-match
Fix page's URL used to test against content_scripts[].matches
2017-07-14 14:16:42 -07:00
Kevin Sawicki
42496e1231 Merge pull request #9947 from njbmartin/patch-1
Add known issue to MAS submission guide
2017-07-14 14:10:22 -07:00
Kevin Sawicki
1ade2dbfa2 Minor formatting changes to shell.openItem issue 2017-07-14 14:10:06 -07:00
Kevin Sawicki
5581d1d652 Merge pull request #9788 from shubham2892/Add-option-to-show-title-text-in-titlebar-in-fullscreen
Add alwaysShowTitleTextInFullscreen flag
2017-07-14 11:58:12 -07:00
Kevin Sawicki
c4ffb91190 🎨 2017-07-14 11:49:40 -07:00
Kevin Sawicki
9102c07ec7 always_show_title_text_in_full_screen -> fullscreen_window_title 2017-07-14 11:48:10 -07:00
Kevin Sawicki
c4956132d2 Add filter descriptions for common accept types 2017-07-14 11:04:06 -07:00
Kevin Sawicki
720755e124 Merge pull request #9745 from yuya-oc/input-allow-all-files
Add 'All Files (*.*)' filter for <input> file dialog
2017-07-14 10:41:11 -07:00
Kevin Sawicki
0a71a9b992 Merge pull request #9695 from shubham2892/alwaysOnTop-window-disappears-when-restored-fix
Fix an issue where alwaysOnTop window disappears when restore…
2017-07-14 10:09:13 -07:00
Kevin Sawicki
4935e8567f Initialize level_ in initWithShell 2017-07-14 10:07:06 -07:00
Kevin Sawicki
48f5a66f87 Merge pull request #9983 from electron/devtools-mixed-sandbox
Fix devtools open in mixed sandbox
2017-07-14 09:41:56 -07:00
Birunthan Mohanathas
149c723c51 Merge pull request #10003 from electron/disabledomainblocking
Add app.disableDomainBlockingFor3DAPIs()
2017-07-14 16:40:27 +03:00
Boik
9a7651a93f fix a pdf-viewer's parsing logic, and this should resolve the related issue at https://github.com/electron/electron/issues/10007 2017-07-14 12:09:14 +08:00
TiagoDanin
c0cf679ed0 Correct words in PT-BR 2017-07-13 21:23:23 -03:00
Birunthan Mohanathas
812b529881 Add app.disableDomainBlockingFor3DAPIs()
By default, Chromium disables 3D APIs (e.g. WebGL) until restart on a
per domain basis if the GPU processes crashes too frequently. This
function disables that behaviour.
2017-07-14 01:41:43 +03:00
Vanessa Yuen
663710e8eb script to publish electron to npm directly 2017-07-13 17:09:21 -04:00
Kevin Sawicki
1d32f300f3 Merge pull request #9991 from electron/surface-runas-require-errors
Surface require errors via answer IPC message
2017-07-13 08:55:06 -07:00
Kevin Sawicki
60f563ae5f Surface require errors so spec does not hang 2017-07-13 08:36:58 -07:00
Zeke Sikelianos
0b1d264fc8 check for secrets before git push and npm pack 2017-07-12 10:18:40 -07:00
Andrey Kurdyumov
189be18dd2 Allow TypeScript definitions work with strictNullChecks
See https://github.com/electron/electron-typescript-definitions/issues/25
2017-07-12 20:29:32 +06:00
Hari Juturu
80bd6a3e91 🎨 2017-07-11 18:36:01 -07:00
Hari Juturu
9a3b78d9fe Fix devtools open in mixed sandbox mode 2017-07-11 18:36:00 -07:00
Zeke Sikelianos
30df0f3306 Merge pull request #9974 from wan-qy/master
Fix typo
2017-07-11 11:31:39 -07:00
Wayne Loopy
bc0f3b1bf8 this code is not care a bubbling event
So If you do not care bubbling equally, I think it should change like this.
2017-07-11 15:44:08 +09:00
wan-qy
7c2467b221 Fix typo 2017-07-11 10:55:59 +08:00
Kevin Sawicki
0a1b5a0d7e Merge pull request #9959 from electron/add-OSR-to-glossary
add OSR to glossary
2017-07-10 17:56:05 -07:00
Alexandre Lachèze
ec8407c65d Recursively mkdir the parent directories 2017-07-11 00:56:45 +02:00
Alexandre Lachèze
c85f3cbd2c Change storage implementation to async 2017-07-11 00:35:53 +02:00
Alexandre Lachèze
9aac8967aa 👕 2017-07-10 23:56:44 +02:00
Alexandre Lachèze
969c74b886 Use es6 string templating 2017-07-10 23:50:59 +02:00
Kevin Sawicki
8ae55dae6c Merge pull request #9967 from electron/upgrade-libcc
Upgrade to electron/libchromiumcontent@8cfd08f84e
2017-07-10 14:31:28 -07:00
Kevin Sawicki
adc5e9693c Upgrade to electron/libchromiumcontent@8cfd08f84e 2017-07-10 08:23:32 -07:00
Kevin Sawicki
6341749b82 Merge pull request #9963 from wayne-kim/patch-3
404 Error
2017-07-10 08:19:53 -07:00
Zeke Sikelianos
0dcedff24b Merge pull request #9964 from Raul6469/master
Fix french language mistakes in documentation
2017-07-09 15:21:16 -07:00
Victor
9ff054d82f One more correction 2017-07-09 18:01:13 +02:00
Raul6469
882f1002d5 Fix french language mistakes in documentation 2017-07-09 09:48:39 +02:00
Wayne Loopy
b486814c77 404 Error
i think should remove a "s" in tutorial"s"/mac-app-store-submission-guide.md
2017-07-09 14:26:35 +09:00
Vladimir Vainer
5f2dd2ef6c Fix #8017: Crash copying croped image to clipboard 2017-07-09 06:56:14 +03:00
Vladimir Vainer
42cb3461af 🐛 Fix #9231: Don't load url when detached. 2017-07-09 06:54:22 +03:00
Vladimir Vainer
06b5acdac0 Fix #8768: Show() on already open modal
Calling show() on an already open modal causes the parent to become unusable
2017-07-09 06:49:12 +03:00
Zeke Sikelianos
7d402d8c88 add OSR to glossary 2017-07-07 13:43:54 -07:00
Alexandre Lachèze
73e8769b1f content_scripts[].matches use the URL without hash part 2017-07-07 04:14:36 +02:00
Alexandre Lachèze
ec10338364 Per-extension storage 2017-07-07 03:13:19 +02:00
Alexandre Lachèze
d2002ff3fc Use a file as Chrome Storage rather than localStorage 2017-07-07 03:06:53 +02:00
Vanessa Yuen
5dfee2a23c remove files no longer needed in /npm 2017-07-06 14:31:02 -04:00
Kevin Sawicki
9cd5f0cddd Import electron-prebuilt history into npm folder 2017-07-06 11:20:31 -07:00
Nico
fea6190bbb Add known issue to MAS submission guide 2017-07-06 10:28:41 +01:00
Kevin Sawicki
8a62d81fc5 Merge pull request #9931 from fasterthanlime/patch-1
📝 mixed devtools behavior with mixed sandbox
2017-07-05 12:41:42 -07:00
Alexandre Lachèze
6e3407d4a4 Forgot a describe.only 2017-07-05 19:10:02 +02:00
Kevin Sawicki
adaa409c71 Merge pull request #9929 from alexeykuzmin/fix-assert-message
Fix error message of `assertWithinDelta()`
2017-07-05 09:08:14 -07:00
Alexandre Lachèze
2231673b03 Remove already tested part 2017-07-05 17:36:39 +02:00
Alexandre Lachèze
03ec155ecb Oops 2017-07-05 17:34:04 +02:00
Alexandre Lachèze
67cec5fd26 add tests for BrowserWindow.addExtension 2017-07-05 17:21:06 +02:00
Alexandre Lachèze
f09e448d4d 📝 2017-07-05 17:01:30 +02:00
Amos Wenger
bd8459841b 📝 mixed devtools behavior with mixed sandbox 2017-07-04 14:20:18 +02:00
Aleksei Kuzmin
120b05e075 Fix error message of assertWithinDelta() 2017-07-04 11:56:21 +02:00
Alexandre Lachèze
cba53604eb Introduce extensions management APIs indépendant of Dev Tools Extensions
- introduce API BrowserWindow#[add,remove,get]Extension
- make [add,remove, get]DevToolsExtension use newly introduced API
- make the app persist only the extensions added via
#addDevToolsExtension
2017-07-03 20:01:08 +02:00
Milan Burda
d58a5dfe3a Merge pull request #9903 from miniak/notification-subtitle
Notification subtitle on Mac
2017-06-30 19:08:51 +02:00
Milan Burda
d5df114bb4 🎨 Make Notification getters const methods 2017-06-30 16:54:31 +02:00
Milan Burda
a196bf97bc 🍎 Add subtitle to Notification properties 2017-06-30 16:54:28 +02:00
Ales Pergl
440b238157 Fixed build issues in debug mode 2017-06-30 12:28:01 +02:00
Kevin Sawicki
1c1cf0d1f2 Merge pull request #9857 from alexeykuzmin/add-enable-osr-flag
[WIP] Add enable_osr flag
2017-06-29 12:30:44 -07:00
Kevin Sawicki
7fbd54b2e4 Remove OSR disabling 2017-06-29 12:26:59 -07:00
Kevin Sawicki
449776f228 Don't run it statements when OSR is disabled 2017-06-29 12:26:45 -07:00
Electron Bot
21657c6289 Update to Electron v1.7.4 2017-06-28 16:47:26 -07:00
Kevin Sawicki
3cabefe998 Merge pull request #269 from electron-userland/typescript-1-7-4
Upgrade .d.ts file to 1.7.4
2017-06-28 15:42:28 -07:00
Kevin Sawicki
97d0c6e505 Upgrade .d.ts file to 1.7.4 2017-06-28 15:18:59 -07:00
Kevin Sawicki
4a7eb5077e Bump v1.7.4 2017-06-28 14:37:04 -07:00
Kevin Sawicki
e37fc0e30a Mark mixed sandbox as macOS/Windows only 2017-06-28 14:36:34 -07:00
Kevin Sawicki
04c87cd1c3 Merge pull request #9892 from electron/upgrade-pdf-viewer
Upgrade to electron/pdf-viewer@beb36874a6
2017-06-28 14:05:02 -07:00
Kevin Sawicki
506b354c1b 👕 Remove lint 2017-06-28 13:40:28 -07:00
Kevin Sawicki
6d2a5145c9 Assert loaded state 2017-06-28 13:01:22 -07:00
Kevin Sawicki
0f83180377 Merge pull request #9837 from electron/notification-actions
Notification actions
2017-06-28 12:59:10 -07:00
Kevin Sawicki
9f0d2cd39d Use pdf-loaded event in specs 2017-06-28 12:57:05 -07:00
Kevin Sawicki
06a550b412 Autorelease tracking area 2017-06-28 12:37:31 -07:00
Kevin Sawicki
e44f655503 Merge pull request #9760 from shubham2892/Add-mouse-enter-and-mouse-exit-event-for-Tray
Add mouse-enter and mouse-exit events for tray
2017-06-28 12:15:32 -07:00
Kevin Sawicki
d53f07cc20 🎨 2017-06-28 12:13:12 -07:00
Kevin Sawicki
70544440f9 Add location and keyboard modifiers to tray mouse events 2017-06-28 12:10:24 -07:00
Kevin Sawicki
2406d6c279 Rename to mouse-leave for consistency with drag-leave 2017-06-28 11:40:21 -07:00
Kevin Sawicki
1aa3217899 Upgrade to electron/pdf-viewer@beb36874a6 2017-06-28 10:48:37 -07:00
Kevin Sawicki
4958771b8a Merge pull request #9852 from electron/webcontents-ignorekeyboardshortcuts
Add webContents.setIgnoreMenuShortcuts()
2017-06-28 10:35:02 -07:00
Aleksei Kuzmin
2007f3cb99 FIXME: enable_osr=0 2017-06-28 19:34:57 +02:00
Aleksei Kuzmin
25e1c5d6e7 Skip "offscreen rendering" tests if OSR is not available 2017-06-28 19:34:57 +02:00
Kevin Sawicki
9dd27ba3ec Add explicit expected value 2017-06-28 10:21:25 -07:00
Kevin Sawicki
0d1cf8af35 Mark contents.setIgnoreMenuShortcuts as experimental 2017-06-28 10:20:22 -07:00
Kevin Sawicki
2cd49f3036 Merge pull request #9644 from electron/webview-sandbox
Enable sandbox on webview
2017-06-28 10:10:25 -07:00
Aleksei Kuzmin
da36bdfcc4 Add enable_osr build flag 2017-06-28 18:58:52 +02:00
Kevin Sawicki
5822e718e6 Add finish helper to ensure connection 2017-06-28 09:58:23 -07:00
Kevin Sawicki
523fbe2df9 Send messages between app via socket connection 2017-06-28 09:27:19 -07:00
Kevin Sawicki
628744f9e1 Put enableMixedSandbox before deprecation TODO 2017-06-28 08:37:56 -07:00
Kevin Sawicki
f1dbfb1925 Mark app.enableMixedSandbox() as experimental 2017-06-28 08:36:29 -07:00
Kevin Sawicki
2df9e57b50 Remove unused require 2017-06-28 08:35:17 -07:00
Kevin Sawicki
7fcc00f137 Add spec for app.enableMixedSandbox() 2017-06-28 08:33:11 -07:00
Kevin Sawicki
f0ec9c68b0 Merge pull request #9883 from electron/ipc-return-value
document the return value of ipcRenderer.sendSync
2017-06-28 08:03:27 -07:00
Kevin Sawicki
abff9891ea Merge pull request #9881 from electron/fix-crash-reporter-typo
fix crash reporter typo
2017-06-28 08:02:57 -07:00
Samuel Attard
3774482859 Update notification PR as per feedback 2017-06-28 17:00:19 +10:00
Zeke Sikelianos
f646be2981 document the return value of ipcRenderer.sendSync 2017-06-27 12:01:39 -07:00
Zeke Sikelianos
d3ac9a3f3b fix crash reporter typo 2017-06-27 10:40:14 -07:00
Kevin Sawicki
ab174f5e74 Updated libchromiumcontent submodule 2017-06-27 08:02:25 +02:00
Hari Juturu
1258240067 fixing build error 2017-06-26 16:20:12 -07:00
Kevin Sawicki
f7539e6e8d Remove increased timeout 2017-06-26 14:15:26 -07:00
Kevin Sawicki
c01248ce47 Remove unused require 2017-06-26 14:14:44 -07:00
Hari Krishna Reddy Juturu
74196b96a1 Adding enableMixedSandbox api 2017-06-26 14:13:41 -07:00
Kevin Sawicki
0eaddd1565 Verify --enable-sandbox/--no-sandbox command line 2017-06-26 14:12:03 -07:00
Birunthan Mohanathas
f20f87829b Add webContents.setIgnoreMenuShortcuts()
This allows you to disable application menu shortcut handling on a per
web contents basis.
2017-06-26 14:01:17 -07:00
Shubham
a38f0f5f46 rename alwaysShowTitleTextInFullscreen to fullscreenWindowTitle 2017-06-26 16:58:45 -04:00
Kevin Sawicki
14178d9826 Expose argv to preload process object 2017-06-26 13:52:19 -07:00
Kevin Sawicki
55c8b1fc52 Merge pull request #9870 from electron/IME
add IME to glossary
2017-06-26 13:31:45 -07:00
Zeke Sikelianos
0a01af527a add IME to glossary 2017-06-26 13:28:24 -07:00
Kevin Sawicki
bda21216e7 Merge pull request #9743 from electron/number-accelerator-modifier
Don't mutate the accelerator character with the shift key if it's a number
2017-06-26 11:20:52 -07:00
Kevin Sawicki
4c8592b8ef Merge pull request #9828 from electron/fix-browserview-file-chooser-crash
Fix crash when using file chooser in BrowserView
2017-06-26 09:54:31 -07:00
Kevin Sawicki
361d8aebf5 Merge pull request #9853 from electron/before-input-event
recommend before-input-event in keyboard shortcuts tutorial
2017-06-26 09:38:54 -07:00
Kevin Sawicki
02026d65f6 Merge pull request #9856 from electron/paulcbetts-patch-2
Remove grunt-build-atom-shell
2017-06-26 08:55:51 -07:00
Kevin Sawicki
a916be3ffd Merge pull request #9754 from t-hofmann/patch-1
Create app.md
2017-06-26 08:53:44 -07:00
Kevin Sawicki
da001940e2 isNotFirstInstance -> isSecondInstance 2017-06-26 08:53:29 -07:00
Kevin Sawicki
3804bc5eb2 Merge pull request #9847 from timfish/patch-1
Fixes electron/electron-typescript-definitions/issues/63
2017-06-26 08:50:49 -07:00
Kevin Sawicki
43f7e42bf7 Mark silent/printBackground as optional 2017-06-26 08:50:00 -07:00
Kevin Sawicki
23285b3dc3 Merge pull request #9772 from electron/add-crt-to-glossary
add CRT to glossary
2017-06-26 08:37:11 -07:00
Kevin Sawicki
ef38122388 Merge pull request #9778 from lepinay/patch-1
Extra properties must be less than 63 characters
2017-06-26 08:36:43 -07:00
Kevin Sawicki
cbaf3d4787 Tweak character limit description 2017-06-26 08:35:57 -07:00
Birunthan Mohanathas
79e9926f40 Merge pull request #9826 from ccnokes/patch-1
Fix docs: app.md `setLoginItemSettings`
2017-06-26 08:07:15 -07:00
Cheng Zhao
00d023cd71 Merge pull request #9725 from danielma/dma/native-tab-new-button
Add "New Tab" button for Native macOS Tabs
2017-06-26 15:07:10 +09:00
Cheng Zhao
5fbcb6ef4e Merge pull request #9396 from drulm/printtopdf-custom-pagesize
Add Math.ceil to pageSize.height and pageSize.width to printToPDF() o…
2017-06-26 14:48:44 +09:00
Paul Betts
06744f1bf3 Remove grunt-build-atom-shell
That thing is deprecated for _sure_
2017-06-25 22:14:24 -07:00
Paul Betts
97a9708c03 Recommend electron-forge in auto-updater, fix some Windows stuffs
We should point people to electron-forge, it's the modern way to package Electron apps
2017-06-25 22:10:48 -07:00
Cheng Zhao
727da46971 Merge pull request #9824 from electron/fix-9139
Add process properties in lieu of command line options.
2017-06-26 11:16:33 +09:00
Zeke Sikelianos
637cec2a3d recommend before-input-event in keyboard shortcuts tutorial 2017-06-25 17:36:38 -07:00
Tim Fish
58a42682d8 Fixes electron/electron-typescript-definitions/issues/63 2017-06-25 10:43:47 +02:00
Samuel Attard
7eb14243eb Refactor notification options 2017-06-24 21:39:06 +10:00
Samuel Attard
b8be81f101 Fix structure docs 2017-06-24 00:30:13 +10:00
Samuel Attard
17e737eba2 s/label/text 2017-06-23 21:04:39 +10:00
Samuel Attard
96f9dba595 Document the reply / button compatibility state 2017-06-23 20:56:55 +10:00
Samuel Attard
a9bf9d26ab Fix typo in Notification docs 2017-06-23 20:50:50 +10:00
Samuel Attard
4f0d48f164 Add support for notification actions on macOS 2017-06-23 20:50:20 +10:00
Aleš Pergl
873a315538 Merge pull request #9764 from electron/dynamic_crt
Use dynamic CRT in the release build
2017-06-23 08:03:47 +02:00
Birunthan Mohanathas
3cc0429388 Merge pull request #9798 from electron/tonyganch/10.13-transparent-titlebar
Fix invisible titlebar on macOS 10.13
2017-06-22 14:27:23 -07:00
Shubham
80e35b6682 🍎 Fix treat packaged app as directory 2017-06-22 17:10:22 -04:00
Ales Pergl
0bdd35a482 Updated libchromiumcontent submodule 2017-06-22 16:02:55 +02:00
Birunthan Mohanathas
eb19562316 Fix crash when using file chooser in BrowserView
The crash was a segfault caused by a null `WebDialogHelper::window_`.
2017-06-21 16:26:38 -07:00
Cameron Nokes
3239da37dd Fix docs: app.md setLoginItemSettings
`app.setLoginItemSettings` documented arguments are misleading -- `path` and `args` should be passed in the `settings` object, not as separate params, like the code sample below it or in the test file here: 9250b559f9/spec/api-app-spec.js (L336)
and in the actual C++ function declaration here: f5a75c4e87/atom/browser/browser.h (L104)
2017-06-21 16:24:00 -06:00
John Kleinschmidt
a4e0af2fbf Updated referenced command line flag. 2017-06-21 15:01:55 -04:00
John Kleinschmidt
671f5c20f7 Add process properties in lieu of command line options.
Resolves #9139
For certain node command line options, those options can be set via the
process object (process.noDeprecation, process.throwDeprecation,
process.traceDeprecation, and process.traceProcessWarnings) so they are
documented here.

Also, sorted properties and methods alphabetically for easier
readability.
2017-06-21 14:58:44 -04:00
Shubham
1b8963ff6e 🍎 Fix full screen when resizable is set to true 2017-06-20 16:11:28 -04:00
Kevin Sawicki
3abeb6e2bc Merge pull request #9808 from Gryff/master
Remove `bash` from windows commands to stop syntax highlighting errors
2017-06-20 09:48:58 -07:00
Liam Griffin
3decb5eb28 Remove bash from windows commands to prevent syntax highlighting errors (#1) 2017-06-20 15:25:42 +01:00
Kevin Sawicki
4337c44af8 Merge pull request #9801 from electron/update-electron-email
atom@github.com -> electron@github.com
2017-06-19 20:45:45 -07:00
Zeke Sikelianos
07d6fd3fe1 Merge pull request #9800 from electron/fix-typo
fix typo in linux build instructions
2017-06-19 13:20:58 -07:00
Hari Krishna Reddy Juturu
cf392e402c Adding docs 2017-06-19 11:21:31 -07:00
Zeke Sikelianos
e644b98d07 atom@github.com -> electron@github.com 2017-06-19 09:33:20 -07:00
Zeke Sikelianos
57d81f6961 fix typo in linux build instructions 2017-06-19 08:45:06 -07:00
Hari Krishna Reddy Juturu
902b34ba39 🎨 2017-06-19 08:03:02 -07:00
Hari Krishna Reddy Juturu
e546820a4a Completing UTs 2017-06-19 07:46:14 -07:00
Tony Ganch
471f6e0fa5 Fix invisible titlebar on macOS 10.13 2017-06-19 14:34:37 +02:00
Shubham
25c651c40a add alwaysShowTitleTextInFullscreen flag 2017-06-17 20:45:29 -04:00
Kevin Sawicki
c1ac0bac62 Merge pull request #9784 from calmandniceperson/master
Add German translation for README and Contributor Covenant
2017-06-16 16:32:13 -07:00
Michael Köppl
189c3af0dd Fix broken link to Atom 2017-06-17 01:23:50 +02:00
Michael Köppl
b0ba6c8d3d Fix typo 2017-06-17 01:23:11 +02:00
Michael Köppl
8d080b36e6 Fix hyperlink text containing space 2017-06-17 01:21:37 +02:00
Michael Köppl
3f8b953616 Add link to German translation 2017-06-17 01:19:15 +02:00
Michael Köppl
53a6237525 Add German translation for README and Contributor Covenant 2017-06-17 01:17:16 +02:00
Hari Krishna Reddy Juturu
0b7e7458c9 WIP: Adding UT 2017-06-16 15:34:11 -07:00
Kevin Sawicki
89cb211451 Merge pull request #9782 from jotafeldmann/patch-1
Change NSIS topic level from 2 to 3
2017-06-16 15:06:57 -07:00
Samuel Attard
231d4f7581 Use the isdigit helper 2017-06-17 03:52:19 +10:00
Jorge Feldmann (Jota)
c329ab4ad2 Change NSIS topic level from 2 to 3
Why: this can mislead interpretation of the rest of the document. The `NSIS` is just one more topic at the same level of Process and Native Modules.
2017-06-16 14:45:49 -03:00
Zeke Sikelianos
ab3ca416b4 not just a microsoft thing 2017-06-16 10:21:24 -07:00
foo bar code
4bed743417 Extra properties must be less than 63 characters
I found out that after trying to putting some long text in my extra properties that it was truncated, digging around I found these:

897d58bde1/atom/common/crash_reporter/crash_reporter_win.cc
const int kNameMaxLength = 64;
const int kValueMaxLength = 64;
2017-06-16 14:41:12 +02:00
Zeke Sikelianos
a456fc800e add CRT to glossary 2017-06-15 17:28:00 -07:00
Shubham
12b90a2304 🐛 store current level fix 2017-06-15 18:05:58 -04:00
Kevin Sawicki
493cfd38d6 Merge pull request #9768 from electron/update-breaking-changes
mention ARM and FIXME in breaking changes doc
2017-06-15 13:50:37 -07:00
Zeke Sikelianos
6c94c265f3 Merge pull request #9769 from electron/deprecate-hidden-inset
Add titleBarStyle: 'hidden-inset' to planned breaking changes
2017-06-15 13:13:02 -07:00
Kevin Sawicki
d612b08871 Add titleBarStyle: 'hidden-inset' to planned breaking changes 2017-06-15 12:54:07 -07:00
Zeke Sikelianos
36696dbbba mention ARM and FIXME in breaking changes doc 2017-06-15 12:46:25 -07:00
Kevin Sawicki
e8911fe48c Merge pull request #9610 from shubham2892/incorrect-file-extension-with-showSaveDialog-fix
Fix incorrect extension when filters is used
2017-06-15 10:29:11 -07:00
Kevin Sawicki
15dd0eb583 Add braces to if statement 2017-06-15 10:27:34 -07:00
Kevin Sawicki
1602c07fac Merge pull request #9767 from electron/document-wc-focus
Document webContents.focus()
2017-06-15 10:25:17 -07:00
Birunthan Mohanathas
ece50c036d Document webContents.focus() 2017-06-15 10:19:27 -07:00
Kevin Sawicki
e94698d7cd Merge pull request #9751 from electron/optional-spelling
use lowercase for optional annotation
2017-06-15 10:12:15 -07:00
Ales Pergl
b72da0a509 Include VC runtime and UCRT in the Windows distribution 2017-06-15 09:50:09 +02:00
Ales Pergl
9610e656bb Use dynamic CRT in the release build 2017-06-15 09:42:15 +02:00
Zeke Sikelianos
7587fc22f1 Merge pull request #9724 from electron/bump-standard-markdown
Bump standard-markdown
2017-06-14 17:26:53 -07:00
Kevin Sawicki
5b0290bf88 Merge pull request #9741 from electron/webview-visibility-state
Send window visibility to webview after DOM ready
2017-06-14 15:22:55 -07:00
Shubham
8dbb8ccbab add mouse-enter and mouse-exit events for tray 2017-06-14 18:00:29 -04:00
Kevin Sawicki
dae27de504 Merge pull request #9588 from electron/poiru/dialog-default-file-name
Use last selected directory when using default file name in dialog.showSaveDialog()
2017-06-14 14:41:45 -07:00
Kevin Sawicki
f9f697298d Add FIXME link to #6828 2017-06-14 14:12:51 -07:00
Kevin Sawicki
626a1550dc Send cached visibility state when guest DOM is ready 2017-06-14 14:11:38 -07:00
Kevin Sawicki
f1a72ad108 Add spec for webview visibility change on show 2017-06-14 14:11:38 -07:00
Kevin Sawicki
ce0684aada Merge pull request #9755 from Nirmal4G/docs-fixes
Update windows-store-guide.md
2017-06-14 14:10:43 -07:00
Kevin Sawicki
45dc6fc04f Merge pull request #9645 from dharders/issue6036-fix-windows-fullscreen-startup-toggle
Fix unresponsive app after fullscreen->normal state toggle (Windows)
2017-06-14 14:10:00 -07:00
Nirmal Guru
bf52b77480 📝 Update zh-CN/windows-store-guide.md
[ci skip] Replace "Windows 8" to "Windows 10"
2017-06-14 17:18:52 +05:30
Nirmal Guru
c681001fb5 📝 Update ko-KR/windows-store-guide.md
[ci skip] Replace "Windows 8" to "Windows 10"
2017-06-14 17:18:33 +05:30
Nirmal Guru
e44a8916df 📝 Update id/windows-store-guide.md
[ci skip] Replace "Windows 8" to "Windows 10"
2017-06-14 17:18:13 +05:30
Nirmal Guru
fffc64f28b 📝 Update windows-store-guide.md
[ci skip] Replace "Windows 8" to "Windows 10"
2017-06-14 17:17:47 +05:30
Cheng Zhao
fd0a742683 Merge pull request #9700 from brenca/pdf-zoom-improvements
Zoom controller improvements
2017-06-14 19:15:28 +09:00
Thomas Hofmann
1a6f6fd497 Create app.md 2017-06-14 12:12:30 +02:00
Hari Juturu
421bf71b98 Adding no-sandbox to non sandbox webcontents 2017-06-13 18:45:24 -07:00
dharders
112f4656c3 👕 fix lint warning 2017-06-14 11:30:33 +10:00
dharders
909344415e 🎨 Use leave-full-screen event instead of setTimeout() 2017-06-14 11:06:33 +10:00
dharders
265ab45bd7 🎨 Reuse existing function 2017-06-14 11:05:39 +10:00
Heilig Benedek
a3ec28ddf3 remove unused includes 2017-06-14 00:49:11 +02:00
Zeke Sikelianos
56ee50f3a3 use lowercase for optional annotation 2017-06-13 13:50:10 -07:00
Zeke Sikelianos
b328a238a6 Merge pull request #9750 from electron/path-csd-props
Make clearStorageData options object's property optional
2017-06-13 13:48:10 -07:00
Vanessa Yuen
f91409b2e8 Merge pull request #9721 from brianfajardo/patch-1
Update rectangle.md (issue #9552)
2017-06-13 11:53:49 -07:00
Vanessa Yuen
cd28bdd815 add integer note to each parameter 2017-06-13 11:51:55 -07:00
Vanessa Yuen
de545aabce Merge pull request #9733 from qazbnm456/patch-1
Use Buffer.from instead of deprecated new Buffer
2017-06-13 11:44:34 -07:00
Samuel Attard
de066b8d13 Make clearStorageData options object's property optional
Fixes #9749
2017-06-14 04:34:13 +10:00
Yuya Ochiai
be9463b7b7 Add 'All Files (*.*)' filter for <input> file dialog
The dialog would filter files as well as Chrome.
2017-06-13 22:33:06 +09:00
Samuel Attard
29dbb93f16 Don't mutate the accelerator character wuth the shift key if it's a number 2017-06-13 20:29:54 +10:00
Kevin Sawicki
014aaccfc6 Merge pull request #9739 from electron/inspect_flag_fork_patch
app: add support for inspect/inspect-brk in forked node process
2017-06-12 14:23:33 -07:00
Kevin Sawicki
fc00bf0cc3 Add initial spec for ELECTRON_RUN_AS_NODE with --inspect-brk 2017-06-12 14:04:57 -07:00
deepak1556
538b97582a app: add support for inspect/inspect-brk in forked node process 2017-06-13 00:23:11 +05:30
Kevin Sawicki
3370be0360 Merge pull request #9738 from electron/upgrade-crashpad
Upgrade crashpad for http status fix
2017-06-12 10:30:35 -07:00
Kevin Sawicki
96484405da Upgrade crashpad for http status fix 2017-06-12 10:04:39 -07:00
Boik
2e9ace6f59 Use Buffer.from instead of deprecated new Buffer
Use Buffer.from instead of deprecated new Buffer.
2017-06-12 16:57:42 +08:00
Daniel Ma
4fb9f825b1 Add "New Tab" button for Native macOS Tabs
Adds responders for `newWindowForTab` to `AtomApplicationDelegate` and
`NativeWindowMac`, so that `BrowserWindow`s with a `tabbingIdentifier`
will get the new tab button, and both `app` and `window` will emit a
`new-tab-for-window` event.
2017-06-11 02:26:26 -07:00
Zeke Sikelianos
4cf2481293 use latest standard-markdown 2017-06-10 12:22:51 -07:00
Zeke Sikelianos
229b726251 remove blank lines 2017-06-10 12:22:41 -07:00
Zeke Sikelianos
3d2c622ba7 use new Buffer.from 2017-06-10 12:22:27 -07:00
Zeke Sikelianos
18dec9c39c fix typo in jp docs 2017-06-10 12:21:53 -07:00
Vanessa Yuen
a6ea316a5d Merge pull request #9716 from dakira/fix-9046
Add tray icon workaround for newer Ubuntu releases (fixes #9046)
2017-06-09 15:01:32 -07:00
Vanessa Yuen
43271c162a use includes instead of indexOf 2017-06-09 14:45:47 -07:00
Brian Fajardo
1f73942922 Update rectangle.md (issue #9552)
Clear confusion regarding rectangle object parameter values
2017-06-09 17:13:57 -04:00
Kevin Sawicki
206bca52b7 Merge pull request #9706 from KagamiChan/master
📝  add notes for peak working set size on macOS
2017-06-09 08:43:06 -07:00
Matthias Niess
254dcdaa45 add tray icon workaround for newer Ubuntu releases (fixes #9046) 2017-06-09 15:22:18 +02:00
Hari Juturu
3ee55d9cd3 lint error 2017-06-08 23:46:37 -07:00
Hari Juturu
7bdd259d2e Lint error 2017-06-08 23:39:53 -07:00
Hari Juturu
cbbd4a4a3b Indentation 2017-06-08 23:31:58 -07:00
Hari Juturu
07f550a748 enable-mixed-sandbox option 2017-06-08 23:29:35 -07:00
Kevin Sawicki
d7ee2068c5 Merge pull request #262 from electron-userland/ts-1-7-3
Add electron.d.ts@1.7.3
2017-06-08 15:48:56 -07:00
Electron Bot
68164aeff2 Update to Electron v1.7.3 2017-06-08 15:46:02 -07:00
Kevin Sawicki
51126c7c35 Add electron.d.ts@1.7.3 2017-06-08 15:31:29 -07:00
Kevin Sawicki
4c00176599 Bump v1.7.3 2017-06-08 10:43:50 -07:00
Kevin Sawicki
f3e4acf6f9 Merge pull request #9703 from electron/patch-cookies-docs
Fix typings for cookies.get
2017-06-08 10:43:41 -07:00
Zeke Sikelianos
6360576d9e link to cookie structure 2017-06-08 10:09:40 -07:00
Kagami
a702f8a5f5 add peak working set size comment 2017-06-09 01:05:53 +08:00
Kevin Sawicki
c61397a802 Merge pull request #9704 from electron/upgrade-libcc-gpu-fix
Upgrade to electron/libchromiumcontent@3d692b2280
2017-06-08 09:39:42 -07:00
Kevin Sawicki
d9c4ba3db2 Upgrade to electron/libchromiumcontent@3d692b2280 2017-06-08 07:25:13 -07:00
Kevin Sawicki
785f131a98 Merge pull request #9694 from yuit/FixLinkToThaiDoc
📝 Fix link to Thai documentation
2017-06-08 06:56:34 -07:00
Samuel Attard
dd394b0d5c Fix typings for cookies.get 2017-06-08 23:03:57 +10:00
Heilig Benedek
f8d3b363ea 🎨 lint fix 2017-06-08 09:57:24 +02:00
Heilig Benedek
0f4341da42 add zoom behaviour code from chromium and make pdf viewer use manual zoom behaviour to match chromium 2017-06-08 02:15:17 +02:00
Heilig Benedek
a47fe715d1 pass ref part of url to allow #page= for pdf viewer 2017-06-08 02:15:17 +02:00
Shubham
373decd07e 🎨 2017-06-07 19:01:06 -04:00
Yui
88791a7cb1 📝 [ci skip] Fix link to Thai documentation 2017-06-07 09:38:57 -07:00
Shubham
f001377493 🍎 Fix an issue where alwaysOnTop window disappears when restored from the application icon 2017-06-07 12:28:50 -04:00
Zeke Sikelianos
0732329a38 Merge pull request #9599 from electron/fix-type-defs
Fix type definitions for getCPUUsage / getIOCounters
2017-06-07 09:21:46 -07:00
Kevin Sawicki
7a3a092c72 Merge pull request #9687 from electron/fix-custom-window-button-view
Simplify customButtonsOnHover implementation
2017-06-06 18:54:04 -07:00
Birunthan Mohanathas
391c07b80a Simplify custom window button positioning 2017-06-07 03:33:33 +03:00
Kevin Sawicki
915f6a6f54 Merge pull request #9178 from electron/visibilitystate
Let Chromium manage `document.visibilityState` and `document.hidden`
2017-06-06 17:32:49 -07:00
Kevin Sawicki
dc5221d551 Guard against null window like before 2017-06-06 17:02:23 -07:00
Kevin Sawicki
c60a9d242e Disable minimize spec on Linux CI 2017-06-06 16:58:28 -07:00
Kevin Sawicki
a53e98c0f3 Add visibilitystate test for showInactive 2017-06-06 16:45:46 -07:00
Kevin Sawicki
52137485f2 Add separate specs for hide/show/minimize visibilitychange events 2017-06-06 16:22:07 -07:00
Kevin Sawicki
28cd973805 Mention document.hidden in spec description 2017-06-06 15:20:08 -07:00
Birunthan Mohanathas
f60315141b Remove unnecessary if check 2017-06-07 01:19:53 +03:00
Kevin Sawicki
d2d28c42f1 Remove unused constant 2017-06-06 15:19:29 -07:00
Birunthan Mohanathas
3106478510 Rename SemaphoreView to CustomWindowButtonView 2017-06-07 01:18:22 +03:00
Birunthan Mohanathas
7d2226e05e Let Chromium manage document.visibilityState and document.hidden
Chromium already includes the necessary plumbing to manage the
visibility properties and `visibilitychange` event so this gets rid of
most of our custom logic for `BrowserWindow` and `BrowserView`.

Note that `webview` remains unchanged and is still affected by the issues
listed below.

User facing changes:

- The `document` visibility properties and `visibilitychange` event are
  now also updated/fired in response to occlusion changes on macOS. In
  other words, `document.visibilityState` will now be `hidden` on macOS
  if the window is occluded by another window.

- Previously, `visibilitychange` was also fired by *both* Electron and
  Chromium in some cases (e.g. when hiding the window). Now it is only
  fired by Chromium so you no longer get duplicate events.

- The visiblity state of `BrowserWindow`s created with `{ show: false }`
  is now initially `visible` until the window is shown and hidden.

- The visibility state of `BrowserWindow`s with `backgroundThrottling`
  disabled is now permanently `visible`.

This should also fix #6860 (but not for `webview`).
2017-06-06 15:16:01 -07:00
Kevin Sawicki
d40a7569cc Merge pull request #9686 from awaigand/patch-2
📝 Fixed typo
2017-06-06 14:33:26 -07:00
Andreas Waigand
f608c2b2d9 📝 Fixed typo
[ci skip]
2017-06-06 23:30:45 +02:00
Kevin Sawicki
21439a138b Merge pull request #9682 from electron/release-detection
Rebuild native modules when configuration starts with R
2017-06-06 13:37:48 -07:00
Kevin Sawicki
5fa9cd646f Rebuild test modules when configuration starts with R 2017-06-06 08:41:40 -07:00
Kevin Sawicki
53b6ee0e3f Merge pull request #9468 from tonyganch/9296-history-state
Remove page url check during `history.pushState`
2017-06-05 14:47:49 -07:00
Kevin Sawicki
af1d0c45ca Load URL after registering listener 2017-06-05 14:47:11 -07:00
Kevin Sawicki
777b5b17de Move pushState spec chromium-spec with other history specs 2017-06-05 14:45:45 -07:00
Kevin Sawicki
dfa4af2210 Merge pull request #8958 from mst128256/8730
Area near the top border in frameless window is clickable
2017-06-05 14:30:41 -07:00
Kevin Sawicki
4989b21dbc Autorelease semaphore view 2017-06-05 14:28:58 -07:00
Kevin Sawicki
1adc94b650 Mention customButtonsOnHover is for frameless windows 2017-06-05 14:18:08 -07:00
Kevin Sawicki
d5dc849c7a Doc customButtonsOnHover in frameless window guide 2017-06-05 14:16:44 -07:00
Kevin Sawicki
41d582f689 Add back hidden-inset as a deprecated option 2017-06-05 14:16:23 -07:00
Kevin Sawicki
594302fcff Update docs to use hiddenInset 2017-06-05 14:07:57 -07:00
Kevin Sawicki
3a2abde804 Add TODO for hidden-inset deprecation 2017-06-05 13:58:50 -07:00
Kevin Sawicki
9537303e9a Remove unused customWindowButtons switch 2017-06-05 13:57:25 -07:00
Kevin Sawicki
de0daa2481 Autorelease tracking area 2017-06-05 13:48:30 -07:00
Kevin Sawicki
7d10bf229d Switch to titleBarStyle for custom window buttons on hover 2017-06-05 13:30:32 -07:00
Kevin Sawicki
566e04f1c0 🎨 2017-06-05 13:13:16 -07:00
Kevin Sawicki
410e5bce60 Document customWindowButtons option 2017-06-05 13:04:17 -07:00
Kevin Sawicki
37ba1b0a6b Declare mouse inside variable in interface 2017-06-05 12:55:39 -07:00
Kevin Sawicki
1493d6763c Make custom window buttons an option 2017-06-05 12:50:18 -07:00
Kevin Sawicki
2880cfdc9c 🎨 Minor formatting tweaks 2017-06-05 11:08:05 -07:00
mst128256
96251e55de Removed commented code 2017-06-05 10:41:52 -07:00
mst128256
9b4664daa5 Area near the top border in frameless window is clickable 2017-06-05 10:41:52 -07:00
Kevin Sawicki
9a362eed53 Merge pull request #9572 from shubham2892/api-height-menubar-macos
API height menubar macos
2017-06-05 10:35:16 -07:00
Kevin Sawicki
653ef6f839 🎨 2017-06-05 10:33:46 -07:00
Kevin Sawicki
352a9268ad Merge pull request #9674 from electron/revert_8724
Revert "Merge pull request #8724 from electron/defer_load_url"
2017-06-05 10:21:18 -07:00
Kevin Sawicki
f5989dc12f Merge pull request #9615 from rajatsingla28/web
Docs: Add requirement for `webContents.sendInputEvent()` to work.
2017-06-05 10:03:48 -07:00
Kevin Sawicki
afa2dd5ce5 Minor updates to focus note 2017-06-05 10:03:25 -07:00
Kevin Sawicki
7f974c9990 Merge pull request #9667 from solinium/master
change 'request' version
2017-06-05 10:00:08 -07:00
Kevin Sawicki
5bf2d23700 Merge pull request #9657 from electron/menu-docs-patch
Typescript menu popup fix
2017-06-05 08:55:57 -07:00
Kevin Sawicki
fb47dc9e48 🎨 2017-06-05 08:55:42 -07:00
deepak1556
50ac7b2edd Revert "Merge pull request #8724 from electron/defer_load_url"
Possible cause for #9121

This reverts commit 886b47e713, reversing
changes made to 479af3c9e2.
2017-06-05 19:04:21 +05:30
dharders
aeb68c2369 Add test for Windows fullscreen state toggle. Fix #6036 2017-06-05 11:39:15 +10:00
Alexander Gujral
43ff2e8ec1 change request version
https://nodesecurity.io/advisories/request_remote-memory-exposure
security vulnerability for earlier versions
2017-06-04 13:49:59 -04:00
Rajat
2df7680d24 Docs: Add requirement for webContents.sendInputEvent() to work. 2017-06-03 23:47:15 +05:30
Shubham
c2603aaac2 🎨 Add documentation 2017-06-03 11:48:18 -04:00
Shubham
e9aa9eaf5e :art:code structure fix 2017-06-03 10:56:37 -04:00
Samuel Attard
af09d85125 Update menu.md 2017-06-03 14:50:10 +10:00
Zeke Sikelianos
bd8a1c233d Merge pull request #255 from jpiepkow/master
added force option for electron-download inside install.js
2017-06-01 12:31:30 -07:00
Jordan Piepkow
063df81231 Update README.md 2017-06-01 14:30:39 -04:00
Hari Juturu
3ba0e288f7 fix lint error 2017-05-31 23:20:13 -07:00
Hari Juturu
b5239754ba Enable sandbox on webview 2017-05-31 23:01:14 -07:00
dharders
4c09b357a7 🏁 Fix #6036. Ensure window is visible after fullscreen toggle 2017-06-01 14:38:51 +10:00
Zeke Sikelianos
dfab1043d9 Merge pull request #9640 from electron/bump-ts
bump ts linter with fixes for numeric keys
2017-05-31 15:16:56 -07:00
Kevin Sawicki
6a9de535c7 Merge pull request #9636 from electron/typescript-fixes
Add return type to systemPreferences.isAeroGlassEnabled()
2017-05-31 13:22:30 -07:00
Zeke Sikelianos
175f3e41f1 bump ts linter with fixes for numeric keys 2017-05-31 12:44:26 -07:00
Zeke Sikelianos
c6c3aa0b97 add typescript to the linting mix 2017-05-31 12:42:15 -07:00
Kevin Sawicki
b964c304de Add return type to systemPreferences.isAeroGlassEnabled() 2017-05-31 10:34:14 -07:00
Kevin Sawicki
02972fac86 Merge pull request #9634 from electron/assert-fail
Use assert.fail for unexpected values
2017-05-31 09:52:22 -07:00
Kevin Sawicki
2508159a25 Use assert.fail for unexpected values 2017-05-31 08:39:49 -07:00
Kevin Sawicki
9250b559f9 Merge pull request #9623 from miniak/gpu-info
Add app.getGPUFeatureStatus
2017-05-31 08:11:50 -07:00
Kevin Sawicki
55fcb286a5 Run getGPUFeatureStatus spec on all platforms 2017-05-31 08:10:55 -07:00
Kevin Sawicki
dfac5e5dd1 Merge pull request #9630 from electron/cifratila/bump-node-version
Bump Node.JS version in .node-version
2017-05-31 08:10:05 -07:00
Kevin Sawicki
e5675c83b3 Merge pull request #9627 from electron/remove-empty-grit-file
Remove unused generated_resources.h file
2017-05-31 08:09:50 -07:00
Cheng Zhao
e82af41591 Merge pull request #9269 from electron/main-notifications
Notifications from the main process
2017-05-31 17:21:05 +09:00
Catalin Fratila
0330a30fdb Bump Node.JS version in .node-version 2017-05-31 10:06:38 +02:00
Cheng Zhao
9d4588a5d0 Remove test code 2017-05-31 16:39:53 +09:00
Cheng Zhao
5fa2831756 Coding style fixes 2017-05-31 16:17:29 +09:00
Kevin Sawicki
0b2ef6e9bd Remove unused generated_resources.h file 2017-05-30 16:08:21 -07:00
Shubham
6537238c0d 🎨 code structure fix 2017-05-30 17:40:06 -04:00
Shubham
62d9bf9bae 🎨 code comments and test for getMenuBarHeight function 2017-05-30 17:26:02 -04:00
Kevin Sawicki
bf2fca3dd1 Use base::DictionaryValue converter 2017-05-30 13:00:55 -07:00
Kevin Sawicki
4a5831a733 Add initial getGPUFeatureStatus spec 2017-05-30 13:00:00 -07:00
Milan Burda
0ecfb4e2f8 Add app.getGPUFeatureStatus 2017-05-30 20:35:14 +02:00
Kevin Sawicki
717a1a666c Merge pull request #9589 from electron/rebuild-before-specs
Rebuild native modules before specs run
2017-05-30 09:50:15 -07:00
Kevin Sawicki
e83d66294e Remove unused function 2017-05-30 09:17:05 -07:00
Kevin Sawicki
5cf4995f2e DRY up logic to check if native modules should be loaded 2017-05-30 09:15:38 -07:00
Kevin Sawicki
90964290a6 Add separate run script just to rebuild test modules 2017-05-30 09:13:51 -07:00
Kevin Sawicki
24f0813ef1 Add missing update_node_modules import 2017-05-30 09:13:51 -07:00
Kevin Sawicki
18a80c0ed7 Add missing safe_mkdir import 2017-05-30 09:13:51 -07:00
Kevin Sawicki
dd0601e674 Rebuild native modules used in specs on each CI run 2017-05-30 09:13:51 -07:00
Kevin Sawicki
0d4a397656 Only rebuild test modules on non-Windows or release builds 2017-05-30 09:13:51 -07:00
Kevin Sawicki
9971f0d54c Add option to rebuild test modules before running 2017-05-30 09:13:51 -07:00
Kevin Sawicki
54f4644660 Rebuild modules after installing 2017-05-30 09:13:51 -07:00
Kevin Sawicki
29f776c57d Allow headers directory to be specified on cli 2017-05-30 09:13:51 -07:00
Kevin Sawicki
22bc1b004e Move npm helpers to lib/util 2017-05-30 09:13:51 -07:00
Kevin Sawicki
7e867f478e Don't build helpers or rebuild modules during bootstrap 2017-05-30 09:13:51 -07:00
Kevin Sawicki
f67968d244 Parse args in test.py 2017-05-30 09:13:51 -07:00
Kevin Sawicki
6b787ae4e0 Merge pull request #9591 from electron/remove-runas
Remove runas dependency from root package.json
2017-05-30 09:13:23 -07:00
Kevin Sawicki
b307b6e602 Remove runas and code no longer using it 2017-05-30 08:49:54 -07:00
Samuel Attard
227a2bd5dc Fix reference typed reply placeholder 2017-05-30 20:29:27 +10:00
Samuel Attard
3938373ecb Fix linting errors and add isSupported 2017-05-30 20:27:24 +10:00
Samuel Attard
686b1388b1 Fix linting issues 2017-05-30 19:12:36 +10:00
Samuel Attard
5048425e6e Update implementation as per feedback 2017-05-30 19:06:51 +10:00
Rajat
a1da54047a Docs : Add requirement for 'webContents.sendInputEvent()` to work. 2017-05-29 20:19:28 +05:30
Rajat
973945a8e3 Docs: Add BrowserWindow needs to be focused for webContents.sendInputEvent() to work. 2017-05-29 20:10:32 +05:30
Samuel Attard
6cdfb43e4e Emit a close event 2017-05-29 21:33:43 +10:00
Samuel Attard
9aa6b83f86 Fix compilation and click events on macOS 2017-05-29 21:22:44 +10:00
Samuel Attard
c741b584a1 Remove OS specific implementations 2017-05-29 21:18:18 +10:00
Samuel Attard
058bdfbced Use NotificationPresenter - macOS 2017-05-29 20:02:33 +10:00
Cheng Zhao
7d994f2a9e Merge pull request #9535 from brenca/datalist-element
Add datalist element support
2017-05-29 16:01:40 +09:00
Shubham
217ddd629d 🍎 Fix incorrect extension when filters is used 2017-05-28 15:20:22 -04:00
Zeke Sikelianos
116403ed03 remove electron prefix 2017-05-26 15:57:39 -07:00
Charlie Hess
49f76b8bc3 Add Electron prefixes. 2017-05-26 15:56:54 -07:00
Charlie Hess
b88327e025 Type definitions for getCPUUsage / getIOCounters 2017-05-26 15:56:54 -07:00
Kevin Sawicki
eb81eeacce Merge pull request #9602 from electron/missing-return-types
Add backticks around return types
2017-05-26 14:28:48 -07:00
Kevin Sawicki
b9a25113a6 Add backticks to Object 2017-05-26 14:04:28 -07:00
Kevin Sawicki
b0d4bf81a0 Add backticks around return types 2017-05-26 13:58:14 -07:00
Electron Bot
256b5c8a17 Update to Electron v1.7.2 2017-05-26 13:39:08 -07:00
Kevin Sawicki
44862a131c Bump v1.7.2 2017-05-26 13:33:15 -07:00
Kevin Sawicki
385d6faf1a Remove options to appease typescript definitions 2017-05-26 13:33:09 -07:00
Kevin Sawicki
dcb22d34b5 Mark deviceName as optional 2017-05-26 13:33:03 -07:00
Kevin Sawicki
f6931e7a27 Merge pull request #259 from electron-userland/typescript-1-7-2
Upgrade typescript file to 1.7.2
2017-05-26 13:30:18 -07:00
Kevin Sawicki
3647095415 Upgrade typescript file to 1.7.2 2017-05-26 13:09:34 -07:00
Kevin Sawicki
8ae36c250c Merge pull request #9568 from electron/webview-native-window-open
Support nativeWindowOpen from <webview> tags
2017-05-26 11:11:32 -07:00
Kevin Sawicki
edd840fcc0 Only assert GPU process on macOS 2017-05-26 10:10:56 -07:00
Kevin Sawicki
9f49b71b89 Add cross-origin frame webview spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
36989e19f8 Add spec for cross-origin blockage 2017-05-26 10:10:36 -07:00
Kevin Sawicki
e735aa7dee web-preferences -> webPreferences 2017-05-26 10:10:36 -07:00
Kevin Sawicki
f5cf6d4ddd Add spec for native window.open from iframe 2017-05-26 10:10:36 -07:00
Kevin Sawicki
8f22e6a265 Add webview example to nativeWindowOpen docs 2017-05-26 10:10:36 -07:00
Kevin Sawicki
0dff863e30 Add comment about CreateNewGuestWindow origins 2017-05-26 10:10:36 -07:00
Kevin Sawicki
9ac2cf0d44 Add comment about disablePopups setting 2017-05-26 10:10:36 -07:00
Kevin Sawicki
6c520a5f40 Fix typo in option name 2017-05-26 10:10:36 -07:00
Kevin Sawicki
dbd240a7cb Return null from native window.open when allowpopups is unset 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a0571e3c72 Add failing spec for native window.open returning null without allowpopups 2017-05-26 10:10:36 -07:00
Kevin Sawicki
4e9efebf47 🎨 2017-05-26 10:10:36 -07:00
Kevin Sawicki
ef01c16c6a Add tests for more nativeWindowOpen events 2017-05-26 10:10:36 -07:00
Kevin Sawicki
9f06b6dc21 Set allowpopups attribute in nativeWindow open specs 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a32b7e5cdb Co-locate nativeWindowOpen specs 2017-05-26 10:10:36 -07:00
Kevin Sawicki
47759a01de Only forward events when nativeWindowOpen is set 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a2a7a1d8c7 Add new-window <webview> spec with nativeWindowOpen 2017-05-26 10:10:36 -07:00
Kevin Sawicki
da2b29796f Add same domain webview nativeWindowOpen spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
7baf472c0f Implement BrowserPluginGuestDelegate::CreateNewGuestWindow for nativeWindowOpen 2017-05-26 10:10:36 -07:00
Kevin Sawicki
a16cd0bd03 Add failing <webview> with nativeWindowOpen spec 2017-05-26 10:10:36 -07:00
Kevin Sawicki
aceea50f41 Merge pull request #9597 from electron/revert-9358
Revert #9358
2017-05-26 10:09:37 -07:00
Kevin Sawicki
c43c3b3d80 Revert "protocol: use streaming interface between fetcher and requestjob"
This reverts commit 71b5d946e0.
2017-05-26 09:47:22 -07:00
Kevin Sawicki
d53de947b6 Merge pull request #9596 from electron/beta-release-by-default
Create prereleases by default
2017-05-26 09:47:11 -07:00
Kevin Sawicki
9137a2279a Merge pull request #9486 from electron/child-observer
Adding CPU & Memory metrics for App
2017-05-26 09:28:22 -07:00
Kevin Sawicki
14c43f654f 🎨 2017-05-26 09:25:35 -07:00
Kevin Sawicki
8b14df143a Don't assert GPU process on Linux 2017-05-26 09:14:17 -07:00
Kevin Sawicki
2b2b431486 Create prereleases by default 2017-05-26 09:10:26 -07:00
Kevin Sawicki
1e4dd9b163 Store process type as int 2017-05-26 08:53:26 -07:00
Kevin Sawicki
cabcd0ef8f Fix typos in ProcessMetric doc 2017-05-26 08:36:51 -07:00
Kevin Sawicki
7794cabd13 🎨 2017-05-26 08:35:43 -07:00
Kevin Sawicki
d6e626c7e3 Remove crashed render processes from metrics 2017-05-26 08:32:08 -07:00
Kevin Sawicki
b5879b7399 🎨 Minor formatting/doc changes 2017-05-26 07:51:17 -07:00
Birunthan Mohanathas
5e149c827e Merge pull request #9592 from electron/upgrade-libcc-wheel
Upgrade to libchromiumcontent@94c5817
2017-05-26 07:10:23 +03:00
Birunthan Mohanathas
ea11f8bf7d Upgrade to libchromiumcontent@94c5817
This pulls in electron/libchromiumcontent#306.
2017-05-26 06:57:09 +03:00
Heilig Benedek
192cd7787b move popup related code to nativewindow 2017-05-26 03:39:36 +02:00
Kevin Sawicki
8a3b2997c3 Merge pull request #9570 from electron/re-enable-crash-reporter-specs
Re enable crash reporter specs on Linux CI
2017-05-25 17:05:30 -07:00
Kevin Sawicki
d202c35be9 Enable crash reporter specs on Linux CI 2017-05-25 16:58:37 -07:00
Kevin Sawicki
5adc8299d6 Merge pull request #9590 from electron/add-pre-cibuild
Enable LIMIT_OUTPUT_IGNORE_SEGFAULTS on Linux CI
2017-05-25 16:57:24 -07:00
Kevin Sawicki
9b7dde99d8 Enable LIMIT_OUTPUT_IGNORE_SEGFAULTS on Linux CI 2017-05-25 16:50:17 -07:00
Birunthan Mohanathas
19555bbab2 Use last selected directory when using default file name in dialog.showSaveDialog()
Prior to this change, attempting to use
`dialog.showSaveDialog({ defaultPath: 'foo.png' })` would open the save
dialog to the current directory with the default file name set to
`foo.png`. We now use the last selected directory instead of the current
directory.

Absolute paths are not affected by this change.
2017-05-26 02:18:23 +03:00
Electron Bot
85d6b74be2 Update to Electron v1.6.11 2017-05-25 12:52:38 -07:00
Kevin Sawicki
fea165bef8 Merge pull request #9582 from EnterTheNameHere/patch-1
Update webview-tag.md
2017-05-25 08:52:33 -07:00
Kevin Sawicki
5ce5964260 Merge pull request #9579 from electron/link-with-cups-on-mac
Add -lcups to link settings on mac
2017-05-25 08:51:13 -07:00
Jan Němeček
1b96f66541 Update webview-tag.md
Spelling correction.
2017-05-25 13:32:20 +02:00
Hari Krishna Reddy Juturu
c4e5ba6015 Fixing indentations 2017-05-24 21:15:34 -07:00
Hari Krishna Reddy Juturu
e5a9ef296d Using process handle from RenderProcessHost 2017-05-24 21:07:35 -07:00
Hari Juturu
de5eaf9336 Remove .only 2017-05-24 21:07:35 -07:00
Hari Juturu
5e04fab2ba Adding deprecations 2017-05-24 21:07:35 -07:00
Hari Juturu
d73004f1df revert mistaken added brightray 2017-05-24 21:07:35 -07:00
Hari Juturu
939747945e Adding CPU & Memory metrics for App 2017-05-24 21:07:35 -07:00
Kevin Sawicki
0d2aa5c027 Merge pull request #9580 from rajatsingla28/staging
Docs: Remove optional parameter for removeAllListeners.
2017-05-24 16:31:06 -07:00
Rajat
ec6eb74ccc Docs: Remove optional parameter for removeAllListeners.
Fixes #9277
2017-05-25 00:36:14 +05:30
Kevin Sawicki
4d1eb1e4a7 Add -lcups on mac 2017-05-24 09:43:37 -07:00
Cheng Zhao
1257dee0b5 Merge pull request #9547 from electron/jessie-sysroot
Build with Debian Jessie sysroot image
2017-05-24 16:25:39 +09:00
Shubham
793d5fd191 🎨 Fix documentation 2017-05-23 23:27:55 -04:00
Shubham
ec0e33e258 Add mac_os tag to documentation 2017-05-23 22:39:54 -04:00
Shubham
b2f1cdfbae Add API to get top bar height on macOS 2017-05-23 22:24:56 -04:00
Tony Ganch
3a9b035d36 Remove page url check in history.pushState
Current implementation of NavigationController does not allow using
`history.pushState()` if page url is not changed.
It worked by mistake in versions < 1.3.6 and got visible after fix 180a77e6.
2017-05-23 22:42:33 +02:00
Tony Ganch
6d64336978 Add test for #9468 2017-05-23 22:42:32 +02:00
Jordan Piepkow
ffc22ef926 switched to the more standard approach in this file
Switched to defaulting back to string 'false' as that is how it was already doing strictSSL and electron-download treats and checks both against bools so would make sense to keep it the same across the document.
2017-05-23 16:16:01 -04:00
Jordan Piepkow
28100a8695 added force option in electron-download.
Downloading from cache causes a checksum check that causes some builds to fail(see https://github.com/electron/electron/issues/8653) that  that rely on stable electron releases(pre electron v1.7.0 beta) where chromedrive is not named based on electron version. This will add the option to always force a redownload.
2017-05-23 15:26:22 -04:00
Kevin Sawicki
2ed1c122ca Merge pull request #9557 from electron/upgrade-libcc
Upgrade to electron/libchromiumcontent@93c2e1877e
2017-05-23 08:58:46 -07:00
Kevin Sawicki
35299a82fa Upgrade to electron/libchromiumcontent@93c2e1877e 2017-05-23 07:54:21 -07:00
gellert
039908a244 various fixes for macos 2017-05-23 11:41:59 +02:00
Cheng Zhao
a6854c89b7 Link with correct targets in toolchain.gypi 2017-05-23 16:30:07 +09:00
Cheng Zhao
9f3fe5804f Revert "Don't run tests on Janky CI"
This reverts commit b5b2df8e6c.
2017-05-23 16:17:09 +09:00
Cheng Zhao
ff08c36478 Only build against Jessie for arm64 arch 2017-05-23 16:10:54 +09:00
Kevin Sawicki
021b5a9ae0 Merge pull request #9507 from rreimann/pdf-plugins-preference
Suppress dispatching to PDF viewer if plugins are disabled
2017-05-22 14:34:35 -07:00
Kevin Sawicki
647e88da5a Delete mock.pdf after download completes 2017-05-22 14:24:28 -07:00
rreimann
25015c4c63 Fix naming and formatting 2017-05-22 14:14:59 -07:00
rreimann
791486433d Extract common code into IsPreferenceEnabled method 2017-05-22 14:14:59 -07:00
rreimann
65da983ccb Move preferences check to OnPdfResourceIntercepted 2017-05-22 14:14:59 -07:00
rreimann
13665090d5 Add new test and enable plugins for existing tests 2017-05-22 14:14:59 -07:00
rreimann
7982754958 Fix linting violations 2017-05-22 14:14:59 -07:00
rreimann
1b75e45a62 Suppress pdf plugin dispatch if plugins are disabled 2017-05-22 14:14:59 -07:00
Kevin Sawicki
337f61af98 Merge pull request #9243 from seanchas116/custom-clipboard-data
Support writing custom formats into clipboard
2017-05-22 14:01:05 -07:00
Kevin Sawicki
ad9496144f Remove buffers setting in write spec 2017-05-22 13:55:35 -07:00
Kevin Sawicki
6b7ec621e3 Throw error when non-Buffer specified instead of crashing 2017-05-22 13:53:58 -07:00
Kevin Sawicki
5adf9c47fc Remove buffers option since only a single is supported 2017-05-22 13:49:26 -07:00
Ryohei Ikegami
8f35afd941 Include map 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
a26e360e82 Remove console.log 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
fd313ad578 Tweak doc text 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
f2471cb1b7 Rename buffer -> buffers 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
6ec344a499 Add experimental 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
44840ab6cc Add docs 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
03fdc7aa28 Add buffer support in clipboard.write() 2017-05-22 13:43:21 -07:00
Ryohei Ikegami
66cc07d8e9 Add clipboard.writeBuffer 2017-05-22 13:43:21 -07:00
Kevin Sawicki
6bcf3597c2 Merge pull request #9554 from javan/patch-2
Update BrowserView docs. Fixes #9553
2017-05-22 10:43:15 -07:00
Javan Makhmali
b07a6af713 Update BrowserView docs. Fixes #9553 2017-05-22 13:41:01 -04:00
Kevin Sawicki
8b22108b5a Merge pull request #9551 from electron/upgrade-libcc
Upgrade libcc
2017-05-22 09:59:04 -07:00
Kevin Sawicki
285c0b1757 Upgrade libcc to electron/libchromiumcontent@a3cff0522 2017-05-22 09:27:58 -07:00
Kevin Sawicki
77ec648740 Obtain SHA-1 of libcc commit from submodule 2017-05-22 09:27:32 -07:00
Samuel Attard
193c561815 Remove sample notification code 2017-05-23 02:19:03 +10:00
Samuel Attard
d1fc832ca0 Update for the brightray move 2017-05-23 02:18:34 +10:00
Samuel Attard
f5de57dbdb Mark notification API as experimental 2017-05-23 02:05:13 +10:00
Samuel Attard
8815da314f Add Notification API docs 2017-05-23 02:05:13 +10:00
Samuel Attard
e7569ed499 Remove shell link validation, users should do this themselves 2017-05-23 02:05:13 +10:00
Samuel Attard
da31615de5 Basic linux impl 2017-05-23 02:05:13 +10:00
Samuel Attard
c6196810a6 Code cleanup 2017-05-23 02:05:13 +10:00
Samuel Attard
03688b9415 Get image notifications working on Win7 + Win10 2017-05-23 02:05:13 +10:00
Samuel Attard
6bbc4c3113 Support Windows 7 notifications from brightray 2017-05-23 02:05:13 +10:00
Samuel Attard
a4bd26fab0 Fix string16 init on macOS 2017-05-23 02:05:13 +10:00
Samuel Attard
7c38633d1e Initial semi-working windows implementation 2017-05-23 02:05:13 +10:00
Samuel Attard
5dd4d6a961 macOS implementation of notifications in the main process 2017-05-23 02:05:13 +10:00
Kevin Sawicki
433a827cc3 Upgrade libcc to electron/libchromiumcontent@a3cff0522 2017-05-22 09:04:23 -07:00
Kevin Sawicki
37ed44cf1c Merge pull request #9544 from kyokutyo/fix-typo-in-japanese-docs
Fix typo in Japanese docs
2017-05-22 08:56:29 -07:00
Kevin Sawicki
559d13091e Merge pull request #9540 from RevoluPowered/patch-1
Fixed tutorial debugger launching electron incorrectly
2017-05-22 08:55:58 -07:00
Birunthan Mohanathas
cd2e6f497f Fix missing return value type for systemPreferences.getUserDefault 2017-05-22 17:19:03 +03:00
Birunthan Mohanathas
a8e4a0e765 Add BrowserView to docs index 2017-05-22 17:12:17 +03:00
Cheng Zhao
b5b2df8e6c Don't run tests on Janky CI 2017-05-22 19:17:59 +09:00
Cheng Zhao
57551cfad9 Fix missing dep of libdatrie1 2017-05-22 19:06:46 +09:00
Cheng Zhao
27c5d98c49 Fix missing deps when building for ia32 and arm 2017-05-22 17:45:24 +09:00
Cheng Zhao
5baffd49e7 Fix pylint warnings 2017-05-22 17:19:34 +09:00
Cheng Zhao
28f11516fe Build with jessie sysroot image 2017-05-22 16:53:45 +09:00
Cheng Zhao
94be438ab9 Download debian jessie sysroot images 2017-05-22 16:31:54 +09:00
kyokutyo
9cbc5a1cdd Fix typo in Japanese docs 2017-05-22 14:31:26 +09:00
Heilig Benedek
df911593d8 Fix menubar animations being incorrect in RTL layout 2017-05-21 22:36:10 +02:00
Heilig Benedek
d5c038a7fb ci build fix 2017-05-21 20:57:19 +02:00
Heilig Benedek
218e28b136 minor fixes and enable datalist elements in OSR 2017-05-21 19:55:19 +02:00
Gordon MacPherson
9b4fef3c38 Fixed vscode debugging code
Fixes app.getPath("userData") pointing to the wrong folder. (electron in %appdata%)

The old debugger essentially runs:
.\node_modules\.bin\electron main.js

Which makes userData incorrect and various other things wrong related to app launch.

The new version correctly executes:
.\node_modules\.bin\electron .

Which means when you call app.getPath("userData") it will return the correct folder name, and not 'electron', which is what my app was doing even though the folder was named properly.
2017-05-20 14:56:26 +01:00
Heilig Benedek
a95d6b997b add ability to open popup on second click 2017-05-20 04:21:11 +02:00
Heilig Benedek
4949531f57 🎨 lint fix 2017-05-19 21:52:18 +02:00
Heilig Benedek
f360104bee add datalist element view 2017-05-19 21:36:37 +02:00
Kevin Sawicki
8404bdd568 Merge pull request #9397 from electron/enable-webview
Allow enabling <webview> tag with node integration disabled
2017-05-19 10:58:10 -07:00
Kevin Sawicki
6a3f2e90db Tweak webviewTag option description 2017-05-19 10:22:28 -07:00
Kevin Sawicki
74b7afbec7 Merge origin/master into enable-webview 2017-05-19 10:17:34 -07:00
Kevin Sawicki
dcde0a00fb Merge pull request #9527 from electron/brightray-cleanup
Brightray cleanup after import
2017-05-19 09:07:35 -07:00
Kevin Sawicki
09a3e26716 Add full prefix to main_delegate.h include 2017-05-19 08:46:15 -07:00
Kevin Sawicki
7e185ef1a3 Remove extra newlines 2017-05-19 08:46:15 -07:00
Kevin Sawicki
7aacf786d6 Remove unneeded brightray folder from include dirs 2017-05-19 08:46:15 -07:00
Kevin Sawicki
43f7520d4f Add missing brightray prefix 2017-05-19 08:46:15 -07:00
Kevin Sawicki
e19eef025d Remove lint from inspectable_web_contents_view_views.h/cc 2017-05-19 08:46:15 -07:00
Kevin Sawicki
4625159310 Add memory include for std::unique_ptr 2017-05-19 08:46:15 -07:00
Kevin Sawicki
278a283801 🎨 Group includes 2017-05-19 08:46:15 -07:00
Kevin Sawicki
d7321ed980 Add brightray prefix to include paths from within brightray 2017-05-19 08:46:15 -07:00
Kevin Sawicki
c4608c0f37 Fix build/include_alpha linter violations in brightray 2017-05-19 08:46:15 -07:00
Kevin Sawicki
b6992436a0 Remove exclusion of runtime/references rule 2017-05-19 08:46:15 -07:00
Kevin Sawicki
f193b2b2a6 Fix build/include_what_you_use linter violations in brightray 2017-05-19 08:46:15 -07:00
Kevin Sawicki
cfb5b6ac89 Fix build/header_guard linter violations in brightray 2017-05-19 08:46:15 -07:00
Kevin Sawicki
bb4a61c7ff Remove unused includes 2017-05-19 08:46:15 -07:00
Kevin Sawicki
6e3a0b50cc Remove 10.8 foundation_util workaround 2017-05-19 08:46:15 -07:00
Kevin Sawicki
c6190dc094 Remove unused BRYApplication class 2017-05-19 08:46:15 -07:00
Kevin Sawicki
ca274f7be0 Use kIgnoreCertificateErrors from content_switches.h 2017-05-19 08:46:15 -07:00
Kevin Sawicki
db6d75ca90 Merge pull request #9518 from TingPing/tingping/gio-trash
Support `gio` as trash implementation
2017-05-19 08:44:56 -07:00
Cheng Zhao
f793db2b2a Merge pull request #9519 from electron/better-patch
Use v8::ArrayBuffer::Allocator inside Node
2017-05-19 17:49:02 +09:00
Kevin Sawicki
e0b9395a13 Merge pull request #8596 from renaesop/master
Print enhancement
2017-05-18 11:42:02 -07:00
Kevin Sawicki
73b49f0dfe Fix JSON issue in example block 2017-05-18 11:28:10 -07:00
Kevin Sawicki
97160ffa63 Make isDefault a bool 2017-05-18 10:51:44 -07:00
Kevin Sawicki
a8d25d6855 Add printer info structure file 2017-05-18 10:50:08 -07:00
Kevin Sawicki
d5e66f7cd9 Add parameter name 2017-05-18 10:40:03 -07:00
Kevin Sawicki
aa29bf8019 🎨 2017-05-18 10:26:22 -07:00
Kevin Sawicki
e0b39247a9 Tweak print docs 2017-05-18 10:17:08 -07:00
Kevin Sawicki
92f14f8d52 printerList() -> getPrinters() 2017-05-18 10:14:55 -07:00
Kevin Sawicki
84a9b6a42d Merge remote-tracking branch 'origin/master' into renaesop_master 2017-05-18 10:08:40 -07:00
Kevin Sawicki
f556d1924d Merge pull request #9358 from electron/fetch_job_uaf_patch
protocol: use streaming interface between fetcher and requestjob
2017-05-18 09:58:05 -07:00
Cheng Zhao
f4420b449f Use v8::ArrayBuffer::Allocator inside Node 2017-05-18 16:26:46 +09:00
TingPing
98186c4143 Support gio as trash implementation
Ideally this will become the default as `gvfs-trash` is deprecated and nothing more than a wrapper to `gio`
but at least allow easily opting into the modern method.
2017-05-17 23:46:29 -04:00
Kevin Sawicki
9ce3a8c3a7 Merge pull request #9516 from electron/flaky-pid-test
Assert OS pid after load finishes
2017-05-17 17:11:03 -07:00
Kevin Sawicki
65ab71c894 Assert pid after load finishes 2017-05-17 17:10:41 -07:00
Kevin Sawicki
251a61a151 Merge pull request #9513 from electron/download-url
atom-shell -> electron in node_release_urlbase
2017-05-17 16:58:11 -07:00
Kevin Sawicki
e75c0e47c2 atom-shell -> electron in node_release_urlbase 2017-05-17 14:58:09 -07:00
Kevin Sawicki
a285a3e64b Default webviewTag to false 2017-05-17 14:01:45 -07:00
Kevin Sawicki
1a210ed114 Remote stray © 2017-05-17 14:00:40 -07:00
Kevin Sawicki
6fccb75dfb Mention preloadURL is in webPreferences 2017-05-17 13:59:48 -07:00
Kevin Sawicki
27a4522d65 Add will-attach-webview advice to security.md 2017-05-17 13:56:19 -07:00
Kevin Sawicki
fd782706b2 Add explicit spec for removing preload from webview 2017-05-17 13:47:00 -07:00
Kevin Sawicki
9e88d337ec Inherit webviewTag setting from parent window 2017-05-17 13:37:23 -07:00
Kevin Sawicki
e817dbf50a Add failing spec for webviewTag inheritance 2017-05-17 13:27:28 -07:00
Kevin Sawicki
bde13353fb Rename option to webviewTag and default to nodeIntegration value 2017-05-17 13:12:23 -07:00
Kevin Sawicki
837ea884de Merge remote-tracking branch 'origin/master' into enable-webview 2017-05-17 12:45:29 -07:00
Kevin Sawicki
5a88f76762 Merge pull request #9508 from electron/upgrade-libcc
Upgrade libchromiumcontent
2017-05-17 10:51:41 -07:00
Kevin Sawicki
3f4abc6323 Upgrade to electron/libchromiumcontent@ecc5298428 2017-05-17 08:53:29 -07:00
Cheng Zhao
9bed0ffdbf Merge pull request #9440 from brenca/osr-fixes
Additional small OSR fixes
2017-05-17 17:14:27 +09:00
Cheng Zhao
6826595e9e Merge pull request #9389 from electron/fix-remote-exception-sandbox
Keep track of remote object reference count.
2017-05-17 16:20:26 +09:00
Kevin Sawicki
d66b32b959 Merge pull request #9473 from electron/dash-dash-inspect
Support --inspect option to debug main process
2017-05-16 15:38:08 -07:00
Kevin Sawicki
d34be4c0a6 Upgrade node for protocol from libcc 2017-05-16 15:13:53 -07:00
Kevin Sawicki
d8aca08da7 Set _debugWaitConnect on --inspect-brk 2017-05-16 14:50:49 -07:00
Kevin Sawicki
c419ebdd6d Remove unused test server 2017-05-16 14:44:28 -07:00
Kevin Sawicki
3f87880990 Bump node for inspector Windows fixes 2017-05-16 14:44:28 -07:00
Kevin Sawicki
5337b4ad94 Only define ICU constants in release builds 2017-05-16 14:44:28 -07:00
Kevin Sawicki
b549b20d2c Convert arg string to utf8 on Windows 2017-05-16 14:44:28 -07:00
Kevin Sawicki
e3160126d6 Update debug CLI flags 2017-05-16 14:44:28 -07:00
Kevin Sawicki
03c2d6f435 Make chrome instructions a list item 2017-05-16 14:44:28 -07:00
Kevin Sawicki
690b2e91c4 Update docs for new --inspect support 2017-05-16 14:44:28 -07:00
Kevin Sawicki
a33643c518 Start node inspector agent when --inspect is present 2017-05-16 14:44:28 -07:00
Kevin Sawicki
7469d09dae Build v8 inspector through ndoe 2017-05-16 14:44:28 -07:00
Kevin Sawicki
98cce37e3d Upgrade node enable inspector target 2017-05-16 14:44:28 -07:00
Electron Bot
09f31f559d Update to Electron v1.7.1 2017-05-16 14:41:41 -07:00
Kevin Sawicki
25eb8f7c26 Merge pull request #252 from electron-userland/typescript-1-7-1
Update to electron.d.ts@1.7.1
2017-05-16 14:38:20 -07:00
Kevin Sawicki
1206689caa Update to electron.d.ts@1.7.1 2017-05-16 14:37:10 -07:00
Kevin Sawicki
693f6a24fc Bump v1.7.1 2017-05-16 12:42:37 -07:00
Kevin Sawicki
1df72e42a5 Merge pull request #9404 from tom-james-watson/master
Clarify dialog blocking functionality
2017-05-16 12:39:23 -07:00
Electron Bot
3898a13e57 Update to Electron v1.6.10 2017-05-16 12:37:38 -07:00
Kevin Sawicki
bffd5b49c2 Merge pull request #251 from electron-userland/typescript-1-6-10
Update to electron.d.ts@1.6.10
2017-05-16 12:35:58 -07:00
Kevin Sawicki
a12d7356d9 Update to electron.d.ts@1.6.10 2017-05-16 12:33:38 -07:00
Kevin Sawicki
e2ad948300 Merge pull request #9491 from iamkun/bugfix/fix_link_url
Fix broken link in documentation translations 😀
2017-05-16 10:13:51 -07:00
Kevin Sawicki
7a091e629b Merge pull request #9489 from paulinaika/id-translation
Id translation
2017-05-16 10:13:29 -07:00
Thiago de Arruda
5654ff0d43 Add test for #9387 2017-05-16 09:07:41 -03:00
Thiago de Arruda
6b5bd3b6ce Fix how rpc-server releases references after page reload
In addition to listening for "render-view-deleted", listen for
"ELECTRON_BROWSER_CONTEXT_RELEASE" synchronous message, which is sent by the
remote module when the page is about to be navigated.

This is required to allow child windows running in the same renderer to
correctly manage remote object references, since `render-view-deleted` is only
called when the renderer exits.

Close #9387
2017-05-16 09:05:52 -03:00
iamkun
b4dcb6512a Update README.md 2017-05-16 16:00:45 +08:00
paulinaika
b20085fa7a 📝 fix typo docs-translations/id/tutorial/using-widevine-cdm-plugin.md and docs/tutorial/using-widevine-cdm-plugin.md from previous commit [ci skip] 2017-05-16 16:49:56 +10:00
paulinaika
8a2f24c95f 📝 translate to Indonesian using-widevine-cdm-plugin.md and windows-store-guide.md [ci skip] 2017-05-16 16:28:37 +10:00
Kevin Sawicki
22099747af Merge pull request #9483 from electron/os-process-id-tweaks
Minor updates to webContents.getOSProcessId()
2017-05-15 14:00:59 -07:00
Kevin Sawicki
4f99cb19bd 🔥 ; 2017-05-15 13:38:57 -07:00
Kevin Sawicki
0ae5f7e623 Assert PID is 0 with no URL 2017-05-15 13:34:30 -07:00
Kevin Sawicki
350528707b Return base::ProcessId 2017-05-15 13:29:34 -07:00
Kevin Sawicki
d79ac8d9c1 Merge pull request #9222 from alexstrat/add-os-process-id
Add OS pid to web-contents
2017-05-15 13:28:47 -07:00
Kevin Sawicki
35a39944bd Merge pull request #9481 from djpereira/master
Update desktopCapturer documentation
2017-05-15 12:23:29 -07:00
Kevin Sawicki
5b6b1707ad Merge pull request #9476 from electron/disable-crash-specs-on-linux
Disable crashReporter specs on Linux CI
2017-05-15 12:19:00 -07:00
Alexandre Lachèze
9b776369e6 👕 2017-05-15 21:00:13 +02:00
Birunthan Mohanathas
4ad6789e00 Merge pull request #9480 from electron/update-docs-deps
Update electron-typescript-definitions to latest version
2017-05-15 21:57:31 +03:00
Birunthan Mohanathas
b01bc32051 Update electron-typescript-definitions to latest version 2017-05-15 21:45:17 +03:00
Daniel Pereira
f4d3c169b0 :memo:Update documentation desktopCapturer to javascript[ci skip] 2017-05-15 13:45:14 -05:00
Daniel Pereira
37bcc96e95 :memo:Update constraints for audio sharing[ci skip] 2017-05-15 13:42:47 -05:00
Daniel Pereira
e38e294be3 :memo:Update use of deprecated getUserMedia[ci skip] 2017-05-15 13:38:32 -05:00
Kevin Sawicki
c7e6cbcf9f Merge pull request #9435 from electron/disk-cache-size-flag
support --disk-cache-size flag
2017-05-15 11:09:38 -07:00
Birunthan Mohanathas
a1e826e405 Fix copy paste typos in BrowserView docs 2017-05-15 21:09:11 +03:00
Alexandre Lachèze
77bf4c8ebb 📝 document getOSProcessId() 2017-05-15 20:02:20 +02:00
Kevin Sawicki
bcbfd0d5c6 Disable crashReporter specs on Linux CI 2017-05-15 11:01:53 -07:00
Alexandre Lachèze
2f297b1893 Add simple spec for getOSProcessId() 2017-05-15 19:57:19 +02:00
Kevin Sawicki
b4fc50e3b2 Doc --disk-cache-size 2017-05-15 10:38:20 -07:00
Kevin Sawicki
ed076a8693 Remove unneeded HasSwitch check 2017-05-15 10:35:43 -07:00
Dun Liang
5b02974aa8 fix line is > 80 characters long 2017-05-15 10:35:43 -07:00
Dun Liang
9ce08d08de support --disk-cache-size flag #290 2017-05-15 10:35:43 -07:00
Kevin Sawicki
e708a45496 Merge pull request #9436 from electron/debug-crash
Remove support for --debug/--debug-brk
2017-05-15 08:47:52 -07:00
Kevin Sawicki
b09086c1b8 Merge pull request #9470 from electron/MarshallOfSound-patch-1
Fix createFromDataURL return type
2017-05-15 08:47:09 -07:00
Samuel Attard
d84ddd7fe4 Fix createFromDataURL return type
Fixes #9469
2017-05-16 01:24:06 +10:00
Zeke Sikelianos
25a2480bd8 Merge pull request #249 from electron-userland/vendor-node-typings
add @types/node
2017-05-14 18:25:25 -07:00
Birunthan Mohanathas
a6e11d3b63 Merge pull request #9460 from electron/fix-docs-typescript
Fix docs for TypeScript definitions
2017-05-14 14:17:12 +03:00
Birunthan Mohanathas
0153731888 Make docs for webview.findInPage and webContents.findInPage consistent 2017-05-14 13:43:42 +03:00
Birunthan Mohanathas
5cfa697309 Fix postData type definition in docs 2017-05-14 13:43:38 +03:00
Heilig Benedek
802501fb04 update osr specs 2017-05-13 02:14:30 +02:00
gellert
af2c5d1845 fixes not expected scale factor change 2017-05-13 00:59:25 +02:00
Kevin Sawicki
e49ad155a2 Merge pull request #9450 from akost/patch-1
Fixed capitalization and punctuation in README
2017-05-12 14:16:17 -07:00
Andrei K
70539385d1 Fixed capitalization and punctuation in README
Fixed capitalization and punctuation in /ru-RU/README.md
2017-05-12 14:07:40 -07:00
Kevin Sawicki
22397d2c35 Merge pull request #9448 from xaverh/patch-1
Clang-Format extension for Visual Studio Code
2017-05-12 09:48:14 -07:00
Xaver Hellauer
ded1adf165 Clang-Format extension for Visual Studio Code 2017-05-12 18:40:46 +02:00
Kevin Sawicki
9ab01228e7 Merge pull request #9430 from suryast/translate_indonesian
Translate indonesian
2017-05-12 08:48:51 -07:00
Kevin Sawicki
afe58231ba Merge pull request #9360 from electron/sw_protocol_patch
protocol: provide default response code for custom request jobs
2017-05-11 16:01:14 -07:00
Kevin Sawicki
ef4bf7ed93 Use status code constant 2017-05-11 15:33:56 -07:00
Kevin Sawicki
4fdb884feb Fix windows path in service worker spec 2017-05-11 15:33:56 -07:00
deepak1556
3c88447be6 protocol: provide default response code for custom request jobs 2017-05-11 15:33:56 -07:00
Kevin Sawicki
718cd8d711 Remove unsupported debugger in node processes 2017-05-11 15:02:27 -07:00
Heilig Benedek
9f682ee36b fix osr window initial sizing 2017-05-11 23:48:14 +02:00
Kevin Sawicki
4824c24fbc Remove non-functional node debugger usage 2017-05-11 10:59:51 -07:00
deepak1556
71b5d946e0 protocol: use streaming interface between fetcher and requestjob 2017-05-11 22:52:49 +05:30
Kevin Sawicki
190c9c916e Merge pull request #9331 from 22222/issue2579
Add 'will-prevent-unload' event for #2579.
2017-05-11 09:04:40 -07:00
Kevin Sawicki
4e1943dfe6 Minor updates to example
* const-ing
* mainWindow -> win
* add dialog require
2017-05-11 09:01:51 -07:00
Kevin Sawicki
aea25be150 Merge pull request #9432 from electron/fix-docs-8
Fix return type of makeSingleInstance
2017-05-11 08:43:11 -07:00
Kevin Sawicki
ae71dfe3d1 Merge pull request #9423 from electron/brightray-import
Import brightray source and remove submodule
2017-05-11 08:35:41 -07:00
Samuel Attard
f57c1881da Fix return type of makeSingleInstance 2017-05-11 22:09:37 +10:00
Cheng Zhao
1b1c663b32 Merge pull request #8839 from brenca/offscreen-child-window
Offscreen rendering enhancements
2017-05-11 20:52:47 +09:00
22222
4044548f3e Add 'will-prevent-unload' event. 2017-05-11 06:35:35 -05:00
Heilig Benedek
bf58373a40 fix NativeImage size hint crashing when image is created from path 2017-05-11 11:38:34 +02:00
Cheng Zhao
0c3f80c334 Merge pull request #8963 from seanchas116/native-window-open
Add option to use native window.open() in non-sandboxed webcontents
2017-05-11 16:38:10 +09:00
Zeke Sikelianos
1804b800d7 Merge pull request #9429 from electron/ts-node
Fix TypeScript bugs and make it easier to debug
2017-05-11 00:03:25 -07:00
Surya Setiyaputra
7b63409df5 add Indonesian translation of README.md – more to be translated on a later date 2017-05-11 16:55:51 +10:00
Zeke Sikelianos
b6a05a684f add @types/node 2017-05-10 23:38:51 -07:00
Zeke Sikelianos
3273a1b42e add npm scripts for convenience 2017-05-10 23:22:49 -07:00
Zeke Sikelianos
dcfca610f4 bump electron-typescript-definitions version 2017-05-10 23:22:30 -07:00
Ryohei Ikegami
7ac93045b7 Merge branch 'master' into native-window-open 2017-05-11 13:51:43 +09:00
Kevin Sawicki
6ca7787f13 Merge pull request #9427 from electron/fix-docs-6
Fix webcontents capital
2017-05-10 16:30:04 -07:00
Samuel Attard
b4e356212c Fix webcontents capital 2017-05-11 09:28:24 +10:00
Kevin Sawicki
ad5424f886 Merge pull request #9425 from electron/typescript-duplicates
Minor typescript fixes
2017-05-10 16:25:18 -07:00
Kevin Sawicki
6a63028079 Remove vendor\brightray prefix 2017-05-10 15:56:15 -07:00
Kevin Sawicki
6ace5a8e3e Use correct .target_arch path 2017-05-10 15:55:00 -07:00
Kevin Sawicki
330be2fb16 Remove unused bootstrap method 2017-05-10 15:51:28 -07:00
Kevin Sawicki
f46b383824 Add types 2017-05-10 14:29:57 -07:00
Kevin Sawicki
a44f0620b3 : -> - 2017-05-10 14:27:51 -07:00
Kevin Sawicki
edac443673 Correct property name to pid 2017-05-10 14:26:13 -07:00
Kevin Sawicki
b3eae78b5c Update brightray references in doc translations 2017-05-10 14:12:47 -07:00
Kevin Sawicki
e954c60ab8 Update libcc paths to be in root vendor 2017-05-10 14:11:24 -07:00
Heilig Benedek
a76a4ddff2 🎨 lint fix 2017-05-10 23:04:19 +02:00
Kevin Sawicki
500ffdf700 cpplint brightray/ files 2017-05-10 13:51:57 -07:00
Kevin Sawicki
94eff35286 Update docs for new brightray location 2017-05-10 13:42:21 -07:00
Kevin Sawicki
7ff6036420 Consolidate ignores 2017-05-10 13:28:12 -07:00
Kevin Sawicki
de02485d28 Move brightray tools into mains tools folder 2017-05-10 13:28:04 -07:00
Kevin Sawicki
5ea20b5b54 Wire up build for new brightray location 2017-05-10 13:27:49 -07:00
Kevin Sawicki
4dab62dfcf Move brightray submodules to root vendor 2017-05-10 13:27:22 -07:00
Kevin Sawicki
dde21e7657 Remove unused files 2017-05-10 13:21:02 -07:00
Kevin Sawicki
572244272c Remove brightray submodule 2017-05-10 13:20:47 -07:00
gellert
b1095faa71 minor fix for macos 2017-05-10 22:19:05 +02:00
Heilig Benedek
6f80379b30 use computeSize64 instead of getSize 2017-05-10 22:19:05 +02:00
Heilig Benedek
8d1c17e036 remove GetSizeForNewRenderView 2017-05-10 22:19:05 +02:00
Heilig Benedek
5c690ea46e don't store isolate_ in NativeImage and tune size hints 2017-05-10 22:19:05 +02:00
Heilig Benedek
576b702e8b update native_mate and use the MarkHighMemoryUsage API to speed up garbage collection 2017-05-10 22:19:05 +02:00
Heilig Benedek
92cc6746b1 resolve errors introduced during rebase 2017-05-10 22:19:05 +02:00
gellert
aa89bc0bb8 use outer webcontents for popups 2017-05-10 22:19:05 +02:00
Heilig Benedek
f03dccadb3 use white gutter color and paint damage rects over when paint starts in software osr 2017-05-10 22:19:05 +02:00
Heilig Benedek
3b94d268eb lint fix 📝 2017-05-10 22:19:05 +02:00
Heilig Benedek
c54f7f2a8d use bounds instead of bounds_in_pixel 2017-05-10 22:19:05 +02:00
Heilig Benedek
1fcf6ea73f add size hints to NativeImages to make node GC aware of the high amount of memory used by the instances 2017-05-10 22:19:05 +02:00
Heilig Benedek
89277dda90 fix leaking of NativeImage instances 2017-05-10 22:19:05 +02:00
Heilig Benedek
704fde1939 port CEF pr that speeds up and simplifies GPU rendering 2017-05-10 22:19:05 +02:00
Heilig Benedek
2f32311292 fix black bars around popups and scaled images when using gpu rendering 2017-05-10 22:19:05 +02:00
gellert
155fef99ae adds offscreen renderer ipc message to disable external popups 2017-05-10 22:19:05 +02:00
gellert
6b33564056 adds ipc send to disable external popups on macos 2017-05-10 22:19:05 +02:00
Heilig Benedek
ff053bbe06 call InvalidateBounds when popup updates 2017-05-10 22:19:05 +02:00
gellert
062b1ed43e moves createviewfordwidget method to osrrwhv 2017-05-10 22:19:05 +02:00
Heilig Benedek
bccc25165d fix mouse wheel event sending typo 2017-05-10 22:19:05 +02:00
Heilig Benedek
8f546313b6 add popup window bounds to damage_rect 2017-05-10 22:19:05 +02:00
Heilig Benedek
c9fa71bdb3 lint fix 2017-05-10 22:19:05 +02:00
Heilig Benedek
20d2ab29ab Add support for child and popup windows in OSR 2017-05-10 22:19:05 +02:00
Kevin Sawicki
1453f090dc Initial brightray import 2017-05-10 13:14:10 -07:00
Electron Bot
18615da075 Update to Electron v1.7.0 2017-05-10 12:58:24 -07:00
Kevin Sawicki
2b694195ff Merge pull request #248 from electron-userland/1-7-0-typescript
Update to electron.d.ts@1.7.0
2017-05-10 12:55:42 -07:00
Kevin Sawicki
9d8b9ece5c Update to electron.d.ts@1.7.0 2017-05-10 12:52:00 -07:00
Kevin Sawicki
b6319698f1 Bump v1.7.0 2017-05-10 10:42:05 -07:00
Kevin Sawicki
7d3b58aab1 Merge pull request #9116 from electron/chrome58
Upgrade to Chrome 58
2017-05-10 10:41:12 -07:00
Kevin Sawicki
de38461a3f Update NotifyObserversCertDBChanged call to take no arguments 2017-05-10 10:05:48 -07:00
Kevin Sawicki
fb85b26767 Merge remote-tracking branch 'origin/master' into chrome58 2017-05-10 09:42:19 -07:00
Electron Bot
584cffe7c8 Update to Electron v1.6.9 2017-05-10 09:39:34 -07:00
Kevin Sawicki
878b7e373f Merge pull request #247 from electron-userland/update-typescript-definition
Update electron.d.ts for 1.6.9
2017-05-10 09:37:50 -07:00
Kevin Sawicki
8dde4075e4 Update electron.d.ts for 1.6.9 2017-05-10 09:25:04 -07:00
Surya Setiyaputra
379499e71e create folders for translation work 2017-05-11 00:55:38 +10:00
Kevin Sawicki
65bd0ecaa9 Upgrade to Chrome 58.0.3029.110 2017-05-09 21:14:22 -07:00
Kevin Sawicki
609b56c1ec Merge pull request #295 from electron/chrome-58-0-3029-110
Upgrade to Chrome 58.0.3029.110
2017-05-09 21:10:16 -07:00
Kevin Sawicki
012b719163 Merge pull request #294 from electron/updgrade-to-58-0-3029-96
Upgrade to 58.0.3029.96
2017-05-09 16:07:35 -07:00
Hari Juturu
277c3155a6 use will-create-webview event 2017-05-09 10:12:44 -07:00
Cheng Zhao
efe23b7595 Use Node's memory allocator for ArrayBuffer
For Buffers created in Node, they are usually allocated in Node and
freed by Chromium's allocator, which will cause crashes when Node and
Chromium are using different allocators.

This commit makes Chromium use Node' allocator for ArrayBuffers.
2017-05-09 14:12:39 +09:00
renaesop
dfcc882dcc Add a test for webcontents.printerList. 2017-05-09 10:38:03 +08:00
HariJ
a05eb9047e Fixing missed variable name 2017-05-08 18:50:20 -07:00
renaesop
cba5e96496 Merge remote-tracking branch 'ups/master' 2017-05-09 09:44:24 +08:00
Hari Krishna Reddy Juturu
3321f7d39c Changing command line option name 2017-05-08 17:27:31 -07:00
Kevin Sawicki
8be4332765 coffee -> js 2017-05-08 14:06:58 -07:00
Kevin Sawicki
3dee76a6c1 🎨 2017-05-08 13:43:13 -07:00
Tom Watson
50057163c6 📝 clarify dialog buttons blocking side effect 2017-05-08 11:17:33 +02:00
Hari Krishna Reddy Juturu
357caf8991 fixing spec 2017-05-06 22:41:05 -07:00
Hari Krishna Reddy Juturu
939885bc66 Remove .only on spec 2017-05-06 22:14:52 -07:00
Hari Krishna Reddy Juturu
94d054cf11 Add option to override webview security 2017-05-06 22:10:42 -07:00
Hari Krishna Reddy Juturu
b4a8ed01f1 PR 44648: Enabling creation on webview with node-integration disabled and raising events
- Enabling creation on webview with node-integration disabled and raising events

Conflicts:
	lib/browser/guest-view-manager.js
2017-05-06 20:50:01 -07:00
Darrell Ulm
fa2bfd3ff5 Add Math.ceil to pageSize.height and pageSize.width to printToPDF() options to prevent error on display. 2017-05-06 19:19:31 -04:00
Zeke Sikelianos
9fc8f92cd9 Merge pull request #209 from electron-userland/bundle-typescript-declaration-file
add electron.d.ts for built-in TypeScript support
2017-05-05 14:09:25 -07:00
Zeke Sikelianos
974d78a603 update electron.d.ts 2017-05-05 13:54:18 -07:00
Zeke Sikelianos
5e253443b1 update electron.d.ts 2017-05-05 13:39:26 -07:00
Zeke Sikelianos
8dde27af40 update electron.d.ts to 0.0.8 2017-05-05 13:39:26 -07:00
Zeke Sikelianos
3f74a2ab48 add electron.d.ts file and reference in package.json 2017-05-05 13:39:26 -07:00
Kevin Sawicki
d3bb7b7278 Merge pull request #294 from electron/updgrade-to-58-0-3029-96
Upgrade to 58.0.3029.96
2017-05-03 13:42:33 -07:00
Kevin Sawicki
e1d564da6e Upgrade to Chrome 58.0.3029.96 2017-05-03 08:49:57 -07:00
Kevin Sawicki
dec7a3c12a Upgrade to 58.0.3029.96 2017-05-03 08:48:58 -07:00
Kevin Sawicki
164b97af4c Use nodedir option to specify local headers 2017-05-02 13:47:34 -07:00
Kevin Sawicki
20fa2ce147 Rebuild native modules during bootstrap 2017-05-02 13:24:29 -07:00
Kevin Sawicki
c19c14d0b3 Build spec modules against locally generated node headers tarball 2017-05-02 10:14:49 -07:00
Kevin Sawicki
c6c93211be Merge remote-tracking branch 'origin/master' into chrome58 2017-05-02 09:15:16 -07:00
Kevin Sawicki
93d7973590 Merge pull request #288 from electron/chrome58
Upgrade to Chrome 58
2017-05-02 08:52:42 -07:00
Electron Bot
b0b5fef317 Update to Electron v1.6.8 2017-05-01 15:56:30 -07:00
Ryohei Ikegami
da97150fc9 Fix JS style in test HTMLs 2017-04-30 19:43:21 +09:00
Ryohei Ikegami
3c5179b717 Merge branch 'native-window-open' of github.com:seanchas116/electron into native-window-open 2017-04-30 19:37:23 +09:00
Ryohei Ikegami
8b6b512485 Pass nativeWindowOpen flag to isolated init.js 2017-04-30 19:35:41 +09:00
Ryohei Ikegami
0034b306f5 Add test for nativeWindowOpen + contextIsolation 2017-04-30 19:33:40 +09:00
Ryohei Ikegami
edeac2f59e Split test HTML file into separate ones 2017-04-30 18:54:08 +09:00
Cheng Zhao
dd2d0b3f4f Update to Chrome 58.0.3029.81 2017-04-27 18:57:04 +09:00
Cheng Zhao
3601ae3549 Update to Chrome 58.0.3029.81 2017-04-27 17:50:02 +09:00
Cheng Zhao
4c47f2d15e Update to Node v7.9.0 2017-04-27 17:20:01 +09:00
Cheng Zhao
301ed2d66c Fix typo when updating code 2017-04-27 16:34:52 +09:00
Cheng Zhao
cbd3b054cb Fix release build 2017-04-27 16:34:52 +09:00
Cheng Zhao
620a1ca167 Fix unresolved symbol to icu::DateInterval 2017-04-27 16:34:52 +09:00
Cheng Zhao
e6e985c677 Fix linking error with icu symbols 2017-04-27 16:34:52 +09:00
Cheng Zhao
5563cf0dc5 Automatically register secure schemes in renderer
Otherwise the behavior of secure schemes would be different with before.
2017-04-27 16:34:52 +09:00
Cheng Zhao
0fb746b350 Fix crash when using secure schemes 2017-04-27 16:34:52 +09:00
Cheng Zhao
fb42a72ad8 Fix building on Windows 2017-04-27 16:34:52 +09:00
Cheng Zhao
8c5fd76286 Fix symbol conflicts in Xlib.h 2017-04-27 16:34:52 +09:00
Cheng Zhao
b3d60bfb3a Fix building on Linux 2017-04-27 16:34:52 +09:00
Cheng Zhao
97fd383c53 There are a few more new values for ChangeCause 2017-04-27 16:34:52 +09:00
Cheng Zhao
7d9d82b522 Fix lack of some Chromium headers 2017-04-27 16:34:52 +09:00
Cheng Zhao
08069e18db Don't use gzip when uploading crash reports 2017-04-27 16:34:52 +09:00
Cheng Zhao
b2b2d8d9a4 Fix crash on exit 2017-04-27 16:34:52 +09:00
Cheng Zhao
d85b58fdb5 Fix API changes of FrameSubscriber 2017-04-27 16:34:52 +09:00
Cheng Zhao
6da696b6f2 Update printing code 2017-04-27 16:34:52 +09:00
Cheng Zhao
326908cebb Fix change of FileDescriptorWatcher API 2017-04-27 16:34:52 +09:00
Cheng Zhao
9f94a0b246 Update Singleton code 2017-04-27 16:34:52 +09:00
Cheng Zhao
e43b34b8f8 Use blink::SchemeRegistry over WebSecurityPolicy
The latter is removing some APIs we use.
2017-04-27 16:34:52 +09:00
Cheng Zhao
481b04358e Fix blink API changes 2017-04-27 16:34:52 +09:00
Cheng Zhao
8634f37dfc Add gen/third_party/WebKit to include dirs 2017-04-27 16:34:52 +09:00
Cheng Zhao
dd3d791cb9 IsolateHolder API has been changed 2017-04-27 16:34:52 +09:00
Cheng Zhao
5fb87f0c1e ResourceHandler API has been changed 2017-04-27 16:34:52 +09:00
Cheng Zhao
803120dae6 Update libcc to fix missing gen/cc headers 2017-04-27 16:34:52 +09:00
Cheng Zhao
6be10ffef2 Fix more API changes due to name changes 2017-04-27 16:34:52 +09:00
Cheng Zhao
50e3bfa764 Fix API changes of base::Value 2017-04-27 16:34:52 +09:00
Cheng Zhao
9d1b88ed59 Fix API changes in OSR code 2017-04-27 16:34:52 +09:00
Cheng Zhao
fc2d62d5cb Fix API changes of Chrome58 2017-04-27 16:34:52 +09:00
Cheng Zhao
453cb2c0b4 Upgrade to Chrome 58.0.3029.40 2017-04-27 16:34:52 +09:00
Ryohei Ikegami
1d73e84a29 Merge branch 'master' into native-window-open 2017-04-27 12:03:55 +09:00
Electron Bot
703dbb22e2 Update to Electron v1.3.15 2017-04-20 17:04:43 -07:00
Electron Bot
26a28b7447 Update to Electron v1.6.7 2017-04-18 13:58:20 -07:00
Ryohei Ikegami
91f31506ef Skip native addon test in Windows 2017-04-19 00:11:23 +09:00
Ryohei Ikegami
8dff29185b Merge branch 'master' into native-window-open 2017-04-18 21:59:22 +09:00
Alexandre Lachèze
9aff17afea 👕 alphabetical order 2017-04-18 13:44:31 +02:00
Alexandre Lachèze
f375e8a7db Add OS process id to web-contents 2017-04-18 12:31:20 +02:00
Cheng Zhao
70d67f9da4 Link with VideoToolbox.framework 2017-04-18 16:44:04 +09:00
Cheng Zhao
55e9c3196a Fix building on Linux 2017-04-17 16:52:24 +09:00
Cheng Zhao
b82845dc4a A quick fix for crashing when closing devtools 2017-04-17 16:16:02 +09:00
Cheng Zhao
98c039c880 Detach from devtools before destroying
Otherwise Electron would crash on exit in Chrome 58.
2017-04-17 16:16:02 +09:00
Cheng Zhao
79a441874e Fill missing NetworkDelegate method 2017-04-17 16:16:02 +09:00
Cheng Zhao
affd80aef0 Add gen/third_party/WebKit to include dirs 2017-04-17 16:16:02 +09:00
Cheng Zhao
bbd4749668 base::WrapUnique has changed its API 2017-04-17 16:16:02 +09:00
Cheng Zhao
c41fb922b3 Fix API changes of Chrome 58 2017-04-17 16:16:02 +09:00
Cheng Zhao
0a110a44f9 ScopedPtrHashMap has been removed 2017-04-17 16:16:02 +09:00
Cheng Zhao
fdb880eca2 Remove the ENABLE_WEBRTC define
Headers are now defined in gen/media/media_features.h.
2017-04-17 16:16:02 +09:00
Cheng Zhao
9ee47385d5 Update libchromiumcontent to Chrome 58 2017-04-17 16:16:02 +09:00
Birunthan Mohanathas
708d39ebe5 Merge pull request #289 from poiru/windows-wm-state
Initialize wm::WMState on Windows as well
2017-04-16 17:58:41 +03:00
Birunthan Mohanathas
ed9795514e Initialize wm::WMState on Windows as well
See:
cd4f72fdea/ui/views_content_client/views_content_client_main_parts_aura.cc (23)

This fixes electron/electron#9197.
2017-04-16 17:32:28 +03:00
Ryohei Ikegami
b19c5154ca Fix cpplint errors 2017-04-12 12:25:56 +09:00
Ryohei Ikegami
b07c3adca9 Fix comment for ChildWebContentsTracker 2017-04-12 12:20:53 +09:00
Cheng Zhao
8f7bd436f0 Merge pull request #279 from electron/win7_notifications
Windows 7 notifications
2017-04-11 15:06:26 +09:00
Electron Bot
a2d6c231e0 Update to Electron v1.6.6 2017-04-07 13:04:07 -07:00
Ryohei Ikegami
34ed1a9ef8 Track child web contents 2017-04-06 12:15:27 +09:00
Ryohei Ikegami
659722924d Don't show BrowserWindow in test 2017-04-06 11:44:20 +09:00
Ryohei Ikegami
349ea3a15a Add test for native addon after reload 2017-04-06 11:43:57 +09:00
Ryohei Ikegami
526086d900 Improve RootWebContentsTracker 2017-04-06 11:37:21 +09:00
Electron Bot
bf22f50aeb Update to Electron v1.4.16 2017-04-05 10:34:16 -07:00
Ales Pergl
fbe3b27409 Addressed review feedback 2017-04-05 14:30:17 +02:00
Ales Pergl
f73233ee55 Changed local variable and parameter names to snake case style 2017-04-05 14:30:17 +02:00
Ales Pergl
ba03c544f3 Address cpplint issue ""public:" should be preceded by a blank line [whitespace/blank_line] [3]" 2017-04-05 14:30:17 +02:00
Ales Pergl
3336e02769 Address cpplint issue "Constructors callable with one argument should be marked explicit. [runtime/explicit] [5]" 2017-04-05 14:30:17 +02:00
Ales Pergl
1a7d9a5d20 Address cpplint issue "At least two spaces is best between code and comments [whitespace/comments] [2]" 2017-04-05 14:30:17 +02:00
Ales Pergl
bf86718d61 Address cpplint issue "DISALLOW_COPY_AND_ASSIGN should be the last thing in the class [readability/constructors] [3]" 2017-04-05 14:30:16 +02:00
Ales Pergl
161b4e752b Address cpplint issue "public: should be indented +1 space inside class NotificationPresenterWin7 [whitespace/indent] [3]" 2017-04-05 14:30:16 +02:00
Ales Pergl
9d75e9f54c Address cpplint issue "Namespace should be terminated with "// namespace brightray" [readability/namespace] [5]" 2017-04-05 14:30:16 +02:00
Ales Pergl
64bf0d210e Address cpplint issue "An else should appear on the same line as the preceding } [whitespace/newline] [4]" 2017-04-05 14:30:16 +02:00
Ales Pergl
9b7fbd4d22 Address cpplint issue "Using C-style cast. Use reinterpret_cast<BYTE*>(...) instead [readability/casting] [4]" 2017-04-05 14:30:16 +02:00
Ales Pergl
91cff2e6c7 Address cpplint issue "Missing space before ( in if( [whitespace/parens] [5]" 2017-04-05 14:30:16 +02:00
Ales Pergl
29f3332276 Address cpplint issue "{ should almost always be at the end of the previous line [whitespace/braces] [4]" 2017-04-05 14:30:16 +02:00
Ales Pergl
63eeb96e71 Address cpplint issue "Do not use namespace using-directives. Use using-declarations instead. [build/namespaces] [5]" 2017-04-05 14:30:16 +02:00
Ales Pergl
20d0bda538 Address cpplint issue "Found C++ system header after other header. Should be: toast.h, c system, c++ system, other. [build/include_order] [4]" 2017-04-05 14:30:16 +02:00
Ales Pergl
33b4936a68 Address cpplint issue "Include the directory when naming .h files [build/include] [4]" 2017-04-05 14:30:15 +02:00
Ales Pergl
0bba5b9b41 Address cpplint issue "Lines should be <= 80 characters long [whitespace/line_length] [2]" 2017-04-05 14:30:15 +02:00
Ales Pergl
392d606848 Changed member variable naming style to snake case 2017-04-05 14:30:15 +02:00
Ales Pergl
0fa6c82b3f Use NotificationPresenterWin7 on Windows 7 2017-04-05 14:30:15 +02:00
Ales Pergl
fe05b66a6c Added desktop notifications implementation for Windows 7 (and earlier) 2017-04-05 14:30:15 +02:00
Ales Pergl
e6a30388da Make Notification factory function a member of NotificationPresenter so that we can create different types of notifications based on runtime conditions. 2017-04-05 14:30:15 +02:00
Ryohei Ikegami
b683584859 Add better comments to ShouldCreateNewSiteInstance 2017-04-05 18:16:10 +09:00
Ryohei Ikegami
cbdd52e43b Always create new SiteInstance on root WebContents 2017-04-05 17:51:17 +09:00
Ryohei Ikegami
90852c665d Pass RenderFrameHost to ShouldCreateNewSiteInstance 2017-04-05 13:47:02 +09:00
Ryohei Ikegami
61fa8693d2 Merge branch 'master' into native-window-open 2017-04-04 20:54:37 +09:00
Ryohei Ikegami
e7b9b4b1a5 Always create new site instance 2017-04-04 20:54:10 +09:00
Ryohei Ikegami
051e133ce3 Add test for opeing HTML file 2017-04-04 19:05:13 +09:00
Ryohei Ikegami
3eab5df4a4 Revert "Reuse site instance only on window.open"
This reverts commit 4d61d071b2.
2017-04-04 13:48:17 +09:00
Kevin Sawicki
0981807261 Merge pull request #287 from electron/no-anonymous-ns-in-header
Don't use anonymous namespace in header file.
2017-04-03 08:27:51 -07:00
Kevin Sawicki
7dce066854 Merge pull request #286 from electron/cleanup-cpp
Cleanup codebase
2017-04-03 08:26:32 -07:00
Haojian Wu
e80a9bbb93 Move title_ to InspectableWebContentsViewVies to get rid of cast. 2017-04-01 15:10:52 +02:00
Haojian Wu
ee1f3acf7b Don't use anonymous namespace in header file.
Anonymous namespace should be forbidden in header files even for the
forward declarations:

* As declarations defined in anonymous namespace are internal linkage, each
translation unit which includes this header will get unique copy, which
wastes space.
* It is easy to violate C++ ODR rule.

Consider the following "foo.h":

```cpp
namespace { class Foo; }
class Bar {
  public:
    Foo* getFoo();
    Foo* foo;
}
```

If the 'foo.h' is included in multiple `.cc` files, the compiler will
put `Foo` into a different anonymous namespace in each `.cc`, which
means there are different definitions of `Foo` in the program (a
violation of the ODR).
2017-04-01 08:57:34 +02:00
Electron Bot
361dc1faff Update to Electron v1.6.5 2017-03-31 13:32:08 -07:00
Haojian Wu
f506047a9b Remove an extra blank line. 2017-03-31 21:56:19 +02:00
Haojian Wu
22035e2d6d Fix cpplint: at least two spaces between code and comments. 2017-03-31 20:59:27 +02:00
Haojian Wu
d18b34d55f Replace size() method with empty() when possible.
There is no guaranteed that size() is a constant-time function.
2017-03-30 21:49:16 +02:00
Haojian Wu
e4c571fc68 Remove unused using namespace declaration. 2017-03-30 21:49:15 +02:00
Haojian Wu
424078cfdb Fix namespace comments. 2017-03-30 21:49:15 +02:00
Ryohei Ikegami
37c4569982 Use GetBoolean directly 2017-03-28 20:00:33 +09:00
Ryohei Ikegami
9edfbab89f Add comment why defaultPrevented = false 2017-03-28 19:58:58 +09:00
Ryohei Ikegami
de2019f6b8 Change webContents -> options.webContents 2017-03-28 19:58:23 +09:00
Ryohei Ikegami
87565f4c84 Simplify example code 2017-03-28 19:50:45 +09:00
Ryohei Ikegami
e885e33b75 Fix choise -> choice 2017-03-28 19:50:00 +09:00
Cheng Zhao
bd5c53c2f7 Merge pull request #283 from electron/devtools_shutdown_patch_revert_revert
Revert "Revert "close devtools web contents when available to trigger cleanup""
2017-03-27 22:46:06 -07:00
Kevin Sawicki
bf6d21fe08 Merge pull request #285 from electron/cpplint
Run cpplint on CI
2017-03-27 09:20:05 -07:00
Kevin Sawicki
21956071e6 Fix compilation issue 2017-03-24 09:52:37 -07:00
Kevin Sawicki
49ef4e326f Initialize submodules in appveyor build 2017-03-24 09:52:27 -07:00
Ryohei Ikegami
4e473897b7 Use === 2017-03-24 11:08:08 +09:00
Kevin Sawicki
2ece711c2e Format line length to 80 instead of 100 2017-03-23 15:47:30 -07:00
Kevin Sawicki
be0c0e278a Remove cpplint errors 2017-03-23 12:48:27 -07:00
Kevin Sawicki
1d42073ceb Run cpplint on CI build 2017-03-23 10:08:25 -07:00
Kevin Sawicki
31cd7a28d8 Ignore more Objective-C headers 2017-03-23 10:08:25 -07:00
Kevin Sawicki
ece7698b6a Add .clang-format file 2017-03-23 10:08:25 -07:00
Kevin Sawicki
97ced7fb07 Move cpplint config to CPPLINT.cfg file 2017-03-23 10:08:25 -07:00
Kevin Sawicki
96de22ba5f Use cpplint from depot_tools 2017-03-23 10:08:25 -07:00
Ryohei Ikegami
6f9dbd4e04 Merge branch 'master' into native-window-open 2017-03-24 00:11:43 +09:00
Ryohei Ikegami
deba6553f5 Better preventDefault for ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN 2017-03-23 23:51:33 +09:00
Electron Bot
9eb00a462b Update to Electron v1.6.4 2017-03-22 16:06:04 -07:00
Ryohei Ikegami
d3252e0eb1 Reuse existing event 2017-03-21 16:09:53 +09:00
Ryohei Ikegami
4d61d071b2 Reuse site instance only on window.open 2017-03-21 10:41:49 +09:00
Ryohei Ikegami
c3c67f78c1 Improve docs on window.open 2017-03-19 20:33:22 +09:00
Ryohei Ikegami
88f062958f Fix option doc 2017-03-19 20:21:03 +09:00
Ryohei Ikegami
3af9f572ac Fix spec description 2017-03-19 20:10:25 +09:00
Ryohei Ikegami
2c21d3b3fa Fix JavaScript in docs 2017-03-19 20:09:52 +09:00
Ryohei Ikegami
afdf52b053 Add docs for useNativeWindowOpen 2017-03-19 18:37:38 +09:00
Ryohei Ikegami
f3ce93f1bb Fix C++ style 2017-03-19 18:24:05 +09:00
Ryohei Ikegami
076427673e Fix JavaScript style 2017-03-19 18:20:10 +09:00
Ryohei Ikegami
6bbfe89f96 Add spec for useNativeWindowOpen 2017-03-19 18:11:20 +09:00
Ryohei Ikegami
319a7759d0 Fix ELECTRON_GUEST_WINDOW_MANAGER_INTERNAL_WINDOW_OPEN handler 2017-03-19 17:52:39 +09:00
Ryohei Ikegami
2c7343293a Allow window.open on native-window-open enabled 2017-03-19 17:47:26 +09:00
Ryohei Ikegami
a1f9a45276 Use native window.open implementation 2017-03-19 17:41:20 +09:00
Ryohei Ikegami
054ba7a964 Add AtomBrowserClient::IsRendererUsesNativeWindowOpen 2017-03-19 17:25:45 +09:00
Ryohei Ikegami
f7935b429a Add WebContentsPreferences::IsNativeWindowOpenEnabled 2017-03-19 17:12:25 +09:00
deepak1556
99fd1394e4 Revert "Revert "close devtools web contents when available to trigger cleanup""
This reverts commit 7f01bf4e73c188db2406ded1286b661c61c78bba.
2017-03-19 01:25:22 +05:30
Kevin Sawicki
bbf477291f Merge pull request #282 from electron/revert-278-devtools_shutdown_patch
Revert "close devtools web contents when available to trigger cleanup"
2017-03-17 09:37:04 -07:00
Kevin Sawicki
6b387e339b Merge pull request #281 from electron/upgrade-libcc
Upgrade libcc to latest
2017-03-17 09:36:54 -07:00
Kevin Sawicki
8877d78e79 Revert "close devtools web contents when available to trigger cleanup" 2017-03-17 09:35:01 -07:00
Kevin Sawicki
1499ba83d9 Upgrade libcc to latest 2017-03-17 09:11:28 -07:00
Kevin Sawicki
183a9d1441 Merge pull request #230 from electron-userland/no-dynamic-path-in-error
hardcode module path in installation error message
2017-03-16 10:11:05 -07:00
Kevin Sawicki
40bb9e71c5 Merge pull request #231 from vbez/electron_config_cache
Use process.env.electron_config_cache to get the released zip file from the local directory during installation of Electron.
2017-03-16 10:10:13 -07:00
Cheng Zhao
e0485f5ea1 Merge pull request #278 from electron/devtools_shutdown_patch
close devtools web contents when available to trigger cleanup
2017-03-16 17:49:57 +09:00
Electron Bot
43cccff957 Update to Electron v1.3.14 2017-03-14 11:47:48 -07:00
Kevin Sawicki
1c9b0c57ff Update AppVeyor badge URL 2017-03-14 10:10:46 -07:00
deepak1556
07c4f3563e close devtools web contents when available to trigger cleanup 2017-03-14 22:23:08 +05:30
Cheng Zhao
b15123938c Merge pull request #270 from electron/pdf_rendering
Link necessary pdf libraries and load pdf ui resources
2017-03-10 08:35:00 +09:00
Electron Bot
cc6c12b783 Update to Electron v1.6.3 2017-03-07 11:32:34 -08:00
Electron Bot
91c778d053 Update to Electron v1.6.2 2017-03-01 12:06:40 -08:00
deepak1556
9a321d2479 dont link libfxcrt.a on linux
It causes multiple definition error
2017-02-23 22:39:34 +05:30
deepak1556
80de70bf66 address review comments 2017-02-23 22:39:34 +05:30
Haojian Wu
26081d5a11 Link libfx_freetype.a on Mac OS. 2017-02-23 22:39:34 +05:30
deepak1556
7700884ebc link pdf libraries on linux with whole-archive option 2017-02-23 22:39:34 +05:30
deepak1556
5e842b1112 link necessary pdf libraries 2017-02-23 22:39:34 +05:30
deepak1556
2b4948d6aa load pdf resource pak file 2017-02-23 22:39:34 +05:30
Electron Bot
353920e1fa Update to Electron v1.6.1 2017-02-21 10:24:28 -08:00
Kevin Sawicki
28f96f32f9 Merge pull request #276 from electron/context-shutdown-crash
Cleanly shutdown browser context
2017-02-14 08:24:52 -08:00
Kevin Sawicki
4ed9f63989 Cleanly shutdown browser context 2017-02-13 11:04:02 -08:00
Cheng Zhao
4abd865989 Merge pull request #275 from electron/fix-bootstrap
Bootstrap: change working directory when doing submodule updates.
2017-02-13 19:26:04 +09:00
Cheng Zhao
7d5c14e2e8 Merge pull request #273 from deepak1556/zoom_pref_patch
Persist zoom changes per partition
2017-02-13 17:15:31 +09:00
deepak1556
0b76a9c073 Persist zoom levels per partition 2017-02-10 22:54:32 +05:30
Volodymyr Bezuglyy
ba39adde36 Use process.env.electron_config_cache to get prepared zip file. 2017-02-09 15:15:15 +02:00
Zeke Sikelianos
24ef8cc8ce hardcode module path in error message 2017-02-08 11:36:38 -08:00
Catalin Ionut Fratila
3487c90667 Bootstrap: change working directory when doing submodule updates. 2017-02-07 11:21:58 +01:00
renaesop
7f2705b2d9 Print enhancement: add webContents.printerList And a print option to select printer
Print enhancement: add webContents.printerList And a print option to select printer
2017-02-07 12:03:29 +08:00
Electron Bot
73e753ef9a Update to Electron v1.6.0 2017-02-06 18:23:20 -08:00
renaesop
26135b412b Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	atom/browser/api/atom_api_web_contents.cc
#	chromium_src/chrome/browser/printing/print_job_worker.cc
#	chromium_src/chrome/browser/printing/print_job_worker.h
#	chromium_src/chrome/browser/printing/print_view_manager_base.cc
#	chromium_src/chrome/browser/printing/print_view_manager_base.h
#	chromium_src/chrome/browser/printing/printer_query.cc
#	chromium_src/chrome/common/print_messages.cc
#	chromium_src/chrome/renderer/printing/print_web_view_helper.cc
2017-02-07 09:30:36 +08:00
Kevin Sawicki
17e94cd8dc Merge pull request #272 from electron/chrome56
Upgrade to Chrome 56
2017-02-06 11:16:18 -08:00
Electron Bot
381f8ffae7 Update to Electron v1.5.1 2017-02-06 10:00:16 -08:00
renaesop
023a3fd547 Print enhancement: add webContents.printerList And a print option to select printer 2017-02-06 17:18:04 +08:00
Cheng Zhao
6e2f9935fe Update to Chrome 56.0.2924.87 2017-02-06 10:11:37 +09:00
Cheng Zhao
4afc765e28 Link with xcb on Linux 2017-01-30 15:28:24 +09:00
Cheng Zhao
8488425e06 Link with fontsub.lib 2017-01-27 17:11:33 +09:00
Cheng Zhao
766d3c47bb Link with ncrypt.lib on Windows 2017-01-27 17:09:44 +09:00
Cheng Zhao
abececd78b libgtk2ui => libgtkui 2017-01-26 20:02:01 +09:00
Cheng Zhao
a749a3dd2a Fix Debug building on Windows 2017-01-26 16:09:45 +09:00
Cheng Zhao
94fdcb4f48 WebInspector has been split up 2017-01-25 08:43:27 +09:00
Electron Bot
e534e8623e Update to Electron v1.5.0 2017-01-24 10:20:22 -08:00
Cheng Zhao
ce71d16fdd Link with CoreWLAN.framework 2017-01-24 21:12:26 +09:00
Cheng Zhao
7cdcce157a devtools_discovery and devtools_http_handler are part of content module now 2017-01-24 17:38:24 +09:00
Cheng Zhao
de7da8e4be Export boringssl's include dir to dependents 2017-01-24 17:32:46 +09:00
Cheng Zhao
bf4c413947 Update PlatformNotificationService 2017-01-23 17:48:16 +09:00
Cheng Zhao
ac4ef926e1 URLRequestContenxtGetter now accepts task runner 2017-01-23 15:43:17 +09:00
Cheng Zhao
622fd8d1d7 Update InspectableWebContentsImpl 2017-01-23 15:43:17 +09:00
Cheng Zhao
db7959619e Update DevToolsNetworkUploadDataStream 2017-01-23 15:18:52 +09:00
Cheng Zhao
70ffec1134 There is no content::MEDIA_ENUMERATE_DEVICES anymore 2017-01-23 15:14:38 +09:00
Cheng Zhao
43813ff680 Add a new include dir from boringssl 2017-01-23 15:13:28 +09:00
Cheng Zhao
0236f87507 Update DevToolsNetworkTransaction 2017-01-23 15:10:34 +09:00
Cheng Zhao
e7ee9f1be9 DevToolsDelegate is no longer needed 2017-01-23 15:07:18 +09:00
Cheng Zhao
804d56e139 Signature of StartDataRequest has changed 2017-01-23 14:55:06 +09:00
Cheng Zhao
eb89edbf5b devtools_discovery and devtools_http_handler are gone 2017-01-23 14:54:58 +09:00
Cheng Zhao
f560fd56aa Update libchromiumcontent to Chrome 56 2017-01-23 14:34:57 +09:00
Kevin Sawicki
5715dfcf17 Merge pull request #269 from electron/use_gn-chrome54
Use gn chrome54
2017-01-19 10:56:00 -08:00
Electron Bot
32039ef9a6 Update to Electron v1.4.15 2017-01-19 10:10:28 -08:00
Kevin Sawicki
e3cfb8ae5f Upgrade libcc to latest 2017-01-17 14:09:22 -08:00
Cheng Zhao
72cd10a873 Update libchromiumcontent to latest 2017-01-17 17:20:27 +09:00
Ales Pergl
85db1bb47d Adjustments after upgrading to Chromium 54 2017-01-17 17:18:51 +09:00
Ales Pergl
eaea039155 Adjust linked static libraries after migrating libchromiumcontent to GN 2017-01-17 17:18:51 +09:00
Kevin Sawicki
2443ea4055 Merge pull request #267 from electron/update-ownership
Update std:move call to fix macOS compiler error
2017-01-13 09:13:25 -08:00
Kevin Sawicki
e5ec6adf7d Update std:move call to fix macOS compiler error 2017-01-12 14:04:12 -08:00
Kevin Sawicki
01d49a8bad Merge pull request #268 from electron/ci
Add Travis and AppVeyor CI
2017-01-12 14:03:55 -08:00
Kevin Sawicki
6087a1223f Add initial AppVeyor config 2017-01-12 11:38:12 -08:00
Kevin Sawicki
99786c7437 Build through Electron in cibuild and add Travis config 2017-01-12 11:37:52 -08:00
Kevin Sawicki
cda2e0c181 Merge pull request #266 from deepak1556/devtools_remote_detach_patch
force attach devtools client when requested by inspectable webcontents
2017-01-11 17:26:12 -08:00
Electron Bot
fe1cfa27fe Update to Electron v1.4.14 2017-01-10 12:45:08 -08:00
deepak1556
cddce77ea4 force attach devtools client when requested by inspectable webcontents 2017-01-10 16:43:16 +05:30
Kevin Sawicki
4110a9c66d Merge pull request #264 from deepak1556/devtools_net_interceptor_patch
interceptor should handle default values of download and upload throughput
2017-01-09 10:42:01 -08:00
Zeke Sikelianos
17eb7f2cf4 Merge pull request #227 from pzrq/patch-1
Update README.md badge: Drop prebuilt
2017-01-09 10:07:09 -08:00
deepak1556
237cb7d0a3 interceptor should handle default values of download and upload throughput 2017-01-06 23:28:49 +05:30
Peter Schmidt
f89157fff9 Update README.md badge: Drop prebuilt
As documented later in the README.md already, plus the download numbers look bigger too.
2017-01-04 18:15:01 +11:00
Kevin Sawicki
7e72581469 Merge pull request #224 from electron-userland/check-if-path-file-exists
Check that the path file exists before spawning
2016-12-28 10:24:07 -08:00
Kevin Sawicki
d9d47344c1 Remove semicolon 2016-12-28 09:29:37 -08:00
Kevin Sawicki
e3e05aa797 Add test for corrupt install error message 2016-12-28 09:28:51 -08:00
Samuel Attard
b85ec95975 Get package name from folder path 2016-12-28 09:19:18 -08:00
Samuel Attard
5c8ebb296c Update index.js 2016-12-28 09:19:18 -08:00
Kevin Sawicki
39caff88c9 Merge pull request #225 from electron-userland/write-file-after-uncompressing
Write path.txt file after uncompressing
2016-12-28 09:17:57 -08:00
Kevin Sawicki
e165294ff1 Check that exit code was non-zero 2016-12-27 13:20:51 -08:00
Kevin Sawicki
8d4660158a err -> ignored 2016-12-27 11:51:00 -08:00
Kevin Sawicki
ed8260e4d9 Inline platform variable 2016-12-27 11:51:00 -08:00
Kevin Sawicki
835c64b7b2 Add specs for error cases 2016-12-27 11:50:52 -08:00
Kevin Sawicki
af2ca221b4 Ignore npm-debug.log 2016-12-27 11:21:18 -08:00
Kevin Sawicki
d5bb1d87cc Add getPath helper 2016-12-27 11:13:15 -08:00
Kevin Sawicki
d2df641b0d Write path.txt after extraction 2016-12-27 11:03:51 -08:00
Electron Bot
f405b2e366 Update to Electron v1.4.13 2016-12-20 13:09:17 -08:00
Kevin Sawicki
d76f446140 Merge pull request #261 from poiru/always-link-dom-keycode-converter
Always link dom_keycode_converter
2016-12-13 14:59:46 -08:00
Kevin Sawicki
e8cb41ab2e Merge pull request #262 from deepak1556/media_device_id_patch
persist media device id salt across sessions
2016-12-12 13:30:26 -08:00
Electron Bot
0f8ba64aa2 Update to Electron v1.4.12 2016-12-09 22:55:28 -08:00
Electron Bot
8c9c7f8fbe Update to Electron v1.4.12 2016-12-09 22:47:23 -08:00
Electron Bot
4ac270761f Update to Electron v1.4.11 2016-12-07 10:03:33 -08:00
Electron Bot
9d9266af66 Update to Electron v1.3.13 2016-12-06 15:53:10 -08:00
deepak1556
dbf4e52e05 persist media device id salt across sessions 2016-12-03 16:47:31 +05:30
Birunthan Mohanathas
cef773a439 Always link dom_keycode_converter
This is needed for electron/electron#7586.
2016-11-28 15:23:04 -08:00
Electron Bot
bfcca60ac3 Update to Electron v1.4.10 2016-11-29 07:12:53 +09:00
Electron Bot
02f55b2d91 Update to Electron v1.3.12 2016-11-29 05:49:21 +09:00
Electron Bot
8ba43b4e5b Update to Electron v1.4.9 2016-11-24 08:50:47 +09:00
Electron Bot
2420a3497c Update to Electron v1.3.11 2016-11-24 07:07:19 +09:00
Zeke Sikelianos
d4fa23144d Merge pull request #216 from ivoputzer/master
fixes typo within readme
2016-11-23 11:10:55 -08:00
Ivo von Putzer Reibegg
9518b66d73 fixes typo within readme 2016-11-23 12:16:27 +01:00
Electron Bot
7938f2b50d Update to Electron v1.4.8 2016-11-23 08:46:12 +09:00
Electron Bot
fb7718d700 Update to Electron v1.3.10 2016-11-23 04:19:29 +09:00
Electron Bot
c94268a0fe Update to Electron v1.3.9 2016-11-17 05:57:00 +09:00
Electron Bot
fd56129bb5 Update to Electron v1.4.7 2016-11-17 03:46:52 +09:00
Zeke Sikelianos
dfcc044688 Merge pull request #211 from electron-userland/mafintosh-patch-1
log level is missing http
2016-11-15 12:37:56 -08:00
Mathias Buus
537203469e log level is missing http 2016-11-11 15:38:02 +09:00
Electron Bot
e3889e7035 Update to Electron v1.4.6 2016-11-10 06:26:29 +09:00
Zeke Sikelianos
47636343c9 Merge pull request #202 from nucleardreamer/log-level
Download progress should only show for appropriate log levels
2016-11-09 10:57:37 -08:00
Kevin Sawicki
ba6f1f5443 Merge pull request #259 from electron/upgrade-chrome-53
Upgrade to Chrome 53.0.2785.143
2016-11-08 09:36:17 -08:00
Kevin Sawicki
66b5f0c80c Upgrade to Chrome 53.0.2785.143 2016-11-08 09:17:29 -08:00
Electron Bot
1846dfbbbb Update to Electron v1.4.5 2016-11-02 02:34:38 +09:00
Kevin Sawicki
487287eb1d Merge pull request #258 from deepak1556/notification_close_patch
set notification close callback before requesting user permission
2016-10-31 09:01:57 -07:00
Kevin Sawicki
7cb8c1fdb9 Add dismiss notification guard on Linux 2016-10-28 11:24:47 -07:00
Kevin Sawicki
0a5f7171d4 Add more guards around null notification 2016-10-28 10:54:55 -07:00
deepak1556
ee4442f964 set notification close callback before requesting user permission 2016-10-25 19:04:09 +05:30
Kevin Sawicki
4fdca64030 Merge pull request #256 from deepak1556/ct_delegate_patch
allow embedder to provide RequireCTDelegate
2016-10-24 15:39:49 +09:00
Flynn Joffray
95cd9d718d print progress for proper loglevels 2016-10-20 12:20:25 +01:00
Electron Bot
92818eb30f Update to Electron v1.3.8 2016-10-20 16:11:47 +09:00
Electron Bot
f9f5854c5e Update to Electron v1.4.4 2016-10-20 11:23:41 +09:00
deepak1556
aa7255bad5 allow embedder to provide RequireCTDelegate 2016-10-17 16:06:37 +05:30
Kevin Sawicki
9456ce44c4 Merge pull request #255 from deepak1556/dock_state_use_preferences_patch
use dock state from peferences when not set by embedder
2016-10-11 08:44:21 -07:00
deepak1556
f652760c7a use dock state from peferences when not set by embedder 2016-10-11 13:47:06 +05:30
Cheng Zhao
546f685314 Merge pull request #254 from deepak1556/devtools_dock_state_reimplement_patch
set dock state using devtools dockController
2016-10-10 11:34:42 +09:00
deepak1556
968bc5c9a2 set dock state using devtools dockController 2016-10-06 17:31:38 +05:30
Electron Bot
5a5d972a69 Update to Electron v1.4.3 2016-10-06 03:07:56 -07:00
Cheng Zhao
fca548b2fc Merge pull request #253 from miniak/large-address-aware
Add /LARGEADDRESSAWARE to linker options (Windows)
2016-10-06 14:39:32 +09:00
Milan Burda
cc8b07985d Add /LARGEADDRESSAWARE to linker options (Windows) 2016-10-05 18:32:24 +02:00
Kevin Sawicki
f30cef5c78 Merge pull request #252 from electron/update-example-link
Link to electron instead of brightray_example
2016-10-03 15:47:39 -07:00
Kevin Sawicki
4172bbd683 Link to electron instead of brightray_example 2016-10-03 15:46:09 -07:00
Electron Bot
bc6ebd87dd Update to Electron v1.4.2 2016-09-30 05:22:57 -07:00
Kevin Sawicki
4fb32f62f5 Merge pull request #251 from electron/cookies-changed
Support configuring a cookie delegate
2016-09-29 09:17:43 -07:00
Kevin Sawicki
67eff02a65 🎨 2016-09-29 08:43:33 -07:00
Kevin Sawicki
cbe92b5fb5 Support configuring a cookie delegate 2016-09-29 08:43:33 -07:00
Cheng Zhao
b2f117efb1 Merge pull request #250 from electron/ct-crash
Set CT related fields on URLRequestContextStorage
2016-09-29 16:55:39 +08:00
Kevin Sawicki
c46200761f Use net::URLRequestContextBuilder::SetHttpNetworkSessionComponents helper 2016-09-28 16:00:23 -07:00
Kevin Sawicki
096d3e61fa Remove unused instance variables 2016-09-28 11:17:42 -07:00
Kevin Sawicki
14c4b1eabb Set certificate transparency objects on URLRequestContextStorage 2016-09-28 11:14:18 -07:00
Kevin Sawicki
f4962a5212 Merge pull request #195 from electron-userland/upgrade-electron-download
Upgrade electron download to fix Mac CI issue
2016-09-27 16:05:23 -07:00
Kevin Sawicki
429ceeec23 Use default install script 2016-09-27 15:18:03 -07:00
Kevin Sawicki
3ba3a84159 Remove unneeded silent option 2016-09-27 15:15:07 -07:00
Kevin Sawicki
2227631b44 Upgrade to electron-download@3.0.1 2016-09-27 15:14:42 -07:00
Electron Bot
5ea143b08f Update to Electron v1.3.7 2016-09-27 03:03:26 -07:00
Kevin Sawicki
83ffe03825 Merge pull request #162 from EmilyFranklin/correct-platform-path
Change platform path to match downloaded one
2016-09-22 08:51:31 -07:00
Electron Bot
e6c0036726 Update to Electron v1.4.1 2016-09-22 04:25:46 -07:00
Kevin Sawicki
b46c86d0ec Merge pull request #249 from electron/ct-log-verifiers
Add verifiers for known certificate transparency logs
2016-09-21 11:28:33 -07:00
Kevin Sawicki
bffd87c118 Call AddLogs through unique pointer 2016-09-21 10:16:05 -07:00
Kevin Sawicki
39a69467ed Add verifiers for known logs 2016-09-21 09:48:17 -07:00
Kevin Sawicki
bae1cee223 Merge pull request #189 from electron-userland/upgrade-electron-download
Upgrade electron-download for checksum support
2016-09-19 15:58:42 -07:00
Kevin Sawicki
1fd1474c9a Install silently on Travis 2016-09-19 15:01:05 -07:00
Kevin Sawicki
557d062b7f Remove trailing comma 2016-09-19 14:36:07 -07:00
Kevin Sawicki
fb2f4ae528 Set quiet to true when loglevel is silent 2016-09-19 14:32:11 -07:00
Kevin Sawicki
082c1da548 Add AppVeyor badge 2016-09-19 14:05:53 -07:00
Kevin Sawicki
fb1a5a4646 Only build master branch on Travis 2016-09-19 13:48:59 -07:00
Kevin Sawicki
d0a509a915 npm ignore more meta files and tests 2016-09-19 13:48:05 -07:00
Kevin Sawicki
9fd625fb9b Add initial AppVeyor config 2016-09-19 13:46:37 -07:00
Kevin Sawicki
5cbc2abf61 Build on node 0.10/0.12 2016-09-19 13:40:17 -07:00
Kevin Sawicki
119535525f ⬆️ electron-download@3.0.0 2016-09-19 13:38:48 -07:00
Cheng Zhao
d435df77f8 Revert "initialize crypto delegate in CookieStoreConfig"
This reverts commit ad1d1dce72c6fcb6c15a18dac04ff382d9bf4db0.
2016-09-19 16:30:16 +09:00
Cheng Zhao
7917aa8938 Merge pull request #246 from deepak1556/cookie_crypto_patch
initialize crypto delegate in CookieStoreConfig
2016-09-16 21:26:19 +09:00
Electron Bot
6b715a16cb Update to Electron v1.4.0 2016-09-15 00:25:33 -07:00
Cheng Zhao
296e06be1c Update to Chrome 53.0.2785.113 2016-09-15 14:27:07 +09:00
Electron Bot
b8233eb8e6 Update to Electron v1.3.6 2016-09-14 18:30:41 -07:00
Electron Bot
db0b8b5374 Update to Electron v1.3.6 2016-09-14 00:18:42 -07:00
Mark Lee
94f05d350b Travis: test against Node >= 4 on Linux & OSX 2016-09-10 09:07:17 -07:00
Mark Lee
004d25d248 Upgrade electron-download for checksum support
Fixes #51.
2016-09-10 08:59:40 -07:00
Cheng Zhao
4203b2a4ce Target OS X 10.9
We do not support 10.8.
2016-09-08 15:24:27 +09:00
Cheng Zhao
a0565bad2e Merge pull request #247 from electron/chrome53
Upgrade to Chrome 53
2016-09-08 15:06:02 +09:00
Cheng Zhao
676a389ecd Add new network parameters needed by chrome53 2016-09-07 17:54:55 +09:00
Cheng Zhao
2bb774996b Link with d3d11.lib 2016-09-06 19:54:49 +09:00
Cheng Zhao
ab14221a85 Fix API changes of Chrome 53 2016-09-06 17:22:52 +09:00
Cheng Zhao
bff2d41e73 Update libchromiumcontent to Chrome 53 2016-09-06 17:22:44 +09:00
deepak1556
a56c6b1b79 initialize crypto delegate in CookieStoreConfig 2016-09-03 11:05:38 +05:30
Electron Bot
573332721a Update to Electron v1.3.5 2016-09-02 00:57:13 -07:00
Cheng Zhao
db6f2462c0 Update libchromiumcontent 2016-09-01 19:12:33 +09:00
Electron Bot
518e8cc2f7 Update to Electron v1.3.4 2016-08-23 03:50:37 -07:00
Cheng Zhao
46644d1789 Merge pull request #245 from electron/upgrade-clang
Upgrade clang.
2016-08-12 17:37:14 +09:00
Haojian Wu
c3049688b8 Disable -Wundefined-var-template. 2016-08-11 20:57:17 +02:00
Electron Bot
2a8b97ce34 Update to Electron v1.3.3 2016-08-10 04:09:36 -07:00
Mark Lee
eef534259f Merge pull request #177 from electron-userland/readme-cleanup
Cleanup README
2016-08-09 11:56:58 -07:00
Cheng Zhao
0060cd5b1b Update libchromiumcontent to latest 2016-08-08 20:17:22 +09:00
Mark Lee
60d8c732c1 Cleanup README 2016-08-07 13:22:46 -07:00
Cheng Zhao
900225bb03 Put definetion of GetCookieableSchemes in .cc to match other methods 2016-08-05 16:23:31 +09:00
Cheng Zhao
5ecefd298a Merge pull request #244 from deepak1556/cookieable_schemes_patch
allow additional schemes that should support cookies
2016-08-05 16:19:13 +09:00
Cheng Zhao
03e2250638 Fix building under linux 2016-08-04 16:40:13 +09:00
Cheng Zhao
1a80cb22b7 Show label for offscreen webview 2016-08-04 16:35:09 +09:00
deepak1556
e96b224307 allow delegate to provide cookieable schemes 2016-08-04 12:21:54 +05:30
Kevin Sawicki
ff590850f9 Merge pull request #173 from electron-userland/platform-error
Mention builds not available when platform not found
2016-08-03 14:28:15 -07:00
Zeke Sikelianos
e241dd1079 Merge pull request #171 from electron-userland/update-readme-after-package-rename
Update readme after package rename
2016-08-03 14:22:45 -07:00
deepak1556
826fbf3e21 allow additional schemes that should support cookies 2016-08-03 15:52:09 +05:30
Cheng Zhao
e644e883ba Merge pull request #243 from MaxWhere/master
Offscreen rendering support for Electron
2016-08-03 09:24:31 +09:00
Electron Bot
6c7d426b2c Update to Electron v1.3.2 2016-08-02 16:27:38 -07:00
Heilig Benedek
bc5fff148e Merge branch 'master' of https://github.com/MaxWhere/brightray 2016-08-01 13:16:57 +02:00
Zeke Sikelianos
5c0edc55a8 update issue template to help avoid misfiled issues 2016-07-29 10:25:18 -07:00
Zeke Sikelianos
9627ad923b update repo url in contributing.md 2016-07-29 10:25:03 -07:00
Cheng Zhao
10ea1606df Load 200 DPI resources on Linux 2016-07-29 10:50:48 +09:00
Heilig Benedek
f28fb3838c add gl2chromium headers too direct dependent settings so we don't have to copy anymore : ) 2016-07-29 01:17:59 +02:00
Kevin Sawicki
7dc95671cd Tweak unknown platform error message 2016-07-28 13:47:03 -07:00
Zeke Sikelianos
e2f3f6828c add a note about the name change 2016-07-28 10:52:05 -07:00
Zeke Sikelianos
0733ec9758 update links in readme intro 2016-07-28 10:51:46 -07:00
Zeke Sikelianos
11fc32b59b electron moved to the electron org 2016-07-28 10:44:20 -07:00
Zeke Sikelianos
0946859d1e update docs to use new electron package name 2016-07-28 10:44:20 -07:00
Zeke Sikelianos
675a47b42c Merge pull request #169 from electron-userland/clean-up-package-json
clean up package.json
2016-07-28 10:26:14 -07:00
Zeke Sikelianos
216714f27a clean up package.json 2016-07-28 10:12:50 -07:00
Zeke Sikelianos
e8f5d30bad Merge pull request #168 from electron-userland/rename-npm-package-to-electron
change npm package name to `electron`
2016-07-28 09:23:40 -07:00
Zeke Sikelianos
a14acd2134 change npm package name to electron 2016-07-28 09:06:23 -07:00
Heilig Benedek
97b153fce6 fix for offscreen and added khronos 2016-07-28 02:11:57 +02:00
Heilig Benedek
ecef83f8f5 added khronos and fix for offscreen 2016-07-28 02:07:37 +02:00
=^._.^=
b562ad9484 Update to Electron v1.3.1 2016-07-26 22:47:36 -07:00
Cheng Zhao
c00dfcdd6a Merge pull request #239 from deepak1556/pref_init_patch
bring back fix from #152
2016-07-27 08:53:23 +09:00
deepak1556
de692c9896 bring back fix from #152 2016-07-26 16:32:14 +05:30
Cheng Zhao
f3b85e915d Merge pull request #238 from deepak1556/devtools_file_input_patch
allow delegate to handle file and color chooser
2016-07-25 16:07:57 +09:00
=^._.^=
3168465759 Update to Electron v1.3.0 2016-07-24 22:08:44 -07:00
Cheng Zhao
2b87813ed3 Load a few more pak files 2016-07-25 11:10:20 +09:00
deepak1556
caba44ab6c allow delegate to handle file and color chooser 2016-07-22 21:09:55 +05:30
Cheng Zhao
06489342a9 Merge pull request #232 from electron/chrome52
Upgrade to Chrome 52
2016-07-22 08:38:28 -06:00
Cheng Zhao
b2546a2b34 Fix compilation error after merge 2016-07-21 06:03:11 -06:00
Cheng Zhao
4f3e9df055 Merge remote-tracking branch 'origin/master' into chrome52 2016-07-21 05:34:20 -06:00
=^._.^=
1e3d131f46 Update to Electron v1.2.8 2016-07-21 00:16:30 -07:00
Emily
dfde9ea814 added or to handle undefined 2016-07-15 13:09:12 +09:00
Emily
4f20a15907 change platform path to match downloaded one 2016-07-15 11:17:54 +09:00
=^._.^=
5c36709ff2 Update to Electron v1.2.7 2016-07-12 22:19:41 -07:00
Cheng Zhao
c0bfc56c5c Merge pull request #237 from electron/undocked-focused-state
Fix IsDevToolsViewFocused on undocked windows
2016-07-13 10:39:51 +09:00
Kevin Sawicki
22b3b69e17 Return focus state of window web view when available 2016-07-12 14:03:08 -07:00
Cheng Zhao
6413a4c516 Move the ability to create BrowserContext to embedder 2016-07-12 21:39:23 +09:00
Cheng Zhao
240b5c42b4 Merge pull request #236 from electron/devtools-window-bounds
Allow devtools window to show on other screens
2016-07-11 15:10:23 +09:00
Cheng Zhao
f6171c53ca Allow devtools window to show on other screens 2016-07-11 15:08:39 +09:00
Cheng Zhao
6dfd0518cd Merge pull request #235 from electron/modernize-to-c11
Modernize to C++11
2016-07-11 09:03:09 +09:00
Haojian Wu
1d1dd6301a Don't use auto to static variables. 2016-07-10 15:38:34 +02:00
Haojian Wu
3e041b2c91 Modernize C++11: Use override. 2016-07-10 13:22:54 +02:00
Haojian Wu
0cf7454d4b Modernize to C++11 : use auto. 2016-07-10 13:12:33 +02:00
Haojian Wu
7474e5ec28 Modernize to C++11 : NULL => nullptr 2016-07-10 12:30:17 +02:00
Cheng Zhao
d6b1814065 Merge pull request #234 from electron/remove-unused-using-decls
Remove unused using decls.
2016-07-10 19:30:11 +09:00
Haojian Wu
b85c3b5e7f Remove unused using decls. 2016-07-09 22:40:41 +02:00
=^._.^=
07fefbcf40 Update to Electron v1.2.6 2016-07-05 23:43:56 -07:00
=^._.^=
ac3ced0287 Update to Electron v1.2.6 2016-07-05 23:20:58 -07:00
Cheng Zhao
fd1448dd8b Initialize MaterialDesignController 2016-07-05 09:41:05 +09:00
Cheng Zhao
0ae344e5cd Fix building on Linux 2016-07-04 16:41:11 +09:00
Cheng Zhao
4afa3f7206 Add BrowserContext::GetRequestContext 2016-07-04 15:29:43 +09:00
Cheng Zhao
c1b07b3da9 Make it possible to include SkUserConfig.h 2016-07-04 15:06:58 +09:00
Cheng Zhao
d166ba9ed2 Disable compiler warning caused by blink 2016-07-04 15:06:15 +09:00
Cheng Zhao
4e9782897c Update to API changes of Chrome 52 2016-07-04 15:06:05 +09:00
Cheng Zhao
8f7394a7b7 Upgrade to Chrome 52 2016-07-04 13:48:28 +09:00
Cheng Zhao
bf9d2b7fa9 Avoid adding WebContentsAudioMuted method 2016-07-02 16:53:48 +09:00
Cheng Zhao
b217fb07a6 Merge pull request #231 from MarshallOfSound/master
Patch OnWebNotificationAllowed to mark notifications as silent in muted WebContents
2016-07-02 07:44:30 +00:00
Cheng Zhao
b8ac95660f Update to Chrome Update to Chrome 51.0.2704.106 2016-07-02 13:53:28 +09:00
Samuel Attard
f7a8aa12ac Patch OnWebNotificationAllowed to mark notifications as silent in muted WebContents 2016-07-02 13:30:55 +12:00
=^._.^=
e35a83b62a Update to Electron v1.2.5 2016-06-23 01:03:52 -07:00
Cheng Zhao
6140fb2b14 Merge pull request #229 from electron/revert-228-no-whole-archive
Revert "Replace --whole-archive with --start-group"
2016-06-23 03:04:37 +00:00
Cheng Zhao
7fd7699ada Revert "Replace --whole-archive with --start-group" 2016-06-23 11:15:56 +09:00
Cheng Zhao
8eca432b6d Call on GetUserAgent on UI thread 2016-06-22 15:52:04 +09:00
Cheng Zhao
babd741786 Get rid of default BrowserContext 2016-06-22 15:40:52 +09:00
=^._.^=
9e123b484a Update to Electron v1.2.4 2016-06-21 21:21:35 -07:00
Cheng Zhao
2fb73a266a Merge pull request #228 from tensor5/no-whole-archive
Replace --whole-archive with --start-group
2016-06-21 03:23:51 +00:00
Nicola Squartini
ecf9052ace Replace --whole-archive with --start-group 2016-06-19 21:27:28 +09:00
Cheng Zhao
1d5e9fe7da Update to Chrome 51.0.2704.103 2016-06-19 21:06:46 +09:00
Cheng Zhao
a5ed7b73e1 Merge pull request #227 from electron/redispatch-events
Redispatch key events to handle native shortcuts
2016-06-19 11:12:32 +00:00
Kevin Sawicki
ebc7432893 Remove unused import 2016-06-17 11:37:29 -07:00
Kevin Sawicki
8bee2d7b7f Break out EventDispatchingWindow into separate class 2016-06-17 11:05:25 -07:00
Kevin Sawicki
df726d0f41 Redispatch key events to handle native shortcuts 2016-06-17 10:27:32 -07:00
=^._.^=
9881f3a2c4 Update to Electron v1.2.3 2016-06-15 23:02:50 -07:00
Cheng Zhao
d37a120a6a Provide access to JobFactory in URLRequestContextGetter 2016-06-15 20:31:11 +09:00
Cheng Zhao
ced54c4ada Merge pull request #226 from electron/fix-crash
Fix double free when closing window with devtools opened
2016-06-14 04:40:11 +00:00
Cheng Zhao
8ebc34aeee Fix double free when closing window with devtools opened 2016-06-14 13:39:19 +09:00
=^._.^=
c4e7d97205 Update to Electron v1.2.2 2016-06-08 03:22:05 -07:00
Cheng Zhao
98eeadeb84 Update libchromiumcontent to 51.0.2704.84 2016-06-08 11:06:06 +09:00
Cheng Zhao
7eb78777d7 Update libchromiumcontent to 51.0.2704.79 2016-06-06 15:21:32 +09:00
=^._.^=
1d7991f2db Update to Electron v1.2.1 2016-06-01 11:03:09 +02:00
Cheng Zhao
d53cb54d29 Merge pull request #225 from deepak1556/bluetooth_patch
initialize bluetooth for linux
2016-06-01 05:00:39 +00:00
deepak1556
a09e270efd initialize bluetooth for linux 2016-05-31 12:36:51 +05:30
=^._.^=
cac2f560c3 Update to Electron v1.2.0 2016-05-26 13:00:40 +02:00
Cheng Zhao
1cc0d0599e Update to Chrome 51.0.2704.63 2016-05-26 14:38:36 +09:00
=^._.^=
9f0229d768 Update to Electron v1.1.3 2016-05-25 07:03:55 +00:00
Cheng Zhao
95e555ffbc Merge pull request #224 from electron/chrome51
Update to Chrome 51
2016-05-24 10:58:54 +00:00
=^._.^=
4db88fa7e8 Update to Electron v1.1.2 2016-05-24 10:26:17 +00:00
Cheng Zhao
f395b35b62 Add a few more media related libs 2016-05-23 23:24:16 +09:00
Cheng Zhao
cbcd48257d Link with necessary DLLs of Chrome 51 2016-05-23 22:53:19 +09:00
Cheng Zhao
8250a66968 Link with AVFoundation and CoreMedia 2016-05-23 22:05:08 +09:00
Cheng Zhao
e23ffd1694 Merge branch 'master' into chrome51
Conflicts:
	browser/url_request_context_getter.cc
	browser/url_request_context_getter.h
2016-05-23 19:46:28 +09:00
Cheng Zhao
17064b483e Link with xscrnsaver 2016-05-23 19:44:09 +09:00
Cheng Zhao
b41d9fd6c0 Merge pull request #223 from deepak1556/iwa_patch
flags to control iwa enabled server whitelist
2016-05-23 10:37:36 +00:00
Cheng Zhao
f5bfbada97 NetLog should be managed by BrowserClient 2016-05-23 19:02:13 +09:00
Cheng Zhao
4ccf4394d7 Fix compilation errors on Linux 2016-05-23 15:26:44 +09:00
Cheng Zhao
0a5c4b8ced Call BrowserContext::Initialize 2016-05-23 12:36:34 +09:00
Cheng Zhao
7c39075c2c Initialize FeatureList 2016-05-23 12:34:09 +09:00
Cheng Zhao
76d180a80d Adapt to changes of Chrome 51 API changes (Part 2) 2016-05-23 12:28:41 +09:00
Cheng Zhao
851ef398fb Adapt to changes of Chrome 51 API changes 2016-05-23 10:59:07 +09:00
Cheng Zhao
e7be3d0ef9 Update to Chrome 51 2016-05-23 10:07:06 +09:00
deepak1556
b8e8e08f63 flags to control iwa enabled server whitelist 2016-05-21 23:40:02 +05:30
=^._.^=
c28a0c313b Update to Electron v1.1.1 2016-05-20 01:42:29 +00:00
Cheng Zhao
7d126e1734 Merge pull request #222 from deepak1556/disable_http2_patch
flag to disable HTTP/2 and SPDY/3.1 protocols
2016-05-19 10:21:23 +00:00
Cheng Zhao
3d01930122 Link with static runtime library for Release build 2016-05-19 15:06:04 +09:00
deepak1556
e716830671 flag to disable HTTP/2 and SPDY/3.1 protocols 2016-05-18 06:55:05 +05:30
Cheng Zhao
a45af78b15 Remove unneeded lines when importing code 2016-05-18 09:42:14 +09:00
Cheng Zhao
d27a20f1cd Merge pull request #221 from electron/no-link-libnotify
Do not link with libnotify
2016-05-17 11:33:03 +00:00
Cheng Zhao
eb215c173c Try linking with libnotify.so.5 2016-05-17 20:30:53 +09:00
Cheng Zhao
80cd5ae43b Do not link with libnotify
We are already loading it dynamically.
2016-05-17 20:26:19 +09:00
=^._.^=
7344bb81a4 Update to Electron v1.1.0 2016-05-14 01:46:45 +00:00
Cheng Zhao
616fa30019 Update gyp with support for CLANG_ENABLE_OBJC_WEAK 2016-05-13 13:49:15 +09:00
=^._.^=
70e2fa0312 Update to Electron v1.0.2 2016-05-13 04:32:12 +02:00
Cheng Zhao
9d742d6135 Update libchromiumcontent to chrome50 2016-05-13 11:10:33 +09:00
Brian R. Bondy
c6f198a1af Update SetScreenInstance call for linux 2016-05-13 11:07:34 +09:00
Brian R. Bondy
88d8effa01 Iterator to use size_t 2016-05-13 11:07:34 +09:00
Brian R. Bondy
df386f854f GetNativeScreen -> GetScreen 2016-05-13 11:07:34 +09:00
Brian R. Bondy
f8f97687dc Update to new pref service location in components 2016-05-13 11:07:34 +09:00
Brian R. Bondy
f9dfa5466d Rename PERMISSION_STATUS enum value 2016-05-13 11:07:34 +09:00
Brian R. Bondy
270fc41024 Remove NetworkDelegate::OnResolveProxy
It doesn't exist anymore
2016-05-13 11:07:34 +09:00
Brian R. Bondy
23eda6930a Refactor for NotificationResources bitmaps
SkBitmap icon moves into content::NotificationResources
2016-05-13 11:07:34 +09:00
Brian R. Bondy
9d31297d27 Use HttpNetworkSession::Params::enable_http2
next_protos is a private member now and HTTP1.1 is always added
2016-05-13 11:07:34 +09:00
Brian R. Bondy
71aa9a605a Remove user_gesture parameter from PermissionManager::RequestPermission 2016-05-13 11:07:34 +09:00
Cheng Zhao
768efe89cf Merge pull request #219 from deepak1556/devtools_lifecycle_events_patch
notify devtools open and close once per lifetime
2016-05-13 09:14:44 +09:00
deepak1556
a01f8ba739 notify devtools opened and closed once per lifetime 2016-05-12 19:16:13 +05:30
deepak1556
7e0918f95a Revert "Merge pull request #218 from deepak1556/devtools_extensions_load_patch"
This reverts commit c0942cbbe67158c68ecfd9bf4cb7bdea84e0d529, reversing
changes made to a370461f3420ec285838126da7e7efd6a3101640.
2016-05-12 18:57:54 +05:30
Cheng Zhao
c860689a9b Merge pull request #218 from deepak1556/devtools_extensions_load_patch
notify delegate when devtools is loaded
2016-05-12 17:50:58 +09:00
deepak1556
db0c931d60 notify delegate when devtools is loaded 2016-05-12 07:15:49 +05:30
=^._.^=
f09443c70a Update to Electron v1.0.1 2016-05-11 14:54:14 +02:00
=^._.^=
481659a195 Update to Electron v1.0.0 2016-05-11 13:08:01 +02:00
=^._.^=
2e177ff567 Update to Electron v1.0.0 2016-05-11 08:04:42 +02:00
Cheng Zhao
3797d4b8aa Merge pull request #217 from deepak1556/devtools_file_system_indexer_patch
handle devtools file system indexing requests
2016-05-07 10:51:50 +09:00
deepak1556
f15940e703 port DevToolsFileSystemIndexer 2016-05-07 04:36:42 +05:30
deepak1556
2db138f2dc allow delegate to handle file system indexing requests 2016-05-07 04:36:00 +05:30
Cheng Zhao
8e94d5ab0f Update libchromiumcontent for --defines parameter 2016-05-02 21:18:43 +09:00
Cheng Zhao
434456e771 Do not check existence of paths 2016-05-02 16:17:20 +09:00
Cheng Zhao
d5d16844b5 Update libchromiumcontent for --build-libchromiumcontent 2016-05-02 16:14:20 +09:00
=^._.^=
562e751842 Update to Electron v0.37.8 2016-04-29 06:30:31 -07:00
=^._.^=
21c66e1aee Update to Electron v0.37.7 2016-04-22 04:10:55 -07:00
Cheng Zhao
80fff89f88 Merge pull request #215 from deepak1556/devtools_dock_state_patch
pass the current dock state to devtools url when available
2016-04-20 13:34:11 +09:00
deepak1556
e858c0c6d2 pass the current dock state to devtools url when available 2016-04-19 18:13:08 +05:30
Cheng Zhao
aafc48ae2c Merge pull request #213 from 3v1n0/linux-notifications-append
Linux notifications append
2016-04-15 20:57:02 +09:00
Cheng Zhao
1b11bb56be Merge pull request #212 from deepak1556/devtools_network_controller_patch
Fix race initialising DevtoolsNetworkController
2016-04-15 19:41:54 +09:00
=^._.^=
3a001a30f1 Update to Electron v0.37.6 2016-04-15 03:31:16 -07:00
Cheng Zhao
ffe88163bb Update libchromiumcontent for printing fix 2016-04-15 16:46:55 +09:00
Cheng Zhao
08b6fe5229 Merge pull request #214 from electron/fix-notification
Fix notification not showing on Windows
2016-04-15 16:34:43 +09:00
Cheng Zhao
593fb8cdf0 Delay notification events to next tick
It is possible that the events get emitted when calling Show(), which
would then delete the class before Show() ends, results in using members
of a deleted class.

By delaying the events to next tick we can effectively avoid this.
2016-04-15 16:20:36 +09:00
Cheng Zhao
f4c27c6d29 Store weak ref to Notification in ToastEventHandler 2016-04-15 16:14:13 +09:00
Cheng Zhao
ddee77fae4 Do not use get_Setting to determine whether notification is enabled
On Windows 10 get_Setting always returns DISABLED when the program has a
AppUserModelID.
2016-04-15 16:01:21 +09:00
Marco Trevisan (Treviño)
83cbc1182d LibnotifyNotification: use "append" when supported
This behavior can be overridden by just providing unique tags to notifications
2016-04-14 18:31:02 +02:00
Marco Trevisan (Treviño)
8962da380b LibnotifyLoader: add notify_notification_set_hint_string 2016-04-14 18:29:00 +02:00
Marco Trevisan (Treviño)
8dd7a8d7fe LibNotifyLoader: implement generic HasCapability 2016-04-14 18:24:00 +02:00
Cheng Zhao
77ca9bc76e Do not link with ppapi_cpp.lib 2016-04-14 18:22:05 +09:00
Cheng Zhao
4c42fe2bb0 Link with other dependencies of pdf.lib 2016-04-14 17:09:09 +09:00
Cheng Zhao
0b68117822 Link with pdf.dll 2016-04-14 16:30:16 +09:00
Cheng Zhao
17fcd09e66 Merge pull request #208 from deepak1556/devtools_security_panel_patch
link libsecurity_state for providing security style
2016-04-14 15:10:48 +09:00
deepak1556
de60acbfde Fix race initialising DevtoolsNetworkController 2016-04-14 08:57:20 +05:30
Cheng Zhao
2f107fcbe1 Merge pull request #211 from 3v1n0/notifications-tags
Notifications tags
2016-04-13 20:12:37 +09:00
Cheng Zhao
f716ae58a6 Merge pull request #210 from 3v1n0/notify-check-actions-cap
Notify check actions cap
2016-04-13 20:08:00 +09:00
Marco Trevisan (Treviño)
1ce34fb8d2 LibnotifyNotification: add support for notification tag
We set the id of the notification if tag is provided.
As per the protocol, this should cause the old notification with same ID to be replaced.
2016-04-13 06:12:46 +02:00
Marco Trevisan (Treviño)
59ed6ad413 Notification: pass tag to Show method 2016-04-13 06:12:46 +02:00
Marco Trevisan (Treviño)
743ceed780 LibnotifyNotification: verify if the "actions" capability is supported before adding actions
This would prevent to add actions to notifier such as Ubuntu's Notify-OSD
which doesn't support them.
2016-04-13 04:43:22 +02:00
Marco Trevisan (Treviño)
a22dc8676f LibnotifyLoader: add notify_get_server_caps support 2016-04-13 04:42:01 +02:00
Marco Trevisan (Treviño)
4e7f478d1e LibnotifyLoader: add notify_get_server_info support 2016-04-13 04:02:23 +02:00
Cheng Zhao
11685faffa Hijack the Page.reload command 2016-04-12 16:35:35 +09:00
Cheng Zhao
3d3cc8c226 Merge pull request #207 from deepak1556/localized_media_strings_patch
register localized media strings
2016-04-11 19:30:09 +09:00
deepak1556
13a5dd4800 link libsecurity_state for providing security style 2016-04-11 15:08:15 +05:30
deepak1556
2b3813135c register localized media strings 2016-04-08 12:42:50 +05:30
=^._.^=
05bf926f6b Update to Electron v0.37.5 2016-04-06 21:44:14 -07:00
Kevin Sawicki
b6312ce63c Update urls for new GitHub org 2016-04-04 12:55:40 -07:00
=^._.^=
63b10afd28 Update to Electron v0.37.4 2016-04-03 04:04:39 -07:00
=^._.^=
5565c5825a Create issue_template.md 2016-04-01 12:51:12 -07:00
Nate Goldman
e644df65ef Merge pull request #112 from mitchhentges/master
Make npm badge link to package page
2016-03-29 11:41:54 -07:00
Mitchell Hentges
36969c8a1d Make npm badge link to package page 2016-03-29 09:41:39 +02:00
=^._.^=
0d16de7ef7 Update to Electron v0.37.3 2016-03-26 21:51:19 -07:00
=^._.^=
4ee1c49bf0 Update to Electron v0.36.12 2016-03-26 20:15:39 -07:00
Cheng Zhao
39595c7a05 Merge pull request #205 from felixrieseberg/fix-win-not
[Windows] Notify only when enabled
2016-03-17 21:44:00 +09:00
Felix Rieseberg
b68be5c583 🏁 Notify only when enabled
- Previously, we'd attempt to create a notification no matter what the
  user's configuration was. Microsoft advises against that, because it
  can create race conditions if notifications are disabled.
- This fixes the issue.

Closes https://github.com/atom/electron/issues/4681
2016-03-15 17:10:24 -07:00
Cheng Zhao
bbfa5835e7 Merge pull request #204 from deepak1556/workspace_patch
fix devtools filesystem api
2016-03-15 21:07:51 +09:00
Robo
c25264113f fix devtools filesystem api and allow delegate to request stored filesystem paths 2016-03-15 07:53:40 +05:30
=^._.^=
7683eec6d3 Update to Electron v0.37.2 2016-03-14 04:21:56 -07:00
Cheng Zhao
17ff8f2e7e Merge pull request #203 from deepak1556/devtools_network_patch
update devtools network interceptor to throttle uploads
2016-03-14 10:39:12 +09:00
Robo
215a81d0e6 update devtools network interceptor to throttle uploads 2016-03-14 04:01:30 +05:30
=^._.^=
8327ee3f1d Update to Electron v0.37.1 2016-03-12 20:14:41 -08:00
=^._.^=
b82ef0b3da Update to Electron v0.37.1 2016-03-12 19:00:05 -08:00
Cheng Zhao
95e63f6b8e Dealy loading powrprof.dll 2016-03-13 10:10:56 +09:00
=^._.^=
6b35f5200b Update to Electron v0.37.0 2016-03-11 21:35:41 -08:00
=^._.^=
dccd2cfbc5 Update to Electron v0.36.11 2016-03-11 04:39:31 -08:00
Cheng Zhao
6b3d4fdc61 Update to lastest master of libchromiumcontent 2016-03-11 10:41:22 +09:00
Cheng Zhao
909c66fa9f Merge pull request #200 from atom/chrome49
Upgrade to Chrome 49
2016-03-11 10:37:12 +09:00
Cheng Zhao
deb1abe152 Fix linking error for Release build 2016-03-10 21:00:49 +09:00
Cheng Zhao
5652af8e61 Merge pull request #202 from deepak1556/sysroot
allow setting pkg-config variable
2016-03-10 17:15:09 +09:00
Cheng Zhao
6b79926cc7 Link with sandbox_helper_win.lib 2016-03-10 16:11:38 +09:00
Cheng Zhao
b68d2ba8b5 Fix compilation error on Windows 2016-03-10 15:56:13 +09:00
Cheng Zhao
5ce6592e1c Handle nullptr in RequestConextGetter 2016-03-10 14:39:07 +09:00
Robo
3983566fa3 allow setting pkg-config variable 2016-03-09 19:43:55 +05:30
Cheng Zhao
f70ece1669 No more libyuv_neon 2016-03-09 22:24:25 +09:00
Cheng Zhao
82c30ef9b9 Fix RenderFrameHostChanged 2016-03-09 18:47:11 +09:00
Cheng Zhao
ead0bb0cfc Fix devtools not working 2016-03-09 14:55:46 +09:00
Cheng Zhao
d3a39540b5 Fix compilation errors on OS X 2016-03-08 23:28:28 +09:00
Cheng Zhao
baf5f384cd Pass() is deprecated for std::move 2016-03-08 20:59:29 +09:00
Cheng Zhao
948e7c4055 virutal should not be used together with override 2016-03-08 17:51:16 +09:00
Cheng Zhao
d49e240fd4 Merge pull request #201 from atom/chrome49-win32
Updates to Chrome 49 on Win32
2016-03-08 17:49:02 +09:00
Paul Betts
dba6680578 Everyone gets permission 2016-03-07 23:09:25 -08:00
Paul Betts
6517dffa04 Start to update UrlRequestContextGetter 2016-03-07 22:58:25 -08:00
Paul Betts
18a75b5124 Renamed enum in MediaStreamDeviceRequest 2016-03-07 22:38:48 -08:00
Paul Betts
d204febecf Update DevtoolsNetworkTransaction 2016-03-07 22:29:23 -08:00
Paul Betts
40c98381ab Update headers for InspectableWebContentsImpl 2016-03-07 22:18:16 -08:00
Paul Betts
157f3abe64 Not quite sure how this ever worked 2016-03-07 22:02:42 -08:00
Paul Betts
e901b1c6ca Update NetworkDelegate 2016-03-07 21:59:14 -08:00
Paul Betts
da59c0f58b basictypes.h => macros.h 2016-03-07 21:40:41 -08:00
Cheng Zhao
c72c89bd75 No more basictypes.h 2016-03-08 10:14:16 +09:00
Cheng Zhao
9fd88e9bb7 Update to Chrome 49 2016-03-08 10:04:06 +09:00
Max Ogden
03f53099b5 0.36.10 2016-03-05 10:19:20 -08:00
Max Ogden
079d8aa7b4 upgrade to electron-download 2 2016-03-03 18:09:02 -08:00
=^._.^=
2cdceb00a9 Merge pull request #97 from mramato/fix-npm-usage
Fix npm usage
2016-03-02 14:02:49 -08:00
Matthew Amato
9295aa6103 Fix strict-ssl detection.
When `strict-ssl` is set to a truthy value, npm always turns the
environment variable into the string `true`, when the value is falsy, npm
always sets it to a blank string.  This fixes strict-ssl detection by
always comparing the value of npm_config_strict_ssl to the string `"true"`
2016-03-02 16:45:48 -05:00
Max Ogden
79f552e69e rename mafintosh -> electron-userland 2016-02-27 12:52:39 -08:00
Max Ogden
86f9316ee0 update github urls 2016-02-27 12:29:07 -08:00
=^._.^=
2791c70c7d Update to Electron v0.36.9 2016-02-25 23:33:04 -08:00
=^._.^=
4659135fe6 Merge pull request #95 from RocketChat/master
Allow download builds for MAS
2016-02-22 20:41:21 -08:00
Rodrigo Nascimento
fc78d2d8f5 Allow download builds for MAS 2016-02-22 23:56:27 -03:00
=^._.^=
703ec1658c Update to Electron v0.36.8 2016-02-19 02:11:19 -08:00
Cheng Zhao
93c7126bc7 Link with ffmpeg 2016-02-17 22:20:40 +08:00
Cheng Zhao
c61e6f3f17 Remove DefaultWebContentsDelegate 2016-02-01 21:08:52 +08:00
=^._.^=
1989552be4 Update to Electron v0.36.7 2016-01-30 02:08:35 -05:00
=^._.^=
7b4c7a1624 Update to Electron v0.36.6 2016-01-29 01:32:36 -05:00
Cheng Zhao
7cfc9fad83 Fix compilation error 2016-01-27 23:18:42 +08:00
Cheng Zhao
144061cb2e Merge pull request #195 from deepak1556/notification_disable_patch
allow client to decide displaying web notifications
2016-01-27 21:02:52 +08:00
Robo
3b09c370d4 allow client to decide displaying web notifications 2016-01-25 22:09:36 +05:30
=^._.^=
c70e83da58 Update to Electron v0.36.5 2016-01-22 07:47:38 -08:00
Cheng Zhao
147c09f7d2 Merge pull request #192 from felixrieseberg/silent-notification
Add Silent Notification Support
2016-01-21 14:07:45 -07:00
Felix Rieseberg
728f0f985b 🏁 🍎 Add Silent Notification Support
* Implements support for silent notifications on Windows and OS X
 * Exposes bool `silent` to Linux notification presenters
2016-01-21 09:24:42 -08:00
Cheng Zhao
c9993ccc26 Merge pull request #191 from etiktin/update_libchromiumcontent_47.0.2526.110
Update libchromiumcontent reference to match libchromiumcontent-static
2016-01-16 11:42:21 +08:00
Eran Tiktin
f6ebf83513 update libchromiumcontent 47.0.2526.110 2016-01-15 22:39:20 +02:00
Eran Tiktin
b4dae4ef5e Merge pull request #1 from atom/master
Update from upstream
2016-01-15 22:24:00 +02:00
=^._.^=
db2645c12e Update to Electron v0.36.4 2016-01-15 00:09:52 -08:00
=^._.^=
9f87866b41 Update to Electron v0.35.6 2016-01-10 22:38:06 -08:00
=^._.^=
c8962dc43a Update to Electron v0.35.6 2016-01-10 22:30:28 -08:00
Cheng Zhao
f5bb23124a Change our PATH_START to 11000 2016-01-11 10:40:20 +08:00
=^._.^=
612848ae4d Update to Electron v0.36.3 2016-01-10 18:23:14 -08:00
=^._.^=
1876ae1912 Update to Electron v0.36.3 2016-01-07 23:39:28 -08:00
Cheng Zhao
d6051e9580 Initialize resource bundle on browser process separately 2016-01-08 12:04:23 +08:00
Cheng Zhao
2374149b18 Load cocoa locale before initializing resources 2016-01-08 11:29:43 +08:00
Cheng Zhao
0980f53a93 Merge pull request #190 from atom/fix-menu
Load content_shell.pak for current scale factor
2016-01-05 10:21:29 +08:00
Cheng Zhao
ae14829472 Load content_shell.pak for current scale factor 2016-01-05 10:20:02 +08:00
Cheng Zhao
33a9551410 Merge pull request #189 from deepak1556/resource_bundle_patch
initialize resource bundle with application locale awareness
2016-01-04 10:58:42 +08:00
=^._.^=
cdafc6a3c6 Update to Electron v0.35.5 2015-12-30 21:02:21 -08:00
Cheng Zhao
cf93f6fd58 componenet_updater is not needed 2015-12-30 16:14:36 +08:00
Robo
5990acf51b initialize resource bundle with application locale awareness 2015-12-30 10:49:45 +05:30
Cheng Zhao
8f26c0d849 Update libchromiumcontent with widevine support 2015-12-30 11:39:43 +08:00
Cheng Zhao
cd95e7b9ce Update libchromiumcontent 2015-12-29 21:37:11 +08:00
Cheng Zhao
d3f215dadf Merge pull request #178 from clebeaupin/widevine
Add widevine third party
2015-12-29 14:16:13 +08:00
=^._.^=
c6e68a0dc3 Update to Electron v0.36.2 2015-12-24 23:19:37 -08:00
Cheng Zhao
47237cfbd2 Merge pull request #188 from atom/improve-notifications
Decouple notification code from content module
2015-12-25 11:56:55 +08:00
Cheng Zhao
870e6a6f89 linux: Adapt to new Notification style 2015-12-25 11:52:19 +08:00
Cheng Zhao
82cef44623 win: Fire NotificationFailed when failed to show notification 2015-12-25 11:17:35 +08:00
Cheng Zhao
c81bacc840 mac: Emit closed when notification is dismissed 2015-12-25 11:12:25 +08:00
Cheng Zhao
b091f27abf win: Adapt to new Notification style 2015-12-25 11:05:48 +08:00
Cheng Zhao
5b7c7be804 Decouple notification code from content module 2015-12-25 10:16:07 +08:00
Cheng Zhao
6f81d1e29f Expose NotificationPresenter to public 2015-12-24 22:20:47 +08:00
Cheng Zhao
9897f3aab0 Add an abstract Notification class 2015-12-24 22:06:41 +08:00
Cheng Zhao
41084883cf Refactor the notification code 2015-12-24 21:55:18 +08:00
Cheng Zhao
b4664ce897 Merge pull request #187 from atom/fix-win-icon
Do not use icon url when showing notification
2015-12-24 20:07:41 +08:00
Cheng Zhao
513b6ae0d6 Do not use icon url when showing notification 2015-12-24 20:03:54 +08:00
Cheng Zhao
53e8c8841b Merge pull request #186 from atom/dlopen-notify
Load libnotify dynamically
2015-12-24 11:16:09 +08:00
Cheng Zhao
862f3c21f6 Load libnotify dynamically 2015-12-24 11:12:51 +08:00
Mathias Buus
d4ca2ffae3 Merge pull request #84 from jcreekmore/strict-ssl
Allow specifying StrictSSL in the NPM config file
2015-12-21 18:36:25 +01:00
Jonathan Creekmore
7922082090 Allow specifying StrictSSL in the NPM config file
The standard way of specifying whether you want strict-ssl or not
is to add an entry into your npm config file for strict-ssl. Use
that entry (which is passed to the install.js as an environment
variable) to set the option for strictSSL in electron-download.
2015-12-21 11:28:03 -06:00
Cheng Zhao
395a2eb1cc Merge pull request #185 from deepak1556/devtools_network_transaction_patch
devtools: exclude devtools related http header from serviceworker context
2015-12-21 10:08:50 +08:00
Robo
9b88fd4021 devtools: exclude devtools related http header from serviceworker context 2015-12-19 02:29:39 +05:30
=^._.^=
67a80969f7 Update to Electron v0.36.1 2015-12-17 23:17:32 -08:00
Cheng Zhao
30cebb491f Merge pull request #184 from deepak1556/idr_value_patch
fix value of IDR_CONTENT_SHELL_DEVTOOLS_DISCOVERY_PAGE
2015-12-14 18:10:41 +08:00
Mathias Buus
037c347d0e Merge pull request #81 from teran-mckinney/master
Add FreeBSD path to install.js
2015-12-12 23:20:22 +01:00
Teran McKinney
23c928afc9 Add FreeBSD path to install.js 2015-12-12 22:14:09 +00:00
Robo
d12787303c use value from shell_resources.h 2015-12-12 23:31:00 +05:30
Robo
a3f85a93a0 fix value of IDR_CONTENT_SHELL_DEVTOOLS_DISCOVERY_PAGE 2015-12-12 10:56:47 +05:30
Cyrille Lebeaupin
975a47825b Add widevine third party 2015-12-11 18:18:55 +01:00
=^._.^=
c5394ecdc4 Update to Electron v0.36.0 2015-12-10 23:49:49 -08:00
Mathias Buus
49fa2314ae Merge pull request #80 from yoz/install-dirname-movable
Don't save __dirname into path.txt.
2015-12-11 00:21:19 +01:00
Yoyo Zhou
999a998469 Don't save __dirname into path.txt.
Allows install to work even if our directory is moved later.
2015-12-10 14:43:35 -08:00
Mathias Buus
b152f6d215 be standard 2015-12-09 16:30:46 +01:00
Mathias Buus
3ce46663b9 allow rebuilds. fixes #78 2015-12-09 16:16:56 +01:00
Cheng Zhao
517db752d7 Merge pull request #183 from deepak1556/next_proto_patch
add list of next_protos to use
2015-12-09 12:32:52 +08:00
Cheng Zhao
e0719f52bf Link with libyuv_neon.a on ARM 2015-12-08 18:12:11 +08:00
Cheng Zhao
e0b6dd9171 Link a few more X libraries 2015-12-08 17:02:41 +08:00
Cheng Zhao
c9376142ca Xcomposite is needed for ia32 build 2015-12-08 16:55:59 +08:00
Cheng Zhao
161147fa1a webrtc requires IOKit 2015-12-08 16:52:38 +08:00
Cheng Zhao
c33c045964 There is no libdesktop_capture_differ_sse2 no arm 2015-12-08 16:40:49 +08:00
deepak1556
43add44f09 add list of next_protos to use 2015-12-08 03:39:05 -05:00
Cheng Zhao
46677e3a36 Link with libdesktop_capture_differ_sse2 on darwin 2015-12-08 14:48:46 +08:00
Cheng Zhao
4004e4836a Merge pull request #148 from atom/desktop-capture-api
Desktop capture API support
2015-12-08 12:40:57 +08:00
Cheng Zhao
b50d23feff Update libchromiumcontent 2015-12-08 12:06:17 +08:00
Cheng Zhao
f8e688badd Merge pull request #182 from atom/chrome47
Upgrade to Chrome 47
2015-12-08 10:45:18 +08:00
Cheng Zhao
cbd4a25ea6 Link with libsandbox 2015-12-07 22:44:15 +08:00
Cheng Zhao
75d0bc848d Update to API changes of Chrome 47 2015-12-07 19:55:01 +08:00
=^._.^=
90f113cd90 Update to Electron v0.35.4 2015-12-04 04:39:13 -08:00
=^._.^=
85c8b66944 Update to Electron v0.35.3 2015-12-04 01:50:12 -08:00
Max Ogden
b1416644d5 add standard 2015-11-30 12:00:54 -08:00
=^._.^=
1ce13f2764 Update to Electron v0.35.2 2015-11-27 07:02:58 -08:00
Cheng Zhao
5d8167afd6 Merge pull request #181 from atom/helper-process
Change how Helper process is detected
2015-11-26 19:10:19 +08:00
Cheng Zhao
b81876775e Check ElectronMainProcess key in Info.plist 2015-11-26 19:07:03 +08:00
Cheng Zhao
77f7cfc938 Change how we detect Helper process 2015-11-26 18:52:07 +08:00
=^._.^=
466e4c20b4 Update to Electron v0.34.5 2015-11-26 00:07:47 -08:00
=^._.^=
b91a830cad Update to Electron v0.34.4 2015-11-24 06:24:13 -08:00
Cheng Zhao
c46fa6d959 Merge pull request #179 from etiktin/support_proxy_bypass_list
Add support for --proxy-bypass-list
2015-11-24 18:37:51 +08:00
Cheng Zhao
5ce2ebf264 Merge pull request #180 from atom/no-app-user-model-id
Use application name when app user model ID is not available
2015-11-24 15:13:47 +08:00
Cheng Zhao
087eeedab8 Use application name when app user model ID is not available 2015-11-24 15:11:43 +08:00
Cheng Zhao
c060539562 Only create NotificationPresenter when succeeded to initailize toast manager
This fix crash when we failed to initailize toast manager.
2015-11-24 14:40:58 +08:00
Eran Tiktin
1a18c3a3af Add support for --proxy-bypass-list 2015-11-22 22:56:35 +02:00
=^._.^=
3f95ecb2c7 Update to Electron v0.35.1 2015-11-19 23:01:42 -08:00
Cheng Zhao
2468c7c34e Merge pull request #177 from atom/toast-app-name
Use AppUserModelID as app id
2015-11-20 13:32:22 +08:00
Cheng Zhao
aa8d164036 Use AppUserModelID as app id 2015-11-20 13:28:37 +08:00
Felix Rieseberg
8db246d770 Merge pull request #175 from atom/iss3458
Fix Tag Typo
2015-11-16 07:43:01 -08:00
Felix Rieseberg
571b595571 Fix Tag Typo
We should probably have tests for Windows notifications ;-)
2015-11-16 07:41:37 -08:00
=^._.^=
23b0e7679a Update to Electron v0.35.0 2015-11-16 03:08:23 -08:00
Cheng Zhao
8ff0b050f8 There is no more NotificationError 2015-11-16 16:47:34 +08:00
Cheng Zhao
0e7f09523b Merge pull request #170 from miniak/windows_toast_notification
Call NotificationError when toast notification fails on Windows
2015-11-16 16:12:46 +08:00
Milan Burda
dedf3553e2 Call content::DesktopNotificationDelegate::NotificationError when toast notification fails on Windows 2015-11-13 15:42:35 +01:00
Cheng Zhao
cdc27a85c0 Merge pull request #174 from tejaspathak/master
Fix build error
2015-11-12 09:48:20 +08:00
Cheng Zhao
5d03058e9e Merge pull request #171 from miniak/notification_presenter_mac
Call [NSUserNotification setContentImage] conditionally using respondsToSelector
2015-11-12 00:09:51 +08:00
Felix Rieseberg
f4ac70f2da Merge pull request #173 from felixrieseberg/windows-7-3
Windows Toasts: Don't call WFI statically
2015-11-11 03:39:52 +01:00
Felix Rieseberg
b4ac9547c4 Windows Toasts: Don't call WFI statically 2015-11-10 18:37:43 -08:00
Felix Rieseberg
08e54d8a1e Merge pull request #172 from felixrieseberg/windows-7-2
Delay Load WinRT Libraries, Full Compat with Windows 7
2015-11-11 03:13:13 +01:00
Felix Rieseberg
2c84d70f8f Delay Load WinRT Libraries 2015-11-10 18:04:09 -08:00
Milan Burda
71d582bc68 Call [NSUserNotification setContentImage] conditionally using respondsToSelector instead of hardcoded OS X version check 2015-11-10 22:18:24 +01:00
tejaspathak
90d142b641 Fix build error 2015-11-10 23:26:42 +09:00
Cheng Zhao
da0197543a Merge pull request #167 from atom/code-cleanup
Cleanup of the notification code
2015-11-10 20:31:29 +08:00
Cheng Zhao
f9f8a289d9 Simplify the management of objects 2015-11-10 20:23:08 +08:00
Cheng Zhao
4f73de0930 Make the toast type really work 2015-11-10 20:07:12 +08:00
Cheng Zhao
6b9371c4cd Use smart pointer for everything 2015-11-10 19:50:38 +08:00
Cheng Zhao
1b9c9e40e3 Code cleanup with Chromium's coding style 2015-11-10 18:30:58 +08:00
Cheng Zhao
37a89ee0d9 Fix compilation error 2015-11-10 18:04:46 +08:00
Cheng Zhao
e3bcb15b81 Merge pull request #165 from felixrieseberg/windows-7
Ensure Notifications are Windows 8+ Only
2015-11-10 16:19:05 +08:00
Felix Rieseberg
995b094858 Ensure Notifications are Windows 8 and up only 2015-11-10 07:49:42 +01:00
Cheng Zhao
b79b7f7e2d Merge pull request #166 from miniak/windows_toast_notification
Simplify ToastEventHandler using WRL::RuntimeClass, which implements the IUnknown interface
2015-11-10 13:16:08 +08:00
Milan Burda
8f5463faab Simplify ToastEventHandler using WRL::RuntimeClass, which implements the IUnknown interface 2015-11-09 20:47:18 +01:00
Cheng Zhao
ecb35883f6 Merge pull request #161 from atom/windows-notifications-lib
Windows Notifications
2015-11-09 22:49:49 +08:00
Jason Poon
8dbeca8c7f Windows Toasts: Hide(), Runtime Check, Header Cleanup 2015-11-09 12:00:50 +01:00
Felix Rieseberg
86ea0759d8 Windows Toasts: Icons, Events, Cleanup, Documentation
- Enable documentations
- Add a small usage example to the header
- Final cleanups
2015-11-09 12:00:49 +01:00
Jason Poon
498bff9e5a Windows Toasts: Enable Basic Notifications
To test this puppy out, build and open up the Chromium Dev Tools.
Then, run `new Notification("Test title", {body: "Test body"});`
2015-11-09 12:00:21 +01:00
Cheng Zhao
7720346ee7 Update libchromiumcontent for filenames.gypi fix 2015-11-09 18:19:32 +08:00
Cheng Zhao
93ebbb1c86 Update libchromiumcontent for atom/electron#3310 2015-11-09 16:38:09 +08:00
Cheng Zhao
d456e87ee6 Merge pull request #164 from tejaspathak/master
Add option to build local libchromiumcontent
2015-11-09 16:36:54 +08:00
tejaspathak
1017ec0d87 Add option to build local libchromiumcontent
- Currently libchromiumcontent is downloaded by default.
- Now developer can choose to provide local libchromiumcontent src, shared and static path
2015-11-08 17:08:42 +09:00
Cheng Zhao
cbc107f441 Merge pull request #162 from deepak1556/certificate_verifier_patch
allow delegate to provide certificate verifier
2015-11-07 21:36:55 +08:00
Cheng Zhao
b8cd4f7981 linux: Link Xi with pkg-config
Fix atom/electron#3357.
2015-11-07 12:11:12 +08:00
=^._.^=
2b289bb758 Update to Electron v0.34.3 2015-11-06 07:56:36 -08:00
Robo
3dfb75b530 allow delegate to provide certificate verifier 2015-11-05 20:56:46 +05:30
=^._.^=
ca2498ff25 Update to Electron v0.34.2 2015-10-30 00:33:56 -07:00
=^._.^=
7436910324 Update to Electron v0.34.1 2015-10-23 06:52:35 -07:00
Cheng Zhao
54997db5f2 No more need to call setrlimit
Chrome has removed the limiations on fd, this actually became the new limitation.
2015-10-20 22:38:20 +08:00
Cheng Zhao
9efc5fffa2 Merge pull request #157 from atom/allow-ntlm-everywhere
Optionally allow NTLM authentication for all domains
2015-10-20 13:12:42 +08:00
Paul Betts
b7b3029e2a Nuke old declaration 2015-10-19 19:42:49 -07:00
Cheng Zhao
2f2dc063dd Merge pull request #158 from Dwaynekj/xcode-7-dylib
Update to brightray.gyp : libresolv
2015-10-20 10:34:14 +08:00
Paul Betts
5168b44932 Remove our plumbed methods 2015-10-19 12:57:32 -07:00
Paul Betts
0d63eaa07b Move the NTLM check to the URLRequestContextGetter delegate 2015-10-19 12:57:24 -07:00
Dwayne Jones
9d8bff7d04 Update to brightray.gyp : libresolv
In Following with this PR https://github.com/atom/brightray/pull/153
@joshaber helped me to work out this was causing a build error Xcode 7 for libresolv
2015-10-19 15:36:08 -04:00
Paul Betts
91a62640ab Come Correct with cpplint 2015-10-16 16:48:07 -07:00
Paul Betts
66a14c5eb5 Fallback to default behavior if boolean is false 2015-10-16 16:43:03 -07:00
Paul Betts
d123c8613d Create a new API to trump IE security settings if desired 2015-10-16 16:40:30 -07:00
Paul Betts
2c21f1a304 Replace the default one with our own 2015-10-16 16:40:07 -07:00
Paul Betts
73a60ea3e3 Create a new URLSecurityManager that allows explicit settings 2015-10-16 16:39:42 -07:00
=^._.^=
136ac2dae7 Update to Electron v0.34.0 2015-10-16 05:16:38 -07:00
=^._.^=
cad5d6c245 Update to Electron v0.33.9 2015-10-16 03:36:54 -07:00
=^._.^=
c3c5c65de3 Update to Electron v0.33.8 2015-10-13 22:23:50 -07:00
Cheng Zhao
859ef0b298 Update libchromiumcontent to latest master 2015-10-14 11:56:01 +08:00
Cheng Zhao
abe749e6be 💄 2015-10-14 09:47:22 +08:00
Cheng Zhao
cab52fedc6 Merge pull request #156 from deepak1556/nss_ocsp_patch
provide request context for oscp session creation
2015-10-14 09:46:28 +08:00
Robo
ec6304c0b2 provide request context for nss_oscp initialisation 2015-10-13 18:20:12 +05:30
Cheng Zhao
34fb1c65bf Merge pull request #155 from atom/remove-websql-limitation
Remove websql's storage limitation
2015-10-13 09:03:20 +08:00
Haojian Wu
2981a7e256 Remove storage limitation of WebSQL. 2015-10-12 21:21:45 +08:00
=^._.^=
b5d84cbd74 Update to Electron v0.33.7 2015-10-10 04:15:59 -07:00
Cheng Zhao
7caaad2c7a Control linking of QTKit in electron 2015-10-09 21:29:51 +08:00
Cheng Zhao
0659be44bc Update to mas branch of libchromiumcontent 2015-10-09 21:07:21 +08:00
Cheng Zhao
e3c657045d Merge pull request #154 from deepak1556/accept_language_patch
set accept-language header from system locale
2015-10-09 21:05:15 +08:00
Robo
b7296d8a4e set accept-language header from system locale 2015-10-09 13:21:53 +05:30
Cheng Zhao
343cbea8a7 Merge pull request #153 from atom/xcode-7
Don't reference the bsm dylib directly.
2015-10-08 13:57:42 +08:00
Mathias Buus
1c38cf6fe5 Merge pull request #64 from itchio/exit-code
Relay electron exit code
2015-10-06 23:34:46 +02:00
Amos Wenger
02f5fabd6c Relay electron exit code 2015-10-06 22:45:12 +02:00
joshaber
407b406f34 Don't reference the dylib directly.
https://forums.developer.apple.com/thread/4572 is the best reference I
could find for this.

Apple replaced (some?) dylibs with “text-based stub libraries”
(.tbd’s). So we shouldn’t try to reference the dylib directly anymore.
2015-10-06 16:07:54 -04:00
Cheng Zhao
43bfdace86 Merge pull request #152 from atom/register-prefs
Fix RegisterPrefs not working in subclass.
2015-10-06 22:44:32 +08:00
Cheng Zhao
dd5c962942 Merge pull request #151 from atom/xcode-7-support
Xcode 7 support
2015-10-06 21:39:34 +08:00
Haojian Wu
73632d4189 Fix RegisterPrefs not working in subclass.
Don't call virtual function in subclass's constructor.
2015-10-06 16:11:28 +08:00
joshaber
3d0ab70aa1 mac: Force Xcode to use C++11.
For whatever reason, this is necessary in Xcode 7.
2015-10-05 10:15:54 -04:00
joshaber
7f0b8f01e1 mac: Don't define an SDKROOT.
This way Xcode will use the latest SDK, whatever it is, and we don’t
have to bump this every time Apple releases an OS update.
2015-10-05 10:15:34 -04:00
=^._.^=
0b267d3fa6 Update to Electron v0.33.6 2015-10-05 06:13:31 -07:00
Haojian Wu
ef9f6eb8c3 Define related marcos for webrtc on Windows and OS X. 2015-10-05 12:50:18 +08:00
=^._.^=
96263ea914 Update to Electron v0.33.5 2015-10-04 21:46:52 -07:00
Cheng Zhao
dee9f59b19 Merge pull request #150 from atom/linux-menu
Fix tooltip cropped by the window on Linux
2015-10-04 22:18:39 +08:00
Cheng Zhao
c205ab0944 Fix tooltip can not show outside window 2015-10-04 22:15:01 +08:00
Cheng Zhao
6ca7767f09 linux: Set device scaling factor 2015-10-04 16:52:14 +08:00
Cheng Zhao
9f978cc19f Merge pull request #149 from atom/ignore-x-window-error
Don't crash when X Window System errors happen
2015-10-04 15:52:14 +08:00
Cheng Zhao
6044ab05f3 Ignore X Window System errors 2015-10-04 15:40:51 +08:00
Haojian Wu
63085fb0b0 [Linux] Link libraries for desktop capture API. 2015-10-03 13:43:20 +08:00
Haojian Wu
59cbd0a00d [Windows] Link libraries for desktop capture API. 2015-10-03 10:49:42 +08:00
=^._.^=
5613fd6088 Merge pull request #60 from airtimemedia/master
Add target arch support
2015-10-02 10:58:37 -07:00
Haojian Wu
64b0333964 [OS X] Link dependent libraries for desktop capture API. 2015-10-02 17:27:48 +08:00
=^._.^=
f0a0fe116d Update to Electron v0.33.4 2015-10-01 23:14:53 -07:00
Cheng Zhao
5a97cfaa64 Code cleanup 2015-10-01 17:30:59 +08:00
Cheng Zhao
1f2d934d9d Merge pull request #147 from atom/gnotify
Rewrite Ubuntu check to look for libunity .so files
2015-10-01 17:15:19 +08:00
Cheng Zhao
c9956c2ae0 Merge pull request #146 from deepak1556/remote_devtools_module_patch
provide remoteBase to load remote devtools modules
2015-10-01 17:02:56 +08:00
Paul Betts
1a8377b198 Add environment variable as escape hatch 2015-09-30 09:14:31 -07:00
Paul Betts
50a95792a1 Rewrite unity check to look for libunity SOs 2015-09-30 09:09:35 -07:00
Robo
9122922133 provide remoteBase to load remote devtools modules 2015-09-30 16:34:44 +05:30
Cheng Zhao
3f3fbc03fc Merge pull request #145 from deepak1556/devtools_network_emulation_patch
enabling network emulation in devtools
2015-09-28 12:14:14 +08:00
Robo
a1e646f1b3 enabling network emulation in devtools 2015-09-27 21:38:38 +05:30
=^._.^=
1631b9e231 Update to Electron v0.33.3 2015-09-26 07:39:23 -07:00
=^._.^=
3dff092a6e Update to Electron v0.30.8 2015-09-26 07:04:26 -07:00
=^._.^=
31bce2281b Update to Electron v0.33.2 2015-09-25 05:32:43 -07:00
=^._.^=
8b79453b50 Update to Electron v0.30.7 2015-09-24 00:23:47 -07:00
Cheng Zhao
ab878c5f98 Merge pull request #143 from deepak1556/ssl_version_config_patch
allowing delegates to provide their sslconfigservice
2015-09-23 10:41:27 +08:00
Tom Hughes
dd59736393 Clean up target arch support based on pull request #55 comments. 2015-09-22 10:34:52 -07:00
Attila Sukosd
f1f061e1e3 Added target arch support
Previously electron-prebuilt would download the prebuilt binaries
for the architecture native to the platform. However there are
cases where being able to download for another architecture is
favourable.
This patch adds support for setting the architecture through
npm's --arch= parameter. (Issue #53)
2015-09-22 10:17:36 -07:00
=^._.^=
b3af5a9475 Update to Electron v0.33.1 2015-09-22 01:03:54 -07:00
Robo
5d9c41c416 allowing delegates to provide their sslconfigservice 2015-09-21 22:14:32 +05:30
=^._.^=
0b06748d9b Update to Electron v0.33.0 2015-09-17 04:39:21 -07:00
Cheng Zhao
ca9a54a41e Check whether devtools is opened when executing js code
Fixes atom/electron#2808.
2015-09-17 15:00:14 +08:00
Cheng Zhao
fc33eb99f7 Unsubscribe from NSNotificationCenter when WebContents is destroyed
Due to ref-counted references the NSView is not destroyed immediately
when WebContents is destroyed, so it is not reliable to do this in
the destructor.
2015-09-17 11:19:08 +08:00
Cheng Zhao
fa588f104c Set MACOSX_DEPLOYMENT_TARGET to 10.8
Fixes atom/electron#2790.
2015-09-16 19:54:52 +08:00
=^._.^=
5d4dd00c41 Update to Electron v0.32.3 2015-09-15 01:27:32 -07:00
Cheng Zhao
3f53564a4f Use the SDKROOT under 10.10 2015-09-15 12:14:46 +08:00
Cheng Zhao
34e1a38d18 Use 10.10 SDK 2015-09-15 11:59:57 +08:00
Cheng Zhao
43c4efb4c7 Merge pull request #142 from atom/devtools-focus
Add IsDevToolsViewFocused method and make DevToolsFocused work in OS X
2015-09-15 11:26:34 +08:00
Cheng Zhao
352f758cd1 Make DevToolsFocused in OS X 2015-09-15 11:24:35 +08:00
Cheng Zhao
c30f458d4f Add IsDevToolsViewFocused method 2015-09-15 11:04:46 +08:00
Cheng Zhao
9d7fbdfd8e Merge pull request #140 from deepak1556/net_log_patch
create net log file after context is created
2015-09-14 19:24:22 +08:00
=^._.^=
7749e9a808 Update to Electron v0.32.2 2015-09-10 06:22:19 -07:00
=^._.^=
4c4b2f44e7 Update to Electron v0.32.1 2015-09-09 05:26:36 -07:00
Cheng Zhao
024d643f98 Merge pull request #139 from toyoshim/sysex_permission
Grant ChildProcessSecurityPolicy for MIDI from PermissionManager
2015-09-09 13:34:40 +08:00
=^._.^=
a3109ed011 Update to Electron v0.32.0 2015-09-08 22:06:20 -07:00
Robo
451dd03866 create net log file after context is created 2015-09-07 22:44:13 +05:30
Cheng Zhao
87a1b68c47 Fix typo 2015-09-06 10:29:59 +08:00
Cheng Zhao
d2ea3b496d Only store weak ref to BrowserContext 2015-09-05 22:34:42 +08:00
Cheng Zhao
1a8dc77951 Move management of browser context to BrowserContext 2015-09-05 20:52:50 +08:00
Cheng Zhao
dc1e50c62e Store BrowserContext in ref-counted ptr 2015-09-05 20:03:18 +08:00
Cheng Zhao
58fb166b0b Pass partition name instead of path to BrowserContext 2015-09-05 19:46:55 +08:00
Takashi Toyoshima
af505db908 Grant ChildProcessSecurityPolicy for MIDI from PermissionManager
PermissionManager should set ChildProcessSecurityPolicy for MIDI SysEx
permission. Otherwise, the browser kills unauthorized renderers that are
going to send MIDI SysEx messages.

Fixes #138.
2015-09-05 14:56:32 +09:00
Cheng Zhao
82b9ced3e0 Merge pull request #137 from atom/chrome45
Upgrade to Chrome 45
2015-09-03 21:17:32 +09:00
Cheng Zhao
dca5c763e9 Use the new devtools URL 2015-09-02 18:25:59 +08:00
Cheng Zhao
f077a51459 Define ENABLE_WEBRTC 2015-09-02 17:49:51 +08:00
Cheng Zhao
90125c44e3 Fix API changes on Linux 2015-09-02 17:29:30 +08:00
Cheng Zhao
38a211db2e Fix API changes 2015-09-02 15:16:34 +08:00
Cheng Zhao
5e004b4c24 Upgrade to Chrome 45 2015-09-02 14:22:50 +08:00
=^._.^=
b23b1eb0f0 Update to Electron v0.31.2 2015-09-01 23:12:43 -07:00
Cheng Zhao
7612b10dc1 Merge pull request #136 from deepak1556/browser_context_partition_patch
handle partition config in browser context
2015-09-01 20:01:29 +08:00
Robo
0e956c497d use browser context from webcontents for registering datasource 2015-08-31 21:04:48 +05:30
=^._.^=
1dcb609622 Update to Electron v0.31.1 2015-08-27 22:57:33 -07:00
Robo
fa5c8fc943 handle partition config in browser context 2015-08-27 17:31:31 +05:30
=^._.^=
19109b2c51 Update to Electron v0.30.6 2015-08-26 02:29:27 -07:00
=^._.^=
c2a88b7996 Update to Electron v0.30.6 2015-08-26 01:39:58 -07:00
Cheng Zhao
89e66f15c3 Link with 10.9 SDK 2015-08-26 15:57:35 +08:00
Cheng Zhao
c0b9fd415d Revert "Make bottom corner more round"
This reverts commit f9a64dde5da537f615cd7080a335c6304c6a814e.
2015-08-26 15:56:39 +08:00
=^._.^=
06d41a5230 Update to Electron v0.31.0 2015-08-25 21:22:37 -07:00
Cheng Zhao
eb709a9a8f Fix building on OS X 2015-08-25 20:55:07 +08:00
Cheng Zhao
c3e1ceaf61 Merge pull request #132 from deepak1556/devtools_title_patch
Allowing devtools window to update title
2015-08-25 20:29:03 +08:00
Max Ogden
2e0c44a91f update docs and readme 2015-08-22 13:14:26 +02:00
=^._.^=
a3cdead9a8 Update to Electron v0.31.0 2015-08-21 15:07:45 +02:00
Cheng Zhao
0180eea8a9 Merge pull request #127 from atom/chrome44
Upgrade to Chrome 44
2015-08-21 19:28:43 +08:00
Cheng Zhao
c9557f2b39 win: Fix Release build 2015-08-21 16:19:57 +08:00
Cheng Zhao
c4d192b9a4 linux: Fix building 2015-08-21 16:14:19 +08:00
=^._.^=
d752ffeb06 Update to Electron v0.30.5 2015-08-21 07:51:02 +02:00
Cheng Zhao
8a92ef34a7 Store NetLog in BrowserClient 2015-08-11 18:29:55 +08:00
Cheng Zhao
edda9d0488 Link with a few more static libraries on Linux and OS X 2015-08-11 10:45:30 +08:00
Cheng Zhao
3deb8297e1 Update to Chrome 44 2015-08-11 10:24:53 +08:00
Cheng Zhao
1cd7434a66 Include Foundation.h at right place 2015-08-11 10:05:27 +08:00
Cheng Zhao
089a4cf08f Disable -Wunneeded-internal-declaration warning 2015-08-11 10:04:07 +08:00
Haojian Wu
f82ab5f193 Implement devtools preference interfaces. 2015-08-11 09:49:57 +08:00
Haojian Wu
6171ab8f6b [Win] Link http_server.lib. 2015-08-11 09:49:57 +08:00
Haojian Wu
68a45aa29a [Win] Link devtools_discovery.lib and devtools_http_handler.lib in component builds. 2015-08-11 09:49:57 +08:00
Haojian Wu
7d22da5169 Fix API changes in DevToolsManagerDelegate. 2015-08-11 09:49:57 +08:00
Haojian Wu
2dd8bc0c78 ffmpegsumo.dll => ffmpeg.dll 2015-08-11 09:49:57 +08:00
Haojian Wu
2703f186a6 DevToolsHttpHandler is moved from content to devtools_http_handler namespace. 2015-08-11 09:49:56 +08:00
Haojian Wu
dd11ad8db3 DevToolsHttpHandler::GetFrontendResourceId is removed. 2015-08-11 09:49:56 +08:00
Haojian Wu
c5ae2926e1 WebContentsFocused is removed.
Use OnWebContentsFocused instead.
2015-08-11 09:49:56 +08:00
Haojian Wu
ce6172b829 Update PlatformNotificationServiceImpl Interfaces. 2015-08-11 09:49:56 +08:00
Haojian Wu
ef91261aa5 No NetLog anymore, use NetLogCaptureMode. 2015-08-11 09:49:56 +08:00
=^._.^=
0a281df10b Update to Electron v0.30.4 2015-08-10 17:36:15 +02:00
=^._.^=
57f7250a82 Update to Electron v0.30.3 2015-08-07 16:48:07 +02:00
Robo
26f4d09b2c implement for osx 2015-08-07 16:24:45 +05:30
Robo
1f65b47e8e allow updating devtools title in undocked mode 2015-08-07 14:30:49 +05:30
Cheng Zhao
97cf8ca609 Merge pull request #131 from atom/devtools-size
Don't show devtools window in too small size or out of screen
2015-08-04 22:52:29 +08:00
Cheng Zhao
5b4a42f7e9 Show devtools window in the middle of display 2015-08-04 22:50:30 +08:00
Cheng Zhao
0ef2857534 Don't show devtools window in too small size or out of screen 2015-08-04 22:43:59 +08:00
Cheng Zhao
545c62994f Merge pull request #130 from atom/linux-notification
Guard against outside input in Linux notifications
2015-08-04 16:46:53 +08:00
Cheng Zhao
bb7cd8f261 Guard agains empty notification 2015-08-04 16:44:32 +08:00
Cheng Zhao
81ba4e3a3e Guard against empty image 2015-08-04 16:43:46 +08:00
=^._.^=
5252079b3b Update to Electron v0.30.2 2015-07-29 23:57:13 -07:00
Max Ogden
33d63ac712 update readme 2015-07-29 15:39:15 -07:00
Cheng Zhao
51f0485898 Merge pull request #128 from deepak1556/inspectable_web_contents_api_patch
fix devtools workspace api
2015-07-29 17:14:49 +08:00
Cheng Zhao
4f124e0f44 Merge pull request #129 from deepak1556/devtools_zoom_level_patch
save devtools zoom level preference
2015-07-29 14:45:14 +08:00
Robo
a56a0505fa save devtools zoom level preference 2015-07-29 12:08:31 +05:30
Robo
e9da74e58a fix devtools workspace api to accept file path 2015-07-29 09:31:00 +05:30
=^._.^=
9daed39907 Update to Electron v0.30.1 2015-07-24 03:36:37 -07:00
Cheng Zhao
bd6019ba0d Merge pull request #126 from atom/round-corner
Make bottom corner more round
2015-07-20 18:27:25 +08:00
Cheng Zhao
935d1e142f Make bottom corner more round 2015-07-20 18:24:24 +08:00
=^._.^=
c2e552de02 Update to Electron v0.30.0 2015-07-16 10:56:17 -07:00
Cheng Zhao
89546a9c19 Merge pull request #124 from deepak1556/devtools_network_patch
create netlog instance for devtoolsnetlogobserver
2015-07-16 06:35:29 -07:00
Robo
7496cb29fe create netlog for devtoolsnetlogobserver 2015-07-15 00:54:28 +05:30
Cheng Zhao
6b1e4cc91a Set user agent from the delegate 2015-07-14 11:37:57 -07:00
Cheng Zhao
8bb0ea438d Enable override user agent in URLRequestContextGetter 2015-07-14 10:04:34 -07:00
Cheng Zhao
032401edf8 Merge pull request #123 from deepak1556/proxy_patch
adding support for kProxyPacUrl
2015-07-13 15:14:11 -07:00
Robo
ca09f32548 adding support for kProxyPacUrl 2015-07-10 13:52:02 +05:30
=^._.^=
bd94d8028d Update to Electron v0.29.2 2015-07-07 03:06:55 -07:00
Cheng Zhao
681e868a5b Link with nss 2015-07-07 14:15:45 +08:00
Cheng Zhao
08b851dd0f Load cursor from current module 2015-07-06 13:48:31 +08:00
Cheng Zhao
e67d0db448 OpenSSL is still used on Windows and Mac 2015-07-06 12:03:33 +08:00
Cheng Zhao
31b88f7370 USE_NSS is used before Chrome 45 2015-07-06 11:49:49 +08:00
Cheng Zhao
36447f6613 Use NSS instead of OpenSSL 2015-07-06 10:52:20 +08:00
=^._.^=
52c92032d2 Update to Electron v0.29.1 2015-07-03 09:21:10 -07:00
=^._.^=
5fb9c596b2 Update to Electron v0.29.0 2015-07-03 04:16:28 -07:00
Cheng Zhao
c210c68bee Remove -std=gnu++11 flag 2015-07-01 07:48:29 +00:00
Cheng Zhao
3826e8864a Fix a compiler warning 2015-07-01 06:50:07 +00:00
Cheng Zhao
d440a3c21d Do not force using clang 2015-07-01 14:32:04 +08:00
Cheng Zhao
de57d822d7 Merge pull request #121 from darwin/missing-overrides
Missing overrides
2015-06-26 21:30:56 +08:00
Antonin Hildebrand
899c730ece Missing overrides
ninja compilation failed for me under OS X 10.11
2015-06-26 11:39:41 +02:00
Cheng Zhao
f477e6ca6a Don't hide methods of content::BrowserContext 2015-06-26 10:58:06 +08:00
Cheng Zhao
f9dc87ba97 Add InspectableWebContentsViewDelegate 2015-06-25 12:29:34 +08:00
=^._.^=
4e6381056a Update to Electron v0.28.3 2015-06-23 07:40:05 +00:00
=^._.^=
e43c524ca4 Update to Electron v0.28.2 2015-06-18 05:48:49 +00:00
Cheng Zhao
9fb30b702a Check if image is empty. 2015-06-18 12:41:36 +08:00
Cheng Zhao
a24d4cd0d9 Merge pull request #120 from atom/osx-image-on-109-only
Ensure we don't try to set notification contentImage on < OS X 10.9
2015-06-18 12:35:59 +08:00
=^._.^=
56270a505d document proxy env vars. closes #21 2015-06-17 20:52:37 -07:00
Paul Betts
c3de789fd7 Ensure we don't try to set contentImage on 10.7/10.8. That would be rude! 2015-06-17 13:01:48 -07:00
Cheng Zhao
0e6e4b6c5e Merge pull request #118 from atom/osx-notification-image
Set contentImage based on the passed-in image
2015-06-17 12:37:15 +08:00
Paul Betts
0e98519d3b Set contentImage based on the passed-in image 2015-06-16 18:00:39 -07:00
Max Ogden
5176c62287 Merge branch 'ralphtheninja-master' 2015-06-16 16:30:24 -07:00
Max Ogden
a09ae620d8 merge regex 2015-06-16 16:29:46 -07:00
Cheng Zhao
ca021d030f Add --ignore-connections-limit switch 2015-06-16 16:03:43 +08:00
Cheng Zhao
cb6fba94fc Merge pull request #117 from deepak1556/gyp_defines_patch
define openssl_certs on linux
2015-06-16 13:36:54 +08:00
Max Ogden
b9fa0fdbe2 0.28.1 2015-06-15 09:38:04 -07:00
Max Ogden
2706679589 0.28.1 2015-06-15 09:38:01 -07:00
Max Ogden
df8d88916b 0.28.0 2015-06-15 09:37:36 -07:00
Max Ogden
cf7b552625 0.28.0 2015-06-15 09:37:33 -07:00
=^._.^=
4c528355bf Merge pull request #41 from masom/masom-patch-1
Bump to version 0.28.1
2015-06-15 16:36:20 +00:00
Martin Samson
a58788822c Updated to 0.28.1 2015-06-12 12:04:59 -04:00
deepak1556
27fbdf3cf2 define openssl_certs on linux 2015-06-11 23:18:47 +05:30
Cheng Zhao
3cea64b0f6 Fix typo 2015-06-10 19:30:57 +08:00
Cheng Zhao
9868d46d63 OpenSSL is actually used by all platforms 2015-06-10 19:15:45 +08:00
Cheng Zhao
4b26cbf24b Merge pull request #115 from deepak1556/cert_store_patch
intiailse platform clientcertstore
2015-06-10 19:14:58 +08:00
deepak1556
3ac3a2f115 intiailse platform clientcertstore 2015-06-10 02:37:11 +05:30
Lars-Magnus Skog
efd51295c9 use version from package.json 2015-06-09 20:59:04 +02:00
Max Ogden
0a93f3691c 0.27.3 2015-06-09 11:13:40 -07:00
=^._.^=
0367374f90 Merge pull request #38 from mattdesl/patch-1
bump to 0.27.3
2015-06-09 18:12:14 +00:00
Matt DesLauriers
811935b3b2 bump to 0.27.3 2015-06-09 10:42:26 -04:00
Cheng Zhao
5e943e1456 view_ needs to be destroyed after web_contents_ 2015-06-09 11:09:16 +08:00
Cheng Zhao
e0992884e6 Merge pull request #116 from atom/delete-requests
Make devtools_web_contents_ is destroyed before everything
2015-06-09 11:02:45 +08:00
Cheng Zhao
64c4a34507 Make devtools_web_contents_ is destroyed before everything
The WebContentsDestroyed still access the other members, so if they are
destroyed before the devtools_web_contents_ in the destructor, we will
crash there.
2015-06-09 10:44:48 +08:00
Cheng Zhao
418264d42a Merge pull request #114 from deepak1556/webcontents_patch
fix dereferencing possibly null pointer
2015-06-09 10:31:07 +08:00
Cheng Zhao
b2eb23aa01 Clean up code 2015-06-09 09:51:38 +08:00
Cheng Zhao
a56c132835 Merge pull request #113 from deepak1556/net_log_patch
adding support for kLogNetLog switch
2015-06-08 23:13:03 +08:00
deepak1556
8adb65fa29 fix dereferencing null pointer 2015-06-08 20:31:07 +05:30
deepak1556
2ba119f395 fix memory leak 2015-06-08 19:56:48 +05:30
deepak1556
15255944b6 create net log instance only when needed 2015-06-08 19:19:44 +05:30
deepak1556
33f65ba981 fix crash on quit 2015-06-06 14:33:07 +05:30
deepak1556
1022357700 adding netconstants to log 2015-06-06 00:13:10 +05:30
deepak1556
ee6b14d1d8 adding support for kLogNetLog switch 2015-06-05 20:25:08 +05:30
Cheng Zhao
51bb357405 Add DevToolsOpened and DevToolsClosed events 2015-06-05 16:57:17 +08:00
Cheng Zhao
d1e70e7826 Add InspectableWebContents::GetDevToolsWebContents 2015-06-05 14:33:37 +08:00
Cheng Zhao
9ab9b392d6 Fix crash when quitting 2015-06-05 12:35:41 +08:00
Cheng Zhao
44ba4e87aa Merge pull request #112 from atom/devtools-load-network-resources
Fix networking requests not loading in devtools
2015-06-05 12:27:00 +08:00
Cheng Zhao
05f182f650 Clean up code 2015-06-05 12:24:48 +08:00
Cheng Zhao
aa926680a2 No more need to override DidFinishLoad 2015-06-05 12:10:01 +08:00
Cheng Zhao
95d28c398e Update cpplint 2015-06-05 12:07:27 +08:00
Cheng Zhao
56747e975e Avoid calling JavaScript of devtools WebContents too early
It would craete a context that window.location is about:blank
2015-06-05 11:58:27 +08:00
Cheng Zhao
9a9bc5530e Handle network requests from devtools 2015-06-05 11:20:20 +08:00
Cheng Zhao
d48a80bdfa Update to new devtools messages 2015-06-05 11:03:47 +08:00
Cheng Zhao
3f2c2e3484 Merge pull request #111 from deepak1556/devtools_workspace_patch
delegate filesystem request calls
2015-06-05 10:32:10 +08:00
deepak1556
62f860123d delegate filesystem request calls 2015-06-04 22:21:23 +05:30
Cheng Zhao
894cc64276 Link with gmodule-2.0, fix atom/electron#1809 2015-06-04 14:41:16 +08:00
Cheng Zhao
239ddea0ce Merge pull request #110 from aroben/devtools-security
Make devtools work when web security is enabled
2015-06-03 09:51:32 +08:00
Adam Roben
2025b60968 Make devtools work when web security is enabled
These changes bring our copy of devtools_ui.cc in line with
https://chromium.googlesource.com/chromium/src.git/+/43.0.2357.92/chrome/browser/ui/webui/devtools_ui.cc

Without these changes, opening the devtools prints errors like:

    [0602/165604:ERROR:CONSOLE(0)] "Refused to display 'chrome-devtools://devtools/inspector.html?can_dock=true&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true' in a frame because it set 'X-Frame-Options' to 'DENY'.", source: about:blank (0)
    [0602/165604:ERROR:CONSOLE(1514)] "Uncaught SecurityError: Sandbox access violation: Blocked a frame at "chrome-devtools://devtools" from accessing a frame at "null".  The frame being accessed is sandboxed and lacks the "allow-same-origin" flag.", source: chrome-devtools://devtools/devtools.js (1514)
2015-06-02 16:56:17 -04:00
Max Ogden
df1ee48faa 0.27.2 2015-06-01 15:38:24 -07:00
Max Ogden
740849270c 0.27.2 2015-06-01 15:38:17 -07:00
Cheng Zhao
3a005fd52a Update libchromiumcontent 2015-05-29 17:51:50 +08:00
Cheng Zhao
155a50d00e Revert "Link with ui_zoom in component build"
This reverts commit b48bc01c8f1fc11862f96db835a5f257aa6e53aa.
2015-05-29 17:51:22 +08:00
Cheng Zhao
f494f90a3e Link with ui_zoom in component build 2015-05-29 16:54:28 +08:00
Cheng Zhao
eb2d94faf7 Update to latest libchromiumcontent 2015-05-29 15:50:12 +08:00
Max Ogden
afc89ce2e9 0.27.1 2015-05-28 11:17:07 -07:00
Max Ogden
1d8a289ed2 0.27.1 2015-05-28 11:17:04 -07:00
Max Ogden
834e181a38 0.27.0 2015-05-28 11:16:46 -07:00
Max Ogden
2cd0ee5321 0.27.0 2015-05-28 11:16:44 -07:00
Cheng Zhao
a9a5765544 Remove trailing space 2015-05-27 15:02:01 +08:00
Cheng Zhao
bf99380c5d Merge pull request #107 from deepak1556/devtools_patch
method to reset devtools agent host
2015-05-26 16:15:04 +08:00
Cheng Zhao
8818f9c448 Merge pull request #106 from hokein/pdf-dll
No need to link pdf related libraries in component build.
2015-05-26 12:40:40 +08:00
Cheng Zhao
564b9ec56f Merge pull request #109 from atom/chrome43
Upgrade to Chrome 43
2015-05-23 12:24:07 +08:00
Cheng Zhao
ce266e8647 Link with d3d11.lib 2015-05-23 11:25:37 +08:00
Cheng Zhao
847dc32f74 Suppress compiler warning 2015-05-23 11:10:40 +08:00
Cheng Zhao
0f64da9dfc Implement NetworkDelegate::OnFirstPartyOnlyCookieExperimentEnabled 2015-05-22 14:56:28 +08:00
Cheng Zhao
66d49a5241 ProxyResolverV8::EnsureIsolateCreated is removed 2015-05-22 14:54:33 +08:00
Cheng Zhao
37bd7fe331 Remove parameter |by_user| in NotificationClosed 2015-05-22 14:51:16 +08:00
Cheng Zhao
0cbf8b6cd2 Implement PermissionManager 2015-05-22 14:50:41 +08:00
Max Ogden
38f0c02ea1 0.26.1 2015-05-21 20:15:58 -07:00
=^._.^=
38dda0639d Merge pull request #31 from ingorichter/ingo/update-electron-to-0.26.1
update electron shell to 0.26.1
2015-05-21 20:15:36 -07:00
Ingo Richter
458a4f95ff - update electron shell to 0.26.1 2015-05-21 18:21:22 -07:00
Cheng Zhao
eee334c7f6 Merge pull request #108 from atom/no-incremental-linking
Turn off incremental linking for Release build
2015-05-20 13:53:48 +08:00
Cheng Zhao
c60fcc4c9a Turn off incremental linking for Release build 2015-05-20 13:52:24 +08:00
deepak1556
145c18f4c8 method to reset agent_host 2015-05-18 19:26:03 +05:30
Haojian Wu
e76b06b84c No need to link pdf related libraries in component build. 2015-05-13 09:54:56 +08:00
Max Ogden
d4d5e0f771 Merge pull request #30 from RnbWd/scripts2
updated scripts / .ignores
2015-05-12 17:27:55 -07:00
Max Ogden
bd2b0f2c2f 0.26.0 2015-05-12 17:22:08 -07:00
Max Ogden
19c6a6195d 0.26.0 2015-05-12 17:22:05 -07:00
RnbWd
eeb0d4439e updated scripts / .ignores 2015-05-12 16:10:22 -07:00
Cheng Zhao
d350e73dff win: Link with msvcrt dll for Release build 2015-05-12 17:00:18 +08:00
Max Ogden
baae0583c9 0.25.3-2 - add missing devDeps for tests 2015-05-10 13:55:44 -07:00
Max Ogden
009925d0fb 0.25.3-1 2015-05-10 13:54:36 -07:00
Max Ogden
e2fc1a0fb1 refactor to use electron-download 2015-05-10 13:54:06 -07:00
Cheng Zhao
6e603ddae9 Merge pull request #102 from hokein/win-print
Link pdf related libraries for component build.
2015-05-10 11:31:25 +08:00
Mathias Buus
92a2eb2864 0.25.3 2015-05-09 00:19:09 +02:00
Misumi Rize
0ba1f030a3 version 0.25.3 2015-05-09 00:16:05 +02:00
Mathias Buus
2e4881ba68 0.25.2-1 2015-05-09 00:16:05 +02:00
Mathias Buus
0a8ac33911 reset version for #18 2015-05-09 00:16:05 +02:00
RnbWd
bbdec2be1a v0.25.3 2015-05-08 06:11:40 -07:00
RnbWd
ce8c95127e simplify cache paths 2015-05-07 14:21:51 -07:00
RnbWd
7864197291 added cache 2015-05-06 21:44:10 -07:00
Cheng Zhao
9b1302b894 Merge pull request #104 from atom/enable-ntlm-auth
Explicitly create HttpAuthHandlerFactory to enable NTLM / Kerberos authentication
2015-05-07 10:48:37 +08:00
RnbWd
8fdb5b42d8 update 2015-05-06 17:52:51 -07:00
RnbWd
9afad0a3d7 ignore path.txt 2015-05-06 17:52:20 -07:00
RnbWd
3c8af7564b fs.existsSync() is depreciated in io.js 2015-05-06 17:50:49 -07:00
Paul Betts
a18e5d7d5c Come Correct with memory management 2015-05-05 22:35:48 -07:00
Paul Betts
dbe969b5c5 Fix indentation 2015-05-05 22:28:00 -07:00
Paul Betts
9737ba3e37 Explicitly create HttpAuthHandlerFactory
The CreateDefault method does not set a URLSecurityManager, so the code will
fall-back to disabling all built-in authentication. Instead, use the default
URLSecurityManager which will use IE Security Zones on Windows to determine
whether a URL is part of the Local Intranet zone or on non-Windows, default
proxy rules will be used (i.e. would a default proxy map vs. connect direct).
2015-05-04 15:49:00 -07:00
Haojian Wu
34a5e0865d Link pdf related libraries for component build. 2015-05-04 18:55:03 +08:00
Mathias Buus
a6ac7c98ec 0.25.2 2015-05-03 16:52:12 +02:00
Mathias Buus
5024fe0495 Merge pull request #18 from hemanth/patch-1
version 0.25.2
2015-05-03 16:50:32 +02:00
hemanth.hm
7b079a23b5 version 0.25.2
We must pick this up from the repo itself.
2015-05-01 15:10:01 +05:30
Mathias Buus
a76d0acb2e 0.25.1-1 2015-04-30 11:40:32 +02:00
Mathias Buus
3aa660c4cc Merge pull request #13 from JamesKyburz/issue-9
replaced run.bat with cli.js closes #9
2015-04-30 11:33:36 +02:00
Max Ogden
fad1fd6635 0.25.1 2015-04-25 12:50:23 -07:00
Max Ogden
cfddeef6ba upgrade 2015-04-25 12:50:21 -07:00
Max Ogden
f70969be0f 0.25.0 2015-04-25 12:49:56 -07:00
Max Ogden
230a17909c upgrade 2015-04-25 12:49:53 -07:00
James Kyburz
0b0472a999 replaced run.bat with cli.js closes #9 2015-04-23 21:38:02 +02:00
James Kyburz
c973ebc84a update electron version fixing windows issues 2015-04-23 21:38:02 +02:00
Cheng Zhao
7e376c1f73 win: Delay load of BluetoothApis.dll, fixes atom/electron#1462 2015-04-23 13:26:34 +08:00
Cheng Zhao
a99d29b859 linux: Fix compiler warning 2015-04-22 05:50:27 +00:00
Cheng Zhao
e65f0941e0 Merge pull request #100 from atom/chrome42
Upgrade to Chrome 42
2015-04-22 12:12:47 +08:00
Cheng Zhao
b62896d571 Merge pull request #99 from paulcbetts/ubuntu-notifications
Ubuntu notification improvements
2015-04-22 12:11:19 +08:00
Paul Betts
a0e5d36305 Free some stuff 2015-04-21 14:09:48 -07:00
Cheng Zhao
7e88fe107d linux: Pass v8 snapshot's fd to child process 2015-04-21 21:43:30 +08:00
Cheng Zhao
a5b6ffd93c mac: Link with IOBluetooth.framework 2015-04-21 19:05:39 +08:00
Cheng Zhao
90b255f2cd Fix API changes 2015-04-21 18:54:57 +08:00
Cheng Zhao
80dd72b93c Upgrade to Chrome 42 2015-04-21 18:54:48 +08:00
Cheng Zhao
027a474fa2 Include headers of mojo 2015-04-21 14:30:06 +08:00
Paul Betts
5d82bab10d Use DBus to detect indicator, not testing for files like an animal 2015-04-20 15:31:24 -07:00
Paul Betts
7c52838ece Fix the build on OS X 2015-04-20 13:29:10 -07:00
Paul Betts
3357dc0ef7 Set icon for notification, and disable action on Ubuntu 2015-04-20 13:22:18 -07:00
Paul Betts
a31ce8ce50 Make PlatformNotificationService pass along the icon 2015-04-20 13:21:18 -07:00
Paul Betts
b8689dc6cc Add a parameter to ShowNotification for the icon 2015-04-20 13:20:50 -07:00
Cheng Zhao
1cf1b5243d win: Delay load of MFReadWrite.dll
Fixes atom/electron#1442.
2015-04-20 19:47:21 +08:00
Max Ogden
d0e3084a4c Merge pull request #12 from steelbrain/patch-1
Fix a typo
2015-04-17 11:32:33 -07:00
Steel Brain
fa13ebf502 🎨 Fix a typo 2015-04-17 11:30:44 -07:00
Max Ogden
b365cdc283 0.24.0 2015-04-17 11:20:02 -07:00
Max Ogden
698d0c5e70 rename to electron-prebuilt 2015-04-17 11:19:50 -07:00
Mathias Buus
cb161234e5 v0.23.0 2015-04-12 01:36:42 -07:00
Cheng Zhao
4769e21e3d Add required defines under 32bit Linux 2015-04-12 08:15:57 +00:00
Cheng Zhao
36e6243085 linux: Define _LARGEFILE_SOURCE 2015-04-12 07:56:14 +00:00
Cheng Zhao
2e7b3f0d78 win: Optimize for size 2015-04-11 23:28:41 +08:00
Cheng Zhao
f3c83b55dd Merge pull request #98 from atom/win_64bit
Allow specifying the arch of libchromiumcontent to download
2015-04-11 20:21:53 +08:00
Cheng Zhao
5bb9c180f9 win: Don't use _x64 targets 2015-04-11 18:58:46 +08:00
Cheng Zhao
a4a1812f17 Require target_arch parameter 2015-04-11 18:29:51 +08:00
Cheng Zhao
0deeae0214 Allow specifying the arch of libchromiumcontent to download 2015-04-11 18:02:52 +08:00
Cheng Zhao
5c9a1d9a43 Merge pull request #97 from atom/component_build
Add support for shared_library and static_library build of libchromiumcontent
2015-04-11 13:47:51 +08:00
Cheng Zhao
59d99f7b60 Set libchromiumcontent_component when bootstrapping 2015-04-11 13:44:58 +08:00
Cheng Zhao
decf522f48 Cleanup the brightray.gyp file 2015-04-11 13:35:22 +08:00
Cheng Zhao
a1b682cd50 Debug_Base and Release_Base configs are abstract 2015-04-11 12:07:14 +08:00
Cheng Zhao
48c9f4a0a6 No longer link with shared library of boringssl 2015-04-10 18:53:14 +08:00
Cheng Zhao
10122304ed Fix including icu libraries 2015-04-10 12:06:55 +08:00
Cheng Zhao
b85b08ef8c Separate V8 libraries from other libraries 2015-04-09 20:48:27 +08:00
Cheng Zhao
62e9452831 win: Do not use link time code generation
It causes problems on Windows
2015-04-09 14:39:52 +08:00
Cheng Zhao
a8eb750efa win: Cleanup the compiler settings 2015-04-09 14:26:33 +08:00
Cheng Zhao
02ee07c4a0 win: No need to set default linked libraries 2015-04-09 13:38:54 +08:00
Cheng Zhao
9d921afff0 win: Remove unused config variables 2015-04-09 13:33:44 +08:00
Cheng Zhao
794b459ccd linux: Work around linker OOM on 32bit target 2015-04-09 12:05:42 +08:00
Cheng Zhao
6e3de02554 mac: "xcode_settings" doesn't work under "configurations" 2015-04-09 11:30:01 +08:00
Cheng Zhao
8a1a39b7b1 Add flag to build with clang 2015-04-09 10:49:36 +08:00
Cheng Zhao
0ae78f98eb mac: Improve configs for Release build 2015-04-09 10:41:26 +08:00
Cheng Zhao
9a691d1be8 Add "linux_system_libraries" variable 2015-04-09 10:14:25 +08:00
Cheng Zhao
845986750c Move filenames to another file 2015-04-09 10:11:28 +08:00
Cheng Zhao
48966c3046 Move filename rules to another file 2015-04-09 10:03:01 +08:00
Cheng Zhao
62d845f09e linux: Improve building flags for Release build 2015-04-09 09:58:07 +08:00
Cheng Zhao
2ef9e85f5e Remove linux_clang option 2015-04-08 19:20:51 +08:00
Cheng Zhao
891856f3af linux: Fix linking with system libraries 2015-04-08 08:22:55 +00:00
Cheng Zhao
c5f8e4360c Link with static_library version of libgtk2ui 2015-04-08 04:08:21 +00:00
Cheng Zhao
a7f7834be9 linux: Link with libboringssl.so 2015-04-08 02:42:19 +00:00
Cheng Zhao
feeb1da5ca Don't call download twice 2015-04-07 23:39:08 +08:00
Cheng Zhao
d1fb13b260 Fix path to boringssl.dll 2015-04-07 20:18:09 +08:00
Cheng Zhao
b9ddf0eb31 Still link with shared_library of boringssl 2015-04-07 17:25:13 +08:00
Cheng Zhao
92ce000bb2 win: Link with DLL version of vcrt in component build 2015-04-07 13:48:09 +08:00
Cheng Zhao
938182a3eb mac: Fix linking with boringssl 2015-04-07 11:28:56 +08:00
Cheng Zhao
512deae254 Fix generating configs on OS X and Linux 2015-04-06 21:41:36 +08:00
Cheng Zhao
9934985974 win: Link with libraries from other places 2015-04-06 16:01:31 +08:00
Cheng Zhao
d522443c75 win: Import system libraries in content_common.gypi 2015-04-06 15:20:27 +08:00
Cheng Zhao
f1a508f643 win: Link with boringssl.dll 2015-04-06 15:14:57 +08:00
Cheng Zhao
3b5edb461a win: Fix linking with libyuv 2015-04-06 15:04:07 +08:00
Cheng Zhao
4c36b747e0 win: Fix linking with ffmepg 2015-04-06 15:03:53 +08:00
Cheng Zhao
7b7a94140d win: Fix defines under component build 2015-04-06 14:19:28 +08:00
Cheng Zhao
ed5660909b win: Link with sandbox and base_static under component build 2015-04-06 12:03:22 +08:00
Cheng Zhao
9fd0f7e78e win: Add configurations for x64 build 2015-04-05 23:03:34 +08:00
Cheng Zhao
f9f891bd03 win: Fix libchromiumcontent_src_dir not defined 2015-04-05 22:51:38 +08:00
Cheng Zhao
0ed4626776 Download static_library build of libchromiumcontent 2015-04-05 22:28:00 +08:00
Cheng Zhao
5ef7a0d1da Use "D" and "R" as short names 2015-04-03 11:39:03 +08:00
Cheng Zhao
d9056135d7 Link with libboringssl.dylib 2015-04-03 11:37:27 +08:00
Cheng Zhao
038afadd1b mac: Link with all necessary system libraries 2015-04-03 09:56:03 +08:00
Cheng Zhao
4977741f35 Set libraries' path according to libchromiumcontent_component variable 2015-04-02 22:14:18 +08:00
Cheng Zhao
faac37a85c Only do component build in Debug mode 2015-04-02 15:11:15 +08:00
Cheng Zhao
7e41b9e44d Link with component build shared libraries 2015-04-02 14:05:43 +08:00
Cheng Zhao
19198a579a Upgrade libchromiumcontent for component build 2015-04-02 13:46:16 +08:00
Cheng Zhao
1a45176c24 Merge pull request #96 from deepak1556/web_contents_patch
detecting focus on devtools webcontents
2015-04-02 10:19:44 +08:00
Robo
4ae52721c4 detecting focus on devtools webcontents 2015-04-01 15:22:53 +05:30
Max Ogden
008535029a 0.22.3 2015-03-31 11:59:15 -07:00
Max Ogden
7f925cb5f4 0.22.3 2015-03-31 11:59:11 -07:00
Max Ogden
a6f1089100 0.22.2 2015-03-31 11:58:38 -07:00
Max Ogden
8b6f0b42e7 0.22.2 2015-03-31 11:58:34 -07:00
Cheng Zhao
17f1fc618e Merge pull request #95 from hokein/webui
Enable webui in content layer.
2015-03-29 20:57:24 +08:00
Haojian Wu
0eae030f67 Enable webui in content layer.
Allow to access Chrome's webuis(chrome://gpu, chrome://tracing) in Atom Shell.
2015-03-29 16:33:51 +08:00
Max Ogden
f04376455d add --save-dev instructions to readme 2015-03-25 17:56:46 -07:00
Cheng Zhao
6090358f16 Update libchromiumcontent 2015-03-23 08:29:44 +00:00
Max Ogden
7eb594d6b5 0.22.1 2015-03-18 15:40:27 -07:00
Max Ogden
6c43acbb8d 0.22.1 2015-03-18 15:40:25 -07:00
Max Ogden
98ced7f077 0.22.0 2015-03-18 15:40:13 -07:00
Max Ogden
f0492b803b 0.22.0 2015-03-18 15:40:10 -07:00
Cheng Zhao
afca245916 Merge pull request #94 from atom/chrome41
Upgrade to Chrome 41
2015-03-18 12:57:01 +08:00
Cheng Zhao
4e14c8634b Fix building on Windows 2015-03-18 12:55:02 +08:00
Cheng Zhao
21ee1f257f Upgrade libchromiumcontent 2015-03-18 09:55:13 +08:00
Kevin Sawicki
ac77c9df54 Update URLs for new atom org location 2015-03-17 11:24:10 -07:00
Cheng Zhao
54e58ae255 Fix compilation on Linux 2015-03-16 14:45:19 +08:00
Cheng Zhao
6033e5bea3 Upgrade libchromiumcontent 2015-03-13 16:33:48 -07:00
Cheng Zhao
1a53e293dd Use DevToolsAPI instead of InspectorFrontendAPI
Now InspectorFrontendAPI is available in the iframe, we have to call DevToolsAPI
which delegates the call.
2015-03-11 14:51:37 -07:00
Cheng Zhao
56a1691588 MEDIA_LOOPBACK_AUDIO_CAPTURE renamed to MEDIA_DESKTOP_AUDIO_CAPTURE 2015-03-08 20:04:25 -07:00
Cheng Zhao
bb8da7ec7e Fix browser_context.cc 2015-03-08 19:56:45 -07:00
Cheng Zhao
5e1a4e1222 Fix url_request_context_getter.cc 2015-03-08 19:54:27 -07:00
Cheng Zhao
f04ee342ea Remove RemoteDebuggingServer class 2015-03-08 19:53:37 -07:00
Cheng Zhao
2837b730f2 Fix network_delegate.cc 2015-03-08 19:47:12 -07:00
Cheng Zhao
95f0f25dc4 Fix inspectable_web_contents_impl.cc 2015-03-08 19:38:40 -07:00
Cheng Zhao
a5026907e4 Implement PlatformNotificationService 2015-03-08 19:37:13 -07:00
Cheng Zhao
99e2dbd6e8 Fix inspectable_web_contents_impl.h 2015-03-08 19:13:17 -07:00
Cheng Zhao
8467fee8d8 Fix devtools_manager_delegate.cc 2015-03-08 19:07:53 -07:00
Cheng Zhao
c0356f0269 Fix ui/gfx/geometry headers 2015-03-08 19:02:38 -07:00
Cheng Zhao
33f0b2ad89 Upgrade to Chrome 41 2015-03-05 12:28:41 -08:00
Max Ogden
9679e68f7a 0.21.3-1 (0.21.3 had a bug on our end, sorry) 2015-03-04 13:17:38 -08:00
Max Ogden
82d6782479 fix typo 2015-03-04 13:14:47 -08:00
Max Ogden
1809db5669 use standard js style 2015-03-04 13:08:16 -08:00
Max Ogden
2a048369fe 0.21.3 2015-03-04 13:04:51 -08:00
Max Ogden
fafb79c2e0 0.21.3 2015-03-04 13:04:36 -08:00
Cheng Zhao
b23da34ce9 Upgrade to latest gyp 2015-02-12 10:43:31 +08:00
Max Ogden
023ed1c82f 0.21.2 2015-02-05 18:45:56 -08:00
Max Ogden
43897e8239 0.21.1 2015-02-05 18:45:24 -08:00
Cheng Zhao
657a394b12 Merge pull request #88 from brightray/chrome40
Upgrade to Chrome 40
2015-02-03 10:58:28 -08:00
Cheng Zhao
5e4c90f264 NotificationError is discarded 2015-02-03 10:57:33 -08:00
Cheng Zhao
1c65f5d7d9 Fix cpplint warning 2015-02-03 10:57:25 -08:00
Cheng Zhao
c874219101 Use the new devtools API 2015-02-03 10:57:25 -08:00
Cheng Zhao
dc01ba5a72 scoped_ptr.PassAs is deprecated 2015-02-03 10:57:25 -08:00
Cheng Zhao
02d632c4f7 Fix change of ShowDesktopNotification API 2015-02-03 10:57:25 -08:00
Cheng Zhao
f8a9348bcf Upgrade libchromiumcontent to 40.0.2214.91 2015-02-03 10:42:52 -08:00
Cheng Zhao
963a3475e8 Merge pull request #91 from dcposch/master
Fix the build on Linux
2015-02-03 10:39:59 -08:00
Max Ogden
d9c358c4d5 add contributing 2015-02-01 17:25:28 -08:00
Max Ogden
beb6cac8a2 0.21.0 2015-02-01 17:24:30 -08:00
Max Ogden
4060ebcc94 0.20.8 2015-02-01 17:24:10 -08:00
Max Ogden
45c0e7075b 0.20.7 2015-02-01 17:23:53 -08:00
Max Ogden
1e2d986430 0.20.6 2015-02-01 17:23:38 -08:00
Max Ogden
049e988137 0.20.5 2015-02-01 17:23:21 -08:00
Max Ogden
2b4e4622c5 0.20.4 2015-02-01 17:23:02 -08:00
Max Ogden
384266ce76 0.20.3 2015-02-01 17:22:44 -08:00
Max Ogden
4b784d03a6 0.20.2 2015-02-01 17:22:16 -08:00
Max Ogden
b9fced9f6b 0.20.1 2015-02-01 17:21:54 -08:00
Max Ogden
85ee9028bb 0.20.0 2015-02-01 17:21:23 -08:00
Max Ogden
5841a68f08 0.19.5 2015-02-01 17:19:38 -08:00
DC
9aa2fd9119 Fix the build on Linux
See https://github.com/atom/atom-shell/issues/1074 for details
2015-01-30 03:54:30 -08:00
Cheng Zhao
6e5505c34f Merge pull request #90 from hokein/fix-c++11-mac
Use libc++ on mac.
2015-01-26 10:41:06 -08:00
Haojian Wu
f922419f03 Use libc++ on mac. 2015-01-26 22:38:01 +08:00
Cheng Zhao
98bf5bf3ed Implement CheckMediaAccessPermission
Part of the fixes for #1017.
2015-01-23 15:13:04 -08:00
Cheng Zhao
4bbe026d48 register DIR_CACHE and DIR_USER_CACHE in path service 2015-01-18 21:00:47 -08:00
Cheng Zhao
dc4ccfcbdc Merge pull request #89 from brightray/user-data-path
Use PathService to set and get DIR_USER_DATA
2015-01-18 18:03:56 -08:00
Cheng Zhao
c9463d815c linux: Override DIR_APP_DATA before loading .js 2015-01-18 17:34:36 -08:00
Cheng Zhao
76e3d56760 Make DIR_APP_DATA available on Linux 2015-01-18 17:19:25 -08:00
Cheng Zhao
5b4e5a7e55 Override DIR_USER_DATA as data path 2015-01-18 16:59:57 -08:00
Cheng Zhao
964e1d6bb6 Override DIR_APP_DATA on Linux 2015-01-18 16:42:32 -08:00
Cheng Zhao
167995119a Use current exe's icon as default window icon.
Fixes atom/atom-shell#863.
2015-01-15 15:30:04 -08:00
Cheng Zhao
0e0079956c Add support for --ignore-certificate-errors 2015-01-06 20:36:20 -08:00
Cheng Zhao
1166a56ceb Add a way to custom http cache backend 2015-01-05 13:29:16 -08:00
Cheng Zhao
ff0afc688d Fix devtools window can not minimize
Closes atom/atom-shell#941.
2015-01-04 22:32:49 -08:00
Cheng Zhao
51ef072de5 Implement GetDevToolsManagerDelegate, fixes atom/atom-shell#969 2015-01-02 15:18:24 -08:00
Cheng Zhao
ad81698651 Merge pull request #84 from brightray/chrome39
Upgrade to Chrome39
2014-12-17 13:15:42 -08:00
Cheng Zhao
dc86ab58a9 Remove DownloadManagerDelegate
Having a partial implemented DownloadManagerDelegate will cause crashes under
certain places.
2014-12-17 13:13:19 -08:00
Cheng Zhao
779c44424f Upgrade libchromiumcontent 2014-12-12 14:48:36 -08:00
Mathias Buus
99eb5987ee 1.2.1 2014-12-12 14:19:54 -08:00
Mathias Buus
cfa1c2e15d Merge pull request #8 from eyeofhell/master
Fixed 64-bit windows install
2014-12-12 14:19:23 -08:00
Grigory
c09c7a2248 Fixed 64-bit windows install
64-bit version is not available under Windows, so install fails with 404 download error. Fixed by patching windows install.
2014-12-12 22:20:20 +03:00
Cheng Zhao
01fde40299 Fix compilation warning on Windows 2014-12-10 13:26:57 -08:00
Cheng Zhao
c25dfcb71d Upgrade libchromiumcontent to 39.0.2171.65 2014-12-09 22:39:45 -08:00
Cheng Zhao
2c81fb4719 Fix compilation warnings due to API changes 2014-12-09 22:39:44 -08:00
Cheng Zhao
289d3b54f3 Add DevToolsManagerDelegateA 2014-12-09 22:39:44 -08:00
Cheng Zhao
8ec5b5ad20 DevToolsClientHost is discarded 2014-12-09 22:39:44 -08:00
Cheng Zhao
f764a449af Merge pull request #85 from paulcbetts/default-framework-name
Fix the default Framework name
2014-12-08 12:30:04 -08:00
Paul Betts
d4be5b6e8e Fix the default framework name to be 'Product Framework.framework', not 'Product.framework' 2014-12-07 21:24:23 -08:00
Cheng Zhao
75eb15fa1f Merge pull request #83 from IgorKlopov/patch-1
Same as https://github.com/atom/atom-shell/pull/867
2014-12-04 11:44:41 -08:00
Mathias Buus
c083acae97 1.2.0 2014-12-01 14:27:46 +01:00
Mathias Buus
6566b9a6a5 bump to 0.19.5 for #5 2014-12-01 14:16:31 +01:00
IgorKlopov
6e1c4d2860 Same as https://github.com/atom/atom-shell/pull/867
Indeed there are two places worth changing. After these two changes i am able to build Atom-Shell using Pyhon installed by default (without adding to paths)
2014-11-28 19:45:25 +03:00
Cheng Zhao
85d633aea3 Merge pull request #81 from rprichard/master
Move Linux pkg-config dependencies from atom-shell to brightray.
2014-11-25 21:23:30 +08:00
Ryan Prichard
f617eb5810 Move Linux pkg-config dependencies from atom-shell to brightray. 2014-11-24 03:27:11 -08:00
Cheng Zhao
06eff5cd8c linux: Add a way to set WM_CLASS for devtools window 2014-11-24 16:03:55 +08:00
Mathias Buus
ff3019ace6 1.1.8 2014-11-22 20:31:37 +01:00
Mathias Buus
6af9dfc915 add shebang. fixes #4 2014-11-22 20:29:44 +01:00
Mathias Buus
cff6b91d46 1.1.7 2014-11-15 10:21:33 +01:00
Mathias Buus
99aa39b854 separate path file 2014-11-15 10:21:07 +01:00
Mathias Buus
8f5714396a 1.1.6 2014-11-15 10:14:52 +01:00
Mathias Buus
0980ba367a arg fwd should also work on windows 2014-11-15 10:13:23 +01:00
Mathias Buus
df42990770 forward arguments 2014-11-15 10:11:09 +01:00
Cheng Zhao
601ee75bcf linux: Use native window frame for devtools
Fixes atom/atom-shell#646.
2014-11-06 19:08:41 +08:00
Cheng Zhao
c4aebe3ba1 No need to write "virtual" when we have "override" 2014-11-06 19:08:41 +08:00
Cheng Zhao
21e0907bfc Merge pull request #78 from frankhale/maximize-devtools-window
Make devtools window maximizable
2014-11-04 10:00:28 +08:00
Frank Hale
513d84cd3e Make devtools window maximizable 2014-11-03 11:10:14 -05:00
Cheng Zhao
dbfa9b5660 mac: Clean delegate before releasing window 2014-11-03 22:12:33 +08:00
Cheng Zhao
b75dc9b08d mac: Close the devtools window before releasing it
Sometime simply releasing it may leave it open for a while.
2014-11-03 22:05:16 +08:00
Cheng Zhao
92244500c6 mac: Clean delegate after closing window 2014-11-03 21:46:59 +08:00
Cheng Zhao
74025ee985 Enable setting devtools to not able to dock 2014-11-03 21:32:11 +08:00
Cheng Zhao
2bbfdea8bb Handle localized string 2014-10-31 19:42:06 +08:00
Cheng Zhao
6b49e23312 Fix leaking WebContents from devtools. 2014-10-27 16:42:54 +08:00
Cheng Zhao
7b39673215 No need for "virtual" when "override" is used 2014-10-27 16:39:54 +08:00
Cheng Zhao
f809fef22d OVERRIDE => override 2014-10-23 11:10:39 +08:00
Mathias Buus
3ac73f7e91 1.1.5 2014-10-21 14:43:02 +09:00
Mathias Buus
d0a0afdd71 set verbose mode 2014-10-21 14:42:55 +09:00
Mathias Buus
572220aa84 bump nugget 2014-10-21 14:41:57 +09:00
Mathias Buus
eb04836d51 add programmatic usage 2014-10-20 16:16:35 +09:00
Mathias Buus
4708eba69e 1.1.4 2014-10-20 14:57:00 +09:00
Mathias Buus
1bbd199e34 add tests 2014-10-20 14:56:57 +09:00
Mathias Buus
74c7a9455b make travis build 2014-10-20 14:52:02 +09:00
Mathias Buus
f23cdf8d18 1.1.3 2014-10-20 14:40:49 +09:00
Mathias Buus
d28d2d9c23 add travis 2014-10-20 14:40:41 +09:00
Mathias Buus
1f3c285ccf fix spaces in path issue 2014-10-20 14:40:06 +09:00
Max Ogden
93f5cc7d79 update readme 2014-10-20 14:39:27 +09:00
Mathias Buus
9cd9d09ef7 1.1.2 2014-10-20 14:16:46 +09:00
Mathias Buus
c074689930 better windows support 2014-10-20 14:16:38 +09:00
Mathias Buus
88f796c574 1.1.1 2014-10-20 14:04:37 +09:00
Mathias Buus
a8f6fc1005 bundle empty run.bat 2014-10-20 14:02:57 +09:00
Mathias Buus
a685e2d545 1.1.0 2014-10-20 14:00:19 +09:00
Mathias Buus
c1dc3e09a8 better cross platform support 2014-10-20 13:58:52 +09:00
Max Ogden
359504809b 1.0.1 2014-10-20 13:40:19 +09:00
Max Ogden
0d2b614506 update readme 2014-10-20 13:36:27 +09:00
Mathias Buus
7e2ce00b21 add missing fields 2014-10-20 13:26:56 +09:00
Mathias Buus
576add15cf 1.0.0 2014-10-20 13:17:49 +09:00
Mathias Buus
2a1e246e2a reset version 2014-10-20 13:17:47 +09:00
Mathias Buus
beb4696b23 first commit 2014-10-20 13:17:38 +09:00
Cheng Zhao
e94795a600 Merge pull request #77 from brightray/chrome38
Upgrade to Chrome 38
2014-10-13 19:36:07 +08:00
Cheng Zhao
6d62b0960e Fix building on Linux 2014-10-13 11:03:37 +08:00
Cheng Zhao
9e12036823 Upgrade to Chrome 38 2014-10-11 19:03:53 +08:00
Cheng Zhao
733931c7ad Fix loading devtools 2014-10-11 19:00:30 +08:00
Cheng Zhao
5bec155c81 Adapt to API changes of Chrome 38 2014-10-11 16:38:27 +08:00
Cheng Zhao
5c455b6ff9 Fix compilation warning on Linux 2014-10-08 01:34:01 +00:00
Cheng Zhao
f7819f369b Don't warn about deprecated-register 2014-10-06 11:11:41 +08:00
Cheng Zhao
ccaf23b338 Merge pull request #76 from brightray/usermedia
Add support for capturing screen in getUserMedia
2014-10-01 15:25:25 +08:00
Cheng Zhao
09678cc485 Clean the callback after executed 2014-10-01 15:18:34 +08:00
Cheng Zhao
ea28f518d3 Add handling of user media requests 2014-10-01 11:07:29 +08:00
Cheng Zhao
469f55ef5a Merge pull request #75 from brightray/devtools-toolbar
Make devtools toolbar more eye candy
2014-09-09 19:32:48 +09:00
Cheng Zhao
30025fe6ef Set toolbar color for devtools. 2014-09-09 18:28:02 +08:00
Cheng Zhao
c58bf15345 mac: Send focus/blur event to devtools web contents. 2014-09-09 17:57:23 +08:00
Cheng Zhao
a6627a7286 Add a method in InspectableWebContentDelegate to set icon for devtools window. 2014-09-09 15:29:35 +08:00
Cheng Zhao
c67ba6de6a Merge pull request #73 from brightray/chrome37
Upgrade to Chrome37
2014-09-09 15:27:36 +08:00
Cheng Zhao
f013a98920 views: Use new devtools resizing strategy. 2014-09-01 20:09:08 +08:00
Cheng Zhao
2a8691d981 mac: Use new devtools resizing strategy. 2014-09-01 19:18:12 +08:00
Cheng Zhao
4107089363 Use new devtools resizing strategy from Chrome 37. 2014-09-01 19:15:07 +08:00
Cheng Zhao
f8c8c415eb Fix cpplint warnings. 2014-08-31 20:05:14 +08:00
Cheng Zhao
6010539914 Don't create empty url request job factory. 2014-08-31 19:57:15 +08:00
Cheng Zhao
dca1c51b32 Fix API changes of Chrome37. 2014-08-31 18:43:01 +08:00
Cheng Zhao
f0e46a4728 Add skia related defines. 2014-08-31 18:28:53 +08:00
Cheng Zhao
bf6722ab4f Upgrade libchromiumcontent to chrome37. 2014-08-31 17:44:07 +08:00
Cheng Zhao
47bc6a29a7 Print console output of devtools. 2014-08-28 12:53:35 +08:00
Cheng Zhao
3872db20d8 Merge pull request #72 from brightray/devtools-zoom
Make zooming work in devtools
2014-08-26 15:10:51 +08:00
Cheng Zhao
20efd82c98 Implement zoom messages for devtools. 2014-08-26 15:07:06 +08:00
Cheng Zhao
69bf54cebe Merge pull request #71 from brightray/request-context-getter-delegate
Add delegate class for URLRequestContextGetter
2014-08-20 15:29:59 +08:00
Cheng Zhao
6e420d5137 Cleanup URLRequestContextGetter.
In brightray line length limit is 100 so we could make code formatted more
tidy.
2014-08-20 15:26:53 +08:00
Cheng Zhao
3fefdcba0d Move creation of URLRequestJobFactoryImpl into default delegate. 2014-08-20 14:48:02 +08:00
Cheng Zhao
c30f11f38c Add Delegate for URLRequestContextGetter. 2014-08-20 14:39:09 +08:00
Cheng Zhao
bbb3702543 Merge pull request #70 from brightray/proxy-server
Add --proxy-server and --no-proxy-server switch
2014-08-20 11:55:08 +08:00
Cheng Zhao
44bfa328f1 Add --proxy-server switch. 2014-08-20 11:49:18 +08:00
Cheng Zhao
d136c44792 Add --no-proxy-server switch. 2014-08-20 11:44:45 +08:00
Cheng Zhao
59398bc24b Merge pull request #69 from brightray/host-rules
Add support for --host-rules and --host-resolver-rules
2014-08-15 12:47:07 +08:00
Cheng Zhao
8c73e6aba4 Implement --host-resolver-rules switch. 2014-08-15 12:42:11 +08:00
Cheng Zhao
052ddd961f Implement --host-rules switch. 2014-08-15 12:30:50 +08:00
Cheng Zhao
8aa422a3e8 Merge pull request #68 from brightray/expose-url_request_context_getter
Add CreateURLRequestJobFactory override for BrowserContext
2014-08-15 12:16:23 +08:00
Cheng Zhao
b06970fda0 Remove unneeded headers and declarations. 2014-08-13 17:39:25 +08:00
Cheng Zhao
da3bafd490 Pass parameter by pointers when creating job factory.
1. The caller needs to modify protocol_handlers.
2. We need to make sure protocol_handlers and interceptors are not touched
   if user doesn't create a job factory.
2014-08-13 17:31:33 +08:00
Cheng Zhao
604361f93d Pass ProtocolHandlerScopedVector by value. 2014-08-13 16:16:01 +08:00
Cheng Zhao
b95b621dfc Add url_request_context_getter getter for BrowserContext. 2014-08-13 16:09:32 +08:00
Cheng Zhao
3f9f778274 Clean handlers when custom job factory is used. 2014-08-13 16:05:22 +08:00
Cheng Zhao
2d03c983e4 Give user a chance to create custom URLRequestJobFactory. 2014-08-13 15:48:16 +08:00
Cheng Zhao
d01aa51686 using content::BrowserThread 2014-08-13 15:11:23 +08:00
Cheng Zhao
f05199d4e4 Don't be too strict on media requests. 2014-08-11 23:22:49 +08:00
Cheng Zhao
37fcbba516 Merge pull request #67 from brightray/devtools-experiments
Enable devtools experiments.
2014-08-11 10:52:04 +08:00
Cheng Zhao
eafa888757 Enable devtools experiments. 2014-08-11 10:42:50 +08:00
Cheng Zhao
760f7ed24f Fix "warning: field 'widget_' is uninitialized when used here". 2014-08-09 09:34:06 +08:00
Cheng Zhao
488f7d168b Merge pull request #66 from brightray/crash-closing-devtools
mac: Close devtools when web contents is destroyed.
2014-08-08 12:51:20 +08:00
Cheng Zhao
4ed7934567 mac: Close devtools when web contents is destroyed.
After the BRYInspectableWebContentsView is added as subview to other
NSWindow owned by users, the view_ would not be dealloc when the web
contents got destroyed, which made the devtools window a ghost.
2014-08-08 12:45:26 +08:00
Cheng Zhao
eab44d5045 Merge pull request #65 from brightray/mac-devtools-focus
Focus on devtools when it is opened on Mac.
2014-08-07 10:51:28 +08:00
Cheng Zhao
f455798c05 Fix cpplint warnings. 2014-08-07 10:50:50 +08:00
Cheng Zhao
e5a57b02d8 Focus on devtools when it is opened on Mac. 2014-08-07 10:48:02 +08:00
Cheng Zhao
a4dd362398 Merge pull request #64 from hokein/master
Add remote debugging support.
2014-07-30 22:44:34 +08:00
Haojian Wu
5a5c92ad2d Add remote debugging support. 2014-07-30 22:19:05 +08:00
Cheng Zhao
fd90f2c360 Merge pull request #63 from brightray/chrome36
Upgrade to Chrome36
2014-07-29 14:36:23 +08:00
Cheng Zhao
7b6fbff40d Implement BrowserClient::GetDefaultDownloadDirectory(). 2014-07-28 17:48:55 +08:00
Cheng Zhao
a866718b49 Initialize ProxyResolverV8 at very early phrase.
In atom-shell we need to ensure node environment is initialized after the
ProxyResolverV8 has been initialized.
2014-07-28 15:28:38 +08:00
Cheng Zhao
a8e879d0c5 mac: Fix blank page after devtools is opened. 2014-07-28 12:40:38 +08:00
Cheng Zhao
8ff2683ae8 Ignore warning 4189 on Windows.
The warning comes from mojo/public/cpp/system/core.h.
2014-07-28 12:12:14 +08:00
Cheng Zhao
f552dc7ba4 mac: Fix the notification presenter of new API. 2014-07-28 11:52:26 +08:00
Cheng Zhao
e52a089ec2 mac: Remove usages of WebContentsView. 2014-07-28 09:34:42 +08:00
Cheng Zhao
edbce1c167 Update libchromiumcontent to fix gfx::display link errors. 2014-07-28 00:21:58 +00:00
Cheng Zhao
d47a94b1fe DispatchBeforeUnload is now a method of WebContents. 2014-07-27 11:27:05 +00:00
Cheng Zhao
8d6a879707 Update libchromiumcontent to include mojo headers. 2014-07-27 11:27:04 +00:00
Cheng Zhao
9821cd1f58 web_contents_view.h has been hidden from user. 2014-07-27 11:27:04 +00:00
Cheng Zhao
a98199511a Implement GetGuestManagerDelegate. 2014-07-27 11:27:04 +00:00
Cheng Zhao
8bf3e084f1 Interface of ProxyResolverV8 has changed. 2014-07-27 11:27:04 +00:00
Cheng Zhao
bb87492897 No more need to init aura::Env. 2014-07-27 11:27:04 +00:00
Cheng Zhao
6dd580526e Refactor notification presenter for new desktop notification interface. 2014-07-27 11:27:04 +00:00
Cheng Zhao
4e63780e4a Prototype of WebContentsDestroyed has changed. 2014-07-27 10:27:19 +00:00
Cheng Zhao
8ad833b333 Merge pull request #62 from brightray/window-frame
Some tweaks on making application looks better
2014-07-27 16:12:27 +08:00
Cheng Zhao
8c38a7547b Upgrade libchromiumcontent to chrome36. 2014-07-27 08:08:27 +00:00
Cheng Zhao
a318b1c5d1 views: Use DesktopNativeWidgetAura for menu view. 2014-07-14 15:56:04 +08:00
Cheng Zhao
46e765f79b Fix crash when closing docked devtools by clicking close button.
We need to send ack for the close message, so we should destroy web contents
after the beforeunload event has fired.
2014-07-13 10:08:28 +08:00
Cheng Zhao
9d4e977c01 win: Fix window frame on detached window. 2014-07-12 21:26:29 +08:00
Cheng Zhao
cf1009ab30 Refactor the AddPakPaths to make it possible to set pak's scale factor.
This is needed when adding high DPI resources.
2014-07-12 21:16:13 +08:00
Cheng Zhao
8d3f615e61 win: Setup font. 2014-07-12 19:46:26 +08:00
Cheng Zhao
0f5b427648 Always shows window frame except for maximized window on Unity. 2014-07-12 11:45:24 +08:00
Cheng Zhao
14235a65a9 Merge pull request #60 from brightray/new-mac-devtools
Rewrite the devtools view for Chromium's new devtools architecture
2014-07-11 23:36:49 +08:00
Cheng Zhao
a080d2c5bb Remove GetNativeView() when compiled with views toolkit. 2014-07-11 23:32:00 +08:00
Cheng Zhao
4b57e1f4f8 Warn about using GetNativeView() in views. 2014-07-11 23:14:20 +08:00
Cheng Zhao
52c521f8b0 Remove duplicate library. 2014-07-11 23:10:57 +08:00
Cheng Zhao
891b7434db Separate the message parsing into a new function. 2014-07-11 23:03:42 +08:00
Cheng Zhao
de08cc1d52 No need for custom dealloc. 2014-07-11 22:22:03 +08:00
Cheng Zhao
e553e11226 Use shortcut way to create scoped_ptr. 2014-07-11 21:55:57 +08:00
Adam Roben
6fd2fc6d3d Merge pull request #61 from tnm/patch-1
Time goes on
2014-07-11 06:09:20 -04:00
Ted Nyman
88e168ada4 Time goes on 2014-07-11 00:39:21 -07:00
Cheng Zhao
24c1544ca5 Upgrade libchromiumcontent to 4b4bcec11a02d1c7981562cf0b8a4670c338992b. 2014-07-09 20:14:49 +08:00
Cheng Zhao
739b352de6 Only init WMState on Linux. 2014-07-09 20:06:31 +08:00
Cheng Zhao
a0ee4a9bf1 Ignore C4819 warning in VS. 2014-07-09 20:04:30 +08:00
Cheng Zhao
aba65c23f6 Give user a chance to override child process and framework path. 2014-07-09 17:07:00 +08:00
Cheng Zhao
d5283b2337 Allow access FileSystem api in devtools.
It is required by the load/save feature of profilers.
2014-07-09 15:38:53 +08:00
Cheng Zhao
1fbeb11371 Send message ack to devtools. 2014-07-09 15:34:10 +08:00
Cheng Zhao
a5bb24284e views: Follow WidgetDelegateView's convention on deleting self.
It could avoid invoking WidgetDelegate's methods when the delegate has been
deleted as a view.
2014-07-09 11:08:17 +08:00
Cheng Zhao
9747ee4411 Fix cpplint warning for obj-c header. 2014-07-09 10:38:00 +08:00
Cheng Zhao
81d31b1d49 Remove Windows's devtools implementation. 2014-07-09 10:37:54 +08:00
Cheng Zhao
0a7b1fdd87 Add new devtools messages in Chrome 35. 2014-07-09 10:26:01 +08:00
Cheng Zhao
7a196933bb views: Don't leak ViewsDelegate. 2014-07-09 10:26:01 +08:00
Cheng Zhao
651ebdde65 views: Remember bounds of devtools window. 2014-07-09 10:26:01 +08:00
Cheng Zhao
4fb4b2d7ba views: Implement undocked devtools. 2014-07-09 10:26:01 +08:00
Cheng Zhao
e574bf6d0f views: Initial docked devtools implementation. 2014-07-09 10:26:01 +08:00
Cheng Zhao
4048d491f0 views: Use chromium's custom frame view. 2014-07-09 10:26:01 +08:00
Cheng Zhao
da5daecb1d Initialize aura environment. 2014-07-09 10:26:01 +08:00
Cheng Zhao
02f52f7e20 Allow override BrowserMainParts::InitProxyResolverV8. 2014-07-09 10:26:01 +08:00
Cheng Zhao
8f3546ed30 Initialize screen for aura. 2014-07-09 10:26:01 +08:00
Cheng Zhao
bad7b95ed7 Add ViewsDelegate, required when using views::Widget on aura. 2014-07-09 10:26:01 +08:00
Cheng Zhao
2682f3db87 Ignore *_views files on mac. 2014-07-09 10:26:01 +08:00
Cheng Zhao
d59c027996 Link with chromiumviews on Linux and Windows.
Without using chromiumviews it would be quite hard to setup a fully working
environment with Aura on Linux now.
2014-07-09 10:26:01 +08:00
Cheng Zhao
48ed03eb39 Initialize Linux UI. 2014-07-09 10:26:01 +08:00
Cheng Zhao
d4e81da19a Make BrowserMainParts's overrides available on all platforms. 2014-07-09 10:26:01 +08:00
Cheng Zhao
bc6237375e Define TOOLKIT_VIEWS for Linux. 2014-07-09 10:26:01 +08:00
Cheng Zhao
7050b7944f Remove devtools view on Linux.
GTK+ has been replaced, we need to rewrite the whole thing.
2014-07-09 10:24:10 +08:00
Cheng Zhao
7f5b84fdea Aura has replaced GTK+ in Linux. 2014-07-09 10:24:10 +08:00
Cheng Zhao
563d6e87ff Fix cpplint warning. 2014-07-09 10:24:10 +08:00
Cheng Zhao
1722532e6d No need to remember dock state.
All devtools states are remembered by devtools itself now.
2014-07-09 10:24:10 +08:00
Cheng Zhao
7a2dc3fc4f mac: Make focus back to browser window when devtools is closed. 2014-07-09 10:24:10 +08:00
Cheng Zhao
2efeaa268f Place DevTools WebContents underneath inspected WebContents.
This commit has this strategy implemented on Mac.

See https://code.google.com/p/chromium/issues/detail?id=318751.
2014-07-09 10:24:10 +08:00
Cheng Zhao
7d130c9697 mac: Revert to simplest undocked-only devtools.
This makes porting Chrome's devtools easier.
2014-07-09 10:24:10 +08:00
Adam Roben
6c825042b5 Merge pull request #58 from brightray/chrome35
Update to Chrome 35
2014-07-07 14:43:14 -04:00
Adam Roben
8f367f6b35 More coding style fixes 2014-07-07 14:42:30 -04:00
Adam Roben
859051669b Make sure our copy of gyp is used
If gyp is installed on the system, gyp_main.py might find it instead of our own
version.
2014-07-07 14:42:02 -04:00
Adam Roben
e86c409e6b Update DevToolsWindow to use views and aura
This is required to make it work in Chrome 35.
2014-07-07 14:27:23 -04:00
Adam Roben
f65246b3cd Fix coding style 2014-07-07 14:27:02 -04:00
Adam Roben
8f2a2e19b5 Really fix unused-variable warnings
I misunderstood how ALLOW_UNUSED is meant to be used. Using a macro like
MSV_WARNING_SUPPRESS() would be nice, but for some reason it isn't working for
me. So now we just manually reference the variable in the code.
2014-07-07 14:21:40 -04:00
Adam Roben
5b2a62627e Silence unused variable warning on Windows 2014-07-07 13:55:10 -04:00
Adam Roben
6bae1f4b44 Set up a native screen on Windows
This is needed to prevent a crash inside aura::WindowTreeHost::InitCompositor.
2014-07-07 13:53:24 -04:00
Adam Roben
a1cf58f811 Link against chromiumviews
This is needed for InspectableWebContentsViewWin.
2014-07-07 13:53:02 -04:00
Adam Roben
8fd78b3593 Pull in generated headers from libchromiumcontent
ui/views/view.h now includes ui/accessibility/ax_enums.h, which is a generated
header.
2014-07-07 12:28:10 -04:00
Adam Roben
ae1995f849 Update libchromiumcontent for better Chrome 35 support
* vendor/libchromiumcontent ded3c0a...331dbed (2):
  > Merge pull request #48 from brightray/chrome35-brightray
  > Merge pull request #49 from brightray/linux-fix
2014-07-07 12:27:38 -04:00
Adam Roben
1269e59a35 Update for move of string conversion functions into base:: 2014-06-27 14:02:44 -04:00
Adam Roben
08c017bd7d Ignore a couple more files on Windows 2014-06-27 13:45:04 -04:00
Adam Roben
307d936d75 Update to use CR_* Windows message macros
See https://codereview.chromium.org/146833020.
2014-06-27 13:40:33 -04:00
Adam Roben
78dd3390f5 Define USE_AURA for Windows
This is true inside of libchromiumcontent, so we need to mirror that here.
2014-06-27 13:40:06 -04:00
Adam Roben
f8b44a1785 Use the MSBuild that comes with Visual Studio
See http://msdn.microsoft.com/en-us/library/hh162058.aspx
2014-06-27 12:06:48 -04:00
Adam Roben
918f38e13f Fix long line 2014-06-27 11:59:01 -04:00
Adam Roben
9602a9aed9 Fix assertion in InitializeICU on launch
We have to tell Chromium about our framework bundle earlier in the launch
sequence so it can find icudtl.dat. See
https://codereview.chromium.org/12470006
2014-06-27 11:54:28 -04:00
Adam Roben
8e7fbd604c Update for move of BuildUserAgentFromProduct in Chrome 35
See https://codereview.chromium.org/186883002
2014-06-27 11:54:28 -04:00
Adam Roben
51ac56e4c4 Update cookie store code for Chrome 35
See https://codereview.chromium.org/110883017
2014-06-27 11:54:28 -04:00
Adam Roben
afc889b883 Update NetworkDelegate for Chrome 35 2014-06-27 11:54:27 -04:00
Adam Roben
3a71958e16 Update MediaStreamDevicesController for Chrome 35
See https://codereview.chromium.org/180633008
2014-06-27 11:54:27 -04:00
Adam Roben
e003cc9a0a Update MediaCaptureDevicesDispatcher for Chrome 35
See https://codereview.chromium.org/183743021
2014-06-27 11:54:27 -04:00
Adam Roben
5b788476a5 Update for move of string symbols into base:: 2014-06-27 11:54:27 -04:00
Adam Roben
5b93dc74e6 Update BrowserContext for Chrome 35 2014-06-27 11:54:27 -04:00
Adam Roben
42b86242ea Add support for Chrome 35's "protocol interceptors"
See https://codereview.chromium.org/187223003
2014-06-27 11:54:27 -04:00
Adam Roben
500861d63d Update prefs code for Chrome 35
See https://codereview.chromium.org/64193003
2014-06-27 11:54:27 -04:00
Adam Roben
202f7bcd41 Fix include paths for WebIconURL.h
It contains #include "public/platform/WebSize.h", so we have to set up the
include path to make that work.
2014-06-27 11:54:27 -04:00
Adam Roben
ad0a5bdf80 Include Chrome's Skia config, not the default one
This ensures we get Chrome's Skia settings.
2014-06-27 11:54:27 -04:00
Adam Roben
55cfef4432 Update libchromiumcontent to Chrome 35
* vendor/libchromiumcontent 656be94...ded3c0a (1):
  > Merge pull request #47 from brightray/chrome35
2014-06-27 11:54:15 -04:00
Adam Roben
1467b18f25 Merge pull request #57 from padopolis/master
remember position and size of developer tools window
2014-06-23 16:26:03 -04:00
Rus Maxham
cca71fce9f less removal of whitespace 2014-06-23 13:16:01 -07:00
Rus Maxham
3acba90225 brightray namespaced frameAutosaveName 2014-06-23 13:12:20 -07:00
Rus Maxham
92a4b25e47 - remember position and size of developer tools window 2014-06-23 12:48:52 -07:00
Cheng Zhao
8dcaccf561 Merge pull request #56 from brightray/detached-devtools-quirks
Closing detached window should mark devtools as not visible
2014-06-17 18:31:54 +08:00
Cheng Zhao
e71927c5da Closing devtools window means it is not visible. 2014-06-17 16:51:46 +08:00
Cheng Zhao
8180075944 Merge pull request #55 from brightray/windows-attached-devtools
Implement attached devtools on Windows
2014-06-11 09:01:50 +08:00
Cheng Zhao
1b274a1fd6 Add comments on the usage of attached devtools. 2014-06-10 12:44:30 +08:00
Cheng Zhao
9a70c9bb44 Enable undocked devtools. 2014-06-10 12:35:23 +08:00
Cheng Zhao
d70d24c360 Implement setting dock side. 2014-06-10 12:03:20 +08:00
Cheng Zhao
1943d88bdc Handle focus correctly. 2014-06-10 11:37:07 +08:00
Cheng Zhao
bd0f9df96c Put devtools in split view. 2014-06-10 10:29:39 +08:00
Cheng Zhao
566022cb66 ContainerView should manage itself. 2014-06-10 10:03:35 +08:00
Cheng Zhao
b0374b6a1d Use views::View to represent web view. 2014-06-10 09:58:28 +08:00
Cheng Zhao
4e69bd1733 Add 'third_party/skia/include/core' to include_dirs. 2014-06-10 09:10:26 +08:00
Cheng Zhao
d5d923439e Update to latest libchromiumcontent. 2014-06-04 21:55:50 +08:00
Cheng Zhao
55cbf8aaf2 Merge pull request #54 from brightray/latest-gyp
Update to latest gyp.
2014-05-18 19:55:33 +08:00
Cheng Zhao
e1988d3b8e Update to latest gyp.
This fixes warnings like 'xxx.o has no symbols'.
2014-05-18 19:48:31 +08:00
Cheng Zhao
0a75ddb49f Merge pull request #52 from brightray/expose-message-dispatcher
Add InspectableWebContentsDelegate
2014-05-15 17:24:53 +08:00
Cheng Zhao
5e0dd5c687 Remove from notification center when web contents is destroyed. 2014-04-23 11:20:12 +08:00
Cheng Zhao
54060ed53d Enable delegate to override SaveToFile and AppendToFile. 2014-04-05 09:21:47 +08:00
Cheng Zhao
d2ff5ad798 Provide a way to close devtools completely. 2014-03-20 09:26:21 +08:00
Cheng Zhao
5768ff6981 Enable delegate to change the dock side. 2014-03-04 19:47:33 +08:00
Cheng Zhao
e3aaaf2643 Add InspectableWebContentsDelegate. 2014-03-04 16:26:50 +08:00
Adam Roben
967efaad58 Merge pull request #51 from brightray/osx-fd-limit
Increase the open file limit on OS X to 1024
2014-01-31 07:44:06 -08:00
Adam Roben
f7fb6371c2 Increase the open file limit on OS X to 1024
The default (256) is too low for pages that load a lot of resources all at
once. See https://codereview.chromium.org/125151 and bugs like
https://code.google.com/p/chromium/issues/detail?id=14137 and
https://code.google.com/p/chromium/issues/detail?id=151039. The new limit
matches what Chrome itself uses.
2014-01-31 10:43:38 -05:00
Adam Roben
8b80473ef9 Merge pull request #50 from brightray/debug
Fix assertions when building against Debug libchromiumcontent
2014-01-30 06:06:16 -08:00
Adam Roben
b1eed728b5 Merge pull request #49 from brightray/commit-argument
Enable passing --commit to download script
2014-01-30 06:05:31 -08:00
Adam Roben
e8de51a8dd Destroy ResourceContext on the IO thread
This matches content_shell and fixes a debug assertion (and maybe even a
crash).
2014-01-30 09:03:00 -05:00
Adam Roben
c4935acbb1 Fix debug assertions about transport_security_state
This code was added to content_shell in
https://chromiumcodereview.appspot.com/16501002 and we never picked it up.
2014-01-30 09:01:23 -05:00
Cheng Zhao
a8f34982a0 Enable passing --commit to download script. 2014-01-30 22:01:22 +08:00
Cheng Zhao
5cf32f1f9c Update libchromiumcontent for --commit argument of download script. 2014-01-30 21:58:55 +08:00
Adam Roben
dcaaeacfe3 Fix assertions in Debug builds about using NetworkDelegate on the wrong thread
We have to create it on the IO thread.
2014-01-30 08:36:54 -05:00
Cheng Zhao
dc8c14f61f Merge pull request #48 from brightray/disable-linux-clang
Add flag to disable clang under Linux.
2014-01-02 06:18:14 -08:00
Cheng Zhao
167b2f5881 '-std=gnu++11' is also needed by g++. 2014-01-01 02:29:27 +00:00
Cheng Zhao
13f816b4bb Add flag to disable clang under Linux. 2013-12-31 11:11:46 +00:00
Patrick Reynolds
37679214d1 Merge pull request #46 from brightray/linux-notifications
Linux notifications
2013-12-19 14:01:47 -08:00
Patrick Reynolds
967e8170f5 brevity and style 2013-12-19 16:01:01 -06:00
Adam Roben
076183c181 Merge pull request #47 from brightray/longer-lines
allow 100-character lines
2013-12-19 11:48:14 -08:00
Patrick Reynolds
8d2b392f07 undo some ugly line wrapping 2013-12-19 13:39:37 -06:00
Patrick Reynolds
df190caefd Merge branch 'longer-lines' into linux-notifications 2013-12-19 13:20:55 -06:00
Patrick Reynolds
46ec999b13 allow 100-character lines 2013-12-19 13:19:12 -06:00
Patrick Reynolds
4e31c0011d keep cpplint happy, mostly about line length 2013-12-19 13:06:05 -06:00
Adam Roben
de07839bb6 Update to latest libchromiumcontent
* vendor/libchromiumcontent ee2e80a...2cd1a60 (1):
  > Merge pull request #35 from brightray/content-test-suite
2013-12-19 09:08:21 -05:00
Patrick Reynolds
ef6d5dbf4e authorship 2013-12-18 23:20:00 -06:00
Patrick Reynolds
c6424672f5 comments and cleanup 2013-12-18 23:14:36 -06:00
Patrick Reynolds
04d5ed25d8 call PostClose when notification closed by click 2013-12-18 23:14:36 -06:00
Patrick Reynolds
272b3c30d3 free notifications properly 2013-12-18 23:14:36 -06:00
Patrick Reynolds
a82e9f30ed use libnotify to pop up notifications on Linux 2013-12-18 23:14:36 -06:00
Adam Roben
8aba54e71a Merge pull request #45 from brightray/fix-proxy-crash
Fix a crash introduced by #41
2013-12-15 05:54:23 -08:00
Cheng Zhao
b1dc139e4b Set the proxy service a bit earlier to avoid crash. 2013-12-15 15:00:52 +08:00
Adam Roben
dc3f2050c0 Merge pull request #44 from brightray/fix-devtools-flash
Fix flash of page while resizing devtools NSSplitView divider.
2013-12-12 07:36:16 -08:00
Cheng Zhao
e0b8935fda Remove the unused dividerHidden property of GraySplitView. 2013-12-12 23:33:50 +08:00
Cheng Zhao
39f5f52423 Fix flash of page while resizing devtools NSSplitView divider. 2013-12-12 18:46:46 +08:00
Adam Roben
e314e52393 Merge pull request #43 from brightray/arches-key
The 'ARCHS' key should be an array.
2013-12-11 13:28:11 -08:00
Cheng Zhao
1a09de0956 The 'ARCHS' key should be an array.
The ninja generator only supports setting the 'ARCHS' key as array, and
ninja does not support '$(ARCHS_STANDARD_64_BIT)' too. The 'x86_64' is
accepted by both ninja and xcodebuild, and is also used by node.
2013-12-10 23:54:46 -08:00
Adam Roben
64b487a8d5 Merge pull request #42 from brightray/devtools-is-opened
Add API to get whether the devtools is opened.
2013-12-10 18:39:47 -08:00
Cheng Zhao
b080e5c52d Rename IsDevToolsOpened to IsDevToolsViewShowing. 2013-12-10 18:38:35 -08:00
Cheng Zhao
7a5415a3b7 Fix IsDevToolsOpened when devtools is attched to pane on Linux. 2013-12-09 13:27:22 +00:00
Cheng Zhao
a8c5911094 Implement IsDevToolsOpened for Linux. 2013-12-09 09:03:41 +00:00
Cheng Zhao
de7892cd6e Add API to get whether the devtools is opened. 2013-12-09 09:03:29 +00:00
Adam Roben
afc627aae1 Merge pull request #41 from brightray/v8-proxy-resolver
Use "ProxyResolverV8" instead of "SystemProxyResolver" as proxy service
2013-12-06 10:03:02 -08:00
Cheng Zhao
0a1f756ca6 Use "ProxyResolverV8" instead of "SystemProxyResolver" as proxy service.
SystemProxyResolver is untested and could cause random crashes.
2013-12-05 02:56:28 -08:00
Cheng Zhao
cf08bb098f Update libchromiumcontent for net_with_v8. 2013-12-05 02:50:56 -08:00
Adam Roben
873f52ffe2 Merge pull request #40 from brightray/default-browser-client
Create a BrowserClient by default
2013-12-03 14:14:18 -08:00
Adam Roben
1c56afe9d8 Create a BrowserClient by default
This way applications that don't need to customize the BrowserClient get one
for free.
2013-12-03 17:13:40 -05:00
Adam Roben
837bd784aa Merge pull request #39 from brightray/mac-x64
Build 64-bit on OS X
2013-12-02 13:42:11 -08:00
Adam Roben
c9c218edc6 Update to 64-bit libchromiumcontent
* vendor/libchromiumcontent 4252769...5cce386 (1):
  > Merge pull request #31 from brightray/mac-x64
2013-12-02 16:37:06 -05:00
Adam Roben
56237a5875 Merge pull request #38 from brightray/chrome-31
Update to Chrome 31
2013-12-02 10:02:21 -08:00
Adam Roben
7e6f5aa734 Update for ui -> gfx moves in Chrome 31
See https://codereview.chromium.org/23769011.
2013-12-02 13:00:39 -05:00
Adam Roben
9c5b81bf7a Stop setting helper process names on OS X
See https://codereview.chromium.org/45253002.
2013-12-02 13:00:39 -05:00
Adam Roben
ab8cb1e3a5 Update for changes to content::CreatePersistentCookieStore in Chrome 31
I just copied how Chrome initializes this object.
2013-12-02 13:00:39 -05:00
Adam Roben
cfeddb5bcb Update for changes to net::FileProtocolHandler in Chrome 31
I just copied the way that Chrome initializes this object.
2013-12-02 13:00:39 -05:00
Adam Roben
265076f19a Update for changes to devtools in Chrome 31
browser/devtools_embedder_message_dispatcher.* came from
chrome/browser/devtools, and were modified just enough to compile within
brightray.
2013-12-02 13:00:39 -05:00
Adam Roben
1da8c37098 Update libchromiumcontent to Chrome 31
* vendor/libchromiumcontent f484ce1...4252769 (1):
  > Merge pull request #32 from brightray/chrome-31
2013-12-02 13:00:15 -05:00
Patrick Reynolds
a98d5194d9 Merge pull request #37 from brightray/virtual-initialize
make BrowserContext::Initialize virtual
2013-11-27 13:57:08 -08:00
Patrick Reynolds
711aa5282b make BrowserContext::Initialize virtual 2013-11-27 15:55:06 -06:00
Patrick Reynolds
1f2c2d416c Merge pull request #36 from brightray/linux
include library dependencies explicitly
2013-11-26 08:54:25 -08:00
Patrick Reynolds
e1b6718c39 include library dependencies explicitly
This is necessary for more recent versions of Clang, e.g., on Debian
unstable.
2013-11-26 10:51:27 -06:00
Adam Roben
c2854a4302 Merge pull request #35 from brightray/fix-black-devtools
Stop the devtools from turning black when the window gets big enough
2013-11-25 13:30:02 -08:00
Adam Roben
89795c9b14 Stop the devtools from turning black when the window gets big enough
We need to use UnderlayOpenGLHostingWindow to show the devtools to ensure they
remain visible even when they get large.
2013-11-25 16:28:57 -05:00
Adam Roben
963e0f1c76 Merge pull request #34 from brightray/cpplint
Fix all cpplint errors
2013-11-18 05:31:52 -08:00
Patrick Reynolds
470daa571c back to reinterpret_cast 2013-11-17 22:27:23 -06:00
Patrick Reynolds
9f9aeac59f safer casts, clearer if-else chain 2013-11-17 22:25:24 -06:00
Adam Roben
c9e948dc58 Make ignoring files work on Windows 2013-11-17 19:22:53 -05:00
Adam Roben
3d8b636f9e Fix remaining cpplint errors in inspectable_web_contents_view_linux.cc 2013-11-17 19:21:50 -05:00
Adam Roben
07de5ef462 Silence warnings about ui::WindowImpl's BOOL& parameters 2013-11-17 19:19:58 -05:00
Adam Roben
cdbfff2fcf Fix backwards typedef 2013-11-17 19:15:26 -05:00
Adam Roben
654f415a49 Fix cpplint errors in common/mac/foundation_util.h 2013-11-17 19:14:24 -05:00
Adam Roben
7b47a6152d Fix cpplint errors in media_capture_devices_dispatcher.cc 2013-11-17 19:14:08 -05:00
Adam Roben
d0566e6e05 Fix cpplint errors in application_info_win.cc 2013-11-17 19:13:44 -05:00
Adam Roben
4938fc62ad Fix most cpplint errors in inspectable_web_contents_view_linux.cc 2013-11-17 19:12:50 -05:00
Adam Roben
1595940723 Fix cpplint errors in devtools_window.cc 2013-11-17 19:05:21 -05:00
Adam Roben
0271ff1964 Fix cpplint errors in inspectable_web_contents_view_win.h 2013-11-17 19:03:41 -05:00
Adam Roben
ae504c319e Fix cpplint errors in content_client.h 2013-11-17 19:03:09 -05:00
Adam Roben
073b1c164b Fix cpplint errors in inspectable_web_contents_view_win.cc 2013-11-17 19:02:49 -05:00
Adam Roben
779dfd2baf Fix most cpplint errors in devtools_window.h
It's still complaining about the non-const reference in BOOL&.
2013-11-17 19:01:36 -05:00
Adam Roben
51a2779fdb Fix cpplint errors in main_delegate.cc 2013-11-17 18:58:25 -05:00
Adam Roben
32f4862e56 Fix cpplint errors in main_delegate.h 2013-11-17 18:57:54 -05:00
Adam Roben
2c1e1b039d Fix cpplint errors in main_application_bundle.h 2013-11-17 18:57:25 -05:00
Adam Roben
9306fecea8 Fix cpplint errors in content_client.cc 2013-11-17 18:56:44 -05:00
Adam Roben
6aec3006e6 Fix whitespace/comment errors 2013-11-17 18:56:07 -05:00
Adam Roben
84ae61744d Ignore cpplint errors in bry_inspectable_web_contents_view_private.h
It's not a C++ header.
2013-11-17 18:55:06 -05:00
Adam Roben
236efa8be5 Fix cpplint errors in bry_application.h 2013-11-17 18:53:34 -05:00
Adam Roben
e5e3dc6a78 Ignore .mm files for cpplint
It doesn't process them anyway.
2013-11-17 18:53:16 -05:00
Adam Roben
23bcf4099f Fix cpplint errors in inspectable_web_contents_view_linux.h 2013-11-17 18:52:02 -05:00
Adam Roben
9f82d58761 Fix cpplint errors in web_ui_controller_factory.h 2013-11-17 18:46:23 -05:00
Adam Roben
7a362b7413 Fix cpplint errors in url_request_context_getter.h 2013-11-17 18:43:46 -05:00
Adam Roben
cf4d966958 Fix cpplint errors in notification_presenter_mac.h 2013-11-17 18:43:20 -05:00
Adam Roben
d4ad45334f Turn off build/include_what_you_use
Chromium doesn't seem to use this rule.
2013-11-17 18:42:15 -05:00
Adam Roben
ec59df1a51 Fix cpplint errors in network_delegate.h 2013-11-17 18:36:34 -05:00
Adam Roben
cb684c5c6e Fix cpplint errors in inspectable_web_contents_view_mac.h 2013-11-17 18:24:36 -05:00
Adam Roben
ea689b31a4 Fix cpplint errors in inspectable_web_contents_view.h 2013-11-17 18:23:13 -05:00
Adam Roben
877a1f0371 Fix cpplint errors in inspectable_web_contents_impl.h 2013-11-17 18:22:48 -05:00
Adam Roben
0805b414e9 Fix cpplint errors in inspectable_web_contents.h 2013-11-17 18:20:54 -05:00
Adam Roben
9ac1a539ee Fix all remaining readability/namespace errors 2013-11-17 18:20:17 -05:00
Adam Roben
fd54c435a9 Fix cpplint errors in default_web_contents_delegate.h 2013-11-17 18:18:22 -05:00
Adam Roben
7bada78519 Fix cpplint errors in browser_main_parts.h 2013-11-17 18:17:23 -05:00
Adam Roben
a6ecd039e2 Fix typos 2013-11-17 18:16:41 -05:00
Adam Roben
24fbf6e2ef Build before running cpplint
Let's make sure things build before we check coding style. If it doesn't
even build, who cares about the style?
2013-11-17 18:15:45 -05:00
Adam Roben
991133b8e9 Fix cpplint errors in browser_context.h 2013-11-17 18:15:10 -05:00
Adam Roben
74661c342f Fix cpplint errors in browser_client.h 2013-11-17 18:13:10 -05:00
Adam Roben
80dab9d862 Fix cpplint errors in web_ui_controller_factory.cc 2013-11-17 18:12:05 -05:00
Adam Roben
57ae05b636 Fix cpplint errors in url_request_context_getter.cc 2013-11-17 18:11:47 -05:00
Adam Roben
843b21a3e8 Fix cpplint errors in network_delegate.cc 2013-11-17 18:09:21 -05:00
Adam Roben
784e270a4f Fix cpplint errors in inspectable_web_contents_impl.cc 2013-11-17 18:08:34 -05:00
Adam Roben
c97a22ef8d Fix cpplint errors in inspectable_web_contents.cc 2013-11-17 17:54:14 -05:00
Adam Roben
ef5992b0eb Fix cpplint errors in devtools_ui.cc 2013-11-17 17:53:38 -05:00
Adam Roben
dfb8a809ee Fix cpplint errors in default_web_contents_delegate.cc 2013-11-17 17:52:24 -05:00
Adam Roben
0c13adb134 Don't require all files to have a copyright/license header
The LICENSE file at the root of the repository is enough.
2013-11-17 17:52:05 -05:00
Adam Roben
a35a57c3c4 Fix cpplint errors in browser_main_parts.cc 2013-11-17 17:51:19 -05:00
Adam Roben
cc4aeb995b Fix cpplint errors in browser_context.cc 2013-11-17 17:42:56 -05:00
Adam Roben
101a7bfa21 Fix cpplint errors in browser_client.cc 2013-11-17 17:39:01 -05:00
Adam Roben
43f3d0acdc Run cpplint as part of our CI build
This will help ensure a consistent C++ coding style.
2013-11-17 17:38:09 -05:00
Adam Roben
904cb1a564 Merge pull request #33 from brightray/linux
builds on Linux
2013-11-17 14:03:56 -08:00
Patrick Reynolds
ceb8113ca6 current libchromiumcontent 2013-11-16 01:14:51 -06:00
Patrick Reynolds
5ae0b3094c current libchromiumcontent 2013-11-16 00:49:53 -06:00
Patrick Reynolds
c0543d9b46 current libchromiumcontent 2013-11-15 23:04:02 -06:00
Patrick Reynolds
a18842de1a give member variables trailing _
- also, reorder member variables to come after methods
2013-11-15 22:22:25 -06:00
Patrick Reynolds
7e1a4003df don't force all applications to link libencryptor.a 2013-11-15 22:18:59 -06:00
Patrick Reynolds
282639a79a implement dev tools 2013-11-15 14:23:52 -06:00
Patrick Reynolds
85a86a9621 current libchromiumcontent 2013-11-13 23:50:23 -06:00
Patrick Reynolds
3b3d6b2938 current libchromiumcontent 2013-11-13 23:48:06 -06:00
Patrick Reynolds
cbb00f77c2 current libchromiumcontent 2013-11-13 23:22:50 -06:00
Patrick Reynolds
616cb8212d current libchromiumcontent 2013-11-13 22:17:02 -06:00
Patrick Reynolds
236e993ac5 use linux branch of libchromiumcontent 2013-11-13 01:45:08 -06:00
Patrick Reynolds
e6cdeead3e link libencryptor 2013-11-13 00:42:14 -06:00
Patrick Reynolds
5e7359bc5a don't build Linux sources on other platforms 2013-11-12 11:51:25 -06:00
Patrick Reynolds
80cdf77a77 use merged master of libchromiumcontent 2013-11-12 11:43:29 -06:00
Patrick Reynolds
f6784a1801 move gtk dependency to brightray 2013-11-12 10:19:42 -06:00
Patrick Reynolds
72b41ed31b pick up chrome_sandbox changes 2013-11-11 18:15:22 -06:00
Patrick Reynolds
7ebb19b9b1 use linux branch of libchromiumcontent 2013-11-11 16:34:27 -06:00
Patrick Reynolds
90db457258 move -fno-rtti into brightray.gypi target_defaults 2013-11-09 01:03:46 -06:00
Patrick Reynolds
6053911bd2 Merge branch 'master' into linux 2013-11-08 20:53:43 -06:00
Patrick Reynolds
c6ce51863a implement GetNativeView 2013-11-07 23:42:15 -06:00
Patrick Reynolds
90e619a6d9 fix typo 2013-11-07 17:25:51 -06:00
Patrick Reynolds
04b9bd21f8 WIP: builds (but displys nothing) on Linux 2013-11-07 14:02:35 -06:00
Adam Roben
bd02203151 Merge pull request #32 from brightray/appcache-hang
Fix a hang on quit when application cache is used
2013-10-23 09:17:39 -07:00
Adam Roben
ae1e26bddd Fix a hang on quit when application cache is used
If you navigated to a page that used the HTML Application Cache, you'd see a
hang on quit with a backtrace like so:

+     2825 content::ContentMain(int, char const**, content::ContentMainDelegate*)  (in libchromiumcontent.dylib) + 64  [0xb33190]
+       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x96b261  [0xb34261]
+         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x96a409  [0xb33409]
+           2825 content::BrowserMain(content::MainFunctionParams const&)  (in libchromiumcontent.dylib) + 200  [0x14290b8]
+             2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x1265426  [0x142e426]
+               2825 content::BrowserMainLoop::~BrowserMainLoop()  (in libchromiumcontent.dylib) + 17  [0x14294a1]
+                 2825 content::BrowserMainLoop::~BrowserMainLoop()  (in libchromiumcontent.dylib) + 357  [0x1429625]
+                     2825 brightray::BrowserMainParts::~BrowserMainParts()  (in ) + 70  [0x68df6]
+                       2825 scoped_ptr<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr()  (in ) + 23  [0x68ff7]
+                         2825 scoped_ptr<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr()  (in ) + 23  [0x69297]
+                           2825 base::internal::scoped_ptr_impl<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr_impl()  (in ) + 23  [0x692b7]
+                             2825 base::internal::scoped_ptr_impl<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr_impl()  (in ) + 50  [0x692f2]
+                               2825 base::DefaultDeleter<brightray::BrowserContext>::operator()(brightray::BrowserContext*) const  (in ) + 46  [0x6916e]
+                                   2825 brightray::BrowserContext::~BrowserContext()  (in ) + 127  [0x672bf]
+                                     2825 base::SupportsUserData::~SupportsUserData()  (in libchromiumcontent.dylib) + 57  [0xccc019]
+                                       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0xb03230  [0xccc230]
+                                         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0xb0324e  [0xccc24e]
+                                           2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x14c4239  [0x168d239]
+                                             2825 content::StoragePartitionImpl::~StoragePartitionImpl()  (in libchromiumcontent.dylib) + 17  [0x16899a1]
+                                               2825 content::StoragePartitionImpl::~StoragePartitionImpl()  (in libchromiumcontent.dylib) + 491  [0x1689bab]
+                                                 2825 content::ChromeAppCacheService::DeleteOnCorrectThread() const  (in libchromiumcontent.dylib) + 66  [0x1424f32]
+                                                   2825 content::ChromeAppCacheService::~ChromeAppCacheService()  (in libchromiumcontent.dylib) + 50  [0x1424e32]
+                                                     2825 appcache::AppCacheService::~AppCacheService()  (in libchromiumcontent.dylib) + 301  [0x2b8ad2d]
+                                                       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x29c9b81  [0x2b92b81]
+                                                         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x29c9da4  [0x2b92da4]
+                                                           2825 appcache::AppCacheDiskCache::~AppCacheDiskCache()  (in libchromiumcontent.dylib) + 17  [0x2b78c71]
+                                                             2825 appcache::AppCacheDiskCache::~AppCacheDiskCache()  (in libchromiumcontent.dylib) + 135  [0x2b78d17]
+                                                               2825 disk_cache::BackendImpl::~BackendImpl()  (in libchromiumcontent.dylib) + 17  [0x25979a1]
+                                                                 2825 disk_cache::BackendImpl::~BackendImpl()  (in libchromiumcontent.dylib) + 305  [0x2597af1]
+                                                                   2825 base::WaitableEvent::Wait()  (in libchromiumcontent.dylib) + 50  [0xccd942]
+                                                                     2825 base::WaitableEvent::TimedWait(base::TimeDelta const&)  (in libchromiumcontent.dylib) + 347  [0xccdb3b]
+                                                                       2825 base::ConditionVariable::Wait()  (in libchromiumcontent.dylib) + 35  [0xcccbb3]
+                                                                         2825 pthread_cond_wait$UNIX2003  (in libsystem_c.dylib) + 71  [0x964d3089]
+                                                                           2825 _pthread_cond_wait  (in libsystem_c.dylib) + 833  [0x9644d280]
+                                                                             2825 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x94b8e8e2]

BackendImpl was waiting on BrowserThread::CACHE, but that thread had already
been stopped. The solution is to destroy the BrowserContext before threads have
been stopped. We now do this in BrowserMainParts::PostMainMessageLoopRun, which
matches content_shell.
2013-10-23 12:16:25 -04:00
Adam Roben
8ff43b034c Merge pull request #13 from brightray/devtools-scheme
Use "chrome-devtools://" scheme for devtools
2013-10-11 07:29:27 -07:00
Cheng Zhao
f623ddf7fc Cleanup unused headers, data members and functions. 2013-10-11 07:17:53 -04:00
Cheng Zhao
2cd6dd791e Setup devtools in the correct phase.
* RegisterDevToolsClientHostFor should be called right after the agent_host and
  the frontend host are created.
* SetupDevToolsFrontendClient should be called before the devtools window is
  going to start navigation.
2013-10-11 07:17:03 -04:00
Cheng Zhao
9d29c8eb7c Use the "chrome-devtools://" scheme to open devtools. 2013-10-10 16:56:52 -04:00
Adam Roben
c949fd931c Merge pull request #31 from brightray/less-flashing
Fix flashing in devtools views
2013-10-10 13:29:14 -07:00
Adam Roben
6b9e61c65d Fix flashing in WebContents we create
If the embedding app creates them it's up to them to fix this.
2013-10-10 16:24:22 -04:00
Adam Roben
8ae459e9fa Work around http://crbug.com/279472 for devtools views 2013-10-10 14:17:30 -04:00
Adam Roben
c0e744db78 Update libchromiumcontent to use Xcode's clang
* vendor/libchromiumcontent 759a8d0...21d99bd (1):
  > Merge pull request #28 from brightray/xcode-clang
2013-10-09 12:58:36 -04:00
Adam Roben
d06ac20947 Update to latest libchromiumcontent
* vendor/libchromiumcontent bfb2d7b...759a8d0 (1):
  > Remove googleurl/ from the distribution
2013-10-08 13:20:43 -04:00
Adam Roben
1f1f93465b Make MediaStreamDevicesController::Accept/Deny public again
Clients rely on this.
2013-10-07 17:04:40 -04:00
Adam Roben
b3b4ab2c70 Update ICU header include path
I should have done this as part of #30.
2013-10-07 17:02:35 -04:00
Adam Roben
4e5f6a10f9 Merge pull request #30 from brightray/chrome-30
Update to Chrome 30
2013-10-07 13:36:23 -07:00
Adam Roben
9165424348 Update ResourceContext for Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=215991.
2013-10-07 16:31:58 -04:00
Adam Roben
4d6ee2c416 URLRequestContextStorage::set_http_server_properties takes a scoped_ptr in Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=212466.
2013-10-07 16:31:58 -04:00
Adam Roben
d1623535e8 Update browser/media/* for Chrome 30
I took the latest versions of these files from chrome/browser/media,
then pared them down to remove all Chrome-isms and uses of UI to prompt
the user about allowing access to devices.
2013-10-07 16:31:58 -04:00
Adam Roben
aa4f991659 Add DevToolsFrontendHostDelegate indexing methods from Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=215622.
2013-10-07 16:31:57 -04:00
Adam Roben
4d59060657 BrowserContext::RequestMIDISysExPermission was added in Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=211437.
2013-10-07 16:31:57 -04:00
Adam Roben
c1c4344879 BrowserContext::GetSpeechRecognitionPreferences is gone in Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=210616.
2013-10-07 16:31:57 -04:00
Adam Roben
eb446fc707 content::BrowserContext::GetPath is a const member function in Chrome 30
See http://src.chromium.org/viewvc/chrome?view=revision&revision=211931.
2013-10-07 16:31:57 -04:00
Adam Roben
64a5ce6e15 Update for move of scoped_nsobject header and namespace
See http://src.chromium.org/viewvc/chrome?view=revision&revision=207616.
2013-10-07 16:31:57 -04:00
Adam Roben
1e99ec9aed Update #includes for moves of string-related headers
See http://src.chromium.org/viewvc/chrome?view=revision&revision=205050.
2013-10-07 16:31:57 -04:00
Adam Roben
0575987343 Update to Chrome 30
* vendor/libchromiumcontent a56056d...bfb2d7b (1):
  > Merge pull request #27 from brightray/chrome-30
2013-10-07 16:31:42 -04:00
Adam Roben
8c7de2259b Update to latest libchromiumcontent
* vendor/libchromiumcontent ccec3a4...a56056d (1):
  > Stop exporting GURL symbols from test_support_chromiumcontent
2013-08-23 17:30:53 -04:00
Adam Roben
345bc3fc6b Merge pull request #29 from brightray/chrome-29
Update to Chrome 29
2013-08-23 14:03:13 -07:00
Adam Roben
b24d7d7c76 Update utf_string_conversions.h path in another place 2013-08-23 17:01:18 -04:00
Adam Roben
2c030a419d Update for webkit header moves 2013-08-23 16:56:53 -04:00
Adam Roben
7d3f371b51 Update for move of MessageLoop into base namespace 2013-08-23 16:56:41 -04:00
Adam Roben
4946ec9081 Update for utf_string_conversions.h move in Chrome 29 2013-08-23 16:56:30 -04:00
Adam Roben
7dd1b8195f Update libchromiumcontent to Chrome 29
* vendor/libchromiumcontent 5ffcb39...ccec3a4 (2):
  > Merge pull request #25 from brightray/29.0.1547.57
  > Switch back to using s3put on Linux
2013-08-23 16:56:05 -04:00
Adam Roben
79a1731921 Merge pull request #28 from brightray/vendor-gyp
Include gyp as a submodule
2013-08-23 04:52:20 -07:00
Adam Roben
f17f9d932c Include gyp as a submodule
This makes it so you don't have to install gyp on your system before you
can build.
2013-08-23 07:48:37 -04:00
Adam Roben
710d0fc6c5 Make overriding BrowserContext::RegisterPrefs actually work
We were calling it before derived classes' vtables were set up. Now we wait to
call it until the BrowserContext is fully constructed.
2013-08-15 16:07:14 -04:00
Adam Roben
1161da6527 Mention that Clang 3.0 is needed on Linux 2013-08-14 08:17:52 -04:00
Adam Roben
3df85640a6 Merge pull request #26 from brightray/linux
Get a basic Linux build working
2013-08-14 05:16:15 -07:00
Adam Roben
9638e3956f Don't use base::DIR_APP_DATA on Linux
It doesn't exist. Instead, match content_shell by putting
application-specific data in $XDG_CONFIG_HOME or ~/.config.
2013-08-14 08:14:54 -04:00
Adam Roben
22ea2073df Compile as C++11 on Linux 2013-08-14 08:14:54 -04:00
Adam Roben
7f3afbaf3d Force building with Clang on Linux to get C++11 support 2013-08-14 08:14:54 -04:00
Adam Roben
d27a984378 Define USE_X11 on Linux 2013-08-06 17:29:08 -04:00
Adam Roben
3076781c8a Build using make on Linux 2013-08-06 17:25:07 -04:00
Adam Roben
b596adc237 Start teaching script/build about Linux 2013-08-06 16:49:59 -04:00
Adam Roben
efad174995 Update libchromiumcontent to get better Linux support
* vendor/libchromiumcontent be71317...5ffcb39 (2):
  > Delete commented-out code in script/download
  > Teach script/download about Linux
2013-08-06 16:43:21 -04:00
Adam Roben
af20c55519 Spew less when script/cibuild fails 2013-08-06 16:42:21 -04:00
Adam Roben
6841801538 Spew less when script/bootstrap fails 2013-08-06 16:39:11 -04:00
Adam Roben
a61fa01c5d Update libchromiumcontent to get basic Linux support
* vendor/libchromiumcontent 33472d4...be71317 (4):
  > Merge pull request #24 from brightray/linux
  > Fix gyp syntax
  > Fix Release linker error on Linux
  > Make sure we always apply patches in alphabetical order
2013-07-31 16:27:00 -07:00
Adam Roben
53ac82b6c1 Merge pull request #25 from brightray/getusermedia
Enable navigator.webkitGetUserMedia()
2013-07-31 11:52:51 -07:00
Adam Roben
c2623d2bdc Fix typos 2013-07-31 11:52:21 -07:00
Adam Roben
2595335045 Enable navigator.webkitGetUserMedia()
The code came from chrome/browser/media, but was simplified to remove
dependencies on other parts of chrome/ and to always allow the media stream
request.
2013-07-31 11:08:45 -07:00
Adam Roben
bd648ce58f Put ICU headers on the include path for embedders 2013-07-25 12:31:41 -04:00
Adam Roben
d32a2fbc97 Update libchromiumcontent to get ICU headers
* vendor/libchromiumcontent ee4cea0...33472d4 (5):
  > Export ICU headers
  > When `gclient sync` fails, revert all local changes and try again
  > Merge pull request #23 from brightray/chromiumviews_pdb
  > Merge pull request #22 from brightray/cygwin2
  > Update to Chrome 28.0.1500.71
2013-07-25 12:22:58 -04:00
Adam Roben
56b904947b Avoid a crash when starting a download by disallowing downloads
Chromium crashes when starting a download if a content::DownloadManagerDelegate
is not provided. We now provide a default implementation of
content::DownloadManagerDelegate which disallows all downloads.
2013-07-24 07:56:55 -04:00
Adam Roben
bacf11d53f Rename the Helper process to Renderer/Plug-In Host/Utility as appropriate
This matches Chrome.
2013-07-17 11:04:45 -04:00
Adam Roben
33b574b434 Allow clients to supply their own NetworkDelegate implementation 2013-07-17 10:21:33 -04:00
Adam Roben
09efd19d2f Update to latest libchromiumcontent
* vendor/libchromiumcontent 929f9c9...ee4cea0 (2):
  > Merge pull request #21 from brightray/ui_views
  > Include all headers from testing/
2013-07-09 07:48:17 -04:00
Adam Roben
29237e21ce Always build 32-bit in Xcode
libchromiumcontent is 32-bit-only, so we need to match.
2013-07-08 12:17:48 -04:00
Adam Roben
a77a170cab Merge pull request #24 from brightray/skmatrix
Some headers are including SkMtrix.h, fix compilation errors for them.
2013-07-08 05:54:10 -07:00
Cheng Zhao
8e0f5624dd Some headers are including SkMtrix.h, fix compilation errors for them. 2013-07-05 12:18:34 +08:00
Adam Roben
b17e63d13c Update libchromiumcontent to be based on Chrome 28
* vendor/libchromiumcontent f4f8a7e...929f9c9 (3):
  > Merge pull request #19 from brightray/chrome-28
  > Merge pull request #18 from brightray/encryptor
  > Merge pull request #17 from brightray/cygwin
2013-07-02 10:11:28 -04:00
Adam Roben
6b68847a0d Merge pull request #23 from brightray/ninja
Fix building with ninja
2013-07-02 07:03:26 -07:00
Cheng Zhao
5e807cffc8 Use abusolute path when linking to external libraries. Fixes #22.
The ninja generator of gyp behaves strangely on the 'libraries' field of link
settings, for example, specifying path to an external library works well on
both xcodebuild and msvc generators, but the ninja generator would link to
the wrong path (it can neither translate relative path correctly, nor convert
the command line parameter to the '-lxxx' form).

The only way to make all generators work on all platforms is to use abusolute
paths for external libraries.
2013-07-02 15:24:24 +08:00
Adam Roben
3d00cded27 Update to latest libchromiumcontent
* vendor/libchromiumcontent fc02d93...f4f8a7e (4):
  > Include encryptor.lib and its symbols and headers in the distribution
  > Build encryptor.lib on Windows
  > Revert all changes before building if any unexpected files are modified
  > Export headers from cc/
2013-06-06 18:50:55 -04:00
Adam Roben
496b246405 Give BrowserContext subclasses access to GetPath() 2013-06-06 18:50:37 -04:00
Adam Roben
57066d414c Merge pull request #20 from brightray/windows-dev-tools
Implement undocked dev tools on Windows
2013-06-04 11:36:41 -07:00
Adam Roben
9ad77c4a38 Implement undocked dev tools on Windows
DevToolsWindow represents a vanilla top-level window that shows the dev tools.
It uses ui::WindowImpl to implement window functionality, which requires a
newer libchromiumcontent which contains the necessary headers for using that
class, and requires some modifications to brightray.gypi to make WTL's  headers
available.

* vendor/libchromiumcontent 2f53a96...fc02d93 (4):
  > Export third_party/wtl/include headers
  > Export test_support_base.pdb and test_support_content.pdb
  > Fix linker errors with test_support_base on Windows
  > Fix linker errors with base_prefs_test_support on Windows
2013-06-04 14:33:29 -04:00
Adam Roben
4c9870e753 Fix debug assertion about performing IO on the UI thread
We were querying the application's FILEVERSIONINFO every time we needed to
figure out the path for storing BrowserContext data. Now we cache the path the
first time we need it, which is during application initialization and before IO
prohibitions begin.
2013-06-04 14:17:16 -04:00
Adam Roben
14edfc7f7c Merge pull request #19 from brightray/file-protocol-handler
Set file and data protocol handler.
2013-06-03 06:27:14 -07:00
Cheng Zhao
27d55031f4 Set file and data protocol handler. 2013-06-02 00:25:04 +08:00
Adam Roben
3d12cb2c64 Don't crash when HTML notifications are used on Windows
Eventually we'll implement real support for this, but for now not crashing is
more important.
2013-05-31 08:05:14 -04:00
Adam Roben
2582e8561c Update to Chromium r202921
* vendor/libchromiumcontent 0d02a8d...2f53a96 (1):
  > Merge pull request #14 from brightray/latest-chromium
2013-05-30 15:07:32 -04:00
Adam Roben
f88634fea5 Pull in libchromiumcontent's Windows test support
* vendor/libchromiumcontent 3cbc11e...0d02a8d (1):
  > Merge pull request #13 from brightray/windows-test-support
2013-05-29 13:15:29 -04:00
Adam Roben
a24c390318 Use the user-visible version number in our user agent string
I.e., use CFBundleShortVersionString instead of CFBundleVersion on OS X and
ProductVersion instead of FileVersion on Windows.

This is generally more useful (although slightly lower granularity) than the
machine-readable version number.
2013-05-28 15:42:52 -04:00
Adam Roben
54419bbbb1 Set the user agent string correctly on Windows
We use the main executable's ProductName and FileVersion resources to build the
user agent string.
2013-05-28 15:24:55 -04:00
Adam Roben
70af1f351f Automatically exclude platform-specific files for all targets
This way embedding applications don't have to do this themselves, as long as
they follow our naming conventions.
2013-05-28 14:27:57 -04:00
Adam Roben
3070c6a723 Merge pull request #18 from brightray/better-windows-defaults
Improve Windows default build settings
2013-05-28 09:01:25 -07:00
Adam Roben
427ba96062 Set up linker defaults for Windows
These match Chromium's defaults.
2013-05-28 11:56:50 -04:00
Adam Roben
3f40456161 Make our Windows build settings actually take effect
We need to put them inside the target_defaults dictionary. Now that these
settings are turned on, we need to ignore some warnings that Chromium ignores.
2013-05-28 11:56:17 -04:00
Adam Roben
37d847c416 Fix linker errors about __imp___CrtDbgReportW
We were linking against the release CRT but defining _DEBUG, which should only
be defined when using the debug CRT.
2013-05-28 11:55:25 -04:00
Adam Roben
51cb56e604 Get libchromiumcontent back on master 2013-05-22 16:58:59 -04:00
Adam Roben
cf14f09228 Stub out InspectableWebContentsViewWin
This class doesn't implement any devtools behavior yet. Right now it's just a
glorified wrapper around a content::WebContents. But it's enough to show web
content on screen on Windows!
2013-05-22 16:57:32 -04:00
Adam Roben
b970e9d5c3 Only compile HandleKeyboardEvent on Mac 2013-05-22 16:08:40 -04:00
Adam Roben
f2ff1fb406 Merge pull request #17 from brightray/windows-brightray_example
Changes needed for building brightray_example on Windows
2013-05-22 12:08:13 -07:00
Adam Roben
d54f4e2bdd Update libchromiumcontent to get icudt.dll
* vendor/libchromiumcontent 31efc77...e436974 (2):
  > Export icudt.dll for Windows clients
  > Export libGLESv2.dll on Windows
2013-05-22 14:04:28 -04:00
Adam Roben
f2909b0d90 Set up the resource bundle on Windows 2013-05-22 14:00:43 -04:00
Adam Roben
3713ea6403 Exclude platform-specific files from other platforms 2013-05-22 14:00:43 -04:00
Adam Roben
1ec7280663 Link against the DLL version of the CRT
* vendor/libchromiumcontent 04ccdd8...31efc77 (3):
  > Use the DLL version of the CRT
  > Generate libchromiumcontent-symbols.zip on Windows
  > Fix exporting of WebKit symbols
2013-05-22 14:00:31 -04:00
Adam Roben
18b64f375c Link client apps against base_static.lib
This is required to get base::win::PEImage, which is required by sandboxing
code.

* vendor/libchromiumcontent c973a7c...04ccdd8 (1):
  > Export base_static.lib for Windows clients
2013-05-22 13:55:56 -04:00
Adam Roben
6a8ee865f4 Fix linker errors about missing Win32 APIs 2013-05-22 13:55:56 -04:00
Adam Roben
7e03f93dcd Add a stub application_info_win.cc 2013-05-22 13:55:56 -04:00
Adam Roben
12d01e4fd5 ifdef out a bunch of Mac-specific code
This is a hacky solution but helps us deal with other compiler/linker errors.
2013-05-22 13:55:56 -04:00
Adam Roben
12773cff6e Fix linker errors about missing registry APIs 2013-05-22 13:55:54 -04:00
Adam Roben
2813bef741 Link against sandbox_static.lib
* vendor/libchromiumcontent 15ada44...c973a7c (3):
  > Create and export sandbox_static.lib for Windows clients
  > Export content/app/startup_helper_win.cc to clients
  > Rename dist/include to dist/src
2013-05-22 13:55:12 -04:00
Adam Roben
7f463b8962 Give clients access to libchromiumcontent's src directory
* vendor/libchromiumcontent 15ada44...65b85bf (2):
  > Export content/app/startup_helper_win.cc to clients
  > Rename dist/include to dist/src
2013-05-22 13:55:12 -04:00
Adam Roben
4c0765b413 Use __declspec(dllimport) for functions from chromiumcontent.dll 2013-05-22 13:55:11 -04:00
Adam Roben
7b65fe4948 Link against chromiumcontent.dll
* vendor/libchromiumcontent 4aae27b...15ada44 (3):
  > Include chromiumcontent.dll's import library
  > Export sandbox/ headers
  > Mention that Python is required to build
2013-05-22 13:55:11 -04:00
Adam Roben
35f4dfe4b0 Add some more default build settings for Windows 2013-05-22 13:55:02 -04:00
Adam Roben
3cf6e5eda2 Make sure dependents can #include "brightray/foo.h" 2013-05-22 13:54:07 -04:00
Adam Roben
f387535eae Beef up .gitignore 2013-05-22 13:54:07 -04:00
Adam Roben
d6b4e430f8 Update links after move to brightray org 2013-05-21 14:57:52 -04:00
Adam Roben
df24a0a816 Merge pull request #16 from brightray/windows-build
Get a basic Windows build working
2013-05-16 06:22:23 -07:00
Adam Roben
e531f46a4b Ignore files created by Visual Studio 2013-05-16 09:16:29 -04:00
Adam Roben
d07c45080d Don't use range-based for loops
VS2010 doesn't support them :-(
2013-05-16 09:15:57 -04:00
Adam Roben
5fa005d5da Fix Windows build error about passing std::string to base::FilePath::Append 2013-05-16 09:15:56 -04:00
Adam Roben
a6c5cb04f7 Use FILE_PATH_LITERAL to fix build errors 2013-05-16 09:15:56 -04:00
Adam Roben
35199ba31f MSVC doesn't allow override on destructors 2013-05-16 09:15:55 -04:00
Adam Roben
ae7331da82 Add some build defaults for Windows
These came from Chromium's build/common.gypi file.
2013-05-16 09:15:55 -04:00
Adam Roben
689496afb8 Make sure sk_stdint.h is in the include path 2013-05-16 09:15:54 -04:00
Adam Roben
a5b118ce34 Use MSBuild to build on Windows 2013-05-16 09:15:54 -04:00
Adam Roben
3d83416c04 Ignore .sln/.vcxproj files created by gyp 2013-05-16 09:15:47 -04:00
Adam Roben
fd6e43baf9 Make script/build actually run gyp on Windows
We don't yet build, but we're getting closer.
2013-05-16 09:15:05 -04:00
Adam Roben
0dfd5ec320 Ensure consistent line endings in all files 2013-05-16 09:15:05 -04:00
Adam Roben
39f0694cce Add prerequisites to the README 2013-05-16 09:15:04 -04:00
Adam Roben
90e1370d7f Update libchromiumcontent for Windows support
* vendor/libchromiumcontent e70a88f...4aae27b (2):
  > Merge pull request #11 from brightray/windows-build
  > Merge pull request #10 from brightray/windows-scripts
2013-05-16 08:54:01 -04:00
Adam Roben
586141f51f Merge pull request #15 from brightray/cibuild
Get brightray building in CI
2013-05-14 09:24:56 -07:00
Adam Roben
33d4b7398a Add script/cibuild
This just ensures that we can bootstrap and build.
2013-05-14 12:20:50 -04:00
Adam Roben
a922d8a529 Update for libchromiumcontent repo transfer 2013-05-14 09:26:40 -04:00
Adam Roben
de9b0a008b Fix script/bootstrap
* vendor/libchromiumcontent 588f368...e70a88f (1):
  > Make script/download work when we're a submodule
2013-05-14 08:31:10 -04:00
Adam Roben
ebabb0aef2 Merge pull request #12 from aroben/python
Rewrite scripts in Python
2013-05-14 05:04:47 -07:00
Adam Roben
46c887b62d Rewrite script/build in Python
The script is still Mac-specific, but this will make it easier to add
Windows support later.
2013-05-13 18:59:03 -04:00
Adam Roben
c29074ff94 Rewrite script/boostrap in Python
This is the first step toward supporting Windows.
2013-05-13 18:59:03 -04:00
Adam Roben
0526aa45e7 Update libchromiumcontent to get its Python scripts
* vendor/libchromiumcontent 3f6f01c...588f368 (17):
  > Merge pull request #8 from aroben/menu-controller
  > Merge pull request #6 from aroben/shell_dialogs
  > Fix typo in script/create-dist
  > Merge pull request #5 from aroben/python
  > Add libtest_support_chromiumcontent.a
  > Build and distribute libgtest.a
  > Stop trying to compile SQLitePersistentCookieStore separately
  > Update to latest Chromium trunk revision
  > Merge pull request #4 from aroben/atom
  > Actually compile the base/prefs code
  > Export symbols from base/prefs
  > Compile and export SQLitePersistentCookieStore
  > Export webkit/plugins headers
  > Export skia/ext headers
  > Export ui/surface headers, too
  > Export Skia symbols from libchromiumcontent
  > Update to match chrome/trunk
2013-05-13 18:58:44 -04:00
Adam Roben
57ed898128 Merge pull request #9 from aroben/frontend-host-crash
frontend_host_ should be destructed after devtools_web_contents_.
2013-05-01 07:50:39 -07:00
Cheng Zhao
082f88ed3c frontend_host_ should be destructed after devtools_web_contents_. 2013-05-01 22:00:20 +08:00
Adam Roben
676e92e322 Fix crashes when dragging links
Turns out we needed to implement ContentClient::GetNativeImageNamed, which is
called to get the default drag image.
2013-04-26 22:49:58 -04:00
Adam Roben
73d467d657 Turn off C++ exceptions
We weren't using them anyway, and don't intend to. This matches Chromium.
2013-04-26 14:13:45 -04:00
Adam Roben
6908eecd0c Allow embedders to specify extra .pak files 2013-04-26 11:04:51 -04:00
Adam Roben
3b879a6178 Allow embedders to provide their own ContentClient subclass 2013-04-24 18:30:47 -04:00
Adam Roben
c27ac79969 Update to latest libchromiumcontent
* vendor/libchromiumcontent 4ae397b...d5cef3b (1):
  > Add libtest_support_chromiumcontent.a
2013-04-24 15:56:43 -04:00
Adam Roben
94d7b383c5 Fix DCHECK() assertion in BrowserClient 2013-04-24 10:54:53 -04:00
Adam Roben
48878af0db Let embedders add their own protocol handlers 2013-04-23 15:50:17 -04:00
Adam Roben
67081a64b0 Pull in latest libchromiumcontent to get gtest
* vendor/libchromiumcontent 0d607ee...4ae397b (1):
  > Build and distribute libgtest.a
2013-04-23 13:27:29 -04:00
Adam Roben
7d9e271333 Merge pull request #8 from aroben/atom
InspectableWebContents should be able to accept existing WebContents.
2013-04-22 05:47:14 -07:00
Cheng Zhao
a5e1c46674 💄 2013-04-22 20:41:58 +08:00
Cheng Zhao
082aa61870 InspectableWebContents should be able to accept existing WebContents. 2013-04-20 13:24:45 +08:00
Adam Roben
80cb76355c Update to latest libchromiumcontent
* vendor/libchromiumcontent b6a0d85...0d607ee (3):
  > Stop trying to compile SQLitePersistentCookieStore separately
  > Update to latest Chromium trunk revision
  > Merge pull request #4 from aroben/atom
2013-04-17 23:27:53 -04:00
Adam Roben
0b5ab8e43d Size dev tools correctly when starting out docked to the right 2013-04-16 21:06:07 -04:00
Adam Roben
d9df9bcf47 Send focus/blur events when an InspectableWebContents's window gains/loses focus
We listen for key window chages and inform content::RenderWidgetHostView as
appropriate.
2013-04-09 15:11:16 -04:00
Adam Roben
3c513d6ae8 Remember where the dev tools were docked between launches 2013-04-08 13:53:53 -04:00
Adam Roben
a2a2cd1936 Add preferences support for embedding applications
Applications can use brightray::BrowserContext::prefs to get access to
preferences that are persisted between launches.
brightray::BrowserContext::RegisterPrefs must be used to register preferences
before they're accessed.

Updated libchromiumcontent to pull in preferences support.

* vendor/libchromiumcontent 3944c1c...b6a0d85 (2):
  > Actually compile the base/prefs code
  > Export symbols from base/prefs
2013-04-08 13:53:42 -04:00
Adam Roben
5db043f7d4 Strip whitespace from the application name in the user agent
Having whitespace in the application name makes the user agent hard to parse.
2013-04-08 12:42:50 -04:00
Adam Roben
d2c04779e4 Include the application's version number in the user agent string 2013-04-08 12:41:30 -04:00
Adam Roben
3cef0dd98c Allow embedders to provide their own BrowserContext implementation 2013-04-01 20:10:00 -04:00
Adam Roben
080d9f59e9 Implement Notification.close() 2013-03-29 09:36:07 -04:00
Adam Roben
dde3c3f78f Make NotificationID more useful 2013-03-29 09:23:10 -04:00
Adam Roben
e59c549e62 Fire a click event when a notification is clicked 2013-03-29 09:02:40 -04:00
Adam Roben
c1463f9799 Don't fire the show event until the notification is actually shown 2013-03-29 08:59:21 -04:00
Adam Roben
e592f3ffa1 Add CreateUserNotification helper function 2013-03-29 08:32:00 -04:00
Adam Roben
08f393437e Show notifications even when the app is focused
It's a little icky to be taking over global state (NSUserNotificationCenter's
delegate) like this, but until we have evidence that it gets in someone's way
it's the pragmatic thing to do.
2013-03-28 18:09:04 -04:00
Adam Roben
651ab18a21 Turn NotificationPresenter into an abstract base class
This will allow us to have Mac-specific member variables without a bunch of
ifdefs.
2013-03-28 18:03:58 -04:00
Adam Roben
3c41af84a1 Move notification-related code into a new NotificationPresenter class 2013-03-28 17:50:07 -04:00
Adam Roben
1328c85eef Fire a show event when a notification is shown 2013-03-28 17:50:07 -04:00
Adam Roben
0893253188 Add bare-bones HTML notifications support
Calling Notification.show() now works. But Notification.close() does nothing,
and none of the notification's events fire.
2013-03-28 17:50:07 -04:00
Adam Roben
1a1fecf423 Bump the base SDK and deployment target to 10.8
This required working around an incompatibility in base/mac/foundation_util.h.
2013-03-28 17:50:07 -04:00
Adam Roben
e4e4cb6ec4 Allow embedders to customize the deployment target and base SDK 2013-03-28 15:56:35 -04:00
Adam Roben
93d9b61215 Allow overriding MainDelegate::BasicStartupComplete 2013-03-28 12:34:49 -04:00
Adam Roben
fa9a1d7b35 Support undocking the devtools view into its own window 2013-03-27 12:35:01 -04:00
Adam Roben
c22d1cca79 Support docking the devtools on the right side of the window 2013-03-27 11:20:21 -04:00
Adam Roben
001d0197de Make the devtools close button work 2013-03-27 11:20:21 -04:00
Adam Roben
d20ecc0e2b Merge InspectableWebContentsImpl and DevToolsFrontend
While this prevents clients from easily implementing their own devtools
windows, it gives us much easier control over the devtools experience.
2013-03-27 11:20:15 -04:00
Adam Roben
881a203b57 Fix double-delete of BrowserMainParts
The caller of BrowserClient::CreateBrowserMainParts handles destroying the
BrowserMainParts instance we return.
2013-03-27 08:55:54 -04:00
Adam Roben
90691e394f Fix lifetime management of URLRequestContextGetter
I noticed this bug while adding persistent cookie storage.
2013-03-27 08:55:54 -04:00
Adam Roben
4fc0fed081 Persist cookies to disk
We use Chrome's SQLitePersistentCookieStore to save cookies to a file called
"Cookies" within the application support directory.

Fixes #5.
2013-03-27 08:55:38 -04:00
Adam Roben
115eef52a3 Update libchromiumcontent
* vendor/libchromiumcontent cf87e4d...3944c1c (1):
  > Compile and export SQLitePersistentCookieStore
2013-03-26 16:30:32 -04:00
Adam Roben
3d3b989806 Update libchromiumcontent to pull in more headers
* vendor/libchromiumcontent 9152595...cf87e4d (1):
  > Export webkit/plugins headers
2013-03-25 12:53:30 -04:00
Adam Roben
5120887571 Update libchromiumcontent to pull in more headers 2013-03-25 12:28:30 -04:00
Adam Roben
5c0323cf23 Allow overwriting vendor/download/libchromiumcontent when its version changes 2013-03-25 12:23:37 -04:00
Adam Roben
3cda49b894 Update to latest libchromiumcontent 2013-03-21 15:18:25 -04:00
Adam Roben
909b3cd18f Stop disabling the sandbox
Now that we have the resources bundle hooked up correctly, the sandbox
functions just fine.

Fixes #4.
2013-03-14 14:01:12 -04:00
Adam Roben
4ca59ba279 Make keyboard shortcuts work when the dev tools are focused
We just pass unhandled key events from dev tools along to the main
WebContentsDelegate.

Part of #2.
2013-03-14 13:50:21 -04:00
Adam Roben
be6d990a97 Make keyboard shortcuts work on Mac
When the renderer doesn't handle a key event, we pass it off to the main menu
to see if it can handle it.

Part of #2.
2013-03-14 13:50:15 -04:00
Adam Roben
561fc9a342 Fix a NSSplitView leak 2013-03-14 13:06:58 -04:00
Adam Roben
4bff7a592a Enforce better header hygiene
Apple recommends disabling ALWAYS_SEARCH_USER_PATHS, so we now do. And we also
disable USE_HEADER_MAP to match other platforms more closely.
2013-03-14 13:06:17 -04:00
Adam Roben
fe35a92de5 Get the linen background painting during elastic scrolling
We weren't setting the location of the resource bundle correctly in the
renderer process. It turns out base::mac::OuterBundle() returns the helper
app's bundle in the renderer process. So now we have MainApplicationBundle() to
give us the bundle of the main app.
2013-03-14 13:05:01 -04:00
Adam Roben
b2a79856ef Add InspectableWebContents
This class can be used to create a content::WebContents that can be inspected
by the Chrome Dev Tools. This requires embedding applications to copy
content_shell.pak into their resource bundle.

Right now the dev tools are always docked to the bottom of the view; we don't
yet support undocking or changing the docked side.

Fixes #1.
2013-03-14 09:05:42 -04:00
Adam Roben
e1b5e5e1bf Store the disk cache in an app-specific location
We deduce the name of the application from the CFBundleName of the .app bundle
and use a path based on that. Similar logic should be implementable for other
platforms.

Fixes #3.
2013-03-13 16:45:00 -04:00
Adam Roben
65dd011fa3 Use Google-style header guards everywhere 2013-03-13 15:42:16 -04:00
Adam Roben
e451d92121 Initial commit 2013-03-13 15:31:24 -04:00
704 changed files with 34049 additions and 9005 deletions

301
.circleci/config.yml Normal file
View File

@@ -0,0 +1,301 @@
version: 2
jobs:
electron-linux-arm:
docker:
- image: electronbuilds/electron:0.0.3
environment:
TARGET_ARCH: arm
resource_class: xlarge
steps:
- checkout
- run:
name: Setup for headless testing
command: sh -e /etc/init.d/xvfb start
- run:
name: Check for release
command: |
MESSAGE="$(git log --format=%B -n 1 HEAD)"
case ${MESSAGE} in
Bump* ) echo 'export ELECTRON_RELEASE=1' >> $BASH_ENV
esac
if [ -n "${RUN_RELEASE_BUILD}" ]; then
echo 'release build triggered from api'
echo 'export ELECTRON_RELEASE=1 TRIGGERED_BY_API=1' >> $BASH_ENV
fi
- run:
name: Bootstrap
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Bootstrapping Electron for release build'
script/bootstrap.py --target_arch=$TARGET_ARCH
else
echo 'Bootstrapping Electron for debug build'
script/bootstrap.py --target_arch=$TARGET_ARCH --dev
fi
- run: npm run lint
- run:
name: Build
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Building Electron for release'
script/build.py -c R
else
echo 'Building Electron for debug'
script/build.py -c D
fi
- run:
name: Create distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Creating Electron release distribution'
script/create-dist.py
else
echo 'Skipping create distribution because build is not for release'
fi
- run:
name: Upload distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" != "1" ]; then
echo 'Uploading Electron release distribution to github releases'
script/upload.py
elif [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" == "1" ]; then
echo 'Uploading Electron release distribution to s3'
script/upload.py --upload_to_s3
else
echo 'Skipping upload distribution because build is not for release'
fi
electron-linux-arm64:
docker:
- image: electronbuilds/electron:0.0.3
environment:
TARGET_ARCH: arm64
resource_class: xlarge
steps:
- checkout
- run:
name: Setup for headless testing
command: sh -e /etc/init.d/xvfb start
- run:
name: Check for release
command: |
MESSAGE="$(git log --format=%B -n 1 HEAD)"
case ${MESSAGE} in
Bump* ) echo 'export ELECTRON_RELEASE=1' >> $BASH_ENV
esac
if [ -n "${RUN_RELEASE_BUILD}" ]; then
echo 'release build triggered from api'
echo 'export ELECTRON_RELEASE=1 TRIGGERED_BY_API=1' >> $BASH_ENV
fi
- run:
name: Bootstrap
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Bootstrapping Electron for release build'
script/bootstrap.py --target_arch=$TARGET_ARCH
else
echo 'Bootstrapping Electron for debug build'
script/bootstrap.py --target_arch=$TARGET_ARCH --dev
fi
- run: npm run lint
- run:
name: Build
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Building Electron for release'
script/build.py -c R
else
echo 'Building Electron for debug'
script/build.py -c D
fi
- run:
name: Create distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Creating Electron release distribution'
script/create-dist.py
else
echo 'Skipping create distribution because build is not for release'
fi
- run:
name: Upload distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" != "1" ]; then
echo 'Uploading Electron release distribution to github releases'
script/upload.py
elif [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" == "1" ]; then
echo 'Uploading Electron release distribution to s3'
script/upload.py --upload_to_s3
else
echo 'Skipping upload distribution because build is not for release'
fi
electron-linux-ia32:
docker:
- image: electronbuilds/electron:0.0.3
environment:
TARGET_ARCH: ia32
resource_class: xlarge
steps:
- checkout
- run:
name: Setup for headless testing
command: sh -e /etc/init.d/xvfb start
- run:
name: Check for release
command: |
MESSAGE="$(git log --format=%B -n 1 HEAD)"
case ${MESSAGE} in
Bump* ) echo 'export ELECTRON_RELEASE=1' >> $BASH_ENV
esac
if [ -n "${RUN_RELEASE_BUILD}" ]; then
echo 'release build triggered from api'
echo 'export ELECTRON_RELEASE=1 TRIGGERED_BY_API=1' >> $BASH_ENV
fi
- run:
name: Bootstrap
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Bootstrapping Electron for release build'
script/bootstrap.py --target_arch=$TARGET_ARCH
else
echo 'Bootstrapping Electron for debug build'
script/bootstrap.py --target_arch=$TARGET_ARCH --dev
fi
- run: npm run lint
- run:
name: Build
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Building Electron for release'
script/build.py -c R
else
echo 'Building Electron for debug'
script/build.py -c D
fi
- run:
name: Create distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Creating Electron release distribution'
script/create-dist.py
else
echo 'Skipping create distribution because build is not for release'
fi
- run:
name: Upload distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" != "1" ]; then
echo 'Uploading Electron release distribution to github releases'
script/upload.py
elif [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" == "1" ]; then
echo 'Uploading Electron release distribution to s3'
script/upload.py --upload_to_s3
else
echo 'Skipping upload distribution because build is not for release'
fi
electron-linux-x64:
docker:
- image: electronbuilds/electron:0.0.3
environment:
TARGET_ARCH: x64
resource_class: xlarge
steps:
- checkout
- run:
name: Setup for headless testing
command: sh -e /etc/init.d/xvfb start
- run:
name: Check for release
command: |
MESSAGE="$(git log --format=%B -n 1 HEAD)"
case ${MESSAGE} in
Bump* ) echo 'export ELECTRON_RELEASE=1' >> $BASH_ENV
esac
if [ -n "${RUN_RELEASE_BUILD}" ]; then
echo 'release build triggered from api'
echo 'export ELECTRON_RELEASE=1 TRIGGERED_BY_API=1' >> $BASH_ENV
fi
- run:
name: Bootstrap
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Bootstrapping Electron for release build'
script/bootstrap.py --target_arch=$TARGET_ARCH
else
echo 'Bootstrapping Electron for debug build'
script/bootstrap.py --target_arch=$TARGET_ARCH --dev
fi
- run: npm run lint
- run:
name: Build
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Building Electron for release'
script/build.py -c R
else
echo 'Building Electron for debug'
script/build.py -c D
fi
- run:
name: Create distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ]; then
echo 'Creating Electron release distribution'
script/create-dist.py
else
echo 'Skipping create distribution because build is not for release'
fi
- run:
name: Upload distribution
command: |
if [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" != "1" ]; then
echo 'Uploading Electron release distribution to github releases'
script/upload.py
elif [ "$ELECTRON_RELEASE" == "1" ] && [ "$TRIGGERED_BY_API" == "1" ]; then
echo 'Uploading Electron release distribution to s3'
script/upload.py --upload_to_s3
else
echo 'Skipping upload distribution because build is not for release'
fi
- run:
name: Test
environment:
MOCHA_FILE: junit/test-results.xml
MOCHA_REPORTER: mocha-junit-reporter
command: |
if [ "$ELECTRON_RELEASE" != "1" ]; then
echo 'Testing Electron debug build'
mkdir junit
script/test.py --ci --rebuild_native_modules
else
echo 'Skipping testing on release build'
fi
- run:
name: Verify FFmpeg
command: |
if [ "$ELECTRON_RELEASE" != "1" ]; then
echo 'Verifying ffmpeg on debug build'
script/verify-ffmpeg.py
else
echo 'Skipping verify ffmpeg on release build'
fi
- store_test_results:
path: junit
- store_artifacts:
path: junit
workflows:
version: 2
build-arm:
jobs:
- electron-linux-arm
build-arm64:
jobs:
- electron-linux-arm64
build-ia32:
jobs:
- electron-linux-ia32
build-x64:
jobs:
- electron-linux-x64

2
.dockerignore Normal file
View File

@@ -0,0 +1,2 @@
*
!tools/xvfb-init.sh

21
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1,21 @@
# Order is important. The LAST matching pattern has the MOST precedence.
# gitignore style patterns are used, not globs.
# https://help.github.com/articles/about-codeowners
# https://git-scm.com/docs/gitignore
# Everything that falls through the cracks:
* @electron/reviewers
# filename patterns
*browser_view* @electron/browserview
*notification* @electron/notifications
*pdf* @electron/printing
*printing* @electron/printing
*updater* @electron/updater
# directories
/.github/ @electron/hubbers
/default_app/ @electron/docs
/docs/ @electron/docs
/docs-translations/ @electron/i18n
/npm/ @electron/hubbers

29
.github/config.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
# Comment to be posted to on first time issues
newIssueWelcomeComment: |
👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.
To help make it easier for us to investigate your issue, please follow the [contributing guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md#submitting-issues).
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: |
💖 Thanks for opening this pull request! 💖
Here is a list of things that will help get it across the finish line:
- Follow the JavaScript, C++, and Python [coding style](https://github.com/electron/electron/blob/master/docs/development/coding-style.md).
- Run `npm run lint` locally to catch formatting errors earlier.
- Document any user-facing changes you've made following the [documentation styleguide](https://github.com/electron/electron/blob/master/docs/styleguide.md).
- Include tests when adding/changing behavior.
- Include screenshots and animated GIFs whenever possible.
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can.
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
# Comment to be posted to on pull requests merged by a first time user
firstPRMergeComment: >
Congrats on merging your first pull request! 🎉🎉🎉
# It is recommend to include as many gifs and emojis as possiblec

25
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 45
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- fixme/bug
- fixme/crash
- fixme/regression
- fixme/security
- blocked
- blocking-stable
- needs-review
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity and is not currently prioritized. It will be closed
in a week if no further activity occurs :)
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: >
If you still think this issue is relevant, please ping a maintainer or
leave a comment!

50
.gitignore vendored
View File

@@ -1,29 +1,45 @@
.DS_Store
.env
.gclient_done
.npmrc
.tags*
.vs/
.vscode/
*.log
*.pyc
*.sln
*.swp
*.VC.db
*.VC.VC.opendb
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
*.xcodeproj
/.idea/
/brightray/brightray.opensdf
/brightray/brightray.sdf
/brightray/brightray.sln
/brightray/brightray.suo
/brightray/brightray.v12.suo
/brightray/brightray.vcxproj*
/brightray/brightray.xcodeproj/
/build/
/dist/
/external_binaries/
/out/
/vendor/brightray/vendor/download/
/vendor/.gclient
/vendor/debian_jessie_amd64-sysroot/
/vendor/debian_jessie_arm-sysroot/
/vendor/debian_jessie_arm64-sysroot/
/vendor/debian_jessie_i386-sysroot/
/vendor/debian_wheezy_amd64-sysroot/
/vendor/debian_wheezy_arm-sysroot/
/vendor/debian_wheezy_i386-sysroot/
/vendor/python_26/
/vendor/npm/
/vendor/llvm/
/vendor/download/
/vendor/llvm-build/
/vendor/.gclient
/vendor/llvm/
/vendor/node/deps/node-inspect/.npmrc
/vendor/npm/
/vendor/python_26/
node_modules/
*.xcodeproj
*.swp
*.pyc
*.VC.db
*.VC.VC.opendb
.vs/
.vscode/
*.vcxproj
*.vcxproj.user
*.vcxproj.filters
*.sln
*.log
SHASUMS256.txt

9
.gitmodules vendored
View File

@@ -1,6 +1,3 @@
[submodule "vendor/brightray"]
path = vendor/brightray
url = https://github.com/electron/brightray.git
[submodule "vendor/node"]
path = vendor/node
url = https://github.com/electron/node.git
@@ -25,3 +22,9 @@
[submodule "vendor/pdf_viewer"]
path = vendor/pdf_viewer
url = https://github.com/electron/pdf-viewer.git
[submodule "vendor/gyp"]
path = vendor/gyp
url = https://github.com/electron/gyp
[submodule "vendor/libchromiumcontent"]
path = vendor/libchromiumcontent
url = https://github.com/electron/libchromiumcontent

View File

@@ -1 +1 @@
v7.4.0
v8.2.1

View File

@@ -3,6 +3,9 @@ git:
notifications:
email: false
before_install:
- export BOTO_CONFIG=/dev/null
language: node_js
node_js:
- "4"
@@ -19,6 +22,8 @@ matrix:
env: TARGET_ARCH=arm
- os: linux
env: TARGET_ARCH=ia32
- os: linux
env: TARGET_ARCH=arm64
allow_failures:
- os: osx

View File

@@ -6,7 +6,7 @@
This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
behavior to atom@github.com.
behavior to electron@github.com.
The following is a set of guidelines for contributing to Electron.
These are just guidelines, not rules, use your best judgment and feel free to
@@ -14,6 +14,7 @@ propose changes to this document in a pull request.
## Submitting Issues
### Creating Issues
* You can create an issue [here](https://github.com/electron/electron/issues/new),
but before doing that please read the notes below and include as many details as
possible with your report. If you can, please include:
@@ -27,6 +28,15 @@ possible with your report. If you can, please include:
* Perform a [cursory search](https://github.com/electron/electron/issues?utf8=✓&q=is%3Aissue+)
to see if a similar issue has already been submitted
### Issue Maintenance and Closure
* If an issue is inactive for 45 days (no activity of any kind), it will be
marked for closure with `stale`.
* If after this label is applied, no further activity occurs in the next 7 days,
the issue will be closed.
* If an issue has been closed and you still feel it's relevant, feel free to
ping a maintainer or add a comment!
## Submitting Pull Requests
* Include screenshots and animated GIFs in your pull request whenever possible.

18
Dockerfile Normal file
View File

@@ -0,0 +1,18 @@
FROM electronbuilds/libchromiumcontent:0.0.4
USER root
# Set up HOME directory
ENV HOME=/home
RUN chmod a+rwx /home
# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get install -y --force-yes nodejs
# Install wget used by crash reporter
RUN apt-get install -y --force-yes wget
# Add xvfb init script
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb

17
Dockerfile.circleci Normal file
View File

@@ -0,0 +1,17 @@
FROM electronbuilds/libchromiumcontent:0.0.4
USER root
# Install node.js
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get update && apt-get install -y --force-yes nodejs
# Install wget used by crash reporter
RUN apt-get install -y --force-yes wget
# Add xvfb init script
ADD tools/xvfb-init.sh /etc/init.d/xvfb
RUN chmod a+x /etc/init.d/xvfb
USER builduser
WORKDIR /home/builduser

View File

@@ -5,7 +5,7 @@
[![devDependency Status](https://david-dm.org/electron/electron/dev-status.svg)](https://david-dm.org/electron/electron?type=dev)
[![Join the Electron Community on Slack](http://atom-slack.herokuapp.com/badge.svg)](http://atom-slack.herokuapp.com/)
:memo: Available Translations: [Korean](https://github.com/electron/electron/tree/master/docs-translations/ko-KR/project/README.md) | [Simplified Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-CN/project/README.md) | [Brazilian Portuguese](https://github.com/electron/electron/tree/master/docs-translations/pt-BR/project/README.md) | [Traditional Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-TW/project/README.md) | [Spanish](https://github.com/electron/electron/tree/master/docs-translations/es/project/README.md) | [Turkish](https://github.com/electron/electron/tree/master/docs-translations/tr-TR/project/README.md)
:memo: Available Translations: [Korean](https://github.com/electron/electron/tree/master/docs-translations/ko-KR/project/README.md) | [Simplified Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-CN/project/README.md) | [Brazilian Portuguese](https://github.com/electron/electron/tree/master/docs-translations/pt-BR/project/README.md) | [Traditional Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-TW/project/README.md) | [Spanish](https://github.com/electron/electron/tree/master/docs-translations/es/project/README.md) | [Turkish](https://github.com/electron/electron/tree/master/docs-translations/tr-TR/project/README.md) | [German](https://github.com/electron/electron/tree/master/docs-translations/de-DE/project/README.md)
The Electron framework lets you write cross-platform desktop applications
using JavaScript, HTML and CSS. It is based on [Node.js](https://nodejs.org/) and
@@ -15,36 +15,71 @@ editor](https://github.com/atom/atom) and many other [apps](https://electron.ato
Follow [@ElectronJS](https://twitter.com/electronjs) on Twitter for important
announcements.
This project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md).
This project adheres to the Contributor Covenant
[code of conduct](https://github.com/electron/electron/tree/master/CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable
behavior to electron@github.com.
behavior to [electron@github.com](mailto:electron@github.com).
## Downloads
## Installation
To install prebuilt Electron binaries, use
[`npm`](https://docs.npmjs.com/):
To install prebuilt Electron binaries, use [`npm`](https://docs.npmjs.com/).
The preferred method is to install Electron as a development dependency in your
app:
```sh
# Install as a development dependency
npm install electron --save-dev
# Install the `electron` command globally in your $PATH
npm install electron -g
npm install electron --save-dev --save-exact
```
See the [releases page](https://github.com/electron/electron/releases) for
prebuilt binaries, debug symbols, and more.
The `--save-exact` flag is recommended as Electron does not follow semantic
versioning. For info on how to manage Electron versions in your apps, see
[Electron versioning](https://electron.atom.io/docs/tutorial/electron-versioning/).
For more installation options and troubleshooting tips, see
[installation](https://electron.atom.io/docs/tutorial/installation/).
## Quick Start
Clone and run the
[electron/electron-quick-start](https://github.com/electron/electron-quick-start)
repository to see a minimal Electron app in action:
```
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
npm start
```
## Resources for Learning Electron
- [electron.atom.io/docs](http://electron.atom.io/docs) - all of Electron's documentation
- [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - a very basic starter Electron app
- [electron.atom.io/community/#boilerplates](http://electron.atom.io/community/#boilerplates) - sample starter apps created by the community
- [electron/simple-samples](https://github.com/electron/simple-samples) - small applications with ideas for taking them further
- [electron/electron-api-demos](https://github.com/electron/electron-api-demos) - an Electron app that teaches you how to use Electron
- [hokein/electron-sample-apps](https://github.com/hokein/electron-sample-apps) - small demo apps for the various Electron APIs
## Programmatic usage
Most people use Electron from the command line, but if you require `electron` inside
your **Node app** (not your Electron app) it will return the file path to the
binary. Use this to spawn Electron from Node scripts:
```javascript
const electron = require('electron')
const proc = require('child_process')
// will print something similar to /Users/maf/.../Electron
console.log(electron)
// spawn Electron
const child = proc.spawn(electron)
```
### Mirrors
- [China](https://npm.taobao.org/mirrors/electron)
## Documentation
Guides and the API reference are located in the
[docs](https://github.com/electron/electron/tree/master/docs) directory. It also
contains documents describing how to build and contribute to Electron.
## Documentation Translations
- [Brazilian Portuguese](https://github.com/electron/electron/tree/master/docs-translations/pt-BR)
@@ -54,15 +89,11 @@ contains documents describing how to build and contribute to Electron.
- [Simplified Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-CN)
- [Traditional Chinese](https://github.com/electron/electron/tree/master/docs-translations/zh-TW)
- [Turkish](https://github.com/electron/electron/tree/master/docs-translations/tr-TR)
- [Thai](https://github.com/electron/electron/tree/master/docs-Translations/th-TH)
- [Thai](https://github.com/electron/electron/tree/master/docs-translations/th-TH)
- [Ukrainian](https://github.com/electron/electron/tree/master/docs-translations/uk-UA)
- [Russian](https://github.com/electron/electron/tree/master/docs-translations/ru-RU)
- [French](https://github.com/electron/electron/tree/master/docs-translations/fr-FR)
## Quick Start
Clone and run the [`electron/electron-quick-start`](https://github.com/electron/electron-quick-start)
repository to see a minimal Electron app in action.
- [Indonesian](https://github.com/electron/electron/tree/master/docs-translations/id)
## Community

View File

@@ -20,6 +20,6 @@ branches:
only:
- master
# disable build and test pahses
# disable build and test phases
build: off
test: off

View File

@@ -93,9 +93,9 @@ content::PepperPluginInfo CreateWidevineCdmInfo(const base::FilePath& path,
std::vector<std::string> codecs;
codecs.push_back(kCdmSupportedCodecVp8);
codecs.push_back(kCdmSupportedCodecVp9);
#if defined(USE_PROPRIETARY_CODECS)
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
codecs.push_back(kCdmSupportedCodecAvc1);
#endif // defined(USE_PROPRIETARY_CODECS)
#endif // BUILDFLAG(USE_PROPRIETARY_CODECS)
std::string codec_string = base::JoinString(
codecs, std::string(1, kCdmSupportedCodecsValueDelimiter));
widevine_cdm_mime_type.additional_param_names.push_back(
@@ -198,11 +198,19 @@ base::string16 AtomContentClient::GetLocalizedString(int message_id) const {
return l10n_util::GetStringUTF16(message_id);
}
void AtomContentClient::AddAdditionalSchemes(
std::vector<url::SchemeWithType>* standard_schemes,
std::vector<url::SchemeWithType>* referrer_schemes,
std::vector<std::string>* savable_schemes) {
standard_schemes->push_back({"chrome-extension", url::SCHEME_WITHOUT_PORT});
void AtomContentClient::AddAdditionalSchemes(Schemes* schemes) {
schemes->standard_schemes.push_back("chrome-extension");
std::vector<std::string> splited;
ConvertStringWithSeparatorToVector(&splited, ",",
switches::kRegisterServiceWorkerSchemes);
for (const std::string& scheme : splited)
schemes->service_worker_schemes.push_back(scheme);
schemes->service_worker_schemes.push_back(url::kFileScheme);
ConvertStringWithSeparatorToVector(&splited, ",", switches::kSecureSchemes);
for (const std::string& scheme : splited)
schemes->secure_schemes.push_back(scheme);
}
void AtomContentClient::AddPepperPlugins(
@@ -214,25 +222,4 @@ void AtomContentClient::AddPepperPlugins(
ComputeBuiltInPlugins(plugins);
}
void AtomContentClient::AddServiceWorkerSchemes(
std::set<std::string>* service_worker_schemes) {
std::vector<std::string> schemes;
ConvertStringWithSeparatorToVector(&schemes, ",",
switches::kRegisterServiceWorkerSchemes);
for (const std::string& scheme : schemes)
service_worker_schemes->insert(scheme);
service_worker_schemes->insert(url::kFileScheme);
}
void AtomContentClient::AddSecureSchemesAndOrigins(
std::set<std::string>* secure_schemes,
std::set<GURL>* secure_origins) {
std::vector<std::string> schemes;
ConvertStringWithSeparatorToVector(&schemes, ",", switches::kSecureSchemes);
for (const std::string& scheme : schemes)
secure_schemes->insert(scheme);
}
} // namespace atom

View File

@@ -23,17 +23,9 @@ class AtomContentClient : public brightray::ContentClient {
std::string GetProduct() const override;
std::string GetUserAgent() const override;
base::string16 GetLocalizedString(int message_id) const override;
void AddAdditionalSchemes(
std::vector<url::SchemeWithType>* standard_schemes,
std::vector<url::SchemeWithType>* referrer_schemes,
std::vector<std::string>* savable_schemes) override;
void AddAdditionalSchemes(Schemes* schemes) override;
void AddPepperPlugins(
std::vector<content::PepperPluginInfo>* plugins) override;
void AddServiceWorkerSchemes(
std::set<std::string>* service_worker_schemes) override;
void AddSecureSchemesAndOrigins(
std::set<std::string>* secure_schemes,
std::set<GURL>* secure_origins) override;
private:
DISALLOW_COPY_AND_ASSIGN(AtomContentClient);

View File

@@ -9,6 +9,7 @@
#if defined(OS_WIN)
#include <windows.h> // windows.h must be included first
#include <atlbase.h> // ensures that ATL statics like `_AtlWinModule` are initialized (it's an issue in static debug build)
#include <shellapi.h>
#include <shellscalingapi.h>
#include <tchar.h>
@@ -34,7 +35,7 @@
namespace {
const char* kRunAsNode = "ELECTRON_RUN_AS_NODE";
const auto kRunAsNode = "ELECTRON_RUN_AS_NODE";
bool IsEnvSet(const char* name) {
#if defined(OS_WIN)
@@ -56,6 +57,30 @@ int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd, int) {
bool run_as_node = IsEnvSet(kRunAsNode);
#ifdef _DEBUG
// Don't display assert dialog boxes in CI test runs
static const auto kCI = "ELECTRON_CI";
bool is_ci = IsEnvSet(kCI);
if (!is_ci) {
for (int i = 0; i < argc; ++i) {
if (!_wcsicmp(wargv[i], L"--ci")) {
is_ci = true;
_putenv_s(kCI, "1"); // set flag for child processes
break;
}
}
}
if (is_ci) {
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
_set_error_mode(_OUT_TO_STDERR);
}
#endif
// Make sure the output is printed to console.
if (run_as_node || !IsEnvSet("ELECTRON_NO_ATTACH_CONSOLE"))
base::RouteStdioToConsole(false);
@@ -94,6 +119,25 @@ int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE, wchar_t* cmd, int) {
}
}
#ifndef DEBUG
// Chromium has its own TLS subsystem which supports automatic destruction
// of thread-local data, and also depends on memory allocation routines
// provided by the CRT. The problem is that the auto-destruction mechanism
// uses a hidden feature of the OS loader which calls a callback on thread
// exit, but only after all loaded DLLs have been detached. Since the CRT is
// also a DLL, it happens that by the time Chromium's `OnThreadExit` function
// is called, the heap functions, though still in memory, no longer perform
// their duties, and when Chromium calls `free` on its buffer, it triggers
// an access violation error.
// We work around this problem by invoking Chromium's `OnThreadExit` in time
// from within the CRT's atexit facility, ensuring the heap functions are
// still active. The second invocation from the OS loader will be a no-op.
extern void NTAPI OnThreadExit(PVOID module, DWORD reason, PVOID reserved);
atexit([]() {
OnThreadExit(nullptr, DLL_THREAD_DETACH, nullptr);
});
#endif
if (run_as_node) {
// Now that argv conversion is done, we can finally start.
base::AtExitManager atexit_manager;

View File

@@ -126,13 +126,15 @@ void AtomMainDelegate::PreSandboxStartup() {
if (!IsBrowserProcess(command_line))
return;
if (command_line->HasSwitch(switches::kEnableSandbox)) {
// Disable setuid sandbox since it is not longer required on linux(namespace
// sandbox is available on most distros).
command_line->AppendSwitch(::switches::kDisableSetuidSandbox);
} else {
// Disable renderer sandbox for most of node's functions.
command_line->AppendSwitch(::switches::kNoSandbox);
if (!command_line->HasSwitch(switches::kEnableMixedSandbox)) {
if (command_line->HasSwitch(switches::kEnableSandbox)) {
// Disable setuid sandbox since it is not longer required on
// linux(namespace sandbox is available on most distros).
command_line->AppendSwitch(::switches::kDisableSetuidSandbox);
} else {
// Disable renderer sandbox for most of node's functions.
command_line->AppendSwitch(::switches::kNoSandbox);
}
}
// Allow file:// URIs to read other file:// URIs by default.
@@ -152,7 +154,9 @@ content::ContentBrowserClient* AtomMainDelegate::CreateContentBrowserClient() {
content::ContentRendererClient*
AtomMainDelegate::CreateContentRendererClient() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableSandbox)) {
switches::kEnableSandbox) ||
!base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kNoSandbox)) {
renderer_client_.reset(new AtomSandboxedRendererClient);
} else {
renderer_client_.reset(new AtomRendererClient);

View File

@@ -51,10 +51,9 @@ int NodeMain(int argc, char *argv[]) {
&isolate_data, gin_env.context(), argc, argv,
exec_argc, exec_argv);
// Start our custom debugger implementation.
NodeDebugger node_debugger(gin_env.isolate());
if (node_debugger.IsRunning())
env->AssignToContext(v8::Debug::GetDebugContext(gin_env.isolate()));
// Enable support for v8 inspector.
NodeDebugger node_debugger(env);
node_debugger.Start();
mate::Dictionary process(gin_env.isolate(), env->process_object());
#if defined(OS_WIN)

View File

@@ -2,6 +2,8 @@
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <utility>
#include "atom/app/uv_task_runner.h"
#include "base/stl_util.h"
@@ -19,13 +21,13 @@ UvTaskRunner::~UvTaskRunner() {
}
bool UvTaskRunner::PostDelayedTask(const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) {
auto* timer = new uv_timer_t;
timer->data = this;
uv_timer_init(loop_, timer);
uv_timer_start(timer, UvTaskRunner::OnTimeout, delay.InMilliseconds(), 0);
tasks_[timer] = task;
tasks_[timer] = std::move(task);
return true;
}
@@ -35,9 +37,9 @@ bool UvTaskRunner::RunsTasksOnCurrentThread() const {
bool UvTaskRunner::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) {
return PostDelayedTask(from_here, task, delay);
return PostDelayedTask(from_here, std::move(task), delay);
}
// static
@@ -46,7 +48,7 @@ void UvTaskRunner::OnTimeout(uv_timer_t* timer) {
if (!ContainsKey(self->tasks_, timer))
return;
self->tasks_[timer].Run();
std::move(self->tasks_[timer]).Run();
self->tasks_.erase(timer);
uv_timer_stop(timer);
uv_close(reinterpret_cast<uv_handle_t*>(timer), UvTaskRunner::OnClose);

View File

@@ -21,12 +21,12 @@ class UvTaskRunner : public base::SingleThreadTaskRunner {
// base::SingleThreadTaskRunner:
bool PostDelayedTask(const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) override;
bool RunsTasksOnCurrentThread() const override;
bool PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) override;
private:
@@ -35,7 +35,7 @@ class UvTaskRunner : public base::SingleThreadTaskRunner {
uv_loop_t* loop_;
std::map<uv_timer_t*, base::Closure> tasks_;
std::map<uv_timer_t*, base::OnceClosure> tasks_;
DISALLOW_COPY_AND_ASSIGN(UvTaskRunner);
};

View File

@@ -29,12 +29,16 @@
#include "base/files/file_util.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"
#include "base/sys_info.h"
#include "brightray/browser/brightray_paths.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/icon_manager.h"
#include "chrome/common/chrome_paths.h"
#include "content/browser/gpu/compositor_util.h"
#include "content/browser/gpu/gpu_data_manager_impl.h"
#include "content/public/browser/browser_accessibility_state.h"
#include "content/public/browser/browser_child_process_host.h"
#include "content/public/browser/child_process_data.h"
#include "content/public/browser/client_certificate_delegate.h"
#include "content/public/browser/gpu_data_manager.h"
#include "content/public/browser/render_frame_host.h"
@@ -50,6 +54,10 @@
#include "base/strings/utf_string_conversions.h"
#endif
#if defined(OS_MACOSX)
#include "atom/browser/ui/cocoa/atom_bundle_mover.h"
#endif
using atom::Browser;
namespace mate {
@@ -367,6 +375,8 @@ int GetPathConstant(const std::string& name) {
return brightray::DIR_CACHE;
else if (name == "userCache")
return brightray::DIR_USER_CACHE;
else if (name == "logs")
return brightray::DIR_APP_LOGS;
else if (name == "home")
return base::DIR_HOME;
else if (name == "temp")
@@ -464,8 +474,8 @@ int ImportIntoCertStore(
if (!cert_path.empty()) {
if (base::ReadFileToString(base::FilePath(cert_path), &file_data)) {
auto module = model->cert_db()->GetPublicModule();
rv = model->ImportFromPKCS12(module,
auto module = model->cert_db()->GetPrivateSlot();
rv = model->ImportFromPKCS12(module.get(),
file_data,
password,
true,
@@ -505,6 +515,14 @@ App::App(v8::Isolate* isolate) {
static_cast<AtomBrowserClient*>(AtomBrowserClient::Get())->set_delegate(this);
Browser::Get()->AddObserver(this);
content::GpuDataManager::GetInstance()->AddObserver(this);
content::BrowserChildProcessObserver::Add(this);
base::ProcessId pid = base::GetCurrentProcId();
std::unique_ptr<atom::ProcessMetric> process_metric(
new atom::ProcessMetric(
content::PROCESS_TYPE_BROWSER,
pid,
base::ProcessMetrics::CreateCurrentProcessMetrics()));
app_metrics_[pid] = std::move(process_metric);
Init(isolate);
}
@@ -513,6 +531,7 @@ App::~App() {
nullptr);
Browser::Get()->RemoveObserver(this);
content::GpuDataManager::GetInstance()->RemoveObserver(this);
content::BrowserChildProcessObserver::Remove(this);
}
void App::OnBeforeQuit(bool* prevent_default) {
@@ -562,17 +581,52 @@ void App::OnFinishLaunching(const base::DictionaryValue& launch_info) {
Emit("ready", launch_info);
}
void App::OnPreMainMessageLoopRun() {
if (process_singleton_) {
process_singleton_->OnBrowserReady();
}
}
void App::OnAccessibilitySupportChanged() {
Emit("accessibility-support-changed", IsAccessibilitySupportEnabled());
}
#if defined(OS_MACOSX)
void App::OnWillContinueUserActivity(
bool* prevent_default,
const std::string& type) {
*prevent_default = Emit("will-continue-activity", type);
}
void App::OnDidFailToContinueUserActivity(
const std::string& type,
const std::string& error) {
Emit("continue-activity-error", type, error);
}
void App::OnContinueUserActivity(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) {
*prevent_default = Emit("continue-activity", type, user_info);
}
void App::OnUserActivityWasContinued(
const std::string& type,
const base::DictionaryValue& user_info) {
Emit("activity-was-continued", type, user_info);
}
void App::OnUpdateUserActivityState(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) {
*prevent_default = Emit("update-activity-state", type, user_info);
}
void App::OnNewWindowForTab() {
Emit("new-window-for-tab");
}
#endif
void App::OnLogin(LoginHandler* login_handler,
@@ -666,6 +720,54 @@ void App::OnGpuProcessCrashed(base::TerminationStatus status) {
status == base::TERMINATION_STATUS_PROCESS_WAS_KILLED);
}
void App::BrowserChildProcessLaunchedAndConnected(
const content::ChildProcessData& data) {
ChildProcessLaunched(data.process_type, data.handle);
}
void App::BrowserChildProcessHostDisconnected(
const content::ChildProcessData& data) {
ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::BrowserChildProcessCrashed(const content::ChildProcessData& data,
int exit_code) {
ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::BrowserChildProcessKilled(const content::ChildProcessData& data,
int exit_code) {
ChildProcessDisconnected(base::GetProcId(data.handle));
}
void App::RenderProcessReady(content::RenderProcessHost* host) {
ChildProcessLaunched(content::PROCESS_TYPE_RENDERER, host->GetHandle());
}
void App::RenderProcessDisconnected(base::ProcessId host_pid) {
ChildProcessDisconnected(host_pid);
}
void App::ChildProcessLaunched(int process_type, base::ProcessHandle handle) {
auto pid = base::GetProcId(handle);
#if defined(OS_MACOSX)
std::unique_ptr<base::ProcessMetrics> metrics(
base::ProcessMetrics::CreateProcessMetrics(
handle, content::BrowserChildProcessHost::GetPortProvider()));
#else
std::unique_ptr<base::ProcessMetrics> metrics(
base::ProcessMetrics::CreateProcessMetrics(handle));
#endif
std::unique_ptr<atom::ProcessMetric> process_metric(
new atom::ProcessMetric(process_type, pid, std::move(metrics)));
app_metrics_[pid] = std::move(process_metric);
}
void App::ChildProcessDisconnected(base::ProcessId pid) {
app_metrics_.erase(pid);
}
base::FilePath App::GetAppPath() const {
return app_path_;
}
@@ -787,11 +889,32 @@ void App::DisableHardwareAcceleration(mate::Arguments* args) {
content::GpuDataManager::GetInstance()->DisableHardwareAcceleration();
}
void App::DisableDomainBlockingFor3DAPIs(mate::Arguments* args) {
if (Browser::Get()->is_ready()) {
args->ThrowError(
"app.disableDomainBlockingFor3DAPIs() can only be called "
"before app is ready");
return;
}
content::GpuDataManagerImpl::GetInstance()
->DisableDomainBlockingFor3DAPIsForTesting();
}
bool App::IsAccessibilitySupportEnabled() {
auto ax_state = content::BrowserAccessibilityState::GetInstance();
return ax_state->IsAccessibleBrowser();
}
void App::SetAccessibilitySupportEnabled(bool enabled) {
auto ax_state = content::BrowserAccessibilityState::GetInstance();
if (enabled) {
ax_state->OnScreenReaderDetected();
} else {
ax_state->DisableAccessibility();
}
Browser::Get()->OnAccessibilitySupportChanged();
}
Browser::LoginItemSettings App::GetLoginItemSettings(mate::Arguments* args) {
Browser::LoginItemSettings options;
args->GetNext(&options);
@@ -923,47 +1046,97 @@ void App::GetFileIcon(const base::FilePath& path,
}
}
std::vector<mate::Dictionary> App::GetAppMemoryInfo(v8::Isolate* isolate) {
AppIdProcessIterator process_iterator;
auto process_entry = process_iterator.NextProcessEntry();
std::vector<mate::Dictionary> App::GetAppMetrics(v8::Isolate* isolate) {
std::vector<mate::Dictionary> result;
int processor_count = base::SysInfo::NumberOfProcessors();
while (process_entry != nullptr) {
int64_t pid = process_entry->pid();
auto process = base::Process::OpenWithExtraPrivileges(pid);
#if defined(OS_MACOSX)
std::unique_ptr<base::ProcessMetrics> metrics(
base::ProcessMetrics::CreateProcessMetrics(
process.Handle(), content::BrowserChildProcessHost::GetPortProvider()));
#else
std::unique_ptr<base::ProcessMetrics> metrics(
base::ProcessMetrics::CreateProcessMetrics(process.Handle()));
#endif
for (const auto& process_metric : app_metrics_) {
mate::Dictionary pid_dict = mate::Dictionary::CreateEmpty(isolate);
mate::Dictionary memory_dict = mate::Dictionary::CreateEmpty(isolate);
mate::Dictionary cpu_dict = mate::Dictionary::CreateEmpty(isolate);
memory_dict.Set("workingSetSize",
static_cast<double>(metrics->GetWorkingSetSize() >> 10));
static_cast<double>(
process_metric.second->metrics->GetWorkingSetSize() >> 10));
memory_dict.Set("peakWorkingSetSize",
static_cast<double>(metrics->GetPeakWorkingSetSize() >> 10));
static_cast<double>(
process_metric.second->metrics->GetPeakWorkingSetSize() >> 10));
size_t private_bytes, shared_bytes;
if (metrics->GetMemoryBytes(&private_bytes, &shared_bytes)) {
if (process_metric.second->metrics->GetMemoryBytes(&private_bytes,
&shared_bytes)) {
memory_dict.Set("privateBytes", static_cast<double>(private_bytes >> 10));
memory_dict.Set("sharedBytes", static_cast<double>(shared_bytes >> 10));
}
pid_dict.Set("memory", memory_dict);
pid_dict.Set("pid", pid);
cpu_dict.Set("percentCPUUsage",
process_metric.second->metrics->GetPlatformIndependentCPUUsage()
/ processor_count);
#if !defined(OS_WIN)
cpu_dict.Set("idleWakeupsPerSecond",
process_metric.second->metrics->GetIdleWakeupsPerSecond());
#else
// Chrome's underlying process_metrics.cc will throw a non-fatal warning
// that this method isn't implemented on Windows, so set it to 0 instead
// of calling it
cpu_dict.Set("idleWakeupsPerSecond", 0);
#endif
pid_dict.Set("cpu", cpu_dict);
pid_dict.Set("pid", process_metric.second->pid);
pid_dict.Set("type",
content::GetProcessTypeNameInEnglish(process_metric.second->type));
result.push_back(pid_dict);
process_entry = process_iterator.NextProcessEntry();
}
return result;
}
v8::Local<v8::Value> App::GetGPUFeatureStatus(v8::Isolate* isolate) {
auto status = content::GetFeatureStatus();
return mate::ConvertToV8(isolate,
status ? *status : base::DictionaryValue());
}
void App::EnableMixedSandbox(mate::Arguments* args) {
if (Browser::Get()->is_ready()) {
args->ThrowError("app.enableMixedSandbox() can only be called "
"before app is ready");
return;
}
auto command_line = base::CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(::switches::kNoSandbox)) {
#if defined(OS_WIN)
const base::CommandLine::CharType* noSandboxArg = L"--no-sandbox";
#else
const base::CommandLine::CharType* noSandboxArg = "--no-sandbox";
#endif
// Remove the --no-sandbox switch
base::CommandLine::StringVector modified_command_line;
for (auto& arg : command_line->argv()) {
if (arg.compare(noSandboxArg) != 0) {
modified_command_line.push_back(arg);
}
}
command_line->InitFromArgv(modified_command_line);
}
command_line->AppendSwitch(switches::kEnableMixedSandbox);
}
#if defined(OS_MACOSX)
bool App::MoveToApplicationsFolder(mate::Arguments* args) {
return ui::cocoa::AtomBundleMover::Move(args);
}
bool App::IsInApplicationsFolder() {
return ui::cocoa::AtomBundleMover::IsCurrentAppInApplicationsFolder();
}
#endif
// static
mate::Handle<App> App::Create(v8::Isolate* isolate) {
return mate::CreateHandle(isolate, new App(isolate));
@@ -1007,6 +1180,10 @@ void App::BuildPrototype(
base::Bind(&Browser::SetUserActivity, browser))
.SetMethod("getCurrentActivityType",
base::Bind(&Browser::GetCurrentActivityType, browser))
.SetMethod("invalidateCurrentActivity",
base::Bind(&Browser::InvalidateCurrentActivity, browser))
.SetMethod("updateCurrentActivity",
base::Bind(&Browser::UpdateCurrentActivity, browser))
.SetMethod("setAboutPanelOptions",
base::Bind(&Browser::SetAboutPanelOptions, browser))
#endif
@@ -1033,10 +1210,22 @@ void App::BuildPrototype(
.SetMethod("relaunch", &App::Relaunch)
.SetMethod("isAccessibilitySupportEnabled",
&App::IsAccessibilitySupportEnabled)
.SetMethod("setAccessibilitySupportEnabled",
&App::SetAccessibilitySupportEnabled)
.SetMethod("disableHardwareAcceleration",
&App::DisableHardwareAcceleration)
.SetMethod("disableDomainBlockingFor3DAPIs",
&App::DisableDomainBlockingFor3DAPIs)
.SetMethod("getFileIcon", &App::GetFileIcon)
.SetMethod("getAppMemoryInfo", &App::GetAppMemoryInfo);
.SetMethod("getAppMetrics", &App::GetAppMetrics)
.SetMethod("getGPUFeatureStatus", &App::GetGPUFeatureStatus)
.SetMethod("enableMixedSandbox", &App::EnableMixedSandbox)
// TODO(juturu): Remove in 2.0, deprecate before then with warnings
#if defined(OS_MACOSX)
.SetMethod("moveToApplicationsFolder", &App::MoveToApplicationsFolder)
.SetMethod("isInApplicationsFolder", &App::IsInApplicationsFolder)
#endif
.SetMethod("getAppMemoryInfo", &App::GetAppMetrics);
}
} // namespace api

View File

@@ -5,7 +5,9 @@
#ifndef ATOM_BROWSER_API_ATOM_API_APP_H_
#define ATOM_BROWSER_API_ATOM_API_APP_H_
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "atom/browser/api/event_emitter.h"
@@ -17,7 +19,9 @@
#include "base/task/cancelable_task_tracker.h"
#include "chrome/browser/icon_manager.h"
#include "chrome/browser/process_singleton.h"
#include "content/public/browser/browser_child_process_observer.h"
#include "content/public/browser/gpu_data_manager_observer.h"
#include "content/public/browser/render_process_host.h"
#include "native_mate/dictionary.h"
#include "native_mate/handle.h"
#include "net/base/completion_callback.h"
@@ -40,12 +44,27 @@ namespace atom {
enum class JumpListResult : int;
#endif
struct ProcessMetric {
int type;
base::ProcessId pid;
std::unique_ptr<base::ProcessMetrics> metrics;
ProcessMetric(int type,
base::ProcessId pid,
std::unique_ptr<base::ProcessMetrics> metrics) {
this->type = type;
this->pid = pid;
this->metrics = std::move(metrics);
}
};
namespace api {
class App : public AtomBrowserClient::Delegate,
public mate::EventEmitter<App>,
public BrowserObserver,
public content::GpuDataManagerObserver {
public content::GpuDataManagerObserver,
public content::BrowserChildProcessObserver {
public:
using FileIconCallback = base::Callback<void(v8::Local<v8::Value>,
const gfx::Image&)>;
@@ -73,6 +92,9 @@ class App : public AtomBrowserClient::Delegate,
#endif
base::FilePath GetAppPath() const;
void RenderProcessReady(content::RenderProcessHost* host);
void RenderProcessDisconnected(base::ProcessId host_pid);
void PreMainMessageLoopRun();
protected:
explicit App(v8::Isolate* isolate);
@@ -91,11 +113,26 @@ class App : public AtomBrowserClient::Delegate,
void OnLogin(LoginHandler* login_handler,
const base::DictionaryValue& request_details) override;
void OnAccessibilitySupportChanged() override;
void OnPreMainMessageLoopRun() override;
#if defined(OS_MACOSX)
void OnWillContinueUserActivity(
bool* prevent_default,
const std::string& type) override;
void OnDidFailToContinueUserActivity(
const std::string& type,
const std::string& error) override;
void OnContinueUserActivity(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnUserActivityWasContinued(
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnUpdateUserActivityState(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) override;
void OnNewWindowForTab() override;
#endif
// content::ContentBrowserClient:
@@ -118,8 +155,20 @@ class App : public AtomBrowserClient::Delegate,
// content::GpuDataManagerObserver:
void OnGpuProcessCrashed(base::TerminationStatus status) override;
// content::BrowserChildProcessObserver:
void BrowserChildProcessLaunchedAndConnected(
const content::ChildProcessData& data) override;
void BrowserChildProcessHostDisconnected(
const content::ChildProcessData& data) override;
void BrowserChildProcessCrashed(
const content::ChildProcessData& data, int exit_code) override;
void BrowserChildProcessKilled(
const content::ChildProcessData& data, int exit_code) override;
private:
void SetAppPath(const base::FilePath& app_path);
void ChildProcessLaunched(int process_type, base::ProcessHandle handle);
void ChildProcessDisconnected(base::ProcessId pid);
// Get/Set the pre-defined path in PathService.
base::FilePath GetPath(mate::Arguments* args, const std::string& name);
@@ -134,7 +183,9 @@ class App : public AtomBrowserClient::Delegate,
void ReleaseSingleInstance();
bool Relaunch(mate::Arguments* args);
void DisableHardwareAcceleration(mate::Arguments* args);
void DisableDomainBlockingFor3DAPIs(mate::Arguments* args);
bool IsAccessibilitySupportEnabled();
void SetAccessibilitySupportEnabled(bool enabled);
Browser::LoginItemSettings GetLoginItemSettings(mate::Arguments* args);
#if defined(USE_NSS_CERTS)
void ImportCertificate(const base::DictionaryValue& options,
@@ -143,7 +194,14 @@ class App : public AtomBrowserClient::Delegate,
void GetFileIcon(const base::FilePath& path,
mate::Arguments* args);
std::vector<mate::Dictionary> GetAppMemoryInfo(v8::Isolate* isolate);
std::vector<mate::Dictionary> GetAppMetrics(v8::Isolate* isolate);
v8::Local<v8::Value> GetGPUFeatureStatus(v8::Isolate* isolate);
void EnableMixedSandbox(mate::Arguments* args);
#if defined(OS_MACOSX)
bool MoveToApplicationsFolder(mate::Arguments* args);
bool IsInApplicationsFolder();
#endif
#if defined(OS_WIN)
// Get the current Jump List settings.
@@ -164,6 +222,11 @@ class App : public AtomBrowserClient::Delegate,
base::FilePath app_path_;
using ProcessMetricMap =
std::unordered_map<base::ProcessId,
std::unique_ptr<atom::ProcessMetric>>;
ProcessMetricMap app_metrics_;
DISALLOW_COPY_AND_ASSIGN(App);
};

View File

@@ -57,6 +57,23 @@ void AutoUpdater::OnError(const std::string& message) {
message);
}
void AutoUpdater::OnError(const std::string& message,
const int code, const std::string& domain) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
auto error = v8::Exception::Error(mate::StringToV8(isolate(), message));
auto errorObject = error->ToObject(
isolate()->GetCurrentContext()).ToLocalChecked();
// add two new params for better error handling
errorObject->Set(mate::StringToV8(isolate(), "code"),
v8::Integer::New(isolate(), code));
errorObject->Set(mate::StringToV8(isolate(), "domain"),
mate::StringToV8(isolate(), domain));
mate::EmitEvent(isolate(), GetWrapper(), "error", errorObject, message);
}
void AutoUpdater::OnCheckingForUpdate() {
Emit("checking-for-update");
}

View File

@@ -32,6 +32,8 @@ class AutoUpdater : public mate::EventEmitter<AutoUpdater>,
// Delegate implementations.
void OnError(const std::string& error) override;
void OnError(const std::string& message, const int code,
const std::string& domain);
void OnCheckingForUpdate() override;
void OnUpdateAvailable() override;
void OnUpdateNotAvailable() override;

View File

@@ -152,7 +152,8 @@ void Initialize(v8::Local<v8::Object> exports,
mate::Dictionary browser_view(
isolate, BrowserView::GetConstructor(isolate)->GetFunction());
browser_view.SetMethod("fromId",
&mate::TrackableObject<BrowserView>::FromWeakMapID);
mate::Dictionary dict(isolate, exports);
dict.Set("BrowserView", browser_view);
}

View File

@@ -36,6 +36,7 @@ class BrowserView : public mate::TrackableObject<BrowserView> {
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
WebContents* web_contents() const { return api_web_contents_; }
NativeBrowserView* view() const { return view_.get(); }
int32_t ID() const;

View File

@@ -62,6 +62,10 @@ struct Converter<net::CookieStore::ChangeCause> {
switch (val) {
case net::CookieStore::ChangeCause::INSERTED:
case net::CookieStore::ChangeCause::EXPLICIT:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_BETWEEN:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_PREDICATE:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_SINGLE:
case net::CookieStore::ChangeCause::EXPLICIT_DELETE_CANONICAL:
return mate::StringToV8(isolate, "explicit");
case net::CookieStore::ChangeCause::OVERWRITE:
return mate::StringToV8(isolate, "overwrite");
@@ -228,8 +232,8 @@ void SetCookieOnIO(scoped_refptr<net::URLRequestContextGetter> getter,
GetCookieStore(getter)->SetCookieWithDetailsAsync(
GURL(url), name, value, domain, path, creation_time,
expiration_time, last_access_time, secure, http_only,
net::CookieSameSite::DEFAULT_MODE, false,
net::COOKIE_PRIORITY_DEFAULT, base::Bind(OnSetCookie, callback));
net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT,
base::Bind(OnSetCookie, callback));
}
} // namespace

View File

@@ -4,6 +4,8 @@
#include "atom/browser/api/atom_api_desktop_capturer.h"
using base::PlatformThreadRef;
#include "atom/common/api/atom_api_native_image.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "base/strings/utf_string_conversions.h"

View File

@@ -0,0 +1,258 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/api/atom_api_notification.h"
#include "atom/browser/api/atom_api_menu.h"
#include "atom/browser/browser.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
#include "atom/common/native_mate_converters/image_converter.h"
#include "atom/common/native_mate_converters/string16_converter.h"
#include "atom/common/node_includes.h"
#include "base/strings/utf_string_conversions.h"
#include "brightray/browser/browser_client.h"
#include "native_mate/constructor.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "url/gurl.h"
namespace mate {
template<>
struct Converter<brightray::NotificationAction> {
static bool FromV8(v8::Isolate* isolate, v8::Local<v8::Value> val,
brightray::NotificationAction* out) {
mate::Dictionary dict;
if (!ConvertFromV8(isolate, val, &dict))
return false;
if (!dict.Get("type", &(out->type))) {
return false;
}
dict.Get("text", &(out->text));
return true;
}
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
brightray::NotificationAction val) {
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
dict.Set("text", val.text);
dict.Set("type", val.type);
return dict.GetHandle();
}
};
} // namespace mate
namespace atom {
namespace api {
Notification::Notification(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
mate::Arguments* args) {
InitWith(isolate, wrapper);
presenter_ = brightray::BrowserClient::Get()->GetNotificationPresenter();
mate::Dictionary opts;
if (args->GetNext(&opts)) {
opts.Get("title", &title_);
opts.Get("subtitle", &subtitle_);
opts.Get("body", &body_);
has_icon_ = opts.Get("icon", &icon_);
if (has_icon_) {
opts.Get("icon", &icon_path_);
}
opts.Get("silent", &silent_);
opts.Get("replyPlaceholder", &reply_placeholder_);
opts.Get("hasReply", &has_reply_);
opts.Get("actions", &actions_);
opts.Get("sound", &sound_);
}
}
Notification::~Notification() {
if (notification_)
notification_->set_delegate(nullptr);
}
// static
mate::WrappableBase* Notification::New(mate::Arguments* args) {
if (!Browser::Get()->is_ready()) {
args->ThrowError("Cannot create Notification before app is ready");
return nullptr;
}
return new Notification(args->isolate(), args->GetThis(), args);
}
// Getters
base::string16 Notification::GetTitle() const {
return title_;
}
base::string16 Notification::GetSubtitle() const {
return subtitle_;
}
base::string16 Notification::GetBody() const {
return body_;
}
bool Notification::GetSilent() const {
return silent_;
}
base::string16 Notification::GetReplyPlaceholder() const {
return reply_placeholder_;
}
bool Notification::GetHasReply() const {
return has_reply_;
}
std::vector<brightray::NotificationAction> Notification::GetActions() const {
return actions_;
}
base::string16 Notification::GetSound() const {
return sound_;
}
// Setters
void Notification::SetTitle(const base::string16& new_title) {
title_ = new_title;
}
void Notification::SetSubtitle(const base::string16& new_subtitle) {
subtitle_ = new_subtitle;
}
void Notification::SetBody(const base::string16& new_body) {
body_ = new_body;
}
void Notification::SetSilent(bool new_silent) {
silent_ = new_silent;
}
void Notification::SetReplyPlaceholder(const base::string16& new_placeholder) {
reply_placeholder_ = new_placeholder;
}
void Notification::SetHasReply(bool new_has_reply) {
has_reply_ = new_has_reply;
}
void Notification::SetActions(
const std::vector<brightray::NotificationAction>& actions) {
actions_ = actions;
}
void Notification::SetSound(const base::string16& new_sound) {
sound_ = new_sound;
}
void Notification::NotificationAction(int index) {
Emit("action", index);
}
void Notification::NotificationClick() {
Emit("click");
}
void Notification::NotificationReplied(const std::string& reply) {
Emit("reply", reply);
}
void Notification::NotificationDisplayed() {
Emit("show");
}
void Notification::NotificationDestroyed() {
}
void Notification::NotificationClosed() {
Emit("close");
}
void Notification::Close() {
if (notification_) {
notification_->Dismiss();
notification_.reset();
}
}
// Showing notifications
void Notification::Show() {
Close();
if (presenter_) {
notification_ = presenter_->CreateNotification(this);
if (notification_) {
brightray::NotificationOptions options;
options.title = title_;
options.subtitle = subtitle_;
options.msg = body_;
options.icon_url = GURL();
options.icon = icon_.AsBitmap();
options.silent = silent_;
options.has_reply = has_reply_;
options.reply_placeholder = reply_placeholder_;
options.actions = actions_;
options.sound = sound_;
notification_->Show(options);
}
}
}
bool Notification::IsSupported() {
return !!brightray::BrowserClient::Get()->GetNotificationPresenter();
}
// static
void Notification::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
prototype->SetClassName(mate::StringToV8(isolate, "Notification"));
mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
.MakeDestroyable()
.SetMethod("show", &Notification::Show)
.SetMethod("close", &Notification::Close)
.SetProperty("title", &Notification::GetTitle, &Notification::SetTitle)
.SetProperty("subtitle", &Notification::GetSubtitle,
&Notification::SetSubtitle)
.SetProperty("body", &Notification::GetBody, &Notification::SetBody)
.SetProperty("silent", &Notification::GetSilent, &Notification::SetSilent)
.SetProperty("replyPlaceholder", &Notification::GetReplyPlaceholder,
&Notification::SetReplyPlaceholder)
.SetProperty("hasReply", &Notification::GetHasReply,
&Notification::SetHasReply)
.SetProperty("actions", &Notification::GetActions,
&Notification::SetActions)
.SetProperty("sound", &Notification::GetSound,
&Notification::SetSound);
}
} // namespace api
} // namespace atom
namespace {
using atom::api::Notification;
void Initialize(v8::Local<v8::Object> exports,
v8::Local<v8::Value> unused,
v8::Local<v8::Context> context,
void* priv) {
v8::Isolate* isolate = context->GetIsolate();
Notification::SetConstructor(isolate, base::Bind(&Notification::New));
mate::Dictionary dict(isolate, exports);
dict.Set("Notification",
Notification::GetConstructor(isolate)->GetFunction());
dict.SetMethod("isSupported", &Notification::IsSupported);
}
} // namespace
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_common_notification, Initialize)

View File

@@ -0,0 +1,94 @@
// Copyright (c) 2014 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_
#define ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_
#include <memory>
#include <string>
#include <vector>
#include "atom/browser/api/trackable_object.h"
#include "base/strings/utf_string_conversions.h"
#include "brightray/browser/notification.h"
#include "brightray/browser/notification_delegate.h"
#include "brightray/browser/notification_presenter.h"
#include "native_mate/handle.h"
#include "ui/gfx/image/image.h"
namespace atom {
namespace api {
class Notification : public mate::TrackableObject<Notification>,
public brightray::NotificationDelegate {
public:
static mate::WrappableBase* New(mate::Arguments* args);
static bool IsSupported();
static void BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype);
// NotificationDelegate:
void NotificationAction(int index) override;
void NotificationClick() override;
void NotificationReplied(const std::string& reply) override;
void NotificationDisplayed() override;
void NotificationDestroyed() override;
void NotificationClosed() override;
protected:
Notification(v8::Isolate* isolate,
v8::Local<v8::Object> wrapper,
mate::Arguments* args);
~Notification() override;
void Show();
void Close();
// Prop Getters
base::string16 GetTitle() const;
base::string16 GetSubtitle() const;
base::string16 GetBody() const;
bool GetSilent() const;
base::string16 GetReplyPlaceholder() const;
bool GetHasReply() const;
std::vector<brightray::NotificationAction> GetActions() const;
base::string16 GetSound() const;
// Prop Setters
void SetTitle(const base::string16& new_title);
void SetSubtitle(const base::string16& new_subtitle);
void SetBody(const base::string16& new_body);
void SetSilent(bool new_silent);
void SetReplyPlaceholder(const base::string16& new_reply_placeholder);
void SetHasReply(bool new_has_reply);
void SetActions(const std::vector<brightray::NotificationAction>& actions);
void SetSound(const base::string16& sound);
private:
base::string16 title_;
base::string16 subtitle_;
base::string16 body_;
gfx::Image icon_;
base::string16 icon_path_;
bool has_icon_ = false;
bool silent_ = false;
base::string16 reply_placeholder_;
bool has_reply_ = false;
std::vector<brightray::NotificationAction> actions_;
base::string16 sound_;
brightray::NotificationPresenter* presenter_;
base::WeakPtr<brightray::Notification> notification_;
DISALLOW_COPY_AND_ASSIGN(Notification);
};
} // namespace api
} // namespace atom
#endif // ATOM_BROWSER_API_ATOM_API_NOTIFICATION_H_

View File

@@ -50,20 +50,25 @@ void RegisterStandardSchemes(const std::vector<std::string>& schemes,
mate::Arguments* args) {
g_standard_schemes = schemes;
mate::Dictionary opts;
bool secure = false;
args->GetNext(&opts) && opts.Get("secure", &secure);
// Dynamically register the schemes.
auto* policy = content::ChildProcessSecurityPolicy::GetInstance();
for (const std::string& scheme : schemes) {
url::AddStandardScheme(scheme.c_str(), url::SCHEME_WITHOUT_PORT);
if (secure) {
url::AddSecureScheme(scheme.c_str());
}
policy->RegisterWebSafeScheme(scheme);
}
// add switches to register as standard
// Add the schemes to command line switches, so child processes can also
// register them.
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
atom::switches::kStandardSchemes, base::JoinString(schemes, ","));
mate::Dictionary opts;
bool secure = false;
if (args->GetNext(&opts) && opts.Get("secure", &secure) && secure) {
// add switches to register as secure
if (secure) {
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
atom::switches::kSecureSchemes, base::JoinString(schemes, ","));
}

View File

@@ -120,6 +120,9 @@ void Screen::BuildPrototype(
.SetMethod("getPrimaryDisplay", &Screen::GetPrimaryDisplay)
.SetMethod("getAllDisplays", &Screen::GetAllDisplays)
.SetMethod("getDisplayNearestPoint", &Screen::GetDisplayNearestPoint)
#if defined(OS_MACOSX)
.SetMethod("getMenuBarHeight", &Screen::getMenuBarHeight)
#endif
.SetMethod("getDisplayMatching", &Screen::GetDisplayMatching);
}

View File

@@ -40,6 +40,10 @@ class Screen : public mate::EventEmitter<Screen>,
display::Display GetDisplayNearestPoint(const gfx::Point& point);
display::Display GetDisplayMatching(const gfx::Rect& match_rect);
#if defined(OS_MACOSX)
int getMenuBarHeight();
#endif
// display::DisplayObserver:
void OnDisplayAdded(const display::Display& new_display) override;
void OnDisplayRemoved(const display::Display& old_display) override;

View File

@@ -0,0 +1,18 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#import "atom/browser/api/atom_api_screen.h"
#import <Cocoa/Cocoa.h>
namespace atom {
namespace api {
int Screen::getMenuBarHeight() {
return [[NSApp mainMenu] menuBarHeight];
}
}// namespace api
}// namespace atom

View File

@@ -212,6 +212,7 @@ struct Converter<atom::VerifyRequestParams> {
dict.Set("hostname", val.hostname);
dict.Set("certificate", val.certificate);
dict.Set("verificationResult", val.default_result);
dict.Set("errorCode", val.error_code);
return dict.GetHandle();
}
};
@@ -432,7 +433,9 @@ void DownloadIdCallback(content::DownloadManager* download_manager,
last_modified, offset, length, std::string(),
content::DownloadItem::INTERRUPTED,
content::DownloadDangerType::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT, false);
content::DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT, false,
base::Time(), false,
std::vector<content::DownloadItem::ReceivedSlice>());
}
} // namespace

View File

@@ -67,6 +67,7 @@ void SystemPreferences::BuildPrototype(
&SystemPreferences::UnsubscribeLocalNotification)
.SetMethod("getUserDefault", &SystemPreferences::GetUserDefault)
.SetMethod("setUserDefault", &SystemPreferences::SetUserDefault)
.SetMethod("removeUserDefault", &SystemPreferences::RemoveUserDefault)
.SetMethod("isSwipeTrackingFromScrollEventsEnabled",
&SystemPreferences::IsSwipeTrackingFromScrollEventsEnabled)
#endif

View File

@@ -76,6 +76,7 @@ class SystemPreferences : public mate::EventEmitter<SystemPreferences>
void SetUserDefault(const std::string& name,
const std::string& type,
mate::Arguments* args);
void RemoveUserDefault(const std::string& name);
bool IsSwipeTrackingFromScrollEventsEnabled();
#endif
bool IsDarkMode();

View File

@@ -229,6 +229,11 @@ void SystemPreferences::SetUserDefault(const std::string& name,
}
}
void SystemPreferences::RemoveUserDefault(const std::string& name) {
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:base::SysUTF8ToNSString(name)];
}
bool SystemPreferences::IsDarkMode() {
NSString* mode = [[NSUserDefaults standardUserDefaults]
stringForKey:@"AppleInterfaceStyle"];

View File

@@ -86,8 +86,10 @@ mate::WrappableBase* Tray::New(mate::Handle<NativeImage> image,
return new Tray(args->isolate(), args->GetThis(), image);
}
void Tray::OnClicked(const gfx::Rect& bounds, int modifiers) {
EmitWithFlags("click", modifiers, bounds);
void Tray::OnClicked(const gfx::Rect& bounds,
const gfx::Point& location,
int modifiers) {
EmitWithFlags("click", modifiers, bounds, location);
}
void Tray::OnDoubleClicked(const gfx::Rect& bounds, int modifiers) {
@@ -122,6 +124,18 @@ void Tray::OnDropText(const std::string& text) {
Emit("drop-text", text);
}
void Tray::OnMouseEntered(const gfx::Point& location, int modifiers) {
EmitWithFlags("mouse-enter", modifiers, location);
}
void Tray::OnMouseExited(const gfx::Point& location, int modifiers) {
EmitWithFlags("mouse-leave", modifiers, location);
}
void Tray::OnMouseMoved(const gfx::Point& location, int modifiers) {
EmitWithFlags("mouse-move", modifiers, location);
}
void Tray::OnDragEntered() {
Emit("drag-enter");
}

View File

@@ -47,7 +47,9 @@ class Tray : public mate::TrackableObject<Tray>,
~Tray() override;
// TrayIconObserver:
void OnClicked(const gfx::Rect& bounds, int modifiers) override;
void OnClicked(const gfx::Rect& bounds,
const gfx::Point& location,
int modifiers) override;
void OnDoubleClicked(const gfx::Rect& bounds, int modifiers) override;
void OnRightClicked(const gfx::Rect& bounds, int modifiers) override;
void OnBalloonShow() override;
@@ -59,6 +61,9 @@ class Tray : public mate::TrackableObject<Tray>,
void OnDragEntered() override;
void OnDragExited() override;
void OnDragEnded() override;
void OnMouseEntered(const gfx::Point& location, int modifiers) override;
void OnMouseExited(const gfx::Point& location, int modifiers) override;
void OnMouseMoved(const gfx::Point& location, int modifiers) override;
void SetImage(v8::Isolate* isolate, mate::Handle<NativeImage> image);
void SetPressedImage(v8::Isolate* isolate, mate::Handle<NativeImage> image);

View File

@@ -13,12 +13,16 @@
#include "atom/browser/atom_browser_client.h"
#include "atom/browser/atom_browser_context.h"
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/browser/atom_javascript_dialog_manager.h"
#include "atom/browser/child_web_contents_tracker.h"
#include "atom/browser/lib/bluetooth_chooser.h"
#include "atom/browser/native_window.h"
#include "atom/browser/net/atom_network_delegate.h"
#if defined(ENABLE_OSR)
#include "atom/browser/osr/osr_output_device.h"
#include "atom/browser/osr/osr_render_widget_host_view.h"
#include "atom/browser/osr/osr_web_contents_view.h"
#endif
#include "atom/browser/ui/drag_util.h"
#include "atom/browser/web_contents_permission_helper.h"
#include "atom/browser/web_contents_preferences.h"
@@ -39,25 +43,25 @@
#include "atom/common/native_mate_converters/string16_converter.h"
#include "atom/common/native_mate_converters/value_converter.h"
#include "atom/common/options_switches.h"
#include "base/process/process_handle.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/values.h"
#include "brightray/browser/inspectable_web_contents.h"
#include "brightray/browser/inspectable_web_contents_view.h"
#include "chrome/browser/printing/print_preview_message_handler.h"
#include "chrome/browser/printing/print_view_manager_basic.h"
#include "chrome/browser/ssl/security_state_tab_helper.h"
#include "content/browser/frame_host/navigation_entry_impl.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/common/view_messages.h"
#include "content/public/browser/child_process_security_policy.h"
#include "content/public/browser/favicon_status.h"
#include "content/public/browser/native_web_keyboard_event.h"
#include "content/public/browser/navigation_details.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/notification_details.h"
#include "content/public/browser/notification_source.h"
#include "content/public/browser/notification_types.h"
#include "content/public/browser/plugin_service.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
@@ -70,12 +74,15 @@
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/context_menu_params.h"
#include "native_mate/converter.h"
#include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h"
#include "net/url_request/url_request_context.h"
#include "third_party/WebKit/public/platform/WebInputEvent.h"
#include "third_party/WebKit/public/web/WebFindOptions.h"
#include "ui/display/screen.h"
#include "ui/events/base_event_utils.h"
#include "ui/latency/latency_info.h"
#if !defined(OS_MACOSX)
#include "ui/aura/window.h"
@@ -88,6 +95,7 @@ namespace {
struct PrintSettings {
bool silent;
bool print_background;
base::string16 device_name;
};
} // namespace
@@ -125,10 +133,25 @@ struct Converter<PrintSettings> {
return false;
dict.Get("silent", &(out->silent));
dict.Get("printBackground", &(out->print_background));
dict.Get("deviceName", &(out->device_name));
return true;
}
};
template<>
struct Converter<printing::PrinterBasicInfo> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const printing::PrinterBasicInfo& val) {
mate::Dictionary dict(isolate, v8::Object::New(isolate));
dict.Set("name", val.printer_name);
dict.Set("description", val.printer_description);
dict.Set("status", val.printer_status);
dict.Set("isDefault", val.is_default ? true : false);
dict.Set("options", val.options);
return dict.GetHandle();
}
};
template<>
struct Converter<WindowOpenDisposition> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
@@ -209,8 +232,10 @@ struct Converter<atom::api::WebContents::Type> {
*out = Type::BROWSER_VIEW;
} else if (type == "webview") {
*out = Type::WEB_VIEW;
#if defined(ENABLE_OSR)
} else if (type == "offscreen") {
*out = Type::OFF_SCREEN;
#endif
} else {
return false;
}
@@ -249,22 +274,6 @@ void OnCapturePageDone(const base::Callback<void(const gfx::Image&)>& callback,
callback.Run(gfx::Image::CreateFrom1xBitmap(bitmap));
}
// Set the background color of RenderWidgetHostView.
void SetBackgroundColor(content::WebContents* web_contents) {
const auto view = web_contents->GetRenderWidgetHostView();
if (view) {
WebContentsPreferences* web_preferences =
WebContentsPreferences::FromWebContents(web_contents);
std::string color_name;
if (web_preferences->web_preferences()->GetString(options::kBackgroundColor,
&color_name)) {
view->SetBackgroundColor(ParseHexColor(color_name));
} else {
view->SetBackgroundColor(SK_ColorTRANSPARENT);
}
}
}
} // namespace
WebContents::WebContents(v8::Isolate* isolate,
@@ -277,12 +286,13 @@ WebContents::WebContents(v8::Isolate* isolate,
request_id_(0),
background_throttling_(true),
enable_devtools_(true) {
const mate::Dictionary options = mate::Dictionary::CreateEmpty(isolate);
if (type == REMOTE) {
web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent());
Init(isolate);
AttachAsUserData(web_contents);
InitZoomController(web_contents, options);
} else {
const mate::Dictionary options = mate::Dictionary::CreateEmpty(isolate);
auto session = Session::CreateFrom(isolate, GetBrowserContext());
session_.Reset(isolate, session.ToV8());
InitWithSessionAndOptions(isolate, web_contents, session, options);
@@ -296,6 +306,10 @@ WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
request_id_(0),
background_throttling_(true),
enable_devtools_(true) {
// WebContents may need to emit events when it is garbage collected, so it
// has to be deleted in the first gc callback.
MarkHighMemoryUsage();
// Read options.
options.Get("backgroundThrottling", &background_throttling_);
@@ -311,8 +325,13 @@ WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
type_ = BACKGROUND_PAGE;
else if (options.Get("isBrowserView", &b) && b)
type_ = BROWSER_VIEW;
#if defined(ENABLE_OSR)
else if (options.Get("offscreen", &b) && b)
type_ = OFF_SCREEN;
#endif
// Init embedder earlier
options.Get("embedder", &embedder_);
// Whether to enable DevTools.
options.Get("devTools", &enable_devtools_);
@@ -338,7 +357,21 @@ WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
session->browser_context(), site_instance);
guest_delegate_.reset(new WebViewGuestDelegate);
params.guest_delegate = guest_delegate_.get();
web_contents = content::WebContents::Create(params);
#if defined(ENABLE_OSR)
if (embedder_ && embedder_->IsOffScreen()) {
auto* view = new OffScreenWebContentsView(false,
base::Bind(&WebContents::OnPaint, base::Unretained(this)));
params.view = view;
params.delegate_view = view;
web_contents = content::WebContents::Create(params);
view->SetWebContents(web_contents);
} else {
#endif
web_contents = content::WebContents::Create(params);
#if defined(ENABLE_OSR)
}
} else if (IsOffScreen()) {
bool transparent = false;
options.Get("transparent", &transparent);
@@ -351,6 +384,7 @@ WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
web_contents = content::WebContents::Create(params);
view->SetWebContents(web_contents);
#endif
} else {
content::WebContents::CreateParams params(session->browser_context());
web_contents = content::WebContents::Create(params);
@@ -359,11 +393,20 @@ WebContents::WebContents(v8::Isolate* isolate, const mate::Dictionary& options)
InitWithSessionAndOptions(isolate, web_contents, session, options);
}
void WebContents::InitZoomController(content::WebContents* web_contents,
const mate::Dictionary& options) {
WebContentsZoomController::CreateForWebContents(web_contents);
zoom_controller_ = WebContentsZoomController::FromWebContents(web_contents);
double zoom_factor;
if (options.Get(options::kZoomFactor, &zoom_factor))
zoom_controller_->SetDefaultZoomFactor(zoom_factor);
}
void WebContents::InitWithSessionAndOptions(v8::Isolate* isolate,
content::WebContents *web_contents,
mate::Handle<api::Session> session,
const mate::Dictionary& options) {
content::WebContentsObserver::Observe(web_contents);
Observe(web_contents);
InitWithWebContents(web_contents, session->browser_context());
managed_web_contents()->GetView()->SetDelegate(this);
@@ -376,11 +419,7 @@ void WebContents::InitWithSessionAndOptions(v8::Isolate* isolate,
// Initialize security state client.
SecurityStateTabHelper::CreateForWebContents(web_contents);
// Initialize zoom controller.
WebContentsZoomController::CreateForWebContents(web_contents);
zoom_controller_ = WebContentsZoomController::FromWebContents(web_contents);
double zoom_factor;
if (options.Get(options::kZoomFactor, &zoom_factor))
zoom_controller_->SetDefaultZoomFactor(zoom_factor);
InitZoomController(web_contents, options);
web_contents->SetUserAgentOverride(GetBrowserContext()->GetUserAgent());
@@ -388,7 +427,7 @@ void WebContents::InitWithSessionAndOptions(v8::Isolate* isolate,
guest_delegate_->Initialize(this);
NativeWindow* owner_window = nullptr;
if (options.Get("embedder", &embedder_) && embedder_) {
if (embedder_) {
// New WebContents's owner_window is the embedder's owner_window.
auto relay =
NativeWindowRelay::FromWebContents(embedder_->web_contents());
@@ -399,11 +438,6 @@ void WebContents::InitWithSessionAndOptions(v8::Isolate* isolate,
SetOwnerWindow(owner_window);
}
const content::NavigationController* controller =
&web_contents->GetController();
registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_PENDING,
content::Source<content::NavigationController>(controller));
Init(isolate);
AttachAsUserData(web_contents);
}
@@ -484,6 +518,7 @@ void WebContents::AddNewContents(content::WebContents* source,
const gfx::Rect& initial_rect,
bool user_gesture,
bool* was_blocked) {
new ChildWebContentsTracker(new_contents);
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
auto api_web_contents = CreateFrom(isolate(), new_contents);
@@ -563,15 +598,18 @@ void WebContents::HandleKeyboardEvent(
}
}
bool WebContents::PreHandleKeyboardEvent(
content::KeyboardEventProcessingResult WebContents::PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event,
bool* is_keyboard_shortcut) {
if (event.type == blink::WebInputEvent::Type::RawKeyDown
|| event.type == blink::WebInputEvent::Type::KeyUp)
return Emit("before-input-event", event);
else
return false;
const content::NativeWebKeyboardEvent& event) {
if (event.GetType() == blink::WebInputEvent::Type::kRawKeyDown ||
event.GetType() == blink::WebInputEvent::Type::kKeyUp) {
bool prevent_default = Emit("before-input-event", event);
if (prevent_default) {
return content::KeyboardEventProcessingResult::HANDLED;
}
}
return content::KeyboardEventProcessingResult::NOT_HANDLED;
}
void WebContents::EnterFullscreenModeForTab(content::WebContents* source,
@@ -680,6 +718,15 @@ std::unique_ptr<content::BluetoothChooser> WebContents::RunBluetoothChooser(
return std::move(bluetooth_chooser);
}
content::JavaScriptDialogManager*
WebContents::GetJavaScriptDialogManager(
content::WebContents* source) {
if (!dialog_manager_)
dialog_manager_.reset(new AtomJavaScriptDialogManager(this));
return dialog_manager_.get();
}
void WebContents::BeforeUnloadFired(const base::TimeTicks& proceed_time) {
// Do nothing, we override this method just to avoid compilation error since
// there are two virtual functions named BeforeUnloadFired.
@@ -720,7 +767,11 @@ void WebContents::MediaStoppedPlaying(const MediaPlayerInfo& video_type,
}
void WebContents::DidChangeThemeColor(SkColor theme_color) {
Emit("did-change-theme-color", atom::ToRGBHex(theme_color));
if (theme_color != SK_ColorTRANSPARENT) {
Emit("did-change-theme-color", atom::ToRGBHex(theme_color));
} else {
Emit("did-change-theme-color", nullptr);
}
}
void WebContents::DocumentLoadedInFrame(
@@ -780,36 +831,12 @@ void WebContents::DidGetRedirectForResourceRequest(
details.headers.get());
}
void WebContents::DidStartNavigation(
content::NavigationHandle* navigation_handle) {
if (!navigation_handle->IsInMainFrame() || navigation_handle->IsSamePage())
return;
if (deferred_load_url_.id) {
auto web_contents = navigation_handle->GetWebContents();
auto& controller = web_contents->GetController();
int id = controller.GetPendingEntry()->GetUniqueID();
if (id == deferred_load_url_.id) {
if (!deferred_load_url_.params.url.is_empty()) {
auto params = deferred_load_url_.params;
deferred_load_url_.id = 0;
deferred_load_url_.params =
content::NavigationController::LoadURLParams(GURL());
controller.LoadURLWithParams(params);
SetBackgroundColor(web_contents);
} else {
deferred_load_url_.id = 0;
}
}
}
}
void WebContents::DidFinishNavigation(
content::NavigationHandle* navigation_handle) {
bool is_main_frame = navigation_handle->IsInMainFrame();
if (navigation_handle->HasCommitted() && !navigation_handle->IsErrorPage()) {
auto url = navigation_handle->GetURL();
bool is_in_page = navigation_handle->IsSamePage();
bool is_in_page = navigation_handle->IsSameDocument();
if (is_main_frame && !is_in_page) {
Emit("did-navigate", url);
} else if (is_in_page) {
@@ -846,41 +873,6 @@ void WebContents::DidUpdateFaviconURL(
Emit("page-favicon-updated", unique_urls);
}
void WebContents::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
switch (type) {
case content::NOTIFICATION_NAV_ENTRY_PENDING: {
content::NavigationEntry* entry =
content::Details<content::NavigationEntry>(details).ptr();
content::NavigationEntryImpl* entry_impl =
static_cast<content::NavigationEntryImpl*>(entry);
// In NavigatorImpl::DidStartMainFrameNavigation when there is no
// browser side pending entry available it creates a new one based
// on existing pending entry, hence we track the unique id here
// instead in WebContents::LoadURL with controller.GetPendingEntry()
// TODO(deepak1556): Remove once we have
// https://codereview.chromium.org/2661743002.
if (entry_impl->frame_tree_node_id() == -1) {
deferred_load_url_.id = entry->GetUniqueID();
}
break;
}
default:
NOTREACHED();
break;
}
}
void WebContents::BeforeUnloadDialogCancelled() {
if (deferred_load_url_.id) {
auto& controller = web_contents()->GetController();
if (!controller.GetPendingEntry()) {
deferred_load_url_.id = 0;
}
}
}
void WebContents::DevToolsReloadPage() {
Emit("devtools-reload-page");
}
@@ -897,7 +889,7 @@ void WebContents::DevToolsOpened() {
devtools_web_contents_.Reset(isolate(), handle.ToV8());
// Set inspected tabID.
base::FundamentalValue tab_id(ID());
base::Value tab_id(ID());
managed_web_contents()->CallClientFunction(
"DevToolsAPI.setInspectedTabId", &tab_id, nullptr, nullptr);
@@ -935,6 +927,23 @@ bool WebContents::OnMessageReceived(const IPC::Message& message) {
return handled;
}
bool WebContents::OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* frame_host) {
bool handled = true;
auto relay = NativeWindowRelay::FromWebContents(web_contents());
if (!relay)
return false;
IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(NativeWindow, message, frame_host)
IPC_MESSAGE_FORWARD(AtomAutofillFrameHostMsg_ShowPopup,
relay->window.get(), NativeWindow::ShowAutofillPopup)
IPC_MESSAGE_FORWARD(AtomAutofillFrameHostMsg_HidePopup,
relay->window.get(), NativeWindow::HideAutofillPopup)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
// There are three ways of destroying a webContents:
// 1. call webContents.destroy();
// 2. garbage collection;
@@ -970,7 +979,7 @@ void WebContents::NavigationEntryCommitted(
int64_t WebContents::GetID() const {
int64_t process_id = web_contents()->GetRenderProcessHost()->GetID();
int64_t routing_id = web_contents()->GetRoutingID();
int64_t routing_id = web_contents()->GetRenderViewHost()->GetRoutingID();
int64_t rv = (process_id << 32) + routing_id;
return rv;
}
@@ -979,6 +988,11 @@ int WebContents::GetProcessID() const {
return web_contents()->GetRenderProcessHost()->GetID();
}
base::ProcessId WebContents::GetOSProcessID() const {
auto process_handle = web_contents()->GetRenderProcessHost()->GetHandle();
return base::GetProcId(process_handle);
}
WebContents::Type WebContents::GetType() const {
return type_;
}
@@ -997,12 +1011,16 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
return;
}
if (guest_delegate_ && !guest_delegate_->IsAttached()) {
return;
}
content::NavigationController::LoadURLParams params(url);
GURL http_referrer;
if (options.Get("httpReferrer", &http_referrer))
params.referrer = content::Referrer(http_referrer.GetAsReferrer(),
blink::WebReferrerPolicyDefault);
blink::kWebReferrerPolicyDefault);
std::string user_agent;
if (options.Get("userAgent", &user_agent))
@@ -1027,16 +1045,23 @@ void WebContents::LoadURL(const GURL& url, const mate::Dictionary& options) {
params.transition_type = ui::PAGE_TRANSITION_TYPED;
params.should_clear_history_list = true;
params.override_user_agent = content::NavigationController::UA_OVERRIDE_TRUE;
if (deferred_load_url_.id) {
deferred_load_url_.params = params;
return;
}
web_contents()->GetController().LoadURLWithParams(params);
// Set the background color of RenderWidgetHostView.
// We have to call it right after LoadURL because the RenderViewHost is only
// created after loading a page.
SetBackgroundColor(web_contents());
const auto view = web_contents()->GetRenderWidgetHostView();
if (view) {
WebContentsPreferences* web_preferences =
WebContentsPreferences::FromWebContents(web_contents());
std::string color_name;
if (web_preferences->web_preferences()->GetString(options::kBackgroundColor,
&color_name)) {
view->SetBackgroundColor(ParseHexColor(color_name));
} else {
view->SetBackgroundColor(SK_ColorTRANSPARENT);
}
}
}
void WebContents::DownloadURL(const GURL& url) {
@@ -1233,9 +1258,22 @@ void WebContents::HasServiceWorker(
if (!context)
return;
context->CheckHasServiceWorker(web_contents()->GetLastCommittedURL(),
GURL::EmptyGURL(),
callback);
struct WrappedCallback {
base::Callback<void(bool)> callback_;
explicit WrappedCallback(const base::Callback<void(bool)>& callback)
: callback_(callback) {}
void Run(content::ServiceWorkerCapability capability) {
callback_.Run(capability !=
content::ServiceWorkerCapability::NO_SERVICE_WORKER);
delete this;
}
};
auto wrapped_callback = new WrappedCallback(callback);
context->CheckHasServiceWorker(
web_contents()->GetLastCommittedURL(), GURL::EmptyGURL(),
base::Bind(&WrappedCallback::Run, base::Unretained(wrapped_callback)));
}
void WebContents::UnregisterServiceWorker(
@@ -1248,6 +1286,10 @@ void WebContents::UnregisterServiceWorker(
callback);
}
void WebContents::SetIgnoreMenuShortcuts(bool ignore) {
set_ignore_menu_shortcuts(ignore);
}
void WebContents::SetAudioMuted(bool muted) {
web_contents()->SetAudioMuted(muted);
}
@@ -1257,16 +1299,32 @@ bool WebContents::IsAudioMuted() {
}
void WebContents::Print(mate::Arguments* args) {
PrintSettings settings = { false, false };
if (args->Length() == 1 && !args->GetNext(&settings)) {
PrintSettings settings = { false, false, base::string16() };
if (args->Length() >= 1 && !args->GetNext(&settings)) {
args->ThrowError();
return;
}
printing::PrintViewManagerBasic::FromWebContents(web_contents())->
PrintNow(web_contents()->GetMainFrame(),
auto print_view_manager_basic_ptr =
printing::PrintViewManagerBasic::FromWebContents(web_contents());
if (args->Length() == 2) {
base::Callback<void(bool)> callback;
if (!args->GetNext(&callback)) {
args->ThrowError();
return;
}
print_view_manager_basic_ptr->SetCallback(callback);
}
print_view_manager_basic_ptr->PrintNow(web_contents()->GetMainFrame(),
settings.silent,
settings.print_background);
settings.print_background,
settings.device_name);
}
std::vector<printing::PrinterBasicInfo> WebContents::GetPrinterList() {
std::vector<printing::PrinterBasicInfo> printers;
auto print_backend = printing::PrintBackend::CreateInstance(nullptr);
print_backend->EnumeratePrinters(&printers);
return printers;
}
void WebContents::PrintToPDF(const base::DictionaryValue& setting,
@@ -1326,7 +1384,7 @@ void WebContents::SelectAll() {
}
void WebContents::Unselect() {
web_contents()->Unselect();
web_contents()->CollapseSelection();
}
void WebContents::Replace(const base::string16& word) {
@@ -1401,30 +1459,31 @@ bool WebContents::SendIPCMessage(bool all_frames,
void WebContents::SendInputEvent(v8::Isolate* isolate,
v8::Local<v8::Value> input_event) {
const auto view = web_contents()->GetRenderWidgetHostView();
const auto view = static_cast<content::RenderWidgetHostViewBase*>(
web_contents()->GetRenderWidgetHostView());
if (!view)
return;
const auto host = view->GetRenderWidgetHost();
if (!host)
return;
int type = mate::GetWebInputEventType(isolate, input_event);
if (blink::WebInputEvent::isMouseEventType(type)) {
if (blink::WebInputEvent::IsMouseEventType(type)) {
blink::WebMouseEvent mouse_event;
if (mate::ConvertFromV8(isolate, input_event, &mouse_event)) {
host->ForwardMouseEvent(mouse_event);
view->ProcessMouseEvent(mouse_event, ui::LatencyInfo());
return;
}
} else if (blink::WebInputEvent::isKeyboardEventType(type)) {
content::NativeWebKeyboardEvent keyboard_event;
} else if (blink::WebInputEvent::IsKeyboardEventType(type)) {
content::NativeWebKeyboardEvent keyboard_event(
blink::WebKeyboardEvent::kRawKeyDown,
blink::WebInputEvent::kNoModifiers,
ui::EventTimeForNow());
if (mate::ConvertFromV8(isolate, input_event, &keyboard_event)) {
host->ForwardKeyboardEvent(keyboard_event);
view->ProcessKeyboardEvent(keyboard_event);
return;
}
} else if (type == blink::WebInputEvent::MouseWheel) {
} else if (type == blink::WebInputEvent::kMouseWheel) {
blink::WebMouseWheelEvent mouse_wheel_event;
if (mate::ConvertFromV8(isolate, input_event, &mouse_wheel_event)) {
host->ForwardWheelEvent(mouse_wheel_event);
view->ProcessMouseWheelEvent(mouse_wheel_event, ui::LatencyInfo());
return;
}
}
@@ -1506,8 +1565,7 @@ void WebContents::CapturePage(mate::Arguments* args) {
}
const auto view = web_contents()->GetRenderWidgetHostView();
const auto host = view ? view->GetRenderWidgetHost() : nullptr;
if (!view || !host) {
if (!view) {
callback.Run(gfx::Image());
return;
}
@@ -1522,19 +1580,19 @@ void WebContents::CapturePage(mate::Arguments* args) {
gfx::Size bitmap_size = view_size;
const gfx::NativeView native_view = view->GetNativeView();
const float scale =
display::Screen::GetScreen()->GetDisplayNearestWindow(native_view)
display::Screen::GetScreen()->GetDisplayNearestView(native_view)
.device_scale_factor();
if (scale > 1.0f)
bitmap_size = gfx::ScaleToCeiledSize(view_size, scale);
host->CopyFromBackingStore(gfx::Rect(rect.origin(), view_size),
bitmap_size,
base::Bind(&OnCapturePageDone, callback),
kBGRA_8888_SkColorType);
view->CopyFromSurface(gfx::Rect(rect.origin(), view_size),
bitmap_size,
base::Bind(&OnCapturePageDone, callback),
kBGRA_8888_SkColorType);
}
void WebContents::OnCursorChange(const content::WebCursor& cursor) {
content::WebCursor::CursorInfo info;
content::CursorInfo info;
cursor.GetCursorInfo(&info);
if (cursor.IsCustom()) {
@@ -1558,69 +1616,91 @@ bool WebContents::IsGuest() const {
}
bool WebContents::IsOffScreen() const {
#if defined(ENABLE_OSR)
return type_ == OFF_SCREEN;
#else
return false;
#endif
}
bool WebContents::IsOffScreenOrEmbedderOffscreen() const {
return IsOffScreen() || (embedder_ && embedder_->IsOffScreen());
}
void WebContents::OnPaint(const gfx::Rect& dirty_rect, const SkBitmap& bitmap) {
mate::Handle<NativeImage> image =
NativeImage::Create(isolate(), gfx::Image::CreateFrom1xBitmap(bitmap));
Emit("paint", dirty_rect, image);
Emit("paint", dirty_rect, gfx::Image::CreateFrom1xBitmap(bitmap));
}
void WebContents::StartPainting() {
if (!IsOffScreen())
return;
#if defined(ENABLE_OSR)
auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
if (osr_rwhv)
osr_rwhv->SetPainting(true);
#endif
}
void WebContents::StopPainting() {
if (!IsOffScreen())
return;
#if defined(ENABLE_OSR)
auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
if (osr_rwhv)
osr_rwhv->SetPainting(false);
#endif
}
bool WebContents::IsPainting() const {
if (!IsOffScreen())
return false;
#if defined(ENABLE_OSR)
const auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
return osr_rwhv && osr_rwhv->IsPainting();
#else
return false;
#endif
}
void WebContents::SetFrameRate(int frame_rate) {
if (!IsOffScreen())
return;
#if defined(ENABLE_OSR)
auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
if (osr_rwhv)
osr_rwhv->SetFrameRate(frame_rate);
#endif
}
int WebContents::GetFrameRate() const {
if (!IsOffScreen())
return 0;
#if defined(ENABLE_OSR)
const auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
return osr_rwhv ? osr_rwhv->GetFrameRate() : 0;
#else
return 0;
#endif
}
void WebContents::Invalidate() {
if (IsOffScreen()) {
#if defined(ENABLE_OSR)
auto* osr_rwhv = static_cast<OffScreenRenderWidgetHostView*>(
web_contents()->GetRenderWidgetHostView());
if (osr_rwhv)
osr_rwhv->Invalidate();
#endif
} else {
const auto window = owner_window();
if (window)
@@ -1628,6 +1708,18 @@ void WebContents::Invalidate() {
}
}
gfx::Size WebContents::GetSizeForNewRenderView(
content::WebContents* wc) const {
if (IsOffScreen() && wc == web_contents()) {
auto relay = NativeWindowRelay::FromWebContents(web_contents());
if (relay) {
return relay->window->GetSize();
}
}
return gfx::Size();
}
void WebContents::SetZoomLevel(double level) {
zoom_controller_->SetZoomLevel(level);
}
@@ -1705,6 +1797,16 @@ void WebContents::SetEmbedder(const WebContents* embedder) {
}
}
v8::Local<v8::Value> WebContents::GetNativeView() const {
gfx::NativeView ptr = web_contents()->GetNativeView();
auto buffer = node::Buffer::Copy(
isolate(), reinterpret_cast<char*>(&ptr), sizeof(gfx::NativeView));
if (buffer.IsEmpty())
return v8::Null(isolate());
else
return buffer.ToLocalChecked();
}
v8::Local<v8::Value> WebContents::DevToolsWebContents(v8::Isolate* isolate) {
if (devtools_web_contents_.IsEmpty())
return v8::Null(isolate);
@@ -1720,6 +1822,12 @@ v8::Local<v8::Value> WebContents::Debugger(v8::Isolate* isolate) {
return v8::Local<v8::Value>::New(isolate, debugger_);
}
void WebContents::GrantOriginAccess(const GURL& url) {
content::ChildProcessSecurityPolicy::GetInstance()->GrantOrigin(
web_contents()->GetMainFrame()->GetProcess()->GetID(),
url::Origin(url));
}
// static
void WebContents::BuildPrototype(v8::Isolate* isolate,
v8::Local<v8::FunctionTemplate> prototype) {
@@ -1728,6 +1836,7 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
.MakeDestroyable()
.SetMethod("getId", &WebContents::GetID)
.SetMethod("getProcessId", &WebContents::GetProcessID)
.SetMethod("getOSProcessId", &WebContents::GetOSProcessID)
.SetMethod("equal", &WebContents::Equal)
.SetMethod("_loadURL", &WebContents::LoadURL)
.SetMethod("downloadURL", &WebContents::DownloadURL)
@@ -1748,12 +1857,12 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
.SetMethod("closeDevTools", &WebContents::CloseDevTools)
.SetMethod("isDevToolsOpened", &WebContents::IsDevToolsOpened)
.SetMethod("isDevToolsFocused", &WebContents::IsDevToolsFocused)
.SetMethod("enableDeviceEmulation",
&WebContents::EnableDeviceEmulation)
.SetMethod("disableDeviceEmulation",
&WebContents::DisableDeviceEmulation)
.SetMethod("enableDeviceEmulation", &WebContents::EnableDeviceEmulation)
.SetMethod("disableDeviceEmulation", &WebContents::DisableDeviceEmulation)
.SetMethod("toggleDevTools", &WebContents::ToggleDevTools)
.SetMethod("inspectElement", &WebContents::InspectElement)
.SetMethod("setIgnoreMenuShortcuts",
&WebContents::SetIgnoreMenuShortcuts)
.SetMethod("setAudioMuted", &WebContents::SetAudioMuted)
.SetMethod("isAudioMuted", &WebContents::IsAudioMuted)
.SetMethod("undo", &WebContents::Undo)
@@ -1774,13 +1883,14 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
.SetMethod("tabTraverse", &WebContents::TabTraverse)
.SetMethod("_send", &WebContents::SendIPCMessage)
.SetMethod("sendInputEvent", &WebContents::SendInputEvent)
.SetMethod("beginFrameSubscription",
&WebContents::BeginFrameSubscription)
.SetMethod("beginFrameSubscription", &WebContents::BeginFrameSubscription)
.SetMethod("endFrameSubscription", &WebContents::EndFrameSubscription)
.SetMethod("startDrag", &WebContents::StartDrag)
.SetMethod("setSize", &WebContents::SetSize)
.SetMethod("isGuest", &WebContents::IsGuest)
#if defined(ENABLE_OSR)
.SetMethod("isOffscreen", &WebContents::IsOffScreen)
#endif
.SetMethod("startPainting", &WebContents::StartPainting)
.SetMethod("stopPainting", &WebContents::StopPainting)
.SetMethod("isPainting", &WebContents::IsPainting)
@@ -1799,6 +1909,7 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
&WebContents::UnregisterServiceWorker)
.SetMethod("inspectServiceWorker", &WebContents::InspectServiceWorker)
.SetMethod("print", &WebContents::Print)
.SetMethod("getPrinters", &WebContents::GetPrinterList)
.SetMethod("_printToPDF", &WebContents::PrintToPDF)
.SetMethod("addWorkSpace", &WebContents::AddWorkSpace)
.SetMethod("removeWorkSpace", &WebContents::RemoveWorkSpace)
@@ -1807,10 +1918,12 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
.SetMethod("copyImageAt", &WebContents::CopyImageAt)
.SetMethod("capturePage", &WebContents::CapturePage)
.SetMethod("setEmbedder", &WebContents::SetEmbedder)
.SetMethod("getNativeView", &WebContents::GetNativeView)
.SetMethod("setWebRTCIPHandlingPolicy",
&WebContents::SetWebRTCIPHandlingPolicy)
.SetMethod("getWebRTCIPHandlingPolicy",
&WebContents::GetWebRTCIPHandlingPolicy)
.SetMethod("_grantOriginAccess", &WebContents::GrantOriginAccess)
.SetProperty("id", &WebContents::ID)
.SetProperty("session", &WebContents::Session)
.SetProperty("hostWebContents", &WebContents::HostWebContents)

View File

@@ -12,12 +12,13 @@
#include "atom/browser/api/save_page_handler.h"
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/common_web_contents_delegate.h"
#include "atom/browser/ui/autofill_popup.h"
#include "content/common/cursors/webcursor.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/keyboard_event_processing_result.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/common/favicon_url.h"
#include "native_mate/handle.h"
#include "printing/backend/print_backend.h"
#include "ui/gfx/image/image.h"
namespace blink {
@@ -41,6 +42,7 @@ namespace atom {
struct SetSizeParams;
class AtomBrowserContext;
class AtomJavaScriptDialogManager;
class WebContentsZoomController;
class WebViewGuestDelegate;
@@ -48,8 +50,7 @@ namespace api {
class WebContents : public mate::TrackableObject<WebContents>,
public CommonWebContentsDelegate,
public content::WebContentsObserver,
public content::NotificationObserver {
public content::WebContentsObserver {
public:
enum Type {
BACKGROUND_PAGE, // A DevTools extension background page.
@@ -82,6 +83,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
int64_t GetID() const;
int GetProcessID() const;
base::ProcessId GetOSProcessID() const;
Type GetType() const;
bool Equal(const WebContents* web_contents) const;
void LoadURL(const GURL& url, const mate::Dictionary& options);
@@ -114,12 +116,16 @@ class WebContents : public mate::TrackableObject<WebContents>,
void DisableDeviceEmulation();
void InspectElement(int x, int y);
void InspectServiceWorker();
void HasServiceWorker(const base::Callback<void(bool)>&);
void HasServiceWorker(
const base::Callback<void(bool)>&);
void UnregisterServiceWorker(const base::Callback<void(bool)>&);
void SetIgnoreMenuShortcuts(bool ignore);
void SetAudioMuted(bool muted);
bool IsAudioMuted();
void Print(mate::Arguments* args);
std::vector<printing::PrinterBasicInfo> GetPrinterList();
void SetEmbedder(const WebContents* embedder);
v8::Local<v8::Value> GetNativeView() const;
// Print current page as PDF.
void PrintToPDF(const base::DictionaryValue& setting,
@@ -176,6 +182,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
// Methods for offscreen rendering
bool IsOffScreen() const;
bool IsOffScreenOrEmbedderOffscreen() const;
void OnPaint(const gfx::Rect& dirty_rect, const SkBitmap& bitmap);
void StartPainting();
void StopPainting();
@@ -183,6 +190,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
void SetFrameRate(int frame_rate);
int GetFrameRate() const;
void Invalidate();
gfx::Size GetSizeForNewRenderView(content::WebContents*) const override;
// Methods for zoom handling.
void SetZoomLevel(double level);
@@ -209,6 +217,10 @@ class WebContents : public mate::TrackableObject<WebContents>,
// Returns the owner window.
v8::Local<v8::Value> GetOwnerBrowserWindow();
// Grants the child process the capability to access URLs with the origin of
// the specified URL.
void GrantOriginAccess(const GURL& url);
// Properties.
int32_t ID() const;
v8::Local<v8::Value> Session(v8::Isolate* isolate);
@@ -263,9 +275,9 @@ class WebContents : public mate::TrackableObject<WebContents>,
void HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
bool PreHandleKeyboardEvent(content::WebContents* source,
const content::NativeWebKeyboardEvent& event,
bool* is_keyboard_shortcut) override;
content::KeyboardEventProcessingResult PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
void EnterFullscreenModeForTab(content::WebContents* source,
const GURL& origin) override;
void ExitFullscreenModeForTab(content::WebContents* source) override;
@@ -296,6 +308,8 @@ class WebContents : public mate::TrackableObject<WebContents>,
std::unique_ptr<content::BluetoothChooser> RunBluetoothChooser(
content::RenderFrameHost* frame,
const content::BluetoothChooser::EventHandler& handler) override;
content::JavaScriptDialogManager* GetJavaScriptDialogManager(
content::WebContents* source) override;
// content::WebContentsObserver:
void BeforeUnloadFired(const base::TimeTicks& proceed_time) override;
@@ -317,11 +331,11 @@ class WebContents : public mate::TrackableObject<WebContents>,
const content::ResourceRequestDetails& details) override;
void DidGetRedirectForResourceRequest(
const content::ResourceRedirectDetails& details) override;
void DidStartNavigation(
content::NavigationHandle* navigation_handle) override;
void DidFinishNavigation(
content::NavigationHandle* navigation_handle) override;
bool OnMessageReceived(const IPC::Message& message) override;
bool OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* frame_host) override;
void WebContentsDestroyed() override;
void NavigationEntryCommitted(
const content::LoadCommittedDetails& load_details) override;
@@ -336,12 +350,6 @@ class WebContents : public mate::TrackableObject<WebContents>,
const MediaPlayerId& id) override;
void DidChangeThemeColor(SkColor theme_color) override;
// content::NotificationObserver:
void Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
void BeforeUnloadDialogCancelled() override;
// brightray::InspectableWebContentsDelegate:
void DevToolsReloadPage() override;
@@ -351,13 +359,6 @@ class WebContents : public mate::TrackableObject<WebContents>,
void DevToolsClosed() override;
private:
struct LoadURLParams {
LoadURLParams() : params(GURL()), id(0) {}
content::NavigationController::LoadURLParams params;
int id;
};
AtomBrowserContext* GetBrowserContext() const;
uint32_t GetNextRequestId() {
@@ -384,10 +385,14 @@ class WebContents : public mate::TrackableObject<WebContents>,
// get the zoom level.
void OnGetZoomLevel(IPC::Message* reply_msg);
void InitZoomController(content::WebContents* web_contents,
const mate::Dictionary& options);
v8::Global<v8::Value> session_;
v8::Global<v8::Value> devtools_web_contents_;
v8::Global<v8::Value> debugger_;
std::unique_ptr<AtomJavaScriptDialogManager> dialog_manager_;
std::unique_ptr<WebViewGuestDelegate> guest_delegate_;
// The host webcontents that may contain this webcontents.
@@ -408,11 +413,6 @@ class WebContents : public mate::TrackableObject<WebContents>,
// Whether to enable devtools.
bool enable_devtools_;
// Container to hold url parms for deferred load when
// there is a pending navigation entry.
LoadURLParams deferred_load_url_;
content::NotificationRegistrar registrar_;
DISALLOW_COPY_AND_ASSIGN(WebContents);
};

View File

@@ -10,6 +10,7 @@
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/browser/browser.h"
#include "atom/browser/native_window.h"
#include "atom/browser/web_contents_preferences.h"
#include "atom/common/native_mate_converters/callback.h"
#include "atom/common/native_mate_converters/file_path_converter.h"
#include "atom/common/native_mate_converters/gfx_converter.h"
@@ -77,28 +78,43 @@ v8::Local<v8::Value> ToBuffer(v8::Isolate* isolate, void* val, int size) {
Window::Window(v8::Isolate* isolate, v8::Local<v8::Object> wrapper,
const mate::Dictionary& options) {
mate::Handle<class WebContents> web_contents;
// If no WebContents was passed to the constructor, create it from options.
if (!options.Get("webContents", &web_contents)) {
// Use options.webPreferences to create WebContents.
mate::Dictionary web_preferences = mate::Dictionary::CreateEmpty(isolate);
options.Get(options::kWebPreferences, &web_preferences);
// Copy the backgroundColor to webContents.
v8::Local<v8::Value> value;
if (options.Get(options::kBackgroundColor, &value))
web_preferences.Set(options::kBackgroundColor, value);
// Use options.webPreferences in WebContents.
mate::Dictionary web_preferences = mate::Dictionary::CreateEmpty(isolate);
options.Get(options::kWebPreferences, &web_preferences);
v8::Local<v8::Value> transparent;
if (options.Get("transparent", &transparent))
web_preferences.Set("transparent", transparent);
// Copy the backgroundColor to webContents.
v8::Local<v8::Value> value;
if (options.Get(options::kBackgroundColor, &value))
web_preferences.Set(options::kBackgroundColor, value);
// Offscreen windows are always created frameless.
bool offscreen;
if (web_preferences.Get("offscreen", &offscreen) && offscreen) {
auto window_options = const_cast<mate::Dictionary&>(options);
window_options.Set(options::kFrame, false);
v8::Local<v8::Value> transparent;
if (options.Get("transparent", &transparent))
web_preferences.Set("transparent", transparent);
#if defined(ENABLE_OSR)
// Offscreen windows are always created frameless.
bool offscreen;
if (web_preferences.Get("offscreen", &offscreen) && offscreen) {
auto window_options = const_cast<mate::Dictionary&>(options);
window_options.Set(options::kFrame, false);
}
#endif
if (options.Get("webContents", &web_contents)) {
// Set webPreferences from options if using an existing webContents.
// These preferences will be used when the webContent launches new
// render processes.
auto* existing_preferences =
WebContentsPreferences::FromWebContents(web_contents->web_contents());
base::DictionaryValue web_preferences_dict;
if (mate::ConvertFromV8(isolate, web_preferences.GetHandle(),
&web_preferences_dict)) {
existing_preferences->web_preferences()->Clear();
existing_preferences->Merge(web_preferences_dict);
}
} else {
// Creates the WebContents used by BrowserWindow.
web_contents = WebContents::Create(isolate, web_preferences);
}
@@ -186,6 +202,8 @@ void Window::OnWindowClosed() {
RemoveFromParentChildWindows();
ResetBrowserView();
// Destroy the native class when window is closed.
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, GetDestroyClosure());
@@ -300,6 +318,10 @@ void Window::OnTouchBarItemResult(const std::string& item_id,
Emit("-touch-bar-interaction", item_id, details);
}
void Window::OnNewWindowForTab() {
Emit("new-window-for-tab");
}
#if defined(OS_WIN)
void Window::OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) {
if (IsWindowMessageHooked(message)) {
@@ -581,6 +603,14 @@ void Window::SetSkipTaskbar(bool skip) {
window_->SetSkipTaskbar(skip);
}
void Window::SetSimpleFullScreen(bool simple_fullscreen) {
window_->SetSimpleFullScreen(simple_fullscreen);
}
bool Window::IsSimpleFullScreen() {
return window_->IsSimpleFullScreen();
}
void Window::SetKiosk(bool kiosk) {
window_->SetKiosk(kiosk);
}
@@ -601,6 +631,14 @@ bool Window::HasShadow() {
return window_->HasShadow();
}
void Window::SetOpacity(const double opacity) {
window_->SetOpacity(opacity);
}
double Window::GetOpacity() {
return window_->GetOpacity();
}
void Window::FocusOnWebView() {
window_->FocusOnWebView();
}
@@ -629,8 +667,11 @@ bool Window::IsDocumentEdited() {
return window_->IsDocumentEdited();
}
void Window::SetIgnoreMouseEvents(bool ignore) {
return window_->SetIgnoreMouseEvents(ignore);
void Window::SetIgnoreMouseEvents(bool ignore, mate::Arguments* args) {
mate::Dictionary options;
bool forward = false;
args->GetNext(&options) && options.Get("forward", &forward);
return window_->SetIgnoreMouseEvents(ignore, forward);
}
void Window::SetContentProtection(bool enable) {
@@ -838,16 +879,31 @@ v8::Local<v8::Value> Window::GetBrowserView() const {
}
void Window::SetBrowserView(v8::Local<v8::Value> value) {
ResetBrowserView();
mate::Handle<BrowserView> browser_view;
if (value->IsNull()) {
window_->SetBrowserView(nullptr);
browser_view_.Reset();
} else if (mate::ConvertFromV8(isolate(), value, &browser_view)) {
window_->SetBrowserView(browser_view->view());
browser_view->web_contents()->SetOwnerWindow(window_.get());
browser_view_.Reset(isolate(), value);
}
}
void Window::ResetBrowserView() {
if (browser_view_.IsEmpty()) {
return;
}
mate::Handle<BrowserView> browser_view;
if (mate::ConvertFromV8(isolate(), GetBrowserView(), &browser_view)) {
browser_view->web_contents()->SetOwnerWindow(nullptr);
}
browser_view_.Reset();
}
bool Window::IsModal() const {
return window_->is_modal();
}
@@ -870,6 +926,30 @@ void Window::SetAutoHideCursor(bool auto_hide) {
window_->SetAutoHideCursor(auto_hide);
}
void Window::SelectPreviousTab() {
window_->SelectPreviousTab();
}
void Window::SelectNextTab() {
window_->SelectNextTab();
}
void Window::MergeAllWindows() {
window_->MergeAllWindows();
}
void Window::MoveTabToNewWindow() {
window_->MoveTabToNewWindow();
}
void Window::ToggleTabBar() {
window_->ToggleTabBar();
}
void Window::AddTabbedWindow(NativeWindow* window) {
window_->AddTabbedWindow(window);
}
void Window::SetVibrancy(mate::Arguments* args) {
std::string type;
@@ -981,11 +1061,15 @@ void Window::BuildPrototype(v8::Isolate* isolate,
.SetMethod("getTitle", &Window::GetTitle)
.SetMethod("flashFrame", &Window::FlashFrame)
.SetMethod("setSkipTaskbar", &Window::SetSkipTaskbar)
.SetMethod("setSimpleFullScreen", &Window::SetSimpleFullScreen)
.SetMethod("isSimpleFullScreen", &Window::IsSimpleFullScreen)
.SetMethod("setKiosk", &Window::SetKiosk)
.SetMethod("isKiosk", &Window::IsKiosk)
.SetMethod("setBackgroundColor", &Window::SetBackgroundColor)
.SetMethod("setHasShadow", &Window::SetHasShadow)
.SetMethod("hasShadow", &Window::HasShadow)
.SetMethod("setOpacity", &Window::SetOpacity)
.SetMethod("getOpacity", &Window::GetOpacity)
.SetMethod("setRepresentedFilename", &Window::SetRepresentedFilename)
.SetMethod("getRepresentedFilename", &Window::GetRepresentedFilename)
.SetMethod("setDocumentEdited", &Window::SetDocumentEdited)
@@ -1010,6 +1094,12 @@ void Window::BuildPrototype(v8::Isolate* isolate,
&Window::IsVisibleOnAllWorkspaces)
#if defined(OS_MACOSX)
.SetMethod("setAutoHideCursor", &Window::SetAutoHideCursor)
.SetMethod("mergeAllWindows", &Window::MergeAllWindows)
.SetMethod("selectPreviousTab", &Window::SelectPreviousTab)
.SetMethod("selectNextTab", &Window::SelectNextTab)
.SetMethod("moveTabToNewWindow", &Window::MoveTabToNewWindow)
.SetMethod("toggleTabBar", &Window::ToggleTabBar)
.SetMethod("addTabbedWindow", &Window::AddTabbedWindow)
#endif
.SetMethod("setVibrancy", &Window::SetVibrancy)
.SetMethod("_setTouchBarItems", &Window::SetTouchBar)

View File

@@ -91,6 +91,7 @@ class Window : public mate::TrackableObject<Window>,
void OnExecuteWindowsCommand(const std::string& command_name) override;
void OnTouchBarItemResult(const std::string& item_id,
const base::DictionaryValue& details) override;
void OnNewWindowForTab() override;
#if defined(OS_WIN)
void OnWindowMessage(UINT message, WPARAM w_param, LPARAM l_param) override;
@@ -153,11 +154,15 @@ class Window : public mate::TrackableObject<Window>,
std::string GetTitle();
void FlashFrame(bool flash);
void SetSkipTaskbar(bool skip);
void SetSimpleFullScreen(bool simple_fullscreen);
bool IsSimpleFullScreen();
void SetKiosk(bool kiosk);
bool IsKiosk();
void SetBackgroundColor(const std::string& color_name);
void SetHasShadow(bool has_shadow);
bool HasShadow();
void SetOpacity(const double opacity);
double GetOpacity();
void FocusOnWebView();
void BlurWebView();
bool IsWebViewFocused();
@@ -165,7 +170,7 @@ class Window : public mate::TrackableObject<Window>,
std::string GetRepresentedFilename();
void SetDocumentEdited(bool edited);
bool IsDocumentEdited();
void SetIgnoreMouseEvents(bool ignore);
void SetIgnoreMouseEvents(bool ignore, mate::Arguments* args);
void SetContentProtection(bool enable);
void SetFocusable(bool focusable);
void SetProgressBar(double progress, mate::Arguments* args);
@@ -185,6 +190,7 @@ class Window : public mate::TrackableObject<Window>,
std::vector<v8::Local<v8::Object>> GetChildWindows() const;
v8::Local<v8::Value> GetBrowserView() const;
void SetBrowserView(v8::Local<v8::Value> value);
void ResetBrowserView();
bool IsModal() const;
v8::Local<v8::Value> GetNativeWindowHandle();
@@ -210,6 +216,13 @@ class Window : public mate::TrackableObject<Window>,
void SetAutoHideCursor(bool auto_hide);
void SelectPreviousTab();
void SelectNextTab();
void MergeAllWindows();
void MoveTabToNewWindow();
void ToggleTabBar();
void AddTabbedWindow(NativeWindow* window);
void SetVibrancy(mate::Arguments* args);
void SetTouchBar(const std::vector<mate::PersistentDictionary>& items);
void RefreshTouchBarItem(const std::string& item_id);

View File

@@ -79,8 +79,12 @@ class EventEmitter : public Wrappable<T> {
const Args&... args) {
v8::Locker locker(isolate());
v8::HandleScope handle_scope(isolate());
v8::Local<v8::Object> wrapper = GetWrapper();
if (wrapper.IsEmpty()) {
return false;
}
v8::Local<v8::Object> event = internal::CreateJSEvent(
isolate(), GetWrapper(), sender, message);
isolate(), wrapper, sender, message);
return EmitWithEvent(name, event, args...);
}

View File

@@ -24,6 +24,7 @@ FrameSubscriber::FrameSubscriber(v8::Isolate* isolate,
view_(view),
callback_(callback),
only_dirty_(only_dirty),
source_id_for_copy_request_(base::UnguessableToken::Create()),
weak_factory_(this) {
}
@@ -32,8 +33,7 @@ bool FrameSubscriber::ShouldCaptureFrame(
base::TimeTicks present_time,
scoped_refptr<media::VideoFrame>* storage,
DeliverFrameCallback* callback) {
const auto host = view_ ? view_->GetRenderWidgetHost() : nullptr;
if (!view_ || !host)
if (!view_)
return false;
if (dirty_rect.IsEmpty())
@@ -45,16 +45,16 @@ bool FrameSubscriber::ShouldCaptureFrame(
gfx::Size view_size = rect.size();
gfx::Size bitmap_size = view_size;
const gfx::NativeView native_view = view_->GetNativeView();
gfx::NativeView native_view = view_->GetNativeView();
const float scale =
display::Screen::GetScreen()->GetDisplayNearestWindow(native_view)
display::Screen::GetScreen()->GetDisplayNearestView(native_view)
.device_scale_factor();
if (scale > 1.0f)
bitmap_size = gfx::ScaleToCeiledSize(view_size, scale);
rect = gfx::Rect(rect.origin(), bitmap_size);
host->CopyFromBackingStore(
view_->CopyFromSurface(
rect,
rect.size(),
base::Bind(&FrameSubscriber::OnFrameDelivered,
@@ -64,6 +64,10 @@ bool FrameSubscriber::ShouldCaptureFrame(
return false;
}
const base::UnguessableToken& FrameSubscriber::GetSourceIdForCopyRequest() {
return source_id_for_copy_request_;
}
void FrameSubscriber::OnFrameDelivered(const FrameCaptureCallback& callback,
const gfx::Rect& damage_rect,
const SkBitmap& bitmap,
@@ -74,20 +78,32 @@ void FrameSubscriber::OnFrameDelivered(const FrameCaptureCallback& callback,
v8::Locker locker(isolate_);
v8::HandleScope handle_scope(isolate_);
size_t rgb_arr_size = bitmap.width() * bitmap.height() *
bitmap.bytesPerPixel();
v8::MaybeLocal<v8::Object> buffer = node::Buffer::New(isolate_, rgb_arr_size);
size_t rgb_row_size = bitmap.width() * bitmap.bytesPerPixel();
v8::MaybeLocal<v8::Object> buffer =
node::Buffer::New(isolate_, rgb_row_size * bitmap.height());
if (buffer.IsEmpty())
return;
bitmap.copyPixelsTo(
reinterpret_cast<uint8_t*>(node::Buffer::Data(buffer.ToLocalChecked())),
rgb_arr_size);
auto local_buffer = buffer.ToLocalChecked();
{
SkAutoLockPixels lock(bitmap);
auto source = static_cast<const unsigned char*>(bitmap.getPixels());
auto target = node::Buffer::Data(local_buffer);
for (int y = 0; y < bitmap.height(); ++y) {
memcpy(target, source, rgb_row_size);
source += bitmap.rowBytes();
target += rgb_row_size;
}
}
v8::Local<v8::Value> damage =
mate::Converter<gfx::Rect>::ToV8(isolate_, damage_rect);
callback_.Run(buffer.ToLocalChecked(), damage);
callback_.Run(local_buffer, damage);
}
} // namespace api

View File

@@ -7,9 +7,9 @@
#include "base/callback.h"
#include "base/memory/weak_ptr.h"
#include "content/browser/renderer_host/render_widget_host_view_frame_subscriber.h"
#include "content/public/browser/readback_types.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/browser/render_widget_host_view_frame_subscriber.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/gfx/geometry/size.h"
#include "v8/include/v8.h"
@@ -32,6 +32,7 @@ class FrameSubscriber : public content::RenderWidgetHostViewFrameSubscriber {
base::TimeTicks present_time,
scoped_refptr<media::VideoFrame>* storage,
DeliverFrameCallback* callback) override;
const base::UnguessableToken& GetSourceIdForCopyRequest() override;
private:
void OnFrameDelivered(const FrameCaptureCallback& callback,
@@ -44,6 +45,8 @@ class FrameSubscriber : public content::RenderWidgetHostViewFrameSubscriber {
FrameCaptureCallback callback_;
bool only_dirty_;
base::UnguessableToken source_id_for_copy_request_;
base::WeakPtrFactory<FrameSubscriber> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(FrameSubscriber);

View File

@@ -6,6 +6,7 @@
#include "atom/browser/atom_browser_main_parts.h"
#include "base/bind.h"
#include "base/memory/ptr_util.h"
#include "base/supports_user_data.h"
namespace mate {
@@ -46,16 +47,19 @@ void TrackableObjectBase::Destroy() {
}
void TrackableObjectBase::AttachAsUserData(base::SupportsUserData* wrapped) {
wrapped->SetUserData(kTrackedObjectKey, new IDUserData(weak_map_id_));
wrapped->SetUserData(kTrackedObjectKey,
base::MakeUnique<IDUserData>(weak_map_id_));
}
// static
int32_t TrackableObjectBase::GetIDFromWrappedClass(base::SupportsUserData* w) {
auto id = static_cast<IDUserData*>(w->GetUserData(kTrackedObjectKey));
if (id)
return *id;
else
return 0;
int32_t TrackableObjectBase::GetIDFromWrappedClass(
base::SupportsUserData* wrapped) {
if (wrapped) {
auto id = static_cast<IDUserData*>(wrapped->GetUserData(kTrackedObjectKey));
if (id)
return *id;
}
return 0;
}
// static

View File

@@ -30,15 +30,15 @@ class TrackableObjectBase {
// Wrap TrackableObject into a class that SupportsUserData.
void AttachAsUserData(base::SupportsUserData* wrapped);
// Get the weak_map_id from SupportsUserData.
static int32_t GetIDFromWrappedClass(base::SupportsUserData* wrapped);
protected:
virtual ~TrackableObjectBase();
// Returns a closure that can destroy the native class.
base::Closure GetDestroyClosure();
// Get the weak_map_id from SupportsUserData.
static int32_t GetIDFromWrappedClass(base::SupportsUserData* wrapped);
// Register a callback that should be destroyed before JavaScript environment
// gets destroyed.
static base::Closure RegisterDestructionCallback(const base::Closure& c);
@@ -62,7 +62,10 @@ class TrackableObject : public TrackableObjectBase,
public:
// Mark the JS object as destroyed.
void MarkDestroyed() {
Wrappable<T>::GetWrapper()->SetAlignedPointerInInternalField(0, nullptr);
v8::Local<v8::Object> wrapper = Wrappable<T>::GetWrapper();
if (!wrapper.IsEmpty()) {
wrapper->SetAlignedPointerInInternalField(0, nullptr);
}
}
bool IsDestroyed() {

View File

@@ -15,6 +15,7 @@
#include "atom/browser/atom_quota_permission_context.h"
#include "atom/browser/atom_resource_dispatcher_host_delegate.h"
#include "atom/browser/atom_speech_recognition_manager_delegate.h"
#include "atom/browser/child_web_contents_tracker.h"
#include "atom/browser/native_window.h"
#include "atom/browser/web_contents_permission_helper.h"
#include "atom/browser/web_contents_preferences.h"
@@ -37,6 +38,7 @@
#include "content/public/browser/resource_dispatcher_host.h"
#include "content/public/browser/site_instance.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/public/common/web_preferences.h"
#include "net/ssl/ssl_cert_request_info.h"
@@ -77,9 +79,10 @@ AtomBrowserClient::~AtomBrowserClient() {
content::WebContents* AtomBrowserClient::GetWebContentsFromProcessID(
int process_id) {
// If the process is a pending process, we should use the old one.
// If the process is a pending process, we should use the web contents
// for the frame host passed into OverrideSiteInstanceForNavigation.
if (base::ContainsKey(pending_processes_, process_id))
process_id = pending_processes_[process_id];
return pending_processes_[process_id];
// Certain render process will be created with no associated render view,
// for example: ServiceWorker.
@@ -87,17 +90,31 @@ content::WebContents* AtomBrowserClient::GetWebContentsFromProcessID(
}
bool AtomBrowserClient::ShouldCreateNewSiteInstance(
content::RenderFrameHost* render_frame_host,
content::BrowserContext* browser_context,
content::SiteInstance* current_instance,
const GURL& url) {
if (url.SchemeIs(url::kJavaScriptScheme))
// "javacript:" scheme should always use same SiteInstance
return false;
if (!IsRendererSandboxed(current_instance->GetProcess()->GetID()))
// non-sandboxed renderers should always create a new SiteInstance
return true;
int process_id = current_instance->GetProcess()->GetID();
if (!IsRendererSandboxed(process_id)) {
if (!RendererUsesNativeWindowOpen(process_id)) {
// non-sandboxed renderers without native window.open should always create
// a new SiteInstance
return true;
}
auto web_contents =
content::WebContents::FromRenderFrameHost(render_frame_host);
if (!ChildWebContentsTracker::IsChildWebContents(web_contents)) {
// Root WebContents should always create new process to make sure
// native addons are loaded correctly after reload / navigation.
// (Non-root WebContents opened by window.open() should try to
// reuse process to allow synchronous cross-window scripting.)
return true;
}
}
// Create new a SiteInstance if navigating to a different site.
auto src_url = current_instance->GetSiteURL();
@@ -109,19 +126,33 @@ bool AtomBrowserClient::ShouldCreateNewSiteInstance(
content::SiteInstance::GetSiteForURL(browser_context, url) != src_url;
}
void AtomBrowserClient::AddSandboxedRendererId(int process_id) {
base::AutoLock auto_lock(sandboxed_renderers_lock_);
sandboxed_renderers_.insert(process_id);
void AtomBrowserClient::AddProcessPreferences(
int process_id, AtomBrowserClient::ProcessPreferences prefs) {
base::AutoLock auto_lock(process_preferences_lock_);
process_preferences_[process_id] = prefs;
}
void AtomBrowserClient::RemoveSandboxedRendererId(int process_id) {
base::AutoLock auto_lock(sandboxed_renderers_lock_);
sandboxed_renderers_.erase(process_id);
void AtomBrowserClient::RemoveProcessPreferences(int process_id) {
base::AutoLock auto_lock(process_preferences_lock_);
process_preferences_.erase(process_id);
}
bool AtomBrowserClient::IsRendererSandboxed(int process_id) {
base::AutoLock auto_lock(sandboxed_renderers_lock_);
return sandboxed_renderers_.count(process_id);
base::AutoLock auto_lock(process_preferences_lock_);
auto it = process_preferences_.find(process_id);
return it != process_preferences_.end() && it->second.sandbox;
}
bool AtomBrowserClient::RendererUsesNativeWindowOpen(int process_id) {
base::AutoLock auto_lock(process_preferences_lock_);
auto it = process_preferences_.find(process_id);
return it != process_preferences_.end() && it->second.native_window_open;
}
bool AtomBrowserClient::RendererDisablesPopups(int process_id) {
base::AutoLock auto_lock(process_preferences_lock_);
auto it = process_preferences_.find(process_id);
return it != process_preferences_.end() && it->second.disable_popups;
}
void AtomBrowserClient::RenderProcessWillLaunch(
@@ -133,11 +164,15 @@ void AtomBrowserClient::RenderProcessWillLaunch(
new WidevineCdmMessageFilter(process_id, host->GetBrowserContext()));
content::WebContents* web_contents = GetWebContentsFromProcessID(process_id);
if (WebContentsPreferences::IsSandboxed(web_contents)) {
AddSandboxedRendererId(host->GetID());
// ensure the sandboxed renderer id is removed later
host->AddObserver(this);
}
ProcessPreferences process_prefs;
process_prefs.sandbox = WebContentsPreferences::IsSandboxed(web_contents);
process_prefs.native_window_open
= WebContentsPreferences::UsesNativeWindowOpen(web_contents);
process_prefs.disable_popups
= WebContentsPreferences::DisablePopups(web_contents);
AddProcessPreferences(host->GetID(), process_prefs);
// ensure the ProcessPreferences is removed later
host->AddObserver(this);
}
content::SpeechRecognitionManagerDelegate*
@@ -182,7 +217,8 @@ void AtomBrowserClient::OverrideSiteInstanceForNavigation(
return;
}
if (!ShouldCreateNewSiteInstance(browser_context, current_instance, url))
if (!ShouldCreateNewSiteInstance(render_frame_host, browser_context,
current_instance, url))
return;
scoped_refptr<content::SiteInstance> site_instance =
@@ -196,19 +232,20 @@ void AtomBrowserClient::OverrideSiteInstanceForNavigation(
content::BrowserThread::UI, FROM_HERE,
base::Bind(&Noop, base::RetainedRef(site_instance)));
// Remember the original renderer process of the pending renderer process.
auto current_process = current_instance->GetProcess();
// Remember the original web contents for the pending renderer process.
auto pending_process = (*new_instance)->GetProcess();
pending_processes_[pending_process->GetID()] = current_process->GetID();
pending_processes_[pending_process->GetID()] =
content::WebContents::FromRenderFrameHost(render_frame_host);;
// Clear the entry in map when process ends.
current_process->AddObserver(this);
pending_process->AddObserver(this);
}
void AtomBrowserClient::AppendExtraCommandLineSwitches(
base::CommandLine* command_line,
int process_id) {
std::string process_type = command_line->GetSwitchValueASCII("type");
if (process_type != "renderer")
std::string process_type =
command_line->GetSwitchValueASCII(::switches::kProcessType);
if (process_type != ::switches::kRendererProcess)
return;
// Copy following switches to child process.
@@ -241,11 +278,9 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(
}
content::WebContents* web_contents = GetWebContentsFromProcessID(process_id);
if (!web_contents)
return;
WebContentsPreferences::AppendExtraCommandLineSwitches(
web_contents, command_line);
if (web_contents)
WebContentsPreferences::AppendExtraCommandLineSwitches(
web_contents, command_line);
}
void AtomBrowserClient::DidCreatePpapiPlugin(
@@ -296,31 +331,41 @@ void AtomBrowserClient::ResourceDispatcherHostCreated() {
}
bool AtomBrowserClient::CanCreateWindow(
int opener_render_process_id,
int opener_render_frame_id,
const GURL& opener_url,
const GURL& opener_top_level_frame_url,
const GURL& source_origin,
WindowContainerType container_type,
content::mojom::WindowContainerType container_type,
const GURL& target_url,
const content::Referrer& referrer,
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::WebWindowFeatures& features,
const blink::mojom::WindowFeatures& features,
const std::vector<std::string>& additional_features,
const scoped_refptr<content::ResourceRequestBodyImpl>& body,
bool user_gesture,
bool opener_suppressed,
content::ResourceContext* context,
int render_process_id,
int opener_render_view_id,
int opener_render_frame_id,
bool* no_javascript_access) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
if (IsRendererSandboxed(render_process_id)) {
if (IsRendererSandboxed(opener_render_process_id)) {
*no_javascript_access = false;
return true;
}
if (RendererUsesNativeWindowOpen(opener_render_process_id)) {
if (RendererDisablesPopups(opener_render_process_id)) {
// <webview> without allowpopups attribute should return
// null from window.open calls
return false;
} else {
*no_javascript_access = false;
return true;
}
}
if (delegate_) {
content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
base::Bind(&api::App::OnCreateWindow,
@@ -330,7 +375,7 @@ bool AtomBrowserClient::CanCreateWindow(
disposition,
additional_features,
body,
render_process_id,
opener_render_process_id,
opener_render_frame_id));
}
@@ -375,13 +420,28 @@ void AtomBrowserClient::WebNotificationAllowed(
void AtomBrowserClient::RenderProcessHostDestroyed(
content::RenderProcessHost* host) {
int process_id = host->GetID();
for (const auto& entry : pending_processes_) {
if (entry.first == process_id || entry.second == process_id) {
pending_processes_.erase(entry.first);
break;
}
pending_processes_.erase(process_id);
RemoveProcessPreferences(process_id);
}
void AtomBrowserClient::RenderProcessReady(content::RenderProcessHost* host) {
render_process_host_pids_[host->GetID()] = base::GetProcId(host->GetHandle());
if (delegate_) {
static_cast<api::App*>(delegate_)->RenderProcessReady(host);
}
}
void AtomBrowserClient::RenderProcessExited(content::RenderProcessHost* host,
base::TerminationStatus status,
int exit_code) {
auto host_pid = render_process_host_pids_.find(host->GetID());
if (host_pid != render_process_host_pids_.end()) {
if (delegate_) {
static_cast<api::App*>(delegate_)->RenderProcessDisconnected(
host_pid->second);
}
render_process_host_pids_.erase(host_pid);
}
RemoveSandboxedRendererId(process_id);
}
} // namespace atom

View File

@@ -80,23 +80,22 @@ class AtomBrowserClient : public brightray::BrowserClient,
std::unique_ptr<content::ClientCertificateDelegate> delegate) override;
void ResourceDispatcherHostCreated() override;
bool CanCreateWindow(
int opener_render_process_id,
int opener_render_frame_id,
const GURL& opener_url,
const GURL& opener_top_level_frame_url,
const GURL& source_origin,
WindowContainerType container_type,
content::mojom::WindowContainerType container_type,
const GURL& target_url,
const content::Referrer& referrer,
const std::string& frame_name,
WindowOpenDisposition disposition,
const blink::WebWindowFeatures& features,
const blink::mojom::WindowFeatures& features,
const std::vector<std::string>& additional_features,
const scoped_refptr<content::ResourceRequestBodyImpl>& body,
bool user_gesture,
bool opener_suppressed,
content::ResourceContext* context,
int render_process_id,
int opener_render_view_id,
int opener_render_frame_id,
bool* no_javascript_access) override;
void GetAdditionalAllowedSchemesForFileSystem(
std::vector<std::string>* schemes) override;
@@ -110,21 +109,33 @@ class AtomBrowserClient : public brightray::BrowserClient,
// content::RenderProcessHostObserver:
void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
void RenderProcessReady(content::RenderProcessHost* host) override;
void RenderProcessExited(content::RenderProcessHost* host,
base::TerminationStatus status,
int exit_code) override;
private:
bool ShouldCreateNewSiteInstance(content::BrowserContext* browser_context,
bool ShouldCreateNewSiteInstance(content::RenderFrameHost* render_frame_host,
content::BrowserContext* browser_context,
content::SiteInstance* current_instance,
const GURL& dest_url);
// Add/remove a process id to `sandboxed_renderers_`.
void AddSandboxedRendererId(int process_id);
void RemoveSandboxedRendererId(int process_id);
struct ProcessPreferences {
bool sandbox;
bool native_window_open;
bool disable_popups;
};
void AddProcessPreferences(int process_id, ProcessPreferences prefs);
void RemoveProcessPreferences(int process_id);
bool IsRendererSandboxed(int process_id);
bool RendererUsesNativeWindowOpen(int process_id);
bool RendererDisablesPopups(int process_id);
// pending_render_process => current_render_process.
std::map<int, int> pending_processes_;
// Set that contains the process ids of all sandboxed renderers
std::set<int> sandboxed_renderers_;
base::Lock sandboxed_renderers_lock_;
// pending_render_process => web contents.
std::map<int, content::WebContents*> pending_processes_;
std::map<int, ProcessPreferences> process_preferences_;
std::map<int, base::ProcessId> render_process_host_pids_;
base::Lock process_preferences_lock_;
std::unique_ptr<AtomResourceDispatcherHostDelegate>
resource_dispatcher_host_delegate_;

View File

@@ -4,6 +4,7 @@
#include "atom/browser/atom_browser_main_parts.h"
#include "atom/browser/api/atom_api_app.h"
#include "atom/browser/api/trackable_object.h"
#include "atom/browser/atom_access_token_store.h"
#include "atom/browser/atom_browser_client.h"
@@ -129,17 +130,14 @@ void AtomBrowserMainParts::PostEarlyInitialization() {
node_bindings_->Initialize();
// Support the "--debug" switch.
node_debugger_.reset(new NodeDebugger(js_env_->isolate()));
// Create the global environment.
node::Environment* env =
node_bindings_->CreateEnvironment(js_env_->context());
node_env_.reset(new NodeEnvironment(env));
// Make sure node can get correct environment when debugging.
if (node_debugger_->IsRunning())
env->AssignToContext(v8::Debug::GetDebugContext(js_env_->isolate()));
// Enable support for v8 inspector
node_debugger_.reset(new NodeDebugger(env));
node_debugger_->Start();
// Add Electron extended APIs.
atom_bindings_->BindTo(js_env_->isolate(), env->process_object());
@@ -186,6 +184,8 @@ void AtomBrowserMainParts::PreMainMessageLoopRun() {
std::unique_ptr<base::DictionaryValue> empty_info(new base::DictionaryValue);
Browser::Get()->DidFinishLaunching(*empty_info);
#endif
Browser::Get()->PreMainMessageLoopRun();
}
bool AtomBrowserMainParts::MainMessageLoopRun(int* result_code) {

View File

@@ -115,7 +115,10 @@ void AtomDownloadManagerDelegate::OnDownloadPathGenerated(
// If user cancels the file save dialog, run the callback with empty FilePath.
callback.Run(path,
content::DownloadItem::TARGET_DISPOSITION_PROMPT,
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, path);
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, path,
path.empty() ?
content::DOWNLOAD_INTERRUPT_REASON_USER_CANCELED :
content::DOWNLOAD_INTERRUPT_REASON_NONE);
}
void AtomDownloadManagerDelegate::Shutdown() {
@@ -132,7 +135,8 @@ bool AtomDownloadManagerDelegate::DetermineDownloadTarget(
callback.Run(download->GetForcedFilePath(),
content::DownloadItem::TARGET_DISPOSITION_OVERWRITE,
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
download->GetForcedFilePath());
download->GetForcedFilePath(),
content::DOWNLOAD_INTERRUPT_REASON_NONE);
return true;
}
@@ -143,7 +147,7 @@ bool AtomDownloadManagerDelegate::DetermineDownloadTarget(
callback.Run(save_path,
content::DownloadItem::TARGET_DISPOSITION_OVERWRITE,
content::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
save_path);
save_path, content::DOWNLOAD_INTERRUPT_REASON_NONE);
return true;
}

View File

@@ -7,33 +7,37 @@
#include <string>
#include <vector>
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/browser/native_window.h"
#include "atom/browser/ui/message_box.h"
#include "base/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "ui/gfx/image/image_skia.h"
using content::JavaScriptMessageType;
using content::JavaScriptDialogType;
namespace atom {
AtomJavaScriptDialogManager::AtomJavaScriptDialogManager(
api::WebContents* api_web_contents)
: api_web_contents_(api_web_contents) {}
void AtomJavaScriptDialogManager::RunJavaScriptDialog(
content::WebContents* web_contents,
const GURL& origin_url,
JavaScriptMessageType message_type,
JavaScriptDialogType dialog_type,
const base::string16& message_text,
const base::string16& default_prompt_text,
const DialogClosedCallback& callback,
bool* did_suppress_message) {
if (message_type != JavaScriptMessageType::JAVASCRIPT_MESSAGE_TYPE_ALERT &&
message_type != JavaScriptMessageType::JAVASCRIPT_MESSAGE_TYPE_CONFIRM) {
if (dialog_type != JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_ALERT &&
dialog_type != JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_CONFIRM) {
callback.Run(false, base::string16());
return;
}
std::vector<std::string> buttons = {"OK"};
if (message_type == JavaScriptMessageType::JAVASCRIPT_MESSAGE_TYPE_CONFIRM) {
if (dialog_type == JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_CONFIRM) {
buttons.push_back("Cancel");
}
@@ -49,13 +53,13 @@ void AtomJavaScriptDialogManager::RunBeforeUnloadDialog(
content::WebContents* web_contents,
bool is_reload,
const DialogClosedCallback& callback) {
// FIXME(zcbenz): the |message_text| is removed, figure out what should we do.
callback.Run(false, base::ASCIIToUTF16("This should not be displayed"));
bool default_prevented = api_web_contents_->Emit("will-prevent-unload");
callback.Run(default_prevented, base::string16());
return;
}
void AtomJavaScriptDialogManager::CancelDialogs(
content::WebContents* web_contents,
bool suppress_callbacks,
bool reset_state) {
}

View File

@@ -11,13 +11,19 @@
namespace atom {
namespace api {
class WebContents;
}
class AtomJavaScriptDialogManager : public content::JavaScriptDialogManager {
public:
explicit AtomJavaScriptDialogManager(api::WebContents* api_web_contents);
// content::JavaScriptDialogManager implementations.
void RunJavaScriptDialog(
content::WebContents* web_contents,
const GURL& origin_url,
content::JavaScriptMessageType javascript_message_type,
content::JavaScriptDialogType dialog_type,
const base::string16& message_text,
const base::string16& default_prompt_text,
const DialogClosedCallback& callback,
@@ -27,13 +33,13 @@ class AtomJavaScriptDialogManager : public content::JavaScriptDialogManager {
bool is_reload,
const DialogClosedCallback& callback) override;
void CancelDialogs(content::WebContents* web_contents,
bool suppress_callbacks,
bool reset_state) override;
private:
static void OnMessageBoxCallback(const DialogClosedCallback& callback,
int code,
bool checkbox_checked);
api::WebContents* api_web_contents_;
};
} // namespace atom

View File

@@ -131,7 +131,7 @@ int AtomPermissionManager::RequestPermissions(
auto web_contents =
content::WebContents::FromRenderFrameHost(render_frame_host);
int request_id = pending_requests_.Add(new PendingRequest(
int request_id = pending_requests_.Add(base::MakeUnique<PendingRequest>(
render_frame_host, permissions, response_callback));
for (size_t i = 0; i < permissions.size(); ++i) {
@@ -187,12 +187,6 @@ blink::mojom::PermissionStatus AtomPermissionManager::GetPermissionStatus(
return blink::mojom::PermissionStatus::GRANTED;
}
void AtomPermissionManager::RegisterPermissionUsage(
content::PermissionType permission,
const GURL& requesting_origin,
const GURL& embedding_origin) {
}
int AtomPermissionManager::SubscribePermissionStatusChange(
content::PermissionType permission,
const GURL& requesting_origin,

View File

@@ -66,9 +66,6 @@ class AtomPermissionManager : public content::PermissionManager {
content::PermissionType permission,
const GURL& requesting_origin,
const GURL& embedding_origin) override;
void RegisterPermissionUsage(content::PermissionType permission,
const GURL& requesting_origin,
const GURL& embedding_origin) override;
int SubscribePermissionStatusChange(
content::PermissionType permission,
const GURL& requesting_origin,
@@ -79,7 +76,7 @@ class AtomPermissionManager : public content::PermissionManager {
private:
class PendingRequest;
using PendingRequestsMap = IDMap<PendingRequest, IDMapOwnPointer>;
using PendingRequestsMap = IDMap<std::unique_ptr<PendingRequest>>;
RequestHandler request_handler_;

View File

@@ -4,13 +4,16 @@
#include "atom/browser/atom_resource_dispatcher_host_delegate.h"
#include "atom/browser/atom_browser_context.h"
#include "atom/browser/login_handler.h"
#include "atom/browser/web_contents_permission_helper.h"
#include "atom/browser/web_contents_preferences.h"
#include "atom/common/atom_constants.h"
#include "atom/common/platform_util.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/download_manager.h"
#include "content/public/browser/stream_info.h"
#include "net/base/escape.h"
#include "net/ssl/client_cert_store.h"
@@ -69,12 +72,26 @@ void OnPdfResourceIntercepted(
if (!web_contents)
return;
if (!WebContentsPreferences::IsPluginsEnabled(web_contents)) {
auto browser_context = web_contents->GetBrowserContext();
auto download_manager =
content::BrowserContext::GetDownloadManager(browser_context);
download_manager->DownloadUrl(
content::DownloadUrlParameters::CreateForWebContentsMainFrame(
web_contents, original_url));
return;
}
// The URL passes the original pdf resource url, that will be requested
// by the webui page.
// chrome://pdf-viewer/index.html?src=https://somepage/123.pdf
content::NavigationController::LoadURLParams params(
GURL(base::StringPrintf("%sindex.html?%s=%s", kPdfViewerUIOrigin,
kPdfPluginSrc, original_url.spec().c_str())));
GURL(base::StringPrintf(
"%sindex.html?%s=%s",
kPdfViewerUIOrigin,
kPdfPluginSrc,
net::EscapeUrlEncodedData(original_url.spec(), false).c_str())));
web_contents->GetController().LoadURLWithParams(params);
}

View File

@@ -11,6 +11,7 @@
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "content/public/browser/web_contents.h"
#include "net/base/escape.h"
namespace atom {
@@ -52,11 +53,20 @@ AtomWebUIControllerFactory::CreateWebUIControllerForURL(content::WebUI* web_ui,
base::StringPairs toplevel_params;
base::SplitStringIntoKeyValuePairs(url.query(), '=', '&', &toplevel_params);
std::string stream_id, src;
const net::UnescapeRule::Type unescape_rules =
net::UnescapeRule::SPACES | net::UnescapeRule::PATH_SEPARATORS |
net::UnescapeRule::URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS |
net::UnescapeRule::REPLACE_PLUS_WITH_SPACE;
for (const auto& param : toplevel_params) {
if (param.first == kPdfPluginSrc) {
src = param.second;
src = net::UnescapeURLComponent(param.second, unescape_rules);
}
}
if (url.has_ref()) {
src = src + '#' + url.ref();
}
auto browser_context = web_ui->GetWebContents()->GetBrowserContext();
return new PdfViewerUI(browser_context, web_ui, src);
}

View File

@@ -22,6 +22,9 @@ class Delegate {
// An error happened.
virtual void OnError(const std::string& error) {}
virtual void OnError(const std::string& error, const int code,
const std::string& domain) {}
// Checking to see if there is an update
virtual void OnCheckingForUpdate() {}

View File

@@ -104,7 +104,7 @@ void AutoUpdater::CheckForUpdates() {
delegate->OnUpdateNotAvailable();
}
} error:^(NSError *error) {
NSMutableString* failureString =
NSMutableString *failureString =
[NSMutableString stringWithString:error.localizedDescription];
if (error.localizedFailureReason) {
[failureString appendString:@": "];
@@ -116,7 +116,8 @@ void AutoUpdater::CheckForUpdates() {
[failureString appendString:@" "];
[failureString appendString:error.localizedRecoverySuggestion];
}
delegate->OnError(base::SysNSStringToUTF8(failureString));
delegate->OnError(base::SysNSStringToUTF8(failureString), error.code,
base::SysNSStringToUTF8(error.domain));
}];
}
@@ -125,7 +126,8 @@ void AutoUpdater::QuitAndInstall() {
if (g_update_available) {
[[g_updater relaunchToInstallUpdate] subscribeError:^(NSError* error) {
if (delegate)
delegate->OnError(base::SysNSStringToUTF8(error.localizedDescription));
delegate->OnError(base::SysNSStringToUTF8(error.localizedDescription),
error.code, base::SysNSStringToUTF8(error.domain));
}];
} else {
if (delegate)

View File

@@ -11,27 +11,28 @@ namespace atom {
void BridgeTaskRunner::MessageLoopIsReady() {
auto message_loop = base::MessageLoop::current();
CHECK(message_loop);
for (const TaskPair& task : tasks_) {
for (TaskPair& task : tasks_) {
message_loop->task_runner()->PostDelayedTask(
base::get<0>(task), base::get<1>(task), base::get<2>(task));
std::get<0>(task), std::move(std::get<1>(task)), std::get<2>(task));
}
for (const TaskPair& task : non_nestable_tasks_) {
for (TaskPair& task : non_nestable_tasks_) {
message_loop->task_runner()->PostNonNestableDelayedTask(
base::get<0>(task), base::get<1>(task), base::get<2>(task));
std::get<0>(task), std::move(std::get<1>(task)), std::get<2>(task));
}
}
bool BridgeTaskRunner::PostDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) {
auto message_loop = base::MessageLoop::current();
if (!message_loop) {
tasks_.push_back(std::make_tuple(from_here, task, delay));
tasks_.push_back(std::make_tuple(from_here, std::move(task), delay));
return true;
}
return message_loop->task_runner()->PostDelayedTask(from_here, task, delay);
return message_loop->task_runner()->PostDelayedTask(
from_here, std::move(task), delay);
}
bool BridgeTaskRunner::RunsTasksOnCurrentThread() const {
@@ -44,16 +45,17 @@ bool BridgeTaskRunner::RunsTasksOnCurrentThread() const {
bool BridgeTaskRunner::PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) {
auto message_loop = base::MessageLoop::current();
if (!message_loop) {
non_nestable_tasks_.push_back(std::make_tuple(from_here, task, delay));
non_nestable_tasks_.push_back(std::make_tuple(
from_here, std::move(task), delay));
return true;
}
return message_loop->task_runner()->PostNonNestableDelayedTask(
from_here, task, delay);
from_here, std::move(task), delay);
}
} // namespace atom

View File

@@ -25,17 +25,17 @@ class BridgeTaskRunner : public base::SingleThreadTaskRunner {
// base::SingleThreadTaskRunner:
bool PostDelayedTask(const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) override;
bool RunsTasksOnCurrentThread() const override;
bool PostNonNestableDelayedTask(
const tracked_objects::Location& from_here,
const base::Closure& task,
base::OnceClosure task,
base::TimeDelta delay) override;
private:
using TaskPair = std::tuple<
tracked_objects::Location, base::Closure, base::TimeDelta>;
tracked_objects::Location, base::OnceClosure, base::TimeDelta>;
std::vector<TaskPair> tasks_;
std::vector<TaskPair> non_nestable_tasks_;

View File

@@ -171,6 +171,12 @@ void Browser::RequestLogin(
observer.OnLogin(login_handler, *(request_details.get()));
}
void Browser::PreMainMessageLoopRun() {
for (BrowserObserver& observer : observers_) {
observer.OnPreMainMessageLoopRun();
}
}
void Browser::NotifyAndShutdown() {
if (is_shutdown_)
return;
@@ -213,4 +219,11 @@ void Browser::OnWindowAllClosed() {
}
}
#if defined(OS_MACOSX)
void Browser::NewWindowForTab() {
for (BrowserObserver& observer : observers_)
observer.OnNewWindowForTab();
}
#endif
} // namespace atom

View File

@@ -119,10 +119,32 @@ class Browser : public WindowListObserver {
// Returns the type name of the current user activity.
std::string GetCurrentActivityType();
// Invalidates the current user activity.
void InvalidateCurrentActivity();
// Updates the current user activity
void UpdateCurrentActivity(const std::string& type,
const base::DictionaryValue& user_info);
// Indicates that an user activity is about to be resumed.
bool WillContinueUserActivity(const std::string& type);
// Indicates a failure to resume a Handoff activity.
void DidFailToContinueUserActivity(const std::string& type,
const std::string& error);
// Resumes an activity via hand-off.
bool ContinueUserActivity(const std::string& type,
const base::DictionaryValue& user_info);
// Indicates that an activity was continued on another device.
void UserActivityWasContinued(const std::string& type,
const base::DictionaryValue& user_info);
// Gives an oportunity to update the Handoff payload.
bool UpdateUserActivityState(const std::string& type,
const base::DictionaryValue& user_info);
// Bounce the dock icon.
enum BounceType {
BOUNCE_CRITICAL = 0,
@@ -183,6 +205,11 @@ class Browser : public WindowListObserver {
// Tell the application to open a url.
void OpenURL(const std::string& url);
#if defined(OS_MACOSX)
// Tell the application to create a new window for a tab.
void NewWindowForTab();
#endif // defined(OS_MACOSX)
// Tell the application that application is activated with visible/invisible
// windows.
void Activate(bool has_visible_windows);
@@ -197,6 +224,8 @@ class Browser : public WindowListObserver {
void RequestLogin(LoginHandler* login_handler,
std::unique_ptr<base::DictionaryValue> request_details);
void PreMainMessageLoopRun();
void AddObserver(BrowserObserver* obs) {
observers_.AddObserver(obs);
}

View File

@@ -4,16 +4,62 @@
#include "atom/browser/browser.h"
#include <fcntl.h>
#include <stdlib.h>
#include "atom/browser/native_window.h"
#include "atom/browser/window_list.h"
#include "atom/common/atom_version.h"
#include "base/command_line.h"
#include "base/environment.h"
#include "base/process/launch.h"
#include "brightray/common/application_info.h"
#if defined(USE_X11)
#include "chrome/browser/ui/libgtkui/gtk_util.h"
#include "chrome/browser/ui/libgtkui/unity_service.h"
#endif
namespace atom {
const char kXdgSettings[] = "xdg-settings";
const char kXdgSettingsDefaultSchemeHandler[] = "default-url-scheme-handler";
bool LaunchXdgUtility(const std::vector<std::string>& argv, int* exit_code) {
*exit_code = EXIT_FAILURE;
int devnull = open("/dev/null", O_RDONLY);
if (devnull < 0) return false;
base::LaunchOptions options;
base::FileHandleMappingVector remap;
remap.push_back(std::make_pair(devnull, STDIN_FILENO));
options.fds_to_remap = &remap;
base::Process process = base::LaunchProcess(argv, options);
close(devnull);
if (!process.IsValid()) return false;
return process.WaitForExit(exit_code);
}
bool SetDefaultWebClient(const std::string& protocol) {
std::unique_ptr<base::Environment> env(base::Environment::Create());
std::vector<std::string> argv;
argv.push_back(kXdgSettings);
argv.push_back("set");
if (!protocol.empty()) {
argv.push_back(kXdgSettingsDefaultSchemeHandler);
argv.push_back(protocol);
}
argv.push_back(libgtkui::GetDesktopName(env.get()));
int exit_code;
bool ran_ok = LaunchXdgUtility(argv, &exit_code);
return ran_ok && exit_code == EXIT_SUCCESS;
}
void Browser::Focus() {
// Focus on the first visible window.
for (const auto& window : WindowList::GetWindows()) {
@@ -33,18 +79,40 @@ void Browser::ClearRecentDocuments() {
void Browser::SetAppUserModelID(const base::string16& name) {
}
bool Browser::RemoveAsDefaultProtocolClient(const std::string& protocol,
mate::Arguments* args) {
return false;
}
bool Browser::SetAsDefaultProtocolClient(const std::string& protocol,
mate::Arguments* args) {
return false;
return SetDefaultWebClient(protocol);
}
bool Browser::IsDefaultProtocolClient(const std::string& protocol,
mate::Arguments* args) {
std::unique_ptr<base::Environment> env(base::Environment::Create());
if (protocol.empty()) return false;
std::vector<std::string> argv;
argv.push_back(kXdgSettings);
argv.push_back("check");
argv.push_back(kXdgSettingsDefaultSchemeHandler);
argv.push_back(protocol);
argv.push_back(libgtkui::GetDesktopName(env.get()));
std::string reply;
int success_code;
bool ran_ok = base::GetAppOutputWithExitCode(base::CommandLine(argv),
&reply, &success_code);
if (!ran_ok || success_code != EXIT_SUCCESS) return false;
// Allow any reply that starts with "yes".
return base::StartsWith(reply, "yes", base::CompareCase::SENSITIVE)
? true
: false;
}
// Todo implement
bool Browser::RemoveAsDefaultProtocolClient(const std::string& protocol,
mate::Arguments* args) {
return false;
}

View File

@@ -144,6 +144,30 @@ std::string Browser::GetCurrentActivityType() {
return base::SysNSStringToUTF8(userActivity.activityType);
}
void Browser::InvalidateCurrentActivity() {
[[AtomApplication sharedApplication] invalidateCurrentActivity];
}
void Browser::UpdateCurrentActivity(const std::string& type,
const base::DictionaryValue& user_info) {
[[AtomApplication sharedApplication]
updateCurrentActivity:base::SysUTF8ToNSString(type)
withUserInfo:DictionaryValueToNSDictionary(user_info)];
}
bool Browser::WillContinueUserActivity(const std::string& type) {
bool prevent_default = false;
for (BrowserObserver& observer : observers_)
observer.OnWillContinueUserActivity(&prevent_default, type);
return prevent_default;
}
void Browser::DidFailToContinueUserActivity(const std::string& type,
const std::string& error) {
for (BrowserObserver& observer : observers_)
observer.OnDidFailToContinueUserActivity(type, error);
}
bool Browser::ContinueUserActivity(const std::string& type,
const base::DictionaryValue& user_info) {
bool prevent_default = false;
@@ -152,6 +176,20 @@ bool Browser::ContinueUserActivity(const std::string& type,
return prevent_default;
}
void Browser::UserActivityWasContinued(const std::string& type,
const base::DictionaryValue& user_info) {
for (BrowserObserver& observer : observers_)
observer.OnUserActivityWasContinued(type, user_info);
}
bool Browser::UpdateUserActivityState(const std::string& type,
const base::DictionaryValue& user_info) {
bool prevent_default = false;
for (BrowserObserver& observer : observers_)
observer.OnUpdateUserActivityState(&prevent_default, type, user_info);
return prevent_default;
}
Browser::LoginItemSettings Browser::GetLoginItemSettings(
const LoginItemSettings& options) {
LoginItemSettings settings;

View File

@@ -55,12 +55,34 @@ class BrowserObserver {
// The browser's accessibility suppport has changed.
virtual void OnAccessibilitySupportChanged() {}
// The app message loop is ready
virtual void OnPreMainMessageLoopRun() {}
#if defined(OS_MACOSX)
// The browser wants to report that an user activity will resume. (macOS only)
virtual void OnWillContinueUserActivity(
bool* prevent_default,
const std::string& type) {}
// The browser wants to report an user activity resuming error. (macOS only)
virtual void OnDidFailToContinueUserActivity(
const std::string& type,
const std::string& error) {}
// The browser wants to resume a user activity via handoff. (macOS only)
virtual void OnContinueUserActivity(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) {}
// The browser wants to notify that an user activity was resumed. (macOS only)
virtual void OnUserActivityWasContinued(
const std::string& type,
const base::DictionaryValue& user_info) {}
// The browser wants to update an user activity payload. (macOS only)
virtual void OnUpdateUserActivityState(
bool* prevent_default,
const std::string& type,
const base::DictionaryValue& user_info) {}
// User clicked the native macOS new tab button. (macOS only)
virtual void OnNewWindowForTab() {}
#endif
protected:

View File

@@ -0,0 +1,33 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "atom/browser/child_web_contents_tracker.h"
#include <unordered_set>
namespace atom {
namespace {
std::unordered_set<content::WebContents*> g_child_web_contents;
} // namespace
ChildWebContentsTracker::ChildWebContentsTracker(
content::WebContents* web_contents)
: content::WebContentsObserver(web_contents) {
g_child_web_contents.insert(web_contents);
}
bool ChildWebContentsTracker::IsChildWebContents(
content::WebContents* web_contents) {
return g_child_web_contents.find(web_contents) != g_child_web_contents.end();
}
void ChildWebContentsTracker::WebContentsDestroyed() {
g_child_web_contents.erase(web_contents());
delete this;
}
} // namespace atom

View File

@@ -0,0 +1,25 @@
// Copyright (c) 2017 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ATOM_BROWSER_CHILD_WEB_CONTENTS_TRACKER_H_
#define ATOM_BROWSER_CHILD_WEB_CONTENTS_TRACKER_H_
#include "content/public/browser/web_contents_observer.h"
namespace atom {
// ChildWebContentsTracker tracks child WebContents
// created by native `window.open()`
class ChildWebContentsTracker : public content::WebContentsObserver {
public:
explicit ChildWebContentsTracker(content::WebContents* web_contents);
static bool IsChildWebContents(content::WebContents* web_contents);
protected:
void WebContentsDestroyed() override;
};
} // namespace atom
#endif // ATOM_BROWSER_CHILD_WEB_CONTENTS_TRACKER_H_

View File

@@ -9,12 +9,12 @@
#include <vector>
#include "atom/browser/atom_browser_context.h"
#include "atom/browser/atom_javascript_dialog_manager.h"
#include "atom/browser/native_window.h"
#include "atom/browser/ui/file_dialog.h"
#include "atom/browser/web_dialog_helper.h"
#include "atom/common/atom_constants.h"
#include "base/files/file_util.h"
#include "base/memory/ptr_util.h"
#include "chrome/browser/printing/print_preview_message_handler.h"
#include "chrome/browser/printing/print_view_manager_basic.h"
#include "chrome/browser/ssl/security_state_tab_helper.h"
@@ -150,7 +150,8 @@ bool IsDevToolsFileSystemAdded(
} // namespace
CommonWebContentsDelegate::CommonWebContentsDelegate()
: html_fullscreen_(false),
: ignore_menu_shortcuts_(false),
html_fullscreen_(false),
native_fullscreen_(false),
devtools_file_system_indexer_(new DevToolsFileSystemIndexer) {
}
@@ -230,15 +231,6 @@ bool CommonWebContentsDelegate::CanOverscrollContent() const {
return false;
}
content::JavaScriptDialogManager*
CommonWebContentsDelegate::GetJavaScriptDialogManager(
content::WebContents* source) {
if (!dialog_manager_)
dialog_manager_.reset(new AtomJavaScriptDialogManager);
return dialog_manager_.get();
}
content::ColorChooser* CommonWebContentsDelegate::OpenColorChooser(
content::WebContents* web_contents,
SkColor color,
@@ -309,7 +301,7 @@ void CommonWebContentsDelegate::DevToolsSaveToFile(
settings.title = url;
settings.default_path = base::FilePath::FromUTF8Unsafe(url);
if (!file_dialog::ShowSaveDialog(settings, &path)) {
base::StringValue url_value(url);
base::Value url_value(url);
web_contents_->CallClientFunction(
"DevToolsAPI.canceledSaveURL", &url_value, nullptr, nullptr);
return;
@@ -393,7 +385,7 @@ void CommonWebContentsDelegate::DevToolsAddFileSystem(
auto pref_service = GetPrefService(GetDevToolsWebContents());
DictionaryPrefUpdate update(pref_service, prefs::kDevToolsFileSystemPaths);
update.Get()->SetWithoutPathExpansion(
path.AsUTF8Unsafe(), base::Value::CreateNullValue());
path.AsUTF8Unsafe(), base::MakeUnique<base::Value>());
web_contents_->CallClientFunction("DevToolsAPI.fileSystemAdded",
file_system_value.get(),
@@ -413,7 +405,7 @@ void CommonWebContentsDelegate::DevToolsRemoveFileSystem(
DictionaryPrefUpdate update(pref_service, prefs::kDevToolsFileSystemPaths);
update.Get()->RemoveWithoutPathExpansion(path, nullptr);
base::StringValue file_system_path_value(path);
base::Value file_system_path_value(path);
web_contents_->CallClientFunction("DevToolsAPI.fileSystemRemoved",
&file_system_path_value,
nullptr, nullptr);
@@ -477,7 +469,7 @@ void CommonWebContentsDelegate::DevToolsSearchInPath(
void CommonWebContentsDelegate::OnDevToolsSaveToFile(
const std::string& url) {
// Notify DevTools.
base::StringValue url_value(url);
base::Value url_value(url);
web_contents_->CallClientFunction(
"DevToolsAPI.savedURL", &url_value, nullptr, nullptr);
}
@@ -485,7 +477,7 @@ void CommonWebContentsDelegate::OnDevToolsSaveToFile(
void CommonWebContentsDelegate::OnDevToolsAppendToFile(
const std::string& url) {
// Notify DevTools.
base::StringValue url_value(url);
base::Value url_value(url);
web_contents_->CallClientFunction(
"DevToolsAPI.appendedToURL", &url_value, nullptr, nullptr);
}
@@ -494,9 +486,9 @@ void CommonWebContentsDelegate::OnDevToolsIndexingWorkCalculated(
int request_id,
const std::string& file_system_path,
int total_work) {
base::FundamentalValue request_id_value(request_id);
base::StringValue file_system_path_value(file_system_path);
base::FundamentalValue total_work_value(total_work);
base::Value request_id_value(request_id);
base::Value file_system_path_value(file_system_path);
base::Value total_work_value(total_work);
web_contents_->CallClientFunction("DevToolsAPI.indexingTotalWorkCalculated",
&request_id_value,
&file_system_path_value,
@@ -507,9 +499,9 @@ void CommonWebContentsDelegate::OnDevToolsIndexingWorked(
int request_id,
const std::string& file_system_path,
int worked) {
base::FundamentalValue request_id_value(request_id);
base::StringValue file_system_path_value(file_system_path);
base::FundamentalValue worked_value(worked);
base::Value request_id_value(request_id);
base::Value file_system_path_value(file_system_path);
base::Value worked_value(worked);
web_contents_->CallClientFunction("DevToolsAPI.indexingWorked",
&request_id_value,
&file_system_path_value,
@@ -520,8 +512,8 @@ void CommonWebContentsDelegate::OnDevToolsIndexingDone(
int request_id,
const std::string& file_system_path) {
devtools_indexing_jobs_.erase(request_id);
base::FundamentalValue request_id_value(request_id);
base::StringValue file_system_path_value(file_system_path);
base::Value request_id_value(request_id);
base::Value file_system_path_value(file_system_path);
web_contents_->CallClientFunction("DevToolsAPI.indexingDone",
&request_id_value,
&file_system_path_value,
@@ -536,8 +528,8 @@ void CommonWebContentsDelegate::OnDevToolsSearchCompleted(
for (const auto& file_path : file_paths) {
file_paths_value.AppendString(file_path);
}
base::FundamentalValue request_id_value(request_id);
base::StringValue file_system_path_value(file_system_path);
base::Value request_id_value(request_id);
base::Value file_system_path_value(file_system_path);
web_contents_->CallClientFunction("DevToolsAPI.searchCompleted",
&request_id_value,
&file_system_path_value,

View File

@@ -20,7 +20,6 @@ using brightray::DevToolsFileSystemIndexer;
namespace atom {
class AtomBrowserContext;
class AtomJavaScriptDialogManager;
class NativeWindow;
class WebDialogHelper;
@@ -54,6 +53,10 @@ class CommonWebContentsDelegate
NativeWindow* owner_window() const { return owner_window_.get(); }
void set_ignore_menu_shortcuts(bool ignore) {
ignore_menu_shortcuts_ = ignore;
}
bool is_html_fullscreen() const { return html_fullscreen_; }
protected:
@@ -62,8 +65,6 @@ class CommonWebContentsDelegate
content::WebContents* source,
const content::OpenURLParams& params) override;
bool CanOverscrollContent() const override;
content::JavaScriptDialogManager* GetJavaScriptDialogManager(
content::WebContents* source) override;
content::ColorChooser* OpenColorChooser(
content::WebContents* web_contents,
SkColor color,
@@ -140,6 +141,8 @@ class CommonWebContentsDelegate
// The window that this WebContents belongs to.
base::WeakPtr<NativeWindow> owner_window_;
bool ignore_menu_shortcuts_;
// Whether window is fullscreened by HTML5 api.
bool html_fullscreen_;
@@ -147,7 +150,6 @@ class CommonWebContentsDelegate
bool native_fullscreen_;
std::unique_ptr<WebDialogHelper> web_dialog_helper_;
std::unique_ptr<AtomJavaScriptDialogManager> dialog_manager_;
scoped_refptr<DevToolsFileSystemIndexer> devtools_file_system_indexer_;
// Make sure BrowserContext is alwasys destroyed after WebContents.

View File

@@ -20,21 +20,23 @@ void CommonWebContentsDelegate::HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
if (event.skip_in_browser ||
event.type == content::NativeWebKeyboardEvent::Char)
event.GetType() == content::NativeWebKeyboardEvent::kChar)
return;
// Escape exits tabbed fullscreen mode.
if (event.windowsKeyCode == ui::VKEY_ESCAPE && is_html_fullscreen())
if (event.windows_key_code == ui::VKEY_ESCAPE && is_html_fullscreen())
ExitFullscreenModeForTab(source);
// Send the event to the menu before sending it to the window
if (event.os_event.type == NSKeyDown &&
[[NSApp mainMenu] performKeyEquivalent:event.os_event])
return;
if (!ignore_menu_shortcuts_) {
// Send the event to the menu before sending it to the window
if (event.os_event.type == NSKeyDown &&
[[NSApp mainMenu] performKeyEquivalent:event.os_event])
return;
if (event.os_event.window &&
[event.os_event.window isKindOfClass:[EventDispatchingWindow class]])
[event.os_event.window redispatchKeyEvent:event.os_event];
if (event.os_event.window &&
[event.os_event.window isKindOfClass:[EventDispatchingWindow class]])
[event.os_event.window redispatchKeyEvent:event.os_event];
}
}
} // namespace atom

View File

@@ -19,11 +19,11 @@ void CommonWebContentsDelegate::HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
// Escape exits tabbed fullscreen mode.
if (event.windowsKeyCode == ui::VKEY_ESCAPE && is_html_fullscreen())
if (event.windows_key_code == ui::VKEY_ESCAPE && is_html_fullscreen())
ExitFullscreenModeForTab(source);
// Let the NativeWindow handle other parts.
if (owner_window())
if (!ignore_menu_shortcuts_ && owner_window())
owner_window()->HandleKeyboardEvent(source, event);
}

View File

@@ -8,6 +8,7 @@
#include "base/command_line.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/public/common/content_switches.h"
#include "gin/array_buffer.h"
#include "gin/v8_initializer.h"
@@ -18,6 +19,7 @@ namespace atom {
JavascriptEnvironment::JavascriptEnvironment()
: initialized_(Initialize()),
isolate_holder_(base::ThreadTaskRunnerHandle::Get()),
isolate_(isolate_holder_.isolate()),
isolate_scope_(isolate_),
locker_(isolate_),

View File

@@ -33,7 +33,7 @@ class BluetoothChooser : public content::BluetoothChooser {
bool is_gatt_connected,
bool is_paired,
int signal_strength_level) override;
void RemoveDevice(const std::string& device_id) override;
void RemoveDevice(const std::string& device_id);
private:
std::vector<DeviceInfo> device_list_;

View File

@@ -15,12 +15,12 @@ LayeredResourceHandler::LayeredResourceHandler(
LayeredResourceHandler::~LayeredResourceHandler() {}
bool LayeredResourceHandler::OnResponseStarted(
void LayeredResourceHandler::OnResponseStarted(
content::ResourceResponse* response,
bool* defer) {
std::unique_ptr<content::ResourceController> controller) {
if (delegate_)
delegate_->OnResponseStarted(response);
return next_handler_->OnResponseStarted(response, defer);
next_handler_->OnResponseStarted(response, std::move(controller));
}
} // namespace atom

View File

@@ -26,8 +26,9 @@ class LayeredResourceHandler : public content::LayeredResourceHandler {
~LayeredResourceHandler() override;
// content::LayeredResourceHandler:
bool OnResponseStarted(content::ResourceResponse* response,
bool* defer) override;
void OnResponseStarted(
content::ResourceResponse* response,
std::unique_ptr<content::ResourceController> controller) override;
private:
Delegate* delegate_;

View File

@@ -6,10 +6,13 @@
#import "base/mac/scoped_nsobject.h"
@interface AtomApplication : NSApplication<CrAppProtocol,
CrAppControlProtocol> {
CrAppControlProtocol,
NSUserActivityDelegate> {
@private
BOOL handlingSendEvent_;
base::scoped_nsobject<NSUserActivity> currentActivity_;
NSCondition* handoffLock_;
BOOL updateReceived_;
}
+ (AtomApplication*)sharedApplication;
@@ -24,5 +27,8 @@
- (void)setCurrentActivity:(NSString*)type
withUserInfo:(NSDictionary*)userInfo
withWebpageURL:(NSURL*)webpageURL;
- (void)invalidateCurrentActivity;
- (void)updateCurrentActivity:(NSString*)type
withUserInfo:(NSDictionary*)userInfo;
@end

View File

@@ -4,11 +4,23 @@
#import "atom/browser/mac/atom_application.h"
#include "atom/browser/mac/dict_util.h"
#include "atom/browser/browser.h"
#include "base/auto_reset.h"
#include "base/strings/sys_string_conversions.h"
#include "content/public/browser/browser_accessibility_state.h"
namespace {
inline void dispatch_sync_main(dispatch_block_t block) {
if ([NSThread isMainThread])
block();
else
dispatch_sync(dispatch_get_main_queue(), block);
}
} // namespace
@implementation AtomApplication
+ (AtomApplication*)sharedApplication {
@@ -35,19 +47,78 @@
[[NSUserActivity alloc] initWithActivityType:type]);
[currentActivity_ setUserInfo:userInfo];
[currentActivity_ setWebpageURL:webpageURL];
[currentActivity_ setDelegate:self];
[currentActivity_ becomeCurrent];
[currentActivity_ setNeedsSave:YES];
}
- (NSUserActivity*)getCurrentActivity {
return currentActivity_.get();
}
- (void)invalidateCurrentActivity {
if (currentActivity_) {
[currentActivity_ invalidate];
currentActivity_.reset();
}
}
- (void)updateCurrentActivity:(NSString*)type
withUserInfo:(NSDictionary*)userInfo {
if (currentActivity_) {
[currentActivity_ addUserInfoEntriesFromDictionary:userInfo];
}
[handoffLock_ lock];
updateReceived_ = YES;
[handoffLock_ signal];
[handoffLock_ unlock];
}
- (void)userActivityWillSave:(NSUserActivity *)userActivity {
__block BOOL shouldWait = NO;
dispatch_sync_main(^{
std::string activity_type(base::SysNSStringToUTF8(userActivity.activityType));
std::unique_ptr<base::DictionaryValue> user_info =
atom::NSDictionaryToDictionaryValue(userActivity.userInfo);
atom::Browser* browser = atom::Browser::Get();
shouldWait = browser->UpdateUserActivityState(activity_type, *user_info) ? YES : NO;
});
if (shouldWait) {
[handoffLock_ lock];
updateReceived_ = NO;
while (!updateReceived_) {
BOOL isSignaled = [handoffLock_ waitUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
if (!isSignaled) break;
}
[handoffLock_ unlock];
}
[userActivity setNeedsSave:YES];
}
- (void)userActivityWasContinued:(NSUserActivity *)userActivity {
dispatch_async(dispatch_get_main_queue(), ^{
std::string activity_type(base::SysNSStringToUTF8(userActivity.activityType));
std::unique_ptr<base::DictionaryValue> user_info =
atom::NSDictionaryToDictionaryValue(userActivity.userInfo);
atom::Browser* browser = atom::Browser::Get();
browser->UserActivityWasContinued(activity_type, *user_info);
});
[userActivity setNeedsSave:YES];
}
- (void)awakeFromNib {
[[NSAppleEventManager sharedAppleEventManager]
setEventHandler:self
andSelector:@selector(handleURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass
andEventID:kAEGetURL];
handoffLock_ = [NSCondition new];
}
- (void)handleURLEvent:(NSAppleEventDescriptor*)event
@@ -72,6 +143,9 @@
bool enableAccessibility = ([self voiceOverEnabled] && [value boolValue]);
[self updateAccessibilityEnabled:enableAccessibility];
}
else if ([attribute isEqualToString:@"AXManualAccessibility"]) {
[self updateAccessibilityEnabled:[value boolValue]];
}
return [super accessibilitySetValue:value forAttribute:attribute];
}

View File

@@ -7,9 +7,36 @@
#import "atom/browser/mac/atom_application.h"
#include "atom/browser/browser.h"
#include "atom/browser/mac/dict_util.h"
#include "base/allocator/allocator_shim.h"
#include "base/allocator/features.h"
#include "base/mac/mac_util.h"
#include "base/mac/scoped_objc_class_swizzler.h"
#include "base/strings/sys_string_conversions.h"
#include "base/values.h"
#if BUILDFLAG(USE_EXPERIMENTAL_ALLOCATOR_SHIM)
// On macOS 10.12, the IME system attempts to allocate a 2^64 size buffer,
// which would typically cause an OOM crash. To avoid this, the problematic
// method is swizzled out and the make-OOM-fatal bit is disabled for the
// duration of the original call. https://crbug.com/654695
static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
@interface OOMDisabledIMKInputSession : NSObject
@end
@implementation OOMDisabledIMKInputSession
- (void)_coreAttributesFromRange:(NSRange)range
whichAttributes:(long long)attributes
completionHandler:(void (^)(void))block {
// The allocator flag is per-process, so other threads may temporarily
// not have fatal OOM occur while this method executes, but it is better
// than crashing when using IME.
base::allocator::SetCallNewHandlerOnMallocFailure(false);
g_swizzle_imk_input_session->GetOriginalImplementation()(self, _cmd, range,
attributes, block);
base::allocator::SetCallNewHandlerOnMallocFailure(true);
}
@end
#endif // BUILDFLAG(USE_EXPERIMENTAL_ALLOCATOR_SHIM)
@implementation AtomApplicationDelegate
- (void)setApplicationDockMenu:(atom::AtomMenuModel*)model {
@@ -35,6 +62,16 @@
std::unique_ptr<base::DictionaryValue> empty_info(new base::DictionaryValue);
atom::Browser::Get()->DidFinishLaunching(*empty_info);
}
#if BUILDFLAG(USE_EXPERIMENTAL_ALLOCATOR_SHIM)
// Disable fatal OOM to hack around an OS bug https://crbug.com/654695.
if (base::mac::IsOS10_12()) {
g_swizzle_imk_input_session = new base::mac::ScopedObjCClassSwizzler(
NSClassFromString(@"IMKInputSession"),
[OOMDisabledIMKInputSession class],
@selector(_coreAttributesFromRange:whichAttributes:completionHandler:));
}
#endif
}
- (NSMenu*)applicationDockMenu:(NSApplication*)sender {
@@ -81,4 +118,23 @@ continueUserActivity:(NSUserActivity*)userActivity
return browser->ContinueUserActivity(activity_type, *user_info) ? YES : NO;
}
- (BOOL)application:(NSApplication*)application willContinueUserActivityWithType:(NSString*)userActivityType {
std::string activity_type(base::SysNSStringToUTF8(userActivityType));
atom::Browser* browser = atom::Browser::Get();
return browser->WillContinueUserActivity(activity_type) ? YES : NO;
}
- (void)application:(NSApplication*)application didFailToContinueUserActivityWithType:(NSString*)userActivityType error:(NSError*)error {
std::string activity_type(base::SysNSStringToUTF8(userActivityType));
std::string error_message(base::SysNSStringToUTF8([error localizedDescription]));
atom::Browser* browser = atom::Browser::Get();
browser->DidFailToContinueUserActivity(activity_type, error_message);
}
- (IBAction)newWindowForTab:(id)sender {
atom::Browser::Get()->NewWindowForTab();
}
@end

View File

@@ -5,6 +5,7 @@
#include "atom/browser/mac/dict_util.h"
#include "base/json/json_writer.h"
#include "base/memory/ptr_util.h"
#include "base/strings/sys_string_conversions.h"
#include "base/values.h"
@@ -45,14 +46,14 @@ std::unique_ptr<base::ListValue> NSArrayToListValue(NSArray* arr) {
if (sub_arr)
result->Append(std::move(sub_arr));
else
result->Append(base::Value::CreateNullValue());
result->Append(base::MakeUnique<base::Value>());
} else if ([value isKindOfClass:[NSDictionary class]]) {
std::unique_ptr<base::DictionaryValue> sub_dict =
NSDictionaryToDictionaryValue(value);
if (sub_dict)
result->Append(std::move(sub_dict));
else
result->Append(base::Value::CreateNullValue());
result->Append(base::MakeUnique<base::Value>());
} else {
result->AppendString(base::SysNSStringToUTF8([value description]));
}
@@ -104,7 +105,7 @@ std::unique_ptr<base::DictionaryValue> NSDictionaryToDictionaryValue(
result->SetWithoutPathExpansion(str_key, std::move(sub_arr));
else
result->SetWithoutPathExpansion(str_key,
base::Value::CreateNullValue());
base::MakeUnique<base::Value>());
} else if ([value isKindOfClass:[NSDictionary class]]) {
std::unique_ptr<base::DictionaryValue> sub_dict =
NSDictionaryToDictionaryValue(value);
@@ -112,7 +113,7 @@ std::unique_ptr<base::DictionaryValue> NSDictionaryToDictionaryValue(
result->SetWithoutPathExpansion(str_key, std::move(sub_dict));
else
result->SetWithoutPathExpansion(str_key,
base::Value::CreateNullValue());
base::MakeUnique<base::Value>());
} else {
result->SetStringWithoutPathExpansion(
str_key,

View File

@@ -2,6 +2,8 @@
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include <vector>
#include "atom/browser/native_browser_view.h"
#include "atom/browser/api/atom_api_web_contents.h"

View File

@@ -5,6 +5,9 @@
#ifndef ATOM_BROWSER_NATIVE_BROWSER_VIEW_H_
#define ATOM_BROWSER_NATIVE_BROWSER_VIEW_H_
#include <vector>
#include "atom/common/draggable_region.h"
#include "base/macros.h"
#include "third_party/skia/include/core/SkColor.h"
@@ -18,10 +21,6 @@ class Rect;
namespace atom {
namespace api {
class WebContents;
}
enum AutoResizeFlags {
kAutoResizeWidth = 0x1,
kAutoResizeHeight = 0x2,
@@ -42,6 +41,10 @@ class NativeBrowserView {
virtual void SetBounds(const gfx::Rect& bounds) = 0;
virtual void SetBackgroundColor(SkColor color) = 0;
// Called when the window needs to update its draggable region.
virtual void UpdateDraggableRegions(
const std::vector<gfx::Rect>& system_drag_exclude_areas) {}
protected:
explicit NativeBrowserView(
brightray::InspectableWebContentsView* web_contents_view);

View File

@@ -6,8 +6,11 @@
#define ATOM_BROWSER_NATIVE_BROWSER_VIEW_MAC_H_
#import <Cocoa/Cocoa.h>
#include <vector>
#include "atom/browser/native_browser_view.h"
#include "atom/common/draggable_region.h"
#include "base/mac/scoped_nsobject.h"
namespace atom {
@@ -20,6 +23,8 @@ class NativeBrowserViewMac : public NativeBrowserView {
void SetAutoResizeFlags(uint8_t flags) override;
void SetBounds(const gfx::Rect& bounds) override;
void SetBackgroundColor(SkColor color) override;
void UpdateDraggableRegions(
const std::vector<gfx::Rect>& system_drag_exclude_areas) override;
private:
DISALLOW_COPY_AND_ASSIGN(NativeBrowserViewMac);

View File

@@ -12,6 +12,147 @@
const NSAutoresizingMaskOptions kDefaultAutoResizingMask =
NSViewMaxXMargin | NSViewMinYMargin;
@interface DragRegionView : NSView
@property (assign) NSPoint initialLocation;
@end
@interface NSWindow ()
- (void)performWindowDragWithEvent:(NSEvent *)event;
@end
@implementation DragRegionView
- (BOOL)mouseDownCanMoveWindow
{
return NO;
}
- (NSView *)hitTest:(NSPoint)aPoint
{
// Pass-through events that don't hit one of the exclusion zones
for (NSView *exlusion_zones in [self subviews]) {
if ([exlusion_zones hitTest:aPoint])
return nil;
}
return self;
}
- (void)mouseDown:(NSEvent *)event
{
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) {
// According to Google, using performWindowDragWithEvent:
// does not generate a NSWindowWillMoveNotification. Hence post one.
[[NSNotificationCenter defaultCenter]
postNotificationName:NSWindowWillMoveNotification
object:self];
[self.window performWindowDragWithEvent:event];
return;
}
if (self.window.styleMask & NSFullScreenWindowMask) {
return;
}
self.initialLocation = [event locationInWindow];
}
- (void)mouseDragged:(NSEvent *)theEvent
{
if ([self.window respondsToSelector:@selector(performWindowDragWithEvent)]) {
return;
}
if (self.window.styleMask & NSFullScreenWindowMask) {
return;
}
NSPoint currentLocation = [NSEvent mouseLocation];
NSPoint newOrigin;
NSRect screenFrame = [[NSScreen mainScreen] frame];
NSSize screenSize = screenFrame.size;
NSRect windowFrame = [self.window frame];
NSSize windowSize = windowFrame.size;
newOrigin.x = currentLocation.x - self.initialLocation.x;
newOrigin.y = currentLocation.y - self.initialLocation.y;
BOOL inMenuBar = (newOrigin.y + windowSize.height) > (screenFrame.origin.y + screenSize.height);
BOOL screenAboveMainScreen = false;
if (inMenuBar) {
for (NSScreen *screen in [NSScreen screens]) {
NSRect currentScreenFrame = [screen frame];
BOOL isHigher = currentScreenFrame.origin.y > screenFrame.origin.y;
// If there's another screen that is generally above the current screen,
// we'll draw a new rectangle that is just above the current screen. If the
// "higher" screen intersects with this rectangle, we'll allow drawing above
// the menubar.
if (isHigher) {
NSRect aboveScreenRect = NSMakeRect(
screenFrame.origin.x,
screenFrame.origin.y + screenFrame.size.height - 10,
screenFrame.size.width,
200
);
BOOL screenAboveIntersects = NSIntersectsRect(currentScreenFrame, aboveScreenRect);
if (screenAboveIntersects) {
screenAboveMainScreen = true;
break;
}
}
}
}
// Don't let window get dragged up under the menu bar
if (inMenuBar && !screenAboveMainScreen) {
newOrigin.y = screenFrame.origin.y + (screenFrame.size.height - windowFrame.size.height);
}
// Move the window to the new location
[self.window setFrameOrigin:newOrigin];
}
// Debugging tips:
// Uncomment the following four lines to color DragRegionView bright red
// #ifdef DEBUG_DRAG_REGIONS
// - (void)drawRect:(NSRect)aRect
// {
// [[NSColor redColor] set];
// NSRectFill([self bounds]);
// }
// #endif
@end
@interface ExcludeDragRegionView : NSView
@end
@implementation ExcludeDragRegionView
- (BOOL)mouseDownCanMoveWindow {
return NO;
}
// Debugging tips:
// Uncomment the following four lines to color ExcludeDragRegionView bright red
// #ifdef DEBUG_DRAG_REGIONS
// - (void)drawRect:(NSRect)aRect
// {
// [[NSColor greenColor] set];
// NSRectFill([self bounds]);
// }
// #endif
@end
namespace atom {
NativeBrowserViewMac::NativeBrowserViewMac(
@@ -51,6 +192,59 @@ void NativeBrowserViewMac::SetBackgroundColor(SkColor color) {
view.layer.backgroundColor = skia::CGColorCreateFromSkColor(color);
}
void NativeBrowserViewMac::UpdateDraggableRegions(
const std::vector<gfx::Rect>& system_drag_exclude_areas) {
NSView* webView = GetInspectableWebContentsView()->GetNativeView();
NSInteger superViewHeight = NSHeight([webView.superview bounds]);
NSInteger webViewHeight = NSHeight([webView bounds]);
NSInteger webViewWidth = NSWidth([webView bounds]);
NSInteger webViewX = NSMinX([webView frame]);
NSInteger webViewY = 0;
// Apple's NSViews have their coordinate system originate at the bottom left,
// meaning that we need to be a bit smarter when it comes to calculating our
// current top offset
if (webViewHeight > superViewHeight) {
webViewY = std::abs(webViewHeight - superViewHeight - (std::abs(NSMinY([webView frame]))));
} else {
webViewY = superViewHeight - NSMaxY([webView frame]);
}
// Remove all DraggableRegionViews that are added last time.
// Note that [webView subviews] returns the view's mutable internal array and
// it should be copied to avoid mutating the original array while enumerating
// it.
base::scoped_nsobject<NSArray> subviews([[webView subviews] copy]);
for (NSView* subview in subviews.get())
if ([subview isKindOfClass:[DragRegionView class]])
[subview removeFromSuperview];
// Create one giant NSView that is draggable.
base::scoped_nsobject<NSView> dragRegion(
[[DragRegionView alloc] initWithFrame:NSZeroRect]);
[dragRegion setFrame:NSMakeRect(0,
0,
webViewWidth,
webViewHeight)];
// Then, on top of that, add "exclusion zones"
for (auto iter = system_drag_exclude_areas.begin();
iter != system_drag_exclude_areas.end();
++iter) {
base::scoped_nsobject<NSView> controlRegion(
[[ExcludeDragRegionView alloc] initWithFrame:NSZeroRect]);
[controlRegion setFrame:NSMakeRect(iter->x() - webViewX,
webViewHeight - iter->bottom() + webViewY,
iter->width(),
iter->height())];
[dragRegion addSubview:controlRegion];
}
// Add the DragRegion to the WebView
[webView addSubview:dragRegion];
}
// static
NativeBrowserView* NativeBrowserView::Create(
brightray::InspectableWebContentsView* web_contents_view) {

View File

@@ -117,6 +117,14 @@ void NativeWindow::InitFromOptions(const mate::Dictionary& options) {
bool center;
if (options.Get(options::kX, &x) && options.Get(options::kY, &y)) {
SetPosition(gfx::Point(x, y));
#if defined(OS_WIN)
// FIXME(felixrieseberg): Dirty, dirty workaround for
// https://github.com/electron/electron/issues/10862
// Somehow, we need to call `SetBounds` twice to get
// usable results. The root cause is still unknown.
SetPosition(gfx::Point(x, y));
#endif
} else if (options.Get(options::kCenter, &center) && center) {
Center();
}
@@ -159,6 +167,10 @@ void NativeWindow::InitFromOptions(const mate::Dictionary& options) {
if (options.Get(options::kHasShadow, &has_shadow)) {
SetHasShadow(has_shadow);
}
double opacity;
if (options.Get(options::kOpacity, &opacity)) {
SetOpacity(opacity);
}
bool top;
if (options.Get(options::kAlwaysOnTop, &top) && top) {
SetAlwaysOnTop(true);
@@ -251,7 +263,7 @@ void NativeWindow::SetSizeConstraints(
SetContentSizeConstraints(content_constraints);
}
extensions::SizeConstraints NativeWindow::GetSizeConstraints() {
extensions::SizeConstraints NativeWindow::GetSizeConstraints() const {
extensions::SizeConstraints content_constraints = GetContentSizeConstraints();
extensions::SizeConstraints window_constraints;
if (content_constraints.HasMaximumSize()) {
@@ -272,7 +284,7 @@ void NativeWindow::SetContentSizeConstraints(
size_constraints_ = size_constraints;
}
extensions::SizeConstraints NativeWindow::GetContentSizeConstraints() {
extensions::SizeConstraints NativeWindow::GetContentSizeConstraints() const {
return size_constraints_;
}
@@ -282,7 +294,7 @@ void NativeWindow::SetMinimumSize(const gfx::Size& size) {
SetSizeConstraints(size_constraints);
}
gfx::Size NativeWindow::GetMinimumSize() {
gfx::Size NativeWindow::GetMinimumSize() const {
return GetSizeConstraints().GetMinimumSize();
}
@@ -292,7 +304,7 @@ void NativeWindow::SetMaximumSize(const gfx::Size& size) {
SetSizeConstraints(size_constraints);
}
gfx::Size NativeWindow::GetMaximumSize() {
gfx::Size NativeWindow::GetMaximumSize() const {
return GetSizeConstraints().GetMaximumSize();
}
@@ -336,6 +348,24 @@ void NativeWindow::SetParentWindow(NativeWindow* parent) {
void NativeWindow::SetAutoHideCursor(bool auto_hide) {
}
void NativeWindow::SelectPreviousTab() {
}
void NativeWindow::SelectNextTab() {
}
void NativeWindow::MergeAllWindows() {
}
void NativeWindow::MoveTabToNewWindow() {
}
void NativeWindow::ToggleTabBar() {
}
void NativeWindow::AddTabbedWindow(NativeWindow* window) {
}
void NativeWindow::SetVibrancy(const std::string& filename) {
}
@@ -597,6 +627,11 @@ void NativeWindow::NotifyTouchBarItemInteraction(
observer.OnTouchBarItemResult(item_id, details);
}
void NativeWindow::NotifyNewWindowForTab() {
for (NativeWindowObserver &observer : observers_)
observer.OnNewWindowForTab();
}
#if defined(OS_WIN)
void NativeWindow::NotifyWindowMessage(
UINT message, WPARAM w_param, LPARAM l_param) {

View File

@@ -18,10 +18,12 @@
#include "base/observer_list.h"
#include "base/supports_user_data.h"
#include "content/public/browser/readback_types.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
#include "extensions/browser/app_window/size_constraints.h"
#include "native_mate/persistent_dictionary.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/image/image_skia.h"
@@ -98,14 +100,14 @@ class NativeWindow : public base::SupportsUserData,
virtual gfx::Rect GetContentBounds();
virtual void SetSizeConstraints(
const extensions::SizeConstraints& size_constraints);
virtual extensions::SizeConstraints GetSizeConstraints();
virtual extensions::SizeConstraints GetSizeConstraints() const;
virtual void SetContentSizeConstraints(
const extensions::SizeConstraints& size_constraints);
virtual extensions::SizeConstraints GetContentSizeConstraints();
virtual extensions::SizeConstraints GetContentSizeConstraints() const;
virtual void SetMinimumSize(const gfx::Size& size);
virtual gfx::Size GetMinimumSize();
virtual gfx::Size GetMinimumSize() const;
virtual void SetMaximumSize(const gfx::Size& size);
virtual gfx::Size GetMaximumSize();
virtual gfx::Size GetMaximumSize() const;
virtual void SetSheetOffset(const double offsetX, const double offsetY);
virtual double GetSheetOffsetX();
virtual double GetSheetOffsetY();
@@ -132,23 +134,28 @@ class NativeWindow : public base::SupportsUserData,
virtual std::string GetTitle() = 0;
virtual void FlashFrame(bool flash) = 0;
virtual void SetSkipTaskbar(bool skip) = 0;
virtual void SetSimpleFullScreen(bool simple_fullscreen) = 0;
virtual bool IsSimpleFullScreen() = 0;
virtual void SetKiosk(bool kiosk) = 0;
virtual bool IsKiosk() = 0;
virtual void SetBackgroundColor(const std::string& color_name) = 0;
virtual void SetHasShadow(bool has_shadow) = 0;
virtual bool HasShadow() = 0;
virtual void SetOpacity(const double opacity) = 0;
virtual double GetOpacity() = 0;
virtual void SetRepresentedFilename(const std::string& filename);
virtual std::string GetRepresentedFilename();
virtual void SetDocumentEdited(bool edited);
virtual bool IsDocumentEdited();
virtual void SetIgnoreMouseEvents(bool ignore) = 0;
virtual void SetIgnoreMouseEvents(bool ignore, bool forward) = 0;
virtual void SetContentProtection(bool enable) = 0;
virtual void SetFocusable(bool focusable);
virtual void SetMenu(AtomMenuModel* menu);
virtual void SetParentWindow(NativeWindow* parent);
virtual void SetBrowserView(NativeBrowserView* browser_view) = 0;
virtual gfx::NativeWindow GetNativeWindow() = 0;
virtual gfx::AcceleratedWidget GetAcceleratedWidget() = 0;
virtual gfx::NativeView GetNativeView() const = 0;
virtual gfx::NativeWindow GetNativeWindow() const = 0;
virtual gfx::AcceleratedWidget GetAcceleratedWidget() const = 0;
// Taskbar/Dock APIs.
enum ProgressState {
@@ -179,6 +186,14 @@ class NativeWindow : public base::SupportsUserData,
virtual void RefreshTouchBarItem(const std::string& item_id);
virtual void SetEscapeTouchBarItem(const mate::PersistentDictionary& item);
// Native Tab API
virtual void SelectPreviousTab();
virtual void SelectNextTab();
virtual void MergeAllWindows();
virtual void MoveTabToNewWindow();
virtual void ToggleTabBar();
virtual void AddTabbedWindow(NativeWindow* window);
// Webview APIs.
virtual void FocusOnWebView();
virtual void BlurWebView();
@@ -214,6 +229,12 @@ class NativeWindow : public base::SupportsUserData,
virtual void HandleKeyboardEvent(
content::WebContents*,
const content::NativeWebKeyboardEvent& event) {}
virtual void ShowAutofillPopup(
content::RenderFrameHost* frame_host,
const gfx::RectF& bounds,
const std::vector<base::string16>& values,
const std::vector<base::string16>& labels) {}
virtual void HideAutofillPopup(content::RenderFrameHost* frame_host) {}
// Public API used by platform-dependent delegates and observers to send UI
// related notifications.
@@ -243,6 +264,7 @@ class NativeWindow : public base::SupportsUserData,
void NotifyWindowExecuteWindowsCommand(const std::string& command);
void NotifyTouchBarItemInteraction(const std::string& item_id,
const base::DictionaryValue& details);
void NotifyNewWindowForTab();
#if defined(OS_WIN)
void NotifyWindowMessage(UINT message, WPARAM w_param, LPARAM l_param);
@@ -280,8 +302,10 @@ class NativeWindow : public base::SupportsUserData,
const std::vector<DraggableRegion>& regions);
// Converts between content bounds and window bounds.
virtual gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds) = 0;
virtual gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds) = 0;
virtual gfx::Rect ContentBoundsToWindowBounds(
const gfx::Rect& bounds) const = 0;
virtual gfx::Rect WindowBoundsToContentBounds(
const gfx::Rect& bounds) const = 0;
// Called when the window needs to update its draggable region.
virtual void UpdateDraggableRegions(

View File

@@ -76,21 +76,26 @@ class NativeWindowMac : public NativeWindow,
std::string GetTitle() override;
void FlashFrame(bool flash) override;
void SetSkipTaskbar(bool skip) override;
void SetSimpleFullScreen(bool simple_fullscreen) override;
bool IsSimpleFullScreen() override;
void SetKiosk(bool kiosk) override;
bool IsKiosk() override;
void SetBackgroundColor(const std::string& color_name) override;
void SetHasShadow(bool has_shadow) override;
bool HasShadow() override;
void SetOpacity(const double opacity) override;
double GetOpacity() override;
void SetRepresentedFilename(const std::string& filename) override;
std::string GetRepresentedFilename() override;
void SetDocumentEdited(bool edited) override;
bool IsDocumentEdited() override;
void SetIgnoreMouseEvents(bool ignore) override;
void SetIgnoreMouseEvents(bool ignore, bool) override;
void SetContentProtection(bool enable) override;
void SetBrowserView(NativeBrowserView* browser_view) override;
void SetParentWindow(NativeWindow* parent) override;
gfx::NativeWindow GetNativeWindow() override;
gfx::AcceleratedWidget GetAcceleratedWidget() override;
gfx::NativeView GetNativeView() const override;
gfx::NativeWindow GetNativeWindow() const override;
gfx::AcceleratedWidget GetAcceleratedWidget() const override;
void SetProgressBar(double progress, const ProgressState state) override;
void SetOverlayIcon(const gfx::Image& overlay,
const std::string& description) override;
@@ -100,6 +105,13 @@ class NativeWindowMac : public NativeWindow,
void SetAutoHideCursor(bool auto_hide) override;
void SelectPreviousTab() override;
void SelectNextTab() override;
void MergeAllWindows() override;
void MoveTabToNewWindow() override;
void ToggleTabBar() override;
void AddTabbedWindow(NativeWindow* window) override;
void SetVibrancy(const std::string& type) override;
void SetTouchBar(
const std::vector<mate::PersistentDictionary>& items) override;
@@ -126,11 +138,16 @@ class NativeWindowMac : public NativeWindow,
NORMAL,
HIDDEN,
HIDDEN_INSET,
CUSTOM_BUTTONS_ON_HOVER,
};
TitleBarStyle title_bar_style() const { return title_bar_style_; }
bool zoom_to_page_width() const { return zoom_to_page_width_; }
bool fullscreen_window_title() const { return fullscreen_window_title_; }
bool simple_fullscreen() const { return always_simple_fullscreen_; }
protected:
// Return a vector of non-draggable regions that fill a window of size
// |width| by |height|, but leave gaps where the window should be draggable.
@@ -139,18 +156,19 @@ class NativeWindowMac : public NativeWindow,
private:
// NativeWindow:
gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds);
gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds);
gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds) const;
gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds) const;
void UpdateDraggableRegions(
const std::vector<DraggableRegion>& regions) override;
void InternalSetParentWindow(NativeWindow* parent, bool attach);
void ShowWindowButton(NSWindowButton button);
void InstallView();
void UninstallView();
// Install the drag view, which will cover the whole window and decides
// whehter we can drag.
// whether we can drag.
void UpdateDraggableRegionViews(const std::vector<DraggableRegion>& regions);
void RegisterInputEventObserver(content::RenderViewHost* host);
@@ -175,6 +193,8 @@ class NativeWindowMac : public NativeWindow,
bool zoom_to_page_width_;
bool fullscreen_window_title_;
NSInteger attention_request_id_; // identifier from requestUserAttention
// The presentation options before entering kiosk mode.
@@ -183,6 +203,17 @@ class NativeWindowMac : public NativeWindow,
// The "titleBarStyle" option.
TitleBarStyle title_bar_style_;
// Simple (pre-Lion) Fullscreen Settings
bool always_simple_fullscreen_;
bool is_simple_fullscreen_;
bool was_maximizable_;
bool was_movable_;
NSRect original_frame_;
NSUInteger simple_fullscreen_mask_;
// The presentation options before entering simple fullscreen mode.
NSApplicationPresentationOptions simple_fullscreen_options_;
DISALLOW_COPY_AND_ASSIGN(NativeWindowMac);
};

View File

@@ -4,9 +4,11 @@
#include "atom/browser/native_window_mac.h"
#include <AvailabilityMacros.h>
#include <Quartz/Quartz.h>
#include <string>
#include "atom/browser/browser.h"
#include "atom/browser/native_browser_view_mac.h"
#include "atom/browser/ui/cocoa/atom_touch_bar.h"
#include "atom/browser/window_list.h"
@@ -46,6 +48,102 @@ bool ScopedDisableResize::disable_resize_ = false;
} // namespace
// Custom Quit, Minimize and Full Screen button container for frameless
// windows.
@interface CustomWindowButtonView : NSView {
@private
BOOL mouse_inside_;
}
@end
@implementation CustomWindowButtonView
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
NSButton* close_button = [NSWindow standardWindowButton:NSWindowCloseButton
forStyleMask:NSTitledWindowMask];
NSButton* miniaturize_button =
[NSWindow standardWindowButton:NSWindowMiniaturizeButton
forStyleMask:NSTitledWindowMask];
NSButton* zoom_button = [NSWindow standardWindowButton:NSWindowZoomButton
forStyleMask:NSTitledWindowMask];
CGFloat x = 0;
const CGFloat space_between = 20;
[close_button setFrameOrigin:NSMakePoint(x, 0)];
x += space_between;
[self addSubview:close_button];
[miniaturize_button setFrameOrigin:NSMakePoint(x, 0)];
x += space_between;
[self addSubview:miniaturize_button];
[zoom_button setFrameOrigin:NSMakePoint(x, 0)];
x += space_between;
[self addSubview:zoom_button];
const auto last_button_frame = zoom_button.frame;
[self setFrameSize:NSMakeSize(last_button_frame.origin.x +
last_button_frame.size.width,
last_button_frame.size.height)];
mouse_inside_ = NO;
[self setNeedsDisplayForButtons];
return self;
}
- (void)viewDidMoveToWindow {
if (!self.window) {
return;
}
// Stay in upper left corner.
const CGFloat top_margin = 3;
const CGFloat left_margin = 7;
[self setAutoresizingMask:NSViewMaxXMargin | NSViewMinYMargin];
[self setFrameOrigin:NSMakePoint(left_margin, self.window.frame.size.height -
self.frame.size.height -
top_margin)];
}
- (BOOL)_mouseInGroup:(NSButton*)button {
return mouse_inside_;
}
- (void)updateTrackingAreas {
auto tracking_area = [[[NSTrackingArea alloc]
initWithRect:NSZeroRect
options:NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways |
NSTrackingInVisibleRect
owner:self
userInfo:nil] autorelease];
[self addTrackingArea:tracking_area];
}
- (void)mouseEntered:(NSEvent*)event {
[super mouseEntered:event];
mouse_inside_ = YES;
[self setNeedsDisplayForButtons];
}
- (void)mouseExited:(NSEvent*)event {
[super mouseExited:event];
mouse_inside_ = NO;
[self setNeedsDisplayForButtons];
}
- (void)setNeedsDisplayForButtons {
for (NSView* subview in self.subviews) {
[subview setHidden:!mouse_inside_];
[subview setNeedsDisplay:YES];
}
}
@end
// This view always takes the size of its superview. It is intended to be used
// as a NSWindow's contentView. It is needed because NSWindow's implementation
// explicitly resizes the contentView at inopportune times.
@@ -75,6 +173,8 @@ bool ScopedDisableResize::disable_resize_ = false;
@private
atom::NativeWindowMac* shell_;
bool is_zooming_;
int level_;
bool is_resizable_;
}
- (id)initWithShell:(atom::NativeWindowMac*)shell;
@end
@@ -85,6 +185,7 @@ bool ScopedDisableResize::disable_resize_ = false;
if ((self = [super init])) {
shell_ = shell;
is_zooming_ = false;
level_ = [shell_->GetNativeWindow() level];
}
return self;
}
@@ -204,11 +305,19 @@ bool ScopedDisableResize::disable_resize_ = false;
shell_->NotifyWindowMoved();
}
- (void)windowWillMiniaturize:(NSNotification*)notification {
NSWindow* window = shell_->GetNativeWindow();
// store the current status window level to be restored in windowDidDeminiaturize
level_ = [window level];
[window setLevel:NSNormalWindowLevel];
}
- (void)windowDidMiniaturize:(NSNotification*)notification {
shell_->NotifyWindowMinimize();
}
- (void)windowDidDeminiaturize:(NSNotification*)notification {
[shell_->GetNativeWindow() setLevel:level_];
shell_->NotifyWindowRestore();
}
@@ -228,6 +337,9 @@ bool ScopedDisableResize::disable_resize_ = false;
}
- (void)windowWillEnterFullScreen:(NSNotification*)notification {
// Setting resizable to true before entering fullscreen
is_resizable_ = shell_->IsResizable();
shell_->SetResizable(true);
// Hide the native toolbar before entering fullscreen, so there is no visual
// artifacts.
if (base::mac::IsAtLeastOS10_10() &&
@@ -248,7 +360,9 @@ bool ScopedDisableResize::disable_resize_ = false;
base::mac::IsAtLeastOS10_10() &&
// FIXME(zcbenz): Showing titlebar for hiddenInset window is weird under
// fullscreen mode.
shell_->title_bar_style() != atom::NativeWindowMac::HIDDEN_INSET) {
// Show title if fullscreen_window_title flag is set
(shell_->title_bar_style() != atom::NativeWindowMac::HIDDEN_INSET ||
shell_->fullscreen_window_title())) {
[window setTitleVisibility:NSWindowTitleVisible];
}
@@ -272,7 +386,8 @@ bool ScopedDisableResize::disable_resize_ = false;
NSWindow* window = shell_->GetNativeWindow();
if ((shell_->transparent() || !shell_->has_frame()) &&
base::mac::IsAtLeastOS10_10() &&
shell_->title_bar_style() != atom::NativeWindowMac::HIDDEN_INSET) {
(shell_->title_bar_style() != atom::NativeWindowMac::HIDDEN_INSET ||
shell_->fullscreen_window_title())) {
[window setTitleVisibility:NSWindowTitleHidden];
}
@@ -284,6 +399,7 @@ bool ScopedDisableResize::disable_resize_ = false;
}
- (void)windowDidExitFullScreen:(NSNotification*)notification {
shell_->SetResizable(is_resizable_);
shell_->NotifyWindowLeaveFullScreen();
}
@@ -299,7 +415,7 @@ bool ScopedDisableResize::disable_resize_ = false;
- (BOOL)windowShouldClose:(id)window {
// When user tries to close the window by clicking the close button, we do
// not close the window immediately, instead we try to close the web page
// fisrt, and when the web page is closed the window will also be closed.
// first, and when the web page is closed the window will also be closed.
shell_->RequestToClosePage();
return NO;
}
@@ -321,6 +437,11 @@ bool ScopedDisableResize::disable_resize_ = false;
shell_->NotifyWindowSheetEnd();
}
- (IBAction)newWindowForTab:(id)sender {
shell_->NotifyNewWindowForTab();
atom::Browser::Get()->NewWindowForTab();
}
@end
@interface AtomPreviewItem : NSObject <QLPreviewItem>
@@ -345,7 +466,7 @@ bool ScopedDisableResize::disable_resize_ = false;
@end
#if !defined(MAC_OS_X_VERSION_10_12)
#if !defined(AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER)
enum {
NSWindowTabbingModeDisallowed = 2
@@ -354,9 +475,15 @@ enum {
@interface NSWindow (SierraSDK)
- (void)setTabbingMode:(NSInteger)mode;
- (void)setTabbingIdentifier:(NSString*)identifier;
- (void)addTabbedWindow:(NSWindow*)window ordered:(NSWindowOrderingMode)ordered;
- (IBAction)selectPreviousTab:(id)sender;
- (IBAction)selectNextTab:(id)sender;
- (IBAction)mergeAllWindows:(id)sender;
- (IBAction)moveTabToNewWindow:(id)sender;
- (IBAction)toggleTabBar:(id)sender;
@end
#endif // MAC_OS_X_VERSION_10_12
#endif
@interface AtomNSWindow : EventDispatchingWindow<QLPreviewPanelDataSource, QLPreviewPanelDelegate, NSTouchBarDelegate> {
@private
@@ -596,6 +723,29 @@ enum {
[[QLPreviewPanel sharedPreviewPanel] makeKeyAndOrderFront:nil];
}
// Custom window button methods
- (void)performClose:(id)sender {
if (shell_->title_bar_style() == atom::NativeWindowMac::CUSTOM_BUTTONS_ON_HOVER)
[[self delegate] windowShouldClose:self];
else
[super performClose:sender];
}
- (void)toggleFullScreen:(id)sender {
if (shell_->simple_fullscreen())
shell_->SetSimpleFullScreen(!shell_->IsSimpleFullScreen());
else
[super toggleFullScreen:sender];
}
- (void)performMiniaturize:(id)sender {
if (shell_->title_bar_style() == atom::NativeWindowMac::CUSTOM_BUTTONS_ON_HOVER)
[self miniaturize:self];
else
[super performMiniaturize:sender];
}
@end
@interface ControlRegionView : NSView
@@ -661,9 +811,11 @@ struct Converter<atom::NativeWindowMac::TitleBarStyle> {
return false;
if (title_bar_style == "hidden") {
*out = atom::NativeWindowMac::HIDDEN;
} else if (title_bar_style == "hidden-inset" || // Deprecate this after 2.0
} else if (title_bar_style == "hidden-inset" || // TODO(kevinsawicki): Remove in 2.0, deprecate before then with warnings
title_bar_style == "hiddenInset") {
*out = atom::NativeWindowMac::HIDDEN_INSET;
} else if (title_bar_style == "customButtonsOnHover") {
*out = atom::NativeWindowMac::CUSTOM_BUTTONS_ON_HOVER;
} else {
return false;
}
@@ -684,8 +836,11 @@ NativeWindowMac::NativeWindowMac(
is_kiosk_(false),
was_fullscreen_(false),
zoom_to_page_width_(false),
fullscreen_window_title_(false),
attention_request_id_(0),
title_bar_style_(NORMAL) {
title_bar_style_(NORMAL),
always_simple_fullscreen_(false),
is_simple_fullscreen_(false) {
int width = 800, height = 600;
options.Get(options::kWidth, &width);
options.Get(options::kHeight, &height);
@@ -726,6 +881,11 @@ NativeWindowMac::NativeWindowMac(
}
NSUInteger styleMask = NSTitledWindowMask;
if (title_bar_style_ == CUSTOM_BUTTONS_ON_HOVER &&
base::mac::IsAtLeastOS10_10() &&
(!useStandardWindow || transparent() || !has_frame())) {
styleMask = NSFullSizeContentViewWindowMask;
}
if (minimizable) {
styleMask |= NSMiniaturizableWindowMask;
}
@@ -780,6 +940,7 @@ NativeWindowMac::NativeWindowMac(
if (transparent() || !has_frame()) {
if (base::mac::IsAtLeastOS10_10()) {
// Don't show title bar.
[window_ setTitlebarAppearsTransparent:YES];
[window_ setTitleVisibility:NSWindowTitleHidden];
}
// Remove non-transparent corners, see http://git.io/vfonD.
@@ -823,6 +984,10 @@ NativeWindowMac::NativeWindowMac(
options.Get(options::kZoomToPageWidth, &zoom_to_page_width_);
options.Get(options::kFullscreenWindowTitle, &fullscreen_window_title_);
options.Get(options::kSimpleFullScreen, &always_simple_fullscreen_);
// Enable the NSView to accept first mouse event.
bool acceptsFirstMouse = false;
options.Get(options::kAcceptFirstMouse, &acceptsFirstMouse);
@@ -923,6 +1088,10 @@ void NativeWindowMac::Show() {
return;
}
// Reattach the window to the parent to actually show it.
if (parent())
InternalSetParentWindow(parent(), true);
// This method is supposed to put focus on window, however if the app does not
// have focus then "makeKeyAndOrderFront" will only show the window.
[NSApp activateIgnoringOtherApps:YES];
@@ -931,6 +1100,10 @@ void NativeWindowMac::Show() {
}
void NativeWindowMac::ShowInactive() {
// Reattach the window to the parent to actually show it.
if (parent())
InternalSetParentWindow(parent(), true);
[window_ orderFrontRegardless];
}
@@ -941,6 +1114,10 @@ void NativeWindowMac::Hide() {
return;
}
// Deattach the window from the parent before.
if (parent())
InternalSetParentWindow(parent(), false);
[window_ orderOut:nil];
}
@@ -1209,6 +1386,80 @@ void NativeWindowMac::FlashFrame(bool flash) {
void NativeWindowMac::SetSkipTaskbar(bool skip) {
}
void NativeWindowMac::SetSimpleFullScreen(bool simple_fullscreen) {
NSWindow* window = GetNativeWindow();
if (simple_fullscreen && !is_simple_fullscreen_) {
is_simple_fullscreen_ = true;
// Take note of the current window size
original_frame_ = [window frame];
simple_fullscreen_options_ = [NSApp currentSystemPresentationOptions];
simple_fullscreen_mask_ = [window styleMask];
// We can simulate the pre-Lion fullscreen by auto-hiding the dock and menu bar
NSApplicationPresentationOptions options =
NSApplicationPresentationAutoHideDock +
NSApplicationPresentationAutoHideMenuBar;
[NSApp setPresentationOptions:options];
was_maximizable_ = IsMaximizable();
was_movable_ = IsMovable();
NSRect fullscreenFrame = [window.screen frame];
if ( !fullscreen_window_title() ) {
// Hide the titlebar
SetStyleMask(false, NSTitledWindowMask);
// Resize the window to accomodate the _entire_ screen size
fullscreenFrame.size.height -= [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
} else {
// No need to hide the title, but we should still hide the window buttons
[[window standardWindowButton:NSWindowZoomButton] setHidden:YES];
[[window standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES];
[[window standardWindowButton:NSWindowCloseButton] setHidden:YES];
}
[window setFrame:fullscreenFrame display: YES animate: YES];
// Fullscreen windows can't be resized, minimized, maximized, or moved
SetMinimizable(false);
SetResizable(false);
SetMaximizable(false);
SetMovable(false);
} else if (!simple_fullscreen && is_simple_fullscreen_) {
is_simple_fullscreen_ = false;
if ( !fullscreen_window_title() ) {
// Restore the titlebar
SetStyleMask(true, NSTitledWindowMask);
} else {
// Show the window buttons
[[window standardWindowButton:NSWindowZoomButton] setHidden:NO];
[[window standardWindowButton:NSWindowMiniaturizeButton] setHidden:NO];
[[window standardWindowButton:NSWindowCloseButton] setHidden:NO];
}
[window setFrame:original_frame_ display: YES animate: YES];
[NSApp setPresentationOptions:simple_fullscreen_options_];
// Restore original style mask
ScopedDisableResize disable_resize;
[window_ setStyleMask:simple_fullscreen_mask_];
// Restore window manipulation abilities
SetMaximizable(was_maximizable_);
SetMovable(was_movable_);
}
}
bool NativeWindowMac::IsSimpleFullScreen() {
return is_simple_fullscreen_;
}
void NativeWindowMac::SetKiosk(bool kiosk) {
if (kiosk && !is_kiosk_) {
kiosk_options_ = [NSApp currentSystemPresentationOptions];
@@ -1254,6 +1505,14 @@ bool NativeWindowMac::HasShadow() {
return [window_ hasShadow];
}
void NativeWindowMac::SetOpacity(const double opacity) {
[window_ setAlphaValue:opacity];
}
double NativeWindowMac::GetOpacity() {
return [window_ alphaValue];
}
void NativeWindowMac::SetRepresentedFilename(const std::string& filename) {
[window_ setRepresentedFilename:base::SysUTF8ToNSString(filename)];
}
@@ -1270,7 +1529,7 @@ bool NativeWindowMac::IsDocumentEdited() {
return [window_ isDocumentEdited];
}
void NativeWindowMac::SetIgnoreMouseEvents(bool ignore) {
void NativeWindowMac::SetIgnoreMouseEvents(bool ignore, bool) {
[window_ setIgnoresMouseEvents:ignore];
}
@@ -1300,25 +1559,18 @@ void NativeWindowMac::SetBrowserView(NativeBrowserView* browser_view) {
}
void NativeWindowMac::SetParentWindow(NativeWindow* parent) {
if (is_modal())
return;
NativeWindow::SetParentWindow(parent);
// Remove current parent window.
if ([window_ parentWindow])
[[window_ parentWindow] removeChildWindow:window_];
// Set new current window.
if (parent)
[parent->GetNativeWindow() addChildWindow:window_ ordered:NSWindowAbove];
InternalSetParentWindow(parent, IsVisible());
}
gfx::NativeWindow NativeWindowMac::GetNativeWindow() {
gfx::NativeView NativeWindowMac::GetNativeView() const {
return inspectable_web_contents()->GetView()->GetNativeView();
}
gfx::NativeWindow NativeWindowMac::GetNativeWindow() const {
return window_;
}
gfx::AcceleratedWidget NativeWindowMac::GetAcceleratedWidget() {
gfx::AcceleratedWidget NativeWindowMac::GetAcceleratedWidget() const {
return inspectable_web_contents()->GetView()->GetNativeView();
}
@@ -1377,6 +1629,42 @@ void NativeWindowMac::SetAutoHideCursor(bool auto_hide) {
[window_ setDisableAutoHideCursor:!auto_hide];
}
void NativeWindowMac::SelectPreviousTab() {
if ([window_ respondsToSelector:@selector(selectPreviousTab:)]) {
[window_ selectPreviousTab:nil];
}
}
void NativeWindowMac::SelectNextTab() {
if ([window_ respondsToSelector:@selector(selectNextTab:)]) {
[window_ selectNextTab:nil];
}
}
void NativeWindowMac::MergeAllWindows() {
if ([window_ respondsToSelector:@selector(mergeAllWindows:)]) {
[window_ mergeAllWindows:nil];
}
}
void NativeWindowMac::MoveTabToNewWindow() {
if ([window_ respondsToSelector:@selector(moveTabToNewWindow:)]) {
[window_ moveTabToNewWindow:nil];
}
}
void NativeWindowMac::ToggleTabBar() {
if ([window_ respondsToSelector:@selector(toggleTabBar:)]) {
[window_ toggleTabBar:nil];
}
}
void NativeWindowMac::AddTabbedWindow(NativeWindow* window) {
if ([window_ respondsToSelector:@selector(addTabbedWindow:ordered:)]) {
[window_ addTabbedWindow:window->GetNativeWindow() ordered:NSWindowAbove];
}
}
void NativeWindowMac::SetVibrancy(const std::string& type) {
if (!base::mac::IsAtLeastOS10_10()) return;
@@ -1458,10 +1746,10 @@ void NativeWindowMac::SetEscapeTouchBarItem(const mate::PersistentDictionary& it
}
void NativeWindowMac::OnInputEvent(const blink::WebInputEvent& event) {
switch (event.type) {
case blink::WebInputEvent::GestureScrollBegin:
case blink::WebInputEvent::GestureScrollUpdate:
case blink::WebInputEvent::GestureScrollEnd:
switch (event.GetType()) {
case blink::WebInputEvent::kGestureScrollBegin:
case blink::WebInputEvent::kGestureScrollUpdate:
case blink::WebInputEvent::kGestureScrollEnd:
this->NotifyWindowScrollTouchEdge();
break;
default:
@@ -1494,7 +1782,7 @@ std::vector<gfx::Rect> NativeWindowMac::CalculateNonDraggableRegions(
}
gfx::Rect NativeWindowMac::ContentBoundsToWindowBounds(
const gfx::Rect& bounds) {
const gfx::Rect& bounds) const {
if (has_frame()) {
gfx::Rect window_bounds(
[window_ frameRectForContentRect:bounds.ToCGRect()]);
@@ -1507,7 +1795,7 @@ gfx::Rect NativeWindowMac::ContentBoundsToWindowBounds(
}
gfx::Rect NativeWindowMac::WindowBoundsToContentBounds(
const gfx::Rect& bounds) {
const gfx::Rect& bounds) const {
if (has_frame()) {
gfx::Rect content_bounds(
[window_ contentRectForFrameRect:bounds.ToCGRect()]);
@@ -1526,6 +1814,26 @@ void NativeWindowMac::UpdateDraggableRegions(
UpdateDraggableRegionViews(regions);
}
void NativeWindowMac::InternalSetParentWindow(NativeWindow* parent, bool attach) {
if (is_modal())
return;
NativeWindow::SetParentWindow(parent);
// Do not remove/add if we are already properly attached.
if (attach && parent && [window_ parentWindow] == parent->GetNativeWindow())
return;
// Remove current parent window.
if ([window_ parentWindow])
[[window_ parentWindow] removeChildWindow:window_];
// Set new parent window.
// Note that this method will force the window to become visible.
if (parent && attach)
[parent->GetNativeWindow() addChildWindow:window_ ordered:NSWindowAbove];
}
void NativeWindowMac::ShowWindowButton(NSWindowButton button) {
auto view = [window_ standardWindowButton:button];
[view.superview addSubview:view positioned:NSWindowAbove relativeTo:nil];
@@ -1559,21 +1867,26 @@ void NativeWindowMac::InstallView() {
// The fullscreen button should always be hidden for frameless window.
[[window_ standardWindowButton:NSWindowFullScreenButton] setHidden:YES];
if (title_bar_style_ != NORMAL) {
if (base::mac::IsOS10_9()) {
ShowWindowButton(NSWindowZoomButton);
ShowWindowButton(NSWindowMiniaturizeButton);
ShowWindowButton(NSWindowCloseButton);
if (title_bar_style_ == CUSTOM_BUTTONS_ON_HOVER) {
NSView* window_button_view = [[[CustomWindowButtonView alloc]
initWithFrame:NSZeroRect] autorelease];
[content_view_ addSubview:window_button_view];
} else {
if (title_bar_style_ != NORMAL) {
if (base::mac::IsOS10_9()) {
ShowWindowButton(NSWindowZoomButton);
ShowWindowButton(NSWindowMiniaturizeButton);
ShowWindowButton(NSWindowCloseButton);
}
return;
}
return;
// Hide the window buttons.
[[window_ standardWindowButton:NSWindowZoomButton] setHidden:YES];
[[window_ standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES];
[[window_ standardWindowButton:NSWindowCloseButton] setHidden:YES];
}
// Hide the window buttons.
[[window_ standardWindowButton:NSWindowZoomButton] setHidden:YES];
[[window_ standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES];
[[window_ standardWindowButton:NSWindowCloseButton] setHidden:YES];
// Some third-party macOS utilities check the zoom button's enabled state to
// determine whether to show custom UI on hover, so we disable it here to
// prevent them from doing so in a frameless app window.
@@ -1616,6 +1929,10 @@ void NativeWindowMac::UpdateDraggableRegionViews(
std::vector<gfx::Rect> system_drag_exclude_areas =
CalculateNonDraggableRegions(regions, webViewWidth, webViewHeight);
if (browser_view_) {
browser_view_->UpdateDraggableRegions(system_drag_exclude_areas);
}
// Create and add a ControlRegionView for each region that needs to be
// excluded from the dragging.
for (std::vector<gfx::Rect>::const_iterator iter =

View File

@@ -78,6 +78,7 @@ class NativeWindowObserver {
virtual void OnWindowLeaveHtmlFullScreen() {}
virtual void OnTouchBarItemResult(const std::string& item_id,
const base::DictionaryValue& details) {}
virtual void OnNewWindowForTab() {}
// Called when window message received
#if defined(OS_WIN)

View File

@@ -7,6 +7,7 @@
#include <string>
#include <vector>
#include "atom/browser/api/atom_api_web_contents.h"
#include "atom/browser/native_browser_view_views.h"
#include "atom/browser/ui/views/menu_bar.h"
#include "atom/browser/window_list.h"
@@ -81,17 +82,17 @@ void FlipWindowStyle(HWND handle, bool on, DWORD flag) {
#endif
bool IsAltKey(const content::NativeWebKeyboardEvent& event) {
return event.windowsKeyCode == ui::VKEY_MENU;
return event.windows_key_code == ui::VKEY_MENU;
}
bool IsAltModifier(const content::NativeWebKeyboardEvent& event) {
typedef content::NativeWebKeyboardEvent::Modifiers Modifiers;
int modifiers = event.modifiers;
modifiers &= ~Modifiers::NumLockOn;
modifiers &= ~Modifiers::CapsLockOn;
return (modifiers == Modifiers::AltKey) ||
(modifiers == (Modifiers::AltKey | Modifiers::IsLeft)) ||
(modifiers == (Modifiers::AltKey | Modifiers::IsRight));
int modifiers = event.GetModifiers();
modifiers &= ~Modifiers::kNumLockOn;
modifiers &= ~Modifiers::kCapsLockOn;
return (modifiers == Modifiers::kAltKey) ||
(modifiers == (Modifiers::kAltKey | Modifiers::kIsLeft)) ||
(modifiers == (Modifiers::kAltKey | Modifiers::kIsRight));
}
#if defined(USE_X11)
@@ -303,11 +304,16 @@ NativeWindowViews::NativeWindowViews(
::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style);
#endif
// TODO(zcbenz): This was used to force using native frame on Windows 2003, we
// should check whether setting it in InitParams can work.
if (has_frame()) {
// TODO(zcbenz): This was used to force using native frame on Windows 2003,
// we should check whether setting it in InitParams can work.
window_->set_frame_type(views::Widget::FrameType::FRAME_TYPE_FORCE_NATIVE);
window_->FrameTypeChanged();
#if defined(OS_WIN)
// thickFrame also works for normal window.
if (!thick_frame_)
FlipWindowStyle(GetAcceleratedWidget(), false, WS_THICKFRAME);
#endif
}
gfx::Size size = bounds.size();
@@ -319,6 +325,8 @@ NativeWindowViews::NativeWindowViews(
window_->CenterWindow(size);
Layout();
autofill_popup_.reset(new AutofillPopup(GetNativeView()));
#if defined(OS_WIN)
// Save initial window state.
if (fullscreen)
@@ -331,6 +339,11 @@ NativeWindowViews::NativeWindowViews(
NativeWindowViews::~NativeWindowViews() {
window_->RemoveObserver(this);
#if defined(OS_WIN)
// Disable mouse forwarding to relinquish resources, should any be held.
SetForwardMouseMessages(false);
#endif
}
void NativeWindowViews::Close() {
@@ -371,7 +384,8 @@ bool NativeWindowViews::IsFocused() {
}
void NativeWindowViews::Show() {
if (is_modal() && NativeWindow::parent())
if (is_modal() && NativeWindow::parent() &&
!window_->native_widget_private()->IsVisible())
static_cast<NativeWindowViews*>(NativeWindow::parent())->SetEnabled(false);
window_->native_widget_private()->ShowWithWindowState(GetRestoredState());
@@ -477,6 +491,8 @@ void NativeWindowViews::SetFullScreen(bool fullscreen) {
#if defined(OS_WIN)
// There is no native fullscreen state on Windows.
bool leaving_fullscreen = IsFullscreen() && !fullscreen;
if (fullscreen) {
last_window_state_ = ui::SHOW_STATE_FULLSCREEN;
NotifyWindowEnterFullScreen();
@@ -502,6 +518,13 @@ void NativeWindowViews::SetFullScreen(bool fullscreen) {
// We set the new value after notifying, so we can handle the size event
// correctly.
window_->SetFullscreen(fullscreen);
// If restoring from fullscreen and the window isn't visible, force visible,
// else a non-responsive window shell could be rendered.
// (this situation may arise when app starts with fullscreen: true)
// Note: the following must be after "window_->SetFullscreen(fullscreen);"
if (leaving_fullscreen && !IsVisible())
FlipWindowStyle(GetAcceleratedWidget(), true, WS_VISIBLE);
#else
if (IsVisible())
window_->SetFullscreen(fullscreen);
@@ -559,6 +582,12 @@ gfx::Size NativeWindowViews::GetContentSize() {
void NativeWindowViews::SetContentSizeConstraints(
const extensions::SizeConstraints& size_constraints) {
NativeWindow::SetContentSizeConstraints(size_constraints);
#if defined(OS_WIN)
// Changing size constraints would force adding the WS_THICKFRAME style, so
// do nothing if thickFrame is false.
if (!thick_frame_)
return;
#endif
// widget_delegate() is only available after Init() is called, we make use of
// this to determine whether native widget has initialized.
if (window_ && window_->widget_delegate())
@@ -571,7 +600,7 @@ void NativeWindowViews::SetContentSizeConstraints(
void NativeWindowViews::SetResizable(bool resizable) {
#if defined(OS_WIN)
if (has_frame())
if (has_frame() && thick_frame_)
FlipWindowStyle(GetAcceleratedWidget(), resizable, WS_THICKFRAME);
#elif defined(USE_X11)
if (resizable != resizable_) {
@@ -741,6 +770,14 @@ void NativeWindowViews::SetSkipTaskbar(bool skip) {
#endif
}
void NativeWindowViews::SetSimpleFullScreen(bool simple_fullscreen) {
SetFullScreen(simple_fullscreen);
}
bool NativeWindowViews::IsSimpleFullScreen() {
return IsFullscreen();
}
void NativeWindowViews::SetKiosk(bool kiosk) {
SetFullScreen(kiosk);
}
@@ -767,23 +804,51 @@ void NativeWindowViews::SetBackgroundColor(const std::string& color_name) {
}
void NativeWindowViews::SetHasShadow(bool has_shadow) {
wm::SetShadowType(
wm::SetShadowElevation(
GetNativeWindow(),
has_shadow ? wm::SHADOW_TYPE_RECTANGULAR : wm::SHADOW_TYPE_NONE);
has_shadow ? wm::ShadowElevation::MEDIUM : wm::ShadowElevation::NONE);
}
bool NativeWindowViews::HasShadow() {
return wm::GetShadowType(GetNativeWindow()) != wm::SHADOW_TYPE_NONE;
return GetNativeWindow()->GetProperty(wm::kShadowElevationKey)
!= wm::ShadowElevation::NONE;
}
void NativeWindowViews::SetIgnoreMouseEvents(bool ignore) {
void NativeWindowViews::SetOpacity(const double opacity) {
#if defined(OS_WIN)
HWND hwnd = GetAcceleratedWidget();
if (!layered_) {
LONG ex_style = ::GetWindowLong(hwnd, GWL_EXSTYLE);
ex_style |= WS_EX_LAYERED;
::SetWindowLong(hwnd, GWL_EXSTYLE, ex_style);
layered_ = true;
}
::SetLayeredWindowAttributes(hwnd, 0, opacity * 255, LWA_ALPHA);
#endif
opacity_ = opacity;
}
double NativeWindowViews::GetOpacity() {
return opacity_;
}
void NativeWindowViews::SetIgnoreMouseEvents(bool ignore, bool forward) {
#if defined(OS_WIN)
LONG ex_style = ::GetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE);
if (ignore)
ex_style |= (WS_EX_TRANSPARENT | WS_EX_LAYERED);
else
ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED);
if (layered_)
ex_style |= WS_EX_LAYERED;
::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style);
// Forwarding is always disabled when not ignoring mouse messages.
if (!ignore) {
SetForwardMouseMessages(false);
} else {
SetForwardMouseMessages(forward);
}
#elif defined(USE_X11)
if (ignore) {
XRectangle r = {0, 0, 1, 1};
@@ -923,7 +988,11 @@ void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
#endif
}
gfx::NativeWindow NativeWindowViews::GetNativeWindow() {
gfx::NativeView NativeWindowViews::GetNativeView() const {
return window_->GetNativeView();
}
gfx::NativeWindow NativeWindowViews::GetNativeWindow() const {
return window_->GetNativeWindow();
}
@@ -994,7 +1063,7 @@ bool NativeWindowViews::IsVisibleOnAllWorkspaces() {
return false;
}
gfx::AcceleratedWidget NativeWindowViews::GetAcceleratedWidget() {
gfx::AcceleratedWidget NativeWindowViews::GetAcceleratedWidget() const {
return GetNativeWindow()->GetHost()->GetAcceleratedWidget();
}
@@ -1072,9 +1141,31 @@ void NativeWindowViews::OnWidgetBoundsChanged(
if (widget != window_.get())
return;
if (widget_size_ != bounds.size()) {
// Note: We intentionally use `GetBounds()` instead of `bounds` to properly
// handle minimized windows on Windows.
const auto new_bounds = GetBounds();
if (widget_size_ != new_bounds.size()) {
if (browser_view_) {
const auto flags = static_cast<NativeBrowserViewViews*>(browser_view_)
->GetAutoResizeFlags();
int width_delta = 0;
int height_delta = 0;
if (flags & kAutoResizeWidth) {
width_delta = new_bounds.width() - widget_size_.width();
}
if (flags & kAutoResizeHeight) {
height_delta = new_bounds.height() - widget_size_.height();
}
auto* view = browser_view_->GetInspectableWebContentsView()->GetView();
auto new_view_size = view->size();
new_view_size.set_width(new_view_size.width() + width_delta);
new_view_size.set_height(new_view_size.height() + height_delta);
view->SetSize(new_view_size);
}
NotifyWindowResize();
widget_size_ = bounds.size();
widget_size_ = new_bounds.size();
}
}
@@ -1175,7 +1266,7 @@ void NativeWindowViews::OnWidgetMove() {
}
gfx::Rect NativeWindowViews::ContentBoundsToWindowBounds(
const gfx::Rect& bounds) {
const gfx::Rect& bounds) const {
if (!has_frame())
return bounds;
@@ -1196,7 +1287,7 @@ gfx::Rect NativeWindowViews::ContentBoundsToWindowBounds(
}
gfx::Rect NativeWindowViews::WindowBoundsToContentBounds(
const gfx::Rect& bounds) {
const gfx::Rect& bounds) const {
if (!has_frame())
return bounds;
@@ -1234,15 +1325,15 @@ void NativeWindowViews::HandleKeyboardEvent(
// Show accelerator when "Alt" is pressed.
if (menu_bar_visible_ && IsAltKey(event))
menu_bar_->SetAcceleratorVisibility(
event.type == blink::WebInputEvent::RawKeyDown);
event.GetType() == blink::WebInputEvent::kRawKeyDown);
// Show the submenu when "Alt+Key" is pressed.
if (event.type == blink::WebInputEvent::RawKeyDown && !IsAltKey(event) &&
IsAltModifier(event)) {
if (event.GetType() == blink::WebInputEvent::kRawKeyDown &&
!IsAltKey(event) && IsAltModifier(event)) {
if (!menu_bar_visible_ &&
(menu_bar_->GetAcceleratorIndex(event.windowsKeyCode) != -1))
(menu_bar_->GetAcceleratorIndex(event.windows_key_code) != -1))
SetMenuBarVisibility(true);
menu_bar_->ActivateAccelerator(event.windowsKeyCode);
menu_bar_->ActivateAccelerator(event.windows_key_code);
return;
}
@@ -1250,11 +1341,11 @@ void NativeWindowViews::HandleKeyboardEvent(
return;
// Toggle the menu bar only when a single Alt is released.
if (event.type == blink::WebInputEvent::RawKeyDown && IsAltKey(event)) {
if (event.GetType() == blink::WebInputEvent::kRawKeyDown && IsAltKey(event)) {
// When a single Alt is pressed:
menu_bar_alt_pressed_ = true;
} else if (event.type == blink::WebInputEvent::KeyUp && IsAltKey(event) &&
menu_bar_alt_pressed_) {
} else if (event.GetType() == blink::WebInputEvent::kKeyUp &&
IsAltKey(event) && menu_bar_alt_pressed_) {
// When a single Alt is released right after a Alt is pressed:
menu_bar_alt_pressed_ = false;
SetMenuBarVisibility(!menu_bar_visible_);
@@ -1264,6 +1355,26 @@ void NativeWindowViews::HandleKeyboardEvent(
}
}
void NativeWindowViews::ShowAutofillPopup(
content::RenderFrameHost* frame_host,
const gfx::RectF& bounds,
const std::vector<base::string16>& values,
const std::vector<base::string16>& labels) {
auto wc = atom::api::WebContents::FromWrappedClass(
v8::Isolate::GetCurrent(), web_contents());
autofill_popup_->CreateView(
frame_host,
wc->IsOffScreenOrEmbedderOffscreen(),
widget(),
bounds);
autofill_popup_->SetItems(values, labels);
}
void NativeWindowViews::HideAutofillPopup(
content::RenderFrameHost* frame_host) {
autofill_popup_->Hide();
}
void NativeWindowViews::Layout() {
const auto size = GetContentsBounds().size();
const auto menu_bar_bounds =
@@ -1273,39 +1384,18 @@ void NativeWindowViews::Layout() {
menu_bar_->SetBoundsRect(menu_bar_bounds);
}
const auto old_web_view_size = web_view_ ? web_view_->size() : gfx::Size();
if (web_view_) {
web_view_->SetBoundsRect(
gfx::Rect(0, menu_bar_bounds.height(), size.width(),
size.height() - menu_bar_bounds.height()));
}
const auto new_web_view_size = web_view_ ? web_view_->size() : gfx::Size();
if (browser_view_) {
const auto flags = static_cast<NativeBrowserViewViews*>(browser_view_)
->GetAutoResizeFlags();
int width_delta = 0;
int height_delta = 0;
if (flags & kAutoResizeWidth) {
width_delta = new_web_view_size.width() - old_web_view_size.width();
}
if (flags & kAutoResizeHeight) {
height_delta = new_web_view_size.height() - old_web_view_size.height();
}
auto* view = browser_view_->GetInspectableWebContentsView()->GetView();
auto new_view_size = view->size();
new_view_size.set_width(new_view_size.width() + width_delta);
new_view_size.set_height(new_view_size.height() + height_delta);
view->SetSize(new_view_size);
}
}
gfx::Size NativeWindowViews::GetMinimumSize() {
gfx::Size NativeWindowViews::GetMinimumSize() const {
return NativeWindow::GetMinimumSize();
}
gfx::Size NativeWindowViews::GetMaximumSize() {
gfx::Size NativeWindowViews::GetMaximumSize() const {
return NativeWindow::GetMaximumSize();
}

View File

@@ -7,10 +7,12 @@
#include "atom/browser/native_window.h"
#include <set>
#include <string>
#include <vector>
#include "atom/browser/ui/accelerator_util.h"
#include "atom/browser/ui/autofill_popup.h"
#include "ui/views/widget/widget_delegate.h"
#include "ui/views/widget/widget_observer.h"
@@ -95,18 +97,23 @@ class NativeWindowViews : public NativeWindow,
std::string GetTitle() override;
void FlashFrame(bool flash) override;
void SetSkipTaskbar(bool skip) override;
void SetSimpleFullScreen(bool simple_fullscreen) override;
bool IsSimpleFullScreen() override;
void SetKiosk(bool kiosk) override;
bool IsKiosk() override;
void SetBackgroundColor(const std::string& color_name) override;
void SetHasShadow(bool has_shadow) override;
bool HasShadow() override;
void SetIgnoreMouseEvents(bool ignore) override;
void SetOpacity(const double opacity) override;
double GetOpacity() override;
void SetIgnoreMouseEvents(bool ignore, bool forward) override;
void SetContentProtection(bool enable) override;
void SetFocusable(bool focusable) override;
void SetMenu(AtomMenuModel* menu_model) override;
void SetBrowserView(NativeBrowserView* browser_view) override;
void SetParentWindow(NativeWindow* parent) override;
gfx::NativeWindow GetNativeWindow() override;
gfx::NativeView GetNativeView() const override;
gfx::NativeWindow GetNativeWindow() const override;
void SetOverlayIcon(const gfx::Image& overlay,
const std::string& description) override;
void SetProgressBar(double progress, const ProgressState state) override;
@@ -117,7 +124,7 @@ class NativeWindowViews : public NativeWindow,
void SetVisibleOnAllWorkspaces(bool visible) override;
bool IsVisibleOnAllWorkspaces() override;
gfx::AcceleratedWidget GetAcceleratedWidget() override;
gfx::AcceleratedWidget GetAcceleratedWidget() const override;
#if defined(OS_WIN)
void SetIcon(HICON small_icon, HICON app_icon);
@@ -167,19 +174,31 @@ class NativeWindowViews : public NativeWindow,
bool PreHandleMSG(
UINT message, WPARAM w_param, LPARAM l_param, LRESULT* result) override;
void HandleSizeEvent(WPARAM w_param, LPARAM l_param);
void SetForwardMouseMessages(bool forward);
static LRESULT CALLBACK SubclassProc(
HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param, UINT_PTR subclass_id,
DWORD_PTR ref_data);
static LRESULT CALLBACK MouseHookProc(
int n_code, WPARAM w_param, LPARAM l_param);
#endif
// NativeWindow:
gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds) override;
gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds) override;
gfx::Rect ContentBoundsToWindowBounds(const gfx::Rect& bounds) const override;
gfx::Rect WindowBoundsToContentBounds(const gfx::Rect& bounds) const override;
void HandleKeyboardEvent(
content::WebContents*,
const content::NativeWebKeyboardEvent& event) override;
void ShowAutofillPopup(
content::RenderFrameHost* frame_host,
const gfx::RectF& bounds,
const std::vector<base::string16>& values,
const std::vector<base::string16>& labels) override;
void HideAutofillPopup(content::RenderFrameHost* frame_host) override;
// views::View:
void Layout() override;
gfx::Size GetMinimumSize() override;
gfx::Size GetMaximumSize() override;
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
// Register accelerators supported by the menu model.
@@ -193,6 +212,8 @@ class NativeWindowViews : public NativeWindow,
NativeBrowserView* browser_view_;
std::unique_ptr<AutofillPopup> autofill_popup_;
std::unique_ptr<MenuBar> menu_bar_;
bool menu_bar_autohide_;
bool menu_bar_visible_;
@@ -249,6 +270,13 @@ class NativeWindowViews : public NativeWindow,
// The icons of window and taskbar.
base::win::ScopedHICON window_icon_;
base::win::ScopedHICON app_icon_;
// The set of windows currently forwarding mouse messages.
static std::set<NativeWindowViews*> forwarding_windows_;
static HHOOK mouse_hook_;
bool forwarding_mouse_messages_ = false;
HWND legacy_window_ = NULL;
bool layered_ = false;
#endif
// Handles unhandled keyboard messages coming back from the renderer process.
@@ -268,6 +296,7 @@ class NativeWindowViews : public NativeWindow,
bool fullscreenable_;
std::string title_;
gfx::Size widget_size_;
double opacity_ = 1.0;
DISALLOW_COPY_AND_ASSIGN(NativeWindowViews);
};

View File

@@ -80,6 +80,9 @@ bool IsScreenReaderActive() {
} // namespace
std::set<NativeWindowViews*> NativeWindowViews::forwarding_windows_;
HHOOK NativeWindowViews::mouse_hook_ = NULL;
bool NativeWindowViews::ExecuteWindowsCommand(int command_id) {
std::string command = AppCommandToString(command_id);
NotifyWindowExecuteWindowsCommand(command);
@@ -151,6 +154,16 @@ bool NativeWindowViews::PreHandleMSG(
if (w_param) {
NotifyWindowEndSession();
}
return false;
}
case WM_PARENTNOTIFY: {
if (LOWORD(w_param) == WM_CREATE) {
// Because of reasons regarding legacy drivers and stuff, a window that
// matches the client area is created and used internally by Chromium.
// This is used when forwarding mouse messages.
legacy_window_ = reinterpret_cast<HWND>(l_param);
}
return false;
}
default:
return false;
@@ -207,4 +220,86 @@ void NativeWindowViews::HandleSizeEvent(WPARAM w_param, LPARAM l_param) {
}
}
void NativeWindowViews::SetForwardMouseMessages(bool forward) {
if (forward && !forwarding_mouse_messages_) {
forwarding_mouse_messages_ = true;
forwarding_windows_.insert(this);
// Subclassing is used to fix some issues when forwarding mouse messages;
// see comments in |SubclassProc|.
SetWindowSubclass(
legacy_window_, SubclassProc, 1, reinterpret_cast<DWORD_PTR>(this));
if (!mouse_hook_) {
mouse_hook_ = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, NULL, 0);
}
} else if (!forward && forwarding_mouse_messages_) {
forwarding_mouse_messages_ = false;
forwarding_windows_.erase(this);
RemoveWindowSubclass(legacy_window_, SubclassProc, 1);
if (forwarding_windows_.size() == 0) {
UnhookWindowsHookEx(mouse_hook_);
mouse_hook_ = NULL;
}
}
}
LRESULT CALLBACK NativeWindowViews::SubclassProc(
HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param, UINT_PTR subclass_id,
DWORD_PTR ref_data) {
NativeWindowViews* window = reinterpret_cast<NativeWindowViews*>(ref_data);
switch (msg) {
case WM_MOUSELEAVE: {
// When input is forwarded to underlying windows, this message is posted.
// If not handled, it interferes with Chromium logic, causing for example
// mouseleave events to fire. If those events are used to exit forward
// mode, excessive flickering on for example hover items in underlying
// windows can occur due to rapidly entering and leaving forwarding mode.
// By consuming and ignoring the message, we're essentially telling
// Chromium that we have not left the window despite somebody else getting
// the messages. As to why this is catched for the legacy window and not
// the actual browser window is simply that the legacy window somehow
// makes use of these events; posting to the main window didn't work.
if (window->forwarding_mouse_messages_) {
return 0;
}
break;
}
}
return DefSubclassProc(hwnd, msg, w_param, l_param);
}
LRESULT CALLBACK NativeWindowViews::MouseHookProc(
int n_code, WPARAM w_param, LPARAM l_param) {
if (n_code < 0) {
return CallNextHookEx(NULL, n_code, w_param, l_param);
}
// Post a WM_MOUSEMOVE message for those windows whose client area contains
// the cursor since they are in a state where they would otherwise ignore all
// mouse input.
if (w_param == WM_MOUSEMOVE) {
for (auto window : forwarding_windows_) {
// At first I considered enumerating windows to check whether the cursor
// was directly above the window, but since nothing bad seems to happen
// if we post the message even if some other window occludes it I have
// just left it as is.
RECT client_rect;
GetClientRect(window->legacy_window_, &client_rect);
POINT p = reinterpret_cast<MSLLHOOKSTRUCT*>(l_param)->pt;
ScreenToClient(window->legacy_window_, &p);
if (PtInRect(&client_rect, p)) {
WPARAM w = 0; // No virtual keys pressed for our purposes
LPARAM l = MAKELPARAM(p.x, p.y);
PostMessage(window->legacy_window_, WM_MOUSEMOVE, w, l);
}
}
}
return CallNextHookEx(NULL, n_code, w_param, l_param);
}
} // namespace atom

View File

@@ -15,6 +15,7 @@
#include "base/strings/string_util.h"
#include "base/synchronization/lock.h"
#include "base/task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "net/base/file_stream.h"
#include "net/base/filename_util.h"
#include "net/base/io_buffer.h"
@@ -119,8 +120,11 @@ void URLRequestAsarJob::Start() {
weak_ptr_factory_.GetWeakPtr(),
base::Owned(meta_info)));
} else {
NotifyStartError(net::URLRequestStatus(net::URLRequestStatus::FAILED,
net::ERR_FILE_NOT_FOUND));
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&URLRequestAsarJob::DidOpen,
weak_ptr_factory_.GetWeakPtr(),
net::ERR_FILE_NOT_FOUND));
}
}

View File

@@ -89,7 +89,6 @@ class URLRequestAsarJob : public net::URLRequestJob {
// Callback after fetching file info on a background thread.
void DidFetchMetaInfo(const FileMetaInfo* meta_info);
// Callback after opening file on a background thread.
void DidOpen(int result);

View File

@@ -92,6 +92,7 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
std::unique_ptr<VerifyRequestParams> request(new VerifyRequestParams());
request->hostname = params_.hostname();
request->default_result = net::ErrorToString(error);
request->error_code = error;
request->certificate = params_.certificate();
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,

View File

@@ -19,6 +19,7 @@ class CertVerifierRequest;
struct VerifyRequestParams {
std::string hostname;
std::string default_result;
int error_code;
scoped_refptr<net::X509Certificate> certificate;
};

Some files were not shown because too many files have changed in this diff Show More