The [IO/A spec][1] for `read` is as follows:
> Read up to n bytes from the stream, or until the end of the stream
> has been reached. [If] n is null, reads up to the block size of the
> underlying device, or up to 1024 bytes if the block size is not
> discernible. If n is not specified, this method always reads the
> full stream until its end is reached. ...
Since discovering the block size of the underlying device is
non-trivial, we will just default to 1024.
**NOTE**
The initial implementation of `File::read()` saves the current
(original) position, seeks to the beginning of the stream,
`readAll`s to the end, and then resets to the original position.
I think that this behavior is unexpected and should be changed--it
should read from the current position to the end of the stream and
stay there. The user should explicitly `seek` to the beginning of
the stream when necessary.
With the current implementation, the user should note that the
position *will not change* after calling `read()` with no arguments.
[1]: http://wiki.commonjs.org/wiki/IO/A#Instance_Methodshttp://code.google.com/p/phantomjs/issues/detail?id=938
For our QPA/Lighthouse platform screen, apparently we need to specify the
physical screen size because otherwise the default 100 dpi will be used.
This also brings font rendering on headless Linux to 72 dpi.
http://code.google.com/p/phantomjs/issues/detail?id=659
Modern browser mostly limit re-directs to 20. The current limit in PhantomJS is 10 which is not in line with most browsers. This patch is a simple increase of gMaxRedirections from 10 to 20.
http://code.google.com/p/phantomjs/issues/detail?id=849
We were previously adding the certificates on each instantiation of
NetworkAccessManager, causing memory consumption to grow unbounded.
I have also removed the Qt version check. It's unnecessary as we only
build against a fixed Qt version.
https://code.google.com/p/phantomjs/issues/detail?id=882
Obviously, the input must have the multiple attribute for this to work.
The API is:
page.uploadFile('#file_input', ['file1', file2'])
I haven't implemented support for multiple files in the page.filePicker
API because I couldn't work out how to get a return value of an array
of strings through the JS/C++ bridge.
https://code.google.com/p/phantomjs/issues/detail?id=256
Added CoffeeScript examples where missing, minor other fixes such as spacing standardization (2 spaces is the standard in CoffeeScript via Ruby). Also a small set of minor JS example fixes and additional comments.
Fixes http://code.google.com/p/phantomjs/issues/detail?id=907
Finally. After so much work, this is finally a reality.
To launch PhantomJS in "Remote WebDriver mode":
```bash
$ phantomjs --webdriver=OPTIONAL_IP:OPTIONAL_PORT
```
Also, GhostDriver brings along support for Selenium Grid: now PhantomJS can register itself to a Selenium Grid HUB.
Just launch it in Webdriver Mode with the following extra options:
```bash
$ phantomjs --webdriver=OPTIONAL_IP:OPTIONAL_PORT --webdriver-selenium-grid-hub=http://url.to.selenium.grid.hub:port
```
http://code.google.com/p/phantomjs/issues/detail?id=49
Although it is mentioned in http://phantomjs.org/build.html, many people
are not aware this, they compile from source (even if a binary package
is available) and get shocked to realize the build takes ages.
The build script is thus modified to give the initial warning.
Unattended build is still possible, just use --confirm flag.
http://code.google.com/p/phantomjs/issues/detail?id=862