Fix three bugs in the equals() implementations for css gradients.

1. Linear gradients were considered equal if the first gradient has no x and y
   position and the second has no x but does have y.
2. Same as 1, for radial gradients. (This doesn't happen in practice as
   CSSParser::parseRadialGradient rejects such input, so no test for this case.)
3. Radial gradients without x and y position weren't considered equal even if
   they were.

Found by clang's -Wunused-value in combination with
https://codereview.chromium.org/26205004/

BUG=none
R=eae@chromium.org

Review URL: https://codereview.chromium.org/26147006

git-svn-id: svn://svn.chromium.org/blink/trunk@159903 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make IndexedDB GC-aware tests use observeGC instead of numberOfLiveNodes

Internals.numberOfLiveNodes can be flaky due to the existence of Nodes
from previous tests run in the same renderer, while Internals.observeGC
is targeted at exactly the object the test is interested in. In addition,
the use of numberOfLiveNodes was already a hack in these tests since they
had to create nodes just for the purpose of observing their destruction.

R=jsbell@chromium.org

Review URL: https://codereview.chromium.org/27745002

git-svn-id: svn://svn.chromium.org/blink/trunk@159904 bbb929c8-8fbe-4397-9dbb-9b2b20218538