In ProxyMain::BeginMainFrame, check visibility before setting stage states.

Otherwise if there is a commit request and we early out due to being invisible
before commiting, and we set the max+requested_pipeline_stage_ to
NO_PIPELINE_STAGE, then that commit is lost. For flash this results in a commit
never receiving callback, and the next commit can never be requested, thus
rendering is stalled.

BUG=890008
TEST=cc_unittests
R=piman@chromium,enne@chromium.org,danakj@chromium.org

Change-Id: I240be7bb5496f28c0217ee7ef86533509bafcd16
Reviewed-on: https://chromium-review.googlesource.com/c/1343048
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#612872}
7 files changed