Merge: Fix glGetActiveUniform/Attrib crashes due to state inconsistency

between what Chrome thinks and what the driver is.

This is caused by we intercept invalid program and generate an error on
LinkProgram rather than passing it to the driver, so the driver still have
a valid program if the previous link succeeds.

BUG=463599
TEST=test case in the bug
R=sievers@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#319746}
(cherry picked from commit 44ad5ecc3abf8f31d7e55a9ece5cea30a710fd77)

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

Cr-Commit-Position: refs/branch-heads/2311@{#368}
Cr-Branched-From: 09b7de5dd7254947cd4306de907274fa63373d48-refs/heads/master@{#317474}
1 file changed