Remove 'throwUninformativeAndGenericTypeError'.

This patch removes the last few calls to the generic TypeError throwing
method, which means we can remove it entirely. Yay.

BUG=270033

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164677 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Removed RenderLayer unused members

The function enclosingScrollableLayer along with several #includes
and forward declarations where unused after moving the code around.

BUG=260898

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164678 bbb929c8-8fbe-4397-9dbb-9b2b20218538
IDL compiler: [ImplementedAs] on interface type

This adds support for [ImplementedAs] on an interface type, i.e., when
[ImplementedAs] is in *a different* IDL file.

Now that interfaces_info is in place, this is easy, mostly plumbing,
and *much* faster than the Perl way (which parses IDL files for all
interface types that are used!).

BUG=239771
R=haraken

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164679 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Make <details> expand/collapse feature use display: none instead of childShouldCreateRenderer

The childShouldCreateRenderer hook should go away, it's a hack that JS
doesn't have access to and if <details> was implemented with a custom
element we wouldn't be able to use it. This patch makes <details> work
in a way that is compatible with it being written in JS.

This also means that ::before and ::after generated content now appear in
<details> which is good, though they appear even when it is closed and also
the ::before will appear before the <summary>. This matches the existing
behavior of how a JS constructed widget would behave. If we want to change
this in the future we should update the Shadow DOM spec to support
<content select="::before"> to allow projecting generated content into
different locations.

After this patch that leaves only HTMLMediaElement and HTMLSelectElement
using childShouldCreateRenderer except for SVG. Future patches will remove
those and then childShouldCreateRenderer will be made an SVG only concept.

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

git-svn-id: svn://svn.chromium.org/blink/trunk@164680 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Don't use ChildNodeRemovalNotifier for ShadowRoot removal.

As ShadowRoot is removed only from ElementShadow destructor,
its subtree removal should be treated as "detached"
thus use removeDetachedChildren(), otherwise  removedFrom()
implementations will encounter inconsistent  state
which isn't updated on parent's "detached" removal.

BUG=331574
TEST=w3c/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/*
R=esprehn, adamk

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

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