summaryrefslogtreecommitdiffstats
path: root/toolkit/components/sessionstore/nsISessionStoreRestoreData.idl
blob: eff070ef6a3e44bc040c07a1632eb823c50f1905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

[scriptable, uuid(cd9f33c5-460d-4bbf-a459-f375ca9566d8)]
interface nsISessionStoreRestoreData : nsISupports {
  // Setters for form data.
  attribute AUTF8String url;
  attribute AString innerHTML;

  // Setters for scroll data.
  attribute ACString scroll;

  // Methods for adding individual form fields which are called as the JS code
  // finds them.
  void addTextField(in boolean aIsXPath, in AString aIdOrXPath,
                    in AString aValue);
  void addCheckbox(in boolean aIsXPath, in AString aIdOrXPath,
                   in boolean aValue);
  void addFileList(in boolean aIsXPath, in AString aIdOrXPath, in AString aType,
                   in Array<AString> aFileList);
  void addSingleSelect(in boolean aIsXPath, in AString aIdOrXPath,
                       in unsigned long aSelectedIndex, in AString aValue);
  void addMultipleSelect(in boolean aIsXPath, in AString aIdOrXPath,
                         in Array<AString> aValues);
  void addCustomElement(in boolean aIsXPath, in AString aIdOrXPath,
                        in jsval aValue, in jsval aState);

  // Add a child data object to our children list.
  void addChild(in nsISessionStoreRestoreData aChild, in unsigned long aIndex);
};