Implement NavigationScheduler::schedulePageBlock() as a redirect to empty substitute data.

This replaces the long-standing kludge of navigating to "data:," so that
we preserve the URL of the page that was blocked. Otherwise, cross-origin
detection of the XSSAuditor is possible via a variety of techniques owing
to the change in the URL.

We lose the benefit of the unique origin, however. I don't think actually
provides any benefit, if only blank content is going into the replacement
page. As a consequence, the parent frame will successfully see same-origin
content in some of the tests. The cross-origin test remains unmodified, 
showing that there aren't new leaks (full-block-script-tag-cross-domain).

The upside is I can remove a lot of logic that was introduced recently to
preserve pages for view-source of the blocked page.  The window-open-block-mode
test is such an example.  There will be more cleanup possible on the
chrome side once this CL lands.

BUG=396544

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179240 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Revert 179231 "bindings: Workaround of missing EBCO of VC++."

This CL broke compilation of oilpan builds.

> bindings: Workaround of missing EBCO of VC++.
> 
> VC++ doesn't support Empty Base Class Optimization.  Adds a workaround to avoid the bloat of instance size of CSSValue.  For details see the comment in CSSValue.h.
> 
> Review URL: https://codereview.chromium.org/423383003

TBR=yukishiino@chromium.org

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

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