OrderIterator should be O(number of children)

The current implementation is O(number of children * order)!

This change introduces a faster way to iterate over the children by
using a HashMap to keep the subset of children for each 'order' value.
This is a speed vs memory tradeoff as we are now using
O(number of children + order) memory when the existing code was using
O(order) memory).

This is also a stepping stone to speed up CSS Grid Layout painting
and hit-testing by allowing arbitrary children to be collected into
the OrderIterator.

This change doesn't introduce any runtime performance in
PerformanceTests/Layout/flexbox-lots-of-data.html. In a test case
with 1000 flex items with different 'order' that get forced layout
in an infinite loop, this moves OrderIterator::next from the slowest
function (>80%) to among the other functions (~7%).

BUG=256804

Review URL: https://chromiumcodereview.appspot.com/18162016

git-svn-id: svn://svn.chromium.org/blink/trunk@154445 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Document::focusedNode should be focusedElement, which returns Element*.

This is a preparation to remove focus-related features from Node class.
This was inspired by akling's WebKit changes.

BUG=258763

Review URL: https://chromiumcodereview.appspot.com/19504003

git-svn-id: svn://svn.chromium.org/blink/trunk@154446 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Atomicize HTMLAnchorElement.hash before passing it to JS

Backport of WebKit patch by Andreas Kling <akling@apple.com>,
reviewed by Sam Weinig (http://webkit.org/b/118748)

Instead of generating a unique string from '#' + the URL hash every time
HTMLAnchorElement.hash is queried, turn it into an AtomicString. This
prevents massive memory usage in scripts that fetch .hash a lot.

Reduces memory consumption by 4.65 MB when viewing the full HTML5 spec at
<http://whatwg.org/c>

Review URL: https://chromiumcodereview.appspot.com/19677003

git-svn-id: svn://svn.chromium.org/blink/trunk@154447 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Call characterAt rather than bloatedCharacters

There's no reason to call bloatedCharacters just to retrieve one UChar.

R=eseidel
BUG=254708

Review URL: https://chromiumcodereview.appspot.com/19675004

git-svn-id: svn://svn.chromium.org/blink/trunk@154448 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move touch related webkit bug to crbug

ChromeOS touch team is gonna claim these touch related bugs and track
them in crbug.

BUG=261276, 261277, 261278

Review URL: https://chromiumcodereview.appspot.com/19610004

git-svn-id: svn://svn.chromium.org/blink/trunk@154449 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Use the pylint checked into depot_tools rather than auto-installing it.

This involves a little hoop-jumping to figure out where depot_tools
actually is. There's a script to do that, but of course that script
isn't under webkitpy, so then we have to find the script and import that :). 

R=eseidel@chromium.org, ojan@chromium.org
BUG=230706

Review URL: https://chromiumcodereview.appspot.com/19491003

git-svn-id: svn://svn.chromium.org/blink/trunk@154450 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove two more dead members from Page.

m_defersLoadingCallCount and m_userStyleSheetModificationTime are set
but never read. As a bonus, also gets rid of an OS(SOLARIS) guard.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/19664003

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