Commit Graph

485 Commits (e2295f805c0deeabcec4e3b28ba555bc9f3d29fa)

Author SHA1 Message Date
Ariya Hidayat f3277bc5e9 Explicitly disable directory listing in the web server.
This is for security, as leaking the directory structure is likely not
the use case of PhantomJS built-in server.

http://code.google.com/p/phantomjs/issues/detail?id=115
2011-12-19 18:01:19 -08:00
Ariya Hidayat 446abdbd7e Fix wrong exit code (regression).
http://code.google.com/p/phantomjs/issues/detail?id=294
2011-12-19 17:53:39 -08:00
Ariya Hidayat 471e12a375 JSLint fix: Combine all variable declarations. 2011-12-19 17:52:53 -08:00
Ariya Hidayat d5bc2b8192 Update CoffeeScript compiler to version 1.2.
http://code.google.com/p/phantomjs/issues/detail?id=312
2011-12-19 17:51:45 -08:00
Danny Wang 15ac9ab291 fixed TypeError when call e.url in page.onResourceRequested handler
http://code.google.com/p/phantomjs/issues/detail?id=305
2011-12-13 16:39:09 +08:00
Paul Tsier b10dc130ce Call qRegisterMetaType on mongoose types 2011-12-11 18:54:35 -08:00
Ariya Hidayat 3c0957834c used QUrl::fromEncoded() and QUrl::toEncoded() instead of QUrl(string) and QUrl::toString() when converting urls
Patch by Danny Wang: https://github.com/ariya/phantomjs/pull/183

http://code.google.com/p/phantomjs/issues/detail?id=301
2011-12-11 14:32:00 -08:00
Jon Leighton 38269c7b35 Workaround Qt 4.8 segfault 2011-12-06 20:25:52 +00:00
Ariya Hidayat ac95479424 Merge pull request #166 from jgornick/add-socks5-proxy
Added ability to specify SOCKS5 proxy type.

http://code.google.com/p/phantomjs/issues/detail?id=266
2011-11-21 20:47:56 -08:00
Jon Leighton 717c4af108 Explicitly link to libdl 2011-11-21 18:12:23 +00:00
Leo Franchi fbdbcd7f69 Minor fixes 2011-11-15 19:11:42 -05:00
Leo Franchi 610fb41922 Add support for remotely debugging a script.
This adds a new parameter --remote-debugger-port=<port>. When set,
phantomjs is operating in debug mode and will expose a webkit remote
debugger on the desired port. It can be attached to from any WebKit
browser on the given port and debugged.
2011-11-15 19:02:06 -05:00
Milian Wolff bd2052631f basic unit testing for WebServer.listen 2011-11-15 13:45:11 +01:00
Milian Wolff 5eaf705955 basic unit test for webserver 2011-11-15 13:45:11 +01:00
Milian Wolff 667c585424 don't deadlock, could happen on error
i.e. if we tried to listen to an already used port, the error
was propagated in the main thread and the blockingqueuedconnection
would deadlock. not anymore
2011-11-15 13:45:11 +01:00
Milian Wolff 36e8a3e87c cleanup api 2011-11-15 13:45:11 +01:00
Milian Wolff e5a35d6416 some API dox 2011-11-15 13:45:11 +01:00
Milian Wolff 6376ff0cb9 --debug 2011-11-15 13:45:11 +01:00
Milian Wolff a6bde751a9 extend WebServerResponse API 2011-11-15 13:45:11 +01:00
Milian Wolff 705eda8823 add read-properties to WebServerRequest 2011-11-15 13:45:11 +01:00
Milian Wolff 245eec551f make it possible to access the request headers 2011-11-15 13:45:11 +01:00
Milian Wolff f30bfa9fb7 extend WebServerRequest API 2011-11-15 13:45:11 +01:00
Milian Wolff 0abdc7f9ed very basic response + request handling for WebServer
the api is very limited but already makes the server.js example
do something useful with the server
2011-11-15 13:45:11 +01:00
Milian Wolff 73705e484b first work towards a WebServer
this is the minimal server that gets properly embedded into
the phantomjs space but the .listen api is missing actually
useful options (incoming request and ability to write to client)
2011-11-15 13:44:47 +01:00
Milian Wolff c3179c3dee move mongoose dir, use same setup like in gif folder 2011-11-15 13:38:01 +01:00
Aditya Ivaturi feed6fdc72 From now on including mongoose directly in the project 2011-11-15 13:38:01 +01:00
Aditya Ivaturi 2e43d7da15 Modified name of the shared lib generated 2011-11-15 13:38:01 +01:00
unknown 2b21135119 Fixed the make command for mingw 2011-11-15 13:38:01 +01:00
Aditya Ivaturi 71ffff002f Adding mongoose code & commented out parts in Makefile to skip the exe generation 2011-11-15 13:38:01 +01:00
Joe Gornick cd9f40b22d Merge branch 'master' of git://github.com/ariya/phantomjs into add-socks5-proxy 2011-11-08 23:23:28 -06:00
Joe Gornick d91c5af9b2 Added ability to specify SOCKS5 proxy type. 2011-11-08 21:58:48 -06:00
Ariya Hidayat f1b03e84d9 Bump the unstable version to 1.4. 2011-10-29 11:18:50 -05:00
Ariya Hidayat f18fd5372f Fix regression of onInitialized.
As suggested by Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>,
there is no need to use queued connection for initialized() slot.

http://code.google.com/p/phantomjs/issues/detail?id=264
2011-10-25 09:48:27 -05:00
Ivan De Marino 19b32cff0a Refactored and Centralised how we handle the loading of resource files.
* Some code reuse
* Centralised in Utils the loading of resource files
* It is safe to assume, when loading a resource file, that IT'S THERE and IT'S READABLE
* ALSO, I removed the unused 'shims' (we forgot them in there :P)
2011-10-16 20:35:21 +01:00
Ariya Hidayat fe20c0987d Avoid deleting a QWebPage inside its own signal emission.
If Phantom.exit() is called inside the handler for loadFinished(), we
end up in a situation that QWebPage is deleting itself during a signal
emission. This used to be OK in QtWebKit 2.0 (Qt 4.7) but is not OK for
QtWebKit 2.2 (upcoming Qt 4.8).

http://code.google.com/p/phantomjs/issues/detail?id=251

Patch by Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>.
2011-10-05 17:26:46 -07:00
Ariya Hidayat eb255817c5 Revert support for getting body of requests or responses.
This is causing a serious regression. For details, check out the
following issues:

http://code.google.com/p/phantomjs/issues/detail?id=158
http://code.google.com/p/phantomjs/issues/detail?id=238
2011-09-20 23:05:34 -07:00
Ariya Hidayat 2d0e4fc57c Fix copy paste mistake for HTTP authentication.
http://code.google.com/p/phantomjs/issues/detail?id=45
2011-09-16 17:36:27 -07:00
Ariya Hidayat 76de868075 Make HTTP authentication as page settings.
http://code.google.com/p/phantomjs/issues/detail?id=45
2011-09-16 17:34:02 -07:00
Ariya Hidayat 4544b129c9 Improve the API for mouse events.
It now looks like in this example:

  page.sendEvent('mousedown', 42, 217);

Other available events are 'mouseup', 'mousemove', and 'click'. They modelled
after the DOM events.

Unit tests are included.

http://code.google.com/p/phantomjs/issues/detail?id=234
2011-09-16 07:15:21 -07:00
Ariya Hidayat df93935d52 about:blank also needs document.head.
This makes it similar to what a typical web browser does.

http://code.google.com/p/phantomjs/issues/detail?id=235
2011-09-16 07:14:38 -07:00
Ariya Hidayat 5449251a6c Unify the name to 'cookiesFile' everywhere.
http://code.google.com/p/phantomjs/issues/detail?id=91
http://code.google.com/p/phantomjs/issues/detail?id=180
2011-09-15 09:40:22 -07:00
Ariya Hidayat 6d42bc0123 Clean-up usage.txt. 2011-09-15 01:08:48 -07:00
Ariya Hidayat eb95355a28 Add --cookies option to the usage.txt. 2011-09-15 01:06:12 -07:00
Ariya Hidayat f73108a1d8 Special handling for about:blank.
http://code.google.com/p/phantomjs/issues/detail?id=235
2011-09-15 00:16:41 -07:00
Ariya Hidayat b0a5b6dbad Every web page gets its own network access manager.
Network-related activites should not be shared between web page
instances. Otherwise, it is extremely confusing when there are two (or
more) web pages are active at the same time.

http://code.google.com/p/phantomjs/issues/detail?id=190
2011-09-14 23:46:01 -07:00
Ariya Hidayat 37404ba179 Fix potential crash in the reply proxy.
The cause is not clear, either the object ownership issue (circular
reference) or some race condition (or worse, both combination).
In all cases, using QPointer avoids dereferencing a null object.

http://code.google.com/p/phantomjs/issues/detail?id=158
2011-09-14 22:47:26 -07:00
Ariya Hidayat 7a9b6b4fec Clean-up WebPage constructor.
We shall just pass the Config instance, that's cleaner and less messy.

This is a preparation step for
http://code.google.com/p/phantomjs/issues/detail?id=190
2011-09-14 21:47:36 -07:00
Ariya Hidayat ac9be2a0d4 Sort the include files alphabetically. 2011-09-14 21:47:36 -07:00
Ariya Hidayat e960279ff2 Coding style: fix place bracement. 2011-09-11 02:19:20 -07:00
Ariya Hidayat 1ed381c95f Update JSLint flags. 2011-09-11 01:08:49 -07:00
Ariya Hidayat b6102d7f6e Refactoring on the module implementation.
This is mostly based on Ivan's work, see
https://github.com/ariya/phantomjs/pull/153

http://code.google.com/p/phantomjs/issues/detail?id=47
2011-09-11 01:04:53 -07:00
Ariya Hidayat d844d5404f Fix wrong viewport size due to commit 6e39625e.
http://code.google.com/p/phantomjs/issues/detail?id=217
2011-09-08 23:40:05 -07:00
Ariya Hidayat f7162f7302 Fix coding style (brace placement and indentation with spaces). 2011-09-08 22:35:07 -07:00
Ariya Hidayat e674283821 Fix the proxy option example (http is not needed).
This was mentioned in
http://code.google.com/p/phantomjs/issues/detail?id=19
2011-09-08 21:37:40 -07:00
Ariya Hidayat a62299214d Fix braces placement to follow the coding style. 2011-09-08 17:49:05 -07:00
Ariya Hidayat 4fb37aa0cc Create FileSystem instance only when needed. 2011-09-08 17:37:01 -07:00
Ariya Hidayat 2b83a52251 Implement require('webpage').
This is mostly based on Ivan's work, see
https://github.com/ariya/phantomjs/pull/153

window.WebPage still works, it is not recommended and will be
deprecated.

http://code.google.com/p/phantomjs/issues/detail?id=47
2011-09-08 17:32:31 -07:00
Ariya Hidayat b412aba06d bootstrap.js: Reindent properly. 2011-09-08 13:25:44 -07:00
Ariya Hidayat 6a79ea7e6d Implement require('fs').
This is mostly based on Ivan's work, see
https://github.com/ariya/phantomjs/pull/153

http://code.google.com/p/phantomjs/issues/detail?id=47
2011-09-08 10:00:07 -07:00
Ariya Hidayat 080eb26a11 Add the proper *.js files to OTHER_FILES. 2011-09-08 07:15:13 -07:00
Ariya Hidayat d94b0c4fbb Fix missing rename from commit 059e7258. 2011-09-07 20:50:02 -07:00
Ariya Hidayat 059e72588c Rename option/config to localToRemoteUrlAccess(Enabled). 2011-09-07 09:27:20 -07:00
Ariya Hidayat d35f81bbda Decouple static helper methods from a class. 2011-09-06 17:00:59 -07:00
Ariya Hidayat bc348c5a35 Give function parameter a proper name. 2011-09-06 17:00:59 -07:00
Ariya Hidayat 962f99fa77 Fix typo in the method name. 2011-09-06 17:00:55 -07:00
Ariya Hidayat e14c07f288 Fix member variable initialization order. 2011-09-06 16:38:51 -07:00
Ariya Hidayat 07c6eb81f5 Sort include files alphabetically. 2011-09-06 16:37:54 -07:00
Ariya Hidayat 3dc9fe53a0 Disk cache object is private for network access. 2011-09-06 16:36:23 -07:00
Ariya Hidayat c0e179d59e Do not manage object lifetime, rely on Qt for that. 2011-09-06 16:35:19 -07:00
Ariya Hidayat cebe64ec31 Config to limit the disk cache size.
Based on the previous patch at https://github.com/ariya/phantomjs/pull/144.

http://code.google.com/p/phantomjs/issues/detail?id=220
2011-09-06 16:33:11 -07:00
Ariya Hidayat 7aa5ec5347 Do not use empty string literal for the default parameter. 2011-09-06 16:01:19 -07:00
Alex Whitman 774070809f Fixes a couple of compiler warnings
* Unused parameter in networkaccessmanager.cpp
* No newline at the end of networkreplyproxy.cpp
2011-09-05 15:23:52 +01:00
Ariya Hidayat 7cd76309e6 Merge pull request #151 from detro/dev-commonjs_fileio
Last API
2011-09-04 21:19:15 -07:00
Ivan De Marino 88991207c2 Added "copyTree(source, destination)" to the set of File API.
* This is the last API
* I added tests accordingly
* Test could be improved with a proper recursive comparison
* Or, if we introduce "phantom.exec", we could just run a "diff -rq" :)
2011-09-04 23:42:54 +01:00
Ivan De Marino 8c15c80b14 Renamed "fs-shim.js" to "fileystem-shim.js" to ensure name consistency. 2011-09-04 21:26:11 +01:00
Ariya Hidayat 5889ef75e9 Merge pull request #149 from Roejames12/master
Tons of updates :)
2011-09-04 00:24:29 -07:00
IceArmy 5f69a34a4f Add execjosh to webpage-shim copyrights 2011-09-03 23:52:36 -07:00
Paul Dixon 461d533348 Removing unnecessary Terminal include 2011-09-02 17:47:33 +02:00
mintbridge af71868c23 add basic http auth support to networkaccessmanager, and add the ability to pass the auth credentials in from the command line 2011-09-02 16:35:58 +01:00
Ivan De Marino f83b9a5ba7 Added "touch(path)" to the FS API
* Implemented in the JS Shim
* Added test accordingly
2011-09-01 18:06:30 -07:00
Ivan De Marino 750e1e98c4 Added "fs.move(source, dest)" to the set of FS API.
* Added tests accordingly
* The implementation is a pure JS shim
2011-09-01 18:06:30 -07:00
Ivan De Marino 31c2decbd3 Added "copy(source, dest)" to the set of FS API.
* Also, added test case accordingly.
2011-09-01 18:06:30 -07:00
Ivan De Marino 12171fc9c6 Improving compliancy of "remove*" Filesystem API. 2011-09-01 18:06:30 -07:00
Ivan De Marino 715f1a7fc3 Refactored the JS Shims to be isolated in their own file.
Also, refactored some "too cautious" code to load the shim.

PS I don't grasp 100% the point of "Terminal". Wouldn't qDebug() be enough? What am I missing?
2011-09-01 18:06:30 -07:00
Ivan De Marino 96641ea8a1 Added "touch(path)" to the FS API
* Implemented in the JS Shim
* Added test accordingly
2011-09-01 00:34:55 +01:00
Ivan De Marino 619d4b470f Added "fs.move(source, dest)" to the set of FS API.
* Added tests accordingly
* The implementation is a pure JS shim
2011-09-01 00:14:17 +01:00
Ivan De Marino f381f61c64 Added "copy(source, dest)" to the set of FS API.
* Also, added test case accordingly.
2011-09-01 00:01:40 +01:00
Ivan De Marino cffd688efd Improving compliancy of "remove*" Filesystem API. 2011-08-31 23:32:56 +01:00
Ivan De Marino 3401dd9f78 Refactored the JS Shims to be isolated in their own file.
Also, refactored some "too cautious" code to load the shim.

PS I don't grasp 100% the point of "Terminal". Wouldn't qDebug() be enough? What am I missing?
2011-08-31 23:19:17 +01:00
Ariya Hidayat 4dca2b3d60 Fixed issue 212: build problem due to config.h.
Change <config.h> in the GIF code to "config.h" so that it is not
confused with PhantomJS' own config file.
2011-08-31 09:40:43 -07:00
Ariya Hidayat 868e751bea Merge pull request #143 from execjosh/issue-206-web-page-init
Allow for passing options to WebPage constructor
2011-08-31 09:28:58 -07:00
Ariya Hidayat 8ebd446e58 Merge pull request #145 from detro/master
Comments stuff
2011-08-31 09:27:52 -07:00
Ivan De Marino d8d88a3894 Added "Copyright..." line to files on which I worked on.
I tried to also add/remove based on the git history.
2011-08-31 16:29:40 +01:00
execjosh d792cd8d05 Remove ini file related stuff from Config 2011-08-30 00:50:59 +09:00
execjosh 3c4699b609 Add "--config" command-line option 2011-08-30 00:45:39 +09:00
execjosh 26f7185bf6 Implement JSON config loader 2011-08-30 00:43:41 +09:00
execjosh 94c5e270cf Remove superfluous inclusion of QApplication 2011-08-29 23:24:45 +09:00
execjosh 8f89ddc9a3 Make Config extend QObject 2011-08-29 23:23:01 +09:00
execjosh da97b9abbf Fixup copyInto function
* Drop any undefined values
* Copy non-objects, too
2011-08-28 23:12:52 +09:00
execjosh 74db4807d5 Actually add parameter to WebPage constructor 2011-08-28 22:29:31 +09:00
execjosh 3c790d80a8 Migrate command-line argument processing logic to Config 2011-08-28 22:13:57 +09:00
execjosh 9c94a8ef24 Rename ini file code to "Config::loadIniFile" 2011-08-28 21:12:40 +09:00
execjosh ad53b9bb3e Rename "PhantomConfig" to "Config" 2011-08-28 21:11:20 +09:00
execjosh 102b421617 Allow for passing options to WebPage constructor 2011-08-28 19:11:24 +09:00
execjosh 1461ac012d Implement config file (.phantomjsrc) 2011-08-27 03:03:06 +09:00
execjosh f5f436160c Migrate page settings to PhantomConfig 2011-08-27 03:02:59 +09:00
execjosh a445b2d7b9 Migrate network access manager settings to PhantomConfig 2011-08-27 03:02:51 +09:00
execjosh 5441f51607 Migrate proxy settings to PhantomConfig 2011-08-27 03:02:43 +09:00
execjosh a75f7c9dc3 Create PhantomConfig and migrate output and script encoding settings 2011-08-27 03:02:35 +09:00
Ariya Hidayat 66460a7793 Fix building with Qt 4.6. 2011-08-24 05:48:07 -07:00
Ariya Hidayat 6fe972d0a8 Implement WebPage's release() function in pure C++. 2011-08-23 18:53:53 -07:00
Ariya Hidayat 08e6c5b8cd Merge pull request #132 from execjosh/issue-194-default-encoding-utf8
[BUGFIX] issue 194: make default encoding UTF-8
2011-08-22 09:02:29 -07:00
Ariya Hidayat d3cb9fe750 Fix typo. 2011-08-21 22:07:33 -07:00
Ariya Hidayat c75e595ea4 Merge branch 'master' of github.com:ariya/phantomjs 2011-08-21 15:23:07 -07:00
IceArmy fb93d49a7f Rename page.destroy() to page.release() 2011-08-21 14:12:15 -07:00
IceArmy 3caac5a5a3 Rename "XSSAuditing" to "XSSAuditingEnabled" 2011-08-21 14:08:14 -07:00
execjosh d78b1e1f5e [BUGFIX] issue 194: make default encoding UTF-8 2011-08-21 19:48:02 +09:00
Ariya Hidayat f95a39230b Clean up WebPage#open, use named arguments. 2011-08-21 01:34:14 -07:00
Ariya Hidayat 6e4c1a40f2 Simplify WebPage#open, first argument is always url. 2011-08-21 01:25:43 -07:00
Ariya Hidayat 34a7389a2c Make Terminal class a real singleton. 2011-08-21 00:47:34 -07:00
Ariya Hidayat 83922ada2f Ensure consistent #ifdef guard. 2011-08-21 00:30:15 -07:00
Ariya Hidayat 4a96278d1b Include usage.txt in the project file. 2011-08-21 00:21:15 -07:00
Ariya Hidayat d3f10a8e18 Make CSConverter a real singleton. 2011-08-21 00:16:38 -07:00
Ariya Hidayat 944056ce4a Remove unused m_convert from Phantom class. 2011-08-20 23:52:23 -07:00
Ariya Hidayat 52746493c4 Remove useless extra empty line. 2011-08-20 23:45:21 -07:00
Ariya Hidayat 2dbdc36598 Reduce JSLint warnings on the bootstrap code. 2011-08-20 23:21:39 -07:00
Ariya Hidayat 776da4987f Add JSLint directives for the bootstrap code. 2011-08-20 23:11:14 -07:00
Ariya Hidayat 699f4f76f2 Fix coding style (no tab, 4 spaces). 2011-08-20 22:34:11 -07:00
Ariya Hidayat 9d19e02355 Remove stray character in the issue link. 2011-08-20 22:07:18 -07:00
Ariya Hidayat e679640700 Merge branch 'master' of github.com:ariya/phantomjs 2011-08-20 18:13:38 -07:00
Ariya Hidayat 319fd80ec3 Add callback for page initialization.
http://code.google.com/p/phantomjs/issues/detail?id=143
2011-08-20 17:57:01 -07:00
Ariya Hidayat e79a51bdd8 Merge pull request #129 from Roejames12/QWebSettings
New page settings
2011-08-20 17:17:36 -07:00
IceArmy 8880edcf78 Remove settings: jsOpenWindows, jsAccessClipboard, siteSpecificQuirksMode
Renamed jsEnabled to javascriptEnabled
2011-08-20 16:49:36 -07:00
Niek 8deac1b8c6 Fix issue 128 and issue 193 2011-08-20 10:24:56 +02:00
IceArmy 33005c3957 Add a few new QWebSettings for page settings.
Among the most useful, is the jsEnabled setting, which allows you to disable JavaScript.
2011-08-19 15:47:34 -07:00
Ariya Hidayat 545ce2a2b9 Merge pull request #126 from execjosh/issue186-script-and-terminal-encoding
Issue186 script and terminal encoding
2011-08-16 13:46:18 -07:00
Ariya Hidayat 155054e671 Merge pull request #124 from jgornick/reply-proxy-issue-158
Updated the network access manager to use a proxied reply so the response
2011-08-16 12:20:49 -07:00
execjosh 4e7d3f1c18 Change javascript property from "encoding" to "outputEncoding" 2011-08-17 04:17:42 +09:00
Ariya Hidayat 2867e06c53 Merge pull request #125 from robterrell/049e1f50bd54429ea2e43207ab01e10c8021988e
Added functions to WebPage class to simulate mouse move, mouse up, and mouse down using Qt.
2011-08-16 12:17:36 -07:00
execjosh 682b3532be Add command-line option to set encoding of starting script 2011-08-17 03:53:56 +09:00
execjosh 6254c84717 Add command-line option to set terminal output encoding 2011-08-17 03:49:12 +09:00
execjosh c3d7b2e918 Add static UTF-8 instance to encoding 2011-08-17 03:33:15 +09:00
execjosh ca92c9ff84 Allow startup script to set output encoding 2011-08-17 03:18:52 +09:00
execjosh dc72101c10 Replace direct usage of stdout and stderr with terminal 2011-08-17 03:15:02 +09:00
execjosh 714a849374 Create registry to hold globally-accessible instances 2011-08-17 02:52:23 +09:00
execjosh 40625b4c53 Wrap stdout and stderr to control display encoding 2011-08-17 02:49:48 +09:00
execjosh 1710409215 Wrap QTextCodec to control encoding/decoding 2011-08-17 02:47:28 +09:00
Joe Gornick 578aa6c236 Updated the network access manager to use a proxied reply so the response bodies can be captured. 2011-08-14 03:41:39 -05:00
Ivan De Marino 0842485f62 Merge remote-tracking branch 'upstream/master' into dev-commonjs_fileio 2011-08-08 23:42:36 +01:00
Ivan De Marino 2c4ac33942 Filesystem API: completed the "Tests" API group from CommonJS/Filesystem definition.
* Tests provided in "fs-spec-04.js"
* I also slightly enriched the "jasmine-console.js" reporter to get a bit more info
2011-08-08 23:42:11 +01:00
Ariya Hidayat f811e6ae1e Merge pull request #122 from Roejames12/master
Updates
2011-08-08 15:35:32 -07:00
IceArmy 862dc6e017 Update CoffeeScript to 1.1.2 2011-08-08 15:12:57 -07:00
Rob Terrell 049e1f50bd Added functions to WebPage class to simulate mouse move, mouse up, and mouse down. Also added click() convenience function, which combines a move, mousedown, and mouseup.
Added functions to simulate mouse move, mouse up, and mouse down events
in the Qt layer. For our uses, this was more reliable than creating
mouse events in javascript.
2011-08-07 09:29:50 -04:00
Ivan De Marino e71a992dbd Merge remote-tracking branch 'upstream/master' 2011-08-04 21:37:31 +01:00
Ariya Hidayat f280e51c2c Merge pull request #120 from detro/dev-commonjs_fileio
Filesystem API: completed the "Paths" API group from CommonJS/Filesystem
2011-08-01 22:43:44 -07:00
Bartosz Nitka bb2adcc986 Prevent javascript timeout
"The script on this page appears to have a problem. Do you want
to stop the script ?" dialog should no longer show
2011-08-01 17:31:13 -07:00
Ivan De Marino a47ee85d09 Filesystem API: completed the "Paths" API group from CommonJS/Filesystem definition.
* Tests provided in "fs-spec-03.js"
2011-08-02 00:47:43 +01:00
Ivan De Marino f3a11cd224 Given the progress made by Alessandro with [#140](http://code.google.com/p/phantomjs/issues/detail?id=140),
we should consider re-instating this .pro option for Mac.

Yes, it will still show the Icon in the Dock, but we gain the static executable.
2011-08-01 22:40:07 +01:00
Kapil Reddy 6e39625ecf added scrollPosition support in c++ version 2011-07-22 13:41:30 +05:30
Ivan De Marino 512ff9658e Filesystem API: added the "Attributes" API group from CommonJS/Filesystem definition
* Tests for this new API are also provided
* The 'fs.size()' method is implemented with a shim in 'bootstrap.js' to cover the exception throwing behaviour
2011-07-22 00:29:25 +01:00
Ivan De Marino 49ee7b52fd A bit more code doc 2011-07-20 22:43:34 +01:00
Ivan De Marino 21d633b786 Implement "fs.read" and "fs.write" in the JavaScript shim.
* I'd have to do it for throwing an exception in case of error anyway
* Updated a bit the code doc
2011-07-20 22:43:00 +01:00
Ivan De Marino ad33cb5b0b Note in the code what method I'm going to add to the "fs" object (update). 2011-07-20 22:42:48 +01:00
Ivan De Marino 540c6a6672 Note in the code what method I'm going to add to the "fs" object. 2011-07-20 22:42:30 +01:00
Erik Dubbelboer b1d947dd51 added persistent cookie support 2011-07-19 19:32:42 +02:00
IceArmy d1c418ba07 Allow constructs such as: page.open(url, operation) 2011-07-04 11:06:34 -07:00
IceArmy 895923603f Fix memory issues by providing a way to truly delete WebPages. #154
Use page.destroy() to delete the page and regain the memory.
2011-07-02 17:08:06 -07:00
Alessandro Portale c86d104c83 Remove obsolete #include <gifwriter.h> 2011-06-30 05:15:43 +02:00
Alessandro Portale 3fd978d6bf List bootstrap.js in Qt Creator under "Other Files" 2011-06-30 05:13:52 +02:00
Ariya Hidayat da749624a3 Merge pull request #99 from aportale/Issue_148
Fix crash on exit (Issues #136, #148 and #149)
2011-06-28 18:05:40 -07:00
Alessandro Portale 5acaa6b42d Fix crash on exit (Issues #136, #148 and #149)
Workaround: Apparently, all QWebPages need to be deleted before
the QApplication gets destroyed.
2011-06-29 00:45:12 +02:00
Ivan De Marino 3807b9dc4d Now, if "fs.open" fails, it throws an exception.
* This is implemented with a javascript-shim
2011-06-28 21:35:27 +01:00
Ivan De Marino a0e1888c2c Moved the "fs" object to be in the global/window space: will not be attached to the "phantom" object anymore.
* Once (and if) we implement support for CommonJS Module Loading, a "require("fs")" will be required.
2011-06-28 21:02:48 +01:00
Ivan De Marino aad029e53f Sorting out some nitpicks. 2011-06-28 13:24:24 +01:00
Ariya Hidayat c5213b24b0 Revert "Mac OS X: No need to build as an application bundle."
This reverts commit c6db0354ea.
2011-06-27 19:54:39 -07:00
Ivan De Marino f4aa689ec7 A bit more compliancy with the CommonJS Filesystem/A draft specs.
* Renamed some methods to be more compliant with the specs
* Added some Directory/Tree specific ops
* Support for the open mode '+' (that is equivalent to 'a')
* See draft at: http://wiki.commonjs.org/wiki/Filesystem/A
2011-06-27 23:14:41 +01:00
Ivan De Marino 6b04ee23c1 Introducing File I/O API in PhantomJS.
* This is the  squash of 30 commits, so it's meaty
* Inspired by HammerJS (see https://github.com/senchalabs/hammerjs)
* Not yet 100% complete
* Final aim is to provide a CommonJS/Filesystem compliant API (see http://wiki.commonjs.org/wiki/Filesystem)
2011-06-27 23:14:05 +01:00
Ariya Hidayat f25a7a66e5 Bump the Qt requirement to version >= 4.6.
Also, remove code branch for Qt 4.5.
2011-06-26 21:51:30 -07:00
Ariya Hidayat c6db0354ea Mac OS X: No need to build as an application bundle.
http://code.google.com/p/phantomjs/issues/detail?id=139
2011-06-26 00:03:18 -07:00
Ariya Hidayat cf23a5c6e3 Bump unstable version. 2011-06-25 23:59:16 -07:00
M. Scott Ford 1b67c2b8c4 Fixed issue with the open method that was preventing the use of POST unless a onLoadFinished handler was also passed in. 2011-06-26 00:07:07 -04:00
Ivan De Marino 99310e2c47 Curing my _Commentitis_. 2011-06-25 00:16:57 +01:00
Ivan De Marino 2895d096ab Adding "--local-access-remote=[yes|no]".
* This will allow local content to access remote content, bypassing the same origin policy.
* It's controllable from the CLI and through the "page.settings" property
* This addresses Issue #28 but only partially: it's still not possible to make _remote content access other remote content on a different origin_.
2011-06-24 15:57:55 +01:00
Ivan De Marino 0a2ec5f09f Sorting out the Page Settings Names into a unique source of truth (i.e. consts.h) 2011-06-24 15:51:01 +01:00
Ivan De Marino 9fa0a2c7ce Enabled HTML5 Web App Cache. 2011-06-24 15:28:17 +01:00
Ivan De Marino 6a56c53fba Sorted out a bit the global "QWebSettins".
More stuff to come: I'm working on Issue #28.
2011-06-24 14:54:31 +01:00
Ivan De Marino 40817dd525 Added "--version" and updated text in the usage text. 2011-06-24 14:17:54 +01:00
Ariya Hidayat 753ef864b9 Merge pull request #84 from corgibytes/fix-disconnect-this
Correctly disconnected event handler.
2011-06-20 23:59:32 -07:00
Ariya Hidayat 8094cdb4e7 Make sure phantom.exit() really exits.
Patch by Alessandro Portale.
2011-06-20 23:24:51 -07:00
M. Scott Ford 95a7650be8 Correctly disconnected event handler. 2011-06-20 18:55:05 -04:00
Ariya Hidayat baa4382de9 Merge pull request #83 from Roejames12/69b06da1
Revert "Exit program properly when we call phantom.exit"
2011-06-20 10:33:32 -07:00
Ariya Hidayat 3abb03d638 Build fix for Qt 4.5. 2011-06-20 10:26:32 -07:00
IceArmy 69b06da140 Revert "Exit program properly when we call phantom.exit" 2011-06-20 10:14:08 -07:00
Ariya Hidayat 7ba0d6964e Merge pull request #82 from Roejames12/master
Exit program properly when we call phantom.exit
2011-06-19 23:19:44 -07:00
IceArmy 3d0c56af40 Fix the last problem with setTimeout and setInterval 2011-06-19 21:18:14 -07:00
Ariya Hidayat 00810e98b3 Pass source and lineNumber for console redirection.
onConsoleMessage callback can handle two (optional) arguments, e.g.

    page.onConsoleMessage = function (msg, lineNo, source) {
        ....
    };
2011-06-19 21:06:27 -07:00
IceArmy c44838227d Fix bug where phantom.exit wouldn't exit properly 2011-06-19 17:26:39 -07:00
IceArmy 54478a1154 Use qWarning only if script isn't starting script 2011-06-19 14:00:04 -07:00
IceArmy 7a9e0c8599 Exit on start script error 2011-06-19 13:37:03 -07:00
IceArmy 0e765f2a95 Exit program properly when we call phantom.exit
Previously, calling phantom.exit would set the exit code and finish running the
JavaScript until it was done, then exit the program with your code. Basically
it didn't actually exit the program. It caused many code fallthrough problems,
but is now fixed. :)
2011-06-19 01:20:45 -07:00