LCOV - code coverage report
Current view: top level - accessible/xul - XULColorPickerAccessible.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 51 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 13 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #include "XULColorPickerAccessible.h"
       7             : 
       8             : #include "Accessible-inl.h"
       9             : #include "nsAccUtils.h"
      10             : #include "nsCoreUtils.h"
      11             : #include "DocAccessible.h"
      12             : #include "Role.h"
      13             : #include "States.h"
      14             : 
      15             : #include "nsIDOMElement.h"
      16             : #include "nsMenuPopupFrame.h"
      17             : 
      18             : using namespace mozilla::a11y;
      19             : 
      20             : ////////////////////////////////////////////////////////////////////////////////
      21             : // XULColorPickerTileAccessible
      22             : ////////////////////////////////////////////////////////////////////////////////
      23             : 
      24           0 : XULColorPickerTileAccessible::
      25           0 :   XULColorPickerTileAccessible(nsIContent* aContent, DocAccessible* aDoc) :
      26           0 :   AccessibleWrap(aContent, aDoc)
      27             : {
      28           0 : }
      29             : 
      30             : ////////////////////////////////////////////////////////////////////////////////
      31             : // XULColorPickerTileAccessible: Accessible
      32             : 
      33             : void
      34           0 : XULColorPickerTileAccessible::Value(nsString& aValue)
      35             : {
      36           0 :   aValue.Truncate();
      37             : 
      38           0 :   mContent->GetAttr(kNameSpaceID_None, nsGkAtoms::color, aValue);
      39           0 : }
      40             : 
      41             : role
      42           0 : XULColorPickerTileAccessible::NativeRole()
      43             : {
      44           0 :   return roles::PUSHBUTTON;
      45             : }
      46             : 
      47             : uint64_t
      48           0 : XULColorPickerTileAccessible::NativeState()
      49             : {
      50           0 :   uint64_t state = AccessibleWrap::NativeState();
      51           0 :   if (mContent->HasAttr(kNameSpaceID_None, nsGkAtoms::selected))
      52           0 :     state |= states::SELECTED;
      53             : 
      54           0 :   return state;
      55             : }
      56             : 
      57             : uint64_t
      58           0 : XULColorPickerTileAccessible::NativeInteractiveState() const
      59             : {
      60           0 :   return NativelyUnavailable() ?
      61           0 :     states::UNAVAILABLE : states::FOCUSABLE | states::SELECTABLE;
      62             : }
      63             : 
      64             : ////////////////////////////////////////////////////////////////////////////////
      65             : // XULColorPickerTileAccessible: Widgets
      66             : 
      67             : Accessible*
      68           0 : XULColorPickerTileAccessible::ContainerWidget() const
      69             : {
      70           0 :   Accessible* parent = Parent();
      71           0 :   if (parent) {
      72           0 :     Accessible* grandParent = parent->Parent();
      73           0 :     if (grandParent && grandParent->IsMenuButton())
      74           0 :       return grandParent;
      75             :   }
      76           0 :   return nullptr;
      77             : }
      78             : 
      79             : ////////////////////////////////////////////////////////////////////////////////
      80             : // XULColorPickerAccessible
      81             : ////////////////////////////////////////////////////////////////////////////////
      82             : 
      83           0 : XULColorPickerAccessible::
      84           0 :   XULColorPickerAccessible(nsIContent* aContent, DocAccessible* aDoc) :
      85           0 :   XULColorPickerTileAccessible(aContent, aDoc)
      86             : {
      87           0 :   mGenericTypes |= eMenuButton;
      88           0 : }
      89             : 
      90             : ////////////////////////////////////////////////////////////////////////////////
      91             : // XULColorPickerAccessible: Accessible
      92             : 
      93             : uint64_t
      94           0 : XULColorPickerAccessible::NativeState()
      95             : {
      96           0 :   uint64_t state = AccessibleWrap::NativeState();
      97           0 :   return state | states::HASPOPUP;
      98             : }
      99             : 
     100             : role
     101           0 : XULColorPickerAccessible::NativeRole()
     102             : {
     103           0 :   return roles::BUTTONDROPDOWNGRID;
     104             : }
     105             : 
     106             : ////////////////////////////////////////////////////////////////////////////////
     107             : // XULColorPickerAccessible: Widgets
     108             : 
     109             : bool
     110           0 : XULColorPickerAccessible::IsWidget() const
     111             : {
     112           0 :   return true;
     113             : }
     114             : 
     115             : bool
     116           0 : XULColorPickerAccessible::IsActiveWidget() const
     117             : {
     118           0 :   return FocusMgr()->HasDOMFocus(mContent);
     119             : }
     120             : 
     121             : bool
     122           0 : XULColorPickerAccessible::AreItemsOperable() const
     123             : {
     124           0 :   Accessible* menuPopup = mChildren.SafeElementAt(0, nullptr);
     125           0 :   if (menuPopup) {
     126           0 :     nsMenuPopupFrame* menuPopupFrame = do_QueryFrame(menuPopup->GetFrame());
     127           0 :     return menuPopupFrame && menuPopupFrame->IsOpen();
     128             :   }
     129           0 :   return false;
     130             : }
     131             : 
     132             : ////////////////////////////////////////////////////////////////////////////////
     133             : // XULColorPickerAccessible: Accessible
     134             : 
     135             : bool
     136           0 : XULColorPickerAccessible::IsAcceptableChild(nsIContent* aEl) const
     137             : {
     138           0 :   nsAutoString role;
     139           0 :   nsCoreUtils::XBLBindingRole(aEl, role);
     140           0 :   return role.EqualsLiteral("xul:panel") &&
     141           0 :     aEl->AttrValueIs(kNameSpaceID_None, nsGkAtoms::noautofocus,
     142           0 :                      nsGkAtoms::_true, eCaseMatters);
     143             : }

Generated by: LCOV version 1.13