Commits on Sep 24, 2012
  1. Remove outdated Debian control files.

    Rather than advertising wrong info (PyPhantomJS etc), debian/ is
    removed until new up-to-date content is prepared.
    ariya committed with Sep 21, 2012
  2. Fixing issue with CookieJar not loading at boot.

    * Using the "QTimer::singleShot" bites back in the ass
    * The "script" takes priority and runs before the SLOT is actually invoked
    Why was I using a Timer?
    Not sure anymore: it must have slipped in while I was trying to work out
    all the other issues I had with QNetworkCookieJar, and I left it there.
    detro committed with Sep 21, 2012
  3. Non-zero exit code if any test fails.

    In the callback function passed to `waitFor`, the call to `page.evaluate`
    returns a 1 or 0, and this is then passed to `phantom.exit` (with a 1
    indicating at least one test failed, 0 indicating all tests passed).
    ianoxley committed with Sep 11, 2012
  4. Added 'tests passed' message.

    If all tests pass, a message indicating this is output to the console.
    ianoxley committed with Sep 11, 2012
  5. Test failure CSS selectors changed.

    Changed the CSS selectors used to identify failed tests.
    The old selector was `div.jasmine_reporter > div.suite.failed`,
    but this no longer seems to match any elements.
    The new selector is `.results > #details > .specDetails.failed`. For each
    failing test the `.description` and `` elements are
    used to output the failures to the console.
    ianoxley committed with Sep 11, 2012
  6. Changed CSS selector used when checking for whether tests have finished.

    When using the jasmine 1.2.0 standalone version, `.runner .description`
    doesn't seem to match any elements.
    I noticed pending tests can be found using the CSS selector
    `.symbolSummary .pending`, so changed the testFx callback to check
    that no elements are left matching this selector.
    ianoxley committed with Sep 11, 2012
  7. Revert "Fix crash on exit (Issues #136, #148 and #149)"

    This reverts commit 5acaa6b.
    removed m_page deletion.
    Shawn Krisman committed with Aug 19, 2012
  8. Make the key enums as part of WebPage instance.

    This way, we don't add anything into phantom object.
    ariya committed with Sep 21, 2012
  9. Made the "Callbacks injection" recursive.

    Before this, only the first level of child frames had the possibility to use
    the Callbacks object. Now is injected recursively in all of them.
    This is an extension of coverage for [Issue #683](
    detro committed with Sep 18, 2012
  10. Git-ignoring debugging-helper on mac

    detro committed with Sep 18, 2012
  11. Redesign the Cookies API (part 2)

    Addresses [Issue #761](
    This is a combination of 5 commits.
    1. Date in Cookie can be set via "seconds since epoch" as well.
    * In addition to the current string format, we can now set cookies via integer of msec since epoch
    * Expiration date can be set via "expires" or "expiry" option ("expires" has priority)
    * Returned cookie will contain "expires" as string and "expiry" as msec since epoch
    I believe this can simplify code that uses cookies and it doesn't change the functionality.
    2. Applying the "--debug" command line options as early as possible.
    3. Fixing bug and behaviour in the CookieJar
    * It's not possible to set a cookie without a domain: will default to the domain of the page it's set on
    * "page.clearCookies()" was broken
    * "cookiejar.deleteCookie("name", url)" reimplemented because deleting via "expiration" doesn't work
    4. Improving (and more fixing) in the CookieJar
    * Purging Session or Expired Cookies now works
    * Added boolean return values to inform if the requested cookie operation succeeded
    * Timestamps for "expiry/expires" in Milliseconds, as JS does by default
    * Improved detection that a cookie has been accepted or rejected by the cookiejar
    NOTE: Unfortunately, the Qt provided QNetworkCookieJar is a very limited
    and not extremely well designed solution. It doesn't provide any "nice
    and clean" CRUD API, and you are only left with a SET/GET to deal with.
    Mechanism to understand when and when not a cookie is added are hidden,
    and require extra work in the sub-class (our CookieJar) to fill the gap.
    5. Methods on the "phantom" object to manipulate the CookieJar.
    * phantom.cookies (array of JSON/Cookies)
    * phantom.cookiesEnabled (boolean)
    * phantom.addCookie
    * phantom.deleteCookie
    * phantom.clearCookies
    Those methods operate on the CookieJar directly and have no URL restriction.
    In other words, if page P1 can see set of cookies C1, and page P2 can see set of
    cookies C2, "phantom.cookies" can see (i.e. operate upon) both C1 and C2.
    detro committed with Sep 9, 2012
  12. Treat all args after the script name as script args

    This fixes CapserJS which builds a command line like this:
    phantomjs bin/bootstrap.js --casper-path=~/capserjs --cli
    That works on Phantom 1.6 but not on master due to the qcommandline
    Fix by extending qcommandlne to take a ParameterFence flag which causes
    it to treat any options after a parameter as arguments. Switch
    "scriptname" to use that so the 1.6 behaviour is restored.
    etaoins committed with Sep 14, 2012
  13. Maintain m_currentFrame as opposed to using QWebPage's currentFrame().

    Currently focused frame made available with page.focusedFrameName and page.switchToFocusedFrame.
    Harry Waye committed with Sep 16, 2012
  14. Render ICO images on Windows.

    ICO images are not rendered on Windows due to missing ICO plugin.
    Vitallium committed with Sep 17, 2012
  15. Update src/config.cpp

    This is a patch to resolve issue i reported in ticket 773 <>. 
    I did build it and run tests seems to be working fine.
    I hope this helps a bit :) Also i'm sending friday hugs to everyone on the team.
    JakubOboza committed with Sep 14, 2012
  16. Redesign the Cookies API

    Addresses [Issue #761](
    This is a squash of 5 commits.
    1. Complete reimplementation of the CookieJar and the Cookie API - Part 1.
    The save/load mechanism is inspired by the Qt Demo "browser".
    More info:
    2. Making the CookieJar a singleton.
    We need to have multiple NetworkAccessManager to monitor the network activity of the page,
    but we also need to maintain 1 CookieJar: in this way we now have a shared bucket of Cookies.
    3. Exposing the new Cookies API to the JS space.
    * Updated the completions.
    * Ensured backward compatibility of the API.
    * It's now possible to "phantom.cookieEnabled = false" to disable cookies completely.
    * New methods: addCookie, deleteCookie, clearCookies
    4. Provided some internal Doc for the new Cookies API
    5. Ensuring the "page.deleteCookie(name)" method works only if a cookie name is given.
    detro committed with Sep 6, 2012
  17. Adding "url" and some frame-related Q_PROPERTIES

    * url - current page url
    * frameUrl - current frame url
    * frameContent - current frame HTML content
    * framePlainText - current frame content in Plain Text (no tags)
    Fixes [Issue #758](
    detro committed with Sep 6, 2012
  18. Adding support for more Mouse Events.

    Support for Mouse Events: Left-click, Right-Click, Middle-Click and Double-Click.
    Addresses [Issue 712](
    detro committed with Aug 13, 2012
  19. Adding property "page.ownsPages".

    When set to "true", any page that gets created, is
    owned by the "page" that control it's lifetime.
    Also, the pages can be found in the "page.pages[]" array.
    Default value is "true".
    Addresses [Issue #151](
    detro committed with Jul 27, 2012