Adding new files for John Keiser <jkeiser@iname.com>, not part of the build yet.

This commit is contained in:
jst%netscape.com 2001-10-01 17:51:28 +00:00
parent c22cc74118
commit 2df8ab675f
5 changed files with 1527 additions and 0 deletions

View File

@ -0,0 +1,84 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* John B. Keiser
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsIOptionElement_h___
#define nsIOptionElement_h___
#include "nsISupports.h"
// IID for the nsIOption interface
#define NS_IOPTIONELEMENT_IID \
{ 0xd49fe03a, 0x1dd1, 0x11b2, \
{ 0xa0, 0xe0, 0x83, 0x66, 0x76, 0x19, 0xaf, 0x69 } }
class nsIDOMHTMLOptionElement;
/**
* This interface is used to notify a SELECT when OPTION
* elements are added and removed from its subtree.
* Note that the nsIDOMHTMLSelectElement and nsIContent
* interfaces are the ones to use to access and enumerate
* OPTIONs within a SELECT element.
*/
class nsIOptionElement : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_IOPTIONELEMENT_IID)
/**
* Check whether the option element is selected from its own point
* of view. This should only be used by SelectElement, really.
* Everyone else is safe using GetSelected() on the DOMHTMLOptionElement.
*/
NS_IMETHOD GetSelectedInternal(PRBool* aValue) = 0;
/**
* Check whether the option element is selected from its own point
* of view. This should only be used by SelectElement, really.
* Everyone else is safe using GetSelected() on the DOMHTMLOptionElement.
*/
NS_IMETHOD SetSelectedInternal(PRBool aValue, PRBool aNotify) = 0;
/**
* Get the value or, barring that, the text of the option.
*/
NS_IMETHOD GetValueOrText(nsAString& aValue) = 0;
};
#endif // nsIOptionElement_h___

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,61 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code.
*
* The Initial Developer of the Original Code is Netscape Communications
* Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#ifndef nsFormSubmitter_h___
#define nsFormSubmitter_h___
#include "prtypes.h"
#include "nscore.h"
#include "nsError.h"
class nsIForm;
class nsIPresContext;
class nsIContent;
class nsIFormProcessor;
class nsIFileSpec;
class nsString;
class nsIPresContext;
class nsIUnicodeEncoder;
class nsIDOMNode;
class nsFormSubmitter {
public:
// JBK moved methods necessary for submit
static nsresult OnSubmit(nsIForm* form, nsIPresContext* aPresContext, nsIContent* submitElement);
protected:
static nsresult CompareNodes(nsIDOMNode* a, nsIDOMNode* b, PRInt32* retval);
static nsresult ProcessAsURLEncoded(nsIForm* form, nsIPresContext* aPresContext, nsIFormProcessor* aFormProcessor, PRBool isPost, nsString& aData, nsIContent* submitElement, PRInt32 aSubmitPosition);
static nsresult ProcessAsMultipart(nsIForm* form, nsIPresContext* aPresContext, nsIFormProcessor* aFormProcessor,nsIFileSpec*& aMultipartDataFile, nsIContent* submitElement, PRInt32 aSubmitPosition);
static void GetSubmitCharset(nsIForm* form, nsString& oCharset, nsIPresContext* aPresContext);
static nsresult GetEncoder(nsIForm* form, nsIPresContext* aPresContext, nsIUnicodeEncoder** encoder);
static nsString* URLEncode(const nsString& aString, nsIUnicodeEncoder* encoder);
static char* UnicodeToNewBytes(const PRUnichar* aSrc, PRUint32 aLen, nsIUnicodeEncoder* encoder);
static nsresult GetPlatformEncoder(nsIUnicodeEncoder** encoder);
static PRUint32 GetFileNameWithinPath(nsString aPathName);
static nsresult GetContentType(char* aPathName, char** aContentType);
// Detection of first form to notify observers
static PRBool gFirstFormSubmitted;
};
#endif

View File

@ -0,0 +1,71 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* John B. Keiser.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsIListControlFrame_h___
#define nsIListControlFrame_h___
#include "nsISupports.h"
class nsAString;
// IID for the nsIImageControlFrame class
#define NS_ILISTCONTROLFRAME_IID \
{ 0x85603274, 0x1dd2, 0x11b2, \
{ 0xba, 0x7a, 0xec, 0x7d, 0x65, 0x8d, 0x98, 0xe2 } }
/**
* nsIImageControlFrame is the external interface for ImageControlFrame
*/
class nsIImageControlFrame : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ILISTCONTROLFRAME_IID)
/**
* Get the place the user last clicked on the image (esp. for submits)
*/
NS_IMETHOD GetClickedX(PRInt32* aX) = 0;
/**
* Get the place the user last clicked on the image (esp. for submits)
*/
NS_IMETHOD GetClickedY(PRInt32* aY) = 0;
};
#endif

View File

@ -0,0 +1,71 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* John B. Keiser.
* Portions created by the Initial Developer are Copyright (C) 2001
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#ifndef nsIListControlFrame_h___
#define nsIListControlFrame_h___
#include "nsISupports.h"
class nsAString;
// IID for the nsIImageControlFrame class
#define NS_ILISTCONTROLFRAME_IID \
{ 0x85603274, 0x1dd2, 0x11b2, \
{ 0xba, 0x7a, 0xec, 0x7d, 0x65, 0x8d, 0x98, 0xe2 } }
/**
* nsIImageControlFrame is the external interface for ImageControlFrame
*/
class nsIImageControlFrame : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ILISTCONTROLFRAME_IID)
/**
* Get the place the user last clicked on the image (esp. for submits)
*/
NS_IMETHOD GetClickedX(PRInt32* aX) = 0;
/**
* Get the place the user last clicked on the image (esp. for submits)
*/
NS_IMETHOD GetClickedY(PRInt32* aY) = 0;
};
#endif