Revert 163291 "Revert 163290 "Create gin::IsolateHolders for bli..."

> Revert 163290 "Create gin::IsolateHolders for blink managed Isol..."
> 
> It broke Android build.
> http://build.chromium.org/p/chromium.webkit/builders/Android%20Builder/builds/31041/steps/compile/logs/stdio
> 
> ../../gin/modules/module_registry.cc: In member function 'void gin::ModuleRegistry::Load(v8::Isolate*, scoped_ptr<gin::PendingModule>)':
> ../../gin/modules/module_registry.cc:205:65:error: 'class std::vector<v8::Handle<v8::Value> >' has no member named 'data'
> 
> > Create gin::IsolateHolders for blink managed Isolates.
> > 
> > This also introduces a compile time dependency on gin. So far, we
> > only used constants from public headers
> > 
> > BUG=321631
> > R=abarth@chromium.org
> > 
> > Review URL: https://codereview.chromium.org/106413002
> 
> TBR=jochen@chromium.org
> 
> Review URL: https://codereview.chromium.org/107583002

TBR=tkent@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163306 bbb929c8-8fbe-4397-9dbb-9b2b20218538
TextIterator: Enter and exit UA shadow roots for <input> explicitly.

This patch changes the treatment of <input> elements in TextIterator, so it
could enter and exit from shadow roots only when we expect it to do so.

Currently, TextIterator enters a shadow root only when it encounters an <input>
element. It originally used Node::parentOrShadowHostNode() to find a parent of
the current node, which effectively means two different ways of going up
the node hierarchy (just going up by one level and exiting from a shadow root)
were not distinguished in TextIterator's original implementation.

However, it is not desirable to mix up these two cases, since TextIterator may
possibly jump into a tree which it does not intend to enter.

This patch introduces a new iteration phase for visiting user-agent shadow
roots. The user-agent shadow root for a text input is visited before the node
or its child nodes are visited. When TextIterator finishes iterating all nodes
under a shadow root, it goes back to the shadow host.

This patch should not change the behavior. Covered by existing layout tests and
unit tests (TextIteratorTest.*).

BUG=244955

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

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