Commit graph

372 commits

Author SHA1 Message Date
Cheng Zhao
0a4fb2ec4f Support externalized ArrayBuffer for node::Buffer 2015-09-07 11:12:42 +08:00
Cheng Zhao
c1d7ad9631 Devtools no longer uses iframes 2015-09-03 17:50:24 +09:00
Cheng Zhao
45491ca7ab Fix API changes 2015-09-03 17:50:23 +09:00
Cheng Zhao
50bfe9e335 Set source and origin correctly for window.opener.postMessage 2015-09-01 11:51:10 +08:00
Cheng Zhao
ebedb60684 Insert node integration for all main frames 2015-08-31 21:59:13 +08:00
Cheng Zhao
9ecc4bcb7d Fork renderer process for webview
Previously it was disabled because Chrome doesn't support swapping
renderer process before, it seeems to work fine now, so we enable it to
see how it goes.
2015-08-31 21:38:18 +08:00
Robo
8757da6c47 renderer: send referrer for all naviagtions 2015-08-29 19:20:09 +05:30
Cheng Zhao
8a09cf5369 Add webFrame.setZoomLevelLimits API 2015-08-27 22:08:25 +08:00
Cheng Zhao
64e8ce0c07 Don't rely on IDWeakMap for bookkeeping remote objects
It frees us from using C++ to track JS objects, thus improves the
performance of collecting memory.
2015-08-27 19:01:34 +08:00
Eran Tiktin
b1406fbad9 Fix no close button in message box on Windows
This resolves #2293.
2015-08-22 04:20:52 +03:00
Cheng Zhao
86eb0a5eaa Create both Uint8Array and ArrayBuffer from blink 2015-08-14 12:40:03 +08:00
Cheng Zhao
0f990d40cc Use blink's allocator in Node's Buffer 2015-08-11 12:31:41 +08:00
Haojian Wu
0e8a585157 Fix content::BrowserPluginDelegate::DidResizeElement API changes.
Chromium has removed old_size in DidResizeElement interface as the 'old_size'
is internal.
2015-08-11 09:48:55 +08:00
Cheng Zhao
0a49dcc623 Delay the call of element resize callback to next tick 2015-08-10 11:56:42 +08:00
Cheng Zhao
1bb0dde360 Use WebScopedRunV8Script in converted C++ functions 2015-08-07 19:37:17 +08:00
Cheng Zhao
2ff104d012 Move callback converter from native mate to electron 2015-08-07 19:35:35 +08:00
Cheng Zhao
5d3445cebb Style fix 2015-08-07 19:35:35 +08:00
Robo
0a7a4c0d0a webview: adding load-commit event 2015-08-05 19:22:30 +05:30
Robo
6b8d4a43a3 override: intialise BrowserWindowProxy.closed 2015-08-05 19:22:30 +05:30
Cheng Zhao
2a30520799 Only set window.opener for windows opened by window.open 2015-08-04 15:47:12 +08:00
Cheng Zhao
4ac59e2674 Merge pull request #2391 from seanchas116/support-remote-promise
Support Promise over remote objects
2015-08-03 15:22:36 +08:00
Cheng Zhao
7c5d443284 Merge pull request #2394 from DerNivel/fix-typos
Fix typos
2015-08-03 15:04:13 +08:00
Cheng Zhao
7c75329b18 Merge pull request #2375 from deepak1556/web_frame_api_patch
webFrame: api to make scheme bypass CSP
2015-08-03 14:46:40 +08:00
Ryohei Ikegami
c8a794ac34 Use constructor name to check if Promise 2015-08-01 12:20:16 +09:00
Jonathan
c0ce8723d4 Fix typo 2015-07-31 20:16:26 +02:00
Ryohei Ikegami
92af275f98 Support remote Promise in browser 2015-07-31 14:52:48 +09:00
Ryohei Ikegami
ddf2cfd48d Support remote Promise in renderer 2015-07-31 14:52:37 +09:00
Robo
92ea533aee webFrame: api to make scheme bypass CSP 2015-07-30 22:36:02 +05:30
Robo
239d535cac render: executejavascript with option to simulate usergesture 2015-07-30 15:38:46 +05:30
Taichiro Yoshida
fc92ceb0b6 do not overwrite node-integration option
If `node-integration` option pass to window.open, do not overwrite by current window's one
2015-07-29 13:41:11 +09:00
Haojian Wu
462e6e0a82 Implement getUserAgent API. 2015-07-22 12:25:10 +08:00
Cheng Zhao
096439dce7 Don't expose "global" when node integration is off 2015-07-14 09:15:03 -07:00
Cheng Zhao
14388feb23 Merge pull request #2187 from jprichardson/patch-1
emit error object on process.on('uncaughtException') in renderer
2015-07-13 21:46:06 -07:00
Cheng Zhao
9e8a118d10 Cleanup code 2015-07-14 03:23:19 +08:00
Cheng Zhao
0c7c6ddcc9 Merge pull request #2175 from atom/propagate-app-model-id
Propagate App Model User ID on Windows
2015-07-13 12:16:10 -07:00
JP Richardson
d6ae874038 emit error object on process.on('uncaughtException') in renderer
Chromium added the actual `error` object to the 5th parameter in `window.onerror`. This should be emitted as opposed to the `errorMsg` string. Worse yet, since `errorMsg` wasn't an instance of `Error`, any code that assumes this in any `process.on('uncaughtException')` handler would fail. Also, correctly emitting the error provides the stack trace.

This is now an HTML5 standard.

Sources:
- https://html.spec.whatwg.org/multipage/webappapis.html#errorevent
- https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
- https://code.google.com/p/chromium/issues/detail?id=147127
2015-07-10 14:38:03 -05:00
Cheng Zhao
967c273ddb Always use top window's context for resolving url
Refs #2166.
2015-07-10 13:57:09 +08:00
Cheng Zhao
260ec96edd Resolve relative urls in window.open, fix #2166 2015-07-10 11:36:41 +08:00
Paul Betts
39c6e2d2e5 Linter fixes 2015-07-09 17:00:19 -07:00
Paul Betts
35aaad68d7 Set the AppUserModelId on the renderer side 2015-07-09 16:48:02 -07:00
Cheng Zhao
ae3b47aa75 Inherit current window's node-integration in window.open by default
Fix #2100.
2015-07-06 16:21:08 +08:00
John Haley
565a500320 Fix window.open with wrong name
When calling `window.open` the newly created window would have the name of the last option in the `features` argument as the title. I think it's supposed to be pointed to `frameName`.
2015-06-29 10:32:27 -07:00
Cheng Zhao
42e21d15bf Remove all calls to node::MakeCallback
node::MakeCallback is doing too much for us, avoid calling it.
2015-06-23 20:14:03 +08:00
deepak1556
cb1d9f60ec override: set window.opener to null for webview 2015-06-18 21:14:45 +05:30
Haojian Wu
47eac062f6 Expose Print API to webContents and webView.
Also move the print implementation from window to webContents.
2015-06-16 20:08:30 +08:00
Haojian Wu
c0a6cb69bf Move printToPDF API to WebContents.
Also expose in webview.
2015-06-16 20:06:52 +08:00
Cheng Zhao
bd704dd8aa Merge pull request #1979 from deepak1556/remote_args_patch
remote: handle circular reference in wrapArgs
2015-06-16 16:40:06 +08:00
deepak1556
193f95a888 remote: handle circular reference in wrapArgs 2015-06-16 13:43:30 +05:30
Magica
8aa559fe51 Add setAudioMuted to webContents 2015-06-15 21:40:49 +08:00
Cheng Zhao
132c13a11b Fix calls to deprecated node::ThrowError API 2015-06-10 14:21:09 +08:00
Cheng Zhao
d12697c657 Merge pull request #1918 from kirkouimet/master
Fixing an issue compiling on Windows and improving webview interopability with other JavaScript libraries
2015-06-10 12:48:45 +08:00
Cheng Zhao
4b12a95d37 Transfer Buffer through "remote" 2015-06-10 11:58:15 +08:00
Kirk Ouimet
0fef09281b Guarding webview attributes against polluted Object.prototypes
Ran into an error with the buildParams function breaking when using a JavaScript library that modified the Object.prototype, this small fix resolves the issue.
2015-06-09 16:17:00 -07:00
Haojian Wu
f1a8c5a1ca Use httpReferrer and userAgent new names in webview. 2015-06-09 10:44:54 +08:00
deepak1556
683917ae67 renderer: option to override page visiblity state 2015-06-04 14:40:13 +05:30
Cheng Zhao
95a8f3fc70 Fix changing src would calling loadUrl for twice 2015-06-03 14:33:22 +08:00
Cheng Zhao
f22d4bf0c0 Merge pull request #1814 from fraserxu/master
convert message to string for window.alert method
2015-06-03 10:20:59 +08:00
Cheng Zhao
02bdace366 Delete Node's symbols after Environment has been loaded
Fix #1803.
2015-05-29 22:20:20 +08:00
fraserxu
57ab704300 convert message to string for window.alert method 2015-05-29 15:55:11 +08:00
Cheng Zhao
b5c9fe78f1 Listen to ElementSizeChanged event 2015-05-29 13:47:09 +08:00
Cheng Zhao
e4bb456964 Pass element size when attaching 2015-05-29 11:47:54 +08:00
Cheng Zhao
b45ed8d9a2 pendingGuestCreation is removed 2015-05-29 11:20:28 +08:00
Cheng Zhao
bdf73fcd4c Update to the new algorithm of setting webview size 2015-05-29 11:12:55 +08:00
Cheng Zhao
4a376694b4 Merge pull request #1719 from deepak1556/service_worker_patch
devtools: api to inspect service worker
2015-05-27 15:47:41 +08:00
Cheng Zhao
1c60575dc0 Merge pull request #1738 from deepak1556/http_ptach
webContents: providing header details with response event
2015-05-27 15:05:55 +08:00
Cheng Zhao
abf8ffd3a2 Merge pull request #1689 from deepak1556/ftp_patch
protocol: adding ftp scheme support
2015-05-27 15:04:21 +08:00
deepak1556
c22b138b67 webContents: providing header details with response event 2015-05-23 19:26:47 +05:30
Cheng Zhao
d78efe7c22 Use Local instead of Handle 2015-05-22 19:11:22 +08:00
Cheng Zhao
b169ac016e Start AtomRenderFrameObserver 2015-05-22 15:59:29 +08:00
Cheng Zhao
01e891652f Fix compilation errors 2015-05-22 15:24:34 +08:00
Cheng Zhao
c82d21b39f Add AtomRenderFrameObserver 2015-05-22 15:01:13 +08:00
Cheng Zhao
fd41f1e8bc Merge pull request #1616 from deepak1556/webview_fullscreen_patch
webContents: override fullscreen notification apis for webview
2015-05-21 15:03:48 +08:00
Cheng Zhao
cde6b41a05 Merge pull request #1730 from deepak1556/webview_navigation_patch
navigation: adding clearHistory method
2015-05-21 14:56:30 +08:00
deepak1556
27c3727ddb use generated constants 2015-05-21 11:07:25 +05:30
deepak1556
ea147c588f protocol: adding ftp scheme support 2015-05-21 10:59:56 +05:30
deepak1556
0dcf061dc1 check if window is html or forced fullscreen 2015-05-21 10:16:11 +05:30
Cheng Zhao
dbecc8d5f5 Merge pull request #1701 from CharlieHess/paste-and-match-style
Paste and Match Style
2015-05-20 23:12:46 +08:00
Cheng Zhao
4ae1998d09 Revert #1604 2015-05-20 20:35:54 +08:00
deepak1556
04b797ff0c webContents: providing response headers in did-get-response-details event 2015-05-20 15:54:30 +05:30
deepak1556
c548b9c87e webContents: adding events to detect gpu and plugin process crashes 2015-05-20 15:05:48 +05:30
Paul Betts
5ee0ff9ee9 Fixup code review items 2015-05-19 14:27:15 -07:00
Paul Betts
22f51372f5 Fix typo 2015-05-19 14:27:15 -07:00
Paul Betts
e4d90f747f Pass user agent along like http referrer and set user agent in C++ 2015-05-19 14:27:15 -07:00
Paul Betts
4a8d7c1819 Right before navigate, set the user agent 2015-05-19 14:27:15 -07:00
Paul Betts
3a81a5224d Set up a class for it in web-view-attributes 2015-05-19 14:27:14 -07:00
Paul Betts
3993161a63 Define a new useragent attribute on WebView tag 2015-05-19 14:27:14 -07:00
deepak1556
b0e8cafa00 navigation: adding clearHistory method 2015-05-19 22:41:03 +05:30
deepak1556
46d80e8f05 devtools: api to inspect service worker for current webcontents 2015-05-18 19:19:33 +05:30
Charlie Hess
3913e18447 Add WebContents API for PasteAndMatchStyle. 2015-05-15 00:15:19 -07:00
Cheng Zhao
e817192df3 Make history.go work 2015-05-11 16:44:01 +08:00
Cheng Zhao
82ffa4d2b1 Send history operations as asynchronous messages
Sending as sync message will cause weird results for
NavigationController
2015-05-11 16:03:25 +08:00
Cheng Zhao
4d1cd7e15f Redirect history operations in renderer to browser 2015-05-11 14:29:44 +08:00
Cheng Zhao
4c10925694 Add remote.getCurrentWebContents API 2015-05-11 14:05:20 +08:00
Cheng Zhao
75e5695317 Merge pull request #1554 from deepak1556/favicon_patch
webContents: removing getFavicon api
2015-05-10 21:22:01 +08:00
deepak1556
3fdc4543b8 ppapi flash plugin support 2015-05-10 09:22:09 +05:30
deepak1556
22c50d0800 webContents: removing getFavicon api 2015-05-04 13:39:13 +05:30
Paul Betts
e2ec50173f Log errors in preload script instead of rethrowing
At some point, unhandled errors in preload scripts stopped being logged
to console, meaning that preload scripts were very difficult to debug.
Instead, print the error to console (which is what we wanted to have
happen anyways)
2015-05-01 16:11:56 -07:00
deepak1556
8c5f171a93 webContents: providing dom-ready event 2015-04-30 09:58:29 +05:30
Cheng Zhao
23afffa46d Chaning src of webview should always do a load
Previously changing src to the same value won't have any effect, which
does not follow the behavior of browsers.
2015-04-29 17:57:16 +08:00
Cheng Zhao
858198a2bd Merge pull request #1461 from deepak1556/webview_devtools_patch
webview: add inspectElement method
2015-04-25 16:14:13 +08:00
deepak1556
18b3dfa350 removed will-navigate and did-navigate events 2015-04-25 09:50:28 +05:30
deepak1556
05be71e9bc fix getFavcion api in webview to return dataUrl 2015-04-25 09:50:28 +05:30
deepak1556
36819e2638 added did-navigate event, getFavicon api and workaround webview spec 2015-04-25 09:50:28 +05:30
deepak1556
9b585458c1 webview: will-navigate and page-favicon-set navigation events 2015-04-25 09:50:28 +05:30
deepak1556
cdb1711fe1 webview: add inspectElement method 2015-04-23 15:18:13 +05:30
Cheng Zhao
cd0aa4a956 Merge pull request #1389 from atom/rename-to-electron
Rename to electron
2015-04-17 15:22:07 +08:00
Cheng Zhao
e04c58f398 mac: Generate Info.plist from gyp variables 2015-04-14 16:09:34 +08:00
Cheng Zhao
2d8d328f02 Rename hard-coded application names in code 2015-04-14 15:55:41 +08:00
deepak1556
15a648a879 webContents: event to detect status of requested resource 2015-04-08 19:14:47 +05:30
Robo
87af6f9c80 webview: adding page-title-set event 2015-04-05 14:50:42 +05:30
Cheng Zhao
d46c64f64b Clean up WebView's ipc listeners when detached, fix #1185 2015-03-23 23:07:53 +08:00
Cheng Zhao
30e931f10b Revert "The "subpixel-font-scaling" option is removed"
This reverts commit 98fbe5127b.
2015-03-23 16:29:32 +08:00
Cheng Zhao
12d5474077 Fix webview for the new API 2015-03-18 09:57:46 +08:00
Cheng Zhao
ceccf1b48a Fix devtools override for its new architecture 2015-03-18 09:57:44 +08:00
Cheng Zhao
98fbe5127b The "subpixel-font-scaling" option is removed 2015-03-18 09:57:41 +08:00
Cheng Zhao
dead7caab2 CommandLine moved to base::CommandLine 2015-03-18 09:57:37 +08:00
deepak1556
8395745cc1 using Object.defineProperty instead of __defineMethods__ 2015-03-11 04:18:11 +05:30
Cheng Zhao
eb31df2940 Rename FakeWindow to BrowserWindowProxy 2015-03-04 08:46:45 -08:00
Cheng Zhao
99f6bf045f Improve #1137 2015-03-04 07:58:06 -08:00
Cheng Zhao
fac9ea3356 Merge pull request #1137 from bundyo/implement-some-popup-methods
Implement FakeWindow.postMessage, window.opener.postMessage and window.closed flag for popup windows
2015-03-04 07:28:33 -08:00
Bundyo
dbbc35bd13 Fixes after code review. 2015-03-04 11:29:52 +02:00
Cheng Zhao
54c948409e Merge pull request #1167 from mal/patch-1
Prevent overflow on webview with height: 100%
2015-02-27 15:30:17 -08:00
Mal Graty
7eecb84898 Prevent overflow on webview with height: 100%
Without this, the object element gets displayed `inline` which in chromium means that it slightly exceeds it's bounds. Unfortunately there's no nice way to mitigate this issue as I can't find a way to get extra css into this intermediate page. However, forcing a block display solves the issue.
2015-02-21 22:34:57 +00:00
Bundyo
43e44f8c35 Fix window.open options parsing:
remove excessive whitespace (gets inserted in property names),
avoid creating dummy properties if not needed,
turn 1/0 to true/false, convert integer strings to strings (fixes width/height).
2015-02-18 14:36:05 +02:00
Bundyo
4e82f4c672 Remove two semicolons. 2015-02-13 18:54:18 +02:00
Bundyo
7fa1296a17 Implement FakeWindow.postMessage, window.opener.postMessage and window.closed flag for popup windows. 2015-02-13 18:45:12 +02:00
Cheng Zhao
4834eed520 Set process.resourcesPath in C++ 2015-02-13 13:32:58 +08:00
Cheng Zhao
0b8efc434d Use __dirname when setting globalPaths 2015-02-13 12:55:06 +08:00
Cheng Zhao
23b5c1f782 Cleanup usaages of asar: protocol 2015-01-31 18:50:26 -08:00
Cheng Zhao
2ed7d58ac4 Fix loading node integration when page in webview navigates, close #1068 2015-01-29 16:49:34 -08:00
Cheng Zhao
4217b70331 Return null in window.open if failed to open new window, fixes #1067 2015-01-28 21:07:57 -08:00
Cheng Zhao
43421aedcf OVERRIDE macro is now removed 2015-01-27 13:18:30 -08:00
Cheng Zhao
20431f4f2f No need to route via ATOM_INTERNAL_MESSAGE 2015-01-27 10:47:11 -08:00
Cheng Zhao
ad16e9ea49 Check for the existence of "ipc" object 2015-01-26 18:47:23 -08:00
Cheng Zhao
a10782cdea Don't rely on the global process object for message dispatching 2015-01-26 18:42:43 -08:00
Cheng Zhao
de99c38fb6 Get rid of AtomRenderFrameObserver 2015-01-23 20:51:19 -08:00
Cheng Zhao
91320a9e55 Remove AtomRendererBindings
After the simplification of code this class is no longer needed.
2015-01-23 20:43:38 -08:00
Cheng Zhao
0bcc9b7713 Don't handle browser messages before document object is created
When we recevied messages from browser, we will try to transfer the
message to web page, and when we do that blink will create an empty
document when there is no document object yet, which will make our init
script run when window.location is still about:blank.
2015-01-23 18:33:01 -08:00
Cheng Zhao
4ba3e101f6 Clean the init.coffee 2015-01-21 17:38:26 -08:00
Cheng Zhao
ef15b670a9 Initialize node integration after window object is cleared 2015-01-21 16:40:19 -08:00
Cheng Zhao
706f547287 Don't insert node symbols in frames
This greatly simplified our code, and it is not useful to enable node
integrations in frames.
2015-01-21 15:42:57 -08:00
Cheng Zhao
f142f572c3 Add DidClearWindowObject for renderer client 2015-01-21 15:35:43 -08:00
Cheng Zhao
7e33e26465 Add atom-shell bindings before loading environment 2015-01-21 15:02:09 -08:00
Cheng Zhao
5e58915bdd Separate LoadEnvironment from CreateEnvironment 2015-01-21 14:00:19 -08:00
Cheng Zhao
ff856e679d Make editing commands available in <webview> 2015-01-19 12:15:07 -08:00
Cheng Zhao
809c995c0b Make "screen" module a browser module 2015-01-16 11:01:38 -08:00
Cheng Zhao
834d28f528 win: Fix building 2015-01-14 14:05:22 -08:00
Cheng Zhao
b4cdb546fe Don't set contentWindow property for <webview>
This property is only available in Chrome and we don't need it in
atom-shell, so remove it to avoid confusions.

Fixes #997.
2015-01-12 14:17:49 -08:00
Cheng Zhao
bce8a3f835 Fix cpplint warning 2015-01-08 12:51:15 -08:00
Cheng Zhao
2d5b17552a Add webFrame.registerUrlSchemeAsSecure API 2015-01-08 12:39:58 -08:00