A lot of code duplication within StringImpl 'equal' functions

From WebKit r152418 by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
From WebKit r152438 by Benjamin Poulain <benjamin@webkit.org>

There has been a lot of code duplication within StringImpl 'equal' functions: the whole logic was copied to every overloaded 'equal' function.
Fixed now using templates and memcmp.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153693 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Merge FrameLoader::load(FrameLoadRequest) into loadURL() and loadFrameRequest()

Also, change the FrameLoadRequest constructor that takes a Frame* to take a
SecurityOrigin* instead. load() didn't do a security check, but
loadFrameRequest() does do a security check that we probably don't need for the
old load() cases.

BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153694 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify client redirects

Move client redirect tracking and construction of the redirect chain to core.

Also, delete a couple of callbacks that do nothing.

BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153695 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove per-layer debug border code

Blink's handling of debug borders is only from the Inspector to the
WebLayerTreeView.  Chromium does not support individual layers having
debug borders turned on, and so this code should be removed.

R=jamesr@chromium.org
BUG=none

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153696 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Enable appstats for TestResultServer.

You can view them (admin-only) at the default location,
/_ah/stats. According to the docs, the default is that this
is accessible only to admins.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153697 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't set scroll client for main frame

Instead, only set the scroll client on scrollable layers that are not
the main frame.  This also drops a needless per-layer allocation for
non-scrollable layers.

By doing this, it allows LayerTreeHost to reuse
cc::Layer::SetScrollOffsetFromImpl for pre-setting the value of scroll
offset on the root scroll layer prior to calling ApplyScrollAndScale.

This patch depends on https://codereview.chromium.org/18348021/.

R=jamesr@chromium.org
BUG=256381

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

git-svn-id: svn://svn.chromium.org/blink/trunk@153698 bbb929c8-8fbe-4397-9dbb-9b2b20218538
While the feature is being worked on, we expect some amount of
regression churn that we don't want to propagate to the official builds.
We also want the new feature to be tested in Blink, which is why a
temporary status=test flag makes the most sense.

R=jchaffraix@chromium.org
BUG=78724

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

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