Support presentational iframes and make use of them in the uber frame.

A presentational iframe, e.g. <iframe role="presentation">, is one where the
web author is indicating that the frame is an implementation detail. Suppress
the normal role for the frame and for its inner document / web area, so that
accessibility clients see the frame as if it was part of the parent document.

Make use of this in the uber frame for settings, history, and extensions.

BUG=436186

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

Cr-Commit-Position: refs/heads/master@{#308859}
diff --git a/content/browser/accessibility/browser_accessibility.h b/content/browser/accessibility/browser_accessibility.h
index 6318e64..6b6361d 100644
--- a/content/browser/accessibility/browser_accessibility.h
+++ b/content/browser/accessibility/browser_accessibility.h
@@ -244,6 +244,9 @@
   // Returns true if this node is an editable text field of any kind.
   bool IsEditableText() const;
 
+  // True if this is a web area, and its grandparent is a presentational iframe.
+  bool IsWebAreaForPresentationalIframe() const;
+
   // Append the text from this node and its children.
   std::string GetTextRecursive() const;