BrowserPlugin/WebView - Move plugin lifetime to DOM

This CL adds a mechanism whereby a plugin can have its lifetime managed within an HTMLPlugInElement, including early plugin creation (i.e. before it has been attached to the DOM and assigned a renderer), and persistent lifetime so that it is not killed if its renderer is deleted (e.g. display = 'none' is set on the element). The CL is motivated by the desire to make WebView a sutom element, though the approach used should extend to other plugins on an opt-in basis.

BUG=156219

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170791 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Oilpan: add explicit Persistent<T>(T&) and Member<T>(T&) constructors.

Synchronize with RefPtr<T>(T&)'s constructor offering and provide same,
explicit constructors taking a reference.

Make use of it in PostMessageTimer and WorkerThreadableWebSocketChannel.

R=haraken@chromium.org,ager@chromium.org
BUG=340522

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170792 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Making sure that RTCDAtaChannels sends DataViews correctly.
The offset and new length should be used and not the underlying

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170793 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Remove remaining displayInvalidatedRegion callers

These two tests are just using it to force display and don't have pixel
results, so they can just be converted.

R=ojan@chromium.org
BUG=345027

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170794 bbb929c8-8fbe-4397-9dbb-9b2b20218538
[New Multicolumn] Avoid freeze if column count is 1 and there's a forced break.

If we don't have more columns available than the number of forced
breaks, we're going to have to allow overflowing columns. No matter
how tall we try to make the column set, there will be overflowing
columns, so just give up. This used to work as long as column count
was 2 or greater, but there was an unnecessary check that prevented it
from working if column count was 1. This was especially bad since we
actually stop counting forced breaks when we reach the number of
columns available.

BUG=359536

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

git-svn-id: svn://svn.chromium.org/blink/trunk@170795 bbb929c8-8fbe-4397-9dbb-9b2b20218538
MSE: Remove old WebMediaSource::addSourceBuffer declaration

Now that both MediaSourceBase and Chromium WebMediaSourceImpl only call
or implement the version of WebMediaSource::addSourceBuffer() that
includes FrameProcessorChoice, this change removes the old version of
this method that did not have FrameProcessorChoice.

R=acolwell@chromium.org,abarth@chromium.org
BUG=249422
TEST=All MediaSource layout tests pass locally on Linux

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

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