Commit b3c3ca0f authored by dmazzoni@chromium.org's avatar dmazzoni@chromium.org

Cache accessibility description rather than returning temporary.

This fixes a bug caught by coverity.

BUG=128302
TEST=none


Review URL: https://chromiumcodereview.appspot.com/10382222

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137903 0039d316-1c4b-4281-b951-d872f2087c98
parent 4f6b1db0
......@@ -43,9 +43,7 @@ static const gchar* browser_accessibility_get_name(AtkObject* atk_object) {
static const gchar* browser_accessibility_get_description(
AtkObject* atk_object) {
BrowserAccessibilityGtk* obj = ToBrowserAccessibilityGtk(atk_object);
string16 description;
obj->GetStringAttribute(WebAccessibility::ATTR_DESCRIPTION, &description);
return UTF16ToUTF8(description).c_str();
return obj->atk_acc_description().c_str();
}
static AtkObject* browser_accessibility_get_parent(AtkObject* atk_object) {
......@@ -313,7 +311,11 @@ bool BrowserAccessibilityGtk::IsNative() const {
}
void BrowserAccessibilityGtk::InitRoleAndState() {
atk_acc_name_ = UTF16ToUTF8(name()).c_str();
atk_acc_name_ = UTF16ToUTF8(name());
string16 description;
GetStringAttribute(WebAccessibility::ATTR_DESCRIPTION, &description);
atk_acc_description_ = UTF16ToUTF8(description);
switch(role_) {
case WebAccessibility::ROLE_BUTTON:
......
......@@ -71,6 +71,7 @@ class BrowserAccessibilityGtk : public BrowserAccessibility {
AtkRole atk_role() { return atk_role_; }
const std::string& atk_acc_name() { return atk_acc_name_; }
const std::string& atk_acc_description() { return atk_acc_description_; }
// BrowserAccessibility methods.
virtual void PreInitialize() OVERRIDE;
......@@ -85,6 +86,7 @@ class BrowserAccessibilityGtk : public BrowserAccessibility {
AtkObject* atk_object_;
AtkRole atk_role_;
std::string atk_acc_name_;
std::string atk_acc_description_;
private:
DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityGtk);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment