Commits on Jun 10, 2012
Commits on Jun 9, 2012
  1. Merge pull request #261 from b-long/patch-1

    Switched link for GhostDriver, since GitHub page appears to be missing.
    ariya committed Jun 9, 2012
Commits on Jun 8, 2012
  1. Tweak the linux deploy script.

    * Use exec to replace the bootstrap shell script
    * Name the bootstrap shell script `phantomjs` so that invocation is no
    committed with ariya Jun 5, 2012
  2. Make QWebPage::zoomFactor accessible to PhantomJS scripts.

    This adds a new WebPage::zoomFactor property, which can be used to
    zoom the page, i.e.:
    page.zoomFactor = 1.5; // zoom by 50% in
    page.zoomFactor = 0.5; // zoom by 50% out
    The rasterize.js example is adapted to take an optional fourth argument
    to set the zoom factor. Furthermore, the webpage-spec is extended with
    a simple test case for the new property.
    ISSUE: 579 (
    milianw committed with ariya Jun 1, 2012
Commits on Jun 7, 2012
Commits on Jun 5, 2012
  1. Import Google Breakpad

    committed Jun 5, 2012
Commits on Jun 3, 2012
  1. Merge pull request #254 from jonleighton/static_inspector

    Fix remote inspector + static build.
    ariya committed Jun 3, 2012
Commits on Jun 2, 2012
  1. Merge pull request #248 from neraliu/localstorage

    Add --local-storage-quota and --local-storage-path options for issue 300...
    ariya committed Jun 2, 2012
  2. Merge pull request #253 from jonleighton/stacktraces

    Improve error handling
    ariya committed Jun 2, 2012
Commits on May 30, 2012
  1. Pass an actual exception object to the error handler.

    Note that for errors that occur within subpages, this object is not the
    real error object, but a copy. This is because the real object exists
    within the subpage, but the page.onError handler runs within the main
    context, so we have to pass it through as data.
    committed May 28, 2012
Commits on May 19, 2012
  1. Add --local-storage-quota and --local-storage-path options for issue …

    Add sanity check for the configuration of --local-storage-quota and --local-storage-path.
    issue 300 -
    neraliu committed May 19, 2012
Commits on May 18, 2012
Commits on May 7, 2012
  1. Mac: Embed Info.plist in the executable.

    Info.plist is needed to surpress the dock icon. Up to now, we need to have
    the file available at run-time. With this change, the contents of
    Info.plist are embedded in the executable at the linking stage, thus
    there is no need to deploy the Info.plist file anymore.
    Credit to Smokey Ardisson for the tip.
    ariya committed May 7, 2012
Commits on May 3, 2012
  1. Fix application font loading in basic font db

    ISSUE: 460 (
    this is a backport from qtbase:
    commit 89cfe9eb01ad75c14121dbd6038b7c791226acf1
    Author: Jiang Jiang <>
    Date:   Thu Nov 10 18:01:56 2011 +0100
        We need to reregister fonts in initializeDb because basic font db
        doesn't have an internal record like fontconfig does, so just
        repopulating the font database won't work. db->reregisterAppFonts
        is now used properly as intended (reregister application fonts
        after the system font database has been cleared).
        Also, static variable 'initialized' in initializeDb() is removed
        since we check privateDb()->count to see if it needs to be populated
        Task-number: QTBUG-22063
        Change-Id: Ifc66392b56b72acbe08b99256c61421c204be5d7
        Reviewed-by: Eskil Abrahamsen Blomfeldt <>
    milianw committed May 3, 2012
Commits on May 2, 2012
  1. Properly handle fourth CLI parameter in rasterize.js example.

    After the change to system.args which has the app as first element,
    the rasterize example was not properly adapted. Due to that, one
    could not pass a size parameter to it anymore, resulting in PDFs
    without page breaks.
    ISSUE: 523 (
    milianw committed May 2, 2012
Commits on Apr 30, 2012
  1. Extend printheaderfooter.js example documentation

    The comment now explains how to delegate the header/footer setup
    to the loaded HTML page by giving an explicit HTML example that
    defines the required PhantomJSPrinting object
    ISSUE: 512 (
    milianw committed with ariya Apr 25, 2012
Commits on Apr 25, 2012
  1. Improve to create a quasi-static phantomjs.

    The script now copies all required shared libraries found via ldd
    to the deployment folder.
    Furthermore, a run-script is created that runs the phantomjs binary
    through the copied build-host's to ensure all symbols
    are properly resolved.
    Last but not least, we now include a very slightly modified brandelf.c
    from FreeBSD. This version can be compiled on Linux machines and is
    used to change the ELF ABI of the binary and libs in the deployment
    folder, such that they all use the old SYSV OS ABI for compatibility.
    $ scp phantomjs-$version.tar.bz2 yourhost
    $ ssh yourhost
    $ tar -xf phantomjs-$version.tar.bz2
    $ ./phantomjs-$version/
    CC ISSUE: 413 (
    (proper static build would still be desirable eventually if possible)
    milianw committed Apr 25, 2012
Commits on Apr 20, 2012
  1. Properly pass --qt-config value from to src/qt/

    This way one can properly cross-compile PhantomJS for different
    platforms e.g. by passing --qt-config '-platform ...' to
    ISSUE: 507 (
    milianw committed Apr 20, 2012
Commits on Apr 18, 2012
  1. Reuse number of jobs configured in MAKEFLAGS env var if available

    Especially on machines that are connected to a compile farm, the
    MAKEFLAGS env var is usually set to configure the default number
    of jobs that should be used. This way, one can just call the
    PhantomJS build script without passing the number of jobs every
    ISSUE: 503 (
    milianw committed Apr 18, 2012
Commits on Apr 17, 2012
  1. Fixed minor typo in

    Thanks to Alessandro for spotting it.
    ariya committed Apr 17, 2012
Commits on Apr 16, 2012
  1. Build system: do not assume 4 parallel jobs on Linux.

    Try to grab the number of CPU cores from /proc/cpuinfo and use it as
    the number of parallel make jobs (limit to 8 as a safety measure).
    ariya committed Apr 16, 2012
Commits on Apr 15, 2012
  1. Make it possible to print pages with user-defined headers/footers.

    page.paperSize = {
      margin: "1cm",
      header: {
        height: "1cm",
        contents: phantom.callback(function(pageNum, numPages) {
          return "<h1>" + pageNum + " / " + numPages + "</h1>";
      footer: {
        height: "0.5cm",
        contents: phantom.callback(function(pageNum, numPages) {
          return "<h2>" + pageNum + " / " + numPages + "</h1>";
    Note: The contents can return arbitrary HTML but since we cannot
    re-layout the whole website for every page, the header/footers
    must have the static height defined in the height property.
    Note: The new example printheaderfooter.js shows the usage. It
    also shows how one could delegate the above to a JavaScript
    function on the loaded website, which allows one to print pages
    and let the actually printed page decide how the header/footer
    should look like.
    Note: The page-counter can be reset by adding the class "phantomjs_reset_pagination"
    to HTML block-elements that should reset the counter.
    ISSUE: 410 (
    milianw committed with ariya Apr 11, 2012
Commits on Apr 12, 2012
Commits on Apr 11, 2012
  1. Squashed commit of the following:

    commit c373ac4
    Author: Danny Wang <>
    Date:   Tue Apr 10 12:38:13 2012 +0800
        moved i and l delarations to the top of page.evaluate()
    commit bf24d4d
    Author: Danny Wang <>
    Date:   Tue Apr 10 08:54:55 2012 +0800
        fixed defects in evaluate() pointed out by detro
    commit 0bb8cff
    Author: Danny Wang <>
    Date:   Fri Apr 6 19:21:47 2012 +0800
        added passing variables to function for page.evaluate
    ariya committed Apr 11, 2012