mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
3856b5e646
This patch simplifies the nsIDateTimeInputArea interface, implemented by the datetimebox bindings, to a point that is easier to convert it to dispatch events, by doing the following: - hasBadInput() is re-implemented in C++ in nsIDateTimeControlFrame since C++ needs the return value synchronously. - SetValueFromPicker() and SetPickerState() are avoided completed since they are simply called by HTMLInputElement methods exposed to the frame script. They are avoided by having the frame script access the NAC and call the nsIDateTimeInputArea methods directly. - Merge setEditAttribute() and removeEditAttribute() to updateEditAttributes() which takes no arguments, and have the method access the attribute values by reading the values from <input>. This patch is a scaled-down version of the patch proposed in bug 1456833. The event approach is only usable in UA Widget version of datetimebox because there is no way to avoid leaking events to the document without Shadow DOM. Differential Revision: https://phabricator.services.mozilla.com/D9056 --HG-- extra : moz-landing-system : lando
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* 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(465c0cc3-24cb-48ce-af1a-b18402326b05)]
|
|
interface nsIDateTimeInputArea : nsISupports
|
|
{
|
|
/**
|
|
* Called from DOM/Layout when input element value has changed.
|
|
*/
|
|
void notifyInputElementValueChanged();
|
|
|
|
/**
|
|
* Called from DOM/Layout when input element min, max or step attribute has
|
|
* changed.
|
|
*/
|
|
void notifyMinMaxStepAttrChanged();
|
|
|
|
/**
|
|
* Called when date/time picker value has changed.
|
|
*/
|
|
void setValueFromPicker(in jsval value);
|
|
|
|
/**
|
|
* Called from DOM/Layout to set focus on inner text box.
|
|
*/
|
|
void focusInnerTextBox();
|
|
|
|
/**
|
|
* Called from DOM/Layout to blur inner text box.
|
|
*/
|
|
void blurInnerTextBox();
|
|
|
|
/**
|
|
* Set the current state of the picker, true if it's opened, false otherwise.
|
|
*/
|
|
void setPickerState(in boolean isOpen);
|
|
|
|
/**
|
|
* Update the attribute of the inner text boxes by copying the attribute value
|
|
* from the input. Only values set to "tabindex", "readonly",
|
|
* and "disabled" attributes are copied.
|
|
*/
|
|
void updateEditAttributes();
|
|
};
|