- this automated test is now a complete example for how to test an ajax web application in an automated fashion. M dom/classes/org/mozilla/dom/NodeImpl.java M dom/jni/org_mozilla_dom_NodeImpl.cpp - implement getTextContent() from DOM level 3. M webclient/build-tests.xml - add cardemoTest to unit test list as a place-holder until I can write a testcase that doesn't require the public Internet. A webclient/classes_spec/org/mozilla/mcp/AjaxListener.java - New class. Docs forthcoming. M webclient/classes_spec/org/mozilla/mcp/MCP.java - new methods to support complete ajax automated testing. M webclient/src_moz/AjaxListener.cpp M webclient/src_moz/AjaxListener.h - add mIsObserving flag. From our dtor, make sure to remove ourselves from the EmbedProgress. M webclient/src_moz/EmbedProgress.cpp M webclient/src_moz/EmbedProgress.h - We need to add ourselves as an observer both from SetCapturePageInfo and SetEventRegistration. M webclient/src_moz/NativeBrowserControl.cpp - Unit testing found a bug! We can't call mWindow->ReleaseChildren() until after we remove ourself as a listener. git-svn-id: svn://10.0.0.236/trunk@221594 18797224-902f-48f8-a5cc-f745e15eee43
69 lines
1.7 KiB
C++
69 lines
1.7 KiB
C++
/*
|
|
* 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 Christopher Blizzard.
|
|
* Portions created by Christopher Blizzard are Copyright (C)
|
|
* Christopher Blizzard. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
* Christopher Blizzard <blizzard@mozilla.org>
|
|
*/
|
|
|
|
#ifndef __EmbedProgress_h
|
|
#define __EmbedProgress_h
|
|
|
|
#include <nsIWebProgressListener.h>
|
|
#include <nsWeakReference.h>
|
|
|
|
#include "jni_util.h"
|
|
|
|
class NativeBrowserControl;
|
|
class AjaxListener;
|
|
|
|
class EmbedProgress : public nsIWebProgressListener,
|
|
public nsSupportsWeakReference
|
|
{
|
|
public:
|
|
EmbedProgress();
|
|
virtual ~EmbedProgress();
|
|
|
|
nsresult Init(NativeBrowserControl *aOwner);
|
|
|
|
nsresult SetEventRegistration(jobject eventRegistration);
|
|
|
|
nsresult SetCapturePageInfo(jboolean newState);
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
NS_DECL_NSIWEBPROGRESSLISTENER
|
|
|
|
NativeBrowserControl *GetOwner();
|
|
static void RequestToURIString (nsIRequest *aRequest, char **aString);
|
|
|
|
private:
|
|
|
|
NS_IMETHOD GetAjaxListener(AjaxListener** result);
|
|
NS_IMETHOD RemoveAjaxListener(void);
|
|
|
|
NativeBrowserControl *mOwner;
|
|
|
|
friend class AjaxListener;
|
|
AjaxListener *mAjaxListener;
|
|
|
|
jobject mEventRegistration;
|
|
|
|
jboolean mCapturePageInfo;
|
|
};
|
|
|
|
#endif /* __EmbedProgress_h */
|