While screencasting a tab, do not disable rendering updates while hidden.
Approach: There is already a mechanism in WebContentsImpl to prevent WasHidden() from bubbling down to RWHV during tab dragging. This mechanism is extended to also include the span of tab mirroring sessions. A counter is used to account for both dragging a tab and screencasting it at the same time.
Fixed a bug in tab_drag_controller.cc where SetCapturingContents(false) was not being called after a drag in some circumstances.
Note on GTK-specific drag controller change: WebContents::SetCapturingContents(true) is never called, making the Set(false) call a no-op. Removed the Set(false) call and confirmed this did not affect tab dragging behavior on Linux.
BUG=154184
TEST=Win/Mac/Linux: Tested that hidden tabs continue to render with both GPU and software compositing paths. Also, ran through several tab dragging scenarios with and without screencasting engaged.
Review URL: https://chromiumcodereview.appspot.com/
12179007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180857 0039d316-1c4b-4281-b951-d872f2087c98