Initial work to fix the IAccessible tree in circumstances where there is a widget not at the root of the UI heirarchy.  Also contains misc fixes for setting correct name/role for controls found in the Options dialog.
BUG=9621
TEST=none
Review URL: http://codereview.chromium.org/2174002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48444 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/views/view.cc b/views/view.cc
index 5cb4f0e..012240ab 100644
--- a/views/view.cc
+++ b/views/view.cc
@@ -1127,10 +1127,22 @@
   return true;
 }
 
+bool View::GetAccessibleRole(AccessibilityTypes::Role* role) {
+  if (accessible_role_) {
+    *role = accessible_role_;
+    return true;
+  }
+  return false;
+}
+
 void View::SetAccessibleName(const std::wstring& name) {
   accessible_name_ = name;
 }
 
+void View::SetAccessibleRole(const AccessibilityTypes::Role role) {
+  accessible_role_ = role;
+}
+
 // static
 void View::ConvertPointToView(const View* src,
                               const View* dst,