Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Side by Side Diff: chrome/browser/views/extensions/extension_shelf.cc

Issue 155446: Adds MSAA information to various (previously uncovered) bits of the UI, inclu... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/views/extensions/extension_shelf.h" 5 #include "chrome/browser/views/extensions/extension_shelf.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/resource_bundle.h" 9 #include "app/resource_bundle.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 } 558 }
559 SchedulePaint(); 559 SchedulePaint();
560 } 560 }
561 561
562 void ExtensionShelf::OnMouseEntered(const views::MouseEvent& event) { 562 void ExtensionShelf::OnMouseEntered(const views::MouseEvent& event) {
563 } 563 }
564 564
565 void ExtensionShelf::OnMouseExited(const views::MouseEvent& event) { 565 void ExtensionShelf::OnMouseExited(const views::MouseEvent& event) {
566 } 566 }
567 567
568 void ExtensionShelf::ToolstripInsertedAt(ExtensionHost* host, 568 bool ExtensionShelf::GetAccessibleRole(AccessibilityTypes::Role* role) {
569 int index) { 569 DCHECK(role);
570
571 *role = AccessibilityTypes::ROLE_TOOLBAR;
572 return true;
573 }
574
575 bool ExtensionShelf::GetAccessibleName(std::wstring* name) {
576 if (!accessible_name_.empty()) {
jcampan 2009/07/14 16:44:24 Same nit as previously: DCHECK(name), name->assign
577 (*name).assign(accessible_name_);
578 return true;
579 }
580 return false;
581 }
582
583 void ExtensionShelf::SetAccessibleName(const std::wstring& name) {
584 accessible_name_.assign(name);
585 }
586
587 void ExtensionShelf::ToolstripInsertedAt(ExtensionHost* host, int index) {
570 model_->SetToolstripDataAt(index, new Toolstrip(this, host)); 588 model_->SetToolstripDataAt(index, new Toolstrip(this, host));
571 589
572 bool had_views = GetChildViewCount() > 0; 590 bool had_views = GetChildViewCount() > 0;
573 ExtensionView* view = host->view(); 591 ExtensionView* view = host->view();
574 if (!background_.empty()) 592 if (!background_.empty())
575 view->SetBackground(background_); 593 view->SetBackground(background_);
576 AddChildView(view); 594 AddChildView(view);
577 view->SetContainer(this); 595 view->SetContainer(this);
578 if (!had_views) 596 if (!had_views)
579 PreferredSizeChanged(); 597 PreferredSizeChanged();
580 Layout(); 598 Layout();
581 } 599 }
582 600
583 void ExtensionShelf::ToolstripRemovingAt(ExtensionHost* host, 601 void ExtensionShelf::ToolstripRemovingAt(ExtensionHost* host, int index) {
584 int index) {
585 // Delete the Toolstrip view and remove it from the model. 602 // Delete the Toolstrip view and remove it from the model.
586 Toolstrip* toolstrip = ToolstripAtIndex(index); 603 Toolstrip* toolstrip = ToolstripAtIndex(index);
587 View* view = toolstrip->GetShelfView(); 604 View* view = toolstrip->GetShelfView();
588 RemoveChildView(view); 605 RemoveChildView(view);
589 delete toolstrip; 606 delete toolstrip;
590 model_->SetToolstripDataAt(index, NULL); 607 model_->SetToolstripDataAt(index, NULL);
591 608
592 // Technically, the toolstrip is still in the model at this point, but 609 // Technically, the toolstrip is still in the model at this point, but
593 // the Layout code handles this case. 610 // the Layout code handles this case.
594 Layout(); 611 Layout();
595 } 612 }
596 613
597 void ExtensionShelf::ToolstripDraggingFrom(ExtensionHost* host, 614 void ExtensionShelf::ToolstripDraggingFrom(ExtensionHost* host, int index) {
598 int index) {
599 } 615 }
600 616
601 void ExtensionShelf::ToolstripMoved(ExtensionHost* host, 617 void ExtensionShelf::ToolstripMoved(ExtensionHost* host, int from_index,
602 int from_index,
603 int to_index) { 618 int to_index) {
604 Layout(); 619 Layout();
605 } 620 }
606 621
607 void ExtensionShelf::ToolstripChangedAt(ExtensionHost* toolstrip, 622 void ExtensionShelf::ToolstripChangedAt(ExtensionHost* toolstrip, int index) {
608 int index) {
609 } 623 }
610 624
611 void ExtensionShelf::ExtensionShelfEmpty() { 625 void ExtensionShelf::ExtensionShelfEmpty() {
612 PreferredSizeChanged(); 626 PreferredSizeChanged();
613 } 627 }
614 628
615 void ExtensionShelf::ShelfModelReloaded() { 629 void ExtensionShelf::ShelfModelReloaded() {
616 // None of the child views are parent owned, so nothing is being leaked here. 630 // None of the child views are parent owned, so nothing is being leaked here.
617 RemoveAllChildViews(false); 631 RemoveAllChildViews(false);
618 LoadFromModel(); 632 LoadFromModel();
619 } 633 }
620 634
621 void ExtensionShelf::OnExtensionMouseEvent(ExtensionView* view) { 635 void ExtensionShelf::OnExtensionMouseEvent(ExtensionView* view) {
622 Toolstrip *toolstrip = ToolstripForView(view); 636 Toolstrip *toolstrip = ToolstripForView(view);
623 if (toolstrip) 637 if (toolstrip)
624 toolstrip->ShowShelfHandle(); 638 toolstrip->ShowShelfHandle();
625 } 639 }
626 640
627 void ExtensionShelf::OnExtensionMouseLeave(ExtensionView* view) { 641 void ExtensionShelf::OnExtensionMouseLeave(ExtensionView* view) {
628 Toolstrip *toolstrip = ToolstripForView(view); 642 Toolstrip *toolstrip = ToolstripForView(view);
629 if (toolstrip) 643 if (toolstrip)
630 toolstrip->HideShelfHandle(kHideDelayMs); 644 toolstrip->HideShelfHandle(kHideDelayMs);
631 } 645 }
632 646
633 void ExtensionShelf::DropExtension(Toolstrip* toolstrip, 647 void ExtensionShelf::DropExtension(Toolstrip* toolstrip, const gfx::Point& pt,
634 const gfx::Point& pt, bool cancel) { 648 bool cancel) {
635 Toolstrip* dest_toolstrip = ToolstripAtX(pt.x()); 649 Toolstrip* dest_toolstrip = ToolstripAtX(pt.x());
636 if (!dest_toolstrip) { 650 if (!dest_toolstrip) {
637 if (pt.x() > 0) 651 if (pt.x() > 0)
638 dest_toolstrip = ToolstripAtIndex(model_->count() - 1); 652 dest_toolstrip = ToolstripAtIndex(model_->count() - 1);
639 else 653 else
640 dest_toolstrip = ToolstripAtIndex(0); 654 dest_toolstrip = ToolstripAtIndex(0);
641 } 655 }
642 if (toolstrip == dest_toolstrip) 656 if (toolstrip == dest_toolstrip)
643 return; 657 return;
644 int from = model_->IndexOfToolstrip(toolstrip->host()); 658 int from = model_->IndexOfToolstrip(toolstrip->host());
645 int to = model_->IndexOfToolstrip(dest_toolstrip->host()); 659 int to = model_->IndexOfToolstrip(dest_toolstrip->host());
646 DCHECK(from != to); 660 DCHECK(from != to);
647 model_->MoveToolstripAt(from, to); 661 model_->MoveToolstripAt(from, to);
648 } 662 }
649 663
650 void ExtensionShelf::InitBackground(gfx::Canvas* canvas, 664 void ExtensionShelf::InitBackground(gfx::Canvas* canvas, const SkRect& subset) {
651 const SkRect& subset) {
652 if (!background_.empty()) 665 if (!background_.empty())
653 return; 666 return;
654 667
655 const SkBitmap& background = canvas->getDevice()->accessBitmap(false); 668 const SkBitmap& background = canvas->getDevice()->accessBitmap(false);
656 669
657 // Extract the correct subset of the toolstrip background into a bitmap. We 670 // Extract the correct subset of the toolstrip background into a bitmap. We
658 // must use a temporary here because extractSubset() returns a bitmap that 671 // must use a temporary here because extractSubset() returns a bitmap that
659 // references pixels in the original one and we want to actually make a copy 672 // references pixels in the original one and we want to actually make a copy
660 // that will have a long lifetime. 673 // that will have a long lifetime.
661 SkBitmap temp; 674 SkBitmap temp;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 } 728 }
716 NOTREACHED(); 729 NOTREACHED();
717 return NULL; 730 return NULL;
718 } 731 }
719 732
720 void ExtensionShelf::LoadFromModel() { 733 void ExtensionShelf::LoadFromModel() {
721 int count = model_->count(); 734 int count = model_->count();
722 for (int i = 0; i < count; ++i) 735 for (int i = 0; i < count; ++i)
723 ToolstripInsertedAt(model_->ToolstripAt(i), i); 736 ToolstripInsertedAt(model_->ToolstripAt(i), i);
724 } 737 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698