mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-29 07:31:21 +00:00
Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code
This commit is contained in:
@@ -114,15 +114,12 @@
|
|||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#include "nsIColorPicker.h"
|
#include "nsIColorPicker.h"
|
||||||
#include "nsIDatePicker.h"
|
|
||||||
#include "nsIStringEnumerator.h"
|
#include "nsIStringEnumerator.h"
|
||||||
#include "HTMLSplitOnSpacesTokenizer.h"
|
#include "HTMLSplitOnSpacesTokenizer.h"
|
||||||
#include "nsIController.h"
|
#include "nsIController.h"
|
||||||
#include "nsIMIMEInfo.h"
|
#include "nsIMIMEInfo.h"
|
||||||
#include "nsFrameSelection.h"
|
#include "nsFrameSelection.h"
|
||||||
|
|
||||||
#include "nsIConsoleService.h"
|
|
||||||
|
|
||||||
// input type=date
|
// input type=date
|
||||||
#include "js/Date.h"
|
#include "js/Date.h"
|
||||||
|
|
||||||
@@ -543,8 +540,7 @@ GetDOMFileOrDirectoryPath(const OwningFileOrDirectory& aData,
|
|||||||
bool
|
bool
|
||||||
HTMLInputElement::ValueAsDateEnabled(JSContext* cx, JSObject* obj)
|
HTMLInputElement::ValueAsDateEnabled(JSContext* cx, JSObject* obj)
|
||||||
{
|
{
|
||||||
return IsExperimentalFormsEnabled() || IsDatePickerEnabled() ||
|
return IsExperimentalFormsEnabled() || IsInputDateTimeEnabled();
|
||||||
IsInputDateTimeEnabled();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
@@ -746,59 +742,6 @@ nsColorPickerShownCallback::Done(const nsAString& aColor)
|
|||||||
|
|
||||||
NS_IMPL_ISUPPORTS(nsColorPickerShownCallback, nsIColorPickerShownCallback)
|
NS_IMPL_ISUPPORTS(nsColorPickerShownCallback, nsIColorPickerShownCallback)
|
||||||
|
|
||||||
class DatePickerShownCallback final : public nsIDatePickerShownCallback
|
|
||||||
{
|
|
||||||
~DatePickerShownCallback() {}
|
|
||||||
public:
|
|
||||||
DatePickerShownCallback(HTMLInputElement* aInput,
|
|
||||||
nsIDatePicker* aDatePicker)
|
|
||||||
: mInput(aInput)
|
|
||||||
, mDatePicker(aDatePicker)
|
|
||||||
{}
|
|
||||||
|
|
||||||
NS_DECL_ISUPPORTS
|
|
||||||
|
|
||||||
NS_IMETHOD Done(const nsAString& aDate) override;
|
|
||||||
NS_IMETHOD Cancel() override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
RefPtr<HTMLInputElement> mInput;
|
|
||||||
nsCOMPtr<nsIDatePicker> mDatePicker;
|
|
||||||
};
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
DatePickerShownCallback::Cancel()
|
|
||||||
{
|
|
||||||
mInput->PickerClosed();
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
DatePickerShownCallback::Done(const nsAString& aDate)
|
|
||||||
{
|
|
||||||
nsAutoString oldValue;
|
|
||||||
|
|
||||||
mInput->PickerClosed();
|
|
||||||
mInput->GetValue(oldValue);
|
|
||||||
|
|
||||||
if(!oldValue.Equals(aDate)){
|
|
||||||
mInput->SetValue(aDate);
|
|
||||||
nsContentUtils::DispatchTrustedEvent(mInput->OwnerDoc(),
|
|
||||||
static_cast<nsIDOMHTMLInputElement*>(mInput.get()),
|
|
||||||
NS_LITERAL_STRING("input"), true,
|
|
||||||
false);
|
|
||||||
return nsContentUtils::DispatchTrustedEvent(mInput->OwnerDoc(),
|
|
||||||
static_cast<nsIDOMHTMLInputElement*>(mInput.get()),
|
|
||||||
NS_LITERAL_STRING("change"), true,
|
|
||||||
false);
|
|
||||||
}
|
|
||||||
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS(DatePickerShownCallback, nsIDatePickerShownCallback)
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
HTMLInputElement::IsPopupBlocked() const
|
HTMLInputElement::IsPopupBlocked() const
|
||||||
{
|
{
|
||||||
@@ -823,56 +766,6 @@ HTMLInputElement::IsPopupBlocked() const
|
|||||||
return permission == nsIPopupWindowManager::DENY_POPUP;
|
return permission == nsIPopupWindowManager::DENY_POPUP;
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult
|
|
||||||
HTMLInputElement::InitDatePicker()
|
|
||||||
{
|
|
||||||
if (!IsDatePickerEnabled()) {
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mPickerRunning) {
|
|
||||||
NS_WARNING("Just one nsIDatePicker is allowed");
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsCOMPtr<nsIDocument> doc = OwnerDoc();
|
|
||||||
|
|
||||||
nsCOMPtr<nsPIDOMWindowOuter> win = doc->GetWindow();
|
|
||||||
if (!win) {
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (IsPopupBlocked()) {
|
|
||||||
win->FirePopupBlockedEvent(doc, nullptr, EmptyString(), EmptyString());
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get Loc title
|
|
||||||
nsXPIDLString title;
|
|
||||||
nsContentUtils::GetLocalizedString(nsContentUtils::eFORMS_PROPERTIES,
|
|
||||||
"DatePicker", title);
|
|
||||||
|
|
||||||
nsresult rv;
|
|
||||||
nsCOMPtr<nsIDatePicker> datePicker = do_CreateInstance("@mozilla.org/datepicker;1", &rv);
|
|
||||||
if (!datePicker) {
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsAutoString initialValue;
|
|
||||||
GetValueInternal(initialValue);
|
|
||||||
rv = datePicker->Init(win, title, initialValue);
|
|
||||||
|
|
||||||
nsCOMPtr<nsIDatePickerShownCallback> callback =
|
|
||||||
new DatePickerShownCallback(this, datePicker);
|
|
||||||
|
|
||||||
rv = datePicker->Open(callback);
|
|
||||||
if (NS_SUCCEEDED(rv)) {
|
|
||||||
mPickerRunning = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
HTMLInputElement::InitColorPicker()
|
HTMLInputElement::InitColorPicker()
|
||||||
{
|
{
|
||||||
@@ -2570,9 +2463,8 @@ HTMLInputElement::ApplyStep(int32_t aStep)
|
|||||||
bool
|
bool
|
||||||
HTMLInputElement::IsExperimentalMobileType(uint8_t aType)
|
HTMLInputElement::IsExperimentalMobileType(uint8_t aType)
|
||||||
{
|
{
|
||||||
return (aType == NS_FORM_INPUT_DATE &&
|
return (aType == NS_FORM_INPUT_DATE || aType == NS_FORM_INPUT_TIME) &&
|
||||||
!IsInputDateTimeEnabled() && !IsDatePickerEnabled()) ||
|
!IsInputDateTimeEnabled();
|
||||||
(aType == NS_FORM_INPUT_TIME && !IsInputDateTimeEnabled());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@@ -4429,9 +4321,6 @@ HTMLInputElement::MaybeInitPickers(EventChainPostVisitor& aVisitor)
|
|||||||
if (mType == NS_FORM_INPUT_COLOR) {
|
if (mType == NS_FORM_INPUT_COLOR) {
|
||||||
return InitColorPicker();
|
return InitColorPicker();
|
||||||
}
|
}
|
||||||
if (mType == NS_FORM_INPUT_DATE) {
|
|
||||||
return InitDatePicker();
|
|
||||||
}
|
|
||||||
|
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
@@ -5814,10 +5703,8 @@ HTMLInputElement::ParseTime(const nsAString& aValue, uint32_t* aResult)
|
|||||||
/* static */ bool
|
/* static */ bool
|
||||||
HTMLInputElement::IsDateTimeTypeSupported(uint8_t aDateTimeInputType)
|
HTMLInputElement::IsDateTimeTypeSupported(uint8_t aDateTimeInputType)
|
||||||
{
|
{
|
||||||
return (aDateTimeInputType == NS_FORM_INPUT_DATE &&
|
return ((aDateTimeInputType == NS_FORM_INPUT_DATE ||
|
||||||
(IsInputDateTimeEnabled() || IsExperimentalFormsEnabled() ||
|
aDateTimeInputType == NS_FORM_INPUT_TIME) &&
|
||||||
IsDatePickerEnabled())) ||
|
|
||||||
(aDateTimeInputType == NS_FORM_INPUT_TIME &&
|
|
||||||
(IsInputDateTimeEnabled() || IsExperimentalFormsEnabled())) ||
|
(IsInputDateTimeEnabled() || IsExperimentalFormsEnabled())) ||
|
||||||
((aDateTimeInputType == NS_FORM_INPUT_MONTH ||
|
((aDateTimeInputType == NS_FORM_INPUT_MONTH ||
|
||||||
aDateTimeInputType == NS_FORM_INPUT_WEEK ||
|
aDateTimeInputType == NS_FORM_INPUT_WEEK ||
|
||||||
@@ -5869,20 +5756,6 @@ HTMLInputElement::IsDirPickerEnabled()
|
|||||||
return sDirPickerEnabled;
|
return sDirPickerEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */ bool
|
|
||||||
HTMLInputElement::IsDatePickerEnabled()
|
|
||||||
{
|
|
||||||
static bool sDatePickerEnabled = false;
|
|
||||||
static bool sDatePickerPrefCached = false;
|
|
||||||
if (!sDatePickerPrefCached) {
|
|
||||||
sDatePickerPrefCached = true;
|
|
||||||
Preferences::AddBoolVarCache(&sDatePickerEnabled, "dom.forms.datepicker",
|
|
||||||
false);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sDatePickerEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* static */ bool
|
/* static */ bool
|
||||||
HTMLInputElement::IsExperimentalFormsEnabled()
|
HTMLInputElement::IsExperimentalFormsEnabled()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1451,7 +1451,6 @@ protected:
|
|||||||
};
|
};
|
||||||
nsresult InitFilePicker(FilePickerType aType);
|
nsresult InitFilePicker(FilePickerType aType);
|
||||||
nsresult InitColorPicker();
|
nsresult InitColorPicker();
|
||||||
nsresult InitDatePicker();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this function before trying to open a picker.
|
* Use this function before trying to open a picker.
|
||||||
@@ -1647,7 +1646,7 @@ private:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if aDateTimeInputType should be supported based on "dom.forms.datetime",
|
* Checks if aDateTimeInputType should be supported based on "dom.forms.datetime",
|
||||||
* "dom.forms.datepicker" and "dom.experimental_forms".
|
* and "dom.experimental_forms".
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
IsDateTimeTypeSupported(uint8_t aDateTimeInputType);
|
IsDateTimeTypeSupported(uint8_t aDateTimeInputType);
|
||||||
@@ -1673,13 +1672,6 @@ private:
|
|||||||
static bool
|
static bool
|
||||||
IsDirPickerEnabled();
|
IsDirPickerEnabled();
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks preference "dom.forms.datepicker" to determine if date picker should
|
|
||||||
* be supported.
|
|
||||||
*/
|
|
||||||
static bool
|
|
||||||
IsDatePickerEnabled();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks preference "dom.experimental_forms" to determine if experimental
|
* Checks preference "dom.experimental_forms" to determine if experimental
|
||||||
* implementation of input element should be enabled.
|
* implementation of input element should be enabled.
|
||||||
|
|||||||
@@ -37,23 +37,15 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=764481
|
|||||||
inputType: "color",
|
inputType: "color",
|
||||||
expectedType: "color"
|
expectedType: "color"
|
||||||
}, {
|
}, {
|
||||||
prefs: [["dom.experimental_forms", false], ["dom.forms.datepicker", false],
|
prefs: [["dom.experimental_forms", false], ["dom.forms.datetime", false]],
|
||||||
["dom.forms.datetime", false]],
|
|
||||||
inputType: "date",
|
inputType: "date",
|
||||||
expectedType: "text"
|
expectedType: "text"
|
||||||
}, {
|
}, {
|
||||||
prefs: [["dom.experimental_forms", true], ["dom.forms.datepicker", false],
|
prefs: [["dom.experimental_forms", true], ["dom.forms.datetime", false]],
|
||||||
["dom.forms.datetime", false]],
|
|
||||||
inputType: "date",
|
inputType: "date",
|
||||||
expectedType: "date"
|
expectedType: "date"
|
||||||
}, {
|
}, {
|
||||||
prefs: [["dom.experimental_forms", false], ["dom.forms.datepicker", true],
|
prefs: [["dom.experimental_forms", false], ["dom.forms.datetime", true]],
|
||||||
["dom.forms.datetime", false]],
|
|
||||||
inputType: "date",
|
|
||||||
expectedType: "date"
|
|
||||||
}, {
|
|
||||||
prefs: [["dom.experimental_forms", false], ["dom.forms.datepicker", false],
|
|
||||||
["dom.forms.datetime", true]],
|
|
||||||
inputType: "date",
|
inputType: "date",
|
||||||
expectedType: "date"
|
expectedType: "date"
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@@ -12,12 +12,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=874640
|
|||||||
|
|
||||||
/** Test for Bug 874640 **/
|
/** Test for Bug 874640 **/
|
||||||
var states = [
|
var states = [
|
||||||
// dom.experimental_forms, dom.forms.datepicker, dom.forms.datetime, expectedValueAsDate
|
// dom.experimental_forms, dom.forms.datetime, expectedValueAsDate
|
||||||
[ 'true', 'true', 'true', 'true' ],
|
[ 'true', 'true', 'true' ],
|
||||||
[ 'true', 'false', 'false', 'true' ],
|
[ 'true', 'false', 'true' ],
|
||||||
[ 'false', 'true', 'false', 'true' ],
|
[ 'false', 'true', 'true' ],
|
||||||
[ 'false', 'false', 'true', 'true' ],
|
[ 'false', 'false', 'false' ],
|
||||||
[ 'false', 'false', 'false', 'false' ],
|
|
||||||
'end'
|
'end'
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -33,12 +32,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=874640
|
|||||||
|
|
||||||
SpecialPowers.pushPrefEnv({"set":[
|
SpecialPowers.pushPrefEnv({"set":[
|
||||||
["dom.experimental_forms", state[0] === 'true'],
|
["dom.experimental_forms", state[0] === 'true'],
|
||||||
["dom.forms.datepicker", state[1] === 'true'],
|
["dom.forms.datetime", state[1] === 'true']]},
|
||||||
["dom.forms.datetime", state[2] === 'true']]},
|
|
||||||
function() {
|
function() {
|
||||||
iframe.src = 'data:text/html,<script>' +
|
iframe.src = 'data:text/html,<script>' +
|
||||||
'parent.is("valueAsDate" in document.createElement("input"), ' +
|
'parent.is("valueAsDate" in document.createElement("input"), ' +
|
||||||
state[3] + ', "valueAsDate presence state should be ' + state[3] + '");' +
|
state[2] + ', "valueAsDate presence state should be ' + state[2] + '");' +
|
||||||
'<\/script>'
|
'<\/script>'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,87 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
||||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
||||||
/* 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 "DatePickerParent.h"
|
|
||||||
#include "nsComponentManagerUtils.h"
|
|
||||||
#include "nsIDocument.h"
|
|
||||||
#include "nsIDOMWindow.h"
|
|
||||||
#include "mozilla/Unused.h"
|
|
||||||
#include "mozilla/dom/Element.h"
|
|
||||||
#include "mozilla/dom/TabParent.h"
|
|
||||||
|
|
||||||
using mozilla::Unused;
|
|
||||||
using namespace mozilla::dom;
|
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS(DatePickerParent::DatePickerShownCallback,
|
|
||||||
nsIDatePickerShownCallback);
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
DatePickerParent::DatePickerShownCallback::Cancel()
|
|
||||||
{
|
|
||||||
if (mDatePickerParent) {
|
|
||||||
Unused << mDatePickerParent->SendCancel();
|
|
||||||
}
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
NS_IMETHODIMP
|
|
||||||
DatePickerParent::DatePickerShownCallback::Done(const nsAString& aDate)
|
|
||||||
{
|
|
||||||
if (mDatePickerParent) {
|
|
||||||
Unused << mDatePickerParent->Send__delete__(mDatePickerParent,
|
|
||||||
nsString(aDate));
|
|
||||||
}
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
DatePickerParent::DatePickerShownCallback::Destroy()
|
|
||||||
{
|
|
||||||
mDatePickerParent = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
DatePickerParent::CreateDatePicker()
|
|
||||||
{
|
|
||||||
mPicker = do_CreateInstance("@mozilla.org/datepicker;1");
|
|
||||||
if (!mPicker) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Element* ownerElement = TabParent::GetFrom(Manager())->GetOwnerElement();
|
|
||||||
if (!ownerElement) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsCOMPtr<mozIDOMWindowProxy> window = do_QueryInterface(ownerElement->OwnerDoc()->GetWindow());
|
|
||||||
if (!window) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NS_SUCCEEDED(mPicker->Init(window, mTitle, mInitialDate));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
DatePickerParent::RecvOpen()
|
|
||||||
{
|
|
||||||
if (!CreateDatePicker()) {
|
|
||||||
Unused << Send__delete__(this, mInitialDate);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
mCallback = new DatePickerShownCallback(this);
|
|
||||||
|
|
||||||
mPicker->Open(mCallback);
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
|
||||||
DatePickerParent::ActorDestroy(ActorDestroyReason aWhy)
|
|
||||||
{
|
|
||||||
if (mCallback) {
|
|
||||||
mCallback->Destroy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
||||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
||||||
/* 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/. */
|
|
||||||
|
|
||||||
#ifndef mozilla_dom_DatePickerParent_h
|
|
||||||
#define mozilla_dom_DatePickerParent_h
|
|
||||||
|
|
||||||
#include "mozilla/dom/PDatePickerParent.h"
|
|
||||||
#include "nsIDatePicker.h"
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
|
|
||||||
class DatePickerParent : public PDatePickerParent
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
DatePickerParent(const nsString& aTitle,
|
|
||||||
const nsString& aInitialDate)
|
|
||||||
: mTitle(aTitle)
|
|
||||||
, mInitialDate(aInitialDate)
|
|
||||||
{}
|
|
||||||
|
|
||||||
virtual bool RecvOpen() override;
|
|
||||||
virtual void ActorDestroy(ActorDestroyReason aWhy) override;
|
|
||||||
|
|
||||||
class DatePickerShownCallback final
|
|
||||||
: public nsIDatePickerShownCallback
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit DatePickerShownCallback(DatePickerParent* aDatePickerParnet)
|
|
||||||
: mDatePickerParent(aDatePickerParnet)
|
|
||||||
{}
|
|
||||||
|
|
||||||
NS_DECL_ISUPPORTS
|
|
||||||
NS_DECL_NSIDATEPICKERSHOWNCALLBACK
|
|
||||||
|
|
||||||
void Destroy();
|
|
||||||
|
|
||||||
private:
|
|
||||||
~DatePickerShownCallback() {}
|
|
||||||
DatePickerParent* mDatePickerParent;
|
|
||||||
};
|
|
||||||
|
|
||||||
private:
|
|
||||||
virtual ~DatePickerParent() {}
|
|
||||||
|
|
||||||
bool CreateDatePicker();
|
|
||||||
|
|
||||||
RefPtr<DatePickerShownCallback> mCallback;
|
|
||||||
nsCOMPtr<nsIDatePicker> mPicker;
|
|
||||||
|
|
||||||
nsString mTitle;
|
|
||||||
nsString mInitialDate;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace dom
|
|
||||||
} // namespace mozilla
|
|
||||||
|
|
||||||
#endif // mozilla_dom_DatePickerParent_h
|
|
||||||
@@ -9,7 +9,6 @@ include protocol PBlob;
|
|||||||
include protocol PColorPicker;
|
include protocol PColorPicker;
|
||||||
include protocol PContent;
|
include protocol PContent;
|
||||||
include protocol PContentBridge;
|
include protocol PContentBridge;
|
||||||
include protocol PDatePicker;
|
|
||||||
include protocol PDocAccessible;
|
include protocol PDocAccessible;
|
||||||
include protocol PFilePicker;
|
include protocol PFilePicker;
|
||||||
include protocol PIndexedDBPermissionRequest;
|
include protocol PIndexedDBPermissionRequest;
|
||||||
@@ -116,7 +115,6 @@ nested(upto inside_cpow) sync protocol PBrowser
|
|||||||
manager PContent or PContentBridge;
|
manager PContent or PContentBridge;
|
||||||
|
|
||||||
manages PColorPicker;
|
manages PColorPicker;
|
||||||
manages PDatePicker;
|
|
||||||
manages PDocAccessible;
|
manages PDocAccessible;
|
||||||
manages PFilePicker;
|
manages PFilePicker;
|
||||||
manages PIndexedDBPermissionRequest;
|
manages PIndexedDBPermissionRequest;
|
||||||
@@ -441,12 +439,6 @@ parent:
|
|||||||
*/
|
*/
|
||||||
async PColorPicker(nsString title, nsString initialColor);
|
async PColorPicker(nsString title, nsString initialColor);
|
||||||
|
|
||||||
/**
|
|
||||||
* Create an asynchronous date picker on the parent side,
|
|
||||||
* but don't open it yet.
|
|
||||||
*/
|
|
||||||
async PDatePicker(nsString title, nsString initialDate);
|
|
||||||
|
|
||||||
async PFilePicker(nsString aTitle, int16_t aMode);
|
async PFilePicker(nsString aTitle, int16_t aMode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 8 -*- */
|
|
||||||
/* vim: set sw=4 ts=8 et tw=80 ft=cpp : */
|
|
||||||
|
|
||||||
/* 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 protocol PBrowser;
|
|
||||||
|
|
||||||
namespace mozilla {
|
|
||||||
namespace dom {
|
|
||||||
|
|
||||||
protocol PDatePicker
|
|
||||||
{
|
|
||||||
manager PBrowser;
|
|
||||||
|
|
||||||
parent:
|
|
||||||
async Open();
|
|
||||||
|
|
||||||
child:
|
|
||||||
async Cancel();
|
|
||||||
|
|
||||||
async __delete__(nsString color);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace dom
|
|
||||||
} // namespace mozilla
|
|
||||||
@@ -96,7 +96,6 @@
|
|||||||
#include "LayersLogging.h"
|
#include "LayersLogging.h"
|
||||||
#include "nsDOMClassInfoID.h"
|
#include "nsDOMClassInfoID.h"
|
||||||
#include "nsColorPickerProxy.h"
|
#include "nsColorPickerProxy.h"
|
||||||
#include "nsDatePickerProxy.h"
|
|
||||||
#include "nsContentPermissionHelper.h"
|
#include "nsContentPermissionHelper.h"
|
||||||
#include "nsPresShell.h"
|
#include "nsPresShell.h"
|
||||||
#include "nsIAppsService.h"
|
#include "nsIAppsService.h"
|
||||||
@@ -2013,21 +2012,6 @@ TabChild::DeallocPColorPickerChild(PColorPickerChild* aColorPicker)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
PDatePickerChild*
|
|
||||||
TabChild::AllocPDatePickerChild(const nsString&, const nsString&)
|
|
||||||
{
|
|
||||||
NS_RUNTIMEABORT("unused");
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
TabChild::DeallocPDatePickerChild(PDatePickerChild* aDatePicker)
|
|
||||||
{
|
|
||||||
nsDatePickerProxy* picker = static_cast<nsDatePickerProxy*>(aDatePicker);
|
|
||||||
NS_RELEASE(picker);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
PFilePickerChild*
|
PFilePickerChild*
|
||||||
TabChild::AllocPFilePickerChild(const nsString&, const int16_t&)
|
TabChild::AllocPFilePickerChild(const nsString&, const int16_t&)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -451,10 +451,6 @@ public:
|
|||||||
|
|
||||||
virtual bool DeallocPColorPickerChild(PColorPickerChild* aActor) override;
|
virtual bool DeallocPColorPickerChild(PColorPickerChild* aActor) override;
|
||||||
|
|
||||||
virtual PDatePickerChild*
|
|
||||||
AllocPDatePickerChild(const nsString& title, const nsString& initialDate) override;
|
|
||||||
virtual bool DeallocPDatePickerChild(PDatePickerChild* actor) override;
|
|
||||||
|
|
||||||
virtual PFilePickerChild*
|
virtual PFilePickerChild*
|
||||||
AllocPFilePickerChild(const nsString& aTitle, const int16_t& aMode) override;
|
AllocPFilePickerChild(const nsString& aTitle, const int16_t& aMode) override;
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,6 @@
|
|||||||
#include "PermissionMessageUtils.h"
|
#include "PermissionMessageUtils.h"
|
||||||
#include "StructuredCloneData.h"
|
#include "StructuredCloneData.h"
|
||||||
#include "ColorPickerParent.h"
|
#include "ColorPickerParent.h"
|
||||||
#include "DatePickerParent.h"
|
|
||||||
#include "FilePickerParent.h"
|
#include "FilePickerParent.h"
|
||||||
#include "TabChild.h"
|
#include "TabChild.h"
|
||||||
#include "LoadContext.h"
|
#include "LoadContext.h"
|
||||||
@@ -2424,20 +2423,6 @@ TabParent::DeallocPColorPickerParent(PColorPickerParent* actor)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
PDatePickerParent*
|
|
||||||
TabParent::AllocPDatePickerParent(const nsString& aTitle,
|
|
||||||
const nsString& aInitialDate)
|
|
||||||
{
|
|
||||||
return new DatePickerParent(aTitle, aInitialDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
TabParent::DeallocPDatePickerParent(PDatePickerParent* actor)
|
|
||||||
{
|
|
||||||
delete actor;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
PRenderFrameParent*
|
PRenderFrameParent*
|
||||||
TabParent::AllocPRenderFrameParent()
|
TabParent::AllocPRenderFrameParent()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -347,10 +347,6 @@ public:
|
|||||||
virtual bool
|
virtual bool
|
||||||
DeallocPColorPickerParent(PColorPickerParent* aColorPicker) override;
|
DeallocPColorPickerParent(PColorPickerParent* aColorPicker) override;
|
||||||
|
|
||||||
virtual PDatePickerParent*
|
|
||||||
AllocPDatePickerParent(const nsString& aTitle, const nsString& aInitialDate) override;
|
|
||||||
virtual bool DeallocPDatePickerParent(PDatePickerParent* aDatePicker) override;
|
|
||||||
|
|
||||||
virtual PDocAccessibleParent*
|
virtual PDocAccessibleParent*
|
||||||
AllocPDocAccessibleParent(PDocAccessibleParent*, const uint64_t&,
|
AllocPDocAccessibleParent(PDocAccessibleParent*, const uint64_t&,
|
||||||
const uint32_t&, const IAccessibleHolder&) override;
|
const uint32_t&, const IAccessibleHolder&) override;
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ UNIFIED_SOURCES += [
|
|||||||
'ContentProcess.cpp',
|
'ContentProcess.cpp',
|
||||||
'ContentProcessManager.cpp',
|
'ContentProcessManager.cpp',
|
||||||
'CrashReporterParent.cpp',
|
'CrashReporterParent.cpp',
|
||||||
'DatePickerParent.cpp',
|
|
||||||
'FilePickerParent.cpp',
|
'FilePickerParent.cpp',
|
||||||
'nsIContentChild.cpp',
|
'nsIContentChild.cpp',
|
||||||
'nsIContentParent.cpp',
|
'nsIContentParent.cpp',
|
||||||
@@ -95,7 +94,6 @@ IPDL_SOURCES += [
|
|||||||
'PContentPermissionRequest.ipdl',
|
'PContentPermissionRequest.ipdl',
|
||||||
'PCrashReporter.ipdl',
|
'PCrashReporter.ipdl',
|
||||||
'PCycleCollectWithLogs.ipdl',
|
'PCycleCollectWithLogs.ipdl',
|
||||||
'PDatePicker.ipdl',
|
|
||||||
'PFilePicker.ipdl',
|
'PFilePicker.ipdl',
|
||||||
'PMemoryReportRequest.ipdl',
|
'PMemoryReportRequest.ipdl',
|
||||||
'PPluginWidget.ipdl',
|
'PPluginWidget.ipdl',
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ NoDirSelected=No directory selected.
|
|||||||
# %S will be a number greater or equal to 2.
|
# %S will be a number greater or equal to 2.
|
||||||
XFilesSelected=%S files selected.
|
XFilesSelected=%S files selected.
|
||||||
ColorPicker=Choose a color
|
ColorPicker=Choose a color
|
||||||
DatePicker=Choose a date
|
|
||||||
# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
|
# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
|
||||||
# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
|
# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
|
||||||
# This string is shown at the end of the tooltip text for <input type='file'
|
# This string is shown at the end of the tooltip text for <input type='file'
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ XPIDL_SOURCES += [
|
|||||||
'nsIClipboardHelper.idl',
|
'nsIClipboardHelper.idl',
|
||||||
'nsIClipboardOwner.idl',
|
'nsIClipboardOwner.idl',
|
||||||
'nsIColorPicker.idl',
|
'nsIColorPicker.idl',
|
||||||
'nsIDatePicker.idl',
|
|
||||||
'nsIDisplayInfo.idl',
|
'nsIDisplayInfo.idl',
|
||||||
'nsIDragService.idl',
|
'nsIDragService.idl',
|
||||||
'nsIDragSession.idl',
|
'nsIDragSession.idl',
|
||||||
@@ -151,7 +150,6 @@ UNIFIED_SOURCES += [
|
|||||||
'nsClipboardProxy.cpp',
|
'nsClipboardProxy.cpp',
|
||||||
'nsColorPickerProxy.cpp',
|
'nsColorPickerProxy.cpp',
|
||||||
'nsContentProcessWidgetFactory.cpp',
|
'nsContentProcessWidgetFactory.cpp',
|
||||||
'nsDatePickerProxy.cpp',
|
|
||||||
'nsDragServiceProxy.cpp',
|
'nsDragServiceProxy.cpp',
|
||||||
'nsFilePickerProxy.cpp',
|
'nsFilePickerProxy.cpp',
|
||||||
'nsHTMLFormatConverter.cpp',
|
'nsHTMLFormatConverter.cpp',
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
#include "nsWidgetsCID.h"
|
#include "nsWidgetsCID.h"
|
||||||
#include "nsClipboardProxy.h"
|
#include "nsClipboardProxy.h"
|
||||||
#include "nsColorPickerProxy.h"
|
#include "nsColorPickerProxy.h"
|
||||||
#include "nsDatePickerProxy.h"
|
|
||||||
#include "nsDragServiceProxy.h"
|
#include "nsDragServiceProxy.h"
|
||||||
#include "nsFilePickerProxy.h"
|
#include "nsFilePickerProxy.h"
|
||||||
#include "nsScreenManagerProxy.h"
|
#include "nsScreenManagerProxy.h"
|
||||||
@@ -22,7 +21,6 @@ using namespace mozilla::widget;
|
|||||||
|
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardProxy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardProxy)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsColorPickerProxy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsColorPickerProxy)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDatePickerProxy)
|
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragServiceProxy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragServiceProxy)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFilePickerProxy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFilePickerProxy)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerProxy)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerProxy)
|
||||||
@@ -30,7 +28,6 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(PuppetBidiKeyboard)
|
|||||||
|
|
||||||
NS_DEFINE_NAMED_CID(NS_CLIPBOARD_CID);
|
NS_DEFINE_NAMED_CID(NS_CLIPBOARD_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_COLORPICKER_CID);
|
NS_DEFINE_NAMED_CID(NS_COLORPICKER_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_DATEPICKER_CID);
|
|
||||||
NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
|
NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_FILEPICKER_CID);
|
NS_DEFINE_NAMED_CID(NS_FILEPICKER_CID);
|
||||||
NS_DEFINE_NAMED_CID(PUPPETBIDIKEYBOARD_CID);
|
NS_DEFINE_NAMED_CID(PUPPETBIDIKEYBOARD_CID);
|
||||||
@@ -41,8 +38,6 @@ static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
|
|||||||
Module::CONTENT_PROCESS_ONLY },
|
Module::CONTENT_PROCESS_ONLY },
|
||||||
{ &kNS_COLORPICKER_CID, false, nullptr, nsColorPickerProxyConstructor,
|
{ &kNS_COLORPICKER_CID, false, nullptr, nsColorPickerProxyConstructor,
|
||||||
Module::CONTENT_PROCESS_ONLY },
|
Module::CONTENT_PROCESS_ONLY },
|
||||||
{ &kNS_DATEPICKER_CID, false, nullptr, nsDatePickerProxyConstructor,
|
|
||||||
Module::CONTENT_PROCESS_ONLY },
|
|
||||||
{ &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceProxyConstructor,
|
{ &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceProxyConstructor,
|
||||||
Module::CONTENT_PROCESS_ONLY },
|
Module::CONTENT_PROCESS_ONLY },
|
||||||
{ &kNS_FILEPICKER_CID, false, nullptr, nsFilePickerProxyConstructor,
|
{ &kNS_FILEPICKER_CID, false, nullptr, nsFilePickerProxyConstructor,
|
||||||
@@ -57,7 +52,6 @@ static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
|
|||||||
static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
|
static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
|
||||||
{ "@mozilla.org/widget/clipboard;1", &kNS_CLIPBOARD_CID, Module::CONTENT_PROCESS_ONLY },
|
{ "@mozilla.org/widget/clipboard;1", &kNS_CLIPBOARD_CID, Module::CONTENT_PROCESS_ONLY },
|
||||||
{ "@mozilla.org/colorpicker;1", &kNS_COLORPICKER_CID, Module::CONTENT_PROCESS_ONLY },
|
{ "@mozilla.org/colorpicker;1", &kNS_COLORPICKER_CID, Module::CONTENT_PROCESS_ONLY },
|
||||||
{ "@mozilla.org/datepicker;1", &kNS_DATEPICKER_CID, Module::CONTENT_PROCESS_ONLY },
|
|
||||||
{ "@mozilla.org/filepicker;1", &kNS_FILEPICKER_CID, Module::CONTENT_PROCESS_ONLY },
|
{ "@mozilla.org/filepicker;1", &kNS_FILEPICKER_CID, Module::CONTENT_PROCESS_ONLY },
|
||||||
{ "@mozilla.org/gfx/screenmanager;1", &kNS_SCREENMANAGER_CID, Module::CONTENT_PROCESS_ONLY },
|
{ "@mozilla.org/gfx/screenmanager;1", &kNS_SCREENMANAGER_CID, Module::CONTENT_PROCESS_ONLY },
|
||||||
{ "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID, Module::CONTENT_PROCESS_ONLY },
|
{ "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID, Module::CONTENT_PROCESS_ONLY },
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
||||||
*
|
|
||||||
* 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 "nsDatePickerProxy.h"
|
|
||||||
|
|
||||||
#include "mozilla/dom/TabChild.h"
|
|
||||||
|
|
||||||
using namespace mozilla::dom;
|
|
||||||
|
|
||||||
NS_IMPL_ISUPPORTS(nsDatePickerProxy, nsIDatePicker)
|
|
||||||
|
|
||||||
/* void init (in nsIDOMWindow parent, in AString title, in short mode); */
|
|
||||||
NS_IMETHODIMP
|
|
||||||
nsDatePickerProxy::Init(mozIDOMWindowProxy* aParent, const nsAString& aTitle,
|
|
||||||
const nsAString& aInitialDate)
|
|
||||||
{
|
|
||||||
TabChild* tabChild = TabChild::GetFrom(aParent);
|
|
||||||
if (!tabChild) {
|
|
||||||
return NS_ERROR_FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
tabChild->SendPDatePickerConstructor(this,
|
|
||||||
nsString(aTitle),
|
|
||||||
nsString(aInitialDate));
|
|
||||||
NS_ADDREF_THIS(); //Released in DeallocPDatePickerChild
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* void open (in nsIDatePickerShownCallback aDatePickerShownCallback); */
|
|
||||||
NS_IMETHODIMP
|
|
||||||
nsDatePickerProxy::Open(nsIDatePickerShownCallback* aDatePickerShownCallback)
|
|
||||||
{
|
|
||||||
NS_ENSURE_STATE(!mCallback);
|
|
||||||
mCallback = aDatePickerShownCallback;
|
|
||||||
|
|
||||||
SendOpen();
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
nsDatePickerProxy::RecvCancel()
|
|
||||||
{
|
|
||||||
if (mCallback) {
|
|
||||||
mCallback->Cancel();
|
|
||||||
mCallback = nullptr;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
nsDatePickerProxy::Recv__delete__(const nsString& aDate)
|
|
||||||
{
|
|
||||||
if (mCallback) {
|
|
||||||
mCallback->Done(aDate);
|
|
||||||
mCallback = nullptr;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/* -*- 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/. */
|
|
||||||
|
|
||||||
#ifndef nsDatePickerProxy_h
|
|
||||||
#define nsDatePickerProxy_h
|
|
||||||
|
|
||||||
#include "nsIDatePicker.h"
|
|
||||||
|
|
||||||
#include "mozilla/dom/PDatePickerChild.h"
|
|
||||||
|
|
||||||
class nsDatePickerProxy final : public nsIDatePicker,
|
|
||||||
public mozilla::dom::PDatePickerChild
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
NS_DECL_ISUPPORTS
|
|
||||||
NS_DECL_NSIDATEPICKER
|
|
||||||
|
|
||||||
nsDatePickerProxy() {}
|
|
||||||
|
|
||||||
virtual bool RecvCancel() override;
|
|
||||||
virtual bool Recv__delete__(const nsString& aDate) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
~nsDatePickerProxy() {}
|
|
||||||
|
|
||||||
nsCOMPtr<nsIDatePickerShownCallback> mCallback;
|
|
||||||
nsString mTitle;
|
|
||||||
nsString mInitialDate;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // nsDatePickerProxy_h
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/* -*- 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"
|
|
||||||
|
|
||||||
interface mozIDOMWindowProxy;
|
|
||||||
|
|
||||||
[scriptable, uuid(13388a28-1b0b-4218-a31b-588f7a4ec26c)]
|
|
||||||
interface nsIDatePickerShownCallback : nsISupports
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Callback called when the user selects cancel in the date picker
|
|
||||||
* This callback can not be called after done() is called.
|
|
||||||
*/
|
|
||||||
void cancel();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback called when the user has finished selecting the date
|
|
||||||
*
|
|
||||||
* @param date The new selected date value following the format "YYYY-MM-DD"
|
|
||||||
*/
|
|
||||||
void done(in AString date);
|
|
||||||
};
|
|
||||||
|
|
||||||
[scriptable, uuid(7becfc64-966b-4d53-87d2-9161f36bd3b3)]
|
|
||||||
interface nsIDatePicker : nsISupports
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Initialize the date picker widget. The date picker will not be shown until
|
|
||||||
* open() is called.
|
|
||||||
* If the initialDate parameter does not follow the format "YYYY-MM-DD" then
|
|
||||||
* the behavior will be unspecified.
|
|
||||||
*
|
|
||||||
* @param parent nsIDOMWindow parent. This dialog will be dependent
|
|
||||||
* on this parent. parent may be null.
|
|
||||||
* @param title The title for the date picker widget.
|
|
||||||
* @param initialDate The date to show when the widget is opened. The
|
|
||||||
* parameter has to follow the format "YYYY-MM-DD"
|
|
||||||
*/
|
|
||||||
void init(in mozIDOMWindowProxy parent, in AString title, in AString initialDate);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Opens the date dialog asynchrounously.
|
|
||||||
* The results are provided via the callback object.
|
|
||||||
*/
|
|
||||||
void open(in nsIDatePickerShownCallback callback);
|
|
||||||
};
|
|
||||||
@@ -33,11 +33,6 @@
|
|||||||
{ 0x0f872c8c, 0x3ee6, 0x46bd, \
|
{ 0x0f872c8c, 0x3ee6, 0x46bd, \
|
||||||
{ 0x92, 0xa2, 0x69, 0x65, 0x2c, 0x6b, 0x47, 0x4e } }
|
{ 0x92, 0xa2, 0x69, 0x65, 0x2c, 0x6b, 0x47, 0x4e } }
|
||||||
|
|
||||||
/* 0ca832f8-978a-4dc7-a57d-adb803925d39 */
|
|
||||||
#define NS_DATEPICKER_CID \
|
|
||||||
{ 0x0ca832f8, 0x978a, 0x4dc7, \
|
|
||||||
{ 0xa5, 0x7d, 0xad, 0xb8, 0x03, 0x92, 0x5d, 0x39 } }
|
|
||||||
|
|
||||||
/* 2d96b3df-c051-11d1-a827-0040959a28c9 */
|
/* 2d96b3df-c051-11d1-a827-0040959a28c9 */
|
||||||
#define NS_APPSHELL_CID \
|
#define NS_APPSHELL_CID \
|
||||||
{ 0x2d96b3df, 0xc051, 0x11d1, \
|
{ 0x2d96b3df, 0xc051, 0x11d1, \
|
||||||
|
|||||||
Reference in New Issue
Block a user