Allow browser plugin compositing helper to enable transparency in webview.

BUG=157628

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237171 0039d316-1c4b-4281-b951-d872f2087c98
Adds a test for capitalization on space after punctuation regression.


BUG=319938

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237172 0039d316-1c4b-4281-b951-d872f2087c98
Improve DamageTracker performance.

Use single rect_history_ map for layer damage computation with extra
boolean per region to mark regions for layers that were deleted.
Reduces number of map search ~3 times and insertions/deletions ~5 times
(on the mobile.pcmag.com page).

DamageTracker unit test passes.

BUG=316180

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237174 0039d316-1c4b-4281-b951-d872f2087c98
Add a flag for running the PDF plugin out of process.

Add a flag --out-of-process-pdf to run the PDF plugin out of process. This
also adds an interface for the plugin to determine whether it is running
out of process. We can remove this once we finish transitioning to the
out of process plugin.

BUG=303491
R=jam@chromium.org, yzshen@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237175 0039d316-1c4b-4281-b951-d872f2087c98
Blink roll 162629:162637

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=162630:162637&mode=html
TBR=
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237176 0039d316-1c4b-4281-b951-d872f2087c98
Update .DEPS.git

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237177 0039d316-1c4b-4281-b951-d872f2087c98
Fullscreen app windows cannot have always-on-top enabled

An app window in fullscreen mode should not also be always-on-top. This
is because it makes it difficult to alt+tab to another window, which is
both annoying from a UX perspective and a security issue.

To mitigate this:
The always-on-top property is temporarily switched off when the window
enters fullscreen, but then reinstated when the window is restored.
To be consistent, if a window is fullscreen and an attempt is made to
set it always-on-top, we only apply the always-on-top property when the
window exits fullscreen.

This patch also changes the value returned by the chrome.app.window 
IsAlwaysOnTop() function. It previously returned the actual state of
the window, but now returns the desired state, i.e. the value will
be true even when the property is switched off in fullscreen mode.

BUG=320103, 171597
TESTS=browser_tests (PlatformAppBrowserTest.WindowsApiAlwaysOnTop*).
interactive_ui_tests (ShellWindowTest.*AlwaysOnTop*).
Also test manually using Window State chrome sample app using app 
window API fullscreen and HTML5 fullscreen.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237178 0039d316-1c4b-4281-b951-d872f2087c98
Reland: CC: Adjust tiling creation triggers during pinch-zoom.

We used to create tilings only when exceeding a certain scale
difference from the ideal scale. This meant that in the worst
case our only available high-res tiling was 2X the required
resolution.

This patch adjusts the creation of new tilings, to ensure we
always have a tiling option that is less-than-or-equal-to
the current ideal scale.

BUG=307206

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237179 0039d316-1c4b-4281-b951-d872f2087c98
New Tab: fix tab title flickering.

The fix requires two changes:
(1) Change the implementation of WebContents::GetTitle() to use a non-empty 
    title on a pending entry for "initial navigations".
(2) Set the title on pending NTP entries as soon as they're created.

BUG=322099
TESTED=manual, per bug report

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237180 0039d316-1c4b-4281-b951-d872f2087c98
Whitelist Flutter extension. Rip-off of https://codereview.chromium.org/24565003/

BUG=292856
R=miket@chromium.org, tommi@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237182 0039d316-1c4b-4281-b951-d872f2087c98
Fix regression in views infobar button horizontal margins.

When collapsing subclasses in r236844, I wrongly assumed that GetInsets() in a
subclass constructor would return empty insets; it actually returns whatever the
base class set its insets to.

In the case of the infobar buttons, however, the override values we were
attempting to set on the vertical margins matches the default button margin
values.  So the easy fix is to simply not override any margins in InfoBarView.

BUG=323083
TEST=Visit a page in a different language, check that translate infobar buttons have correct margins
R=sky@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237183 0039d316-1c4b-4281-b951-d872f2087c98
Fix interstitials being broken when JavaScript is disabled.

This was a regression from r229819.

BUG=322948
R=felt@chromium.org, rsleevi@chromium.org, felt

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237184 0039d316-1c4b-4281-b951-d872f2087c98
Mojo: Convert MessagePumpMojo to use the C++ mojo::Handle.

R=sky@chromium.org, darin@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237185 0039d316-1c4b-4281-b951-d872f2087c98
Mojo: Fix our copyright notices.

Apparently, our current notice doesn't have the "(c)". Maybe if I fix it
in enough places, we'll stop copying-and-pasting in the (old)
now-incorrect notice.

(Also do some other drive-by comment/whitespace fixes.)

R=sky@chromium.org, davemoore@chromium.org
NOTRY=True

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237186 0039d316-1c4b-4281-b951-d872f2087c98
Move some static methods into InfoBar from the global namespace.

BUG=none
TEST=none
R=sky@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237187 0039d316-1c4b-4281-b951-d872f2087c98
Let gesture & touch event LatencyInfo have different trace_id

LatencyInfo's trace_id is the unique ID for LatencyInfo's ASYNC
trace event shown in the about://tracing. When input event reaches
RWHI, ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT is inserted into
event's LatencyInfo, and the latency component's component sequence
number is used as the LatencyInfo's trace_id. ASYNC_BEGIN event with
the trace_id is emitted also.

The problem is that one touch event can generate multiple gesture
events, so if the gesture event inherits touch event's LatencyInfo
trace_id, there could be multiple gesture events LatencyInfo emitting
ASYNC_END with the same trace_id.

In this CL we do the following: if touch event's LatencyInfo does
not end at render side, end it at browser side. Copy the touch
event's LatencyInfo into gesture events' LatencyInfo. Clear gesture
events' LatencyInfo trace_id and remove the
ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.
So when gesture event passes through RWHI, it will have its own
LatencyInfo trace_id and new ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.

Also the trace_id needs to be unique across multiple processes (
since we can emit ASYNC_BEGIN in one process and ASYNC_END in another
process). So initialize the last_input_number_'s high 32bits with
process id.

BUG=246034
TEST=Check in about://tracing, that gesture events' LatencyInfo don't
     inherit trace_id from touche events' LatencyInfo.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237188 0039d316-1c4b-4281-b951-d872f2087c98
Extract UI dependencies from ExtensionHost, part 1

app_shell needs to support background pages in order to load apps, but doesn't
have the usual UI surfaces for Chrome extensions (popups, infobars, etc.).

* Extract functionality touching platform-specific views to ExtensionViewHost
* Remove references to panels, which don't use ExtensionHost

Reupload of LGTM'd change https://codereview.chromium.org/82163002 because
AppEngine is misbehaving.

BUG=321341
TEST=browser_tests, interactive_ui_tests
TBR=yoz@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237190 0039d316-1c4b-4281-b951-d872f2087c98
Modify the summaries of the UMAs Translate.DeclineTranslate(CloseInfobar)

Since the current summaries don't reflect the actual behavior, they should be fixed.

NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237191 0039d316-1c4b-4281-b951-d872f2087c98
Remove --disable-batched-shutdown.

BUG=265764

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237192 0039d316-1c4b-4281-b951-d872f2087c98
Fix windowless NPAPI Flash videos not working on certain sites.

This is a continuation of the previous patch https://codereview.chromium.org/69953030 which addressed this on
some sites. We intercepted the WindowFromPoint API in that patch and returned the handle to the dummy plugin window.

There was a bug in the WindowFromPoint patch which was returning the first available child window in the parent window
hierarchy. We need to invoke the ChildWindowFromPoint API to get the actual child window and return it if it is the dummy
window.

The other changes are as below:-
1. The RenderWidgetHostViewAura class was not destroying the dummy window when the instance was destroyed.

2. When the RenderWidgetHostViewAura class is hidden due to the user switching to another tab, we set the bounds of the hidden
   window to 0. When the RenderWidgetHostViewAura instance is shown we restore the bounds of the hidden window. This is to ensure
   that the ChildWindowFromPoint function used in the plugin process returns the correct HWND.

3. When the RenderWidgetHostViewAura instance is added to a root window we need to reparent the dummy plugin window to the
   new window. This magic happens in the RenderWidgetHostImpl::ParentChanged function. Previously we were reparenting the
   dummy windows in the plugin process. With the dummy plugin window in the browser hierarchy we only need to reparent this
   window to the new browser window.

4. We have a new method GetPluginViewId in the RenderWidgetHostViewPort interface for Aura Windows. This returns the dummy plugin
   parent window.

Fixes bug https://code.google.com/p/chromium/issues/detail?id=301548

BUG=301548
R=cpu@chromium.org, jam@chromium.org, jam

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237193 0039d316-1c4b-4281-b951-d872f2087c98