XMLHttpRequest#responseText should use a rope

Instead of building a flat WTF::String from XMLHttpRequest response data, we
should build a v8::String rope. That way when web sites query the responseText
field repeatedly, every query will share the same underlying data.

This CL causes StringImpl::hashSlowCase to drop way down the CPU profile of
reloading Mobile Gmail:

Before: 1.08%  content_shell  content_shell          [.] WTF::StringImpl::hashSlowCase() const
After:  0.37%  content_shell  content_shell          [.] WTF::StringImpl::hashSlowCase() const

There are likely other savings as well, but the effect on StringImpl::hashSlowCase
is the most dramatic change to the profile.

R=jamesr

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

git-svn-id: svn://svn.chromium.org/blink/trunk@152380 bbb929c8-8fbe-4397-9dbb-9b2b20218538
12 files changed