toolkit/content/tests/chrome/test_tree_view.xul

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
     3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
     4 <!--
     5   XUL Widget Test for tree using a custom nsITreeView
     6   -->
     7 <window title="Tree" onload="init()"
     8         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
     9   <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>  
    10   <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>  
    12 <script src="tree_shared.js"/>
    14 <script>
    15 <![CDATA[
    17 // This is our custom view, based on the treeview interface
    18 var view =
    19 {
    20   treeData: [["Mary", "206 Garden Avenue"],
    21                 ["Chris", "19 Marion Street"],
    22                 ["Sarah", "702 Fern Avenue"],
    23                 ["John", "99 Westminster Avenue"]],
    24   value: "",
    25   rowCount: 8,
    26   getCellText: function(row, column) { return this.treeData[row % 4][column.index]; },
    27   getCellValue: function(row, column) { return this.value; },
    28   setCellText: function(row, column, val) { this.treeData[row % 4][column.index] = val; },
    29   setCellValue: function(row, column, val) { this.value = val; },
    30   setTree: function(tree) { this.tree = tree; },
    31   isContainer: function(row) { return false; },
    32   isContainerOpen: function(row) { return false; },
    33   isContainerEmpty: function(row) { return false; },
    34   isSeparator: function(row) { return false; },
    35   isSorted: function(row) { return false; },
    36   isSelectable: function(row, column) { return true; },
    37   isEditable: function(row, column) { return row != 2 || column.index != 1; },
    38   getProgressMode: function(row, column) { return Components.interfaces.nsITreeView.PROGRESS_NORMAL; },
    39   getParentIndex: function(row, column) { return -1; },
    40   getLevel: function(row) { return 0; },
    41   hasNextSibling: function(row, column) { return row != this.rowCount - 1; },
    42   getImageSrc: function(row, column) { return ""; },
    43   cycleHeader: function(column) { },
    44   getRowProperties: function(row) { return ""; },
    45   getCellProperties: function(row, column) { return ""; },
    46   getColumnProperties: function(column)
    47   {
    48     if (!column.index) {
    49       return "one two";
    50     }
    52     return "";
    53   }
    54 }
    56 function getCustomTreeViewCellInfo()
    57 {
    58   var obj = { rows: [] };
    60   for (var row = 0; row < view.rowCount; row++) {
    61     var cellInfo = [ ];
    62     for (var column = 0; column < 1; column++) {
    63       cellInfo.push({ label: "" + view.treeData[row % 4][column],
    64                       value: "",
    65                       properties: "",
    66                       editable: row != 2 || column.index != 1,
    67                       selectable: true,
    68                       image: "",
    69                       mode: Components.interfaces.nsITreeView.PROGRESS_NORMAL });
    70     }
    72     obj.rows.push({ cells: cellInfo,
    73                     properties: "",
    74                     container: false,
    75                     separator: false,
    76                     children: null,
    77                     level: 0,
    78                     parent: -1 });
    79   }
    81   return obj;
    82 }
    84 function init()
    85 {
    86   var tree = document.getElementById("tree-view");
    87   tree.view = view;
    88   tree.treeBoxObject.ensureRowIsVisible(0);
    89   is(tree.treeBoxObject.getFirstVisibleRow(), 0, "first visible after ensureRowIsVisible on load");
    90   tree.setAttribute("rows", "4");
    92   setTimeout(testtag_tree, 0, "tree-view", "treechildren-view", "multiple", "simple", "tree view");
    93 }
    95 ]]>
    96 </script>
    98 <tree id="tree-view">
    99   <treecols>
   100     <treecol id="name" label="Name" sort="label" flex="1"/>
   101     <treecol id="address" label="Address" flex="1"/>
   102   </treecols>
   103   <treechildren id="treechildren-view"/>
   104 </tree>
   106   <!-- test results are displayed in the html:body -->
   107   <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
   109   <!-- test code goes here -->
   110   <script type="application/javascript"><![CDATA[
   112 SimpleTest.waitForExplicitFinish();
   114 ]]>
   115 </script>
   117 </window>

mercurial