Gtk3: More fixes and refactorings

This CL
* Uses entry colors instead of window colors for the NTP
* Fixes a leak involving ScopedGObject
* Simplifies how background and border colors are calculated
* Adds the ".label" class only on versions of Gtk before 3.20
* Fixes text selection colors on one theme
* Updates the doc to reflect the new way colors are calculated

BUG=132847

Review-Url: https://codereview.chromium.org/2683953005
Cr-Commit-Position: refs/heads/master@{#449709}
diff --git a/docs/linux_gtk_theme_integration.md b/docs/linux_gtk_theme_integration.md
index 1fe912a..caf09419 100644
--- a/docs/linux_gtk_theme_integration.md
+++ b/docs/linux_gtk_theme_integration.md
@@ -16,24 +16,18 @@
 overridden by the theme. Chromium usually doesn't use GTK to render entire
 widgets, but instead tries to determine colors from them.
 
-There are three types of colors Chromium needs from widgets: 
-
-* Foreground color: determined by the CSS "color" property
-* Background color: determined by the CSS "background-color" and "background-image" properties
-* Border color: determined by the "border-color", "border-image",
-  "border-style", and "border-width" properties
-
-Backgrounds and borders are complicated because in general they might have
-multiple gradients or images. To get the color, Chromium uses GTK to render the
-background or border into a single pixel and uses the resulting color for
-theming. This mostly gives reasonable results, but in case theme authors do not
-like the resulting color, they have the option to theme Chromium widgets
-specially.
+Chromium needs foreground, background and border colors from widgets.  The
+foreground color is simply taken from the CSS "color" property.  Backgrounds and
+borders are complicated because in general they might have multiple gradients or
+images. To get the color, Chromium uses GTK to render the background or border
+into a 24x24 bitmap and uses the average color for theming. This mostly gives
+reasonable results, but in case theme authors do not like the resulting color,
+they have the option to theme Chromium widgets specially.
 
 ## Note to GTK theme authors: How to theme Chromium widgets
 
 Every widget Chromium uses will have a "chromium" style class added to it. For
-example, a texfield selector might look like:
+example, a textfield selector might look like:
 
 ```
 .window.background.chromium .entry.chromium
@@ -59,11 +53,6 @@
 For GTK3.20 or later, themes will as usual have to replace ".entry" with
 "entry".
 
-Additional requirements for border colors to be picked up:
-
-* Must have a border-style that is not none.
-* Must have a border-width that is nonzero.
-
 The list of CSS selectors that Chromium uses to determine its colors is in
 //src/chrome/browser/ui/libgtkui/native_theme_gtk3.cc.