Revert of Delete "shutdown without closing browsers" path (https://codereview.chromium.org/205963005/)

Reason for revert:
Didn't compile on Linux GTK builder.

http://build.chromium.org/p/chromium.linux/builders/Linux%20GTK%20Builder/builds/1997

../../chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc: In member function 'virtual void BookmarkBarGtk::BookmarkModelBeingDeleted(BookmarkModel*)':
../../chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc:896:8:error: 'ShuttingDownWithoutClosingBrowsers' is not a member of 'browser_shutdown'

Original issue's description:
> Delete "shutdown without closing browsers"
> 
> Removing unused ShellDelegate::Shutdown()
> 
> Added new PreShutdown to safely cleanup DisplayObserver.
> 
> Chrome no longer access X during shutdown (except for deleting X window, which is safe), so normal SessionEnd
> path should work.
> 
> There is another issue when this happens during login screen, and I'll file a separate bug for it.
> 
> BUG=336653
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=259061

TBR=abodenha@chromium.org,thestig@chromium.org,oshima@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=336653

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259085 0039d316-1c4b-4281-b951-d872f2087c98
Use the _NET_WM_USER_TIME property to map without focus

Some window managers don't look at updates to the WM hints wrt focus.
The wm protocol says you should set _NET_WM_USER_TIME to 0 if you don't want
focus when mapping a new window, so use that. This is also what GTK+ does.

BUG=355034

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259086 0039d316-1c4b-4281-b951-d872f2087c98
Step 4 in unifying the task manager's WebContents-based ResourceProviders.

In this change, BackgroundResourceProvider is distilled into
BackgroundInformation, which plugs into WebContentsResourceProvider.

( WebContentsResourceProvider is introduced in an earlier patch:
  https://codereview.chromium.org/196203003/ )

BUG=348836,116893
TEST=browser_tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259087 0039d316-1c4b-4281-b951-d872f2087c98
Cleanup: Change some DLOG(WARNINGS) to DVLOG(1). Change DLOG(FATAL) to NOTREACHED().

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259088 0039d316-1c4b-4281-b951-d872f2087c98
Update embedded Polymer version for the inbox_app silk test

This is a temporary solution to a touch-action related bug in the outdated
Polymer version embedded in the silk test page.  With touch-action recently
enabled by default, this bug prevented scrolling on the test site. Updating to
the latest Polymer version fixes the issue, but an ideal long-term solution will
be moving the Polymer dependency to a shared location for use with all
appropriate test pages.

Note: The polymer.js and platform.js updates were pulled directly from their
respective publicly available repos at https://github.com/Polymer.

BUG=353693

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259089 0039d316-1c4b-4281-b951-d872f2087c98
gl: Clean up gfx::AcceleratedWidget usage in gl_surface_egl

NativeViewGLSurfaceEGL requires a EGLNativeWindowType argument, so make
this explicit. With ozone, we want gfx::AcceleratedWidget to be different
from EGLNativeWindowType, and this prepares for that possibility.

TEST=ui_unittests, content_shell --ozone-platform={file,dri}
BUG=353788

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259090 0039d316-1c4b-4281-b951-d872f2087c98
Report PPAPI plugin load error code to UMA.

TBR=sky@chrmium.org
BUG=353886

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259091 0039d316-1c4b-4281-b951-d872f2087c98
Remove hide keyboard options menu.

BUG=355648

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259092 0039d316-1c4b-4281-b951-d872f2087c98
sync: Filter types to apply in configure cycle

Modifies update application so that updates are not applied to unrelated
types during a configure cycle.

This is implemented by limiting the update application step so that it
only affects enabled types.  This also has the side effect of disabling
update application for types while they're throttled, which should have
no effect, since a throttled type is not expected to have any updates to
apply.

This change will allow the non-blocking types to remain enabled while
a configure cycle is in progress.

BUG=351005

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259093 0039d316-1c4b-4281-b951-d872f2087c98
Make seccomp-bpf mandatory on ARM.

Seccomp-bpf used to be optional on non Chrome OS ARM bots, since
Ubuntu lacked kernel support.

Now that Ubuntu has kernel support, make seccomp-bpf mandatory on ARM.

BUG=243478
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259094 0039d316-1c4b-4281-b951-d872f2087c98
Roll third_party/android_tools to the latest: Upgraded Android NDK to r9d.

BUG=

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

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259096 0039d316-1c4b-4281-b951-d872f2087c98
Fix leaking Mock WebContentsDelegate in WebViewTest.MediaAccessAPIAllow* and DownloadPermission.

BUG=355645
Test=Internal integration test only change.
Ran WebViewTest.MediaAccessAPIAllow*

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259097 0039d316-1c4b-4281-b951-d872f2087c98
Remove MediaGalleriesPrivate OnAttach/Detach extension events.

This functionality has been replaced by chrome.system.storage

BUG=166950,315276,326324,353955

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259098 0039d316-1c4b-4281-b951-d872f2087c98
Only support download_to_file for asynchronous requests.

The logic in Blink is not hooked up to handle it anyway.

BUG=354188

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259099 0039d316-1c4b-4281-b951-d872f2087c98
Change namespace in webview_tag.json so links in webview.html work properly
BUG=341275

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259100 0039d316-1c4b-4281-b951-d872f2087c98
service_discovery_sniffer now depends on libjingle_webrtc.

Link was failing with unresolved symbol: InitializeWebRtcModule.

BUG=355551

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259101 0039d316-1c4b-4281-b951-d872f2087c98
Gamepad API: add test support for gamepad events

This CL adds layout test support for 'gamepadconnected' and 'gamepaddidconnected' events.

BUG=344556

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259102 0039d316-1c4b-4281-b951-d872f2087c98
Add ServicesCustomizationDocument singleton overrider for tests

Some tests don't have ShadowingAtExitManager but may create ServicesCustomizationDocument
that won't be destroyed and will be used in ServicesCustomizationDocumentTest. This CL
change approach how test instance of ServicesCustomizationDocument is created.

BUG=355672
TEST=unit_tests
R=stevenjb@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259103 0039d316-1c4b-4281-b951-d872f2087c98
Mac: Don't wait for new frames inside draw functions

Before this change, we would wait for new frames to come in
during the display function for a layer. This is bad in that the
display function should be quick and worse in that getting the
new frame may mess up state that the display function is relying
on.

This moves the stall to the view's setFrameSize and WasShown
function, where no graphics state is being relied on. Create a
new helper function called PauseForPendingResizeOrRepaints
in RenderWidgetHostImpl to wait for frames that have already
been requested (either by WasResized, during initialization, or,
in the future, if the IOSurface has been evicted, during WasShown).

This functionality (keeping the surface and the window size in
sync) had been disabled on 10.6 due to crashes being detected
on the crash server where the current GL context before and
after the run loop pump did not line up. This can now be
re-enabled on 10.6.

Delete the state and functions associated with tracking if
we are in a recursive draw call (being asked to draw a new
frame that came in while we're drawing a frame). Change
DidUpdateBackingStore to always post a message to re-draw
the full view when a frame comes in. In theory this path should
never be called, but it is still hit by some tests. This will keep
the path still working.

BUG=245900

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

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