<webview>: Implement declarativeWebRequest API

This CL exposes the declarative WebRequest API to <webview>s.

This CL isolates rules registries on a per-<profile, embedder_process_id, webview_instance_id> tuple. For extensions, the pair <embedder_process_id, webview_instance_id> == <0, 0>.

Rules registries are now created on-demand rather than on creation of the RulesRegistryService. This is so that we only create rules registries for webviews if the webview adds rules. This also allows rules to be installed prior to initial navigation of a webview.

Sample code:
var webview = document.querySelector('webview');
var rule = {
  conditions: [
   new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'slashdot.org' } })
  ],
  actions: [
   new chrome.webViewRequest.CancelRequest()
  ]
};
webview.request.onRequest.addRules([rule])

BUG=273855

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234724 0039d316-1c4b-4281-b951-d872f2087c98
Request video element to enter fullscreen when playing protected content

This CL sends an IPC to the render process to request the video element to enter fullscreen.
Compared to the old approach, this is more compatible with the upcoming new fullscreen mode, which webkit uses FS API for fullscreen.
Currently we need the disable-gesture-requirement-for-fullscreen-media-playback flag for this to work. May consider making the flag default on android.

BUG=262945

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234725 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 234725