Merge.
--- a/brdo.layers.sysdef.xml Wed Jan 13 15:52:45 2010 +0000
+++ b/brdo.layers.sysdef.xml Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
<unit unitID="feeds_engine_api" name="feeds_engine_api" bldFile="&layer_real_source_path;/web_plat/feeds_engine_api/group" mrp=""/>
<unit unitID="launcher_api" name="launcher_api" bldFile="&layer_real_source_path;/web_plat/launcher_api/group" mrp=""/>
<unit unitID="recent_url_store_api" name="recent_url_store_api" bldFile="&layer_real_source_path;/web_plat/recent_url_store_api/group" mrp=""/>
- <unit unitID="rt_gesturehelper_api" name="rt_gesturehelper_api" bldFile="&layer_real_source_path;/web_plat/rt_gesturehelper_api/group" mrp=""/>
+ <unit unitID="stmgesturefw_api" name="stmgesturefw_api" bldFile="&layer_real_source_path;/web_plat/stmgesturefw_api/group" mrp=""/>
<unit unitID="scriptable_plugin_api" name="scriptable_plugin_api" bldFile="&layer_real_source_path;/web_plat/scriptable_plugin_api/group" mrp=""/>
<unit unitID="webutils_api" name="webutils_api" bldFile="&layer_real_source_path;/web_plat/webutils_api/group" mrp=""/>
<unit unitID="widget_registry_api" name="widget_registry_api" bldFile="&layer_real_source_path;/web_plat/widget_registry_api/group" mrp=""/>
@@ -48,7 +48,7 @@
<module name="webengine">
<unit unitID="cache" name="cache" bldFile="&layer_real_source_path;/webengine/osswebengine/cache/group" mrp=""/>
<unit unitID="memorymanager" name="memorymanager" bldFile="&layer_real_source_path;/webengine/osswebengine/MemoryManager/group" mrp=""/>
- <unit unitID="javascriptcore" name="javascriptcore" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/JavaScriptCore" mrp=""/>
+ <unit unitID="javascriptcore" name="javascriptcore" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/JavaScriptCore" mrp=""/>
<unit unitID="npscript" name="npscript" bldFile="&layer_real_source_path;/webengine/osswebengine/npscript/group" mrp=""/>
<unit unitID="webkitutils" name="webkitutils" bldFile="&layer_real_source_path;/webengine/webkitutils/group" mrp=""/>
<unit unitID="pagescaler" name="pagescaler" bldFile="&layer_real_source_path;/webengine/pagescaler/group" mrp=""/>
@@ -56,23 +56,23 @@
<unit unitID="widgetregistry" name="widgetregistry" bldFile="&layer_real_source_path;/webengine/widgetregistry/group" mrp=""/>
<unit unitID="webkit_libxml2" name="webkit_libxml2" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/libxml2" mrp=""/>
<component name="webcore">
- <unit unitID="webcore_derivedsources" name="webcore_derivedsources" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/DerivedSources" mrp=""/>
- <unit unitID="webcore_bindings" name="webcore_bindings" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/bindings" mrp=""/>
- <unit unitID="webcore_webcorecss" name="webcore_webcorecss" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/webcorecss" mrp=""/>
- <unit unitID="webcore_dom" name="webcore_dom" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/dom" mrp=""/>
- <unit unitID="webcore_editing" name="webcore_editing" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/editing" mrp=""/>
- <unit unitID="webcore_history" name="webcore_history" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/history" mrp=""/>
- <unit unitID="webcore_html" name="webcore_html" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/html" mrp=""/>
- <unit unitID="webcore_loader" name="webcore_loader" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/loader" mrp=""/>
- <unit unitID="webcore_page" name="webcore_page" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/page" mrp=""/>
- <unit unitID="webcore_rendering" name="webcore_rendering" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/rendering" mrp=""/>
- <unit unitID="webcore_xml" name="webcore_xml" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/xml" mrp=""/>
- <unit unitID="webcore_bridge" name="webcore_bridge" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/bridge" mrp=""/>
- <unit unitID="webcore_platform" name="webcore_platform" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webcore/platform" mrp=""/>
+ <unit unitID="webcore_derivedsources" name="webcore_derivedsources" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/DerivedSources" mrp=""/>
+ <unit unitID="webcore_bindings" name="webcore_bindings" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/bindings" mrp=""/>
+ <unit unitID="webcore_webcorecss" name="webcore_webcorecss" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/webcorecss" mrp=""/>
+ <unit unitID="webcore_dom" name="webcore_dom" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/dom" mrp=""/>
+ <unit unitID="webcore_editing" name="webcore_editing" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/editing" mrp=""/>
+ <unit unitID="webcore_history" name="webcore_history" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/history" mrp=""/>
+ <unit unitID="webcore_html" name="webcore_html" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/html" mrp=""/>
+ <unit unitID="webcore_loader" name="webcore_loader" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/loader" mrp=""/>
+ <unit unitID="webcore_page" name="webcore_page" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/page" mrp=""/>
+ <unit unitID="webcore_rendering" name="webcore_rendering" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/rendering" mrp=""/>
+ <unit unitID="webcore_xml" name="webcore_xml" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/xml" mrp=""/>
+ <unit unitID="webcore_bridge" name="webcore_bridge" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/bridge" mrp=""/>
+ <unit unitID="webcore_platform" name="webcore_platform" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webcore/platform" mrp=""/>
</component>
- <unit unitID="webkit_plugins" name="webkit_plugins" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/plugins" mrp=""/>
- <unit unitID="webkit_webkit" name="webkit_webkit" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/webkit" mrp=""/>
- <unit unitID="webkit_browserengine" name="webkit_browserengine" bldFile="&layer_real_source_path;/webengine/osswebengine/WebKit/S60/group/browserengine" mrp=""/>
+ <unit unitID="webkit_plugins" name="webkit_plugins" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/plugins" mrp=""/>
+ <unit unitID="webkit_webkit" name="webkit_webkit" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/webkit" mrp=""/>
+ <unit unitID="webkit_browserengine" name="webkit_browserengine" bldFile="&layer_real_source_path;/webengine/osswebengine/webkit/s60/group/browserengine" mrp=""/>
<component name="wmlengine">
<unit unitID="wmlengine_adt" name="wmlengine_adt" bldFile="&layer_real_source_path;/webengine/wmlengine/group/adt" mrp=""/>
<unit unitID="wmlengine_css" name="wmlengine_css" bldFile="&layer_real_source_path;/webengine/wmlengine/group/css" mrp=""/>
--- a/browserutilities/aiwbrowserprovider/Group/AiwBrowserProvider.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/Group/AiwBrowserProvider.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
-
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET AiwBrowserProvider.dll
TARGETTYPE PLUGIN
@@ -36,7 +34,6 @@
USERINCLUDE ../inc ../data
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
START RESOURCE ../data/101FD682.rss
TARGET AiwBrowserProvider
@@ -44,6 +41,7 @@
END
START RESOURCE ../data/AiwBrowserProvider.rss
+DEPENDS avkon.rsg
HEADER
TARGET AiwBrowserProvider
TARGETPATH RESOURCE_FILES_DIR
--- a/browserutilities/aiwbrowserprovider/Group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/Group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,13 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../loc/AiwBrowserProvider.loc MW_LAYER_LOC_EXPORT_PATH(AiwBrowserProvider.loc)
+../loc/aiwbrowserprovider.loc MW_LAYER_LOC_EXPORT_PATH(aiwbrowserprovider.loc)
PRJ_MMPFILES
AiwBrowserProvider.mmp
--- a/browserutilities/aiwbrowserprovider/data/101FD682.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/data/101FD682.rss Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
// INCLUDES
-#include <RegistryInfoV2.rh>
+#include <ecom/RegistryInfoV2.rh>
#include <AiwCommon.hrh>
// RESOURCE DEFINITIONS
--- a/browserutilities/aiwbrowserprovider/data/AiwBrowserProvider.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/data/AiwBrowserProvider.rss Mon Mar 29 12:27:15 2010 +0100
@@ -30,8 +30,8 @@
#include <avkon.loc>
#include <avkonsct.loc>
-#include "AiwBrowserCommands.hrh"
-#include <AiwBrowserProvider.loc>
+#include "aiwbrowsercommands.hrh"
+#include <aiwbrowserprovider.loc>
// RESOURCE DEFINITIONS
// -----------------------------------------------------------------------------
//
--- a/browserutilities/aiwbrowserprovider/src/AiwBrowserProviderOpenUrl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/src/AiwBrowserProviderOpenUrl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -30,8 +30,8 @@
#include <aknnotewrappers.h>
#include <AknNoteDialog.h>
#include <apgcli.h>
-#include <FavouritesLimits.h>
-#include "AiwBrowserCommands.hrh"
+#include <favouriteslimits.h>
+#include <aiwbrowsercommands.hrh>
#include "logger.h"
// LOCAL CONSTANTS AND MACROS
--- a/browserutilities/aiwbrowserprovider/src/AiwBrowserProviderSaveUrl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/src/AiwBrowserProviderSaveUrl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,10 +28,10 @@
#include <data_caging_path_literals.hrh>
#include <aknnotewrappers.h>
#include <AknNoteDialog.h>
-#include <FavouritesDb.h>
+#include <favouritesdb.h>
#include <e32std.h>
+#include <aiwbrowsercommands.hrh>
-#include "AiwBrowserCommands.hrh"
#include "logger.h"
// LOCAL CONSTANTS AND MACROS
--- a/browserutilities/aiwbrowserprovider/src/Dllmain.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/aiwbrowserprovider/src/Dllmain.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
// INCLUDES
#include <e32std.h>
-#include <ImplementationProxy.h>
+#include <ecom/implementationproxy.h>
#include "AiwBrowserProviderOpenUrl.h"
#include "AiwBrowserProviderSaveUrl.h"
#include "logger.h"
--- a/browserutilities/browserdialogsprovider/Group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
@@ -26,7 +26,7 @@
PRJ_EXPORTS
// export localised loc file
-../loc/BrowserDialogsProvider.loc MW_LAYER_LOC_EXPORT_PATH(BrowserDialogsProvider.loc)
+../loc/browserdialogsprovider.loc MW_LAYER_LOC_EXPORT_PATH(browserdialogsprovider.loc)
../rom/BrowserDialogsProvider.iby CORE_MW_LAYER_IBY_EXPORT_PATH(BrowserDialogsProvider.iby)
../rom/BrowserDialogsProviderResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(BrowserDialogsProviderResources.iby)
--- a/browserutilities/browserdialogsprovider/Group/browserdialogsprovider.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Group/browserdialogsprovider.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET browserdialogsprovider.dll
EPOCSTACKSIZE 0x5000
@@ -29,6 +29,7 @@
SOURCEPATH ../Src
START RESOURCE ../SrcData/BrowserDialogsProvider.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
#ifdef __S60_32__
@@ -43,7 +44,6 @@
MW_LAYER_SYSTEMINCLUDE
-
SOURCE ../Src/BrowserDialogsProvider.cpp
SOURCE ../Src/BrowserAuthenticationDialog.cpp
SOURCE ../Src/BrowserScriptPromptDialog.cpp
@@ -57,7 +57,6 @@
SOURCE ../Src/BrowserDialogsProviderAsyncExit.cpp
SOURCE ../Src/BrowserUploadProgressNote.cpp
-
LIBRARY euser.lib apparc.lib cone.lib eikcore.lib egul.lib
LIBRARY eikcoctl.lib avkon.lib eikdlg.lib bitgdi.lib
LIBRARY eikctl.lib fbscli.lib bafl.lib MediaClientImage.lib
--- a/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementDlg.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementDlg.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
// User includes
// System includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
#include <aknpopup.h>
#include <aknlists.h>
--- a/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementItemDrawer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementItemDrawer.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define CBROWSERSELECTELEMENTITEMDRAWER_H
// INCLUDES
-#include "BrCtlDialogsProvider.h"
+#include <brctldialogsprovider.h>
#include <aknlists.h>
#include <avkon.mbg>
--- a/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementListBox.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Inc/BrowserSelectElementListBox.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <aknlists.h>
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
// CLASSES
--- a/browserutilities/browserdialogsprovider/Inc/BrowserViewImagesListBox.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Inc/BrowserViewImagesListBox.h Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#include <MdaImageConverter.h>
// Browser as a Plugin includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
// FORWARD DECLARATIONS
class CCoeControl;
--- a/browserutilities/browserdialogsprovider/Inc/BrowserViewImagesPopup.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Inc/BrowserViewImagesPopup.h Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#include <MdaImageConverter.h>
// Browser as a Plugin includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
// FORWARD DECLARATIONS
class CCoeControl;
--- a/browserutilities/browserdialogsprovider/Src/BrowserDialogsProvider.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserDialogsProvider.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,11 +19,11 @@
// INCLUDE Files
// User includes
-#include "BrowserDialogsProvider.h" // Class header
+#include <browserdialogsprovider.h> // Class header
#include "BrowserDialogsProvider.hrh"
#include "BrowserAuthenticationDialog.h"
#include "BrowserDialogsProviderConstants.h"
-#include "BrowserDialogsProviderObserver.h" //obs
+#include <browserdialogsproviderobserver.h> //obs
// Browser as a Plugin - own classes
#include "BrowserViewImagesPopup.h" // For DialogDisplayPageImagesL
@@ -61,13 +61,14 @@
#include <BrowserDialogsProvider.rsg>
// Data Caging
-#include <data_caging_path_literals.hrh>
+#include <data_caging_path_literals.hrh>
// CONSTANTS
const TInt KBrCtlObjectElementMaxLength = 50;
const TInt KBrCtlMBFormat = 4;
const TInt KBrCtlGBFormat = 10;
const TInt KBrCtlMegabyte = 1000; // although 1MB=1024 kB, treat as 1000kb for user simplicity
+const TInt KBrowserFileNotFound = -26003; // Defined in ErrorDefs.h but not exported so define here
// DLL resource file name with path
_LIT( KBrowserDialogsProviderDirAndFile, "z:BrowserDialogsProvider.rsc" );// resource
@@ -159,19 +160,28 @@
case EHttpTemporaryRedirect:
{
// Id for r_nw_stat_too_many_redirects is -20019, browser errors start at -20000
- msg.Set( textresolver->ResolveErrorString( KErrTooManyRedirects ));
+ msg.Set( textresolver->ResolveErrorString( KErrTooManyRedirects ));
+ DialogNoteL( msg );
break;
}
default:
{
- // Handle all others as system error dialog
- msg.Set( textresolver->ResolveErrorString( aErrCode ));
- break;
+ // change error code to browser error code, when trying to open file
+ // that doesn't exist
+ if ( KErrNotFound == aErrCode )
+ {
+ iCoeEnv.HandleError( KBrowserFileNotFound );
+ }
+ else
+ {
+ // Handle all others as system error dialog
+ iCoeEnv.HandleError( aErrCode );
+ }
+ break;
}
} // end of switch
- DialogNoteL( msg );
- CleanupStack::PopAndDestroy(); //textresolver
+ CleanupStack::PopAndDestroy(); //textresolver
if ( iObserver )
{
@@ -428,17 +438,16 @@
TBrCtlSelectOptionType aBrCtlSelectOptionType,
CArrayFix<TBrCtlSelectOptionData>& aOptions )
{
- CBrowserSelectElementDlg* dlg = CBrowserSelectElementDlg::NewL( aTitle,
+ iSelectDlg = CBrowserSelectElementDlg::NewL( aTitle,
aBrCtlSelectOptionType,
aOptions );
-
- iDialogs.Append( dlg ); // Store a pointer to the dialog for CancelAll()
+
- TInt result = dlg->ExecuteLD();
+ TInt result = iSelectDlg->ExecuteLD();
- RemoveDialogFromArray();
-
+
+ iSelectDlg = 0;
if ( iObserver )
{
iObserver->ReportDialogEventL(
@@ -971,7 +980,11 @@
//-----------------------------------------------------------------------------
//
EXPORT_C void CBrowserDialogsProvider::CancelAll()
- {
+ {
+ if(iSelectDlg )
+ iSelectDlg->CancelPopup();
+
+ iDialogs.Close();
// Empty the array
iDialogs.ResetAndDestroy();
}
--- a/browserutilities/browserdialogsprovider/Src/BrowserSelectElementDlg.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserSelectElementDlg.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,6 +18,7 @@
// INCLUDE FILES
+#include <browser_platform_variant.hrh>
#include "BrowserSelectElementDlg.h"
#include "BrowserSelectElementListBox.h"
#include "BrowserSelectElementModel.h"
@@ -185,7 +186,11 @@
if(AknLayoutUtils::PenEnabled())
{
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if((aEventType == EEventItemDoubleClicked) || (aEventType == EEventItemSingleClicked))
+#else
if(aEventType == EEventItemDoubleClicked)
+#endif
{
penSelect = ETrue;
}
--- a/browserutilities/browserdialogsprovider/Src/BrowserSelectElementItemDrawer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserSelectElementItemDrawer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include "BrowserSelectElementItemDrawer.h"
#include "BrowserSelectElementModel.h"
-#include "BrCtlDialogsProvider.h"
+#include <brctldialogsprovider.h>
#include <gulicon.h>
#include <AknIconArray.h>
--- a/browserutilities/browserdialogsprovider/Src/BrowserUploadProgressNote.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserUploadProgressNote.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
#include "BrowserUploadProgressNote.h"
-#include "BrowserDialogsProviderObserver.h"
+#include <browserdialogsproviderobserver.h>
#include <BrowserDialogsProvider.rsg>
#include <StringLoader.h>
--- a/browserutilities/browserdialogsprovider/Src/BrowserViewImagesPopup.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserViewImagesPopup.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,8 @@
// USER INCLUDES
-#include "BrowserDialogsProvider.h"
+#include <browser_platform_variant.hrh>
+#include <browserdialogsprovider.h>
#include "BrowserDialogsProvider.hrh"
#include "BrowserViewImagesPopup.h"
#include "PhotoOperationWait.h"
@@ -140,7 +141,11 @@
void CBrowserViewImagesPopup::HandleListBoxEventL( CEikListBox* aListBox,
TListBoxEvent aEventType )
{
- if((aEventType==EEventEnterKeyPressed || aEventType==EEventItemDoubleClicked) && aListBox==ListBox())
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if((aEventType==EEventEnterKeyPressed || aEventType==EEventItemDoubleClicked || aEventType==EEventItemSingleClicked) && aListBox==ListBox())
+#else
+ if((aEventType==EEventEnterKeyPressed || aEventType==EEventItemDoubleClicked ) && aListBox==ListBox())
+#endif
{
ProcessCommandL( EDialogsProviderCmdViewImagesView );
}
--- a/browserutilities/browserdialogsprovider/SrcData/BrowserDialogsProvider.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browserdialogsprovider/SrcData/BrowserDialogsProvider.rss Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDES
#include "BrowserDialogsProvider.hrh"
-#include <BrowserDialogsProvider.loc>
+#include <browserdialogsprovider.loc>
#include <avkon.rsg>
#include <avkon.rh>
@@ -340,4 +340,4 @@
}
};
}
-// End of File
\ No newline at end of file
+// End of File
--- a/browserutilities/browsertelservice/data/BrowserTelService.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browsertelservice/data/BrowserTelService.rss Mon Mar 29 12:27:15 2010 +0100
@@ -30,7 +30,7 @@
#include <AiwCommon.hrh>
#include <AiwCommon.rh>
-#include <BrowserTelService.loc>
+#include <browsertelservice.loc>
#include "BrowserTelService.hrh"
//***************************************************************************************
--- a/browserutilities/browsertelservice/group/BrowserTelService.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browsertelservice/group/BrowserTelService.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET BrowserTelService.dll
TARGETTYPE dll
@@ -35,6 +35,7 @@
#endif
START RESOURCE ../data/browsertelservice.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
END
@@ -44,7 +45,6 @@
SOURCE BrowserTelServiceEtelWatcher.cpp
SOURCE BrowserTelServiceDlgs.cpp
-
USERINCLUDE ../inc
USERINCLUDE ../../inc
@@ -68,10 +68,7 @@
s60/app/messaging/msg_sdk/send_ui_api/inc/SendUiConsts.h
s60/app/messaging/msg_sdk/send_ui_api/inc/SenduiMtmUids.h
*/
-//MW_LAYER_SYSTEMINCLUDE
-
-
-SYSTEMINCLUDE ../../../inc
+// MW_LAYER_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY etel.lib
@@ -90,10 +87,10 @@
LIBRARY ApEngine.lib
LIBRARY commdb.lib
LIBRARY efsrv.lib
-LIBRARY commonui.lib
-LIBRARY featmgr.lib // feature mannger support
-LIBRARY estor.lib // RWriteStream, RFileBuf
-LIBRARY Centralrepository.lib
+LIBRARY commonui.lib
+LIBRARY featmgr.lib // feature mannger support
+LIBRARY estor.lib // RWriteStream, RFileBuf
+LIBRARY Centralrepository.lib
#if defined(ARMCC)
DEFFILE ../EABI/BROWSERTELSERVICEU_EKA2.def
@@ -106,4 +103,3 @@
LIBRARY aiwdialdata.lib
DEBUGLIBRARY flogger.lib
-
--- a/browserutilities/browsertelservice/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browsertelservice/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
@@ -25,7 +25,7 @@
../inc/BrowserTelService.h |../../../inc/BrowserTelService.h
../inc/BrowserTelServiceEtelWatcher.h |../../../inc/BrowserTelServiceEtelWatcher.h
../rom/browsertelservice.iby CORE_MW_LAYER_IBY_EXPORT_PATH(browsertelservice.iby)
-../loc/BrowserTelService.loc MW_LAYER_LOC_EXPORT_PATH(BrowserTelService.loc)
+../loc/browsertelservice.loc MW_LAYER_LOC_EXPORT_PATH(browsertelservice.loc)
PRJ_MMPFILES
BrowserTelService.mmp
--- a/browserutilities/browsertelservice/inc/BrowserTelService.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browsertelservice/inc/BrowserTelService.h Mon Mar 29 12:27:15 2010 +0100
@@ -31,7 +31,7 @@
#include <f32file.h>
#include <AknProgressDialog.h>
#include <AknWaitDialog.h>
-#include <ConnectionObservers.h>
+#include <connectionobservers.h>
#include <ApEngineConsts.h>
#include <errorui.h>
#include <bldvariant.hrh>
--- a/browserutilities/browsertelservice/src/BrowserTelService.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/browsertelservice/src/BrowserTelService.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -66,7 +66,7 @@
// Const file name for make call
#include <mmtsy_names.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <centralrepository.h>
#include <nwx_status.h>
--- a/browserutilities/connectionmanager/Group/ConnectionManager.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Group/ConnectionManager.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <data_caging_paths.hrh>
#include <bldvariant.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET ConnectionManager.dll
TARGETTYPE dll
@@ -37,6 +37,7 @@
MW_LAYER_SYSTEMINCLUDE
START RESOURCE ../data/ConnectionManager.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
END
@@ -78,6 +79,12 @@
LIBRARY cmmanager.lib
DEBUGLIBRARY flogger.lib
+//Below libs are required for One-Click-Connectivity feature
+#ifdef BRDO_OCC_ENABLED_FF
+LIBRARY extendedconnpref.lib
+LIBRARY netmeta.lib
+#endif
+
#if defined(ARMCC)
DEFFILE ../EABI/CONNECTIONMANAGERU_EKA2.def
#else
--- a/browserutilities/connectionmanager/Group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/browserutilities/connectionmanager/Inc/ConnMan.hrh Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Inc/ConnMan.hrh Mon Mar 29 12:27:15 2010 +0100
@@ -23,4 +23,4 @@
{
EConnManWaitNote = 8747,
EConnManInfoNote
- };
\ No newline at end of file
+ };
--- a/browserutilities/connectionmanager/Inc/ConnManActiveConnector.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Inc/ConnManActiveConnector.h Mon Mar 29 12:27:15 2010 +0100
@@ -83,6 +83,7 @@
TRequestStatus* iExternalRequestStatus;
RConnection& iConnection;
+ TBool iWait;
};
--- a/browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,17 @@
*/
-
+#include <browser_platform_variant.hrh>
#include "ConnManActiveConnector.h"
#include "ConnectionManagerLogger.h"
#include <nifvar.h>
#include <CommDbConnPref.h>
+#ifdef BRDO_OCC_ENABLED_FF
+#include <extendedconnpref.h>
+#endif
+
//--------------------------------------------------------------------------
//CConnManActiveConnector::CConnManActiveConnector()
//--------------------------------------------------------------------------
@@ -34,6 +38,7 @@
: CActive( aPriority )
, iConnection( aConnection )
{
+
CLOG_CREATE;
CActiveScheduler::Add( this );//inserting this into the queue
}
@@ -43,6 +48,7 @@
//--------------------------------------------------------------------------
CConnManActiveConnector::~CConnManActiveConnector()
{
+
Cancel();//The standard way of destroying an Active object
CLOG_CLOSE;
}
@@ -51,18 +57,55 @@
//CConnManActiveConnector::StartConnection()
//--------------------------------------------------------------------------
void CConnManActiveConnector::StartConnection( TCommDbConnPref* aSettings, TRequestStatus& aStatus)
- {
- CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
- iExternalRequestStatus = &aStatus;
-
+{
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection AlwaysAsk/Ap is called");
+ iExternalRequestStatus = &aStatus;
+
+#ifdef BRDO_OCC_ENABLED_FF
+
+ TExtendedConnPref extPref;
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
+
+#ifdef __WINS__ //This is only for emulator testing purpose
+
+ //For emulator
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+ extPref.SetConnSelectionDialog(ETrue);
+ extPref.SetForcedRoaming(EFalse);
+
+#else
+
+ //For hardware
+ TUint32 bookmarkIap = aSettings->IapId();
+ CLOG_WRITE_1( "CConnManActiveConnector:StartConnection Active Bookmark Iap: %d", bookmarkIap );
+ if (bookmarkIap)
+ {
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Iap is found for this bookmark");
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+ extPref.SetIapId(bookmarkIap);
+ }
+ else
+ {
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+ }
+
+#endif //__WINS__
+
+ extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
+ TConnPrefList prefList;
+ TRAP_IGNORE(prefList.AppendL(&extPref));
+#endif //BRDO_OCC_ENABLED_FF
+
if( aSettings )
- {
-#ifdef __WINS__
- // aSettings->SetDialogPreference( ECommDbDialogPrefPrompt );
-#endif
-
- iConnection.Start( *aSettings, iStatus );
- }
+ {
+ #ifdef BRDO_OCC_ENABLED_FF
+ iConnection.Start( prefList, iStatus );
+ #else
+ iConnection.Start( *aSettings, iStatus );
+ #endif
+ }
else
{
iConnection.Start( iStatus );
@@ -77,14 +120,45 @@
//CConnManActiveConnector::StartConnection()
//--------------------------------------------------------------------------
void CConnManActiveConnector::StartConnection( TConnSnapPref* aSettings, TRequestStatus& aStatus)
- {
- CLOG_WRITE( "CConnManActiveConnector:StartConnection is called");
- iExternalRequestStatus = &aStatus;
-
+{
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection SNAP is called");
+ iExternalRequestStatus = &aStatus;
+
+#ifdef BRDO_OCC_ENABLED_FF
+
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Setting OCC parameters");
+ TExtendedConnPref extPref;
+
+#ifdef __WINS__
+
+ //For emulator
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Emulator OCC settings " );
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+ extPref.SetConnSelectionDialog(ETrue);
+ extPref.SetForcedRoaming(EFalse);
+
+#else
+
+ //For hardware
+ CLOG_WRITE( "CConnManActiveConnector:StartConnection Using Internet Snap");
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+
+#endif //__WINS__
+
+ extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
+ TConnPrefList prefList;
+ TRAP_IGNORE(prefList.AppendL(&extPref));
+
+#endif
+
if( aSettings )
- {
- iConnection.Start( *aSettings, iStatus );
- }
+ {
+ #ifdef BRDO_OCC_ENABLED_FF
+ iConnection.Start( prefList, iStatus );
+ #else
+ iConnection.Start( *aSettings, iStatus );
+ #endif
+ }
else
{
iConnection.Start( iStatus );
@@ -101,8 +175,10 @@
void CConnManActiveConnector::DoCancel()
{
CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
+
iConnection.Close();
User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
+
CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
}
@@ -111,6 +187,7 @@
//--------------------------------------------------------------------------
void CConnManActiveConnector::RunL()
{
+
CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
}
@@ -196,11 +273,10 @@
{
iActiveConnector->Cancel();
-
- if(iWait.IsStarted())
- {
- iWait.AsyncStop();
- }
+ if(iWait.IsStarted())
+ {
+ iWait.AsyncStop();
+ }
}
--- a/browserutilities/connectionmanager/Src/ConnectionObservers.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Src/ConnectionObservers.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,17 +18,15 @@
*
*/
-
-
#include <nifman.h>
#include <nifvar.h>
#include <es_enum.h>
#include <in_sock.h>
+#include <cdbcols.h>
-#include "ConnectionObservers.h"
+#include <connectionobservers.h>
#include "ConnectionManagerLogger.h"
-
//--------------------------------------------------------------------------
//CConnectionStageNotifierWCB::NewL()
//--------------------------------------------------------------------------
--- a/browserutilities/connectionmanager/Src/Idpair.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Src/Idpair.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
//User Includes
#include <e32std.h>
-#include "IdPair.h"
+#include "idpair.h"
//TIdPair
EXPORT_C TIdPair::TIdPair( TUint32 aFirstPreference, TUint32 aSecondPreference ):
iFirstPreference( aFirstPreference), iSecondPreference( aSecondPreference )
--- a/browserutilities/connectionmanager/Src/InternetConnectionManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/connectionmanager/Src/InternetConnectionManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,6 +29,7 @@
#include <AknNotifyStd.h>
#include <AknGlobalNote.h>
#include <e32std.h>
+#include <es_enum.h>
#include <ApUtils.h>
#include <ApDataHandler.h>
#include <cdbstore.h>
@@ -65,10 +66,10 @@
#include <CommsDatTypeInfoV1_1.h>
//User Includes
-#include "InternetConnectionManager.h"
+#include <internetconnectionmanager.h>
#include "connman.hrh"
#include "connectionmanagerlogger.h"
-#include "connectionobservers.h"
+#include <connectionobservers.h>
#include "connmanactiveconnector.h"
using namespace CMManager;
@@ -1041,7 +1042,7 @@
if (iConnectionType == EDestination)
{
- err = ConnectWithSnapId(iRequestedSnapId);
+ err = ConnectWithSnapIdL(iRequestedSnapId);
return err;
}
else
@@ -1642,6 +1643,17 @@
}
//------------------------------------------------------------------------
+//CInternetConnectionManager::CancelConnection
+//
+ void CInternetConnectionManager::CancelConnection()
+ {
+ if(iSyncConnector && iSyncConnector->IsActive())
+ {
+ iSyncConnector->Cancel();
+ }
+ }
+
+//------------------------------------------------------------------------
//CInternetConnectionManager::AskIap
//------------------------------------------------------------------------
EXPORT_C TInt CInternetConnectionManager::AskIap( TUint32& aNewIap )
@@ -2000,9 +2012,9 @@
}
//------------------------------------------------------------------------
-//CInternetConnectionManager::ConnectWithSnapId
+//CInternetConnectionManager::ConnectWithSnapIdL
//------------------------------------------------------------------------
-TInt CInternetConnectionManager::ConnectWithSnapId(TUint32 aRequestedSnapId)
+TInt CInternetConnectionManager::ConnectWithSnapIdL(TUint32 aRequestedSnapId)
{
CLOG_WRITE_1( "CInternetConnectionManager::ConnectWithSnapId - %d", aRequestedSnapId );
--- a/browserutilities/cxmllibrary/dictionary/dict_creator.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/dictionary/dict_creator.c Mon Mar 29 12:27:15 2010 +0100
@@ -21,26 +21,6 @@
*
*/
-
-/* ****************************************************************
-** Copyright 2000 - Nokia Corporation All rights reserved.
-** Nokia Americas
-** 6000 Connection Drive
-** Irving, Texas 75039
-**
-** Restricted Rights: Use, duplication, or disclosure by the
-** U.S. Government is subject to restrictions as set forth in
-** subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR
-** 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.
-**
-** This software is proprietary to and embodies the confidential
-** technology of Nokia Possession, use, or copying of this software
-** and media is authorized only pursuant to a valid written license
-** from Nokia or an authorized sublicensor.
-**
-** Nokia - Wireless Software Solutions
-*****************************************************************/
-
#include <stdio.h>
#include <io.h>
#include <string.h>
--- a/browserutilities/cxmllibrary/group/BLD.INF Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/group/BLD.INF Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/browserutilities/cxmllibrary/group/cXmlParser.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/group/cXmlParser.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,12 +16,10 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET cXmlParser.dll
TARGETTYPE dll
-
-
#if defined(ARMCC)
UID 0x1000008D 0x101F8710
deffile EABI/cXmlParser.def
@@ -73,9 +71,6 @@
SOURCE utils/src/E32XMLPARSERDLLEntryPoint.cpp
SOURCE utils/src/cxml_file_if.cpp
-
-
-
#if defined(WINS)
#ifndef WINSCW
SOURCE utils/src/cxml_assert.c
@@ -91,13 +86,10 @@
USERINCLUDE ../src/tinytree/include
USERINCLUDE ../src/utils/include
-
// ===================================
-
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// Symbian OS libraries
//#if defined (WINS)
--- a/browserutilities/cxmllibrary/src/dom/include/nw_dom_wbxmltypes.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/include/nw_dom_wbxmltypes.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,15 +27,14 @@
#ifndef NW_DOM_WBXML_TYPES_H
#define NW_DOM_WBXML_TYPES_H
-#include "cxml_proj.h"
-#include "nw_dom_node.h"
+#include <cxml_proj.h>
+#include <nw_dom_node.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
-
/** ----------------------------------------------------------------------- **
@typedef: NW_DOM_Extension
--- a/browserutilities/cxmllibrary/src/dom/src/attribute.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/attribute.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,10 @@
#include "cxml_internal.h"
-#include "nw_dom_attribute.h"
-#include "nw_wbxml_dictionary.h"
-#include "nw_tinydom.h"
-#include "nw_string_string.h"
+#include <nw_dom_attribute.h>
+#include <nw_wbxml_dictionary.h>
+#include <nw_tinydom.h>
+#include <nw_string_string.h>
#include "nw_dom_wbxmltypes.h"
/*
--- a/browserutilities/cxmllibrary/src/dom/src/document.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/document.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,14 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_dom_node.h"
-#include "nw_dom_document.h"
-#include "nw_dom_element.h"
-#include "nw_tinytree.h"
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_xmlp_xmlp2wbxml.h"
-#include "nw_tinydom_utils.h"
+#include <nw_dom_node.h>
+#include <nw_dom_document.h>
+#include <nw_dom_element.h>
+#include <nw_tinytree.h>
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_xmlp_xmlp2wbxml.h>
+#include <nw_tinydom_utils.h>
/*#include "nw_parser.h"*/
--- a/browserutilities/cxmllibrary/src/dom/src/element.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/element.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_dom_element.h"
-#include "nw_dom_attribute.h"
-#include "nw_dom_document.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_dom_element.h>
+#include <nw_dom_attribute.h>
+#include <nw_dom_document.h>
+#include <nw_wbxml_dictionary.h>
/*
* Returns
--- a/browserutilities/cxmllibrary/src/dom/src/node.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/node.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,9 +17,9 @@
#include "cxml_internal.h"
-#include "nw_dom_node.h"
-#include "nw_dom_document.h"
-#include "nw_dom_element.h"
+#include <nw_dom_node.h>
+#include <nw_dom_document.h>
+#include <nw_dom_element.h>
/**
* GENERAL NODE METHODS - applicable to all node types
--- a/browserutilities/cxmllibrary/src/dom/src/text.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/text.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_tinytree.h"
-#include "nw_dom_text.h"
-#include "nw_dom_document.h"
+#include <nw_tinytree.h>
+#include <nw_dom_text.h>
+#include <nw_dom_document.h>
/*
* Returns
--- a/browserutilities/cxmllibrary/src/dom/src/wbxml_types.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/dom/src/wbxml_types.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include "cxml_internal.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "nw_dom_wbxmltypes.h"
/** Extension **/
--- a/browserutilities/cxmllibrary/src/encoder/include/nw_encoder_tinydom2wbxml.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/encoder/include/nw_encoder_tinydom2wbxml.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_Encoder
@@ -28,8 +27,8 @@
#ifndef NW_TINYDOM2WBXML_H
#define NW_TINYDOM2WBXML_H
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_dom_attribute.h"
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_dom_attribute.h>
#ifdef __cplusplus
extern "C" {
--- a/browserutilities/cxmllibrary/src/encoder/src/StringTable.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/encoder/src/StringTable.c Mon Mar 29 12:27:15 2010 +0100
@@ -16,12 +16,12 @@
*/
-#include "nw_encoder_stringtable.h"
-#include "nw_wbxml_parse.h"
-#include "nw_dom_attribute.h"
-#include "nw_dom_element.h"
-#include "nw_dom_text.h"
-#include "nw_dom_document.h"
+#include <nw_encoder_stringtable.h>
+#include <nw_wbxml_parse.h>
+#include <nw_dom_attribute.h>
+#include <nw_dom_element.h>
+#include <nw_dom_text.h>
+#include <nw_dom_document.h>
#include "cxml_internal.h"
/* ------------------------------------------------------------------------- *
--- a/browserutilities/cxmllibrary/src/encoder/src/WBXMLWriter.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/encoder/src/WBXMLWriter.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_wbxml_token.h"
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_wbxml_parse.h"
+#include <nw_wbxml_token.h>
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_wbxml_parse.h>
#include "cxml_mem.h"
// WLIU_DEBUG: #include "flogger.h"
@@ -30,7 +29,6 @@
static const NW_Uint8 zzzunknown[] = {'z','z','z','u','n','k','n','o','w','n','\0'};
#define zzzunknownEncoding HTTP_utf_8
-
static
NW_Status_t
NW_WBXML_Writer_Memcpy(NW_WBXML_Writer_t* pW, const NW_Uint8* pBytes,
--- a/browserutilities/cxmllibrary/src/encoder/src/domencoder.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/encoder/src/domencoder.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_encoder_domencoder.h"
-#include "nw_encoder_stringtable.h"
-#include "nw_dom_element.h"
-#include "nw_dom_text.h"
-#include "nw_dom_attribute.h"
+#include <nw_encoder_domencoder.h>
+#include <nw_encoder_stringtable.h>
+#include <nw_dom_element.h>
+#include <nw_dom_text.h>
+#include <nw_dom_attribute.h>
/* ------------------------------------------------------------------------- *
private methods
--- a/browserutilities/cxmllibrary/src/encoder/src/tinydom2wbxml.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/encoder/src/tinydom2wbxml.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,6 @@
*
*/
-
-
-
/*****************************************************************
** File: tinydom2wbxml.c
**
@@ -26,7 +23,7 @@
#include "cxml_internal.h"
#include "nw_encoder_tinydom2wbxml.h"
-#include "nw_dom_text.h"
+#include <nw_dom_text.h>
/*
Writes an AttrVal
--- a/browserutilities/cxmllibrary/src/string/src/char.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/string/src/char.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*****************************************************************
** File: character.c
** Description:
@@ -31,7 +30,7 @@
*
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_string_char.h"
+#include <nw_string_char.h>
/*
* TODO: Note that there is some duplication between the Validate*
--- a/browserutilities/cxmllibrary/src/string/src/string.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/string/src/string.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*****************************************************************
** File: xml_string.c
**
@@ -30,9 +29,9 @@
*
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_string_string.h"
-#include "nw_string_char.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_string_string.h>
+#include <nw_string_char.h>
+#include <nw_wbxml_dictionary.h>
static NW_Status_t
StringUCS2Init(NW_String_UCS2String_t * string, void *storage)
@@ -51,7 +50,6 @@
return status;
}
-
/*
* TODO: The following functions need to have the allocator passed
* as an argument !!
--- a/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,10 @@
*
*/
#include "cxml_internal.h"
-#include "nw_tinydom.h"
-#include "nw_wbxml_parse.h"
-#include "nw_wbxml_reader.h"
-#include "nw_wbxml_event.h"
+#include <nw_tinydom.h>
+#include <nw_wbxml_parse.h>
+#include <nw_wbxml_reader.h>
+#include <nw_wbxml_event.h>
#include "nw_wbxml_parsei.h"
/*Parser flags */
--- a/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom_utils.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom_utils.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_tinydom_utils.h"
-#include "nw_dom_document.h"
-
+#include <nw_tinydom_utils.h>
+#include <nw_dom_document.h>
/****************************************************************************
* Name: NW_TinyDom_ParserInitialize
--- a/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom_write.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinydom/src/tiny_dom_write.c Mon Mar 29 12:27:15 2010 +0100
@@ -16,13 +16,12 @@
*/
/* ************************************************************************/
#include "cxml_internal.h"
-#include "nw_wbxml_parse.h"
-#include "nw_wbxml_document.h"
-#include "nw_encoder_wbxmlwriter.h"
+#include <nw_wbxml_parse.h>
+#include <nw_wbxml_document.h>
+#include <nw_encoder_wbxmlwriter.h>
#include "nw_encoder_tinydom2wbxml.h"
-#include "nw_tinytree.h"
-#include "nw_tinydom.h"
-
+#include <nw_tinytree.h>
+#include <nw_tinydom.h>
/* Create an empty tree */
--- a/browserutilities/cxmllibrary/src/tinytree/src/EBuffer.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinytree/src/EBuffer.c Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include "cxml_internal.h"
-#include "nw_tinytree_ebuffer.h"
+#include <nw_tinytree_ebuffer.h>
/* ------------------------------------------------------------------------- *
private methods
--- a/browserutilities/cxmllibrary/src/tinytree/src/TreeVector.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinytree/src/TreeVector.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_tinytree_treevector.h"
-#include "nw_tinytree.h"
+#include <nw_tinytree_treevector.h>
+#include <nw_tinytree.h>
/* ------------------------------------------------------------------------- */
NW_TinyTree_TreeVector_t*
--- a/browserutilities/cxmllibrary/src/tinytree/src/tree.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinytree/src/tree.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-
-#include "nw_tinytree.h"
+#include <nw_tinytree.h>
#include "cxml_vector.h"
NW_TinyTree_t*
--- a/browserutilities/cxmllibrary/src/tinytree/src/tree_alloc.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/tinytree/src/tree_alloc.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include "cxml_internal.h"
-#include "nw_tinytree.h"
+#include <nw_tinytree.h>
#include "nw_tinytree_alloc.h"
/*
--- a/browserutilities/cxmllibrary/src/utils/include/cxml_internal.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/include/cxml_internal.h Mon Mar 29 12:27:15 2010 +0100
@@ -29,9 +29,9 @@
#include <nwx_status.h>
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
#include "cxml_mem.h"
-#include "cxml_str.h"
+#include <cxml_str.h>
#include "cxml_vector.h"
--- a/browserutilities/cxmllibrary/src/utils/include/cxml_mem.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/include/cxml_mem.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
/*
** Includes
*/
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
/***************************************************************************
** File: cxml_mem.h
--- a/browserutilities/cxmllibrary/src/utils/src/E32XMLParserDllEntryPoint.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/src/E32XMLParserDllEntryPoint.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,6 +15,4 @@
*
*/
#include <e32std.h>
-#include "nw_wbxml_dictionary.h"
-//#include "FeatMgr.h"
-
+#include <nw_wbxml_dictionary.h>
--- a/browserutilities/cxmllibrary/src/utils/src/cxml_assert.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/src/cxml_assert.c Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
**-------------------------------------------------------------------------
*/
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
int kimono_assert ()
{
#ifdef __WINS__
--- a/browserutilities/cxmllibrary/src/utils/src/cxml_file_if.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/src/cxml_file_if.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,9 @@
*
*/
-
-
#include <F32File.h>
-#include "cxml_file_if.h"
-#include "nw_string_char.h"
-
+#include <cxml_file_if.h>
+#include <nw_string_char.h>
//
//CXML_Read_From_File()
--- a/browserutilities/cxmllibrary/src/utils/src/cxml_str.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/src/cxml_str.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/***************************************************************************
** File: cxml_str.c
** Purpose: Provides the implementation to CXML string API
@@ -28,8 +27,7 @@
*/
#include "cxml_internal.h"
-#include "cxml_nw2cxmlTypes.h"
-
+#include <cxml_nw2cxmlTypes.h>
static NW_Uint16 CXML_Str_Strlen(const CXML_Ucs2 *string)
{
--- a/browserutilities/cxmllibrary/src/utils/src/cxml_vector.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/utils/src/cxml_vector.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-
-#include "nw_tinytree.h"
+#include <nw_tinytree.h>
#include "cxml_internal.h"
/* ------------------------------------------------------------------------- */
--- a/browserutilities/cxmllibrary/src/wbxmlp/include/DictionaryContext.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/include/DictionaryContext.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,15 +23,13 @@
*/
#define MAX_DICTIONARIES 9
-
/* Temporary methods for storing dictionary & dictionary size inside the context.
*/
-#include "cxml_proj.h"
-#include "nw_wbxml_dictionary.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_dictionary.h>
-
#ifdef __cplusplus
extern "C"
{
--- a/browserutilities/cxmllibrary/src/wbxmlp/include/nw_wbxml_parsei.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/include/nw_wbxml_parsei.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,8 +25,8 @@
#ifndef NW_PARSER_WBXML_PARSE_I_H
#define NW_PARSER_WBXML_PARSE_I_H
-#include "cxml_proj.h"
-#include "nw_wbxml_parse.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_parse.h>
#ifdef __cplusplus
extern "C" {
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/DictionaryContext.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/DictionaryContext.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include "DictionaryContext.h"
#include "cxml_internal.h"
#include "FeatMgr.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_wbxml_dictionary.h>
/* There is possibility that dictionary initialize is called by the embedded
* application also. To make allocation/deallocation of dictionary possible.
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/dictionary.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/dictionary.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,14 @@
*
*/
-
/*****************************************************************
** File: dictionary.c
** Description:
*****************************************************************/
#include "cxml_internal.h"
#include "nw_wbxml_parsei.h"
-#include "nw_string_char.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_string_char.h>
+#include <nw_wbxml_dictionary.h>
#include "DictionaryContext.h"
/* HTTP_iso_8859_1 IANA MIBenum 4 */
@@ -33,7 +32,6 @@
* The dictionaries ...
*/
-
static
NW_Bool
NW_WBXML_Dictionary_CmpDictDocType(NW_WBXML_Dictionary_t* dictionary,
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/doc.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/doc.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,15 @@
*
*/
-
/*****************************************************************
** File: wbxml_doc.c
** Description:
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_wbxml_document.h"
-#include "nw_string_char.h"
-#include "nw_encoder_stringtable.h"
-
+#include <nw_wbxml_document.h>
+#include <nw_string_char.h>
+#include <nw_encoder_stringtable.h>
EXPORT_C NW_Status_t
NW_WBXML_Document_construct(NW_WBXML_Document_t * doc, NW_Uint32 default_public_id)
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/opaque.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/opaque.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
/*****************************************************************
** File: opaque.c
** Description: Methods on WBXML opaque data objects
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_wbxml_opaque.h"
+#include <nw_wbxml_opaque.h>
/*
* Initialize an opaque object
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/parse_buffer.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/parse_buffer.c Mon Mar 29 12:27:15 2010 +0100
@@ -35,14 +35,14 @@
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_wbxml_reader.h"
-#include "nw_wbxml_dictionary.h"
-#include "nw_wbxml_event.h"
-#include "nw_wbxml_token.h"
-#include "nw_wbxml_opaque.h"
+#include <nw_wbxml_reader.h>
+#include <nw_wbxml_dictionary.h>
+#include <nw_wbxml_event.h>
+#include <nw_wbxml_token.h>
+#include <nw_wbxml_opaque.h>
#include "nw_wbxml_parsei.h"
-#include "nw_string_char.h"
-#include "nw_tinydom.h"
+#include <nw_string_char.h>
+#include <nw_tinydom.h>
/*
* Initialize the parser
--- a/browserutilities/cxmllibrary/src/wbxmlp/src/parse_logic.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/wbxmlp/src/parse_logic.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -30,13 +30,13 @@
*****************************************************************/
#include "cxml_internal.h"
-#include "nw_wbxml_token.h"
-#include "nw_wbxml_dictionary.h"
-#include "nw_wbxml_document.h"
-#include "nw_wbxml_event.h"
-#include "nw_wbxml_reader.h"
+#include <nw_wbxml_token.h>
+#include <nw_wbxml_dictionary.h>
+#include <nw_wbxml_document.h>
+#include <nw_wbxml_event.h>
+#include <nw_wbxml_reader.h>
#include "nw_wbxml_parsei.h"
-#include "nw_string_char.h"
+#include <nw_string_char.h>
#ifndef HTTP_utf_8
#define HTTP_utf_8 0x6A
--- a/browserutilities/cxmllibrary/src/xmlp/include/cxml_xmlp_entity.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/include/cxml_xmlp_entity.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#ifndef _CXML_ENTITY_H_
#define _CXML_ENTITY_H_
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
--- a/browserutilities/cxmllibrary/src/xmlp/include/cxml_xmlp_int_entity.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/include/cxml_xmlp_int_entity.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,13 +20,12 @@
#ifndef _CXML_XMLP_INT_ENTITY_H_
#define _CXML_XMLP_INT_ENTITY_H_
#include <e32std.h>
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
#endif
-
typedef struct CXML_Internal_Entity_s {
NW_Ucs2 * name;
NW_Ucs2 * value;
--- a/browserutilities/cxmllibrary/src/xmlp/src/XMLParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/src/XMLParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,17 +16,14 @@
*/
#include "cxml_internal.h"
-#include "nw_xmlp_xmlreader.h"
-#include "nw_xmlp_xmlparser.h"
-#include "nw_encoder_wbxmlwriter.h"
-
+#include <nw_xmlp_xmlreader.h>
+#include <nw_xmlp_xmlparser.h>
+#include <nw_encoder_wbxmlwriter.h>
#include "cxml_xmlp_entity.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include "cxml_xmlp_int_entity.h"
-
-
/* "<?" len 2 */
#define NW_XML_String_PiFormStartLength 2
static
--- a/browserutilities/cxmllibrary/src/xmlp/src/XMLReader.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/src/XMLReader.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
This module provides a text (character) stream, pointers into the stream
and operations on segments of the stream as though they were strings.
@@ -26,8 +25,8 @@
*/
#include "cxml_internal.h"
-#include "nw_string_char.h"
-#include "nw_xmlp_xmlreader.h"
+#include <nw_string_char.h>
+#include <nw_xmlp_xmlreader.h>
static
NW_Status_t
--- a/browserutilities/cxmllibrary/src/xmlp/src/Xmlp2Wbxml.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/src/Xmlp2Wbxml.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,13 +17,12 @@
#include <string.h>
#include "cxml_internal.h"
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_xmlp_xmlparser.h"
-#include "nw_xmlp_xmlp2wbxml.h"
-#include "nw_encoder_stringtable.h"
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_xmlp_xmlparser.h>
+#include <nw_xmlp_xmlp2wbxml.h>
+#include <nw_encoder_stringtable.h>
#include "cxml_xmlp_entity.h"
-
typedef struct CXML_Encoding_String_s {
NW_Int8* charSetStr;
NW_Uint32 encodingVal;
--- a/browserutilities/cxmllibrary/src/xmlp/src/XmlpEntity.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/src/XmlpEntity.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include "cxml_internal.h"
-#include "nw_xmlp_xmlreader.h"
-#include "nw_xmlp_xmlparser.h"
-#include "nw_string_string.h"
+#include <nw_xmlp_xmlreader.h>
+#include <nw_xmlp_xmlparser.h>
+#include <nw_string_string.h>
#include "cxml_xmlp_entity.h"
#include "cxml_xmlp_int_entity.h"
--- a/browserutilities/cxmllibrary/src/xmlp/src/XmlpIntEntity.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/cxmllibrary/src/xmlp/src/XmlpIntEntity.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,22 +15,17 @@
*
*/
-
/* Code to handle Internal Entities */
#include "cxml_internal.h"
-#include "nw_xmlp_xmlreader.h"
-#include "nw_xmlp_xmlparser.h"
-#include "nw_string_string.h"
+#include <nw_xmlp_xmlreader.h>
+#include <nw_xmlp_xmlparser.h>
+#include <nw_string_string.h>
#include "cxml_xmlp_int_entity.h"
//#include <flogger.h> // Comment out this.
-
-
-
-
/** ----------------------------------------------------------------------- **
@function: CXML_XML_Parser_Store_I_Entity
@synopsis: Function to store the internal entity.
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/group/DownloadMgrClntSrv.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/group/DownloadMgrClntSrv.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET DownloadMgr.dll
TARGETTYPE DLL
@@ -33,7 +33,6 @@
DEFFILE ../BWinsCw/DOWNLOADMGRU_EKA2.def
#endif
-
SOURCEPATH ../src
SOURCE DownloadMgrClntSession.cpp
SOURCE DownloadMgrClntSubSession.cpp
@@ -50,11 +49,10 @@
SOURCE ../../DownloadMgrServEng/src/DownloadDataServ.cpp
USERINCLUDE ../inc
+USERINCLUDE ../../DownloadMgrServEng/Inc
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../DownloadMgrServEng/Inc
-
LIBRARY euser.lib
LIBRARY HttpDMServEng.lib
LIBRARY efsrv.lib
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/group/DownloadMgrServer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/group/DownloadMgrServer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <defaultcaps.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET DownloadMgrServer.exe
TARGETTYPE exe
@@ -26,6 +26,7 @@
UID 0x1000008c 0x10008D60
EPOCHEAPSIZE 0x2000 0x300000
+
MW_LAYER_SYSTEMINCLUDE
USERINCLUDE ../inc
@@ -33,11 +34,10 @@
SOURCEPATH ../src
SOURCE DownloadMgrMain.cpp
-
LIBRARY euser.lib
LIBRARY DownloadMgr.lib
-CAPABILITY CAP_SERVER -SwEvent -Location -LocalServices -UserEnvironment -ReadUserData -WriteUserData NetworkControl
+CAPABILITY CAP_SERVER -SwEvent -Location -LocalServices -UserEnvironment -WriteUserData ReadUserData NetworkControl
VENDORID VID_DEFAULT
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrCod.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrCod.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#define __DOWNLOADMGR_CODOBSERVER_H__
#include <e32base.h>
-#include <CodDownload.h>
+#include <coddownload.h>
// FORWARD DECLARATIONS
class RHttpDownloadMgr;
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrDef.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrDef.h Mon Mar 29 12:27:15 2010 +0100
@@ -101,13 +101,14 @@
EHttpDownloadDataAttribute, // =42
EHttpDownloadTrackAttribute, // =43
+ EHttpDownMgrNumOfSubSessions, // =44
/*
* This should be the last item and the opcode must be incremented as well.
* It is also important to make the changes on KDMgrServerPolicyRanges
* in DownloadMgrServer.cpp according to this!!!
*/
- EHttpDownloadMgrNotSupported // =44 (n+1)
+ EHttpDownloadMgrNotSupported // =45 (n+1)
};
#endif /* __DOWNLOADMGR_DEF_H__ */
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrDefAttrib.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrDefAttrib.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
// DATA TYPES
typedef TPckgBuf< TInt32 > THttpDownloadMgrIntegerBuf;
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrEventQueue.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrEventQueue.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
// FORWARD DECLARATIONS
class CHttpDownload;
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#ifndef __DOWNLOADMGR_RECEIVEHANDLER_H__
#define __DOWNLOADMGR_RECEIVEHANDLER_H__
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
#include <e32base.h>
// FORWARD DECLARATIONS
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrServer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/inc/DownloadMgrServer.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define __DOWNLOADMGR_SERVER_H__
// INCLUDES
-#include <HttpDownloadManagerServerEngine.h>
+#include "HttpDownloadManagerServerEngine.h"
#include <e32base.h>
// FORWARD DECLARATIONS
@@ -601,6 +601,13 @@
* @return None.
*/
void SetString8AttributeL();
+
+ /**
+ * Get the number of live subsessions.
+ * @param -
+ * @return None.
+ */
+ void GetNumberOfSubsession();
private: // from CSession
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClientApiExt.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClientApiExt.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-
-#include "DownloadMgrClientApiExt.h"
+#include <downloadmgrclientapiext.h>
#include "DownloadMgrLogger.h"
// ======== MEMBER FUNCTIONS ========
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClntSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClntSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include "DownloadMgrLogger.h"
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
#include "DownloadMgrServer.h"
#include "DownloadMgrStart.h"
#include "DownloadMgrDef.h"
@@ -29,13 +29,14 @@
#include <EscapeUtils.h>
#include <centralrepository.h>
#include "DownloadMgrCRKeys.h"
-#include <BrowserUiSDKCRKeys.h>
-#include <CodDownload.h>
+#include <browseruisdkcrkeys.h>
+#include <coddownload.h>
// CONSTANTS
const TInt KHttpDownloadMgrObserverArrayGranularity = 4;
const TInt KHttpDownloadMgrDefalutAttribsGranularity = 4;
const TInt KDefaultMsgSlots = 16;
+const TInt KNumOfSubSessions = 16;
_LIT8( KHttpScheme, "http" );
_LIT8( KHttpsScheme, "https" );
@@ -599,6 +600,11 @@
CLOG_ENTERFN( "RHttpDownloadMgr::CreateDownloadL" )
+ //Leave if the number of parallel downloads exceeds 16.
+ if(!IsNewDownloadPossible()){
+ User::LeaveIfError(KErrServerBusy);
+ }
+
RHttpDownload* download = new (ELeave) RHttpDownload ( this );
CleanupStack::PushL( download );
CleanupClosePushL( *download );
@@ -839,6 +845,22 @@
}
// ---------------------------------------------------------
+// RHttpDownloadMgr::IsNewDownloadPossible()
+// ---------------------------------------------------------
+ TBool RHttpDownloadMgr::IsNewDownloadPossible()
+{
+ TInt32 value(0);
+ TPckg<TInt32> pckg( value );
+ if(KErrNone == SendReceive( EHttpDownMgrNumOfSubSessions,
+ TIpcArgs(&pckg ) )){
+ if(value < KNumOfSubSessions){
+ return ETrue;
+ }
+ }
+ return EFalse;
+}
+
+// ---------------------------------------------------------
// RHttpDownloadMgr::Disconnect
// ---------------------------------------------------------
//
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClntSubSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrClntSubSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include "DownloadMgrLogger.h"
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
#include "DownloadMgrServer.h"
#include "DownloadMgrHandler.h"
#include "DownloadMgrStart.h"
@@ -31,10 +31,10 @@
#include <hash.h>
#include <e32svr.h>
-#include <CodDownload.h>
+#include <coddownload.h>
#include <AiwGenericParam.h>
#include <eikenv.h>
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
#include <EscapeUtils.h>
// CONSTANTS
@@ -252,7 +252,7 @@
// EDlAttrPausable
TBool iPausable;
// EDlAttrDestRemovable
- TBool iRemovableDest;
+ TInt32 iDestMemType;
// EDlAttrState THttpDownloadState
TInt32 iDlState;
@@ -400,7 +400,7 @@
case EDlAttrDestRemovable:
{
- iRemovableDest = aValue;
+ iDestMemType = (aValue) ? KDriveAttRemovable : KDriveAttLocal;
}
default:
@@ -473,6 +473,11 @@
}
break;
+ case EDlAttrDestRemovable:
+ {
+ iDestMemType = aValue;
+ }
+
default:
break;
}
@@ -667,7 +672,7 @@
case EDlAttrDestRemovable:
{
- aValue = iRemovableDest ;
+ aValue = (KDriveAttRemovable == iDestMemType) ? ETrue : EFalse ;
}
break;
default:
@@ -726,7 +731,7 @@
case EDlAttrDestRemovable:
{
- aValue = mediaData->DesRemovable();
+ aValue = ( KDriveAttRemovable == mediaData->DesRemovable()) ? ETrue : EFalse ;
}
break;
@@ -805,6 +810,12 @@
}
break;
+ case EDlAttrDestRemovable:
+ {
+ aValue = iDestMemType ;
+ }
+ break;
+
default:
{
ret = KErrNotFound;
@@ -883,6 +894,12 @@
aValue = mediaData->Method();
}
break;
+
+ case EDlAttrDestRemovable:
+ {
+ aValue = mediaData->DesRemovable();
+ }
+ break;
default:
{
@@ -1991,9 +2008,9 @@
GetBoolAttribute(EDlAttrPausable, bPausable);
iDlExtension->SetBoolAttribute( EDlAttrPausable, bPausable );
- TBool bRemovableDest;
- GetBoolAttribute(EDlAttrDestRemovable, bRemovableDest);
- iDlExtension->SetBoolAttribute( EDlAttrDestRemovable, bRemovableDest );
+ TInt32 removableDestStatus;
+ GetIntAttribute(EDlAttrDestRemovable, removableDestStatus);
+ iDlExtension->SetIntAttribute( EDlAttrDestRemovable, removableDestStatus );
//
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrCod.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrCod.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
#include "DownloadMgrCod.h"
#include "DownloadMgrLogger.h"
#include <apgtask.h>
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrEventQueue.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrEventQueue.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
-
// INCLUDE FILES
#include "DownloadMgrEventQueue.h"
#include "DownloadMgrLogger.h"
-#include <HttpDownload.h>
+#include "HttpDownload.h"
#ifdef __DOWNLOADMGR_LOG__
//#define __DUMP_EVENT_QUEUE
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,16 +16,14 @@
*
*/
-
// INCLUDE FILES
#include "DownloadMgrLogger.h"
#include "DownloadMgrHandler.h"
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
#include "DownloadMgrDefAttrib.h"
// CONSTANTS
-
// GLOBAL FUNCTIONS
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrServer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrServer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,14 +16,13 @@
*
*/
-
// INCLUDE FILES
#include "DownloadMgrLogger.h"
#include "DownloadMgrServer.h"
#include "DownloadMgrDef.h"
-#include <HttpClientAppInstance.h>
-#include <HttpDownload.h>
+#include "HttpClientAppInstance.h"
+#include "HttpDownload.h"
#include <e32svr.h>
#include <basched.h>
//#include <e32uid.h>
@@ -84,9 +83,9 @@
EHttpDownloadCloseCompleted, // =41
EHttpDownloadDataAttribute, // =42
EHttpDownloadTrackAttribute, // =43
-
+ EHttpDownMgrNumOfSubSessions, //44
*/
- 44 // EHttpDownloadMgrNotSupported // =44
+ 45 // EHttpDownloadMgrNotSupported // =45
};
enum TDownloadMgrSecurityPolicy
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrSrvObject.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrSrvObject.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,15 +16,14 @@
*
*/
-
// INCLUDE FILES
#include "DownloadMgrLogger.h"
#include "DownloadMgrServer.h"
#include "DownloadMgrDef.h"
#include "DownloadMgrDefAttrib.h"
-#include <HttpClientApp.h>
-#include <HttpClientAppInstance.h>
-#include <HttpDownload.h>
+#include "HttpClientApp.h"
+#include "HttpClientAppInstance.h"
+#include "HttpDownload.h"
#include <e32svr.h>
#include <basched.h>
//#include <e32uid.h>
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrSrvSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrSrvSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,15 +16,14 @@
*
*/
-
// INCLUDE FILES
#include "DownloadMgrLogger.h"
#include "DownloadMgrServer.h"
#include "DownloadMgrDef.h"
#include "DownloadMgrEventQueue.h"
-#include <HttpClientAppInstance.h>
-#include <HttpDownload.h>
+#include "HttpClientAppInstance.h"
+#include "HttpDownload.h"
#include <e32svr.h>
#include <basched.h>
@@ -174,6 +173,11 @@
// check for session-relative requests
switch( aMessage.Function() )
{
+ case EHttpDownMgrNumOfSubSessions:
+ {
+ GetNumberOfSubsession();
+ return;
+ }
case EHttpDownloadMgrInitialize:
{
InitializeL();
@@ -312,6 +316,24 @@
}
// ---------------------------------------------------------
+// CDownloadMgrSession::GetNumberOfSubsession
+// ---------------------------------------------------------
+//
+void CDownloadMgrSession::GetNumberOfSubsession()
+ {
+ TInt32 value(0);
+ for( TInt i = 0; i < iObjectIx->Count(); i++ ){
+ CDownloadSubSession* downloadSess
+ = ( CDownloadSubSession* )(*iObjectIx)[i];
+ if( downloadSess != NULL ){
+ value++;
+ }
+ }
+ TPckg<TInt32> pckg( value );
+ Write( 0, CurrentMessage(), pckg );
+ }
+
+// ---------------------------------------------------------
// CDownloadMgrSession::InitializeL
// ---------------------------------------------------------
//
--- a/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrTransObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrClntSrv/src/DownloadMgrTransObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,14 +16,12 @@
*
*/
-
// INCLUDE FILES
#include "DownloadMgrTransObserver.h"
-#include "DownloadMgrClient.h"
+#include <downloadmgrclient.h>
// CONSTANTS
-
// GLOBAL FUNCTIONS
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Group/HttpDMServEng.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Group/HttpDMServEng.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET HttpDMServEng.dll
TARGETTYPE dll
@@ -39,20 +39,10 @@
SOURCEPATH ../src
+MW_LAYER_SYSTEMINCLUDE
+#if defined(__PLATFORM_VERSION_50_TUBE__) || defined( __PLATFORM_VERSION_50__)
APP_LAYER_SYSTEMINCLUDE
-/* SF TODO: resolve APP LAYER DEPENDENCY:
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngine.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/fotaconst.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngStream.h
-
- s60/app/gallery/gallery_dom/media_file_api/inc/CMGXFileManager.h
- s60/app/gallery/gallery_dom/media_file_api/inc/MGXFileManagerFactory.h
-*/
-//MW_LAYER_SYSTEMINCLUDE
-
-MW_LAYER_ECOM_SYSTEMINCLUDE
-MW_LAYER_HTTP_SYSTEMINCLUDE
-
+#endif
USERINCLUDE ../inc
@@ -64,9 +54,9 @@
SOURCE HeaderField.cpp
SOURCE HttpStorage.cpp
SOURCE HttpDownloadMgrLogger.cpp
-SOURCE FileExt.cpp
+SOURCE FileExt.cpp
SOURCE DownloadDataServ.cpp
-SOURCE BuffStorage.cpp
+SOURCE BuffStorage.cpp
#ifdef __S60_32__
LANG sc
@@ -107,4 +97,9 @@
LIBRARY DcfRep.lib
LIBRARY FeatMgr.lib
+#ifdef BRDO_OCC_ENABLED_FF
+LIBRARY extendedconnpref.lib
+LIBRARY netmeta.lib
+#endif
+
// End of File
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/DownloadDataServ.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/DownloadDataServ.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,12 @@
*
*/
-
-
#ifndef DOWNLOAD_DATA_SERV_H
#define DOWNLOAD_DATA_SERV_H
// INCLUDES
#include <e32base.h>
-#include "HttpDownloadData.h"
+#include <httpdownloaddata.h>
// CONSTANTS
@@ -185,7 +183,7 @@
* Set destination removable attribute.
* @param aDesRemovable Whether removable media drive.
*/
- void SetDesRemovable( TBool aDesRemovable );
+ void SetDesRemovable( TInt32 aDesRemovable );
/**
* Set last error id attribute.
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HeaderField.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HeaderField.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <http.h>
// CONSTANTS
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpClientAppInstance.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpClientAppInstance.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-
#ifndef HTTPCLIENTAPPINSTANCE_H
#define HTTPCLIENTAPPINSTANCE_H
// INCLUDES
-#include "HttpDownloadMgrCommon.h"
+#include <httpdownloadmgrcommon.h>
#include <e32base.h>
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpDownload.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpDownload.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include "HttpConnHandler.h"
#include "DownloadDataServ.h"
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <e32base.h>
#include <es_sock.h>
#include <http.h>
@@ -968,12 +968,12 @@
* Notifies gallery about new file
* @param aFileName file name
*/
- void CHttpDownload::NotifyMediaGalleryL( const TDesC& aFileName );
+ void NotifyMediaGalleryL( const TDesC& aFileName );
/**
* ConvertDownloadNameUniqueL
*/
- void CHttpDownload::ConvertDownloadNameUniqueL( HBufC*& filePath,
+ void ConvertDownloadNameUniqueL( HBufC*& filePath,
HBufC*& fileName,
HBufC*& fileExtn);
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpDownloadManagerServerEngine.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpDownloadManagerServerEngine.h Mon Mar 29 12:27:15 2010 +0100
@@ -16,15 +16,13 @@
*
*/
-
-
#ifndef HTTPDOWNLOADMANAGER_H
#define HTTPDOWNLOADMANAGER_H
// INCLUDES
#include "HttpDownload.h"
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <e32std.h>
#include <f32file.h>
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpStorage.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Inc/HttpStorage.h Mon Mar 29 12:27:15 2010 +0100
@@ -212,7 +212,7 @@
HBufC* DestFilename()const { return iDestFilename; };
HBufC* DdFileName()const { return iDdFilename; };
TBool DestFNameSet()const { return iDestFNameSet; };
- TBool RemovableDest()const { return iRemovableDest; };
+ TInt32 RemovableDest()const { return iRemovableStatus; };
TBool ProgressiveDownload()const { return iProgressiveDownload; }
TInt32 Length()const { return iLength; };
TInt32 DownloadedSize()const { return iDownloadedSize; };
@@ -221,7 +221,7 @@
void SetLength( TInt32 aLength ){ iLength = aLength; };
void SetDownloadedSize( TInt32 aSize ){ iDownloadedSize = aSize; iBufferedSize = aSize; };
- void SetRemovableDest( TBool aRemovable ){ iRemovableDest = aRemovable; };
+ void SetRemovableDest( TInt32 aRemovable ){ iRemovableStatus = aRemovable; };
void SetLocalFilenameL(const TDesC16& aValue);
void SetPartialContentLength( TInt32 aLength ){ iPartialLength = aLength; };
void SetMoDownloadedSize( TInt32 aMoSize ){ iMoDownloadedSize = aMoSize ;};
@@ -279,7 +279,8 @@
TBool iProgressiveDownload; // EDlAttrProgressive
- TBool iRemovableDest;
+ TInt32 iRemovableStatus;
+
HBufC* iDestFilename; // EDlAttrDestFilename
TBool iDestFNameSet; // iDestFilename is set by client app ->
// do not delete it in Reset()
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/DownloadDataServ.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/DownloadDataServ.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,12 @@
*
*/
-
-
// INCLUDE FILES
#include <s32mem.h>
#include "DownloadDataServ.h"
-
// CONSTANTS
-
// ---------------------------------------------------------
// CMediaDataServ::NewL()
// Two-phase Constructor - Creates object from stream
@@ -256,10 +252,10 @@
// CMediaDataServ::SetDesRemovable()
// ---------------------------------------------------------
//
-void CMediaDataServ::SetDesRemovable( TBool aDesRemovable )
- {
- iDesRemovable = aDesRemovable;
- }
+void CMediaDataServ::SetDesRemovable( TInt32 aDesRemovable )
+ {
+ iDesRemovableStatus = aDesRemovable;
+ }
// ---------------------------------------------------------
// CMediaDataServ::SetLastErrorId()
@@ -380,7 +376,7 @@
iRedirected = aStream.ReadInt32L();
iDestFilename = HBufC::NewL(aStream, KMaxFileName);
iDownloadedSize = aStream.ReadInt32L();
- iDesRemovable = aStream.ReadInt32L();
+ iDesRemovableStatus = aStream.ReadInt32L();
iLastErrorId = aStream.ReadInt32L();
iGlobalErrorId = aStream.ReadInt32L();
iPausable = aStream.ReadInt32L();
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpClientAppInstance.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpClientAppInstance.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-
// INCLUDE FILES
#include "HttpClientAppInstance.h"
#include "HttpClientApp.h"
#include "HttpDownloadManagerServerEngine.h"
-#include "HttpDownloadMgrLogger.h"
+#include "HttpDownloadMgrLogger.h"
// EXTERNAL DATA STRUCTURES
//extern ?external_data;
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpConnHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpConnHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include "HttpClientApp.h"
#include "HttpClientAppInstance.h"
@@ -28,12 +26,16 @@
#include <in_sock.h>
#include <CommDbConnPref.h>
-#include <HttpFilterAuthenticationInterface.h>
+#include <httpfilterauthenticationinterface.h>
#include <uaproffilter_interface.h>
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
#include <cdblen.h>
-//#include <DeflateFilterInterface.h>
-#include <CookieFilterInterface.h>
+//#include <deflatefilterinterface.h>
+#include <cookiefilterinterface.h>
+#include <platform/mw/browser_platform_variant.hrh>
+#ifdef BRDO_OCC_ENABLED_FF
+#include <extendedconnpref.h>
+#endif
// EXTERNAL DATA STRUCTURES
//extern ?external_data;
@@ -288,6 +290,9 @@
iHttpSession.OpenL();
CLOG_WRITE8( "Session open" );
InitSessionL();
+
+ //Set it to zero
+ iIapId = 0;
}
// -----------------------------------------------------------------------------
@@ -380,7 +385,29 @@
iPref.SetDialogPreference( ECommDbDialogPrefPrompt );
}
+ #ifdef BRDO_OCC_ENABLED_FF
+ TExtendedConnPref extPref;
+ CLOG_WRITE( "Setting OCC parameters");
+ CLOG_WRITE_1( "Iap: %d", iIapId );
+ if (iIapId)
+ {
+ CLOG_WRITE( "Iap is found");
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+ extPref.SetIapId(iIapId);
+ }
+ else
+ {
+ CLOG_WRITE( "Using Internet Snap");
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+ }
+
+ extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
+ TConnPrefList prefList;
+ prefList.AppendL(&extPref);
+ iConnection.Start( prefList, iStatus );
+ #else
iConnection.Start( iPref, iStatus );
+ #endif //BRDO_OCC_ENABLED_FF
// RConnection will complete us.
doComplete = EFalse;
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpDownload.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpDownload.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "HeaderField.h"
#include "HttpDownloadManagerServerEngine.h"
#include "HttpClientApp.h"
@@ -32,7 +32,7 @@
#include <Uri16.h>
#include <F32FILE.H>
#include <EscapeUtils.h>
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
#include <tinternetdate.h>
#include <SysUtil.h>
@@ -1099,7 +1099,13 @@
{
aValue = iActivePlayedDownload;
}
- break;
+ break;
+
+ case EDlAttrDestRemovable:
+ {
+ aValue = iStorage->RemovableDest();
+ }
+ break;
default:
{
@@ -1195,6 +1201,12 @@
aValue = mediaData->Method();
}
break;
+
+ case EDlAttrDestRemovable:
+ {
+ aValue = mediaData->DesRemovable();
+ }
+ break;
default:
{
@@ -1295,7 +1307,7 @@
case EDlAttrDestRemovable:
{
- aValue = iStorage->RemovableDest();
+ aValue = (KDriveAttRemovable == iStorage->RemovableDest()) ? ETrue : EFalse ;
}
break;
@@ -1368,7 +1380,7 @@
case EDlAttrDestRemovable:
{
- aValue = mediaData->DesRemovable();
+ aValue = (KDriveAttRemovable == mediaData->DesRemovable()) ? ETrue : EFalse ;
}
break;
@@ -2325,6 +2337,23 @@
}
break;
+
+ case EDlAttrDestRemovable:
+ {
+ if( iCodDownload )
+ {
+ iStorage->SetRemovableDest( aValue );
+
+ if (iCodDlData)
+ {
+ // Update for Active media object.
+ TInt active = iActiveDownload;
+ CMediaDataBase* mediaData = (*iCodDlData)[active];
+ mediaData->SetDesRemovable( aValue );
+ }
+ }
+ }
+ break;
default:
{
#ifdef __WINS__
@@ -2487,14 +2516,16 @@
{
if( iCodDownload )
{
- iStorage->SetRemovableDest( aValue );
+ TInt32 removableDestStatus = (aValue) ? KDriveAttRemovable : KDriveAttLocal ;
+
+ iStorage->SetRemovableDest( removableDestStatus );
if (iCodDlData)
{
// Update for Active media object.
TInt active = iActiveDownload;
CMediaDataBase* mediaData = (*iCodDlData)[active];
- mediaData->SetDesRemovable( aValue );
+ mediaData->SetDesRemovable( removableDestStatus );
}
}
}
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpDownloadManagerServerEngine.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpDownloadManagerServerEngine.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <bldvariant.hrh>
#include <e32std.h>
#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <DocumentHandler.h>
#include <FeatMgr.h>
--- a/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpStorage.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrServEng/Src/HttpStorage.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <bldvariant.hrh>
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "FileExt.h"
#include "HttpClientApp.h"
@@ -696,19 +696,26 @@
}
CleanupStack::PopAndDestroy( drivesDynList );
CLOG_WRITE_2( "Saving content to %d Drive with %d B free space", driveSpaceMax, freeSpaceMax );
-
- TDriveInfo driveInfo;
-
- if( !iDownload->ClientApp()->Engine()->Fs().Drive( driveInfo, driveSpaceMax) )
- {
- iRemovableDest = (driveInfo.iDriveAtt & KDriveAttRemovable);
- CLOG_WRITE_1( "Removable: [%d]", iRemovableDest );
- CLOG_WRITE_1( "driveInfo.iDriveAtt: [%d]", driveInfo.iDriveAtt );
- }
- else
- {
- CLOG_WRITE("DriveInfo failed");
- }
+ TUint aStatus ;
+
+ if( KErrNone == DriveInfo::GetDriveStatus( iDownload->ClientApp()->Engine()->Fs(), driveSpaceMax , aStatus ))
+ {
+ iRemovableStatus = (aStatus & DriveInfo::EDriveExternallyMountable) ? aStatus : 0 ;
+ if( iRemovableStatus )
+ {
+ iRemovableStatus = (aStatus & DriveInfo::EDriveRemovable) ? KDriveAttRemovable : KDriveAttInternal ;
+ }
+ else
+ {
+ iRemovableStatus = KDriveAttLocal ;
+ }
+ CLOG_WRITE_1( "Removable: [%d]", iRemovableStatus );
+ CLOG_WRITE_1( "DriveInfo Status [%d]", aStatus );
+ }
+ else
+ {
+ CLOG_WRITE("DriveStatus failed");
+ }
return driveSpaceMax;
#else
@@ -722,6 +729,7 @@
( &fs, bytesToWrite ); )
if(!mmcOk)
{
+ iRemovableStatus = KDriveAttInternal ;
CLOG_WRITE( "no MMC present" );
return EDriveC;
}
@@ -732,7 +740,9 @@
fs.Volume(volInfoE,EDriveE);
TInt64 freeC = volInfoC.iFree;//free memory available in that drive
TInt64 freeE = volInfoE.iFree;
- return freeC>=freeE?EDriveC:EDriveE;//put the file in which ever drive has more memory
+ freeC = freeE?EDriveC:EDriveE;//put the file in which ever drive has more memory
+ iRemovableStatus = (EDriveC == freeC) ? KDriveAttInternal : KDriveAttRemovable ;
+ return freeC;
#endif
}
@@ -823,18 +833,45 @@
#endif
}
+#ifdef RD_MULTIPLE_DRIVE
+ TUint aStatus ;
+
+ if( KErrNone == DriveInfo::GetDriveStatus( iDownload->ClientApp()->Engine()->Fs(), drive , aStatus ))
+ {
+ iRemovableStatus = (aStatus & DriveInfo::EDriveExternallyMountable) ? aStatus : 0 ;
+ if( iRemovableStatus )
+ {
+ iRemovableStatus = (aStatus & DriveInfo::EDriveRemovable) ? KDriveAttRemovable : KDriveAttInternal ;
+ }
+ else
+ {
+ iRemovableStatus = KDriveAttLocal ;
+ }
+ CLOG_WRITE_1( "Removable: [%d]", iRemovableStatus );
+ CLOG_WRITE_1( "DriveInfo Status [%d]", aStatus );
+ }
+ else
+ {
+ CLOG_WRITE("DriveStatus failed");
+ }
+
+#else
TDriveInfo driveInfo;
if( !iDownload->ClientApp()->Engine()->Fs().Drive( driveInfo, drive) )
{
- iRemovableDest = (driveInfo.iDriveAtt & KDriveAttRemovable);
- CLOG_WRITE_1( "Removable: [%d]", iRemovableDest );
+ if (driveInfo.iDriveAtt & KDriveAttRemovable)
+ iRemovableStatus = KDriveAttRemovable ;
+ else
+ iRemovableStatus = KDriveAttInternal ;
+ CLOG_WRITE_1( "Removable: [%d]", iRemovableStatus );
}
else
- {
+ {
CLOG_WRITE("DriveInfo failed");
}
-
+#endif
+
if( err || !isSpace )
{
CLOG_WRITE8( "OOD1" );
@@ -1007,16 +1044,44 @@
TInt drive;
if( !iDownload->ClientApp()->Engine()->Fs().CharToDrive((*iDestFilename)[0], drive) )
{
- TDriveInfo driveInfo;
- if( !iDownload->ClientApp()->Engine()->Fs().Drive( driveInfo, drive) )
+#ifdef RD_MULTIPLE_DRIVE
+ TUint aStatus ;
+
+ if( KErrNone == DriveInfo::GetDriveStatus( iDownload->ClientApp()->Engine()->Fs(), drive , aStatus ))
{
- iRemovableDest = (driveInfo.iDriveAtt & KDriveAttRemovable);
- CLOG_WRITE_1( "Removable: [%d]", iRemovableDest );
+ iRemovableStatus = (aStatus & DriveInfo::EDriveExternallyMountable) ? aStatus : 0 ;
+ if( iRemovableStatus )
+ {
+ iRemovableStatus = (aStatus & DriveInfo::EDriveRemovable) ? KDriveAttRemovable : KDriveAttInternal ;
+ }
+ else
+ {
+ iRemovableStatus = KDriveAttLocal ;
+ }
+ CLOG_WRITE_1( "Removable: [%d]", iRemovableStatus );
+ CLOG_WRITE_1( "DriveInfo Status [%d]", aStatus );
}
else
{
+ CLOG_WRITE("DriveStatus failed");
+ }
+
+#else
+ TDriveInfo driveInfo;
+
+ if( !iDownload->ClientApp()->Engine()->Fs().Drive( driveInfo, drive) )
+ {
+ if (driveInfo.iDriveAtt & KDriveAttRemovable)
+ iRemovableStatus = KDriveAttRemovable ;
+ else
+ iRemovableStatus = KDriveAttInternal ;
+ CLOG_WRITE_1( "Removable: [%d]", iRemovableStatus );
+ }
+ else
+ {
CLOG_WRITE("DriveInfo failed");
- }
+ }
+#endif
}
else
{
@@ -1043,7 +1108,7 @@
APPEND_BUF_INT( aBuf, iDownloadedSize);
AppendBufL( aBuf, iDdFilename );
APPEND_BUF_INT( aBuf, iDownload->iMoLength );
- APPEND_BUF_INT( aBuf, iRemovableDest );
+ APPEND_BUF_INT( aBuf, iRemovableStatus );
}
@@ -1065,7 +1130,7 @@
READ_INT_L( aInFile, iDownloadedSize );
ReadHBufCL( aInFile, iDdFilename );
READ_INT_L( aInFile, iDownload->iMoLength );
- READ_INT_L( aInFile, iRemovableDest );
+ READ_INT_L( aInFile, iRemovableStatus );
}
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Data/DownloadMgrUiLib.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Data/DownloadMgrUiLib.rss Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,9 @@
NAME DMUL
// INCLUDES
+#include <browser_platform_variant.hrh>
#include "DownloadMgrUiLib.hrh"
-#include <DownloadMgrUiLib.loc>
+#include <downloadmgruilib.loc>
#include <avkon.loc>
#include <badef.rh>
#include <uikon.rh>
@@ -319,7 +320,7 @@
MENU_TITLE { menu_pane = r_dmul_downloadslist_menu; txt = ""; }
};
}
-
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
RESOURCE MENU_PANE r_dmul_downloadslist_menu
{
items =
@@ -339,7 +340,25 @@
MENU_ITEM { command = EDownloadsListCmdCancelAll; txt = qtn_browser_downloads_cancel_all; }
};
}
+#else
+RESOURCE MENU_PANE r_dmul_downloadslist_menu
+ {
+ items =
+ {
+ MENU_ITEM { command = EDownloadsListCmdResumeAll; txt = qtn_browser_downloads_resume_all; },
+ MENU_ITEM { command = EDownloadsListCmdCancelAll; txt = qtn_browser_downloads_cancel_all; }
+ };
+ }
+RESOURCE MENU_PANE r_dmul_aiw_popup
+ {
+ items =
+ {
+ MENU_ITEM { command = EAiwCmdContact; txt = qtn_mg_options_assign_to_contact ; },
+ MENU_ITEM {command = EAiwCmdRingtone;txt = qtn_mg_options_set_as_rt; }
+ };
+ }
+#endif
STRUCT DMUL_AIW_INTEREST_MENUPANE_MAPPING_LIST
{
STRUCT pairs[];
@@ -363,6 +382,22 @@
{
items=
{
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ AIW_CRITERIA_ITEM
+ {
+ id = EAiwCmdRingtone;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "*";
+ serviceClass = KAiwClassMenu;
+ },
+ AIW_CRITERIA_ITEM
+ {
+ id = EAiwCmdContact;
+ serviceCmd = KAiwCmdAssign;
+ contentType = "*";
+ serviceClass = KAiwClassMenu;
+ }
+#else
AIW_CRITERIA_ITEM
{
id = EDownloadsListCmdUseAs;
@@ -370,6 +405,7 @@
contentType = "*";
serviceClass = KAiwClassMenu;
}
+#endif
};
}
@@ -380,7 +416,11 @@
DMUL_AIW_INTEREST_MENUPANE_PAIR
{
interest = r_dmul_aiw_use_as_interest;
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ menupane = r_dmul_aiw_popup;
+#else
menupane = r_dmul_downloadslist_menu;
+#endif
}
};
}
@@ -490,6 +530,20 @@
};
}
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+RESOURCE STYLUS_POPUP_MENU r_stylus_long_tap_popup_dl_menu
+ {
+ items =
+ {
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_delete; command = EDownloadsListCmdDelete;},
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_set_as_rt; command = EAiwCmdRingtone; },
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_assign_to_contact ; command = EAiwCmdContact ; },
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_open_file_manager; command = EDownloadsListCmdFileManager;},
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_cancel_download; command = EDownloadsListCmdCancel;},
+ STYLUS_POPUP_MENU_ITEM { txt = qtn_browser_downloads_resume; command = EDownloadsListCmdResume;}
+ };
+ }
+#endif
// End of File
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Group/Bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Group/Bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
@@ -25,7 +25,7 @@
PRJ_EXPORTS
../rom/DownloadMgrUiLib.iby CORE_MW_LAYER_IBY_EXPORT_PATH(DownloadMgrUiLib.iby)
../rom/DownloadMgrUiLibResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(DownloadMgrUiLibResources.iby)
-../loc/DownloadMgrUiLib.loc MW_LAYER_LOC_EXPORT_PATH(DownloadMgrUiLib.loc)
+../loc/downloadmgruilib.loc MW_LAYER_LOC_EXPORT_PATH(downloadmgruilib.loc)
#ifdef __SERIES60_32__
@@ -39,7 +39,7 @@
START EXTENSION s60/mifconv
OPTION TARGETFILE downloadmgruilib.mif
OPTION HEADERFILE downloadmgruilib.mbg
-OPTION SOURCES -c8,1 qgn_menu_unknown_lst -c8,1 qgn_indi_paused -c8,1 qgn_indi_browser_mmc_add
+OPTION SOURCES -c8,1 qgn_menu_unknown_lst -c8,1 qgn_indi_paused -c8,1 qgn_indi_browser_mmc_add -c8,1 qgn_prop_memc_ms_tab
END
PRJ_MMPFILES
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Group/DownloadMgrUiLib.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Group/DownloadMgrUiLib.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <defaultcaps.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET DownloadMgrUiLib.dll
TARGETTYPE dll
@@ -32,6 +32,7 @@
//#define _DEBUG
START RESOURCE ../Data/DownloadMgrUiLib.rss
+DEPENDS avkon.rsg
HEADER
#ifdef __S60_32__
LANG sc
@@ -60,16 +61,11 @@
USERINCLUDE ../Inc
USERINCLUDE ../../DownloadMgrClntSrv/inc
+MW_LAYER_SYSTEMINCLUDE
+
+#if defined(__PLATFORM_VERSION_50_TUBE__) || defined( __PLATFORM_VERSION_50__)
APP_LAYER_SYSTEMINCLUDE
-/* SF TODO: resolve APP LAYER DEPENDENCY:
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngine.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/fotaconst.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngStream.h
-
- s60/app/gallery/gallery_dom/media_file_api/inc/CMGXFileManager.h
- s60/app/gallery/gallery_dom/media_file_api/inc/MGXFileManagerFactory.h
-*/
-//MW_LAYER_SYSTEMINCLUDE
+#endif
SOURCEPATH ../Src
SOURCE AsyncEventHandlerArray.cpp
@@ -86,6 +82,9 @@
SOURCE DMgrUiLibPanic.cpp
SOURCE ProgressInfoCreator.cpp
SOURCE UserInteractionsEventHandler.cpp
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+SOURCE CDownloadsStylusPopupMenu.cpp
+#endif
LIBRARY AKNNOTIFY.lib
LIBRARY AknNotifyPlugin.lib
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Group/DownloadMgrUiLibIconsdc.mk Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Group/DownloadMgrUiLibIconsdc.mk Mon Mar 29 12:27:15 2010 +0100
@@ -62,7 +62,8 @@
mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
/c8,1 qgn_menu_unknown_lst.bmp \
/c8,1 qgn_indi_paused.bmp \
- /c8,1 qgn_indi_browser_mmc_add.bmp
+ /c8,1 qgn_indi_browser_mmc_add.bmp \
+ /c8,1 qgn_prop_memc_ms_tab.bmp
FREEZE : do_nothing
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/AsyncEventHandlerBase.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/AsyncEventHandlerBase.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,12 @@
*
*/
-
-
#ifndef ASYNCEVENTHANDLERBASE_H
#define ASYNCEVENTHANDLERBASE_H
// INCLUDES
#include <e32base.h>
-#include <DownloadMgrClient.h>
+#include <downloadmgrclient.h>
// FORWARD DECLARATIONS
class RHttpDownload;
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadUtils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadUtils.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
// FORWARD DECLARATIONS
class RHttpDownload;
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadsListArray.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadsListArray.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
// INCLUDES
#include <e32base.h>
#include <e32std.h>
-#include <DownloadMgrClient.h>
+#include <downloadmgrclient.h>
#include <badesca.h>
#include <bamdesca.h>
#include <apgcli.h>
@@ -60,10 +60,10 @@
TInt32 iDownloadedSize;
TInt iIconIndex;
TBool iPausable;
- TBool iIsOnExternalMemory;
TInt32 iProgressState;
TInt32 iNumMediaObjects;
TInt32 iActiveMoIndex;
+ TInt32 iExternalMemoryStatus;
};
/// Array of UI data T objects.
typedef CArrayFixFlat< TDownloadUiData > CDownloadUiDataArray;
@@ -206,8 +206,9 @@
/** Temp storage. Should be long enough to hold R_DMUL_DOWNLOAD_COMPLETE
localized string or the progress info (max 14). */
TBuf<KMaxDownloadItemTextPartLength> iProgressInfoRes;
- TInt iPausedIconIndex; ///< Default icon index in list box model
- TInt iExternalMemoryIconIndex; ///< Default icon index in list box model
+ TInt iPausedIconIndex; ///< Pause icon index in list box model
+ TInt iExternalMemoryIconIndex; ///< MMC icon index in list box model
+ TInt iInternalMassMemoryIconIndex; ///< Mass Memory icon index in list box model
HBufC* iCompletedString; ///< Owned.
HBufC* iSavedToGalleryString; ///< Owned.
@@ -282,4 +283,4 @@
return KErrNotFound;
}
-#endif /* CDOWNLOADSLISTARRAY_H */
\ No newline at end of file
+#endif /* CDOWNLOADSLISTARRAY_H */
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadsListDlg.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CDownloadsListDlg.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
#include <e32base.h>
#include <eikmobs.h>
#include <aknPopup.h>
-
+#include <browser_platform_variant.hrh>
// DATA TYPES
enum TDownloadsListDlgEvent
{
@@ -41,6 +41,9 @@
class MDownloadsListDlgObserver;
class RHttpDownload;
class CDownloadUtils;
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+class CDlStylusPopupMenu;
+#endif
// CONSTANTS
/// Refresh timer setting. If this is zero, no timer is used! (Micro is 10^(-6))
@@ -132,7 +135,10 @@
void ProcessCommandL( TInt aCommandId );
void SetEmphasis( CCoeControl* aMenuControl, TBool aEmphasis );
void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ CDownloadsListArray* DownloadsListArray(){ return iDownloadsListArray;}
+ void AddAiwItemsL();
+#endif
public: // from MEikListBoxObserver
void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
@@ -201,6 +207,10 @@
CDownloadUtils* iDownloadUtils; ///< Owned.
TBool iIsMSKChangeHandled;
TBool iProgressiveDownload;
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ CDlStylusPopupMenu *iStylusMenu;
+ TPointerEvent iPointerEvent;
+#endif
};
#endif /* CDOWNLOADSLISTDLG_H */
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CUserInteractionsUtils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/CUserInteractionsUtils.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <E32DEF.H>
#include <e32std.h>
#include <apparc.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <vwsdef.h>
#include <AknServerApp.h>
#include "CDownloadUtils.h"
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/DownloadMgrUiLib.hrh Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Inc/DownloadMgrUiLib.hrh Mon Mar 29 12:27:15 2010 +0100
@@ -46,7 +46,7 @@
};
-#define KUiLibMaxDefAttrLength 32 // See KMaxDefAttrLength in HttpDownloadMgrCommon.h!
+#define KUiLibMaxDefAttrLength 32 // See KMaxDefAttrLength in httpdownloadmgrcommon.h!
enum TDMULAIWMENUIDs
{
@@ -54,6 +54,14 @@
EAIWPluginSubMenu = 0x7000
};
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+enum TAiwCommandId // pls dont modify these values.
+ {
+ EAiwCmdRingtone = 0x6025,
+ EAiwCmdContact = 0x6026
+ };
+#endif
+
#endif /* DOWNLOADMGRUILIB_HRH */
// End of File
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/AsyncEventHandlerBase.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/AsyncEventHandlerBase.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
-
// INCLUDE FILES
#include "AsyncEventHandlerBase.h"
-#include "CDownloadMgrUiLibRegistry.h"
+#include <cdownloadmgruilibregistry.h>
#include "AsyncEventHandlerArray.h"
#include "UiLibLogger.h"
#include "DMgrUiLibPanic.h"
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiBase.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiBase.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,8 @@
*
*/
-
-
// INCLUDE FILES
-#include "CDownloadMgrUiBase.h"
+#include <cdownloadmgruibase.h>
#include "UiLibLogger.h"
#include <e32std.h>
#include <e32def.h>
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiDownloadMenu.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiDownloadMenu.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,8 @@
*
*/
-
-
// INCLUDE FILES
-#include "CDownloadMgrUiDownloadMenu.h"
+#include <cdownloadmgruidownloadmenu.h>
#include "UiLibLogger.h"
#include <e32std.h>
#include <e32def.h>
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiDownloadsList.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiDownloadsList.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
-#include "CDownloadMgrUiDownloadsList.h"
-#include "CDownloadMgrUiLibRegistry.h"
-#include "CDownloadMgrUiDownloadMenu.h"
+#include <browser_platform_variant.hrh>
+#include <cdownloadmgruidownloadslist.h>
+#include <cdownloadmgruilibregistry.h>
+#include <cdownloadmgruidownloadmenu.h>
#include "CDownloadsListArray.h"
#include "CDownloadsListDlg.h"
#include "AsyncEventHandlerArray.h"
@@ -49,7 +47,7 @@
#include <DocumentHandler.h>
#include "bautils.h"
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <aknnotewrappers.h>
#include <StringLoader.h>
#include <apgtask.h>
@@ -1112,12 +1110,12 @@
CLOG_WRITE_FORMAT(" EDlAttrPausable: %d",dlData->iPausable);
// Is the download on an external/removable memory (like MMC)?
- err = aDownload.GetBoolAttribute
- ( EDlAttrDestRemovable, dlData->iIsOnExternalMemory );
+ err = aDownload.GetIntAttribute
+ ( EDlAttrDestRemovable, dlData->iExternalMemoryStatus );
CLOG_WRITE_FORMAT(" EDlAttrDestRemovable err: %d",err);
// 'err' is ignored.
- CLOG_WRITE_FORMAT(" EDlAttrDestRemovable: %d",dlData->iIsOnExternalMemory);
-
+ CLOG_WRITE_FORMAT(" EDlAttrDestRemovable: %d",dlData->iExternalMemoryStatus);
+
// Currently active media object's index (in album)?
err = aDownload.GetIntAttribute
( EDlAttrActiveDownload, dlData->iActiveMoIndex );
@@ -1283,13 +1281,12 @@
CLOG_WRITE(" Redirection");
}
else if ( aEvent.iProgressState == EHttpProgResponseHeaderReceived )
- {
- // Is the download on an external/removable memory (like MMC)?
- aDownload.GetBoolAttribute
- ( EDlAttrDestRemovable, dlData.iIsOnExternalMemory );
- // Return value is ignored.
- CLOG_WRITE_FORMAT(" EDlAttrDestRemovable: %d",dlData.iIsOnExternalMemory);
- }
+ {
+ // Is the download on an external/removable memory (like MMC)?
+ // Return value is ignored.
+ aDownload.GetIntAttribute( EDlAttrDestRemovable, dlData.iExternalMemoryStatus );
+ CLOG_WRITE_FORMAT(" EDlAttrDestRemovable: %d",dlData.iExternalMemoryStatus);
+ }
else if ( aEvent.iProgressState == EHttpProgDlNameChanged )
{
CLOG_WRITE(" EHttpProgDlNameChanged");
@@ -2002,7 +1999,27 @@
if ( cancelled )
{
- DeleteDownloadL( currDownload );
+ DeleteDownloadL( currDownload );
+
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ TInt currentItemIndex = aDialog.CurrentItemIndex();
+ if (currentItemIndex != -1)
+ {
+ TInt Inprogress = iListModel->DownloadsCount
+ ( MASKED_DL_STATE(EHttpDlCreated) |
+ MASKED_DL_STATE(EHttpDlPaused) |
+ MASKED_DL_STATE(EHttpDlInprogress) |
+ MASKED_DL_STATE(EHttpDlMultipleMOFailed));
+ if ( Inprogress > 1 )
+ {
+ aDialog.ButtonGroupContainer()->MakeCommandVisible( EAknSoftkeyOptions, ETrue );
+ }
+ else
+ {
+ aDialog.ButtonGroupContainer()->MakeCommandVisible( EAknSoftkeyOptions, EFalse );
+ }
+ }
+#endif
}
iIsCancelInProgress = EFalse;
}
@@ -2254,7 +2271,8 @@
CDocumentHandler* docHandler = CDocumentHandler::NewLC();
canProgHandled = docHandler->CanHandleProgressivelyL( dataType, pdPlayerUid );
CleanupStack::PopAndDestroy( docHandler ); // docHandler
-
+
+#ifndef BRDO_SINGLE_CLICK_ENABLED_FF
//delete open file manager when download is not complete
if( !(isCompleted))
{
@@ -2389,9 +2407,33 @@
{
aMenuPane->DeleteMenuItem( EDownloadsListCmdFileManager );
}
- }
+ }
+#else
+ // Count paused downloads. Note that Creates and Failed downloads
+ // are also considered as Paused, and they can be resumed.
+ TInt pausedCount = iListModel->DownloadsCount
+ ( MASKED_DL_STATE(EHttpDlCreated) |
+ MASKED_DL_STATE(EHttpDlPaused) |
+ MASKED_DL_STATE(EHttpDlMultipleMOFailed) );
+ CLOG_WRITE_FORMAT(" paused count: %d",pausedCount);
+ //
+ if ( !( 1 < pausedCount ) )
+ {
+ aMenuPane->DeleteMenuItem( EDownloadsListCmdResumeAll );
+ }
+
+ TInt downloadCount = iListModel->DownloadsCount
+ ( MASKED_DL_STATE(EHttpDlCreated) |
+ MASKED_DL_STATE(EHttpDlInprogress)|
+ MASKED_DL_STATE(EHttpDlPaused) );
+ CLOG_WRITE_FORMAT(" download count: %d",downloadCount);
+
+ if ( !( 1 < downloadCount ) )
+ {
+ aMenuPane->DeleteMenuItem( EDownloadsListCmdCancelAll );
+ }
+#endif
}
-
if ( wasCompleted && !isThemeType )
{
InitializeAIWPlugInMenusL( aResourceId, aMenuPane, currDownload );
@@ -2399,6 +2441,17 @@
CLOG_LEAVEFN("CDownloadMgrUiDownloadsList::DynInitMenuPaneL");
}
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+void CDownloadMgrUiDownloadsList::AIWPlugInMenusL(TInt aResourceId,CEikMenuPane* aMenuPane)
+ {
+ if( !iAIWServiceHandler )
+ {
+ AttachAIWInterestL();
+ }
+ RHttpDownload& currDownload = iListModel->Download( 0 );
+ InitializeAIWPlugInMenusL( aResourceId, aMenuPane, currDownload );
+ }
+#endif
// -----------------------------------------------------------------------------
// CDownloadMgrUiDownloadsList::OfferKeyEventL
// -----------------------------------------------------------------------------
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiLibRegistry.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiLibRegistry.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
-
// INCLUDE FILES
-#include "CDownloadMgrUiLibRegistry.h"
-#include "CDownloadMgrUiDownloadsList.h"
-#include "CDownloadMgrUiUserInteractions.h"
+#include <cdownloadmgruilibregistry.h>
+#include <cdownloadmgruidownloadslist.h>
+#include <cdownloadmgruiuserinteractions.h>
#include "DMgrUiLibPanic.h"
#include "UiLibLogger.h"
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiUserInteractions.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadMgrUiUserInteractions.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-
// INCLUDE FILES
-#include "CDownloadMgrUiUserInteractions.h"
+#include <cdownloadmgruiuserinteractions.h>
#include "CUserInteractionsUtils.h"
-#include "CDownloadMgrUiDownloadsList.h"
-#include "CDownloadMgrUiLibRegistry.h"
+#include <cdownloadmgruidownloadslist.h>
+#include <cdownloadmgruilibregistry.h>
#include "UserInteractionsEventHandler.h"
#include "AsyncEventHandlerArray.h"
#include "UiLibLogger.h"
@@ -457,15 +455,14 @@
downloadCnt = iRegistryModel.DownloadCount();
- TBool isProgressive (EFalse);
+
if ( resp == EAknSoftkeyYes || resp == EAknSoftkeyOk )
{
for ( TInt i = downloadCnt - 1; i >=0; --i )
{
RHttpDownload* dl = downloads.At(i); //current download
- dl->GetBoolAttribute( EDlAttrProgressive, isProgressive );
dl->GetBoolAttribute( EDlAttrPausable , isPausable );
- if (!( isProgressive || isPausable ) ) // delete only no-PDL downloads and Non pausable Downloads
+ if (!( isPausable ) ) // delete only Non pausable Downloads
{
// Delete not attached downloads.
dl->Delete(); // Return value ignored.
@@ -912,6 +909,10 @@
for( TInt i = 0; i < downloadCnt; ++i )
{
RHttpDownload* dl = downloads.At(i); // current download
+ // we do not have to show the download in case of invalid descriptor
+ HBufC* name = HBufC::NewLC( KMaxUrlLength );
+ TPtr tempPtr = name->Des();
+ dl->GetStringAttribute( EDlAttrName, tempPtr );
err = dl->GetBoolAttribute( EDlAttrPausable, isPausable );
if ( !err )
{
@@ -938,10 +939,11 @@
err = dl->GetBoolAttribute( EDlAttrNoMedia, isNoMedia );
}
CLOG_WRITE_FORMAT(" err: %d",err);
- if ( !err && ( !isPausable || isHidden ||isNoMedia || state == EHttpDlMultipleMOCompleted ) )
+ if ( !err && ( !isPausable || isHidden ||isNoMedia || state == EHttpDlMultipleMOCompleted || !tempPtr.Length() ) )
{
++ignoredDownloads;
}
+ CleanupStack::PopAndDestroy( name ); // name
}
CLOG_WRITE_FORMAT(" downloadCnt: %d",downloadCnt);
CLOG_WRITE_FORMAT(" ignoredDownloads: %d",ignoredDownloads);
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include "CDownloadUtils.h"
#include "UiLibLogger.h"
-#include <DownloadMgrClient.h>
+#include <downloadmgrclient.h>
#include <DocumentHandler.h>
#include <Oma2Agent.h>
#include <DRMCommon.h>
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadsListArray.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadsListArray.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "CDownloadsListArray.h"
#include "ProgressInfoCreator.h"
#include "DMgrUiLibPanic.h"
@@ -39,7 +39,7 @@
#endif
#include "CDownloadUtils.h"
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include "CUserInteractionsUtils.h"
@@ -66,7 +66,7 @@
iDownloadedSize( KErrNotFound ),
iIconIndex( KErrNotFound ),
iPausable( EFalse ),
- iIsOnExternalMemory( EFalse ),
+ iExternalMemoryStatus( KDriveAttLocal ),
iProgressState( KErrNotFound ),
iNumMediaObjects( KErrNotFound )
{
@@ -465,11 +465,14 @@
}
newItemTextPtr.Append( KCharTab );
//
- if ( aDownloadUiData.iIsOnExternalMemory )
+ if ( KDriveAttLocal != aDownloadUiData.iExternalMemoryStatus )
{
// Add an "External memory" icon.
iTempBuf.Zero();
- iTempBuf.Num( iExternalMemoryIconIndex );
+ if ( KDriveAttRemovable == aDownloadUiData.iExternalMemoryStatus )
+ iTempBuf.Num( iExternalMemoryIconIndex );
+ else
+ iTempBuf.Num( iInternalMassMemoryIconIndex );
newItemTextPtr.Append( iTempBuf ); // iExternalMemoryIconIndex in literal form
}
}
@@ -568,10 +571,13 @@
//
ret += KCharTab().Length();
//
- if ( aDownloadUiData.iIsOnExternalMemory )
+ if ( KDriveAttLocal != aDownloadUiData.iExternalMemoryStatus )
{
iTempBuf.Zero();
- iTempBuf.Num( iExternalMemoryIconIndex );
+ if ( KDriveAttRemovable == aDownloadUiData.iExternalMemoryStatus )
+ iTempBuf.Num( iExternalMemoryIconIndex );
+ else
+ iTempBuf.Num( iInternalMassMemoryIconIndex );
ret += iTempBuf.Length();
}
@@ -614,6 +620,19 @@
CleanupStack::Pop( gulIcon2 ); // gulIcon2
+ // iInternalMassMemoryIconIndex
+ TAknsItemID id3 = KAknsIIDQgnPropMemcMsTab;
+ CGulIcon* gulIcon3 = AknsUtils::CreateGulIconL( skins, id3,
+ *iMbmResourceFileName,
+ EMbmDownloadmgruilibQgn_prop_memc_ms_tab,
+ EMbmDownloadmgruilibQgn_prop_memc_ms_tab_mask );
+ CleanupStack::PushL( gulIcon3 );
+
+ iInternalMassMemoryIconIndex = AppendL( gulIcon3 );
+ CLOG_WRITE_FORMAT(" iExternalMemoryIconIndex: %d",iInternalMassMemoryIconIndex);
+
+ CleanupStack::Pop( gulIcon3 ); // gulIcon3
+
CLOG_LEAVEFN("CDownloadsListArray::AddDefaultIconsL");
}
@@ -756,3 +775,4 @@
// End of file.
+
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadsListDlg.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CDownloadsListDlg.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
-
// INCLUDE FILES
#include "CDownloadsListDlg.h"
#include "CDownloadUtils.h"
-#include "DownloadsListDlgObserver.h"
+#include <downloadslistdlgobserver.h>
#include "CDownloadsListArray.h"
#include "DownloadMgrUiLib.hrh"
#include "DMgrUiLibPanic.h"
@@ -35,10 +33,12 @@
#include <StringLoader.h>
#include <eikenv.h>
#include <DocumentHandler.h>
-
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+#include "CDownloadsStylusPopupMenu.h"
+#define pixelOffset 36
+#endif
#include "eikon.hrh"
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -110,6 +110,9 @@
iDownloadUtils = CDownloadUtils::NewL();
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ iStylusMenu = CDlStylusPopupMenu::NewL();
+#endif
CLOG_LEAVEFN("CDownloadsListDlg::ConstructL");
}
@@ -158,7 +161,13 @@
iListBox = NULL;
delete iDownloadUtils;
iDownloadUtils = NULL;
-
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if (iStylusMenu)
+ {
+ delete iStylusMenu;
+ iStylusMenu = NULL;
+ }
+#endif
CLOG_LEAVEFN("CDownloadsListDlg::~CDownloadsListDlg");
}
@@ -198,6 +207,23 @@
CLOG_WRITE(" aModel.Count() == 0");
}
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ TInt Inprogress = iDownloadsListArray->DownloadsCount
+ ( MASKED_DL_STATE(EHttpDlCreated) |
+ MASKED_DL_STATE(EHttpDlPaused) |
+ MASKED_DL_STATE(EHttpDlInprogress) |
+ MASKED_DL_STATE(EHttpDlMultipleMOFailed));
+
+ if ( Inprogress > 1 )
+ {
+ ButtonGroupContainer()->MakeCommandVisible( EAknSoftkeyOptions, ETrue );
+ }
+ else
+ {
+ ButtonGroupContainer()->MakeCommandVisible( EAknSoftkeyOptions, EFalse );
+ }
+#endif
+
CLOG_LEAVEFN("CDownloadsListDlg::SetModelL");
}
@@ -617,6 +643,9 @@
break;
}
case MEikListBoxObserver::EEventItemDoubleClicked:
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ case MEikListBoxObserver::EEventItemSingleClicked:
+#endif
{
// If EAknSoftkeyOpen is visible, then we can activate the selected download
if (ButtonGroupContainer()->IsCommandVisible(EAknSoftkeyOpen))
@@ -683,6 +712,36 @@
//
void CDownloadsListDlg::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if ( aPointerEvent.iType == TPointerEvent::EButton1Down)
+ {
+ iPointerEvent = aPointerEvent;
+ iStylusMenu->HandlePointerEventL(aPointerEvent, this);
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
+ {
+ iStylusMenu->cancelLongTapL();
+ if(iStylusMenu->islongtapRunning())
+ {
+ iStylusMenu->reSetLongTapFlag();
+ return;
+ }
+ }
+ else if ( aPointerEvent.iType == TPointerEvent::EDrag )
+ {
+ if((Abs(iPointerEvent.iPosition.iX - aPointerEvent.iPosition.iX) > pixelOffset ) ||
+ (Abs(iPointerEvent.iPosition.iY - aPointerEvent.iPosition.iY) > pixelOffset ))
+ {
+ iStylusMenu->cancelLongTapL();
+ if(iStylusMenu->islongtapRunning())
+ {
+ iStylusMenu->reSetLongTapFlag();
+ return;
+ }
+ }
+ }
+#endif
+
CAknPopupList::HandlePointerEventL(aPointerEvent);
}
@@ -918,4 +977,21 @@
return KErrNone;
}
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+void CDownloadsListDlg::AddAiwItemsL()
+ {
+ iMenuBar->MenuPane()->AddMenuItemsL(R_DMUL_AIW_POPUP);
+ iDlgObserver.AIWPlugInMenusL(R_DMUL_AIW_POPUP,iMenuBar->MenuPane());
+ TInt pos(0);
+ if (iMenuBar->MenuPane()->MenuItemExists(EAiwCmdContact,pos))
+ {
+ iMenuBar->MenuPane()->DeleteMenuItem(EAiwCmdContact);
+ }
+ if (iMenuBar->MenuPane()->MenuItemExists(EAiwCmdRingtone,pos))
+ {
+ iMenuBar->MenuPane()->DeleteMenuItem(EAiwCmdRingtone);
+ }
+
+ }
+#endif
/* End of file. */
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CUserInteractionsUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/CUserInteractionsUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,20 +15,18 @@
*
*/
-
-
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "CUserInteractionsUtils.h"
#include "MDownloadHandlerObserver.h"
-#include "CDownloadMgrUiBase.h"
-#include "CDownloadMgrUiLibRegistry.h"
-#include "CDownloadMgrUiDownloadsList.h"
-#include "CDownloadMgrUiUserInteractions.h"
+#include <cdownloadmgruibase.h>
+#include <cdownloadmgruilibregistry.h>
+#include <cdownloadmgruidownloadslist.h>
+#include <cdownloadmgruiuserinteractions.h>
#include "UiLibLogger.h"
#include "DMgrUiLibPanic.h"
#include <DownloadMgrUiLib.rsg>
-#include <DownloadMgrClient.h>
+#include <downloadmgrclient.h>
#include <AiwGenericParam.h>
#include <DocumentHandler.h>
#include <coemain.h>
@@ -42,8 +40,8 @@
#include <AknSoftNotificationParameters.h>
#include <AknSoftNotifier.h>
#include <AknNoteWrappers.h>
-#include <BrowserDialogsProvider.h>
-#include <HttpDownloadMgrCommon.h>
+#include <browserdialogsprovider.h>
+#include <httpdownloadmgrcommon.h>
#include <PathInfo.h>
#include <aknglobalnote.h>
#include <Oma2Agent.h>
@@ -51,7 +49,7 @@
#include <apmrec.h>
#include <apgcli.h>
#include <s32mem.h>
-#include "bautils.h"
+#include <bautils.h>
#include <etelmm.h>
#include <MmTsy_names.h>
#include <rconnmon.h>
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/Src/UserInteractionsEventHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/Src/UserInteractionsEventHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "UserInteractionsEventHandler.h"
#include "CUserInteractionsUtils.h"
#include "ProgressInfoCreator.h"
-#include "CDownloadMgrUiLibRegistry.h"
-#include "CDownloadMgrUiDownloadsList.h"
-#include "CDownloadMgrUiUserInteractions.h"
+#include <cdownloadmgruilibregistry.h>
+#include <cdownloadmgruidownloadslist.h>
+#include <cdownloadmgruiuserinteractions.h>
#include "UiLibLogger.h"
#include "DMgrUiLibPanic.h"
#include <bldvariant.hrh>
@@ -40,7 +38,6 @@
#include <AknNoteDialog.h>
#include <UriUtils.h>
-
#ifdef BRDO_APP_GALLERY_SUPPORTED_FF
#include <MGXFileManagerFactory.h>
#include <CMGXFileManager.h>
@@ -623,6 +620,7 @@
{
CLOG_WRITE_FORMAT(" this deleted: %x", this);
CLOG_LEAVEFN("CUserInteractionsEventHandler::HandleInProgressStateL");
+ CleanupStack::PopAndDestroy( contentType );
return;
}
--- a/browserutilities/downloadmgr/DownloadMgrUiLib/loc/DownloadMgrUiLib.loc Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/DownloadMgrUiLib/loc/DownloadMgrUiLib.loc Mon Mar 29 12:27:15 2010 +0100
@@ -402,4 +402,10 @@
//
#define qtn_browser_downloads_files_saved "Files Saved"
+#define qtn_browser_downloads_set_as_rt "Set as ringing tone"
+
+#define qtn_browser_downloads_assign_to_contact "Assign to contact"
+
+
+
// End of File
--- a/browserutilities/downloadmgr/Group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/downloadmgr/Group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserutilities/downloadmgr/downloadmgruilib/Inc/CDownloadsStylusPopupMenu.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,65 @@
+/*
+* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: Hari and Billa
+*
+* Description: Stylus Popup Menu Containing Download UI Options
+*
+*/
+
+#ifndef CDlTYLUSPOPUPMENU_H_
+#define CDlTYLUSPOPUPMENU_H_
+
+#include <aknlongtapdetector.h>
+#include <aknstyluspopupmenu.h>
+#include <coecntrl.h>
+#include <coemain.h>
+#include <barsread.h>
+#include <EIKMOBS.H>
+#include <aknpopup.h>
+#include <CDownloadsListDlg.h>
+class CDownloadsListDlg;
+
+_LIT8(KAudio, "audio/");
+_LIT8(KVideo, "video/");
+_LIT8(KImage, "image/");
+_LIT8(KFlash, "application/x-shockwave-flash");
+_LIT8(Ksdp, "application/sdp");
+_LIT8(Krng, "application/vnd.nokia.ringing-tone");
+_LIT8(Krn, "application/vnd.rn-realmedia");
+_LIT8(Kpn, "application/x-pn-realmedia");
+_LIT8(KSisxContentType, "x-epoc/x-sisx-app");
+
+#define KLONG_TAP_TIMER_DELAY 0.4000000 //0.4 seconds
+
+// CLASS DECLARATION
+class CDlStylusPopupMenu : public CCoeControl, public MAknLongTapDetectorCallBack, public MEikMenuObserver
+{
+ public:
+ static CDlStylusPopupMenu* NewL();
+ void ConstructL();
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent,CDownloadsListDlg* view);
+ virtual void HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation );
+ void ProcessCommandL(TInt aCommandId);
+ void SetEmphasis(CCoeControl* /*aMenuControl*/,TBool /*aEmphasis*/) { }
+ void cancelLongTapL();
+ TBool islongtapRunning();
+ void reSetLongTapFlag();
+ ~CDlStylusPopupMenu();
+
+ private:
+ CAknLongTapDetector* iLongTapDetector;
+ CAknStylusPopUpMenu* iStylusPopupMenu;
+ TInt iCount;
+ TBool ilongtapRunning;
+ CDownloadsListDlg *iDlView;
+};
+#endif /* CDlTYLUSPOPUPMENU_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserutilities/downloadmgr/downloadmgruilib/Src/CDownloadsStylusPopupMenu.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,155 @@
+/*
+ * CDlStylusPopupMenu.cpp
+ *
+ * Created on: Dec 24, 2009
+ * Author: hari and billa
+ */
+
+#include "CDownloadsStylusPopupMenu.h"
+#include "CDownloadsListDlg.h"
+#include "DownloadMgrUiLib.rsg"
+#include "CDownloadsListArray.h"
+#include "DownloadMgrUilib.hrh"
+
+
+// -----------------------------------------------------------------------------
+// BrowserStylusPopupMenu::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+CDlStylusPopupMenu* CDlStylusPopupMenu::NewL()
+{
+ CDlStylusPopupMenu* container =
+ new (ELeave) CDlStylusPopupMenu;
+ container->ConstructL();
+ return container;
+}
+
+void CDlStylusPopupMenu::ConstructL()
+{
+ ilongtapRunning = EFalse;
+ iLongTapDetector = CAknLongTapDetector::NewL(this);
+ TResourceReader readerFolder;
+ TResourceReader readerItem;
+}
+
+// -----------------------------------------------------------------------------
+// BrowserStylusPopupMenu::HandlePointerEventL()
+// Called by framework to handle pointer touch events.
+// -----------------------------------------------------------------------------
+//
+void CDlStylusPopupMenu::HandlePointerEventL(const TPointerEvent& aPointerEvent, CDownloadsListDlg *view)
+{
+ ilongtapRunning = EFalse;
+ iLongTapDetector->SetLongTapDelay(KLONG_TAP_TIMER_DELAY);
+ iLongTapDetector->PointerEventL(aPointerEvent);
+ iLongTapDetector->EnableLongTapAnimation(ETrue);
+ iDlView = view;
+ CCoeControl::HandlePointerEventL(aPointerEvent);
+}
+
+void CDlStylusPopupMenu::HandleLongTapEventL( const TPoint& aPenEventLocation, const TPoint& aPenEventScreenLocation )
+{
+ ilongtapRunning = ETrue;
+ TBool isAiwcall = EFalse;
+ if (iStylusPopupMenu)
+ {
+ delete iStylusPopupMenu;
+ iStylusPopupMenu = NULL;
+ iStylusPopupMenu = CAknStylusPopUpMenu::NewL( this , aPenEventScreenLocation);
+ }
+ else
+ {
+ iStylusPopupMenu = CAknStylusPopUpMenu::NewL( this , aPenEventScreenLocation);
+ }
+
+ iStylusPopupMenu->SetPosition(aPenEventScreenLocation, CAknStylusPopUpMenu::EPositionTypeLeftBottom);
+
+ TResourceReader reader;
+ iCoeEnv->CreateResourceReaderLC(reader,R_STYLUS_LONG_TAP_POPUP_DL_MENU);
+ iStylusPopupMenu->ConstructFromResourceL(reader);
+ TInt currentItemIndex = iDlView->CurrentItemIndex();
+ CDownloadsListArray* DownloadsListArray = iDlView->DownloadsListArray();
+ RHttpDownload& currDownload = DownloadsListArray->Download( currentItemIndex );
+
+ // Get the UI data for the current download
+ TDownloadUiData& dlData = DownloadsListArray->DlUiData( iDlView->CurrentItemIndex() );
+ TInt32 state( dlData.iDownloadState );
+ HBufC8* contentType = HBufC8::NewLC(KMaxContentTypeLength);
+ TPtr8 contentTypePtr = contentType->Des();
+ User::LeaveIfError
+ ( currDownload.GetStringAttribute( EDlAttrContentType, contentTypePtr ) );
+ TInt typeAudio = !contentType->Find(KAudio);
+ CleanupStack::PopAndDestroy( contentType );
+
+ if (state == EHttpDlInprogress)
+ {
+ isAiwcall = ETrue;
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdContact,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdRingtone,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdDelete,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdFileManager,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdResume,ETrue);
+ }
+
+ if ((state == EHttpDlCompleted) || (state ==EHttpDlMultipleMOCompleted))
+ {
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdCancel,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdResume,ETrue);
+ }
+ if (state == EHttpDlPaused)
+ {
+ isAiwcall = ETrue;
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdContact,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdRingtone,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdDelete,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EDownloadsListCmdFileManager,ETrue);
+ }
+
+ if(typeAudio != 1) //Not an audio type
+ {
+ isAiwcall = ETrue;
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdContact,ETrue);
+ iStylusPopupMenu->SetItemDimmed(EAiwCmdRingtone,ETrue);
+ }
+
+ CleanupStack::PopAndDestroy();
+ if (!isAiwcall)
+ iDlView->AddAiwItemsL();
+ iStylusPopupMenu->ShowMenu();
+}
+
+void CDlStylusPopupMenu::ProcessCommandL(TInt aCommand)
+{
+ iDlView->ProcessCommandL(aCommand);
+}
+
+CDlStylusPopupMenu::~CDlStylusPopupMenu()
+{
+ if(iLongTapDetector)
+ {
+ delete iLongTapDetector;
+ iLongTapDetector = NULL;
+ }
+ if(iStylusPopupMenu)
+ {
+ delete iStylusPopupMenu;
+ iStylusPopupMenu = NULL;
+ }
+}
+
+void CDlStylusPopupMenu::cancelLongTapL()
+{
+ iLongTapDetector->CancelAnimationL();
+}
+
+TBool CDlStylusPopupMenu::islongtapRunning()
+{
+ return ilongtapRunning;
+}
+
+void CDlStylusPopupMenu::reSetLongTapFlag()
+{
+ ilongtapRunning = EFalse;
+}
+
--- a/browserutilities/favouritesengine/ClientServer/group/BookmarkDump.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/group/BookmarkDump.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET BookmarkDump.exe
TARGETTYPE exe
--- a/browserutilities/favouritesengine/ClientServer/group/BookmarkImport.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/group/BookmarkImport.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET BookmarkImport.exe
TARGETTYPE exe
--- a/browserutilities/favouritesengine/ClientServer/group/FavouritesEngine.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/group/FavouritesEngine.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET FavouritesEngine.dll
TARGETTYPE dll
--- a/browserutilities/favouritesengine/ClientServer/group/FavouritesSrv.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/group/FavouritesSrv.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET FavouritesSrv.exe
TARGETTYPE exe
--- a/browserutilities/favouritesengine/ClientServer/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/browserutilities/favouritesengine/ClientServer/inc/FavouritesBuf.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/inc/FavouritesBuf.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <e32base.h>
#include <s32buf.h>
-#include <FavouritesHandle.h>
+#include <favouriteshandle.h>
// CONSTANTS
--- a/browserutilities/favouritesengine/ClientServer/inc/FavouritesFilter.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/inc/FavouritesFilter.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
// INCLUDES
#include <e32base.h>
-#include <FavouritesItem.h>
+#include <favouritesitem.h>
// CLASS DECLARATION
--- a/browserutilities/favouritesengine/ClientServer/inc/FavouritesItemImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/inc/FavouritesItemImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,9 +25,9 @@
#include <e32base.h>
#include <s32strm.h>
-#include <FavouritesItem.h>
-#include <FavouritesLimits.h>
-#include <FavouritesWapAp.h>
+#include <favouritesitem.h>
+#include <favouriteslimits.h>
+#include <favouriteswapap.h>
// CLASS DECLARATION
--- a/browserutilities/favouritesengine/ClientServer/src/ActiveFavouritesDbNotifier.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/ActiveFavouritesDbNotifier.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,11 +17,10 @@
*
*/
-
// INCLUDE FILES
-#include "ActiveFavouritesDbNotifier.h"
-#include "FavouritesDbObserver.h"
+#include <activefavouritesdbnotifier.h>
+#include <favouritesdbobserver.h>
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesDb.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesDb.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,17 +17,16 @@
*
*/
-
// INCLUDE FILES
#include <s32std.h>
-#include "FavouritesDb.h"
+#include <favouritesdb.h>
#include "FavouritesMsg.h"
#include "FavouritesBuf.h"
#include "FavouritesFilter.h"
#include "FavouritesItemImpl.h"
-#include "FavouritesItemList.h"
-#include "FavouritesItemData.h"
+#include <favouritesitemlist.h>
+#include <favouritesitemdata.h>
#include "FavouritesUtil.h"
#include "UidMap.h"
#include "FavouritesLogger.h"
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesDbIncremental.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesDbIncremental.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,11 +17,10 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesDbIncremental.h"
-#include "FavouritesDb.h"
+#include <favouritesdbincremental.h>
+#include <favouritesdb.h>
#include "FavouritesMsg.h"
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesDbNotifier.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesDbNotifier.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,11 +17,10 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesDbNotifier.h"
-#include "FavouritesDb.h"
+#include <favouritesdbnotifier.h>
+#include <favouritesdb.h>
#include "FavouritesMsg.h"
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesFile.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesFile.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,13 +17,12 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesFile.h"
+#include <favouritesfile.h>
#include "FavouritesMsg.h"
#include "FavouritesPanic.h"
-#include "FavouritesDb.h"
+#include <favouritesdb.h>
#include <f32file.h>
// CLASS DECLARATION
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesHandle.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesHandle.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesHandle.h"
+#include <favouriteshandle.h>
#include "FavouritesMsg.h"
#include "FavouritesPanic.h"
#include "FavouritesLogger.h"
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesItem.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesItem.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesItem.h"
+#include <favouritesitem.h>
#include "FavouritesItemImpl.h"
#include "FavouritesPanic.h"
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesItemList.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesItemList.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include <s32strm.h>
-#include "FavouritesItemList.h"
-#include "FavouritesItem.h"
+#include <favouritesitemlist.h>
+#include <favouritesitem.h>
// CONSTANTS
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesSession.h"
+#include <favouritessession.h>
#include "FavouritesSrv.h"
#include "FavouritesVersion.h"
#include "FavouritesDef.h"
--- a/browserutilities/favouritesengine/ClientServer/src/FavouritesWapAp.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/src/FavouritesWapAp.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesWapAp.h"
+#include <favouriteswapap.h>
#include "FavouritesPanic.h"
// CONSTANTS
--- a/browserutilities/favouritesengine/ClientServer/srvinc/FavouritesSrvDb.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/srvinc/FavouritesSrvDb.h Mon Mar 29 12:27:15 2010 +0100
@@ -26,10 +26,10 @@
#include <e32base.h>
#include <d32dbms.h>
#include <f32file.h>
-#include <FavouritesLimits.h>
+#include <favouriteslimits.h>
#include "FavouritesSrvTable.h"
#include "UnicodeFile.h"
-#include <FavouritesDb.h>
+#include <favouritesdb.h>
// FORWARD DECLARATIONS
--- a/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrv.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrv.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
// INCLUDE FILES
-#include "FavouritesSession.h"
+#include <favouritessession.h>
#include "FavouritesSrv.h"
#include "FavouritesSrvSession.h"
#include "FavouritesDef.h"
--- a/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvDb.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvDb.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include <s32std.h>
@@ -29,15 +28,13 @@
#include "FavouritesItemImpl.h"
#include "FavouritesItemImplList.h"
#include "FavouritesPanic.h"
-#include "FavouritesLimits.h"
-#include "FavouritesItemData.h"
+#include <favouriteslimits.h>
+#include <favouritesitemdata.h>
#include "FavouritesFilter.h"
#include "UidMap.h"
#include "FavouritesLogger.h"
#include "FavouritesFolder.h"
-
-
// CONSTANTS
/// Uid list granularity.
@@ -52,7 +49,6 @@
// Secure policy ID of the Faveng database files.
LOCAL_D const TUint KUidFavengDbPolicy = 0x101FD685;
-
// ==================== LOCAL FUNCTIONS ====================
/**
--- a/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvTable.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/srvsrc/FavouritesSrvTable.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,13 +17,12 @@
*
*/
-
// INCLUDE FILES
#include <s32strm.h>
#include "FavouritesSrvTable.h"
#include "FavouritesPanic.h"
-#include "FavouritesItemData.h"
+#include <favouritesitemdata.h>
#include "FavouritesFilter.h"
// CONSTANTS
--- a/browserutilities/favouritesengine/ClientServer/utilinc/BookmarkFileImporter.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/utilinc/BookmarkFileImporter.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <e32base.h>
#include <f32file.h>
-#include <FavouritesDb.h>
+#include <favouritesdb.h>
#include "UnicodeFile.h"
// FORWARD DECLARATIONS
--- a/browserutilities/favouritesengine/ClientServer/utilsrc/BookmarkDumpMain.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/utilsrc/BookmarkDumpMain.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,9 +21,9 @@
// INCLUDE FILES
#include <bacline.h>
-#include <FavouritesDb.h>
-#include <FavouritesLimits.h>
-#include <FavouritesItemList.h>
+#include <favouritesdb.h>
+#include <favouriteslimits.h>
+#include <favouritesitemlist.h>
#include "UnicodeFile.h"
// CONSTANTS
--- a/browserutilities/favouritesengine/ClientServer/utilsrc/BookmarkFileImporter.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/favouritesengine/ClientServer/utilsrc/BookmarkFileImporter.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDE FILES
#include "BookmarkFileImporter.h"
-#include <FavouritesLimits.h>
+#include <favouriteslimits.h>
// TEMP
#include <s32file.h>
// END TEMP
--- a/browserutilities/feedsengine/FeedsServer/Api/group/FeedsServerApi.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/group/FeedsServerApi.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_CLIENT_DLL
VENDORID VID_DEFAULT
--- a/browserutilities/feedsengine/FeedsServer/Api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
ARMV5 WINSCW
--- a/browserutilities/feedsengine/FeedsServer/Api/src/FeedsEntity.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/src/FeedsEntity.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,15 @@
*
*/
-
-#include "FeedsEntity.h"
-#include "FeedsMap.h"
+#include <feedsentity.h>
+#include <feedsmap.h>
#include "PackedAttributes.h"
-#include "FeedAttributes.h"
-#include <FolderAttributes.h>
+#include <feedattributes.h>
+#include <folderattributes.h>
#include "Packed.h"
#include "PackedFeed.h"
#include "PackedFolder.h"
-#include "FeedsInterface.h"
+#include <feedsinterface.h>
// Constant definitions
_LIT(KNew, "new");
--- a/browserutilities/feedsengine/FeedsServer/Api/src/FeedsInterface.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/src/FeedsInterface.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
-#include "FeedsInterface.h"
-#include "FeedsMap.h"
-#include "Transaction.h"
-#include "FeedAttributes.h"
-#include "FolderAttributes.h"
+#include <feedsinterface.h>
+#include <feedsmap.h>
+#include <transaction.h>
+#include <feedattributes.h>
+#include <folderattributes.h>
#include "Logger.h"
#include <e32math.h>
--- a/browserutilities/feedsengine/FeedsServer/Api/src/FeedsMap.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/src/FeedsMap.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,8 @@
*
*/
+#include <feedsmap.h>
-#include "FeedsMap.h"
// -----------------------------------------------------------------------------
// CFeedsMap::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/Api/src/Transaction.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Api/src/Transaction.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
-#include "FeedsServerMsg.h"
-#include "Transaction.h"
-#include "FeedsEntity.h"
-#include "FeedsInterface.h"
+#include <feedsservermsg.h>
+#include <transaction.h>
+#include <feedsentity.h>
+#include <feedsinterface.h>
#include <S32Mem.h>
#include <es_sock.h>
-#include "FeedsMap.h"
+#include <feedsmap.h>
#include "Packed.h"
#include "PackedFeed.h"
#include "PackedFolder.h"
--- a/browserutilities/feedsengine/FeedsServer/Client/inc/ClientRequestHandlers.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/inc/ClientRequestHandlers.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,8 +23,8 @@
#warning This header file has been deprecated. Will be removed in one of the next SDK releases.
// INCLUDES
-#include <FeedsServerMsg.h>
-#include <FeedsServerRequestHandler.h>
+#include <feedsservermsg.h>
+#include <feedsserverrequesthandler.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/Client/inc/FeedRequestHandlers.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/inc/FeedRequestHandlers.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,9 +23,8 @@
#warning This header file has been deprecated. Will be removed in one of the next SDK releases.
// INCLUDES
-#include <FeedsServerMsg.h>
-
-#include "FeedsServerRequestHandler.h"
+#include <feedsservermsg.h>
+#include <feedsserverrequesthandler.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/Client/inc/FolderItemRequestHandlers.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/inc/FolderItemRequestHandlers.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FOLDER_ITEM_REQUEST_HANDLER_H
#define FOLDER_ITEM_REQUEST_HANDLER_H
@@ -24,9 +23,9 @@
// INCLUDES
#include <f32file.h>
-#include <FeedsServerMsg.h>
-#include "FeedsEntity.h"
-#include "FeedsServerRequestHandler.h"
+#include <feedsservermsg.h>
+#include <feedsentity.h>
+#include <feedsserverrequesthandler.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/Client/src/ClientRequestHandlers.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/ClientRequestHandlers.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
-#include <FeedsServerClient.h>
+#include <feedsserverclient.h>
#include <S32Mem.h>
#include "ClientRequestHandlers.h"
@@ -111,4 +111,4 @@
void CClientRequestHandler::SetFeedsServerFolderItem(RFolderItem* aFeedsServerFolderItem)
{
iFeedsServerFolderItem = aFeedsServerFolderItem;
- }
\ No newline at end of file
+ }
--- a/browserutilities/feedsengine/FeedsServer/Client/src/Enclosure.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/Enclosure.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
-#include "FeedAttributes.h"
-#include "FeedsServerFeed.h"
+#include <feedattributes.h>
+#include <feedsserverfeed.h>
#include "Logger.h"
// -----------------------------------------------------------------------------
--- a/browserutilities/feedsengine/FeedsServer/Client/src/Feed.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/Feed.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
//#ifdef _DEBUG
#include <f32file.h>
//#endif
-#include "FeedAttributes.h"
-#include "FeedsServerFeed.h"
+#include <feedattributes.h>
+#include <feedsserverfeed.h>
#include "Logger.h"
// -----------------------------------------------------------------------------
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FeedRequestHandlers.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FeedRequestHandlers.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
-#include <FeedsServerFeed.h>
+#include <feedsserverfeed.h>
#include <S32Mem.h>
#include <es_sock.h>
@@ -102,4 +102,4 @@
void CFeedRequestHandler::SetOperationRequested(TInt aOperationRequested)
{
iOperationRequested = aOperationRequested;
- }
\ No newline at end of file
+ }
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-#include "FeedsServerClient.h"
-#include "FeedsServerMsg.h"
-#include "FeedsServerSettings.h"
+#include <feedsserverclient.h>
+#include <feedsservermsg.h>
+#include <feedsserversettings.h>
#include "Logger.h"
#include "ClientRequestHandlers.h"
#include "FeedRequestHandlers.h"
#include "FolderItemRequestHandlers.h"
-
// -----------------------------------------------------------------------------
// RFeedsServer::RFeedsServer
//
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerFeed.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerFeed.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,11 @@
*
*/
-
-#include "FeedsServerClient.h"
-#include "FeedsServerFeed.h"
+#include <feedsserverclient.h>
+#include <feedsserverfeed.h>
#include "FeedRequestHandlers.h"
#include "ClientRequestHandlers.h"
-
-
#include "Logger.h"
// -----------------------------------------------------------------------------
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerFolderItem.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FeedsServerFolderItem.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-#include "FeedsServerClient.h"
-#include "FeedsServerFolderItem.h"
+#include <feedsserverclient.h>
+#include <feedsserverfolderitem.h>
#include "FolderItemRequestHandlers.h"
#include "FeedRequestHandlers.h"
#include "ClientRequestHandlers.h"
#include "Logger.h"
-
// -----------------------------------------------------------------------------
// RFolderItem::RFolderItem
//
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FolderItem.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FolderItem.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,10 +16,9 @@
*
*/
-
-#include "FeedsServerFolderItem.h"
-#include "FolderAttributes.h"
-#include "FeedAttributes.h"
+#include <feedsserverfolderitem.h>
+#include <folderattributes.h>
+#include <feedattributes.h>
#include "PackedFolder.h"
// -----------------------------------------------------------------------------
--- a/browserutilities/feedsengine/FeedsServer/Client/src/FolderItemRequestHandlers.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/FolderItemRequestHandlers.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <e32base.h>
-#include <FeedsServerFolderItem.h>
+#include <feedsserverfolderitem.h>
#include <S32Mem.h>
#include <es_sock.h>
@@ -103,4 +103,4 @@
void CFolderItemRequestHandler::SetOperationRequested(TInt aOperationRequested)
{
iOperationRequested = aOperationRequested;
- }
\ No newline at end of file
+ }
--- a/browserutilities/feedsengine/FeedsServer/Client/src/Item.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/Item.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
-#include "FeedAttributes.h"
-#include "FeedsServerFeed.h"
+#include <feedattributes.h>
+#include <feedsserverfeed.h>
#include "Logger.h"
// Constants
@@ -25,7 +24,6 @@
_LIT(KRead, "read");
_LIT(KUnread, "unread");
-
// -----------------------------------------------------------------------------
// CItem::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/Client/src/RequestHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Client/src/RequestHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-
-#include "FeedsServerRequestHandler.h"
+#include <feedsserverrequesthandler.h>
// -----------------------------------------------------------------------------
// CRequestHandler::CRequestHandler
@@ -35,4 +34,4 @@
// -----------------------------------------------------------------------------
CRequestHandler::~CRequestHandler()
{
- }
\ No newline at end of file
+ }
--- a/browserutilities/feedsengine/FeedsServer/Common/inc/PackedFeed.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Common/inc/PackedFeed.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Packed.h"
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/Common/inc/PackedFolder.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Common/inc/PackedFolder.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Packed.h"
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/Common/src/LeakTracker.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Common/src/LeakTracker.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,7 @@
*
*/
-
-
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
// Globals
--- a/browserutilities/feedsengine/FeedsServer/Common/src/PackedFeed.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Common/src/PackedFeed.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,13 +16,11 @@
*
*/
-
#include "PackedAttributes.h"
-#include "FeedAttributes.h"
+#include <feedattributes.h>
#include "PackedFeed.h"
#include "Logger.h"
-
const TInt KTokenArrayIncrementSize = 1000;
const TInt KStringTableIncrementSize = 10240;
--- a/browserutilities/feedsengine/FeedsServer/Common/src/PackedFolder.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Common/src/PackedFolder.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,16 +17,14 @@
*/
#include "PackedAttributes.h"
-#include "FeedAttributes.h"
-#include "FolderAttributes.h"
+#include <feedattributes.h>
+#include <folderattributes.h>
#include "PackedFolder.h"
#include "Logger.h"
-
const TInt KTokenArrayIncrementSize = 100;
const TInt KStringTableIncrementSize = 1024;
-
// -----------------------------------------------------------------------------
// CPackedFolder::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/FeedHandler/inc/FeedHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/inc/FeedHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -16,16 +16,14 @@
*
*/
-
#ifndef FEED_HANDLER_H
#define FEED_HANDLER_H
-
// INCLUDES
#include <e32base.h>
#include "FeedParser.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/FeedHandler/src/AtomFeedParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/src/AtomFeedParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-#include "FeedAttributes.h"
+#include <feedattributes.h>
#include "FeedParserObserver.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "AtomFeedParser.h"
-#include "XmlUtils.h"
-
+#include <xmlutils.h>
// Element and attribute names used by this parser.
_LIT8(KHead, "feed");
--- a/browserutilities/feedsengine/FeedsServer/FeedHandler/src/FeedHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/src/FeedHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,14 +16,12 @@
*
*/
-
#include "CleanupLibXml2.h"
#include "FeedHandler.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "RssFeedParser.h"
#include "AtomFeedParser.h"
-#include "XmlUtils.h"
-
+#include <xmlutils.h>
// -----------------------------------------------------------------------------
// CFeedHandler::NewL
--- a/browserutilities/feedsengine/FeedsServer/FeedHandler/src/FeedParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/src/FeedParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,12 @@
*
*/
-
#include <TInternetDate.h>
#include "FeedParser.h"
#include "FeedParserObserver.h"
-#include "LeakTracker.h"
-#include "XmlUtils.h"
-
+#include <leaktracker.h>
+#include <xmlutils.h>
_LIT8(KUrlStr, "url");
--- a/browserutilities/feedsengine/FeedsServer/FeedHandler/src/RssFeedParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/src/RssFeedParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
-#include "FeedAttributes.h"
+#include <feedattributes.h>
#include "FeedParserObserver.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "RssFeedParser.h"
-#include "XmlUtils.h"
-
+#include <xmlutils.h>
// Element and attribute names used by this parser.
_LIT8(KRssHead, "rss");
--- a/browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlParser.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlParser.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
#ifndef OPML_PARSER_H
#define OPML_PARSER_H
-
// INCLUDES
#include <e32base.h>
#include <xmlengdom.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlWriter.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FolderHandler/inc/OpmlWriter.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#ifndef OPML_WRITER_H
#define OPML_WRITER_H
-
// INCLUDES
#include <e32base.h>
#include <f32file.h>
@@ -29,9 +27,7 @@
#include "FeedsDatabase.h"
#include "CleanupLibXml2.h"
-#include "XmlUtils.h"
-
-
+#include <xmlutils.h>
// CONSTANTS
@@ -45,7 +41,6 @@
// CLASS DECLARATION
-
/**
* Translates CFolderItems back to opml.
*
--- a/browserutilities/feedsengine/FeedsServer/FolderHandler/src/OpmlParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/FolderHandler/src/OpmlParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-
#include "OpmlParser.h"
#include "CleanupLibXml2.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "PackedFolder.h"
-#include "XmlUtils.h"
-
+#include <xmlutils.h>
// Element and attribute names used by this parser.
_LIT8(KBody, "body");
--- a/browserutilities/feedsengine/FeedsServer/Reconizer/data/102072EE.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Reconizer/data/102072EE.rss Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO r_registry
--- a/browserutilities/feedsengine/FeedsServer/Reconizer/group/FeedsRec.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Reconizer/group/FeedsRec.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET FeedsRec.DLL
TARGETTYPE PLUGIN
--- a/browserutilities/feedsengine/FeedsServer/Reconizer/src/FeedsRec.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Reconizer/src/FeedsRec.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#include "FeedsRec.h"
-#include <ImplementationProxy.h>
-
+#include <ecom/implementationproxy.h>
// Constants
_LIT8(KMimeTypeRss, "application/rss+xml");
@@ -27,7 +25,6 @@
_LIT8(KMimeTypeXml1, "application/xml");
_LIT8(KMimeTypeXml2, "text/xml");
-
// -----------------------------------------------------------------------------
// CFeedsRec::CFeedsRec
//
@@ -52,7 +49,6 @@
return 0x100;
}
-
// -----------------------------------------------------------------------------
// CFeedsRec::SupportedDataTypeL
//
@@ -73,7 +69,6 @@
}
}
-
// -----------------------------------------------------------------------------
// CFeedsRec::DoRecognizeL
//
@@ -101,7 +96,6 @@
// TODO: in 3.1
}
-
// -----------------------------------------------------------------------------
// CFeedsRec::DoRecognizeRss
//
@@ -170,14 +164,12 @@
return confidence;
}
-
// Constants
const TImplementationProxy ImplementationTable[] =
{
IMPLEMENTATION_PROXY_ENTRY(KFeedsRecImplUIDValue, CFeedsRec::CreateRecognizerL)
};
-
// -----------------------------------------------------------------------------
// ImplementationGroupProxy
//
@@ -191,7 +183,6 @@
return ImplementationTable;
}
-
// -----------------------------------------------------------------------------
// CFeedsRec::CreateRecognizerL
//
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsDatabase.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsDatabase.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FEEDS_DATABASE_H
#define FEEDS_DATABASE_H
@@ -24,7 +23,7 @@
#include <e32base.h>
#include <f32file.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
// CONSTANTS
const TInt KUnassignedId = -1;
@@ -42,7 +41,6 @@
// CLASS DECLARATION
-
/**
* The feeds server database.
*
@@ -90,7 +88,7 @@
* @return ETrue if the feed was resolved.
*/
- TBool CFeedsDatabase::FeedIdFromEntryIdL(const TInt& aEntryId, TInt aFolderListId, TInt& aFeedId);
+ TBool FeedIdFromEntryIdL(const TInt& aEntryId, TInt aFolderListId, TInt& aFeedId);
/**
* Returns the feed id of the entry id with the given feed.
@@ -101,7 +99,7 @@
* @param aEntryId The feed's folder item id
* @return ETrue if the feed was resolved.
*/
- TBool CFeedsDatabase::EntryIdFromFeedIdL(const TInt& aFeedId, TInt aFolderListId, TInt& aEntryId);
+ TBool EntryIdFromFeedIdL(const TInt& aFeedId, TInt aFolderListId, TInt& aEntryId);
/**
* Return the folder list ID of the feed with the given feed-id.
@@ -164,7 +162,7 @@
* @param aFolderItemId The resulting folder-item-id, if found.
* @return ETrue if a folder item with this name was found.
*/
- TBool CFeedsDatabase::FindFolderItemL(TInt& aFolderListId, const TDesC& aName,
+ TBool FindFolderItemL(TInt& aFolderListId, const TDesC& aName,
TInt& aFolderItemId);
/**
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsServer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsServer.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
#ifndef FEEDS_SERVER_H
#define FEEDS_SERVER_H
-
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "UpdateAllFeedsTask.h"
#include "etel3rdparty.h"
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsServerSession.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/FeedsServerSession.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
#ifndef FEEDS_SERVER_SESSION_H
#define FEEDS_SERVER_SESSION_H
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "UpdateFeedTask.h"
#include "UpdateAllFeedsTask.h"
#include "ImportFeedsTask.h"
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/ImportFeedsTask.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/ImportFeedsTask.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#ifndef IMPORT_FEEDS_TASK_H
#define IMPORT_FEEDS_TASK_H
-
// INCLUDES
#include <e32base.h>
#include <f32file.h>
@@ -28,7 +26,7 @@
#include "PackedFolder.h"
#include "PackedAttributes.h"
#include "FeedsDatabase.h"
-#include "FolderAttributes.h"
+#include <folderattributes.h>
// CONSTANTS
@@ -44,7 +42,6 @@
// CLASS DECLARATION
-
/**
* The ImportFeedsTask's observer.
*
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/UpdateAllFeedsTask.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/UpdateAllFeedsTask.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,16 @@
*
*/
-
#ifndef UPDATE_ALL_FEEDS_TASK_H
#define UPDATE_ALL_FEEDS_TASK_H
-
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "UpdateFeedTask.h"
#include "Task.h"
-#include "f32file.h"
+#include <f32file.h>
// CONSTANTS
@@ -43,7 +41,6 @@
// CLASS DECLARATION
-
/**
* The UpdateAllFeedsTask's observer.
*
--- a/browserutilities/feedsengine/FeedsServer/Server/inc/UpdateFeedTask.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/inc/UpdateFeedTask.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
#ifndef UPDATE_FEED_TASK_H
#define UPDATE_FEED_TASK_H
-
// INCLUDES
#include <e32base.h>
#include "FeedParserObserver.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "LoadObserver.h"
#include "Task.h"
--- a/browserutilities/feedsengine/FeedsServer/Server/src/FeedsDatabase.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/FeedsDatabase.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,14 @@
*
*/
-
#include <badesca.h>
#include <e32math.h>
-#include "FeedAttributes.h"
+#include <feedattributes.h>
#include "FeedsDatabase.h"
-#include "FolderAttributes.h"
+#include <folderattributes.h>
#include "PackedAttributes.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
#include "PackedFeed.h"
#include "PackedFolder.h"
--- a/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,17 @@
*
*/
-
#include "FeedsDatabase.h"
#include "FeedHandler.h"
#include "FeedsServer.h"
-#include "FeedsServerMsg.h"
+#include <feedsservermsg.h>
#include "FeedsServerSession.h"
#include "OpmlParser.h"
#include "OpmlWriter.h"
#include "PackedFolder.h"
#include "ServerHttpConnection.h"
#include "Logger.h"
-#include "XmlUtils.h"
+#include <xmlutils.h>
#include "BackRestoreHandler.h"
#include "UpdateManager.h"
@@ -38,7 +37,6 @@
_LIT(KDefaultOPMLFileParam, "");
-
// -----------------------------------------------------------------------------
// CFeedsServer::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServerMain.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServerMain.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include <e32std.h>
#include "FeedsServer.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
// -----------------------------------------------------------------------------
// E32Main
--- a/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServerSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/FeedsServerSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include "FeedsDatabase.h"
#include "FeedsServer.h"
-#include "FeedsServerMsg.h"
+#include <feedsservermsg.h>
#include "FeedsServerSession.h"
#include "SessionHttpConnection.h"
#include "Logger.h"
--- a/browserutilities/feedsengine/FeedsServer/Server/src/ImportFeedsTask.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/ImportFeedsTask.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
#include <S32Mem.h>
#include "ImportFeedsTask.h"
#include "FeedsDatabase.h"
#include "FeedsServer.h"
-#include "FeedsServerMsg.h"
+#include <feedsservermsg.h>
// Root folder related.
const TInt KRootFolderId = 0;
--- a/browserutilities/feedsengine/FeedsServer/Server/src/UpdateAllFeedsTask.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/UpdateAllFeedsTask.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,16 @@
*
*/
-
-#include "FolderAttributes.h"
+#include <folderattributes.h>
#include "FeedsDatabase.h"
#include "FeedsServer.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
#include "PackedFeed.h"
#include "PackedFolder.h"
#include "UpdateAllFeedsTask.h"
#include <SysUtil.h>
-
// -----------------------------------------------------------------------------
// CUpdateAllFeedsTask::NewL
//
@@ -254,6 +252,9 @@
// Get feed's url from the datbase.
(void) iFeedsServer.Database().UrlFromFeedIdL(
iFeedIds[iNextFeedIndex], feedUrl);
+
+ User::LeaveIfNull(feedUrl);
+
CleanupStack::PushL(feedUrl);
// Create a new task to update the feed.
--- a/browserutilities/feedsengine/FeedsServer/Server/src/UpdateFeedTask.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/Server/src/UpdateFeedTask.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,15 @@
*
*/
-
-#include "FeedAttributes.h"
+#include <feedattributes.h>
#include "FeedHandler.h"
#include "FeedsServer.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
#include "PackedFeed.h"
#include "UpdateFeedTask.h"
#include "UrlHandlerFactory.h"
-
// -----------------------------------------------------------------------------
// CUpdateFeedTask::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/FileHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/FileHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
#ifndef FILE_HANDLER_H
#define FILE_HANDLER_H
-
// INCLUDES
#include <e32base.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "UrlHandler.h"
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/HttpConnection.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/HttpConnection.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,15 @@
*
*/
-
#ifndef HTTP_CONNECTION_H
#define HTTP_CONNECTION_H
-
// INCLUDES
#include <e32base.h>
#include <http/RHTTPSession.h>
#include <mconnectioncallback.h>
-#include "LeakTracker.h"
+#include <leaktracker.h>
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/HttpHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/inc/HttpHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#ifndef HTTP_HANDLER_H
#define HTTP_HANDLER_H
-
// INCLUDES
#include <e32base.h>
#include <http/mhttptransactioncallback.h>
@@ -27,7 +25,7 @@
#include <http/rhttptransaction.h>
#include "HttpConnection.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "UrlHandler.h"
// CONSTANTS
@@ -45,7 +43,6 @@
// CLASS DECLARATION
-
/**
* A class that fetches resources via HTTP 1.1.
*
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/src/FileHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/src/FileHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
#include <e32base.h>
#include <e32std.h>
#include <f32file.h>
#include "FileHandler.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
-
// -----------------------------------------------------------------------------
// CFileHandler::NewL
//
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/src/HttpConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/src/HttpConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,16 @@
*
*/
-
#include <http.h>
-#include <HttpFilterCommonStringsExt.h>
-#include <HttpFilterConnHandlerInterface.h>
-#include <InternetConnectionManager.h>
-#include <HttpFilterCommonStringsAddition.h>
+#include <httpfiltercommonstringsext.h>
+#include <httpfilterconnhandlerinterface.h>
+#include <internetconnectionmanager.h>
+#include <httpfiltercommonstringsaddition.h>
#include "HttpConnection.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
-
// -----------------------------------------------------------------------------
// CHttpConnection::CHttpConnection
// C++ default constructor can NOT contain any code, that
@@ -37,7 +35,6 @@
{
}
-
// -----------------------------------------------------------------------------
// CHttpConnection::BaseConstructL
// Symbian 2nd phase constructor can leave.
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/src/HttpHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/src/HttpHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,17 @@
*
*/
-
#include <EscapeUtils.h>
#include <http.h>
#include <http/mhttpdatasupplier.h>
-#include <HttpFilterCommonStringsAddition.h>
+#include <httpfiltercommonstringsaddition.h>
#include "HttpConnection.h"
#include "HttpHandler.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
-#include "CUserAgent.h"
+#include <cuseragent.h>
// -----------------------------------------------------------------------------
// CHttpHandler::NewL
--- a/browserutilities/feedsengine/FeedsServer/UrlHandler/src/ServerHttpConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/UrlHandler/src/ServerHttpConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <aputils.h>
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include "ServerHttpConnection.h"
#include "Logger.h"
--- a/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlEncoding.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlEncoding.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#include <charconv.h>
-#include "XmlEncoding.h"
-
+#include <xmlencoding.h>
// -----------------------------------------------------------------------------
// CXmlEncoding::NewL
--- a/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlEntity.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlEntity.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,14 @@
*
*/
-
-
#include <EscapeUtils.h>
#include <libxml2_xmlmemory.h>
#include <libxml2_globals.h>
#include "CleanupLibXml2.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "XmlEntity.h"
-
// Private consts.
// -------------------------------------------------------------------------
// Note: This array must be sorted by entity name. The lookup function
--- a/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsServer/XmlUtils/src/XmlUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,18 +15,16 @@
*
*/
-
-
#include <charconv.h>
#include <EscapeUtils.h>
#include <utf.h>
#include "CleanupLibXml2.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
-#include "XmlEncoding.h"
+#include <xmlencoding.h>
#include "XmlEntity.h"
-#include "XmlUtils.h"
+#include <xmlutils.h>
// Local data-types
struct ErrorContext
@@ -38,7 +36,6 @@
// Static variables
static CXmlEntity* sXmlEntity = NULL;
-
// -----------------------------------------------------------------------------
// EntityResolverL
//
--- a/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsAppUI.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsAppUI.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,12 +19,11 @@
#include "FeedsApp.hrh"
#include "FeedsAppUi.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "TestHarnessView.h"
#include "Logger.h"
-
// -----------------------------------------------------------------------------
// CFeedsAppUi::ConstructL()
//
--- a/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsApplication.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsApplication.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
#include "FeedsApplication.h"
#include "FeedsDocument.h"
#include "FeedsViews.h"
-#include "LeakTracker.h"
-
+#include <leaktracker.h>
// -----------------------------------------------------------------------------
// CFeedsApplication::~CFeedsApplication
--- a/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsDocument.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/FeedsApp/src/FeedsDocument.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <AiwGenericParam.h>
#include <StringLoader.h>
@@ -23,10 +22,9 @@
#include "FeedsAppUi.h"
#include "FeedsDocument.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
-
// -----------------------------------------------------------------------------
// CFeedsDocument::CFeedsDocument()
//
--- a/browserutilities/feedsengine/FeedsUI/TestHarness/inc/TestHarness.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/TestHarness/inc/TestHarness.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,20 +15,18 @@
*
*/
-
#ifndef TEST_HARNESS_H
#define TEST_HARNESS_H
-
// INCLUDES
#include <e32base.h>
#include <e32std.h>
#include <f32file.h>
-#include <FeedsServerClient.h>
-#include <FeedsServerFeed.h>
-#include <FeedsServerFolderItem.h>
-#include <FeedsServerSettings.h>
+#include <feedsserverclient.h>
+#include <feedsserverfeed.h>
+#include <feedsserverfolderitem.h>
+#include <feedsserversettings.h>
#include "FeedsWaitDialog.h"
// CONSTANTS
--- a/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarness.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarness.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "Logger.h"
#include "StatusPane.h"
#include "TestHarness.h"
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include "FeedsWaitDialog.h"
#include <FeedsApp.Rsg>
--- a/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarnessContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarnessContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#include "TestHarnessContainer.h"
#include "TestHarnessView.h"
-#include "LeakTracker.h"
-
+#include <leaktracker.h>
// -----------------------------------------------------------------------------
// CFeedContainer::NewL
--- a/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarnessView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/FeedsUI/TestHarness/src/TestHarnessView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <aknviewappui.h>
#include <avkon.hrh>
#include <avkon.rsg>
@@ -25,12 +24,11 @@
#include "FeedsApp.hrh"
#include "FeedsAppUi.h"
-#include "LeakTracker.h"
+#include <leaktracker.h>
#include "TestHarness.h"
#include "TestHarnessView.h"
#include "TestHarnessContainer.h"
-
// -----------------------------------------------------------------------------
// CTestHarnessView::NewL
//
--- a/browserutilities/feedsengine/group/FeedsApp.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/group/FeedsApp.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-
+#include <platform/mw/browser_platform_variant.hrh>
TARGET FeedsApp.exe
TARGETTYPE exe
@@ -34,6 +32,7 @@
CAPABILITY CAP_APPLICATION NetworkControl -Location
START RESOURCE ../data/FeedsApp.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -57,17 +56,14 @@
SOURCE TestHarnessContainer.cpp
SOURCE TestHarnessView.cpp
-
// Client UI Util sources
SOURCEPATH ../FeedsUI/Common/src
SOURCE StatusPane.cpp
-
// Utils sources
SOURCEPATH ../FeedsServer/Common/src
SOURCE LeakTracker.cpp
-
// Include paths
USERINCLUDE ../FeedsServer/Common/inc
USERINCLUDE ../FeedsUI/TestHarness/inc
@@ -77,7 +73,6 @@
MW_LAYER_SYSTEMINCLUDE
-
// Libraries
DEBUGLIBRARY flogger.lib
@@ -95,7 +90,6 @@
LIBRARY FeedsServerClient.lib
LIBRARY connectionmanager.lib
-
SOURCEPATH ../
START RESOURCE data/FeedsApp_reg.rss
--- a/browserutilities/feedsengine/group/FeedsServer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/group/FeedsServer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-
+#include <platform/mw/browser_platform_variant.hrh>
TARGET FeedsServer.exe
TARGETTYPE exe
@@ -42,7 +40,6 @@
TARGETPATH /System/Programs
#endif
-
// FeedsServer/Server sources
SOURCEPATH ../FeedsServer/Server/src
SOURCE FeedsDatabase.cpp
@@ -57,7 +54,6 @@
SOURCE UpdateManager.cpp
SOURCE UpdateQueue.cpp
-
// FeedsServer/FeedHandler sources
SOURCEPATH ../FeedsServer/FeedHandler/src
SOURCE AtomFeedParser.cpp
@@ -84,7 +80,6 @@
SOURCE XmlEntity.cpp
SOURCE XmlUtils.cpp
-
// Utils sources
SOURCEPATH ../FeedsServer/Common/src
SOURCE LeakTracker.cpp
@@ -101,36 +96,36 @@
USERINCLUDE ../FeedsServer/XmlUtils/inc
USERINCLUDE ../../inc
-
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// Libraries
-LIBRARY euser.lib
+LIBRARY euser.lib
#ifdef _DEBUG
LIBRARY flogger.lib
#else
DEBUGLIBRARY flogger.lib
#endif
-LIBRARY bafl.lib
-LIBRARY InetProtUtil.lib
-LIBRARY http.lib
-LIBRARY efsrv.lib
-LIBRARY XmlEngine.lib
-LIBRARY XmlEngineDOM.lib
-LIBRARY XmlEngineUtils.Lib
-LIBRARY estlib.lib
-LIBRARY HttpFilterCommon.lib
-LIBRARY connectionmanager.lib
-LIBRARY ecom.lib
-LIBRARY commdb.lib
-LIBRARY charconv.lib
-LIBRARY edbms.lib
-LIBRARY estor.lib
-LIBRARY centralrepository.lib
+LIBRARY bafl.lib
+LIBRARY InetProtUtil.lib
+LIBRARY http.lib
+LIBRARY efsrv.lib
+LIBRARY XmlEngine.lib
+LIBRARY XmlEngineDOM.lib
+LIBRARY XmlEngineUtils.Lib
+LIBRARY estlib.lib
+LIBRARY HttpFilterCommon.lib
+LIBRARY connectionmanager.lib
+LIBRARY ecom.lib
+LIBRARY commdb.lib
+LIBRARY charconv.lib
+LIBRARY edbms.lib
+LIBRARY estor.lib
+LIBRARY centralrepository.lib
LIBRARY apengine.lib
-LIBRARY ESock.lib
+LIBRARY ESock.lib
LIBRARY Avkon.lib
LIBRARY etel3rdparty.lib
LIBRARY webutils.lib
-LIBRARY sysutil.lib
+LIBRARY sysutil.lib
+
--- a/browserutilities/feedsengine/group/FeedsServerClient.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/group/FeedsServerClient.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_CLIENT_DLL
VENDORID VID_DEFAULT
@@ -40,20 +39,16 @@
SOURCEPATH ../FeedsServer/Client/src
SOURCE FeedsServerClient.cpp
SOURCE ClientRequestHandlers.cpp
-
SOURCE FeedsServerFeed.cpp
SOURCE FeedRequestHandlers.cpp
SOURCE Feed.cpp
-
SOURCE FeedsServerFolderItem.cpp
SOURCE FolderItemRequestHandlers.cpp
SOURCE FolderItem.cpp
SOURCE Item.cpp
SOURCE Enclosure.cpp
-
SOURCE RequestHandler.cpp
-
// Utils sources
SOURCEPATH ../FeedsServer/Common/src
SOURCE LeakTracker.cpp
@@ -61,14 +56,12 @@
SOURCE PackedFolder.cpp
SOURCE PackedFeed.cpp
-
USERINCLUDE ../FeedsServer/Client/inc
USERINCLUDE ../FeedsServer/Common/inc
USERINCLUDE ../../inc
MW_LAYER_SYSTEMINCLUDE
-
// Libraries
LIBRARY euser.lib
#if defined( _DEBUG )
--- a/browserutilities/feedsengine/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/feedsengine/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
/*New Api INF file*/
#include "../FeedsServer/Api/group/bld.inf"
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
ARMV5 WINSCW
--- a/browserutilities/multipartparser/group/MultipartParser.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/multipartparser/group/MultipartParser.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET MultipartParser.dll
TARGETTYPE DLL
@@ -37,11 +36,10 @@
deffile Bmarm/MULTIPARTPARSER.DEF
#endif
-
USERINCLUDE ../inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
SOURCEPATH ../src
@@ -55,12 +53,3 @@
LIBRARY estor.lib
LIBRARY ezlib.lib
LIBRARY imut.lib
-
-
-
-
-
-
-
-
-
--- a/browserutilities/multipartparser/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/multipartparser/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#ifdef BRDO_MULTIPART_PARSER_FF
--- a/browserutilities/multipartparser/src/BodyPart.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/multipartparser/src/BodyPart.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
// INCLUDE FILES
-#include "BodyPart.h"
+#include <bodypart.h>
// CONSTANTS
--- a/browserutilities/multipartparser/src/MultipartParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/multipartparser/src/MultipartParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include <e32std.h>
@@ -26,11 +25,10 @@
#include <Uri16.h>
#include <UriCommon.h>
-#include "MultipartParser.h"
+#include <multipartparser.h>
#include "GZipBufMgr.h"
#include "tinternetdate.h"
-
// CONSTANTS
const char Multipart_Mixed[] = {"multipart/mixed"};
const char Multipart_Related[] = {"multipart/related"};
--- a/browserutilities/recenturlstore/RecentUrlSrc/RecentUrlStore.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/recenturlstore/RecentUrlSrc/RecentUrlStore.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,8 @@
*
*/
-
-
// INCLUDE FILES
-#include "RecentUrlStore.h"
+#include <recenturlstore.h>
// EXTERNAL DATA STRUCTURES
--- a/browserutilities/recenturlstore/group/RecentUrlStore.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/recenturlstore/group/RecentUrlStore.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET RECENTURLSTORE.DLL
TARGETTYPE DLL
--- a/browserutilities/recenturlstore/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/recenturlstore/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/browserutilities/schemehandler/SchemeApp/data/SchemeApp.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/data/SchemeApp.rss Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#include <avkon.rh>
#include <avkon.mbg>
#include <data_caging_paths_strings.hrh>
-#include <SchemeApp.loc>
+#include <schemeapp.loc>
// RESOURCE DEFINITIONS
--- a/browserutilities/schemehandler/SchemeApp/data/SchemeAppAif.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/data/SchemeAppAif.rss Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <aiftool.rh>
-#include <SchemeDefs.hrh>
+#include <schemedefs.hrh>
// RESOURCE DEFINITIONS
--- a/browserutilities/schemehandler/SchemeApp/data/SchemeApp_Caption.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/data/SchemeApp_Caption.rss Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <apcaptionfile.rh>
-#include "SchemeApp.loc"
+#include "schemeapp.loc"
//----------------------------------------------------
//
--- a/browserutilities/schemehandler/SchemeApp/group/SchemeApp.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/group/SchemeApp.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
#include <platform_paths.hrh>
-#include <platform/mw/SchemeDefs.hrh>
+#include <platform/mw/schemedefs.hrh>
#include <data_caging_paths.hrh>
#include <bldvariant.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET SchemeApp.exe
EPOCSTACKSIZE 0x5000
@@ -43,8 +42,8 @@
SOURCE SchemeDocument.cpp
SOURCE SchemeDialog.cpp
-
START RESOURCE ../data/SchemeApp.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -57,7 +56,6 @@
USERINCLUDE ../inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
LIBRARY apparc.lib
LIBRARY avkon.lib
--- a/browserutilities/schemehandler/SchemeApp/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
@@ -26,7 +26,7 @@
PRJ_EXPORTS
../../rom/SchemeHandler.iby CORE_MW_LAYER_IBY_EXPORT_PATH(SchemeHandler.iby)
../../rom/SchemeHandlerResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(SchemeHandlerResources.iby)
-../loc/SchemeApp.loc MW_LAYER_LOC_EXPORT_PATH(SchemeApp.loc)
+../loc/schemeapp.loc MW_LAYER_LOC_EXPORT_PATH(schemeapp.loc)
#ifdef __SERIES60_32__
--- a/browserutilities/schemehandler/SchemeApp/inc/SchemeApp.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/inc/SchemeApp.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <eikapp.h>
-#include <SchemeDefs.hrh>
+#include <schemedefs.hrh>
// CONSTANTS
--- a/browserutilities/schemehandler/SchemeApp/loc/SchemeApp.loc Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/loc/SchemeApp.loc Mon Mar 29 12:27:15 2010 +0100
@@ -30,4 +30,4 @@
//d:application name
//l:cell_app_pane_t1
//
-#define qtn_apps_services_grid "Services"
\ No newline at end of file
+#define qtn_apps_services_grid "Services"
--- a/browserutilities/schemehandler/SchemeApp/src/SchemeAppUi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/src/SchemeAppUi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include "SchemeDocument.h"
#include "SchemeAppLogger.h"
#include "SchemeDialog.h"
-#include <SchemeHandler.h>
+#include <schemehandler.h>
#include "SchemeAppUi.h"
#include "Scheme.hrh"
#include <SchemeApp.rsg>
--- a/browserutilities/schemehandler/SchemeApp/src/SchemeDocument.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeApp/src/SchemeDocument.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "SchemeDocument.h"
#include "SchemeAppUi.h"
-#include "SchemeHandler.h"
+#include <schemehandler.h>
#include "SchemeAppLogger.h"
// ================= MEMBER FUNCTIONS =======================
--- a/browserutilities/schemehandler/SchemeDispatcher/data/101f8531.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/data/101f8531.rss Mon Mar 29 12:27:15 2010 +0100
@@ -16,8 +16,8 @@
*/
-#include "SchemeDefs.hrh"
-#include "RegistryInfo.rh"
+#include "schemedefs.hrh"
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO theInfo
{
--- a/browserutilities/schemehandler/SchemeDispatcher/group/SchemeDispatcher.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/group/SchemeDispatcher.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -1,4 +1,4 @@
-/*
+ /*
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
@@ -18,8 +18,8 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-#include <platform/mw/SchemeDefs.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
+#include <platform/mw/schemedefs.hrh>
TARGET SchemeDispatcher.dll
TARGETTYPE PLUGIN
@@ -29,7 +29,8 @@
SOURCEPATH ../data
START RESOURCE SCHEME_DISPATCHER_UID_RSS_NAME
- TARGET SchemeDispatcher.rsc
+DEPENDS avkon.rsg
+TARGET SchemeDispatcher.rsc
END
CAPABILITY CAP_ECOM_PLUGIN
@@ -49,10 +50,9 @@
SOURCE MmsHandler.cpp
USERINCLUDE ../inc
-SYSTEMINCLUDE ../../../../inc
+USERINCLUDE ../../../../inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY ECOM.LIB
@@ -70,7 +70,7 @@
LIBRARY BrowserLauncher.lib
LIBRARY avkon.lib
LIBRARY Centralrepository.lib
-
+LIBRARY charconv.lib
// Define this macro if you wish to enable logging
//#define __TEST_SCHEMEDISP_LOG_ENABLED
@@ -78,5 +78,3 @@
MACRO __SCHEMEDISP_LOG__
DEBUGLIBRARY flogger.lib
#endif // __TEST_SCHEMEDISP_LOG_ENABLED
-
-
--- a/browserutilities/schemehandler/SchemeDispatcher/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/browserutilities/schemehandler/SchemeDispatcher/inc/BaseHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/inc/BaseHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,13 +17,12 @@
*
*/
-
#ifndef BASE_HANDLER_H
#define BASE_HANDLER_H
// INCLUDES
-#include "SchemeHandler.h"
+#include <schemehandler.h>
#include <e32base.h>
// FORWARD DECLARATION
--- a/browserutilities/schemehandler/SchemeDispatcher/inc/FileHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/inc/FileHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <documentHandler.h>
#include <eikdoc.h>
#include <apparc.h>
-#include <BrowserLauncher.h>
+#include <browserlauncher.h>
// FORWARD DECLARATION
--- a/browserutilities/schemehandler/SchemeDispatcher/inc/HttpHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/inc/HttpHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include <e32base.h>
#include <eikdoc.h>
#include <apparc.h>
-#include <BrowserLauncher.h>
+#include <browserlauncher.h>
// FORWARD DECLARATION
// CLASS DECLARATION
--- a/browserutilities/schemehandler/SchemeDispatcher/src/BaseHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/BaseHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <stringloader.h>
#include <bautils.h>
#include <EscapeUtils.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <centralrepository.h>
#include <apgcli.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/CtiHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/CtiHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "CtiHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <apparc.h>
#include <apgcli.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/FileHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/FileHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "FileHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <apmstd.h>
#include <apparc.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/HttpHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/HttpHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "HttpHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <DocumentHandler.h>
#include <apgcli.h>
@@ -32,7 +31,7 @@
#include <f32file.h>
#include <APGTASK.H>
#include <w32std.h>
-#include <BrowserOverriddenSettings.h>
+#include <browseroverriddensettings.h>
_LIT( KBrowserPrefix, "4 " );
LOCAL_C const TUid KUidBrowser = { 0x10008D39 };
--- a/browserutilities/schemehandler/SchemeDispatcher/src/MailToHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/MailToHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "MailToHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <DocumentHandler.h>
#include <apgcli.h>
@@ -30,7 +29,7 @@
#include <eikdoc.h>
#include <eikproc.h>
#include <f32file.h>
-
+#include <utf.h>
// ================= CONSTANTS =======================
@@ -109,9 +108,16 @@
void CMailToHandler::HandleUrlEmbeddedL()
{
CLOG_ENTERFN( "CMailToHandler::HandleUrlEmbeddedL()" );
-
- //TPtrC path = iParsedUrl->Des();
-
+ /* Convert to UCS-2, conversion from HBufC16 to HBufC8 should do no harm because the original string is HBufC8 */
+ HBufC8 *tempbuf8 = HBufC8::NewLC(iParsedUrl->Length());
+ tempbuf8->Des().Copy(iParsedUrl->Des());
+ TInt errEncode = CnvUtfConverter::ConvertToUnicodeFromUtf8( *static_cast<TDes16*>(&iParsedUrl->Des()),*tempbuf8);
+ if (errEncode != KErrNone)
+ {
+ iParsedUrl->Des().Copy(tempbuf8->Des());
+ }
+ CleanupStack::PopAndDestroy(tempbuf8);
+
iTelService = CBrowserTelService::NewL();
iTelService->AddObserver( this );
--- a/browserutilities/schemehandler/SchemeDispatcher/src/MmsHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/MmsHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "MmsHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <DocumentHandler.h>
#include <apgcli.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/RtspHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/RtspHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "RtspHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <DocumentHandler.h>
#include <apgcli.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/SchemeProxy.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/SchemeProxy.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#include "FileHandler.h"
#include "HttpHandler.h"
#include "RtspHandler.h"
@@ -27,8 +26,8 @@
#include "CtiHandler.h"
#include "MmsHandler.h"
#include <e32std.h>
-#include <SchemeDefs.hrh>
-#include <ImplementationProxy.h>
+#include <schemedefs.hrh>
+#include <ecom/implementationproxy.h>
// Exported proxy for instantiation method resolution
// Define the interface UIDs
--- a/browserutilities/schemehandler/SchemeDispatcher/src/TelHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/TelHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "SchemeDispLogger.h"
#include "TelHandler.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <apparc.h>
#include <apgcli.h>
--- a/browserutilities/schemehandler/SchemeDispatcher/src/WtaiHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/schemehandler/SchemeDispatcher/src/WtaiHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,12 +17,11 @@
*
*/
-
// INCLUDE FILES
#include "WtaiHandler.h"
#include "SchemeDispLogger.h"
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
#include <eikenv.h>
#include <apparc.h>
#include <apgcli.h>
Binary file browserutilities/webutils/conf/webutils.confml has changed
Binary file browserutilities/webutils/conf/webutils_101F8731.crml has changed
--- a/browserutilities/webutils/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/webutils/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT -ARMI
--- a/browserutilities/webutils/group/webutils.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/webutils/group/webutils.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
// Build target
TARGET webutils.dll
@@ -33,13 +32,11 @@
// Source files
SOURCE CUserAgent.cpp
-
// Include paths
USERINCLUDE . ../INC
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// Dependencies
LIBRARY euser.lib
@@ -53,14 +50,12 @@
//MACRO _WEBUTILS_LOG_
//#define _WEBUTILS_LOG_
-
#ifdef _WEBUTILS_LOG_
LIBRARY flogger.lib
#else
DEBUGLIBRARY flogger.lib
#endif
-
#if defined(ARMCC)
DEFFILE ../EABI/WebUtils_EKA2.DEF
#elif defined( WINSCW )
@@ -70,5 +65,3 @@
#else
DEFFILE ../BMARM/WEBUTILS_EKA2.DEF
#endif
-
-
--- a/browserutilities/webutils/src/CUserAgent.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/webutils/src/CUserAgent.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,19 +15,17 @@
*
*/
-
// INCLUDE FILES
#include <e32std.h>
#include <f32file.h>
#include <eikenv.h>
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "webUtilsCommon.h"
-#include "CUserAgent.h"
+#include <cuseragent.h>
#include "WebUtilsLogger.h"
-#include "WebUtilsInternalCRKeys.h"
-
+#include <webutilsinternalcrkeys.h>
#define KPlaceHolderMozillaVer _L("Mozilla/5.0")
#define KPlaceHolderComponent _L("AppleWebKit/525 (KHTML, like Gecko) Version/3.0")
@@ -692,7 +690,8 @@
TInt ret(0);
TBuf<64> BrowserVersionMajor(0);
TBuf<64> BrowserVersionMinor(0);
- TBuf<64> BrowserVersionSVNRev(0);
+ TBuf<64> BrowserVersionFeatureRev(0);
+ TBuf<64> BrowserVersionPatchRev(0);
iBrowserVersionStr = HBufC::NewL(KMaxBrowserVersionStringLength);
@@ -701,21 +700,37 @@
ret = iRepository->Get(KWebUtilsBrowserVersionMajor, BrowserVersionMajor);
if(ret == KErrNone)
- {
- ret = iRepository->Get(KWebUtilsBrowserVersionMinor, BrowserVersionMinor);
- if(ret == KErrNone)
- {
- ret = iRepository->Get(KWebUtilsBrowserVersionSVNRev, BrowserVersionSVNRev);
- if(ret == KErrNone)
- {
- BrowserVersionPtr.Append(BrowserVersionMajor);
- BrowserVersionPtr.Append(KPlaceHolderPeriod);
- BrowserVersionPtr.Append(BrowserVersionMinor);
- BrowserVersionPtr.Append(KPlaceHolderPeriod);
- BrowserVersionPtr.Append(BrowserVersionSVNRev); ;
- }
- }
- }
+ {
+ ret = iRepository->Get(KWebUtilsBrowserVersionMinor, BrowserVersionMinor);
+ if(ret == KErrNone)
+ {
+ ret = iRepository->Get(KWebUtilsBrowserVersionFeatureRev, BrowserVersionFeatureRev);
+ if(ret == KErrNone)
+ {
+ ret = iRepository->Get(KWebUtilsBrowserVersionPatchRev, BrowserVersionPatchRev);
+ if(ret == KErrNone)
+ {
+ BrowserVersionPtr.Append(BrowserVersionMajor);
+ BrowserVersionPtr.Append(KPlaceHolderPeriod);
+ BrowserVersionPtr.Append(BrowserVersionMinor);
+ BrowserVersionPtr.Append(KPlaceHolderPeriod);
+ BrowserVersionPtr.Append(BrowserVersionFeatureRev);
+ //Incase of Feature releases we do not show Patch number.
+ //Therefore, if the patch version is 0 or empty then we do not show the content
+ if( (BrowserVersionPatchRev.CompareF(_L("0")) == 0)
+ || (BrowserVersionPatchRev.CompareF(KNullDesC) == 0))
+ {
+ //Do Nothing
+ }
+ else
+ {
+ BrowserVersionPtr.Append(KPlaceHolderPeriod);
+ BrowserVersionPtr.Append(BrowserVersionPatchRev);
+ }
+ }
+ }
+ }
+ }
if(ret != KErrNone)
{
--- a/browserutilities/webutils/tsrc/public/adv/group/WebUtilsBCTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/webutils/tsrc/public/adv/group/WebUtilsBCTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#if defined(__S60_)
// To get the MW_LAYER_SYSTEMINCLUDE-definition
#include <platform_paths.hrh>
- #include <platform/mw/Browser_platform_variant.hrh>
+ #include <platform/mw/browser_platform_variant.hrh>
#endif
TARGET WebUtilsBCTest.dll
@@ -39,17 +39,9 @@
SOURCE WebUtilsBCTest.cpp
SOURCE WebUtilsBCTestCases.cpp
-//RESOURCE resource_file
-//RESOURCE resource_file2
-
USERINCLUDE ../inc
-#if defined(__S60_)
- MW_LAYER_SYSTEMINCLUDE
-#else
- MW_LAYER_SYSTEMINCLUDE
- SYSTEMINCLUDE MW_LAYER_PUBLIC_EXPORT_PATH(internal)
-#endif
+MW_LAYER_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY stiftestinterface.lib
--- a/browserutilities/webutils/tsrc/public/adv/inc/WebUtilsBCTest.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/webutils/tsrc/public/adv/inc/WebUtilsBCTest.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
// INCLUDES
#include "StifTestModule.h"
#include <StifLogger.h>
-#include <CUserAgent.h>
+#include <cuseragent.h>
// CONSTANTS
//const ?type ?constant_var = ?constant;
--- a/browserutilities/xmlparser/group/XMLInterface.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/group/XMLInterface.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,12 +16,11 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET XMLInterface.dll
TARGETTYPE dll
UID 0x1000008d 0x101F9750
-//TARGETPATH ?target_path
VENDORID VID_DEFAULT
@@ -40,22 +39,19 @@
SOURCE wml_1_3_dict.c
SOURCE syncml_1_0_dict.c
SOURCE xhtml_1_0_dict.c
-SOURCE sl_dict.c
+SOURCE sl_dict.c
SOURCE CXMLReader.cpp
SOURCE CXMLAttributes.cpp
SOURCE CXMLObserver.cpp
-// RESOURCE resource_file
-// RESOURCE resource_file2
-
USERINCLUDE ../INC
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
CAPABILITY CAP_GENERAL_DLL
-LIBRARY efsrv.lib
+LIBRARY efsrv.lib
LIBRARY euser.lib
LIBRARY bafl.lib
LIBRARY charconv.lib
@@ -88,3 +84,4 @@
*/
// DEFFILE ?filename
// AIF ?filename
+
--- a/browserutilities/xmlparser/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
--- a/browserutilities/xmlparser/inc/CXMLAttributes.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/inc/CXMLAttributes.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,13 @@
*
*/
-
-
#ifndef __CXMLATTRIBUTES_H
#define __CXMLATTRIBUTES_H
// INCLUDES
#include <e32std.h>
#include <eikenv.h>
-#include "MXMLAttributes.h"
-
+#include <mxmlattributes.h>
// CLASS DECLARATION
--- a/browserutilities/xmlparser/inc/CXMLObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/inc/CXMLObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef __CXMLOBSERVER_H
#define __CXMLOBSERVER_H
@@ -24,9 +22,8 @@
#include <e32std.h>
#include <eikenv.h>
#include "CXMLAttributes.h"
-#include "MXMLContentHandler.h"
-#include "MWBXMLContentHandler.h"
-
+#include <mxmlcontenthandler.h>
+#include <mwbxmlcontenthandler.h>
// CLASS DECLARATION
--- a/browserutilities/xmlparser/inc/CXMLReader.h Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/inc/CXMLReader.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef __CXMLREADER_H
#define __CXMLREADER_H
@@ -24,14 +22,13 @@
#include <e32std.h>
#include <F32File.h>
#include <utf.h>
-#include "nw_cXML_Parser.h"
+#include <nw_cxml_parser.h>
#include "CXMLAttributes.h"
-#include "MXMLContentHandler.h"
-#include "MWBXMLContentHandler.h"
+#include <mxmlcontenthandler.h>
+#include <mwbxmlcontenthandler.h>
#include "CXMLObserver.h"
-#include "XMLUtils.h"
-
+#include <xmlutils.h>
// CLASS DECLARATION
--- a/browserutilities/xmlparser/src/RXMLReader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/src/RXMLReader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,19 +15,14 @@
*
*/
-
-
// INCLUDE FILES
-#include "RXMLReader.h"
+#include <rxmlreader.h>
#include "CXMLReader.h"
-
-
// requirement for E32 DLLs
// ============================ MEMBER FUNCTIONS ===============================
-
// -----------------------------------------------------------------------------
// RXMLReader::CreateL()
// -----------------------------------------------------------------------------
@@ -37,8 +32,6 @@
iImplementation = CXMLReader::NewL();
}
-
-
// -----------------------------------------------------------------------------
// RXMLReader::Destroy()
// -----------------------------------------------------------------------------
--- a/browserutilities/xmlparser/src/syncml_1_0_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/src/syncml_1_0_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
** WARNING
**
@@ -34,8 +33,7 @@
* Doc Type = -//SYNCML//DTD SyncML v1.0//EN
*/
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_SyncML_1_0_ElementTag_Add[] = {'A','d','d','\0'};
static const NW_Ucs2 NW_SyncML_1_0_ElementTag_Alert[] = {'A','l','e','r','t','\0'};
--- a/browserutilities/xmlparser/src/wml_1_1_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/src/wml_1_1_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
/*
** This file is not generated by the dictionary creator. If you need any help
** to edit this file please see Shaun Keller/Frank Rchichi/Ramesh Bapanapalli.
*/
#include "nw_wml1x_wml_1_3_tokens.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_Wml_1_3_ElementTag_pre[] = {'p','r','e','\0'};
static const NW_Ucs2 NW_Wml_1_3_ElementTag_a[] = {'a','\0'};
--- a/browserutilities/xmlparser/src/wml_1_3_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/src/wml_1_3_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -37,8 +37,7 @@
* Doc Type = -//WAPFORUM//DTD WML 1.3//EN
*/
#include "nw_wml1x_wml_1_3_tokens.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_Wml_1_3_ElementTag_pre[] = {'p','r','e','\0'};
static const NW_Ucs2 NW_Wml_1_3_ElementTag_a[] = {'a','\0'};
--- a/browserutilities/xmlparser/src/xhtml_1_0_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/browserutilities/xmlparser/src/xhtml_1_0_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -39,8 +39,7 @@
*/
#include "nw_xhtml_xhtml_1_0_tokens.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_XHTML_1_0_ElementTag_body[] = {'b','o','d','y','\0'};
static const NW_Ucs2 NW_XHTML_1_0_ElementTag_head[] = {'h','e','a','d','\0'};
--- a/codhandler/Loc/CodViewer.loc Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/Loc/CodViewer.loc Mon Mar 29 12:27:15 2010 +0100
@@ -272,4 +272,3 @@
//r:1.2
//
#define qtn_cd_info_not_enough_mem "Not enough memory available"
-
\ No newline at end of file
--- a/codhandler/coddownload/group/CodDownload.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/coddownload/group/CodDownload.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#include "../../CodEng/inc/CodDefs.h"
TARGET CodDownload.dll
@@ -30,9 +30,8 @@
SOURCE CodDownload.cpp
USERINCLUDE ../inc
-
-SYSTEMINCLUDE ../../CodUi/inc
-SYSTEMINCLUDE ../../CodEng/inc
+USERINCLUDE ../../CodUi/inc
+USERINCLUDE ../../CodEng/inc
MW_LAYER_SYSTEMINCLUDE
--- a/codhandler/coddownload/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/coddownload/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/codhandler/coddownload/src/CodDownload.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/coddownload/src/CodDownload.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
-#include "CodDownload.h"
+#include <coddownload.h>
#include "CodDownloadImpl.h"
// ================= MEMBER FUNCTIONS =======================
--- a/codhandler/codeng/group/CodEng.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/group/CodEng.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,8 +18,8 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-#include "../inc/CodDefs.h"
+#include <platform/mw/browser_platform_variant.hrh>
+#include "../inc/CodDefs.h"
TARGET CodEng.dll
TARGETTYPE dll
@@ -27,11 +27,9 @@
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
-
//MACRO _DEBUG
//#define _DEBUG
-
SOURCEPATH ../src
SOURCE CodEngBase.cpp
@@ -72,18 +70,11 @@
USERINCLUDE ../inc
+MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#if defined(__PLATFORM_VERSION_50_TUBE__) || defined(__PLATFORM_VERSION_50__)
APP_LAYER_SYSTEMINCLUDE
-/* SF TODO: resolve APP LAYER DEPENDENCY:
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngine.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/fotaconst.h
- s60/app/devicecontrol/devctrl_dom/fota_engine_api/inc/FotaEngStream.h
-
- s60/app/gallery/gallery_dom/media_file_api/inc/CMGXFileManager.h
- s60/app/gallery/gallery_dom/media_file_api/inc/MGXFileManagerFactory.h
-*/
-//MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
+#endif
LIBRARY euser.lib
LIBRARY efsrv.lib
@@ -127,3 +118,7 @@
DEBUGLIBRARY flogger.lib
//LIBRARY flogger.lib
+#ifdef BRDO_OCC_ENABLED_FF
+LIBRARY extendedconnpref.lib
+LIBRARY netmeta.lib
+#endif
\ No newline at end of file
--- a/codhandler/codeng/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/codhandler/codeng/inc/CodEngBase.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/CodEngBase.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <apmrec.h>
#include <apparc.h>
#include "CodSaver.h"
-#include <CodDownload.h>
+#include <coddownload.h>
// FORWARD DECLARATION
@@ -679,7 +679,7 @@
TBool iMmcOk;
#endif
/// Paths on removable media?
- TBool iRemovableMedia;
+ TInt32 iRemovableMediaStatus;
/// ROAP Data. Owned.
CRoapData* iRoapData;
/// Progress or NULL. Owned.
--- a/codhandler/codeng/inc/CodError.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/CodError.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef COD_ERROR_H
#define COD_ERROR_H
--- a/codhandler/codeng/inc/CodPanic.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/CodPanic.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef COD_PANIC_H
#define COD_PANIC_H
--- a/codhandler/codeng/inc/DownloadDataClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/DownloadDataClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,14 +17,13 @@
*
*/
-
#ifndef DOWNLOAD_DATA_CLIENT_H
#define DOWNLOAD_DATA_CLIENT_H
// INCLUDES
#include <e32base.h>
-#include "HttpDownloadData.h"
+#include <httpdownloaddata.h>
// ================= CONSTANTS =======================
@@ -201,7 +200,7 @@
* Set destination removable attribute.
* @param aDesRemovable Whether removable media drive.
*/
- void SetDesRemovable( TBool aDesRemovable );
+ void SetDesRemovable( TInt32 aDesRemovable );
/**
* Set last error id attribute.
--- a/codhandler/codeng/inc/HeaderField.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/HeaderField.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <http.h>
// CONSTANTS
--- a/codhandler/codeng/inc/MediaObject.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/MediaObject.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include <bamdesca.h>
#include "CodDefs.h"
#include <f32file.h>
-#include "HttpDownloadData.h"
+#include <httpdownloaddata.h>
// ================= CONSTANTS =======================
/// OMA 1 DD MIME type.
--- a/codhandler/codeng/inc/NwUtil.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/inc/NwUtil.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef NW_UTIL_H
#define NW_UTIL_H
--- a/codhandler/codeng/src/CodData.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/CodData.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "CodData.h"
@@ -25,8 +24,7 @@
#include "CodUtil.h"
#include <badesca.h>
#include "FileExt.h"
-#include "HttpDownloadData.h"
-
+#include <httpdownloaddata.h>
// ================= MEMBER FUNCTIONS =======================
--- a/codhandler/codeng/src/CodEng.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/CodEng.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "CodEng.h"
--- a/codhandler/codeng/src/CodEngBase.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/CodEngBase.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "CodEngBase.h"
@@ -44,15 +43,15 @@
#include <Oma2Agent.h>
#include <RoapDef.h>
#include <f32file.h>
-#include <BodyPart.h>
+#include <bodypart.h>
#include <SysUtil.h>
#include <pathinfo.h>
#include "CodDefs.h"
#include <CodUi.rsg>
#include <AknQueryDialog.h>
#include <stringloader.h>
-#include <bautils.h>
-#include "FileExt.h"
+#include <bautils.h>
+#include "FileExt.h"
#ifdef __SYNCML_DM_FOTA
#include <fotaengine.h>
@@ -66,7 +65,7 @@
#ifdef RD_MULTIPLE_DRIVE
#include <centralrepository.h>
#include <driveinfo.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#endif //RD_MULTIPLE_DRIVE
#include <bldvariant.hrh>
@@ -483,7 +482,7 @@
//
EXPORT_C TBool CCodEngBase::RemovableMedia() const
{
- return iRemovableMedia;
+ return ( KDriveAttRemovable == iRemovableMediaStatus ) ? ETrue : EFalse ;
}
// ---------------------------------------------------------
@@ -581,7 +580,7 @@
iPhoneMemoryOk( EFalse ),
iMmcOk( EFalse ),
#endif
- iRemovableMedia( EFalse ),
+ iRemovableMediaStatus( KDriveAttLocal ),
iStatusCode( KHttp902UserCancelled ),
iResult( KErrGeneral ),
iContentTypeCheck ( EFalse ),
@@ -2009,16 +2008,39 @@
(*iData)[iData->ActiveDownload()]->iTempPath.Append(rootPath.Drive());
(*iData)[iData->ActiveDownload()]->iTempPath.Append(tempBuf);
- TDriveInfo info;
+
TDriveUnit unit( rootPath.Drive() );
- User::LeaveIfError( iFs.Drive( info, unit ) );
- // Create the temp directory earlier in case it's not created yet
- iFs.MkDirAll( (*iData)[iData->ActiveDownload()]->iTempPath );
+
+#ifdef RD_MULTIPLE_DRIVE
+ TUint aStatus ;
+
+ if( KErrNone == DriveInfo::GetDriveStatus( iFs, unit , aStatus ))
+ {
+ iRemovableMediaStatus = (aStatus & DriveInfo::EDriveExternallyMountable) ? aStatus : 0 ;
+ if( iRemovableMediaStatus )
+ {
+ iRemovableMediaStatus = (aStatus & DriveInfo::EDriveRemovable) ? KDriveAttRemovable : KDriveAttInternal ;
+ }
+ else
+ {
+ iRemovableMediaStatus = KDriveAttLocal ;
+ }
+ }
+#else
+ TDriveInfo info;
+ User::LeaveIfError( iFs.Drive( info, unit ) );
if ( info.iDriveAtt & KDriveAttRemovable )
{
- iRemovableMedia = ETrue;
+ iRemovableMediaStatus = KDriveAttRemovable;
}
-
+ else
+ {
+ iRemovableMediaStatus = KDriveAttLocal;
+ }
+#endif
+ // Create the temp directory earlier in case it's not created yet
+ iFs.MkDirAll( (*iData)[iData->ActiveDownload()]->iTempPath );
+
CLOG(( ECodEng, 2, _L("<- CCodEngBase::SetPathsL root<%S> temp<%S>"), \
&(*iData)[iData->ActiveDownload()]->iRootPath, &(*iData)[iData->ActiveDownload()]->iTempPath ));
}
@@ -2039,7 +2061,8 @@
#endif
//(*iData)[iData->ActiveDownload()]->iTempPath = KNullDesC;
//(*iData)[iData->ActiveDownload()]->iRootPath = KNullDesC;
- iRemovableMedia = EFalse;
+
+ iRemovableMediaStatus = KDriveAttLocal;
}
#ifdef RD_MULTIPLE_DRIVE
--- a/codhandler/codeng/src/CodParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/CodParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "CodParser.h"
--- a/codhandler/codeng/src/CodUtil.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/CodUtil.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#include <f32file.h>
#include <commdb.h>
#include <ApSelect.h>
-#include <BodyPart.h>
+#include <bodypart.h>
#include <AiwGenericParam.h>
#include <caf/caf.h>
--- a/codhandler/codeng/src/Connection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/Connection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,6 +28,10 @@
#include <CommDbConnPref.h>
#include <cdblen.h>
#include <es_enum.h>
+#include <platform/mw/browser_platform_variant.hrh>
+#ifdef BRDO_OCC_ENABLED_FF
+#include <extendedconnpref.h>
+#endif
// ================= MEMBER FUNCTIONS =======================
@@ -94,7 +98,31 @@
// aIap == 0 -> user select.
iConnPref.SetDialogPreference( ECommDbDialogPrefPrompt );
}
- iConn.Start( iConnPref, iStatus );
+ #ifdef BRDO_OCC_ENABLED_FF
+ TExtendedConnPref extPref;
+ CLOG(( EConn, 4, _L("CodHalder Setting OCC parameters") ));
+
+ CLOG(( EConn, 4, _L("Iap: %d"), aIap ));
+ if (aIap)
+ {
+ CLOG(( EConn, 4, _L("Iap is found") ));
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeUnknown);
+ extPref.SetIapId(aIap);
+ }
+ else
+ {
+ CLOG(( EConn, 4, _L("Using Internet Snap") ));
+ extPref.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+ }
+
+ extPref.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
+ TConnPrefList prefList;
+ prefList.AppendL(&extPref);
+ iConn.Start( prefList, iStatus );
+ #else
+ iConn.Start( iConnPref, iStatus );
+ #endif //BRDO_OCC_ENABLED_FF
+
iState = EConnecting;
SetActive();
CleanupStack::Pop( 2 ); // closing iConn and iSockServ
--- a/codhandler/codeng/src/DdDummyDict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/DdDummyDict.c Mon Mar 29 12:27:15 2010 +0100
@@ -35,8 +35,7 @@
*/
#include "DdDummyDict.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_DdDummy_ElementTag_name[] = {'n','a','m','e','\0'};
static const NW_Ucs2 NW_DdDummy_ElementTag_vendor[] = {'v','e','n','d','o','r','\0'};
--- a/codhandler/codeng/src/DdEng.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/DdEng.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "DdEng.h"
--- a/codhandler/codeng/src/DdParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/DdParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "DdParser.h"
@@ -27,7 +26,7 @@
#include "CodLogger.h"
#include "NwUtil.h"
#include "DdDummyDict.h"
-#include "HttpDownloadData.h"
+#include <httpdownloaddata.h>
#include <nw_dom_document.h>
#include <utf.h>
--- a/codhandler/codeng/src/DownloadDataClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/DownloadDataClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include <s32mem.h>
@@ -27,10 +26,8 @@
// ================= CONSTANTS =======================
-
// ================= MEMBER FUNCTIONS =======================
-
// ---------------------------------------------------------
// CMediaDataClient::NewL()
// ---------------------------------------------------------
@@ -108,7 +105,7 @@
bytes += sizeof(iRedirected);
bytes += iDestFilename->Size();
bytes += sizeof(iDownloadedSize);
- bytes += sizeof(iDesRemovable);
+ bytes += sizeof(iDesRemovableStatus);
bytes += sizeof(iLastErrorId);
bytes += sizeof(iGlobalErrorId);
bytes += sizeof(iPausable);
@@ -307,10 +304,10 @@
// CMediaDataClient::SetDesRemovable()
// ---------------------------------------------------------
//
-void CMediaDataClient::SetDesRemovable( TBool aDesRemovable )
- {
- iDesRemovable = aDesRemovable;
- }
+void CMediaDataClient::SetDesRemovable( TInt32 aDesRemovable )
+ {
+ iDesRemovableStatus = aDesRemovable;
+ }
// ---------------------------------------------------------
// CMediaDataClient::SetLastErrorId()
@@ -502,7 +499,7 @@
aStream.WriteInt32L(iDownloadedSize);
// iDesRemovable
- aStream.WriteInt32L(iDesRemovable);
+ aStream.WriteInt32L(iDesRemovableStatus);
// iLastErrorId
aStream.WriteInt32L(iLastErrorId);
--- a/codhandler/codeng/src/FileSaver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/FileSaver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,9 +17,8 @@
*
*/
-
// INCLUDE FILES
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "FileSaver.h"
#include "CodBuffStorage.h"
#include "CodLoadObserver.h"
@@ -32,7 +31,7 @@
#include "CodData.h"
#include <f32file.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <DocumentHandler.h>
#include <pathinfo.h>
@@ -47,7 +46,6 @@
const TInt KDefaultStorageBufferSize = 128 * 1024;
const TInt KDefaultStorageBufferSizePD = 16 * 1024;
-
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
--- a/codhandler/codeng/src/FotaSaver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/FotaSaver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include "FotaSaver.h"
--- a/codhandler/codeng/src/HttpLoader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/HttpLoader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "HttpLoader.h"
@@ -33,22 +32,20 @@
#include "CodProgress.h"
#include "CodEngbase.h"
-#include <CookieFilterInterface.h>
+#include <cookiefilterinterface.h>
#include <uaproffilter_interface.h>
-#include <DeflateFilterInterface.h>
+#include <deflatefilterinterface.h>
#include <httperr.h>
#include <bldvariant.hrh>
-#include <ECom.h>
+#include <ecom/ecom.h>
#include <es_sock.h>
#include <EscapeUtils.h>
#include <http/rhttpheaders.h>
#include <Oma2Agent.h>
-#include <HttpDownloadMgrCommon.h>
-#include "HeaderField.h"
-#include "FileExt.h"
-#include "CodData.h"
-
-
+#include <httpdownloadmgrcommon.h>
+#include "HeaderField.h"
+#include "FileExt.h"
+#include "CodData.h"
_LIT8( KDRMOldContentType, "x-drm-old-content-type"); // old content type header to be added
_LIT8( KAcceptRangeHeader, "bytes");
--- a/codhandler/codeng/src/HttpTcpSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/HttpTcpSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
#include "HttpTcpSession.h"
#include "CodLogger.h"
#include "CodPanic.h"
--- a/codhandler/codeng/src/HttpWapSession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/HttpWapSession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
#include "HttpWapSession.h"
#include "CodError.h"
#include "CodLogger.h"
--- a/codhandler/codeng/src/MediaObject.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/MediaObject.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -750,4 +750,4 @@
const TDataType& type( iTypes->MdcaPoint( aIndex ) );
iTypes->Delete(aIndex);
iTypes->InsertL(0,type.Des8());
- }
\ No newline at end of file
+ }
--- a/codhandler/codeng/src/NwUtil.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/NwUtil.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// INCLUDE FILES
#include "NwUtil.h"
--- a/codhandler/codeng/src/RoapSaver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codeng/src/RoapSaver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <RoapEng.h>
--- a/codhandler/codrecog/group/CodRecog.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codrecog/group/CodRecog.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET CodRecog.dll
TARGETTYPE PLUGIN
@@ -36,10 +36,9 @@
SOURCE CodRecog.cpp
USERINCLUDE ../inc
+USERINCLUDE ../../CodEng/inc
-SYSTEMINCLUDE ../../CodEng/inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/codhandler/codrecog/src/10008d49.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codrecog/src/10008d49.rss Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
-#include "RegistryInfo.rh"
+#include <ecom/registryinfo.rh>
// RESOURCE DEFINITIONS
--- a/codhandler/codrecog/src/CodRecog.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codrecog/src/CodRecog.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -24,9 +24,9 @@
#include <apmrec.h>
#include <apmstd.h>
#include <f32file.h>
-#include <CodDefs.h>
+#include "CodDefs.h"
#include <CharConv.h>
-#include <ImplementationProxy.h>
+#include <ecom/implementationproxy.h>
#include "CodRecog.h"
#include "CodRecogLogger.h"
--- a/codhandler/codui/data/CodUi.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/data/CodUi.rss Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
// RESOURCE IDENTIFIER
NAME CODU
@@ -25,9 +24,9 @@
// INCLUDES
#include <eikon.rh>
-#include <CodDefs.h>
+#include "CodDefs.h"
#include "CodUi.hrh"
-#include <CodViewer.loc>
+#include <codviewer.loc>
#include "eikon.rsg"
#include <avkon.loc>
#include <avkon.rsg>
--- a/codhandler/codui/group/CodUi.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/group/CodUi.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#include "../../CodEng/inc/CodDefs.h"
TARGET CodUi.dll
@@ -41,9 +41,10 @@
SOURCE DdViewerApp.cpp
SOURCE CodDownloadImpl.cpp
SOURCE CodDialog.cpp
-SOURCE CodConfirm.cpp
+SOURCE CodConfirm.cpp
START RESOURCE ../data/CodUi.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
#ifdef __S60_32__
@@ -54,12 +55,10 @@
END
USERINCLUDE ../inc
-
+USERINCLUDE ../../CodEng/inc
-SYSTEMINCLUDE ../../CodEng/inc
-
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
+// MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
LIBRARY efsrv.lib
LIBRARY apparc.lib
--- a/codhandler/codui/inc/CodAppUi.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/inc/CodAppUi.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef COD_APP_UI_H
#define COD_APP_UI_H
@@ -24,7 +23,7 @@
#include <e32base.h>
#include <AknAppUi.h>
#include <AknServerApp.h>
-#include <CodLoadObserver.h>
+#include "CodLoadObserver.h"
#include "CodWaitDialog.h"
// FORWARD DECLARATIONS
--- a/codhandler/codui/inc/CodDialog.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/inc/CodDialog.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
// FORWARD DECLARATION
--- a/codhandler/codui/inc/CodDownloadImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/inc/CodDownloadImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef COD_DOWNLOAD_IMPL_H
#define COD_DOWNLOAD_IMPL_H
@@ -32,8 +31,8 @@
#include <e32std.h>
#include <f32file.h>
-#include <CodDownload.h>
-#include <CodLoadObserver.h>
+#include <coddownload.h>
+#include "CodLoadObserver.h"
#include <AknServerApp.h>
// CONSTANTS
--- a/codhandler/codui/src/CodAppUi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodAppUi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <avkon.hrh>
#include <eikbtgpc.h>
#include <eikapp.h>
@@ -31,12 +30,12 @@
#include <RoapDef.h>
#include <DRMCommon.h>
#include <StringLoader.h>
-#include <CodEng.h>
-#include <CodData.h>
-#include <CodError.h>
-#include <CodStatus.h>
-#include <CodUtil.h>
-#include <RoapData.h>
+#include "CodEng.h"
+#include "CodData.h"
+#include "CodError.h"
+#include "CodStatus.h"
+#include "CodUtil.h"
+#include "RoapData.h"
#include "CodAppUi.h"
#include "CodView.h"
#include "CodDocument.h"
--- a/codhandler/codui/src/CodConfirm.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodConfirm.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
// INCLUDE FILES
#include <AknUtils.h>
#include <AknDef.h>
#include <StringLoader.h>
-#include <CodData.h>
-#include <CodDefs.h>
+#include "CodData.h"
+#include "CodDefs.h"
#include <avkon.rsg>
#include <CodUi.rsg>
#include "CodConfirm.h"
@@ -30,17 +29,15 @@
#include <Oma2Agent.h>
#include <AknLayout.cdl.h>
-
#include <eikmobs.h>
#include <aknPopup.h>
#include <aknlists.h>
-#include <StringLoader.h>
+#include <StringLoader.h>
_LIT( KListBoxSeparator, "\t" );
// FORWARD DECLARATIONS
-
// ================= TYPES =======================
/**
--- a/codhandler/codui/src/CodDocument.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodDocument.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
// INCLUDE FILES
#include <AiwGenericParam.h>
-#include <CodEng.h>
-#include <DdEng.h>
-#include <CodUtil.h>
+#include "CodEng.h"
+#include "DdEng.h"
+#include "CodUtil.h"
#include "CodDocument.h"
#include "CodAppUi.h"
#include "RequestCompleteCallback.h"
--- a/codhandler/codui/src/CodDownloadImpl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodDownloadImpl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <bldvariant.hrh>
@@ -30,18 +29,18 @@
#include <DRMCommon.h>
#include <aknmessagequerydialog.h>
#include <hlplch.h>
-#include <MultipartParser.h>
+#include <multipartparser.h>
#include <AknQueryDialog.h>
#include "CodDownloadImpl.h"
#include "CodUiPanic.h"
-#include <CodStatus.h>
-#include <CodDefs.h>
-#include <CodError.h>
-#include <CodEng.h>
-#include <CodData.h>
-#include <RoapData.h>
-#include <DdEng.h>
-#include <CodUtil.h>
+#include "CodStatus.h"
+#include "CodDefs.h"
+#include "CodError.h"
+#include "CodEng.h"
+#include "CodData.h"
+#include "RoapData.h"
+#include "DdEng.h"
+#include "CodUtil.h"
#include "CodUiResource.h"
#include <CodUi.rsg>
#include "CodViewDialog.h"
@@ -52,7 +51,7 @@
#include <Oma2Agent.h>
#include <bldvariant.hrh>
#include "CodConfirm.h"
-#include <bautils.h>
+#include <bautils.h>
#ifdef RD_MULTIPLE_DRIVE
#include <driveinfo.h>
--- a/codhandler/codui/src/CodView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <eikrted.h>
@@ -24,8 +23,8 @@
#include <AknUtils.h>
#include <AknDef.h>
#include <StringLoader.h>
-#include <CodData.h>
-#include <CodDefs.h>
+#include "CodData.h"
+#include "CodDefs.h"
#include <avkon.rsg>
#include <CodUi.rsg>
#include "CodView.h"
@@ -36,7 +35,6 @@
#include "eikon.hrh"
-
// ================= TYPES =======================
/**
--- a/codhandler/codui/src/CodViewerApp.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/CodViewerApp.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
// INCLUDE FILES
-#include <CodDefs.h>
+#include "CodDefs.h"
#include "CodViewerApp.h"
#include "CodDocument.h"
--- a/codhandler/codui/src/DdViewerApp.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codui/src/DdViewerApp.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
// INCLUDE FILES
-#include <CodDefs.h>
+#include "CodDefs.h"
#include "DdViewerApp.h"
#include "CodDocument.h"
--- a/codhandler/codviewer/data/CodViewer.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codviewer/data/CodViewer.rss Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <eikon.rh>
#include <appinfo.rh>
#include <avkon.rsg>
-#include <CodViewer.loc>
+#include <codviewer.loc>
// RESOURCE DEFINITIONS
--- a/codhandler/codviewer/data/CodViewer_reg.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codviewer/data/CodViewer_reg.rss Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
#include <appinfo.rh>
#include <CodViewer.rsg>
-#include <CodDefs.h>
+#include "CodDefs.h"
#include <data_caging_paths_strings.hrh>
UID2 KUidAppRegistrationResourceFile
--- a/codhandler/codviewer/group/CodViewer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codviewer/group/CodViewer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#include "../../CodEng/inc/CodDefs.h"
TARGET CodViewer.exe
@@ -33,6 +33,7 @@
SOURCE CodViewer.cpp
START RESOURCE ../data/CodViewer.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -42,11 +43,11 @@
#endif
END
-SYSTEMINCLUDE ../../CodEng/inc
-SYSTEMINCLUDE ../../CodUi/inc
+USERINCLUDE ../../CodEng/inc
+USERINCLUDE ../../CodUi/inc
+
MW_LAYER_SYSTEMINCLUDE
-
LIBRARY euser.lib
LIBRARY eikcore.lib
LIBRARY apparc.lib
--- a/codhandler/codviewer/src/CodViewer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/codviewer/src/CodViewer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
// INCLUDE FILES
#include <eikstart.h>
-#include <CodViewerApp.h>
+#include "CodViewerApp.h"
// ================= OTHER FUNCTIONS ==============
--- a/codhandler/ddrecog/group/DdRecog.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddrecog/group/DdRecog.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET DdRecog.dll
TARGETTYPE PLUGIN
@@ -36,10 +36,9 @@
SOURCE DdRecog.cpp
USERINCLUDE ../inc
+USERINCLUDE ../../CodEng/inc
-SYSTEMINCLUDE ../../CodEng/inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/codhandler/ddrecog/src/10008d55.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddrecog/src/10008d55.rss Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
-#include "RegistryInfo.rh"
+#include <ecom/registryinfo.rh>
// RESOURCE DEFINITIONS
--- a/codhandler/ddrecog/src/DdRecog.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddrecog/src/DdRecog.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,16 +17,15 @@
*
*/
-
// INCLUDE FILES
#include <s32std.h>
#include <apmrec.h>
#include <apmstd.h>
#include <f32file.h>
-#include <CodDefs.h>
+#include "CodDefs.h"
#include <CharConv.h>
-#include <ImplementationProxy.h>
+#include <ecom/implementationproxy.h>
#include "DdRecog.h"
#include "DdRecogLogger.h"
--- a/codhandler/ddviewer/data/DdViewer.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddviewer/data/DdViewer.rss Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <eikon.rh>
#include <appinfo.rh>
#include <avkon.rsg>
-#include <CodViewer.loc>
+#include <codviewer.loc>
// RESOURCE DEFINITIONS
--- a/codhandler/ddviewer/data/DdViewer_reg.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddviewer/data/DdViewer_reg.rss Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,9 @@
*
*/
-
#include <appinfo.rh>
#include <DdViewer.rsg>
-#include <CodDefs.h>
+#include "CodDefs.h"
#include <data_caging_paths_strings.hrh>
UID2 KUidAppRegistrationResourceFile
--- a/codhandler/ddviewer/group/DdViewer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddviewer/group/DdViewer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,9 +16,10 @@
*
*
*/
+
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#include "../../CodEng/inc/CodDefs.h"
TARGET DdViewer.exe
@@ -33,6 +34,7 @@
SOURCE DdViewer.cpp
START RESOURCE ../data/DdViewer.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -42,11 +44,11 @@
#endif
END
-SYSTEMINCLUDE ../../CodEng/inc
-SYSTEMINCLUDE ../../CodUi/inc
+USERINCLUDE ../../CodEng/inc
+USERINCLUDE ../../CodUi/inc
+
MW_LAYER_SYSTEMINCLUDE
-
LIBRARY euser.lib
LIBRARY eikcore.lib
LIBRARY apparc.lib
--- a/codhandler/ddviewer/src/DdViewer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/ddviewer/src/DdViewer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <eikstart.h>
-#include <DdViewerApp.h>
+#include "DdViewerApp.h"
// ================= OTHER FUNCTIONS ==============
--- a/codhandler/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,10 +19,10 @@
#include <platform_paths.hrh>
//#include <data_caging_paths_strings.hrh>
-#include "../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_EXPORTS
-../loc/CodViewer.loc MW_LAYER_LOC_EXPORT_PATH(CodViewer.loc)
+../loc/codviewer.loc MW_LAYER_LOC_EXPORT_PATH(codviewer.loc)
../rom/CodHandler.iby CORE_MW_LAYER_IBY_EXPORT_PATH(CodHandler.iby)
../rom/CodHandlerResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(CodHandlerResources.iby)
--- a/codhandler/roapapp/group/RoapApp.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/roapapp/group/RoapApp.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET RoapApp.exe
TARGETTYPE exe
@@ -41,6 +41,8 @@
SOURCE RoapAppLogger.cpp
START RESOURCE ../data/RoapApp.rss
+DEPENDS eikon.rsg
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -51,9 +53,9 @@
END
USERINCLUDE ../inc
-MW_LAYER_SYSTEMINCLUDE
-
+// MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
LIBRARY efsrv.lib
LIBRARY apparc.lib
@@ -79,8 +81,7 @@
LIBRARY aknskins.lib
LIBRARY aknskinsrv.lib
LIBRARY DownloadMgr.lib
-LIBRARY Centralrepository.lib
-
+LIBRARY Centralrepository.lib
#ifdef __SERIES60_HELP
LIBRARY hlplch.lib
--- a/codhandler/roapapp/inc/RoapAppLogger.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/roapapp/inc/RoapAppLogger.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef ROAP_APP_LOGGER_H
#define ROAP_APP_LOGGER_H
--- a/codhandler/roapapp/inc/RoapAppUi.h Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/roapapp/inc/RoapAppUi.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <AknAppUi.h>
#include <AknServerApp.h>
#include <RoapObserver.h>
-#include <DownloadMgrClient.h>
+#include <downloadmgrclient.h>
#include "RoapAppWaitDialog.h"
#include <CentralRepository.h>
--- a/codhandler/roapapp/src/RoapAppUi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/codhandler/roapapp/src/RoapAppUi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -45,7 +45,7 @@
#include "RoapAppPanic.h"
#include "RequestCompleteCallback.h"
#include "RoapAppLogger.h"
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#ifdef __SERIES60_HELP
// Context-Sensitve Help File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+ <package id="web" name="Web" levels="plugin utils server generic specific">
+ <collection id="web_info" name="Web Info" level="specific">
+ <component id="web_pub" filter="s60" name="Web Public Interfaces" class="api">
+ <unit bldFile="web_pub/group"/>
+ <!-- can these be #included in the above bld.inf? -->
+ <!-- <unit bldFile="web_pub/browser_control_api/tsrc/group"/> -->
+ <!-- <unit bldFile="web_pub/download_mgr_client_api/tsrc/group"/> -->
+ <!-- <unit bldFile="web_pub/favourites_engine_api/tsrc/group"/> -->
+ </component>
+ <component id="web_build" filter="s60" name="Web Build">
+ <!-- if the #ifdef can be moved out of here, this can be removed -->
+ <unit bldFile="group"/>
+ </component>
+ <component id="web_plat" filter="s60" name="Web Platform Interfaces" class="api">
+ <unit bldFile="web_plat/group"/>
+ </component>
+ </collection>
+ <collection id="browserutilities" name="Browser Utilities" level="utils">
+ <component id="browserdialogsprovider" filter="s60" name="Browser Dialogs Provider">
+ <unit bldFile="browserutilities/browserdialogsprovider/group"/>
+ </component>
+ <component id="recenturlstore" filter="s60" name="Recent URL Store">
+ <unit bldFile="browserutilities/recenturlstore/group"/>
+ </component>
+ <component id="xmlparser" filter="s60" name="XML Interface">
+ <unit bldFile="browserutilities/xmlparser/group"/>
+ </component>
+ <component id="cxmllibrary" filter="s60" name="XML Parser Implementation">
+ <unit bldFile="browserutilities/cxmllibrary/group"/>
+ </component>
+ <component id="downloadmgr" filter="s60" name="Download Manager">
+ <unit bldFile="browserutilities/downloadmgr/group"/>
+ </component>
+ <component id="connectionmanager" filter="s60" name="Connection Manager">
+ <unit bldFile="browserutilities/connectionmanager/group"/>
+ </component>
+ <component id="browsertelservice" filter="s60" name="Browser Telephony Service">
+ <unit bldFile="browserutilities/browsertelservice/group"/>
+ </component>
+ <component id="favouritesengine" filter="s60" name="Favourites Engine">
+ <unit bldFile="browserutilities/favouritesengine/group"/>
+ </component>
+ <component id="feedsengine" filter="s60" name="Feeds Engine">
+ <unit bldFile="browserutilities/feedsengine/group"/>
+ <!-- should this test be #included in the above bld.inf? -->
+ <!-- <unit bldFile="browserutilities/feedsengine/feedsserver/reconizer/group"/> -->
+ </component>
+ <component id="multipartparser" filter="s60" name="Multipart Parser">
+ <unit bldFile="browserutilities/multipartparser/group"/>
+ </component>
+ <component id="schemehandler" filter="s60" name="Scheme Handler">
+ <unit bldFile="browserutilities/schemehandler/group"/>
+ </component>
+ <component id="webutils" filter="s60" name="Web Utils">
+ <unit bldFile="browserutilities/webutils/group"/>
+ <!-- should this test be #included in the above bld.inf? -->
+ <!-- <unit bldFile="browserutilities/webutils/tsrc/public/adv/group"/> -->
+ </component>
+ <component id="aiwbrowserprovider" filter="s60" name="AIW Browser Provider" class="plugin">
+ <unit bldFile="browserutilities/aiwbrowserprovider/group"/>
+ </component>
+ <component id="browserutilities_build" filter="s60" name="Browser Utilities Build">
+ <!-- this can be removed if the #ifdef is moved into the multipart bld.inf -->
+ <unit bldFile="browserutilities/group"/>
+ </component>
+ </collection>
+ <collection id="webengine" name="Web Engine" level="server">
+ <component id="osswebengine" filter="s60" name="OSS Web Engine">
+ <!-- can only have one unit. Either split into multiple components or #include from a single main bld.inf -->
+ <unit bldFile="webengine/osswebengine/cache/group"/>
+ <unit bldFile="webengine/osswebengine/memorymanager/group"/>
+ <unit bldFile="webengine/osswebengine/npscript/group"/>
+ <unit bldFile="webengine/osswebengine/webkit/s60/group"/>
+ <unit bldFile="webengine/osswebengine/webkit/s60/group/javascriptcore"/>
+ <!-- <unit bldFile="webengine/osswebengine/webkit/s60/webview/webview_api_test/group"/> -->
+ <!-- <unit bldFile="webengine/osswebengine/webkit/s60/webview/webview_api_test/tsrc/group"/> -->
+ </component>
+ <component id="webkitutils" filter="s60" name="WebKit Utils">
+ <unit bldFile="webengine/webkitutils/group"/>
+ </component>
+ <component id="pagescaler" filter="s60" name="Page Scaler">
+ <unit bldFile="webengine/pagescaler/group"/>
+ </component>
+ <component id="webwidgetinstaller" filter="s60" name="Widget Installer">
+ <unit bldFile="webengine/widgetinstaller/group"/>
+ </component>
+ <component id="widgetregistry" filter="s60" name="Widget Registry">
+ <unit bldFile="webengine/widgetregistry/group"/>
+ <!-- should this test be #included in the above bld.inf? -->
+ <!-- <unit bldFile="webengine/widgetregistry/tsrc/public/basic/group"/> -->
+ </component>
+ <component id="wmlengine" filter="s60" name="WML Engine">
+ <unit bldFile="webengine/wmlengine/group"/>
+ </component>
+ <component id="device" filter="s60" name="Device">
+ <!-- this needs a more meaningful name -->
+ <unit bldFile="webengine/device/group"/>
+ </component>
+ <component id="widgetengine" filter="s60" name="Widget Engine">
+ <unit bldFile="webengine/widgetengine/group"/>
+ </component>
+ <!--Component manually removed as empty and name conflicts with another component-->
+ <component id="web_memoryplugin" name="Memory Plugin" filter="s60" class="plugin">
+ <unit bldFile="webengine/memoryplugin/group"/>
+ </component>
+ <component id="widgetmemoryplugin" filter="s60" name="Widget Memory Plugin" class="plugin">
+ <unit bldFile="webengine/widgetmemoryplugin/group"/>
+ </component>
+ <component id="widgetbackuprestore" filter="s60" name="Widget Backup and Restore">
+ <unit bldFile="webengine/widgetbackuprestore/group"/>
+ </component>
+ <component id="browserrecognizers" filter="s60" name="Browser Recognizers" class="plugin">
+ <unit bldFile="webengine/browserrecognizers/group"/>
+ </component>
+ <component id="wrtharvester" filter="s60" name="Web Runtime Harvester" class="plugin">
+ <unit bldFile="webengine/wrtharvester/group"/>
+ </component>
+ <component id="webengine_build" filter="s60" name="Web Engine Build">
+ <!-- should be able to break this up into the above bld.infs -->
+ <unit bldFile="webengine/group"/>
+ </component>
+ </collection>
+ <collection id="codhandler" name="Content Object Descriptor Handler" level="specific">
+ <component id="codeng" filter="s60" name="COD Engine">
+ <unit bldFile="codhandler/codeng/group"/>
+ </component>
+ <component id="codui" filter="s60" name="COD UI">
+ <unit bldFile="codhandler/codui/group"/>
+ </component>
+ <component id="codrecog" filter="s60" name="COD Recogniser" class="plugin">
+ <unit bldFile="codhandler/codrecog/group"/>
+ </component>
+ <component id="codviewer" filter="s60" name="COD Viewer">
+ <unit bldFile="codhandler/codviewer/group"/>
+ </component>
+ <component id="ddrecog" filter="s60" name="Download Descriptor Recogniser" class="plugin">
+ <unit bldFile="codhandler/ddrecog/group"/>
+ </component>
+ <component id="ddviewer" filter="s60" name="Download Descriptor Viewer">
+ <unit bldFile="codhandler/ddviewer/group"/>
+ </component>
+ <component id="coddownload" filter="s60" name="COD Download">
+ <unit bldFile="codhandler/coddownload/group"/>
+ </component>
+ <component id="roapapp" filter="s60" name="ROAP Application">
+ <unit bldFile="codhandler/roapapp/group"/>
+ </component>
+ <component id="codhandler_build" filter="s60" name="COD Handler Build">
+ <!-- is there another component these exports can go into? -->
+ <unit bldFile="codhandler/group"/>
+ </component>
+ </collection>
+ <collection id="widgets" name="Web Widget Framework" level="generic">
+ <component id="widgetrecognizer" filter="s60" name="Widget Recognizer" class="plugin">
+ <unit bldFile="widgets/widgetrecognizer/group"/>
+ </component>
+ <component id="widgetinstaller" filter="s60" name="Widget Installer UI" class="plugin">
+ <unit bldFile="widgets/widgetinstaller/group"/>
+ </component>
+ <component id="widgetlauncher" filter="s60" name="Widget Launcher">
+ <unit bldFile="widgets/widgetlauncher/group"/>
+ </component>
+ <component id="widgetapp" filter="s60" name="Widget UI">
+ <unit bldFile="widgets/widgetapp/group"/>
+ </component>
+ <component id="widgetpreinstaller" filter="s60" name="Widget Pre-Installer">
+ <unit bldFile="widgets/widgetpreinstaller/group"/>
+ </component>
+ <component id="widgetstartup" filter="s60" name="Widget Startup">
+ <unit bldFile="widgets/widgetstartup/group"/>
+ </component>
+ <component id="widgets_build" filter="s60" name="Widgets Build">
+ <!-- can this be broken up into the above components? -->
+ <unit bldFile="widgets/group"/>
+ </component>
+ </collection>
+ </package>
+</SystemDefinition>
--- a/web_plat/aiw_browser_provider_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/aiw_browser_provider_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,13 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/AiwBrowserCommands.hrh MW_LAYER_PLATFORM_EXPORT_PATH(AiwBrowserCommands.hrh)
+../inc/AiwBrowserCommands.hrh MW_LAYER_PLATFORM_EXPORT_PATH(aiwbrowsercommands.hrh)
PRJ_MMPFILES
--- a/web_plat/browser_dialogs_provider_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/browser_dialogs_provider_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,15 +18,14 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
-
DEFAULT
PRJ_EXPORTS
-../inc/BrowserDialogsProviderObserver.h MW_LAYER_PLATFORM_EXPORT_PATH(BrowserDialogsProviderObserver.h)
-../inc/BrowserDialogsProvider.h MW_LAYER_PLATFORM_EXPORT_PATH(BrowserDialogsProvider.h)
+../inc/browserdialogsproviderobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(browserdialogsproviderobserver.h)
+../inc/browserdialogsprovider.h MW_LAYER_PLATFORM_EXPORT_PATH(browserdialogsprovider.h)
PRJ_MMPFILES
--- a/web_plat/browser_dialogs_provider_api/inc/BrowserDialogsProvider.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/browser_dialogs_provider_api/inc/BrowserDialogsProvider.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
// System Includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
#include <eikenv.h>
#include <coneresloader.h>
#include <e32std.h>
--- a/web_plat/browser_platform_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/browser_platform_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,26 +15,26 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/Browser_platform_variant.hrh MW_LAYER_PLATFORM_EXPORT_PATH(Browser_platform_variant.hrh)
+../inc/browser_platform_variant.hrh MW_LAYER_PLATFORM_EXPORT_PATH(browser_platform_variant.hrh)
#ifdef BRDO_ADDED_EXPORT_LOCATION
-../inc/Browser_platform_variant.hrh BRDO_ADDED_EXPORT_LOCATION(Browser_platform_variant.hrh)
+../inc/browser_platform_variant.hrh BRDO_ADDED_EXPORT_LOCATION(browser_platform_variant.hrh)
#endif
#ifdef __PLATFORM_VERSION_50_TUBE__
-../inc/Browser_platform_variant.hrh /epoc32/include/oem/Browser_platform_variant.hrh
-../inc/Browser_platform_variant.hrh /epoc32/include/oem/platform/mw/Browser_platform_variant.hrh
+../inc/browser_platform_variant.hrh /epoc32/include/oem/browser_platform_variant.hrh
+../inc/browser_platform_variant.hrh /epoc32/include/oem/platform/mw/browser_platform_variant.hrh
#endif
#ifdef __PLATFORM_VERSION_50__
-../inc/Browser_platform_variant.hrh /epoc32/include/oem/Browser_platform_variant.hrh
+../inc/browser_platform_variant.hrh /epoc32/include/oem/browser_platform_variant.hrh
#endif
PRJ_MMPFILES
--- a/web_plat/browser_platform_api/inc/Browser_platform_variant.hrh Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/browser_platform_api/inc/Browser_platform_variant.hrh Mon Mar 29 12:27:15 2010 +0100
@@ -151,6 +151,23 @@
// Defines whether SAPI Security Manager Prompt Enhancement is available
#define BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
+// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
+//Flag need to be removed after this fix is supplied to Symbian 9.4
+#define BRDO_HTTP_STACK_93
+
+// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
+#define BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+
+// Flag for Multi touch enable
+#define BRDO_MULTITOUCH_ENABLED_FF
+//To provide WidgetSIDChecker support
+#define APP_SID_CHECK_SUPPORT_FF
+
+// One Click Connectivity support flag
+#define BRDO_OCC_ENABLED_FF
+
+//Single click flag
+#define BRDO_SINGLE_CLICK_ENABLED_FF
/*
* ===================
* S60 3.23
@@ -158,6 +175,21 @@
*/
#if defined(__PLATFORM_VERSION_32__)
+//OCC support
+#undef BRDO_OCC_ENABLED_FF
+
+//Single click support
+#undef BRDO_SINGLE_CLICK_ENABLED_FF
+
+//To provide WidgetSIDChecker support
+#undef APP_SID_CHECK_SUPPORT_FF
+
+// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
+#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+
+// Flag for Multi touch enable
+#undef BRDO_MULTITOUCH_ENABLED_FF
+
// Defines touch screen capability
#undef BRDO_TOUCH_ENABLED_FF
@@ -186,16 +218,16 @@
// Location, where the middleware layer localization .loc file should be exported
#if __GNUC__ >= 3
-#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(exported)
+#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(oem/exported)
#else
-#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(##exported)
+#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(oem/##exported)
#endif
// Location, where the middleware layer localization .loc file should be exported
#if __GNUC__ >= 3
-#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(exported)
+#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(oem/exported)
#else
-#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(##exported)
+#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(oem/##exported)
#endif
#if __GNUC__ >= 3
@@ -204,23 +236,13 @@
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../platform/mw/##exported)
#endif
-#define APP_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define APP_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define APP_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
-#define APP_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define APP_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define APP_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define APP_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define APP_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
+#endif
-#define MW_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
+#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define MW_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define MW_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define MW_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define MW_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+#endif
/*
* ===================
@@ -229,6 +251,19 @@
*/
#elif defined(__PLATFORM_VERSION_50_TUBE__)
+//OCC support
+#undef BRDO_OCC_ENABLED_FF
+//Single click support
+#undef BRDO_SINGLE_CLICK_ENABLED_FF
+
+// Flag for Multi touch enable
+#undef BRDO_MULTITOUCH_ENABLED_FF
+//To provide WidgetSIDChecker support
+#undef APP_SID_CHECK_SUPPORT_FF
+
+// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
+#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+
// Defines must accumulate versions. ie for 5.01 you must define BRDO_BROWSER_50_FF and BRDO_BROWSER_501_FF(To be reviewed)
// The assumption is that anything that worked in 3.2 will work in 5.0 and 5.01. For anything doesn't work
// in 3.2 but works in 5.0 and above, that code should be behind the BRDO_BROWSER_50_FF flag.
@@ -252,24 +287,22 @@
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/##exported)
#endif
-#define APP_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
-#define APP_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../ecom)
-#define APP_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../http)
-#define APP_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../connect)
-#define APP_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../swi)
-#define APP_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../kernel)
-#define APP_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../push)
-#define APP_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis)
+#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
+#endif
-#define MW_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
-#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../ecom)
-#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../http)
-#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../connect)
-#define MW_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../swi)
-#define MW_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../kernel)
-#define MW_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../push)
-#define MW_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis)
+#ifndef OS_LAYER_LIBC_SYSTEMINCLUDE
+#define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis) \
+ OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+#endif
+#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
+#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/connect
+#endif
+
+// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
+//Flag need to be removed after this fix is supplied to Symbian 9.4
+#undef BRDO_HTTP_STACK_93
/*
* ===================
* S60 5.0 PF5250+ / Ivalo / Saga
@@ -277,6 +310,20 @@
*/
#elif defined(__PLATFORM_VERSION_50__)
+//OCC support
+#undef BRDO_OCC_ENABLED_FF
+//Single click support
+#undef BRDO_SINGLE_CLICK_ENABLED_FF
+
+// Flag for Multi touch enable
+#undef BRDO_MULTITOUCH_ENABLED_FF
+
+//To provide WidgetSIDChecker support
+#undef APP_SID_CHECK_SUPPORT_FF
+
+// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
+#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+
// Defines must accumulate versions. ie for 5.01 you must define BRDO_BROWSER_50_FF and BRDO_BROWSER_501_FF(To be reviewed)
// The assumption is that anything that worked in 3.2 will work in 5.0 and 5.01. For anything doesn't work
// in 3.2 but works in 5.0 and above, that code should be behind the BRDO_BROWSER_50_FF flag.
@@ -288,24 +335,17 @@
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/##exported)
#endif
-#define APP_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
-#define APP_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../ecom)
-#define APP_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../http)
-#define APP_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../connect)
-#define APP_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../swi)
-#define APP_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../kernel)
-#define APP_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../push)
-#define APP_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis)
+#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
+#endif
-#define MW_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
-#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../ecom)
-#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../http)
-#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../connect)
-#define MW_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../swi)
-#define MW_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../kernel)
-#define MW_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../push)
-#define MW_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis)
+#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
+#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/connect
+#endif
+// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
+//Flag need to be removed after this fix is supplied to Symbian 9.4
+#undef BRDO_HTTP_STACK_93
/*
* ===================
* S60 5.1
@@ -313,40 +353,51 @@
*/
#elif defined(__PLATFORM_VERSION_51__)
+//OCC support
+#undef BRDO_OCC_ENABLED_FF
+//Single click support
+#undef BRDO_SINGLE_CLICK_ENABLED_FF
+
+// Flag for Multi touch enable
+#undef BRDO_MULTITOUCH_ENABLED_FF
+
+//To provide WidgetSIDChecker support
+#undef APP_SID_CHECK_SUPPORT_FF
+
+// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
+#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
#define BRDO_BROWSER_50_FF
#define BRDO_BROWSER_51_FF
-#define APP_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define APP_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define APP_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
-#define APP_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define APP_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define APP_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define APP_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define APP_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
+#endif
-#define MW_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
-#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define MW_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define MW_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define MW_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define MW_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
-
+// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
+//Flag need to be removed after this fix is supplied to Symbian 9.4
+#undef BRDO_HTTP_STACK_93
/*
* ===================
* S60 5.2
* ===================
*/
+//Flag provieded to not fix the problem for Multiple heap created for in application startup
+#undef BRDO_STATIC_DATA_CLEANUP_SUPPORT_FF
#elif defined(__PLATFORM_VERSION_52__)
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
+//Defines One Click Connectivity support
+#define BRDO_OCC_ENABLED_FF
+
+//Single click support
+#define BRDO_SINGLE_CLICK_ENABLED_FF
+
#define BRDO_BROWSER_50_FF
#define BRDO_BROWSER_51_FF
#define BRDO_BROWSER_52_FF
@@ -355,27 +406,23 @@
// un-comment this line for week21 release
#undef BRDO_MULTIPART_PARSER_FF
-#define APP_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define APP_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define APP_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
-#define APP_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define APP_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define APP_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define APP_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define APP_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
+//Flag need to be removed after this fix is supplied to Symbian 9.4
+#undef BRDO_HTTP_STACK_93
-#define MW_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
-#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(ecom)
-#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(http)
-#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
-#define MW_LAYER_SWI_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(swi)
-#define MW_LAYER_OSKERNEL_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(kernel)
-#define MW_LAYER_PUSH_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(push)
-#define MW_LAYER_STDAPIS_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
+#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
+#endif
// Platform contains new Symbian Libxml implementation
#define BRDO_SYMBIAN_LIBXML_FF
+// Static data initializtion on start up in E32Main()
+#define BRDO_STATIC_DATA_CLEANUP_SUPPORT_FF
+
+//To provide WidgetSIDChecker support
+#define APP_SID_CHECK_SUPPORT_FF
+
#endif // PLATFORM VERSION ID's
// Generic run-time definitions -- see WmlBrowserBuild.h for similar feature related definitions
@@ -388,5 +435,4 @@
#define BRDO_BROWSER_UPDATE_UI_FF 0
#endif // KFeatureIdIAUpdate
-
#endif // BROWSER_PLATFORM_VARIANT_HRH
--- a/web_plat/cod_handler_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cod_handler_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,14 +16,14 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/CodDownload.h MW_LAYER_PLATFORM_EXPORT_PATH(CodDownload.h)
-../inc/HttpDownloadData.h MW_LAYER_PLATFORM_EXPORT_PATH(HttpDownloadData.h)
+../inc/coddownload.h MW_LAYER_PLATFORM_EXPORT_PATH(coddownload.h)
+../inc/httpdownloaddata.h MW_LAYER_PLATFORM_EXPORT_PATH(httpdownloaddata.h)
PRJ_MMPFILES
--- a/web_plat/cod_handler_api/inc/HttpDownloadData.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cod_handler_api/inc/HttpDownloadData.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef HTTPDOWNLOADDATA_H
#define HTTPDOWNLOADDATA_H
@@ -224,9 +222,9 @@
/**
* Get Destination Removable.
- * @return iDesRemovable.
+ * @return iDesRemovableStatus.
*/
- inline TBool DesRemovable() const { return iDesRemovable; }
+ inline TBool DesRemovable() const { return ( KDriveAttRemovable == iDesRemovableStatus ) ? ETrue : EFalse ; }
/**
* Get Last Error Id.
@@ -388,7 +386,7 @@
* Set destination removable attribute.
* @param aDesRemovable Whether removable media drive.
*/
- virtual void SetDesRemovable( TBool aDesRemovable ) = 0;
+ virtual void SetDesRemovable( TInt32 aDesRemovable ) = 0;
/**
* Set last error id attribute.
@@ -430,7 +428,7 @@
TBool iRedirected; ///< Is Redirected?
HBufC* iDestFilename; ///< Media Destination Filename.
TInt iDownloadedSize; ///<The media track downloaded size.Should be equal to iSize when download completed successfully
- TBool iDesRemovable; ///< Is file stored on removable media?
+ TInt32 iDesRemovableStatus; ///< Is file stored on removable media?
TInt iLastErrorId; ///< THttpDownloadMgrError.
TInt iGlobalErrorId; ///< Global Error Id.
TBool iPausable; ///< Is Media-Download Pausable?
--- a/web_plat/connection_manager_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/connection_manager_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,16 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-
-../inc/InternetConnectionManager.h MW_LAYER_PLATFORM_EXPORT_PATH(InternetConnectionManager.h)
-../inc/MConnection.h MW_LAYER_PLATFORM_EXPORT_PATH(MConnection.h)
-../inc/ConnectionObservers.h MW_LAYER_PLATFORM_EXPORT_PATH(ConnectionObservers.h)
-../inc/IdPair.h MW_LAYER_PLATFORM_EXPORT_PATH(IdPair.h)
-../inc/ApChangeObserver.h MW_LAYER_PLATFORM_EXPORT_PATH(ApChangeObserver.h)
+../inc/internetconnectionmanager.h MW_LAYER_PLATFORM_EXPORT_PATH(internetconnectionmanager.h)
+../inc/mconnection.h MW_LAYER_PLATFORM_EXPORT_PATH(mconnection.h)
+../inc/connectionobservers.h MW_LAYER_PLATFORM_EXPORT_PATH(connectionobservers.h)
+../inc/idpair.h MW_LAYER_PLATFORM_EXPORT_PATH(idpair.h)
+../inc/apchangeobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(apchangeobserver.h)
PRJ_MMPFILES
--- a/web_plat/connection_manager_api/inc/InternetConnectionManager.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/connection_manager_api/inc/InternetConnectionManager.h Mon Mar 29 12:27:15 2010 +0100
@@ -244,6 +244,12 @@
* @return none.
*/
IMPORT_C void ShowConnectionChangedDlg();
+
+ /**
+ * Cancels the connection.
+ * @return none.
+ */
+ virtual void CancelConnection();
public:
@@ -396,7 +402,7 @@
/**
*Utility functions that are used to establish a connection with a snap Id
*/
- TInt ConnectWithSnapId(TUint32 aRequestedSnapId);
+ TInt ConnectWithSnapIdL(TUint32 aRequestedSnapId);
TInt ConnectSnapWithoutCheckL(TUint32 aRequestedSnapId);
--- a/web_plat/cxml_library_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
@@ -23,7 +23,7 @@
PRJ_EXPORTS
// All in one header file for clients.
-../inc/nw_cXML_Parser.h MW_LAYER_PLATFORM_EXPORT_PATH(nw_cXML_Parser.h)
+../inc/nw_cxml_parser.h MW_LAYER_PLATFORM_EXPORT_PATH(nw_cxml_parser.h)
// Individual header files for cXML Parser
../inc/cxml_proj.h MW_LAYER_PLATFORM_EXPORT_PATH(cxml_proj.h)
--- a/web_plat/cxml_library_api/inc/cxml_file_if.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/cxml_file_if.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
-
#ifndef _CXML_FILE_IF_H_
#define _CXML_FILE_IF_H_
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/cxml_nw2cxmlTypes.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/cxml_nw2cxmlTypes.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#ifndef CXML_NW2CXMLTYPES_H
#define CXML_NW2CXMLTYPES_H
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
#ifdef __cplusplus
extern "C"
--- a/web_plat/cxml_library_api/inc/cxml_proj.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/cxml_proj.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,16 +27,14 @@
#ifndef CXML_PROJ_H
#define CXML_PROJ_H
-
-
#ifndef NOKIA_MOBILE_BROWSER
-#include "cxml_nw2cxmlTypes.h"
+#include <cxml_nw2cxmlTypes.h>
#endif
#include <nwx_status.h>
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
#ifdef __cplusplus
extern "C"
--- a/web_plat/cxml_library_api/inc/cxml_str.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/cxml_str.h Mon Mar 29 12:27:15 2010 +0100
@@ -31,7 +31,7 @@
/*
** Includes
*/
-#include "cxml_type_def.h"
+#include <cxml_type_def.h>
CXML_Ucs2 CXML_Str_ToLower(const CXML_Ucs2 ch);
CXML_Ucs2 CXML_Str_ToUpper(const CXML_Ucs2 ch);
--- a/web_plat/cxml_library_api/inc/nw_cXML_Parser.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_cXML_Parser.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef NW_CXML_PARSER_H
#define NW_CXML_PARSER_H
@@ -24,7 +22,6 @@
// This header file includes all public API headers for the cXML Parser.
-
#include <nw_xmlp_xmlreader.h>
#include <nw_xmlp_xmlparser.h>
#include <nw_wbxml_reader.h>
--- a/web_plat/cxml_library_api/inc/nw_dom.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,8 +19,8 @@
#ifndef NW_DOM_H
#define NW_DOM_H
-#include "cxml_proj.h"
-#include "nw_wbxml_parse.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_parse.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_dom_attribute.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom_attribute.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,15 +27,14 @@
#ifndef NW_DOM_ATTRIBUTE_H
#define NW_DOM_ATTRIBUTE_H
-#include "cxml_proj.h"
-#include "nw_dom_node.h"
-#include "nw_tinytree.h"
+#include <cxml_proj.h>
+#include <nw_dom_node.h>
+#include <nw_tinytree.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
/** ----------------------------------------------------------------------- **
@struct: NW_DOM_AttributeListIterator
--- a/web_plat/cxml_library_api/inc/nw_dom_document.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom_document.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_DOM
@@ -27,11 +26,11 @@
#ifndef NW_DOM_DOCUMENT_H
#define NW_DOM_DOCUMENT_H
-#include "cxml_proj.h"
-#include "nw_dom_node.h"
-#include "nw_dom_text.h"
-#include "nw_dom_element.h"
-#include "nw_wbxml_dictionary.h"
+#include <cxml_proj.h>
+#include <nw_dom_node.h>
+#include <nw_dom_text.h>
+#include <nw_dom_element.h>
+#include <nw_wbxml_dictionary.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_dom_element.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom_element.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,8 +27,8 @@
#ifndef NW_DOM_ELEMENT_H
#define NW_DOM_ELEMENT_H
-#include "nw_dom_node.h"
-#include "nw_dom_attribute.h"
+#include <nw_dom_node.h>
+#include <nw_dom_attribute.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_dom_node.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom_node.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_DOM
@@ -27,9 +26,9 @@
#ifndef NW_DOM_NODE_H
#define NW_DOM_NODE_H
-#include "nw_tinytree.h"
-#include "nw_tinydom.h"
-#include "nw_string_string.h"
+#include <nw_tinytree.h>
+#include <nw_tinydom.h>
+#include <nw_string_string.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_dom_text.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_dom_text.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,14 +27,13 @@
#ifndef NW_DOM_TEXT_H
#define NW_DOM_TEXT_H
-#include "cxml_proj.h"
-#include "nw_dom_node.h"
+#include <cxml_proj.h>
+#include <nw_dom_node.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
/** ----------------------------------------------------------------------- **
@typedef: NW_DOM_TextItemIterator
--- a/web_plat/cxml_library_api/inc/nw_encoder_domencoder.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_encoder_domencoder.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_Encoder
@@ -27,19 +26,18 @@
#ifndef _NW_ENCODER_WRITER_HEADER_GUARD_
#define _NW_ENCODER_WRITER_HEADER_GUARD_
-#include "nw_encoder_stringtable.h"
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_dom_attribute.h"
-#include "nw_dom_element.h"
-#include "nw_dom_text.h"
-#include "nw_dom_document.h"
+#include <nw_encoder_stringtable.h>
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_dom_attribute.h>
+#include <nw_dom_element.h>
+#include <nw_dom_text.h>
+#include <nw_dom_document.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
-
#define MEMORY_INCREMENT 100
/** ----------------------------------------------------------------------- **
--- a/web_plat/cxml_library_api/inc/nw_encoder_stringtable.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_encoder_stringtable.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_Encoder
@@ -28,9 +27,9 @@
#ifndef _NW_ENCODER_STRING_TABLE_HEADER_GUARD_
#define _NW_ENCODER_STRING_TABLE_HEADER_GUARD_
-#include "nw_string_string.h"
-#include "nw_tinytree.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_string_string.h>
+#include <nw_tinytree.h>
+#include <nw_wbxml_dictionary.h>
#ifdef __cplusplus
extern "C"
@@ -51,7 +50,6 @@
** ----------------------------------------------------------------------- **/
typedef NW_TinyTree_Node_t NW_DOM_DocumentNode_t;
-
/*
* StringItem methods
*/
--- a/web_plat/cxml_library_api/inc/nw_encoder_wbxmlwriter.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_encoder_wbxmlwriter.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_WBXMLWRITER_H
#define NW_WBXMLWRITER_H
-#include "nw_wbxml_dictionary.h"
+#include <nw_wbxml_dictionary.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_string_char.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_string_char.h Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#ifndef NW_STRING_CHARACTER_H
#define NW_STRING_CHARACTER_H
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_string_string.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_string_string.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_String
@@ -28,15 +27,14 @@
#ifndef NW_STRING_STRING_H
#define NW_STRING_STRING_H
-#include "cxml_proj.h"
-#include "nw_string_char.h"
+#include <cxml_proj.h>
+#include <nw_string_char.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
-
/** ----------------------------------------------------------------------- **
@struct: NW_String_String
--- a/web_plat/cxml_library_api/inc/nw_tinydom.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_tinydom.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,26 +28,22 @@
#ifndef NW_TINY_DOM_H
#define NW_TINY_DOM_H
-#include "cxml_proj.h"
-#include "nw_tinytree.h"
-#include "nw_wbxml_document.h"
-#include "nw_wbxml_parse.h"
-#include "nw_wbxml_opaque.h"
-#include "nw_encoder_wbxmlwriter.h"
+#include <cxml_proj.h>
+#include <nw_tinytree.h>
+#include <nw_wbxml_document.h>
+#include <nw_wbxml_parse.h>
+#include <nw_wbxml_opaque.h>
+#include <nw_encoder_wbxmlwriter.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
-
-
enum NW_TinyDom_ExtensionType_e {
NW_TINYDOM_EXTENSION_TYPE_NORMAL,
NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER
};
-
/** ----------------------------------------------------------------------- **
@struct: NW_TinyDom_Extension
--- a/web_plat/cxml_library_api/inc/nw_tinydom_utils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_tinydom_utils.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_TinyDom
@@ -28,10 +27,10 @@
#ifndef TINY_DOM_UTILS_H
#define TINY_DOM_UTILS_H
-#include "nw_wbxml_parse.h"
-#include "nw_tinydom.h"
-#include "nw_encoder_wbxmlwriter.h"
-#include "nw_dom_document.h"
+#include <nw_wbxml_parse.h>
+#include <nw_tinydom.h>
+#include <nw_encoder_wbxmlwriter.h>
+#include <nw_dom_document.h>
#ifdef __cplusplus
extern "C"
--- a/web_plat/cxml_library_api/inc/nw_tinytree.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_tinytree.h Mon Mar 29 12:27:15 2010 +0100
@@ -29,15 +29,14 @@
#ifndef NW_TINY_TREE_H
#define NW_TINY_TREE_H
-#include "cxml_proj.h"
-#include "nw_tinytree_treevector.h"
-#include "nw_tinytree_ebuffer.h"
+#include <cxml_proj.h>
+#include <nw_tinytree_treevector.h>
+#include <nw_tinytree_ebuffer.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
/* ----------------------------------------------------------------------- **
Tiny tree definitions
** ----------------------------------------------------------------------- **/
--- a/web_plat/cxml_library_api/inc/nw_tinytree_ebuffer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_tinytree_ebuffer.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_TINYTREE_EBUFFER_H
#define NW_TINYTREE_EBUFFER_H
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_tinytree_treevector.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_tinytree_treevector.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,14 +28,12 @@
#ifndef NW_TINYTREE_TREEVECTOR_H
#define NW_TINYTREE_TREEVECTOR_H
-#include "cxml_proj.h"
-
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
typedef struct NW_TinyTree_TinyTree_s NW_TinyTree_t;
/** ----------------------------------------------------------------------- **
--- a/web_plat/cxml_library_api/inc/nw_wbxml_dictionary.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_dictionary.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,8 +28,8 @@
#ifndef NW_PARSER_WBXML_DICTIONARY_H
#define NW_PARSER_WBXML_DICTIONARY_H
-#include "cxml_proj.h"
-#include "nw_string_string.h"
+#include <cxml_proj.h>
+#include <nw_string_string.h>
#ifdef __cplusplus
extern "C"
--- a/web_plat/cxml_library_api/inc/nw_wbxml_document.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_document.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,9 +28,9 @@
#ifndef NW_PARSER_WBXML_DOCUMENT_H
#define NW_PARSER_WBXML_DOCUMENT_H
-#include "cxml_proj.h"
-#include "nw_string_string.h"
-#include "nw_encoder_stringtable.h"
+#include <cxml_proj.h>
+#include <nw_string_string.h>
+#include <nw_encoder_stringtable.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_wbxml_event.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_event.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,8 +28,8 @@
#ifndef NW_PARSER_WBXML_EVENT_H
#define NW_PARSER_WBXML_EVENT_H
-#include "nw_wbxml_document.h"
-#include "cxml_proj.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_document.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_wbxml_opaque.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_opaque.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_PARSER_WBXML_OPAQUE_H
#define NW_PARSER_WBXML_OPAQUE_H
-#include "cxml_proj.h"
+#include <cxml_proj.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_wbxml_parse.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_parse.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,15 +28,14 @@
#ifndef NW_PARSER_WBXML_PARSE_H
#define NW_PARSER_WBXML_PARSE_H
-#include "cxml_proj.h"
-#include "nw_wbxml_token.h"
-#include "nw_wbxml_event.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_token.h>
+#include <nw_wbxml_event.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
/** ----------------------------------------------------------------------- **
@struct: NW_WBXML_CP_Registry_Entry
--- a/web_plat/cxml_library_api/inc/nw_wbxml_reader.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_reader.h Mon Mar 29 12:27:15 2010 +0100
@@ -32,16 +32,15 @@
#ifndef NW_PARSER_WBXML_READER_H
#define NW_PARSER_WBXML_READER_H
-#include "cxml_proj.h"
-#include "nw_wbxml_document.h"
-#include "nw_wbxml_opaque.h"
-#include "nw_wbxml_parse.h"
+#include <cxml_proj.h>
+#include <nw_wbxml_document.h>
+#include <nw_wbxml_opaque.h>
+#include <nw_wbxml_parse.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
/* The "parser-reader" interface */
/** ----------------------------------------------------------------------- **
--- a/web_plat/cxml_library_api/inc/nw_wbxml_token.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_wbxml_token.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/** ----------------------------------------------------------------------- **
@package: NW_WBXML
@@ -28,15 +27,14 @@
#ifndef NW_PARSER_WBXML_TOKEN_H
#define NW_PARSER_WBXML_TOKEN_H
-#include "cxml_proj.h"
-#include "nw_string_string.h"
+#include <cxml_proj.h>
+#include <nw_string_string.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
-
/*
* WBXML global tokens, section 7
*/
--- a/web_plat/cxml_library_api/inc/nw_xmlp_xmlp2wbxml.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_xmlp_xmlp2wbxml.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_XMLP2WBXML_H
#define NW_XMLP2WBXML_H
-#include "nw_xmlp_xmlreader.h"
+#include <nw_xmlp_xmlreader.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_xmlp_xmlparser.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_xmlp_xmlparser.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_XMLPARSER_H
#define NW_XMLPARSER_H
-#include "nw_xmlp_xmlreader.h"
+#include <nw_xmlp_xmlreader.h>
#ifdef __cplusplus
extern "C" {
--- a/web_plat/cxml_library_api/inc/nw_xmlp_xmlreader.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nw_xmlp_xmlreader.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#ifndef NW_XML_READER_H
#define NW_XML_READER_H
-#include "cxml_proj.h"
+#include <cxml_proj.h>
/** ----------------------------------------------------------------------- **
@enum: NW_XML_Endianness
--- a/web_plat/cxml_library_api/inc/nwx_status.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/cxml_library_api/inc/nwx_status.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/***************************************************************************
** File: nwx_status.h
** Purpose: Contains definitions of status values common throughout
--- a/web_plat/download_mgr_client_api_extn/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/download_mgr_client_api_extn/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,12 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/DownloadMgrClientApiExt.h MW_LAYER_PLATFORM_EXPORT_PATH(DownloadMgrClientApiExt.h)
+../inc/downloadmgrclientapiext.h MW_LAYER_PLATFORM_EXPORT_PATH(downloadmgrclientapiext.h)
PRJ_MMPFILES
--- a/web_plat/download_mgr_client_api_extn/inc/DownloadMgrClientApiExt.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/download_mgr_client_api_extn/inc/DownloadMgrClientApiExt.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,10 @@
*
*/
-
-
#ifndef __RHTTPDOWNLOADMGRAPIEXT_H__
#define __RHTTPDOWNLOADMGRAPIEXT_H__
-
-#include "DownloadMgrClient.h"
-
+#include <downloadmgrclient.h>
/**
* API Extensions for RHttpDownloadMgr
--- a/web_plat/feeds_engine_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,30 +14,30 @@
* Description: Build information for the Feeds Server Api
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-
-../inc/FeedsServerClient.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerClient.h)
-../inc/FeedsServerFeed.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerFeed.h)
-../inc/FeedsServerFolderItem.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerFolderItem.h)
+../inc/feedsserverclient.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsserverclient.h)
+../inc/feedsserverfeed.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsserverfeed.h)
+../inc/feedsserverfolderitem.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsserverfolderitem.h)
-../inc/FeedsServerMsg.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerMsg.h)
-../inc/Transaction.h MW_LAYER_PLATFORM_EXPORT_PATH(Transaction.h)
-../inc/FeedsEntity.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsEntity.h)
-../inc/FeedsMap.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsMap.h)
-../inc/FeedsInterface.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsInterface.h)
-../inc/FeedAttributes.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedAttributes.h)
-../inc/FolderAttributes.h MW_LAYER_PLATFORM_EXPORT_PATH(FolderAttributes.h)
+../inc/feedsservermsg.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsservermsg.h)
+../inc/transaction.h MW_LAYER_PLATFORM_EXPORT_PATH(transaction.h)
+../inc/feedsentity.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsentity.h)
+../inc/feedsmap.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsmap.h)
+../inc/feedsinterface.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsinterface.h)
+../inc/feedattributes.h MW_LAYER_PLATFORM_EXPORT_PATH(feedattributes.h)
+../inc/folderattributes.h MW_LAYER_PLATFORM_EXPORT_PATH(folderattributes.h)
-../inc/FeedsServerRequestHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerRequestHandler.h)
-../inc/FeedsServerSettings.h MW_LAYER_PLATFORM_EXPORT_PATH(FeedsServerSettings.h)
-../inc/ConnectionObserver.h MW_LAYER_PLATFORM_EXPORT_PATH(ConnectionObserver.h)
-../inc/LeakTracker.h MW_LAYER_PLATFORM_EXPORT_PATH(LeakTracker.h)
-../inc/XmlEncoding.h MW_LAYER_PLATFORM_EXPORT_PATH(XmlEncoding.h)
+../inc/feedsserverrequesthandler.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsserverrequesthandler.h)
+../inc/feedsserversettings.h MW_LAYER_PLATFORM_EXPORT_PATH(feedsserversettings.h)
+../inc/connectionobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(connectionobserver.h)
+../inc/leaktracker.h MW_LAYER_PLATFORM_EXPORT_PATH(leaktracker.h)
+../inc/xmlencoding.h MW_LAYER_PLATFORM_EXPORT_PATH(xmlencoding.h)
PRJ_MMPFILES
--- a/web_plat/feeds_engine_api/inc/FeedsEntity.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsEntity.h Mon Mar 29 12:27:15 2010 +0100
@@ -96,7 +96,7 @@
/**
* Two-phased constructor.
*/
- CFeedsEntity* CFeedsEntity::NewMiniItemL();
+ CFeedsEntity* NewMiniItemL();
/**
--- a/web_plat/feeds_engine_api/inc/FeedsInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FEED_INTERFACE_H
#define FEED_INTERFACE_H
@@ -23,10 +22,11 @@
#include <e32std.h>
#include <e32base.h>
#include <ApEngineconsts.h>
-//#include "Transaction.h"
-#include "FeedsEntity.h"
-#include "FeedAttributes.h"
-#include "FolderAttributes.h"
+//#include <transaction.h>
+#include <feedsentity.h>
+#include <feedattributes.h>
+#include <folderattributes.h>
+
// CONSTANTS
// MACROS
@@ -230,14 +230,14 @@
*
* @return void
*/
- IMPORT_C void RFeedsInterface::DebugPrintTablesL();
+ IMPORT_C void DebugPrintTablesL();
/**
* Disconnect connection provided by client for manual update.
*
* @return void
*/
- IMPORT_C void RFeedsInterface::DisconnectManualUpdateConnectionL();
+ IMPORT_C void DisconnectManualUpdateConnectionL();
/**
* Fetches feed (async)
@@ -295,7 +295,7 @@
* @return void.
*/
- IMPORT_C void RFeedsInterface::WatchSettingsL();
+ IMPORT_C void WatchSettingsL();
/**
* Export passed folder in OPML file
@@ -469,4 +469,4 @@
};
#endif // FEED_INTERFACE_H
-// End of File
\ No newline at end of file
+// End of File
--- a/web_plat/feeds_engine_api/inc/FeedsServerClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsServerClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FEEDS_SERVER_CLIENT_H
#define FEEDS_SERVER_CLIENT_H
@@ -28,9 +27,9 @@
#include <FeedsServerSettings.h>
//API changes
-#include "FeedsInterface.h"
-#include "FeedsMap.h"
-#include "Transaction.h"
+#include <feedsinterface.h>
+#include <feedsmap.h>
+#include <transaction.h>
// CONSTANTS
@@ -42,7 +41,6 @@
// FORWARD DECLARATIONS
-
// CLASS DECLARATION
class CClientRequestHandler;
/**
--- a/web_plat/feeds_engine_api/inc/FeedsServerFeed.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsServerFeed.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FEEDS_SERVER_FEED_H
#define FEEDS_SERVER_FEED_H
@@ -25,16 +24,14 @@
#include <FeedsServerRequestHandler.h>
#include <FeedsServerMsg.h>
-#include "FeedsEntity.h"
-
-#include "LeakTracker.h"
-#include "Transaction.h"
+#include <feedsentity.h>
+#include <leaktracker.h>
+#include <transaction.h>
// CONSTANTS
// MACROS
-
// FUNCTION PROTOTYPES
// FORWARD DECLARATIONS
--- a/web_plat/feeds_engine_api/inc/FeedsServerFolderItem.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsServerFolderItem.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef FEEDS_SERVER_FOLDER_ITEM_H
#define FEEDS_SERVER_FOLDER_ITEM_H
@@ -24,10 +23,9 @@
#include <e32std.h>
#include <FeedsServerRequestHandler.h>
-#include "FeedsEntity.h"
-#include "LeakTracker.h"
-
-#include "Transaction.h"
+#include <feedsentity.h>
+#include <leaktracker.h>
+#include <transaction.h>
// CONSTANTS
--- a/web_plat/feeds_engine_api/inc/FeedsServerRequestHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/FeedsServerRequestHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <e32std.h>
-#include <ConnectionObserver.h>
+#include <connectionobserver.h>
// CONSTANTS
--- a/web_plat/feeds_engine_api/inc/Transaction.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/Transaction.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef TRANSACTION_H
#define TRANSACTION_H
@@ -24,10 +23,9 @@
#include <e32std.h>
#include <ApEngineconsts.h>
-#include "FeedsServerMsg.h"
-
-#include "FeedsEntity.h"
-#include "FeedsInterface.h"
+#include <feedsservermsg.h>
+#include <feedsentity.h>
+#include <feedsinterface.h>
// CONSTANTS
--- a/web_plat/feeds_engine_api/inc/XmlEncoding.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/feeds_engine_api/inc/XmlEncoding.h Mon Mar 29 12:27:15 2010 +0100
@@ -180,7 +180,7 @@
* @param aValueEnd The end of the encoding's value
* @return ETrue if the encoding was found.
*/
- TBool CXmlEncoding::FindEncoding(const TDesC8& aBuffer,
+ TBool FindEncoding(const TDesC8& aBuffer,
TInt& aBegin, TInt& aEnd, TInt& aValueBegin, TInt& aValueEnd) const;
/**
@@ -194,7 +194,7 @@
* @param aValueEnd The end of the encoding's value
* @return ETrue if the encoding was found.
*/
- TBool CXmlEncoding::FindEncoding(const TDesC& aBuffer,
+ TBool FindEncoding(const TDesC& aBuffer,
TInt& aBegin, TInt& aEnd, TInt& aValueBegin, TInt& aValueEnd) const;
--- a/web_plat/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include "../browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../browser_platform_api/inc/browser_platform_variant.hrh"
#include "../aiw_browser_provider_api/group/bld.inf"
@@ -31,12 +31,12 @@
#include "../multipart_parser_api/group/bld.inf"
#endif
#include "../recent_url_store_api/group/bld.inf"
-#include "../rt_gesturehelper_api/group/bld.inf"
#include "../scheme_handler_plugin_api/group/bld.inf"
#include "../scriptable_plugin_api/group/bld.inf"
#include "../webutils_api/group/bld.inf"
#include "../widget_registry_api/group/bld.inf"
#include "../xml_parser_api/group/bld.inf"
+#include "../stmgesturefw_api/group/bld.inf"
PRJ_PLATFORMS
DEFAULT
--- a/web_plat/launcher_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/launcher_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,20 +18,17 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
-
DEFAULT
PRJ_EXPORTS
+../inc/browserlauncher.h MW_LAYER_PLATFORM_EXPORT_PATH(browserlauncher.h)
+../inc/downloadedcontenthandler.h MW_LAYER_PLATFORM_EXPORT_PATH(downloadedcontenthandler.h)
+../inc/browseroverriddensettings.h MW_LAYER_PLATFORM_EXPORT_PATH(browseroverriddensettings.h)
+../inc/browseroverriddensettings.inl MW_LAYER_PLATFORM_EXPORT_PATH(browseroverriddensettings.inl)
-../inc/BrowserLauncher.h MW_LAYER_PLATFORM_EXPORT_PATH(BrowserLauncher.h)
-../inc/DownloadedContentHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(DownloadedContentHandler.h)
-../inc/BrowserOverriddenSettings.h MW_LAYER_PLATFORM_EXPORT_PATH(BrowserOverriddenSettings.h)
-../inc/BrowserOverriddenSettings.inl MW_LAYER_PLATFORM_EXPORT_PATH(BrowserOverriddenSettings.inl)
PRJ_MMPFILES
// End of file
-
-
--- a/web_plat/launcher_api/inc/BrowserLauncher.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/launcher_api/inc/BrowserLauncher.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
// INCLUDES
#include <e32std.h>
#include <e32base.h>
-#include <FavouritesDb.h>
+#include <favouritesdb.h>
// FORWARD DECLARATIONS
class CBrowserLauncherExtension;
@@ -244,4 +244,4 @@
TBool& aIsOverriddenSettings );
};
-#endif // BROWSERLAUNCHER_H
\ No newline at end of file
+#endif // BROWSERLAUNCHER_H
--- a/web_plat/multipart_parser_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/multipart_parser_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#ifdef BRDO_MULTIPART_PARSER_FF
@@ -24,8 +24,8 @@
DEFAULT
PRJ_EXPORTS
-../inc/BodyPart.h MW_LAYER_PLATFORM_EXPORT_PATH(BodyPart.h)
-../inc/MultipartParser.h MW_LAYER_PLATFORM_EXPORT_PATH(MultipartParser.h)
+../inc/bodypart.h MW_LAYER_PLATFORM_EXPORT_PATH(bodypart.h)
+../inc/multipartparser.h MW_LAYER_PLATFORM_EXPORT_PATH(multipartparser.h)
PRJ_MMPFILES
--- a/web_plat/multipart_parser_api/inc/MultipartParser.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/multipart_parser_api/inc/MultipartParser.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,21 +15,16 @@
*
*/
-
-
#ifndef MULTIPARTPARSER_H
#define MULTIPARTPARSER_H
// INCLUDES
-#include "BodyPart.h"
-
+#include <bodypart.h>
// CONSTANTS
-
// DATA TYPES
-
// FORWARD DECLARATIONS
class CBodyPart;
--- a/web_plat/recent_url_store_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/recent_url_store_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-
-../inc/RecentUrlStore.h MW_LAYER_PLATFORM_EXPORT_PATH(RecentUrlStore.h)
+../inc/recenturlstore.h MW_LAYER_PLATFORM_EXPORT_PATH(recenturlstore.h)
PRJ_MMPFILES
--- a/web_plat/rt_gesturehelper_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information
-*
-*/
-#include <platform_paths.hrh>
-#include "../../browser_platform_api/inc/Browser_platform_variant.hrh"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/rt_gesturehelper.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gesturehelper.h)
-../inc/rt_gestureobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gestureobserver.h)
-
-PRJ_MMPFILES
-
-
--- a/web_plat/rt_gesturehelper_api/inc/rt_gesturehelper.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: RT Gesture helper interface
-*
-*/
-
-
-#ifndef _RT_GESTUREHELPER_H_
-#define _RT_GESTUREHELPER_H_
-
-#include <e32base.h>
-#include <rt_gestureobserver.h>
-
-class CAlfEnv;
-class CAlfDisplay;
-class TAlfEvent;
-struct TPointerEvent;
-
-namespace RT_GestureHelper
-{
-
-class CGestureHelperImpl;
-
-/**
- * Gesture helper provides functionality to convert a stream of pointer events
- * into a logical gesture, and to assist clients in calculation of gesture
- * speed and distance.
- *
- * Interfaces
- * - CGestureHelper is a parser of pointer events. Recognises gestures from
- * a sequence of pointer events, and converts them to gesture commands.
- * For documentation of callbacks, see @ref MGestureObserver.
- * - MGestureObserver allows clients to get notified of gestures
- * - MGestureEvent represents the gesture (event)
- */
-NONSHARABLE_CLASS( CGestureHelper ) : public CBase
- {
-public:
- /**
- * The helper is expected to be a member variable, hence NewLC is not provided
- */
- IMPORT_C static CGestureHelper* NewL( MGestureObserver& aObserver );
-
- /** Destructor */
- IMPORT_C ~CGestureHelper();
-
- /**
- * Specify whether the helper will send hold events. By default, holding is enabled.
- * "Hold" means user has held stylus/finger on the same position for a longer duration.
- *
- * Clients that require holding to be treated with no special meaning should disable
- * holding to simplify their event handling.
- * For example, assume the client uses swipe left/right to control navigation, and
- * holding is enabled. If user holds, the client gets hold left/right
- * event, and no swipe event. If user now drags left or right while still pressing
- * stylus down, the client will not get a swipe event (since it already received a hold
- * event). Upon release event, the client no reliable way of knowing whether the
- * user swiped left/right or cancelled the swipe. This problem is removed if the
- * client simply disables holding. In the above scenario while holding disabled,
- * the client would get only swipe events (and released event).
- * (Swipe can be cancelled by dragging towards, but not beyond, the starting position.)
- */
- IMPORT_C void SetHoldingEnabled( TBool aEnabled );
-
- /**
- * @return whether sending hold events is currently enabled
- * ("Hold" means user has held stylus/finger on the same position for a longer duration.)
- */
- IMPORT_C TBool IsHoldingEnabled() const;
-
- /**
- * Enables/disables double tap support. Double tap is disabled by default.
- * When double tap is disabled, gesture helper emits tap events immediately when
- * user lifts stylus/finger.
- * When double tap is enabled, tap events are emitted after the double tap timeout passes.
- * The timeout is the maximum time within which the second tap will be treated
- * as a double tap. That is, there is a delay (sluggishness) before client receives
- * the tap event when double tap is enabled.
- * tap + timeout => tap event emitted after timeout
- * tap + tap before timeout => double tap event emitted immediately after the second tap
- * tap + swipe => tap + swipe events
- * (tap + timeout + tap + timeout => two tap events)
- */
- IMPORT_C void SetDoubleTapEnabled( TBool aEnabled );
-
- /**
- * @return whether double tap is currently enabled. See SetDoubleTapEnabled
- */
- IMPORT_C TBool IsDoubleTapEnabled() const;
-
- /**
- * Initialise pointer capture for Alfred
- * This means that helper will receive drag events and pointer events that
- * go outside the original visual area
- */
- IMPORT_C void InitAlfredPointerCaptureL( CAlfEnv& aEnv, CAlfDisplay& aDisplay,
- TInt aFreeControlGroupId );
-
- /**
- * Give a pointer event to the helper, to form a part of a gesture
- * For AVKON-based client, this interface is the only option.
- * Alfred-based client should use OfferEventL, as it allows gesture events to
- * provider the visual on which the pointer event started.
- * @param aEvent pointer event
- * @return whether event was consumed or not
- * EFalse the event is not a pointer events and if pointer up/drag
- * event received without pointer down event
- * ETrue in all the other cases of pointer event
- */
- IMPORT_C TBool HandlePointerEventL( const TPointerEvent& aEvent );
-
- /**
- * Offer an Alf event. See HandlePointerEventL.
- * @return whether event was consumed or not
- * EFalse the event is not a pointer events and if pointer up/drag
- * event received without pointer down event
- * ETrue in all the other cases of pointer event
- */
- IMPORT_C TBool OfferEventL( const TAlfEvent& aEvent );
-
- /**
- * Cancel ongoing recognision. Purges all pointer events given earlier, and
- * starts afresh. It is not necessary to call Cancel before deleting the object.
- */
- IMPORT_C void Cancel();
-
-private:
- /// interface implementation
- CGestureHelperImpl* iImpl;
- };
-
-} // namespace RT_GestureHelper
-
-#endif // _RT_GESTUREHELPER_H_
--- a/web_plat/rt_gesturehelper_api/inc/rt_gestureobserver.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: RT Gesture helper interface
-*
-*/
-
-#ifndef _RT_GESTUREOBSERVER_H_
-#define _RT_GESTUREOBSERVER_H_
-
-#include <e32std.h>
-
-namespace RT_GestureHelper
-{
-
-/// flag that indicates gesture code is a holding code
-/// clients should use MGestureEvent::IsHolding
-const TInt EFlagHold = 0x10000000;
-
-enum TGestureCode
- {
- // states
- EGestureStart = 0x00000001, // gesture just started (user pressed stylus down)
- EGestureDrag = 0x00000002, // user moved stylus (may be holding or not holding)
- EGestureReleased = 0x00000003, // user lifted stylus while user was holding
- // gestures
- EGestureUnknown = 0x00000005, // gesture was not recognised
- // these codes are sent when user lifts stylus (if holding not started)
- EGestureTap = 0x00000006,
- EGestureDoubleTap = 0x00000007, // only if double tap is enabled
- // (via CGestureHelper::SetDoubleTapEnabled or
- // CGestureControl::SetDoubleTapEnabled)
- EGestureSwipeLeft = 0x00000008,
- EGestureSwipeRight = 0x00000009,
- EGestureSwipeUp = 0x0000000A,
- EGestureSwipeDown = 0x0000000B,
-
- EGestureFlick = 0x0000000C,
- EGestureLongTap = 0x0000000D,
- EGestureDrop = 0x0000000E,
-
- // these codes are sent when user initiates holding by keeping stylus in
- // same place for a longer duration
- EGestureHoldLeft = EGestureSwipeLeft | EFlagHold,
- EGestureHoldRight = EGestureSwipeRight | EFlagHold,
- EGestureHoldUp = EGestureSwipeUp | EFlagHold,
- EGestureHoldDown = EGestureSwipeDown | EFlagHold
- };
-
-/**
- * Point of float accuracy
- */
-NONSHARABLE_STRUCT( TRealPoint )
- {
- inline TRealPoint();
- inline TRealPoint( const TRealPoint& aPoint );
- inline TRealPoint( TReal aX, TReal aY );
- inline TBool operator==( const TRealPoint& aPoint ) const;
-
- TReal32 iX;
- TReal32 iY;
- };
-
-/**
- * a gesture event
- */
-
-enum TAxis
- {
- EAxisBoth,
- EAxisHorizontal,
- EAxisVertical
- };
-
-
-class TGestureEvent
-{
-public:
- inline TGestureCode Code( TAxis /*aRelevantAxis*/ ) const { return iCode; };
- inline TBool IsHolding() const { return iIsHolding; };
- inline TPoint StartPos() const { return iStartPos; };
- inline TPoint CurrentPos() const { return iCurrPos; };
- inline TRealPoint Speed() const { return iSpeed; };
- inline TRealPoint SpeedPercent ( const TRect& /*aEdges*/ ) const { return iSpeedPercent; };
- inline TPoint Distance() const { return iDistance; };
-
- inline void SetCurrentPos(TPoint aPos) { iCurrPos = aPos; };
- inline void SetStartPos(TPoint aPos) {iStartPos = aPos; };
- inline void SetCode(TGestureCode aCode) {iCode = aCode; };
- inline void SetSpeed(TRealPoint aSpeed) { iSpeed = aSpeed; };
- inline void SetDistance(TPoint aDistance) { iDistance = aDistance; };
- inline void SetSpeedPercent(TRealPoint aSpeedPercent) { iSpeedPercent = aSpeedPercent; };
-
- inline void SetIsHolding(TBool aIsHolding) { iIsHolding = aIsHolding; };
-
-private:
- TGestureCode iCode;
- TBool iIsHolding;
- TPoint iStartPos;
- TPoint iCurrPos;
- TRealPoint iSpeed;
- TRealPoint iSpeedPercent;
- TPoint iDistance;
-};
-
-
-/**
- * Observer that will be notified when user makes gestures
- */
-class MGestureObserver
- {
-public:
- /**
- * Handle the gesture event
- * @param aEvent event describing the gesture
- */
- virtual void HandleGestureL( const TGestureEvent& aEvent ) = 0;
- };
-
-// ----------------------------------------------------------------------------
-// Default constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint()
- : iX( 0 ), iY( 0 )
- {
- }
-
-// ----------------------------------------------------------------------------
-// Copy constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint( const TRealPoint& aPoint )
- : iX( aPoint.iX ), iY( aPoint.iY )
- {
- }
-
-// ----------------------------------------------------------------------------
-// Copy constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TRealPoint::TRealPoint( TReal aX, TReal aY )
- : iX( aX ), iY( aY )
- {
- }
-
-// ----------------------------------------------------------------------------
-// Default constructor for real point
-// ----------------------------------------------------------------------------
-//
-inline TBool TRealPoint::operator==( const TRealPoint& aPoint ) const
- {
- return iX == aPoint.iX && iY == aPoint.iY;
- }
-
-
-} // namespace RT_GestureHelper
-
-#endif // _RT_GESTUREOBSERVER_H_
--- a/web_plat/rt_gesturehelper_api/rt_gesturehelper_api.metaxml Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-<api id="32779a8096ddc71728a395da6c5caf1d" dataversion="1.0">
- <name>RT Gesture Helper API</name>
- <description>Interface to the RT GestureHelper library.</description>
- <type>c++</type>
- <subsystem>WebKitUtils</subsystem>
- <libs>
- </libs>
- <release category="domain" sinceversion="7.0"/>
- <attributes>
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/web_plat/scheme_handler_plugin_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/scheme_handler_plugin_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,22 +17,19 @@
*
*/
-
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/SchemeHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(SchemeHandler.h)
-../inc/SchemeHandler.inl MW_LAYER_PLATFORM_EXPORT_PATH(SchemeHandler.inl)
-../inc/SchemeDefs.hrh MW_LAYER_PLATFORM_EXPORT_PATH(SchemeDefs.hrh)
+../inc/schemehandler.h MW_LAYER_PLATFORM_EXPORT_PATH(schemehandler.h)
+../inc/schemehandler.inl MW_LAYER_PLATFORM_EXPORT_PATH(schemehandler.inl)
+../inc/schemedefs.hrh MW_LAYER_PLATFORM_EXPORT_PATH(schemedefs.hrh)
#ifdef BRDO_ADDED_EXPORT_LOCATION
-../inc/SchemeDefs.hrh BRDO_ADDED_EXPORT_LOCATION(SchemeDefs.hrh)
+../inc/schemedefs.hrh BRDO_ADDED_EXPORT_LOCATION(schemedefs.hrh)
#endif
PRJ_MMPFILES
-
-
--- a/web_plat/scheme_handler_plugin_api/inc/SchemeHandler.inl Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/scheme_handler_plugin_api/inc/SchemeHandler.inl Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDE FILES
#include <SchemeDefs.hrh>
-#include <ECom.h> // For REComSession
+#include <ecom/ecom.h> // For REComSession
// ================= CONSTANTS =======================
--- a/web_plat/scriptable_plugin_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/scriptable_plugin_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-
../inc/npscript.h MW_LAYER_PLATFORM_EXPORT_PATH(npscript.h)
PRJ_MMPFILES
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information
+*
+*/
+#include <platform_paths.hrh>
+#include "../../browser_platform_api/inc/browser_platform_variant.hrh"
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/rt_gesturehelper.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gesturehelper.h)
+../inc/rt_gestureobserver.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gestureobserver.h)
+../inc/rt_gestureif.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gestureif.h)
+../inc/rt_gesturelistener.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_gesturelistener.h)
+../inc/rt_uievent.h MW_LAYER_PLATFORM_EXPORT_PATH(rt_uievent.h)
+../inc/stmgestureinterface.h MW_LAYER_PLATFORM_EXPORT_PATH(stmgestureinterface.h)
+../inc/stmgesturelistener.h MW_LAYER_PLATFORM_EXPORT_PATH(stmgesturelistener.h)
+
+PRJ_MMPFILES
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/rt_gesturehelper.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: RT Gesture helper interface
+*
+*/
+
+
+#ifndef _RT_GESTUREHELPER_H_
+#define _RT_GESTUREHELPER_H_
+
+#include <e32base.h>
+#include <rt_gestureobserver.h>
+
+#endif // _RT_GESTUREHELPER_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/rt_gestureif.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#ifndef RT_GESTUREIF_H_
+#define RT_GESTUREIF_H_
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <coemain.h>
+#include <aknutils.h>
+#include <e32property.h>
+#include <w32std.h>
+
+namespace stmGesture
+{
+
+/**
+ * UIDs for supported Gestures
+ */
+enum TGestureUid
+{
+ EGestureUidUnknown = 0,
+ EGestureUidTouch,
+ EGestureUidTap,
+ EGestureUidDoubleTap = EGestureUidTap,
+ EGestureUidLongPress,
+ EGestureUidHover,
+ EGestureUidPan,
+ EGestureUidRelease,
+ EGestureUidLeftRight,
+ EGestureUidUpDown,
+ EGestureUidFlick,
+ EGestureUidEdgeScroll,
+ EGestureUidPinch,
+ EGestureUidCornerZoom,
+ //
+ EStmGestureUid_Count
+};
+
+/**
+ * Area Settings
+ */
+enum TGestureAreaSettings
+{
+ ETouchTimeArea,
+ ETouchArea,
+ EHoldArea,
+ //
+ EGestureAreaSettingsCount
+};
+
+/**
+ * Gesture Specific Settings
+ */
+enum TGestureSettings
+{
+ //ETouchTimeout,
+ EDoubleTapTimeout,
+ ESuppressTimeout,
+ EMoveSuppressTimeout,
+ EHoverSpeed,
+ EPanSpeedLow,
+ EPanSpeedHigh,
+ EFlickSpeed = EPanSpeedHigh,
+ EPinchSpeed,
+ EZoomCornerSize,
+ EEdgeScrollRange,
+ ECapacitiveUpUsed,
+ EPanDisabledWhileHovering,
+ EHoverDisabledWhilePanning,
+ EAdjustYPos,
+ EEnableFiltering,
+ EWServMessageInterception,
+ //
+ EGestureSettingsCount
+};
+
+struct TGestureArea
+{
+public:
+ enum TShape
+ {
+ /// Use GestureArea settings from globally defined default
+ EDefaultSettings = -1,
+ ERectangle = 1, // == stmUiEventEngine::ERectangle,
+ ECircle = 2, // == stmUiEventEngine::ECircle,
+ EEllipse = 3 // == stmUiEventEngine::EEllipse
+ };
+
+ TShape iShape;
+ TInt iTimeout;
+ // At the moment iWidth is only used
+ TSize iSize;
+};
+
+/**
+ * Edge Scroll Type
+ */
+enum TEdgeScroll
+{
+ EEdgeScrollUp = 1,
+ EEdgeScrollDown,
+ EEdgeScrollLeft,
+ EEdgeScrollRight,
+ EEdgeScrollUnknown
+};
+
+/**
+ * Tap Type
+ */
+enum TTapType
+{
+ ETapTypeSingle = 1,
+ ETapTypeDouble
+};
+
+/**
+ * Zoom Type
+ */
+enum TZoomType
+{
+ EZoomUndefined = 0,
+ EZoomIn = 1,
+ EZoomOut = 2
+};
+
+/**
+ * Direction Definition
+ */
+enum TGestureDirection
+{
+ ENoDirection = 0,
+ //
+ ENorth = 1,
+ ENorthEast,
+ EEast,
+ ESouthEast,
+ ESouth,
+ ESouthWest,
+ EWest,
+ ENorthWest,
+};
+
+/*!
+ * Generic gesture interface. The gestures
+ * contain a generic part and a gesture specific part
+ * is obtained using the getDetails() method.
+ *
+ */
+class MGestureIf
+{
+public:
+ virtual TGestureUid gestureUid() const = 0; // Identifier of recognizer type that issues the gesture
+ virtual TPoint getLocation() const = 0 ; // Location where the gesture happened (if applicable)
+ virtual int getType() const = 0 ; // If the gesture can have different types (like tap or double tap)
+ virtual float getSpeedX() const __SOFTFP = 0 ; // px/msec, as calculated in the UI state machine, not valid in all cases
+ virtual float getSpeedY() const __SOFTFP = 0 ; // px/msec, as calculated in the UI state machine, not valid in all cases
+ virtual int getDetails() const = 0 ; // Other possible details....
+ virtual TPtrC8 getGestureName() = 0 ; // String name for gesture, makes possible to use single callback for gestures
+ virtual TPoint getLengthAndDirection() const { return TPoint(0,0); } // very simple vector
+ virtual TGestureDirection getDirection() const { return stmGesture::ENoDirection; }
+ virtual TPoint getPinchEndPos() const { return TPoint(0,0); }
+};
+
+} // namespace
+
+#endif /* RT_GESTUREIF_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/rt_gesturelistener.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#ifndef RT_GESTURELISTENER_H_
+#define RT_GESTURELISTENER_H_
+
+#include <rt_gestureif.h>
+
+namespace stmGesture
+{
+/*!
+ * The gesture listener interface. This interface needs to be implemented by the
+ * listener of the standard gestures implemented in the gesture framework.
+ */
+class MGestureListener
+{
+public:
+ /*!
+ * The method that will be called by the gesture framework
+ * to inform about a gesture being recognised.
+ * \param theGesture: contains the recognised gesture.
+ * The MGestureIf contains generic part and gesture specific part
+ * so the listener needs to know how to handle specific gestures.
+ */
+ virtual void gestureEnter(MGestureIf& theGesture) = 0 ;
+ /*!
+ * The method to inform the listener that the gesture has ended.
+ * This happens if another gesture is recognised or e.g. the Release UI
+ * event is handled.
+ * \note Some gestures produce only gestureEnter() callback and no gestureExit().
+ */
+ virtual void gestureExit(TGestureUid gestureUid) = 0 ;
+ /*!
+ * The listener needs to provide the target control (CCoeControl*) to the
+ * standard gestures. Since the gesture framework processes all events in the
+ * application, the gesture recognisers check whether the events are targeted
+ * to the listener owning control.
+ * Not all gesture recognisers need to perform this check.
+ * \return the owning CCoeControl of the gesture listener.
+ */
+ virtual CCoeControl* getOwner() = 0 ;
+};
+
+}
+#endif /* RT_GESTURELISTENER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/rt_gestureobserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: RT Gesture helper interface
+*
+*/
+
+#ifndef _RT_GESTUREOBSERVER_H_
+#define _RT_GESTUREOBSERVER_H_
+
+#include <e32std.h>
+
+namespace RT_GestureHelper
+{
+
+/// flag that indicates gesture code is a holding code
+/// clients should use MGestureEvent::IsHolding
+const TInt EFlagHold = 0x10000000;
+
+enum TGestureCode
+ {
+ // states
+ EGestureStart = 0x00000001, // gesture just started (user pressed stylus down)
+ EGestureDrag = 0x00000002, // user moved stylus (may be holding or not holding)
+ EGestureReleased = 0x00000003, // user lifted stylus while user was holding
+ // gestures
+ EGestureUnknown = 0x00000005, // gesture was not recognised
+ // these codes are sent when user lifts stylus (if holding not started)
+ EGestureTap = 0x00000006,
+ EGestureDoubleTap = 0x00000007, // only if double tap is enabled
+ // (via CGestureHelper::SetDoubleTapEnabled or
+ // CGestureControl::SetDoubleTapEnabled)
+ EGestureSwipeLeft = 0x00000008,
+ EGestureSwipeRight = 0x00000009,
+ EGestureSwipeUp = 0x0000000A,
+ EGestureSwipeDown = 0x0000000B,
+
+ EGestureFlick = 0x0000000C,
+ EGestureLongTap = 0x0000000D,
+ EGestureDrop = 0x0000000E,
+
+ // these codes are sent when user initiates holding by keeping stylus in
+ // same place for a longer duration
+ EGestureHoldLeft = EGestureSwipeLeft | EFlagHold,
+ EGestureHoldRight = EGestureSwipeRight | EFlagHold,
+ EGestureHoldUp = EGestureSwipeUp | EFlagHold,
+ EGestureHoldDown = EGestureSwipeDown | EFlagHold,
+ EGesturePinch
+ };
+
+/**
+ * Point of float accuracy
+ */
+NONSHARABLE_STRUCT( TRealPoint )
+ {
+ inline TRealPoint();
+ inline TRealPoint( const TRealPoint& aPoint );
+ inline TRealPoint( TReal aX, TReal aY );
+ inline TBool operator==( const TRealPoint& aPoint ) const;
+
+ TReal32 iX;
+ TReal32 iY;
+ };
+
+/**
+ * a gesture event
+ */
+
+enum TAxis
+ {
+ EAxisBoth,
+ EAxisHorizontal,
+ EAxisVertical
+ };
+
+
+class TGestureEvent
+{
+public:
+ inline TGestureCode Code( TAxis /*aRelevantAxis*/ ) const { return iCode; };
+ inline TBool IsHolding() const { return iIsHolding; };
+ inline TPoint StartPos() const { return iStartPos; };
+ inline TPoint CurrentPos() const { return iCurrPos; };
+ inline TRealPoint Speed() const { return iSpeed; };
+ inline TRealPoint SpeedPercent ( const TRect& /*aEdges*/ ) const { return iSpeedPercent; };
+ inline TPoint Distance() const { return iDistance; };
+
+ inline void SetCurrentPos(TPoint aPos) { iCurrPos = aPos; };
+ inline void SetStartPos(TPoint aPos) {iStartPos = aPos; };
+ inline void SetCode(TGestureCode aCode) {iCode = aCode; };
+ inline void SetSpeed(TRealPoint aSpeed) { iSpeed = aSpeed; };
+ inline void SetDistance(TPoint aDistance) { iDistance = aDistance; };
+ inline void SetSpeedPercent(TRealPoint aSpeedPercent) { iSpeedPercent = aSpeedPercent; };
+
+ inline void SetIsHolding(TBool aIsHolding) { iIsHolding = aIsHolding; };
+
+private:
+ TGestureCode iCode;
+ TBool iIsHolding;
+ TPoint iStartPos;
+ TPoint iCurrPos;
+ TRealPoint iSpeed;
+ TRealPoint iSpeedPercent;
+ TPoint iDistance;
+};
+
+
+// ----------------------------------------------------------------------------
+// Default constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint()
+ : iX( 0 ), iY( 0 )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Copy constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint( const TRealPoint& aPoint )
+ : iX( aPoint.iX ), iY( aPoint.iY )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Copy constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint( TReal aX, TReal aY )
+ : iX( aX ), iY( aY )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Default constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TBool TRealPoint::operator==( const TRealPoint& aPoint ) const
+ {
+ return iX == aPoint.iX && iY == aPoint.iY;
+ }
+
+
+} // namespace RT_GestureHelper
+
+#endif // _RT_GESTUREOBSERVER_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/rt_uievent.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,309 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef RT_UIEVENT_H_
+#define RT_UIEVENT_H_
+
+// INCLUDES
+#include <browser_platform_variant.hrh>
+#include <coemain.h>
+#include <aknutils.h>
+#include <e32property.h>
+#include <w32std.h>
+
+#if defined(BRDO_MULTITOUCH_ENABLED_FF)
+#define ADVANCED_POINTER_EVENTS
+#endif
+
+namespace stmUiEventEngine
+{
+
+#if defined(ADVANCED_POINTER_EVENTS)
+static const TInt KMaxNumberOfPointers(2) ; // How many pointer we have in multi-touch case
+#else
+static const TInt KMaxNumberOfPointers(1) ; // How many pointer we have in single touch case
+#endif
+
+/*!
+ * Event code generated from the state machine
+ */
+enum TUiEventCode
+{
+ ETouch = 0x01,
+ EHold = 0x02,
+ EMove = 0x03,
+ ERelease= 0x04,
+ ENull = 0x05
+};
+
+/*!
+ * Shape of the Area
+ */
+enum TAreaShape
+{
+ ERectangle = 1,
+ ECircle,
+ EEllipse
+};
+
+// for testingg/debugging purposes - string name og the code
+const char* EventName(TUiEventCode aCode);
+
+/*!
+ * Interface class for Speed in X-Y direction
+ */
+class MUiEventSpeed
+{
+public:
+ virtual float speedX() const __SOFTFP = 0;
+ virtual float speedY() const __SOFTFP = 0;
+};
+
+/*!
+ * Utility class to wrap number for (already evaluated) speed values.
+ */
+NONSHARABLE_CLASS(TUiEventSpeed): public MUiEventSpeed
+{
+public:
+ TUiEventSpeed(float speedX, float speedY): m_speedX(speedX),m_speedY(speedY) {}
+ virtual float speedX() const __SOFTFP { return m_speedX; }
+ virtual float speedY() const __SOFTFP { return m_speedY; }
+ float m_speedX;
+ float m_speedY;
+};
+
+/*!
+ * The UI event interface, UI events are touch, hold, move and release.
+ * Note that currently the interface is not OS agnostic enough. It is using
+ * TPoint, TTimeIntervalMicroSeconds etc. types which should be replaced
+ * with some standard types/classes.
+ */
+class MUiEvent: public MUiEventSpeed
+{
+public:
+ /*!
+ * The starting position of the gesture in _screen_ coordinates
+ */
+ virtual const TPoint& StartPos() const = 0;
+ /*!
+ * Current position in _screen_ coordinates
+ */
+ virtual const TPoint& CurrentXY() const = 0 ;
+ /*!
+ * Previous position in _screen_ coordinates
+ */
+ virtual const TPoint& PreviousXY() const = 0 ;
+ /*!
+ * Time difference between this and previous UI event
+ */
+ virtual TTimeIntervalMicroSeconds StateTransition() const = 0 ;
+ /*!
+ * true, if the UI event was generated because of timer expiration
+ */
+ virtual bool TimerExpired() const = 0;
+ /*!
+ * The UI event code
+ */
+ virtual TUiEventCode Code()const = 0 ;
+ /*!
+ * Target identifier (in practice the CCoeControl* of the window)
+ */
+ virtual void* Target() const = 0 ;
+ /*!
+ * The index of the UI event. In single touch this is always 0
+ */
+ virtual int Index() const = 0 ;
+ /*!
+ * Next event in the gesture (with the same index)
+ */
+ virtual MUiEvent* previousEvent() const = 0 ;
+ /*!
+ * Count of events in gesture
+ */
+ virtual int countOfEvents() const = 0 ;
+ /*!
+ * Timestamp
+ */
+ virtual TInt64 timestamp() const = 0 ;
+ /*!
+ * Speed. Speed is calculated based on the previous event.
+ */
+ virtual float speedX() const __SOFTFP = 0 ;
+ /*!
+ * Speed. Speed is calculated based on the previous event.
+ */
+ virtual float speedY() const __SOFTFP = 0 ;
+};
+
+/**
+ * Observer that will be notified when UI events have been recognised
+ */
+class MUiEventObserver
+{
+public:
+ /**
+ * Handle the UI event
+ * \param aEvent event describing the event
+ */
+ virtual void HandleUiEventL( const MUiEvent& aEvent ) = 0;
+};
+
+/*! The state machine interface.
+ *
+ * To be OS agnostic TPointerEvent, TRect etc. should be replaced with
+ * something else.
+ */
+class MStateMachine
+{
+public:
+ /*!
+ * \return the rectangle containing the touch area.
+ * The shape of the touch area can be either rectangle, circle or ellipse.
+ * getTouchArea returns the current touch area, so it may be of zero size.
+ * During touch timer the method will return the TouchTimeArea, after that it
+ * will return the TouchArea.
+ */
+ virtual TRect getTouchArea(TInt aPointerNumber = 0) = 0 ;
+ /*!
+ * \param fingersize_mm defines the width of the rectangle or the diameter of the circle/ellipse
+ * used for the touch area during touch timer running. If the initial touch is a "sloppy" one,
+ * there is very easily an extra move event detected during touch time. On the other hand
+ * after touch has been detected, the touch area should not be too big, just something suitable to
+ * filter minor movements out. The proposed solution is to define two touch areas: one to be used
+ * while touch timer is running, and another used after touch has been detected.
+ * The TouchTimeArea can be a bit larger to allow sloppy touch, then the TouchArea can be smaller to
+ * filter minor movements out.
+ */
+ virtual void setTouchTimeArea(long fingersize_mm) = 0 ;
+ /*!
+ * \param fingersize_mm defines the width of the rectangle or the diameter of the circle/ellipse
+ * used for the touch area.
+ */
+ virtual void setTouchArea(long fingersize_mm) = 0 ;
+ /*!
+ * get the touch area shape, either rectangle, circle or ellipse
+ */
+ virtual TAreaShape getTouchAreaShape() = 0 ;
+ /*!
+ * set the touch area shape, either rectangle, circle or ellipse. This is the same for both of
+ * the touch areas.
+ */
+ virtual void setTouchAreaShape(const TAreaShape shape) = 0 ;
+ /*!
+ * get the touch timeout. Touch timeout is the time after the first down event
+ * until the Touch UI event is generated. Touch timeout makes it possible to
+ * calculate an average of the first few points detected before generating the Touch UI event.
+ */
+ virtual unsigned int getTouchTimeout() = 0 ;
+ /*!
+ * Set the touch timeout.
+ */
+ virtual void setTouchTimeout(unsigned int) = 0 ;
+ /*!
+ * \return the rectangle containing the hold area.
+ * The shape of the hold area can be either rectangle, circle or ellipse.
+ * getholdArea returns the current hold area, so it may be of zero size.
+ */
+ virtual TRect getHoldArea(TInt aPointerNumber = 0) = 0 ;
+ /*!
+ * \param fingersize_mm defines the width of the rectangle or the diameter of the circle/ellipse
+ * used for the hold area. Hold area defines an area so that if the touch coordinates stay
+ * inside that area for the duration of hold timeout the Hold UI event is generated.
+ */
+ virtual void setHoldArea(long fingersize_mm) = 0 ;
+ /*!
+ * get the hold area shape, either rectangle, circle or ellipse
+ */
+ virtual TAreaShape getHoldAreaShape() = 0 ;
+ /*!
+ * set the hold area shape, either rectangle, circle or ellipse
+ */
+ virtual void setHoldAreaShape(const TAreaShape shape) = 0 ;
+ /*!
+ * get the hold timeout. The timeout defines how long the touch coordinates need to stay
+ * inside hold area before Hold UI event is generated.
+ */
+ virtual unsigned int getHoldTimeout() = 0 ;
+ /*!
+ * Set the hold timeout.
+ */
+ virtual void setHoldTimeout(unsigned int a) = 0 ;
+ /*!
+ * get the touch suppress timeout. This timeout defines how long it will take to generate
+ * the Release UI event after UP event during the touch timeout. This timeout is rather short
+ * but will cause the filtering of accidental UP/DOWN events during if they are close together.
+ */
+ virtual unsigned int getTouchSuppressTimeout() = 0 ;
+ /*!
+ * Set the touch suppress timeout.
+ */
+ virtual void setTouchSuppressTimeout(unsigned int a) = 0 ;
+ /*!
+ * get the move suppress timeout. This timeout is used after Move UI event has been generated to
+ * filter accidental UP/DOWN events. Using light touch it is possible to cause accidental UP/DOWN
+ * events with the timespan can be over 120 ms when the direction of movement changes.
+ */
+ virtual unsigned int getMoveSuppressTimeout() = 0 ;
+ /*!
+ * set the move suppress timeout.
+ */
+ virtual void setMoveSuppressTimeout(unsigned int a) = 0 ;
+ /*!
+ * add UI event observer. The generated UI events will be sent to the observers.
+ * \return false, if the max number of observers (=5) has been reached.
+ */
+ virtual bool addUiEventObserver(MUiEventObserver* observer) = 0 ;
+ /*!
+ * remove the UI event observer.
+ */
+ virtual bool removeUiEventObserver(MUiEventObserver* observer) = 0 ;
+ /*!
+ * \return true, of the message being processed did not generate UI event
+ */
+ virtual bool wasLastMessageFiltered(TInt aPointerNumber = 0) = 0 ;
+ /*!
+ * enable capacitive UP message. If it is enabled, UP suppression is not used
+ * but the UP event causes immediate Release UI event.
+ */
+ virtual void enableCapacitiveUp(bool enable) = 0 ;
+ /*!
+ * enable or disable debug logging of the state machine
+ * \param aEnable : logging enabled
+ */
+ virtual void enableLogging(bool aEnable) = 0 ;
+ /*!
+ * add "window handles" to the list of targets which should be included
+ * in the gesture recognition. This way it is possible to drop the messges
+ * which are not of interest from the gesture recognition point of view.
+ * This is used when only the gesture recognition is used so that the UI events are
+ * not passed to the application.
+ */
+ // virtual void addGestureTarget(void* aTarget) = 0 ;
+
+ /*!
+ * Setting the Y adjustment useful in capacitive touch
+ * Note that there are problems with the adjustment if done at this level,
+ * the most proper place would be the window server.
+ */
+ virtual void enableYadjustment(bool aEnable) = 0 ;
+
+ /// Get the number of supported touch pointers
+ virtual int getNumberOfPointers() = 0;
+};
+
+} // namespace
+#endif /* RT_UIEVENT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/stmgestureinterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,300 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#ifndef __STMGESTUREINTERFACE_H__
+#define __STMGESTUREINTERFACE_H__
+
+#include <e32base.h>
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+#include <rt_uievent.h>
+#include <stmgesturelistener.h>
+
+// FORWARD DECLARATION
+namespace stmGesture
+{
+ class CGestureFramework;
+ class MGestureRecogniserIf;
+}
+
+class CStmGestureContext;
+class MStmGestureListener;
+
+typedef stmGesture::MGestureIf MStmGesture;
+typedef stmGesture::TGestureUid TStmGestureUid;
+typedef stmGesture::MGestureListener MStmGestureEngineListener;
+typedef stmGesture::MGestureRecogniserIf MStmGestureRecogniser;
+typedef stmGesture::TGestureSettings TStmGestureSettings;
+typedef stmGesture::TGestureAreaSettings TStmGestureAreaSettings;
+typedef stmGesture::TGestureArea TStmGestureArea;
+
+///==================================================================
+
+/**
+ * Interface class for defining gesture settings parameters
+ */
+class MStmGestureParameters
+ {
+public:
+ virtual TStmGestureArea* Area(TStmGestureAreaSettings aArea) = 0;
+ virtual TInt Param(TStmGestureSettings aParam) const = 0;
+ virtual TUint8 Enabled(TStmGestureUid aGesture) const = 0;
+ };
+
+///==================================================================
+
+/**
+ * Class definition for gesture settings parameters
+ */
+NONSHARABLE_CLASS( CStmGestureParameters ): public CBase, public MStmGestureParameters
+ {
+public:
+ /*!
+ * Constructors
+ */
+ IMPORT_C CStmGestureParameters();
+ IMPORT_C CStmGestureParameters(const CStmGestureParameters& aParams);
+
+public: //getter methods
+
+ /*!
+ * To get the area settings
+ */
+ TStmGestureArea* Area(TStmGestureAreaSettings aArea) { return &iAreaSettings[aArea]; }
+
+ /*!
+ * To get Gesture params
+ */
+ TInt Param(TStmGestureSettings aParam) const { return iParam[aParam]; }
+
+ /*!
+ * Gesture enabled or not
+ */
+ TUint8 Enabled(TStmGestureUid aGesture) const { return iEnabled[aGesture] != 0; }
+
+public: // setter methods
+
+ /*!
+ * To set the parameters
+ */
+ void SetParam(TStmGestureSettings aParam, TInt aValue) { iParam[aParam] = aValue; }
+
+ /*!
+ * To enable or disble the gestures
+ */
+ void SetEnabled(TStmGestureUid aGesture, TUint8 aParam) { iEnabled[aGesture] = aParam; }
+
+ /*!
+ * Gesture settings
+ */
+ TInt& operator[](TStmGestureSettings aParam) { return iParam[aParam]; }
+
+private:
+ TInt iParam[stmGesture::EGestureSettingsCount];
+ TStmGestureArea iAreaSettings[stmGesture::EGestureAreaSettingsCount];
+ TInt iModified;
+ TUint8 iEnabled[stmGesture::EStmGestureUid_Count];
+ };
+
+///==================================================================
+
+/**
+ * CStmGestureEngine Class Declaration
+ */
+NONSHARABLE_CLASS( CStmGestureEngine ): public CBase
+ {
+public:
+
+ /*!
+ * Gesture Engine Creation
+ */
+ IMPORT_C static CStmGestureEngine* NewL();
+ ~CStmGestureEngine();
+
+public:
+
+ /*!
+ * To Create a context in gesture engine
+ */
+ IMPORT_C CStmGestureContext* CreateContextL(TInt aId);
+
+ /*!
+ * To get the context
+ */
+ IMPORT_C CStmGestureContext* Context(TInt aId);
+
+ /*!
+ * Application use HandlePointerEventL API to pass the raw hardware events to the gesture library
+ */
+ IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent, void* target);
+
+private:
+
+ /*!
+ * default constructor
+ */
+ CStmGestureEngine();
+
+ /*!
+ * Two-phase constructor
+ */
+ void ConstructL();
+
+private: // used by friend class CStmGestureContext
+
+ void EnableContextL(CStmGestureContext& aCtxt);
+ void DisableContextL(CStmGestureContext& aCtxt);
+
+ template<class T>
+ void InitRecognizerL( T*& aGesture, CStmGestureContext& aContext, TBool aNewCOntext);
+
+ void SetupRecognizersL(CStmGestureContext& aCtxt, TBool aNewContext);
+
+private:
+ friend class CStmGestureContext;
+ stmGesture::CGestureFramework* iGf;
+ // Registered/owned contexts
+ RPointerArray<CStmGestureContext> iContexts;
+ // Active set of contexts; latest added defines parameters
+ RPointerArray<CStmGestureContext> iCtxtStack;
+ // Global/default parameters
+ CStmGestureParameters* iConfig;
+ TBool iDtorPhase;
+ };
+
+///==================================================================
+
+//Forward declaration
+class CGestureEventSender;
+
+/**
+ * Gesture context represents a certain configuration of gesture parameters
+ * (including what gestures are enabled) and gesture listeners.
+ * Context can be created beforehand and reused later.
+ * The assumed use of a context is to have rough correspondence between
+ * UI view and enabled gestures.
+ *
+ * @note Gesture contexts are created by an instance of CStmGestureEngine.
+ */
+
+class CStmGestureContext: public CBase, public MStmGestureEngineListener
+ {
+public:
+ /*!
+ * Constructor
+ */
+ CStmGestureContext(CStmGestureEngine& aEngine);
+
+ ~CStmGestureContext();
+
+public: /// Gesture listeners
+
+ /*!
+ * Add listener to the gesture processing context.
+ * @param aListener Listener object
+ * @param aPos Position of inserted listener which determines order in which it receives gesture events (0 == first, before existing)
+ */
+ IMPORT_C void AddListenerL(MStmGestureListener* aListener, TInt aPos = 0);
+
+ /*!
+ * Remove listener from the gesture processing context.
+ * @param aListener Listener object
+ */
+ IMPORT_C TInt RemoveListener(MStmGestureListener* aListener);
+
+ /*!
+ * To get the list of listeners
+ */
+ const RPointerArray<MStmGestureListener>& Listeners() const { return iListeners; }
+
+public: /// Context activation
+
+ /*!
+ * To set the context configuration in Gesture Engine.
+ */
+ IMPORT_C void SetContext(CCoeControl* aControl);
+
+ /*!
+ * Initialize context configuration on the Gesture Engine.
+ */
+ IMPORT_C void ActivateL();
+
+ /*!
+ * deactivate context configuration on the Gesture Engine.
+ */
+ IMPORT_C void Deactivate();
+
+ /*!
+ * gesture configuration
+ */
+ CStmGestureParameters& Config() { return *iConfig; }
+
+ /*!
+ * Enable Logging
+ */
+ void SetLogging(TInt aEnabled) { iLogging = aEnabled; }
+
+ /*!
+ * Context control
+ */
+ CCoeControl* ContextControl() { return iOwnerControl; }
+
+ /*!
+ * is gesture context is active ?
+ */
+ TBool IsActive() { return iActivated; }
+
+ /*!
+ * Context id
+ */
+ TInt Id() const { return iCtxtId; }
+
+public: // from MStmGestureEngineListener
+
+ void gestureEnter(MStmGesture& aGesture);
+ void gestureExit(TStmGestureUid aGestureUid);
+ CCoeControl* getOwner();
+
+private:
+ friend class CStmGestureEngine;
+
+ void ConstructL();
+ void DispatchGestureEventL(TStmGestureUid aUid, MStmGesture* aGesture);
+ void SuspendRecognizer(TStmGestureUid aUid);
+ void EnableRecognizersL();
+ void EnableRecognizerL(TStmGestureUid aUid);
+
+private:
+ CStmGestureEngine& iEngine;
+ // Application-specific ID for finding context
+ TInt iCtxtId;
+ TBool iActivated;
+ CStmGestureParameters* iConfig;
+ CCoeControl* iOwnerControl;
+ //TBool iPinchUsed;
+ RPointerArray<MStmGestureListener> iListeners;
+ // for simplicity of addressing recognizers, we'll use fixed array
+ // with UID-based index (range 0..N is assumed for UIDs)
+ // @note Tap recognizer actually produces Tap and DoubleTap gesture,
+ // so should be handled carefully -- only Tap position is set
+ MStmGestureRecogniser* iRecognizers[stmGesture::EStmGestureUid_Count];
+ TBool iLogging;
+ CGestureEventSender* iEventSender;
+ };
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/inc/stmgesturelistener.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __STMGESTURELISTENER_H__
+#define __STMGESTURELISTENER_H__
+
+#include <e32base.h>
+#include <rt_gestureif.h>
+
+
+typedef stmGesture::MGestureIf MStmGesture;
+typedef stmGesture::TGestureUid TStmGestureUid;
+typedef stmGesture::TTapType TStmTapType;
+typedef stmGesture::TGestureDirection TStmGestureDirection;
+
+/**
+ * Point of float accuracy
+ */
+NONSHARABLE_STRUCT( TRealPoint )
+ {
+ inline TRealPoint();
+ inline TRealPoint( const TRealPoint& aPoint );
+ inline TRealPoint( TReal aX, TReal aY );
+ inline TBool operator==( const TRealPoint& aPoint ) const;
+
+ TReal32 iX;
+ TReal32 iY;
+ };
+
+/**
+ * Enum to distinguish between Gesture Entry and Exit.
+ * Currently supported only for Pinch
+ */
+enum TStmGestureState {
+ EGestureEnter = 0,
+ EGestureExit
+
+};
+
+/**
+ * Interface Class to the Application
+ */
+
+class TStmGestureEvent
+{
+public:
+ inline TStmGestureUid Code() const { return iGestureUid; };
+ inline TPoint CurrentPos() const { return iCurrPos; };
+ inline TRealPoint Speed() const { return iSpeed; };
+ inline TStmTapType Type() const { return iType; };
+ inline int Details() const { return iDetails; };
+ inline TStmGestureDirection GestureDirection() const { return iDirection; };
+ inline TPoint PinchEndPos() const { return iPinchEndPos; };
+ inline TStmGestureState GestureState() const { return iGestureState; };
+
+ inline void SetCode(TStmGestureUid aGestureUid) { iGestureUid = aGestureUid; };
+ inline void SetCurrentPos(TPoint aPos) { iCurrPos = aPos; };
+ inline void SetSpeed(TRealPoint aSpeed) { iSpeed = aSpeed; };
+ inline void SetType(TStmTapType aType) { iType = aType; };
+ inline void SetDetails(int aDetails) { iDetails = aDetails; };
+ inline void SetGestureDirection(TStmGestureDirection aDirection) { iDirection = aDirection; };
+ inline void SetPinchEndPos(TPoint aPinchEndPos) { iPinchEndPos = aPinchEndPos; };
+ inline void SetGestureState(TStmGestureState aGestureState) { iGestureState = aGestureState; };
+
+private:
+ TStmGestureUid iGestureUid; // Code of the gesture
+ TPoint iCurrPos; // Current position where gesture occured
+ TRealPoint iSpeed; // speed X and speed Y
+ TStmTapType iType; // single-tap or double-tap
+ int iDetails; // details like pinch factor
+ TStmGestureDirection iDirection; // Gesture Direction
+ TPoint iPinchEndPos; // End of pinching position
+ TStmGestureState iGestureState; // Gesture State. currently supports only for pinch
+
+};
+
+class MStmGestureListener
+ {
+public:
+ /**
+ * Handle the gesture event
+ * @param aEvent event describing the gesture
+ */
+ virtual void HandleGestureEventL(const TStmGestureEvent& aGesture) = 0;
+ };
+
+// ----------------------------------------------------------------------------
+// Default constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint()
+ : iX( 0 ), iY( 0 )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Copy constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint( const TRealPoint& aPoint )
+ : iX( aPoint.iX ), iY( aPoint.iY )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Copy constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TRealPoint::TRealPoint( TReal aX, TReal aY )
+ : iX( aX ), iY( aY )
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Default constructor for real point
+// ----------------------------------------------------------------------------
+//
+inline TBool TRealPoint::operator==( const TRealPoint& aPoint ) const
+ {
+ return iX == aPoint.iX && iY == aPoint.iY;
+ }
+
+
+#endif // __ICS_GESTURELISTENER_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web_plat/stmgesturefw_api/stmgesturefw_api.metaxml Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,14 @@
+<?xml version="1.0" ?>
+<api id="32779a8096ddc71728a395da6c5caf1d" dataversion="1.0">
+ <name>State Machine Gesture Framework API </name>
+ <description>Interface to State Machine Gesture Framework API </description>
+ <type>c++</type>
+ <subsystem>WebKitUtils</subsystem>
+ <libs>
+ </libs>
+ <release category="domain" sinceversion="7.0"/>
+ <attributes>
+ <htmldocprovided>no</htmldocprovided>
+ <adaptation>no</adaptation>
+ </attributes>
+</api>
--- a/web_plat/webutils_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/webutils_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,15 +14,16 @@
* Description: Build information for the WebUtils API.
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/CUserAgent.h MW_LAYER_PLATFORM_EXPORT_PATH(CUserAgent.h)
-../inc/WebUtilsInternalCRKeys.h MW_LAYER_PLATFORM_EXPORT_PATH(WebUtilsInternalCRKeys.h)
-../inc/WebUtilsSDKCRKeys.h MW_LAYER_PLATFORM_EXPORT_PATH(WebUtilsSDKCRKeys.h)
+../inc/cuseragent.h MW_LAYER_PLATFORM_EXPORT_PATH(cuseragent.h)
+../inc/webutilsinternalcrkeys.h MW_LAYER_PLATFORM_EXPORT_PATH(webutilsinternalcrkeys.h)
+../inc/webutilssdkcrkeys.h MW_LAYER_PLATFORM_EXPORT_PATH(webutilssdkcrkeys.h)
PRJ_MMPFILES
--- a/web_plat/webutils_api/inc/WebUtilsInternalCRKeys.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/webutils_api/inc/WebUtilsInternalCRKeys.h Mon Mar 29 12:27:15 2010 +0100
@@ -71,8 +71,8 @@
// Browser Version Minor
const TUint32 KWebUtilsBrowserVersionMinor = 0x00000010;
-// Browser Version SVN Rev
-const TUint32 KWebUtilsBrowserVersionSVNRev = 0x00000011;
+// Browser Version Feature Rev
+const TUint32 KWebUtilsBrowserVersionFeatureRev = 0x00000011;
// Browser Name
const TUint32 KWebUtilsBrowserName = 0x00000012;
@@ -80,5 +80,7 @@
// Ignore product program config when TRUE
const TUint32 KWebUtilsIgnoreConfig = 0x00000013;
+// Browser Version Patch Rev
+const TUint32 KWebUtilsBrowserVersionPatchRev = 0x00000014;
#endif // WEBUTILSINTERNALCRKEYS_H
--- a/web_plat/widget_registry_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/widget_registry_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,17 +14,17 @@
* Description: Build information for the Widget Registry API.
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-
-../inc/WidgetRegistryClient.h MW_LAYER_PLATFORM_EXPORT_PATH(WidgetRegistryClient.h)
-../inc/WidgetPropertyValue.h MW_LAYER_PLATFORM_EXPORT_PATH(WidgetPropertyValue.h)
-../inc/WidgetRegistryConstants.h MW_LAYER_PLATFORM_EXPORT_PATH(WidgetRegistryConstants.h)
-../inc/WidgetRegistryData.h MW_LAYER_PLATFORM_EXPORT_PATH(WidgetRegistryData.h)
+../inc/widgetregistryclient.h MW_LAYER_PLATFORM_EXPORT_PATH(widgetregistryclient.h)
+../inc/widgetpropertyvalue.h MW_LAYER_PLATFORM_EXPORT_PATH(widgetpropertyvalue.h)
+../inc/widgetregistryconstants.h MW_LAYER_PLATFORM_EXPORT_PATH(widgetregistryconstants.h)
+../inc/widgetregistrydata.h MW_LAYER_PLATFORM_EXPORT_PATH(widgetregistrydata.h)
PRJ_MMPFILES
--- a/web_plat/widget_registry_api/inc/WidgetPropertyValue.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/widget_registry_api/inc/WidgetPropertyValue.h Mon Mar 29 12:27:15 2010 +0100
@@ -16,13 +16,12 @@
*
*/
-
#ifndef WIDGETPROPERTYVALUE_H
#define WIDGETPROPERTYVALUE_H
#include <e32base.h>
#include <s32strm.h>
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
// serialize length = header + value
const TInt32 KWidgetPropertyValSerializeMaxLength = 32 + KWidgetRegistryVal;
--- a/web_plat/widget_registry_api/inc/WidgetRegistryConstants.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/widget_registry_api/inc/WidgetRegistryConstants.h Mon Mar 29 12:27:15 2010 +0100
@@ -125,6 +125,9 @@
EFileSize, // int
EUid, // TUid
ENokiaWidget, // int 0 (not Nokia DTD) or 1 (Nokia DTD)
+ // Do not add enums prior to this, if you are adding enums here
+ // take into consideration the compatibility problems, i.e widgets working after firmware update.
+
EMiniViewEnable, //optional; int internally 0 0r 1
EBlanketPermGranted, //optional; int internally 0 0r 1
EPreInstalled, // optional; int internally 0 or 1
--- a/web_plat/widget_registry_api/inc/WidgetRegistryData.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/widget_registry_api/inc/WidgetRegistryData.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <f32file.h>
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
// CONSTANTS
--- a/web_plat/xml_parser_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/xml_parser_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -22,9 +22,10 @@
DEFAULT
PRJ_EXPORTS
+../inc/mxmlcontenthandler.h MW_LAYER_PLATFORM_EXPORT_PATH(mxmlcontenthandler.h)
+../inc/rxmlreader.h MW_LAYER_PLATFORM_EXPORT_PATH(rxmlreader.h)
+../inc/mwbxmlcontenthandler.h MW_LAYER_PLATFORM_EXPORT_PATH(mwbxmlcontenthandler.h)
+../inc/mxmlattributes.h MW_LAYER_PLATFORM_EXPORT_PATH(mxmlattributes.h)
+../inc/xmlutils.h MW_LAYER_PLATFORM_EXPORT_PATH(xmlutils.h)
-../inc/MXMLContentHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(MXMLContentHandler.h)
-../inc/RXMLReader.h MW_LAYER_PLATFORM_EXPORT_PATH(RXMLReader.h)
-../inc/MWBXMLContentHandler.h MW_LAYER_PLATFORM_EXPORT_PATH(MWBXMLContentHandler.h)
-../inc/MXMLAttributes.h MW_LAYER_PLATFORM_EXPORT_PATH(MXMLAttributes.h)
-../inc/XMLUtils.h MW_LAYER_PLATFORM_EXPORT_PATH(XMLUtils.h)
+PRJ_MMPFILES
--- a/web_plat/xml_parser_api/inc/MXMLContentHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_plat/xml_parser_api/inc/MXMLContentHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,26 +15,10 @@
*
*/
-
-
-
-
-
-
/**
* DO NOT USE THIS API. DEPRECATED AND REMOVED IN S60 5.0. USE SYMBIAN XML FRAMEWORK INSTEAD.
*/
-
-
-
-
-
-
-
-
-
-
#ifndef __MXMLCONTENTHANDLER_H
#define __MXMLCONTENTHANDLER_H
--- a/web_pub/browser_control_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,40 +14,23 @@
* Description:
*
*/
-#ifndef __BROWSER_SDK
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
-#endif
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
-DEFAULT GCCE
+DEFAULT
PRJ_EXPORTS
-#ifndef __BROWSER_SDK
-
-../inc/BrCtlDefs.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlDefs.h)
-../inc/BrCtlDialogsProvider.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlDialogsProvider.h)
+../inc/brctldefs.h MW_LAYER_PUBLIC_EXPORT_PATH(brctldefs.h)
+../inc/brctldialogsprovider.h MW_LAYER_PUBLIC_EXPORT_PATH(brctldialogsprovider.h)
../inc/brctlinterface.h MW_LAYER_PUBLIC_EXPORT_PATH(brctlinterface.h)
-../inc/BrCtlLayoutObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlLayoutObserver.h)
-../inc/BrCtlLinkResolver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlLinkResolver.h)
-../inc/BrCtlSoftkeysObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlSoftkeysObserver.h)
-../inc/BrCtlSpecialLoadObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlSpecialLoadObserver.h)
-../inc/BrCtlWindowObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlWindowObserver.h)
-../inc/BrCtlDownloadObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlDownloadObserver.h)
-
-#else
-
-../inc/BrCtlDefs.h /epoc32/include/BrCtlDefs.h
-../inc/BrCtlDialogsProvider.h /epoc32/include/BrCtlDialogsProvider.h
-../inc/brctlinterface.h /epoc32/include/brctlinterface.h
-../inc/BrCtlLayoutObserver.h /epoc32/include/BrCtlLayoutObserver.h
-../inc/BrCtlLinkResolver.h /epoc32/include/BrCtlLinkResolver.h
-../inc/BrCtlSoftkeysObserver.h /epoc32/include/BrCtlSoftkeysObserver.h
-../inc/BrCtlSpecialLoadObserver.h /epoc32/include/BrCtlSpecialLoadObserver.h
-../inc/BrCtlWindowObserver.h /epoc32/include/BrCtlWindowObserver.h
-../inc/BrCtlDownloadObserver.h /epoc32/include/BrCtlDownloadObserver.h
-
-#endif //#ifndef __BROWSER_SDK
+../inc/brctllayoutobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctllayoutobserver.h)
+../inc/brctllinkresolver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctllinkresolver.h)
+../inc/brctlsoftkeysobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctlsoftkeysobserver.h)
+../inc/brctlspecialloadobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctlspecialloadobserver.h)
+../inc/brctlwindowobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctlwindowobserver.h)
+../inc/brctldownloadobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(brctldownloadobserver.h)
PRJ_MMPFILES
--- a/web_pub/browser_control_api/inc/BrCtlDefs.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlDefs.h Mon Mar 29 12:27:15 2010 +0100
@@ -33,12 +33,12 @@
* Usage:
*
* @code
-* #include <BrCtlDefs.h>
+* #include <brctldefs.h>
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 3.0
-* @file BrCtlDefs.h
+* @file brctldefs.h
* @endcode *
*/
class TBrCtlDefs
@@ -470,6 +470,13 @@
* Browser cursor show mode -- some phone doesn't have cursor inside Browser
*/
ESettingsCursorShowMode,
+
+ /*
+ * Enter key mode - default behavior is like in desktop browser - submit the form
+ * The alternative is to select the link is one is activated.
+ */
+ ESettingsEnterKeyMode,
+
ESettingsMaxEnum ///< Must be last one
};
@@ -825,6 +832,12 @@
ENoCursor = 0,
EDefaultCursor
};
+
+ enum TEnterKeySettings
+ {
+ EEnterKeyDefault = 0,
+ EEnterKeyCanActivateLink
+ };
};
#endif // BRCTLDEFS_H
--- a/web_pub/browser_control_api/inc/BrCtlDialogsProvider.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlDialogsProvider.h Mon Mar 29 12:27:15 2010 +0100
@@ -73,12 +73,12 @@
* Usage:
*
* @code
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlDialogsProvider.h
+* @file brctldialogsprovider.h
* @endcode *
*/
class MBrCtlDialogsProvider
@@ -270,10 +270,10 @@
* The TBrCtlSelectOptionData class represents a list of elements
* to display in the list box. This class is used for the List Selection Dialog.
* @code
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlDialogsProvider.h
+* @file brctldialogsprovider.h
* @endcode *
*/
class TBrCtlSelectOptionData
@@ -399,10 +399,10 @@
* The CBrCtlObjectInfo class used to represent the information about the
* plugin object.
* @code
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
* @lib BrowserEngine.lib
* @since 3.0
-* @file BrCtlDialogsProvider.h
+* @file brctldialogsprovider.h
* @endcode *
*/
class CBrCtlObjectInfo : public CBase
@@ -521,10 +521,10 @@
* TheTBrCtlImageCarrier class used to give the information about the
* image.
* @code
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlDialogsProvider.h
+* @file brctldialogsprovider.h
* @endcode *
*/
class TBrCtlImageCarrier
--- a/web_pub/browser_control_api/inc/BrCtlDownloadObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlDownloadObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32std.h>
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
// CONSTANTS
@@ -86,12 +86,12 @@
* Usage:
*
* @code
-* #include <BrCtlDownloadObserver.h>
+* #include <brctldownloadobserver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlDownloadObserver.h
+* @file brctldownloadobserver.h
* @endcode *
*/
class MBrCtlDownloadObserver
--- a/web_pub/browser_control_api/inc/BrCtlInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,14 +27,14 @@
#include <eikmenup.h>
#include <ssl.h>
-#include <BrCtlDialogsProvider.h>
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlLinkResolver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlWindowObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlDefs.h>
+#include <brctldialogsprovider.h>
+#include <brctllayoutobserver.h>
+#include <brctllinkresolver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctlwindowobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctldefs.h>
// DATA TYPES
@@ -108,27 +108,27 @@
* Usage:
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* // Interface that provides dialogs used by the Browser Control.
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
* // Interface used to receive scrolling events.
-* #include <BrCtlLayoutObserver.h>
+* #include <brctllayoutobserver.h>
* //Interface that provides a callback mechanism for receiving the
* //content of an embedded link or the content of a user-initiated
* //load request.
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
* //Interface that handles requests to change the softkeys.
-* #include <BrCtlSoftkeysObserver.h>
+* #include <brctlsoftkeysobserver.h>
* //Interface that handles special load needs.
-* #include <BrCtlSpecialLoadObserver.h>
+* #include <brctlspecialloadobserver.h>
* //Reserved for future use.
-* #include <BrCtlWindowObserver.h>
+* #include <brctlwindowobserver.h>
* //Interface that passes download events from the
* //Download Manager through the Browser Control to the
* //host application.
-* #include <BrCtlDownloadObserver.h>
+* #include <brctldownloadobserver.h>
* Enum Definition of the Browser Control API.
-* #include <BrCtlDefs.h>
+* #include <brctldefs.h>
*
*
* The following types of things you can do with the Browser Control API.
@@ -148,7 +148,7 @@
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class CBrCtlInterface : public CCoeControl
@@ -625,11 +625,11 @@
* Usage:
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlDataLoadSupplier
@@ -650,11 +650,11 @@
* the Browser Control with the ability to receive content incrementally.
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlDataLoadConsumer
@@ -690,11 +690,11 @@
* The host application can implement this interface.
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlLoadEventObserver
@@ -715,10 +715,10 @@
* The TBrCtlWmlServiceOption class wraps information about the WML DO elements.
* For more information about the DO tag, see http://www.w3schools.com/wap/tag_do.asp.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class TBrCtlWmlServiceOption
@@ -777,10 +777,10 @@
/**
* The TBrCtlSubscribeTo class provides information of Subscribe to items.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class TBrCtlSubscribeTo
@@ -839,10 +839,10 @@
* implement this interface in order to find out when the view
* changes to and from the Image Map view.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlStateChangeObserver
--- a/web_pub/browser_control_api/inc/BrCtlLayoutObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlLayoutObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -48,12 +48,12 @@
* Usage:
*
* @code
-* #include <BrCtlLayoutObserver.h>
+* #include <brctllayoutobserver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlLayoutObserver.h
+* @file brctllayoutobserver.h
* @endcode *
*/
class MBrCtlLayoutObserver
--- a/web_pub/browser_control_api/inc/BrCtlLinkResolver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlLinkResolver.h Mon Mar 29 12:27:15 2010 +0100
@@ -62,12 +62,12 @@
* Usage:
*
* @code
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlLinkResolver.h
+* @file brctllinkresolver.h
* @endcode *
*/
class MBrCtlLinkResolver
@@ -124,12 +124,12 @@
* Usage:
*
* @code
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlLinkResolver.h
+* @file brctllinkresolver.h
* @endcode *
*/
class MBrCtlLinkContent
--- a/web_pub/browser_control_api/inc/BrCtlSoftkeysObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlSoftkeysObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -45,12 +45,12 @@
* Usage:
*
* @code
-* #include <BrCtlSoftkeysObserver.h>
+* #include <brctlsoftkeysobserver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlSoftkeysObserver.h
+* @file brctlsoftkeysobserver.h
* @endcode *
*/
class MBrCtlSoftkeysObserver
--- a/web_pub/browser_control_api/inc/BrCtlSpecialLoadObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlSpecialLoadObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -63,12 +63,12 @@
* Usage:
*
* @code
-* #include <BrCtlSpecialLoadObserver.h>
+* #include <brctlspecialloadobserver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlSpecialLoadObserver.h
+* @file brctlspecialloadobserver.h
* @endcode *
*/
class MBrCtlSpecialLoadObserver
--- a/web_pub/browser_control_api/inc/BrCtlWindowObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/inc/BrCtlWindowObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32std.h>
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
// CONSTANTS
@@ -48,12 +48,12 @@
* Usage:
*
* @code
-* #include <BrCtlWindowObserver.h>
+* #include <brctlwindowobserver.h>
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 3.0
-* @file BrCtlWindowObserver.h
+* @file brctlwindowobserver.h
* @endcode *
*/
class MBrCtlWindowObserver
--- a/web_pub/browser_control_api/tsrc/conf/ui_browser_control_api.cfg Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/conf/ui_browser_control_api.cfg Mon Mar 29 12:27:15 2010 +0100
@@ -312,14 +312,7 @@
delete container
[Endtest]
-[Test]
-title HandleCommandShowHistory BC Test
-create BrCtlApiTest container
-container CreateBrowserControl
-container HandleCommand ShowHistory
-container DestroyBrowserControl
-delete container
-[Endtest]
+
[Test]
title HandleCommandDisconnect2 BC Test
@@ -375,14 +368,7 @@
delete container
[Endtest]
-[Test]
-title HandleCommandRemoveFileName BC Test
-create BrCtlApiTest container
-container CreateBrowserControl
-container HandleCommand RemoveFileName
-container DestroyBrowserControl
-delete container
-[Endtest]
+
[Test]
title HandleCommandShowImages BC Test
--- a/web_pub/browser_control_api/tsrc/group/BrCtlApiTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/group/BrCtlApiTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -37,12 +37,11 @@
MW_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE .
-MW_LAYER_ECOM_SYSTEMINCLUDE
SOURCEPATH ../src
-SOURCE BrCtlApiTest.cpp BrCtlApiTestBlocks.cpp
-SOURCE BrCtlApiTestContainer.cpp BrCtlApiTestObserver.cpp
-SOURCE BrCtlApiTestStateChangeObserver.cpp BrCtlApiTestDialogsProvider.cpp
+SOURCE brctlapitest.cpp brctlapitestblocks.cpp
+SOURCE brctlapitestcontainer.cpp brctlapitestobserver.cpp
+SOURCE brctlapiteststatechangeobserver.cpp brctlapitestdialogsprovider.cpp
LIBRARY euser.lib cone.lib eikcore.lib apparc.lib avkon.lib
LIBRARY flogger.lib apmime.lib apgrfx.lib efsrv.lib eikcoctl.lib
--- a/web_pub/browser_control_api/tsrc/inc/BrCtlApiTest.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/inc/BrCtlApiTest.h Mon Mar 29 12:27:15 2010 +0100
@@ -26,7 +26,7 @@
#include <StifTestModule.h>
#include <coecntrl.h>
-#include "BrCtlApiTestContainer.h"
+#include "brctlapitestcontainer.h"
// CONSTANTS
//const ?type ?constant_var = ?constant;
--- a/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestContainer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestContainer.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,11 +20,11 @@
// INCLUDES
#include <coecntrl.h>
-#include <BrCtlInterface.h> // interface under test
+#include <brctlinterface.h> // interface under test
-#include "BrCtlApiTestObserver.h"
-#include "BrCtlApiTestStateChangeObserver.h"
-#include "BrCtlApiTestDialogsProvider.h"
+#include "brctlapitestobserver.h"
+#include "brctlapiteststatechangeobserver.h"
+#include "brctlapitestdialogsprovider.h"
// CONSTATNS
const TInt KThisAppUid = 0xA0000181;
--- a/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestDialogsProvider.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestDialogsProvider.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
// User includes
// System Includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
//#include <BrowserDialogsProviderProxy.h>
#include <e32std.h>
--- a/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,11 +21,11 @@
#define BRCTLBCTESTOBSERVER_H
// INCLUDES
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlInterface.h>
+#include <brctllayoutobserver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctlinterface.h>
#include <DocumentHandler.h>
#include <flogger.h>
--- a/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestStateChangeObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/inc/BrCtlApiTestStateChangeObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#define BRCTLBCTESTSTATECHANGEOBSERVER_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
// FORWARD DECLARATIONS
class CBrCtlApiTestContainer;
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTest.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTest.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
#include <Stiftestinterface.h>
-#include "BrCtlApiTest.h"
+#include "brctlapitest.h"
#include <SettingServerClient.h>
// ============================= LOCAL FUNCTIONS ===============================
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTestBlocks.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTestBlocks.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <e32svr.h>
#include <StifParser.h>
#include <Stiftestinterface.h>
-#include "BrCtlApiTest.h"
+#include "brctlapitest.h"
#define RETURN_FAILURE_ON_ERROR \
if ( err ) \
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTestContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTestContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,14 +16,14 @@
*/
// INCLUDE FILES
-#include "BrCtlApiTestContainer.h"
+#include "brctlapitestcontainer.h"
#include <eiklabel.h> // for example label control
#include <aknview.h>
#include <AknGlobalConfirmationQuery.h>
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
#include <CHARCONV.H>
-#include "BrCtlApiTestObserver.h"
+#include "brctlapitestobserver.h"
#include <e32std.h>
_LIT8( KContentDataType, "text/html" );
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTestDialogsProvider.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTestDialogsProvider.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <BrowserDialogsProvider.h>
// User includes
-#include "BrCtlApiTestDialogsProvider.h"
+#include "brctlapitestdialogsprovider.h"
// CONSTANTS
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTestObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTestObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <eikappui.h>
#include <eikenv.h>
#include <eikbtgpc.h>
-#include "BrCtlApiTestObserver.h"
+#include "brctlapitestobserver.h"
#include <avkon.hrh>
#include <aknmessagequerydialog.h>
--- a/web_pub/browser_control_api/tsrc/src/BrCtlApiTestStateChangeObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_control_api/tsrc/src/BrCtlApiTestStateChangeObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,8 +17,8 @@
// INCLUDE FILES
-#include "BrCtlApiTestContainer.h"
-#include "BrCtlApiTestStateChangeObserver.h"
+#include "brctlapitestcontainer.h"
+#include "brctlapiteststatechangeobserver.h"
// ================= MEMBER FUNCTIONS =======================
--- a/web_pub/browser_plugin_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_plugin_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,24 +14,22 @@
* Description:
*
*/
-#ifndef __BROWSER_SDK
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
-#endif
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
-DEFAULT GCCE
+DEFAULT
PRJ_EXPORTS
-
-../inc/BrowserPluginInterface.h MW_LAYER_PUBLIC_EXPORT_PATH(BrowserPluginInterface.h)
-../inc/CEcomBrowserPluginInterface.h MW_LAYER_PUBLIC_EXPORT_PATH(CEcomBrowserPluginInterface.h)
+../inc/browserplugininterface.h MW_LAYER_PUBLIC_EXPORT_PATH(browserplugininterface.h)
+../inc/cecombrowserplugininterface.h MW_LAYER_PUBLIC_EXPORT_PATH(cecombrowserplugininterface.h)
../inc/npapi.h MW_LAYER_PUBLIC_EXPORT_PATH(npapi.h)
../inc/np_defines.h MW_LAYER_PUBLIC_EXPORT_PATH(np_defines.h)
../inc/npupp.h MW_LAYER_PUBLIC_EXPORT_PATH(npupp.h)
../inc/jri.h MW_LAYER_PUBLIC_EXPORT_PATH(jri.h)
../inc/prcpucfg.h MW_LAYER_PUBLIC_EXPORT_PATH(prcpucfg.h)
-../inc/PluginAdapterInterface.h MW_LAYER_PUBLIC_EXPORT_PATH(PluginAdapterInterface.h)
+../inc/pluginadapterinterface.h MW_LAYER_PUBLIC_EXPORT_PATH(pluginadapterinterface.h)
../inc/prtypes.h MW_LAYER_PUBLIC_EXPORT_PATH(prtypes.h)
../inc/obsolete/protypes.h MW_LAYER_PUBLIC_EXPORT_PATH(obsolete/protypes.h)
--- a/web_pub/browser_plugin_api/inc/CEcomBrowserPluginInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_plugin_api/inc/CEcomBrowserPluginInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,8 +23,8 @@
#include <ecom/ecom.h>
// User includes
-#include "npupp.h"
-#include "BrowserPluginInterface.h"
+#include <npupp.h>
+#include <browserplugininterface.h>
typedef struct
{
--- a/web_pub/browser_plugin_api/inc/PluginAdapterInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/browser_plugin_api/inc/PluginAdapterInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,9 +20,9 @@
#define MPLUGINADAPTER_H
// INCLUDES
-#include "coecntrl.h"
-#include "coecobs.h"
-#include "npupp.h"
+#include <coecntrl.h>
+#include <coecobs.h>
+#include <npupp.h>
// FORWARD DECLARATIONS
class MPluginNotifier;
--- a/web_pub/download_mgr_client_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,14 +14,15 @@
* Description: Build information for the Download Mgr Server.
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/DownloadMgrClient.h MW_LAYER_PUBLIC_EXPORT_PATH(DownloadMgrClient.h)
-../inc/HttpDownloadMgrCommon.h MW_LAYER_PUBLIC_EXPORT_PATH(HttpDownloadMgrCommon.h)
+../inc/downloadmgrclient.h MW_LAYER_PUBLIC_EXPORT_PATH(downloadmgrclient.h)
+../inc/httpdownloadmgrcommon.h MW_LAYER_PUBLIC_EXPORT_PATH(httpdownloadmgrcommon.h)
PRJ_MMPFILES
--- a/web_pub/download_mgr_client_api/inc/DownloadMgrClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/inc/DownloadMgrClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
#include <f32file.h>
-#include <HttpDownloadMgrCommon.h>
+#include <httpdownloadmgrcommon.h>
#include <http.h>
// FORWARD DECLARATIONS
@@ -116,6 +116,7 @@
* @lib -
* @since Series 60 2.8
*/
+
NONSHARABLE_CLASS( RHttpDownloadMgr ) : public RSessionBase,
public MHttpDownloadMgrObserver
{
@@ -364,6 +365,13 @@
* @return None.
*/
IMPORT_C void SetNextUriObserver( MHttpDownloadMgrNextUriObserver* aObserver );
+
+ /**
+ * Checks for possibility of a new donload
+ * @param None
+ * @return TBool,possibility of a new download.
+ */
+ TBool IsNewDownloadPossible();
protected: // from MHttpDownloadMgrObserver
--- a/web_pub/download_mgr_client_api/tsrc/group/DownloadMgrClientApiTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/tsrc/group/DownloadMgrClientApiTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -30,9 +30,9 @@
DEFFILE DownloadMgrClientApiTest.def
SOURCEPATH ../src
-SOURCE DownloadMgrClientApiTest.cpp
-SOURCE RHttpDownloadTestCases.cpp
-SOURCE RHttpDownloadMgrTestCases.cpp
+SOURCE downloadmgrclientapitest.cpp
+SOURCE rhttpdownloadtestcases.cpp
+SOURCE rhttpdownloadmgrtestcases.cpp
USERINCLUDE ../inc
MW_LAYER_SYSTEMINCLUDE
--- a/web_pub/download_mgr_client_api/tsrc/inc/DownloadMgrClientApiTest.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/tsrc/inc/DownloadMgrClientApiTest.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,8 +24,8 @@
#include <StifTestModule.h>
#include <StifLogger.h>
#include <f32file.h>
-#include <DownloadMgrClient.h>
-#include <CDownloadMgrUiLibRegistry.h>
+#include <downloadmgrclient.h>
+#include <cdownloadmgruilibregistry.h>
// CONSTANTS
const TInt KThisAppUid = 0x101FB3E7;
--- a/web_pub/download_mgr_client_api/tsrc/src/DownloadMgrClientApiTest.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/tsrc/src/DownloadMgrClientApiTest.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <Stiftestinterface.h>
-#include "DownloadMgrClientApiTest.h"
+#include "downloadmgrclientapitest.h"
// EXTERNAL DATA STRUCTURES
//extern ?external_data;
--- a/web_pub/download_mgr_client_api/tsrc/src/RHttpDownloadMgrTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/tsrc/src/RHttpDownloadMgrTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDE FILES
#include <e32math.h>
#include <es_sock.h>
-#include "DownloadMgrClientApiTest.h"
+#include "downloadmgrclientapitest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/download_mgr_client_api/tsrc/src/RHttpDownloadTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_client_api/tsrc/src/RHttpDownloadTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "DownloadMgrClientApiTest.h"
+#include "downloadmgrclientapitest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/download_mgr_ui_api/group/Bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_ui_api/group/Bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,25 +14,23 @@
* Description:
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
-
DEFAULT
PRJ_EXPORTS
-
-../Inc/CDownloadMgrUiBase.h MW_LAYER_PUBLIC_EXPORT_PATH(CDownloadMgrUiBase.h)
-../Inc/CDownloadMgrUiUserInteractions.h MW_LAYER_PUBLIC_EXPORT_PATH(CDownloadMgrUiUserInteractions.h)
-../Inc/CDownloadMgrUiDownloadsList.h MW_LAYER_PUBLIC_EXPORT_PATH(CDownloadMgrUiDownloadsList.h)
-../Inc/DownloadsListDlgObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(DownloadsListDlgObserver.h)
-../Inc/CDownloadMgrUiDownloadMenu.h MW_LAYER_PUBLIC_EXPORT_PATH(CDownloadMgrUiDownloadMenu.h)
-../Inc/CDownloadMgrUiLibRegistry.h MW_LAYER_PUBLIC_EXPORT_PATH(CDownloadMgrUiLibRegistry.h)
+../Inc/cdownloadmgruibase.h MW_LAYER_PUBLIC_EXPORT_PATH(cdownloadmgruibase.h)
+../Inc/cdownloadmgruiuserinteractions.h MW_LAYER_PUBLIC_EXPORT_PATH(cdownloadmgruiuserinteractions.h)
+../Inc/cdownloadmgruidownloadslist.h MW_LAYER_PUBLIC_EXPORT_PATH(cdownloadmgruidownloadslist.h)
+../Inc/downloadslistdlgobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(downloadslistdlgobserver.h)
+../Inc/cdownloadmgruidownloadmenu.h MW_LAYER_PUBLIC_EXPORT_PATH(cdownloadmgruidownloadmenu.h)
+../Inc/cdownloadmgruilibregistry.h MW_LAYER_PUBLIC_EXPORT_PATH(cdownloadmgruilibregistry.h)
PRJ_MMPFILES
PRJ_TESTMMPFILES
// End of File
-
--- a/web_pub/download_mgr_ui_api/inc/CDownloadMgrUiDownloadsList.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_ui_api/inc/CDownloadMgrUiDownloadsList.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-
#ifndef CDOWNLOADMGRUIDOWNLOADSLIST_H
#define CDOWNLOADMGRUIDOWNLOADSLIST_H
// INCLUDES
-#include <CDownloadMgrUiBase.h>
-#include <DownloadMgrClient.h>
-#include <HttpDownloadMgrCommon.h>
-#include <DownloadsListDlgObserver.h>
+#include <cdownloadmgruibase.h>
+#include <downloadmgrclient.h>
+#include <httpdownloadmgrcommon.h>
+#include <downloadslistdlgobserver.h>
#include <AiwServiceHandler.h>
#include <AiwCommon.hrh>
@@ -151,12 +149,12 @@
* @return TBool
*/
inline TBool GetDownloadHide() { return iDownloadListHide; }
-
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
/**
- * Sets the value of downloadlist hide
- * @return void
+ * Adding Aiw Commands to the given MenuPane
*/
- virtual void SetDownloadListHide( TBool aHide );
+ void AIWPlugInMenusL(TInt aResourceId,CEikMenuPane* aMenuPane);
+#endif
public: // Functions from CDownloadMgrUiBase
@@ -250,6 +248,13 @@
void LaunchFileManagerApplication();
+ public:
+ /**
+ * Sets the value of downloadlist hide
+ * @return void
+ */
+ void SetDownloadListHide( TBool aHide );
+
private: // Data
CDownloadsListExtension* iExtension; ///< Extension class. Owned.
--- a/web_pub/download_mgr_ui_api/inc/CDownloadMgrUiUserInteractions.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_ui_api/inc/CDownloadMgrUiUserInteractions.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
#define CDOWNLOADMGRUIUSERINTERACTIONS_H
// INCLUDES
-#include <CDownloadMgrUiBase.h>
-#include <DownloadMgrClient.h>
+#include <cdownloadmgruibase.h>
+#include <downloadmgrclient.h>
#include <vwsdef.h>
// CONSTANTS
--- a/web_pub/download_mgr_ui_api/inc/DownloadsListDlgObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/download_mgr_ui_api/inc/DownloadsListDlgObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -65,6 +65,12 @@
* setting the downloadlist hide to the observer.
*/
virtual void SetDownloadListHide( TBool aHide ) = 0;
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ /**
+ * Adding Aiw Commands for the given MenuPane to the observer.
+ */
+ virtual void AIWPlugInMenusL(TInt aResourceId,CEikMenuPane* aMenuPane) = 0;
+#endif
};
#endif /* DOWNLOADSLISTDLGOBSERVER_H */
--- a/web_pub/favourites_engine_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -14,8 +14,9 @@
* Description: Build information for the Favourites Engine
*
*/
+
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
@@ -23,28 +24,23 @@
PRJ_EXPORTS
// Common code
-../inc/FavouritesDb.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesDb.h)
-../inc/FavouritesFile.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesFile.h)
-../inc/FavouritesFile.inl MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesFile.inl)
-../inc/FavouritesDbIncremental.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesDbIncremental.h)
-../inc/FavouritesDbNotifier.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesDbNotifier.h)
-../inc/FavouritesDbObserver.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesDbObserver.h)
-../inc/ActiveFavouritesDbNotifier.h MW_LAYER_PUBLIC_EXPORT_PATH(ActiveFavouritesDbNotifier.h)
-../inc/FavouritesItem.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesItem.h)
-../inc/FavouritesLimits.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesLimits.h)
-../inc/FavouritesWapAp.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesWapAp.h)
-../inc/FavouritesItemList.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesItemList.h)
-../inc/FavouritesItemData.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesItemData.h)
-../inc/FavouritesSession.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesSession.h)
-../inc/FavouritesSession.inl MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesSession.inl)
-../inc/FavouritesHandle.h MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesHandle.h)
-../inc/FavouritesHandle.inl MW_LAYER_PUBLIC_EXPORT_PATH(FavouritesHandle.inl)
-
-
+../inc/favouritesdb.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesdb.h)
+../inc/favouritesfile.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesfile.h)
+../inc/favouritesfile.inl MW_LAYER_PUBLIC_EXPORT_PATH(favouritesfile.inl)
+../inc/favouritesdbincremental.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesdbincremental.h)
+../inc/favouritesdbnotifier.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesdbnotifier.h)
+../inc/favouritesdbobserver.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesdbobserver.h)
+../inc/activefavouritesdbnotifier.h MW_LAYER_PUBLIC_EXPORT_PATH(activefavouritesdbnotifier.h)
+../inc/favouritesitem.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesitem.h)
+../inc/favouriteslimits.h MW_LAYER_PUBLIC_EXPORT_PATH(favouriteslimits.h)
+../inc/favouriteswapap.h MW_LAYER_PUBLIC_EXPORT_PATH(favouriteswapap.h)
+../inc/favouritesitemlist.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesitemlist.h)
+../inc/favouritesitemdata.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritesitemdata.h)
+../inc/favouritessession.h MW_LAYER_PUBLIC_EXPORT_PATH(favouritessession.h)
+../inc/favouritessession.inl MW_LAYER_PUBLIC_EXPORT_PATH(favouritessession.inl)
+../inc/favouriteshandle.h MW_LAYER_PUBLIC_EXPORT_PATH(favouriteshandle.h)
+../inc/favouriteshandle.inl MW_LAYER_PUBLIC_EXPORT_PATH(favouriteshandle.inl)
PRJ_MMPFILES
-
PRJ_TESTMMPFILES
-
-
--- a/web_pub/favourites_engine_api/inc/ActiveFavouritesDbNotifier.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/ActiveFavouritesDbNotifier.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <d32dbms.h>
-#include <FavouritesDbNotifier.h>
+#include <favouritesdbnotifier.h>
// FORWARD DECLARATION
--- a/web_pub/favourites_engine_api/inc/FavouritesDb.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesDb.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,10 +23,10 @@
#include <e32base.h>
#include <d32dbms.h>
-#include <FavouritesItem.h>
-#include <FavouritesLimits.h>
-#include <FavouritesSession.h>
-#include <FavouritesHandle.h>
+#include <favouritesitem.h>
+#include <favouriteslimits.h>
+#include <favouritessession.h>
+#include <favouriteshandle.h>
// FORWARD DECLARATIONS
--- a/web_pub/favourites_engine_api/inc/FavouritesDbIncremental.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesDbIncremental.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
-#include <FavouritesHandle.h>
+#include <favouriteshandle.h>
// FORWARD DECLARATIONS
--- a/web_pub/favourites_engine_api/inc/FavouritesDbNotifier.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesDbNotifier.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
-#include <FavouritesHandle.h>
+#include <favouriteshandle.h>
// FORWARD DECLARATIONS
--- a/web_pub/favourites_engine_api/inc/FavouritesFile.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesFile.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
-#include <FavouritesHandle.h>
+#include <favouriteshandle.h>
// FORWARD DECLARATION
@@ -118,7 +118,7 @@
};
-#include <FavouritesFile.inl>
+#include <favouritesfile.inl>
#endif
--- a/web_pub/favourites_engine_api/inc/FavouritesHandle.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesHandle.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <FavouritesSession.h>
+#include <favouritessession.h>
// CLASS DECLARATION
@@ -126,7 +126,7 @@
};
-#include <FavouritesHandle.inl>
+#include <favouriteshandle.inl>
#endif
--- a/web_pub/favourites_engine_api/inc/FavouritesItem.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesItem.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,8 +22,8 @@
// INCLUDES
#include <e32base.h>
-#include <FavouritesLimits.h>
-#include <FavouritesWapAp.h>
+#include <favouriteslimits.h>
+#include <favouriteswapap.h>
// FORWARD DECLARATION
--- a/web_pub/favourites_engine_api/inc/FavouritesSession.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/inc/FavouritesSession.h Mon Mar 29 12:27:15 2010 +0100
@@ -134,6 +134,6 @@
#endif
-#include <FavouritesSession.inl>
+#include <favouritessession.inl>
// End of File
--- a/web_pub/favourites_engine_api/tsrc/group/FavouritesEngineTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/group/FavouritesEngineTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -31,17 +31,17 @@
DEFFILE FavouritesEngineTest.def
SOURCEPATH ../src
-SOURCE FavouritesEngineTest.cpp
-SOURCE FavouritesItemTestCases.cpp
-SOURCE FavouritesItemListTestCases.cpp
-SOURCE FavouritesDbTestCases.cpp
-SOURCE FavouritesWapApTestCases.cpp
-SOURCE FavouritesDbIncrementalTestCases.cpp
-SOURCE FavouritesFileTestCases.cpp
-SOURCE FavouritesSessionTestCases.cpp
-SOURCE FavouritesNotifierTestCases.cpp
-SOURCE FavouritesItemTestData.cpp
-SOURCE FavouritesDbTestObserver.cpp
+SOURCE favouritesenginetest.cpp
+SOURCE favouritesitemtestcases.cpp
+SOURCE favouritesitemlisttestcases.cpp
+SOURCE favouritesdbtestcases.cpp
+SOURCE favouriteswapaptestcases.cpp
+SOURCE favouritesdbincrementaltestcases.cpp
+SOURCE favouritesfiletestcases.cpp
+SOURCE favouritessessiontestcases.cpp
+SOURCE favouritesnotifiertestcases.cpp
+SOURCE favouritesitemtestdata.cpp
+SOURCE favouritesdbtestobserver.cpp
USERINCLUDE ../inc
SYSTEMINCLUDE ../../inc
--- a/web_pub/favourites_engine_api/tsrc/inc/FavouritesDbTestObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/inc/FavouritesDbTestObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,8 +22,8 @@
// INCLUDES
#include <e32base.h>
-#include <FavouritesDbObserver.h>
-#include "FavouritesEngineTest.h"
+#include <favouritesdbobserver.h>
+#include "favouritesenginetest.h"
// FORWARD DECLARATION
--- a/web_pub/favourites_engine_api/tsrc/inc/FavouritesEngineTest.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/inc/FavouritesEngineTest.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,22 +1,25 @@
/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : favouritesenginetest.h
+* Part of : ?Subsystem_name / FavouritesEngineTest
+*
+* Description : FavouritesEngineTest test module.
+* Version: 0.5
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* Copyright (C) 2002 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
*
-* Description: FavouritesEngineTest test module.
-*
+* ============================================================================
*/
-
#ifndef FAVOURITESENGINETEST_H
#define FAVOURITESENGINETEST_H
@@ -24,16 +27,16 @@
#include "StifTestModule.h"
#include <StifLogger.h>
#include <f32file.h>
-#include <FavouritesSession.h>
-#include <FavouritesItem.h>
-#include <FavouritesItemList.h>
-#include <FavouritesDb.h>
-#include <FavouritesFile.h>
+#include <favouritessession.h>
+#include <favouritesitem.h>
+#include <favouritesitemlist.h>
+#include <favouritesdb.h>
+#include <favouritesfile.h>
//#include <RfsApMapper.h>
-#include <FavouritesDbIncremental.h>
-#include <FavouritesDbObserver.h>
-#include <ActiveFavouritesDbNotifier.h>
-#include "FavouritesItemTestData.h"
+#include <favouritesdbincremental.h>
+#include <favouritesdbobserver.h>
+#include <activefavouritesdbnotifier.h>
+#include "favouritesitemtestdata.h"
// CONSTANTS
_LIT( KTestDbName, "Test" );
@@ -342,6 +345,24 @@
TInt ItemAssignTestL( TTestResult& aResult );
/**
+ * FavouritesItem Assign(=) operator test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemAssignSelfTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem Assign(=) operator test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemAssignCompleteTestL( TTestResult& aResult );
+
+ /**
* FavouritesItem Uid test case.
* @since ?Series60_version
* @param aResult Test case result (PASS/FAIL)
@@ -432,13 +453,32 @@
TInt ItemIsItemTestL( TTestResult& aResult );
/**
- * FavouritesItem IsFolder test case.
+ * FavouritesItem IsItemEFolder test case.
* @since ?Series60_version
* @param aResult Test case result (PASS/FAIL)
* @return Symbian OS error code (test case execution error
* that is not returned as test case result in aResult)
*/
+ TInt ItemIsItemEFolderTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem IsFolder test case for type EItem.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+
TInt ItemIsFolderTestL( TTestResult& aResult );
+ /**
+ * FavouritesItem IsFolder test case for type EFolder.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+
+ TInt ItemIsFolderEFolderTestL( TTestResult& aResult );
/**
* FavouritesItem IsFactoryItem test case.
@@ -495,6 +535,15 @@
TInt ItemSetTypeTestL( TTestResult& aResult );
/**
+ * FavouritesItem SetTypeNone test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetTypeNoneTestL( TTestResult& aResult );
+
+ /**
* FavouritesItem SetNameL test case.
* @since ?Series60_version
* @param aResult Test case result (PASS/FAIL)
@@ -504,6 +553,60 @@
TInt ItemSetNameLTestL( TTestResult& aResult );
/**
+ * FavouritesItem ItemSetNameMaxLengthTruncateLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameMaxLengthTruncateLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem ItemSetNameTrimStringLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameTrimStringLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem ItemSetNameRTLMarkLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameRTLMarkLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem ItemSetNameEmptyStringLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameEmptyStringLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem ItemSetNameWhiteSpaceLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameWhiteSpaceLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem SetNameFolderL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetNameFolderLTestL( TTestResult& aResult );
+
+ /**
* FavouritesItem SetUrlL test case.
* @since ?Series60_version
* @param aResult Test case result (PASS/FAIL)
@@ -529,6 +632,25 @@
* that is not returned as test case result in aResult)
*/
TInt ItemSetUserNameLTestL( TTestResult& aResult );
+
+
+ /**
+ * FavouritesItem ItemSetUserNameMaxLengthLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetUserNameMaxLengthLTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem ItemSetUserNameTruncateLengthLTestL test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetUserNameTruncateLengthLTestL( TTestResult& aResult );
/**
* FavouritesItem SetPasswordL test case.
@@ -984,6 +1106,24 @@
*/
TInt DbDeleteFolderTestL( TTestResult& aResult );
+ /**
+ * FavouritesItem IsHidden test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemIsHiddenTestL( TTestResult& aResult );
+
+ /**
+ * FavouritesItem SetHidden test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt ItemSetHiddenTestL( TTestResult& aResult );
+
private: // Functions to test TFavouritesWapAp interface
/**
@@ -1014,6 +1154,15 @@
TInt WapApAssignWithApIdTest( TTestResult& aResult );
/**
+ * TFavouritesWapAp assign operator using self ApId test case.
+ * @since ?Series60_version
+ * @param aResult Test case result (PASS/FAIL)
+ * @return Symbian OS error code (test case execution error
+ * that is not returned as test case result in aResult)
+ */
+ TInt WapApAssignSelfWithApTest( TTestResult& aResult );
+
+ /**
* TFavouritesWapAp SetNull test case.
* @since ?Series60_version
* @param aResult Test case result (PASS/FAIL)
--- a/web_pub/favourites_engine_api/tsrc/inc/FavouritesItemTestData.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/inc/FavouritesItemTestData.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32base.h>
-#include <FavouritesItemData.h>
+#include <favouritesitemdata.h>
// CLASS DECLARATION
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesDbIncrementalTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesDbIncrementalTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesDbTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesDbTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesDbTestObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesDbTestObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
// INCLUDE FILES
-#include <FavouritesDb.h>
-#include "FavouritesDbTestObserver.h"
+#include <favouritesdb.h>
+#include "favouritesdbtestobserver.h"
//#include "FavouritesDbTester.h"
-#include "ActiveFavouritesDbNotifier.h"
+#include <activefavouritesdbnotifier.h>
// CONSTANTS
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesEngineTest.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesEngineTest.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,25 +1,28 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : FavouritesEngineTest.cpp
+* Part of : ?Subsystem_name / FavouritesEngineTest
+*
+* Description : FavouritesBCTest class member functions
+* Version: 0.5
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* Copyright (C) 2006 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
*
-* Description: FavouritesBCTest class member functions
-*
+* ============================================================================
*/
-
// INCLUDE FILES
#include <Stiftestinterface.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
@@ -249,7 +252,9 @@
ENTRY( "Item NewLC test", CFavouritesEngineTest::ItemNewLCTestL ),
ENTRY( "Item NewL test", CFavouritesEngineTest::ItemNewLTestL ),
ENTRY( "Item Destructor test", CFavouritesEngineTest::ItemDestructorTestL ),
- ENTRY( "Item Assign(=) operator test", CFavouritesEngineTest::ItemAssignTestL ),
+ ENTRY( "Item Assign(=) operator basic test", CFavouritesEngineTest::ItemAssignTestL ),
+ ENTRY( "Item Assign(=) to Self test", CFavouritesEngineTest::ItemAssignSelfTestL ),
+ ENTRY( "Item Assign(=) Complete test", CFavouritesEngineTest::ItemAssignCompleteTestL ),
ENTRY( "Item Uid test", CFavouritesEngineTest::ItemUidTestL ),
ENTRY( "Item ParentFolder test", CFavouritesEngineTest::ItemParentFolderTestL ),
ENTRY( "Item Type test", CFavouritesEngineTest::ItemTypeTestL ),
@@ -259,19 +264,30 @@
ENTRY( "Item UserName test", CFavouritesEngineTest::ItemUserNameTestL ),
ENTRY( "Item Password test", CFavouritesEngineTest::ItemPasswordTestL ),
ENTRY( "Item ContextId test", CFavouritesEngineTest::ItemContextIdTestL ),
- ENTRY( "Item IsItem test", CFavouritesEngineTest::ItemIsItemTestL ),
- ENTRY( "Item IsFolder test", CFavouritesEngineTest::ItemIsFolderTestL ),
+ ENTRY( "Item IsItem Default test", CFavouritesEngineTest::ItemIsItemTestL ),
+ ENTRY( "Item IsItem Folder test", CFavouritesEngineTest::ItemIsItemEFolderTestL ),
+ ENTRY( "Item IsFolder Default test", CFavouritesEngineTest::ItemIsFolderTestL ),
+ ENTRY( "Item IsFolder Folder test", CFavouritesEngineTest::ItemIsFolderEFolderTestL ),
ENTRY( "Item IsFactoryItem test", CFavouritesEngineTest::ItemIsFactoryItemTestL ),
ENTRY( "Item IsReadOnly test", CFavouritesEngineTest::ItemIsReadOnlyTestL ),
ENTRY( "Item Modified test", CFavouritesEngineTest::ItemModifiedTestL ),
ENTRY( "Item ClearL test", CFavouritesEngineTest::ItemClearLTestL ),
ENTRY( "Item SetParentFolder test", CFavouritesEngineTest::ItemSetParentFolderTestL ),
- ENTRY( "Item SetType test", CFavouritesEngineTest::ItemSetTypeTestL ),
- ENTRY( "Item SetNameL test", CFavouritesEngineTest::ItemSetNameLTestL ),
- ENTRY( "Item SetUrlL test", CFavouritesEngineTest::ItemSetUrlLTestL ),
+ ENTRY( "Item SetType Default test", CFavouritesEngineTest::ItemSetTypeTestL ),
+ ENTRY( "Item SetType None test", CFavouritesEngineTest::ItemSetTypeNoneTestL ),
+ ENTRY( "Item SetName Default test", CFavouritesEngineTest::ItemSetNameLTestL ),
+ ENTRY( "Item SetName Truncate test", CFavouritesEngineTest::ItemSetNameMaxLengthTruncateLTestL ),
+ ENTRY( "Item SetName TrimString test", CFavouritesEngineTest::ItemSetNameTrimStringLTestL ),
+ ENTRY( "Item SetName RTLMark test", CFavouritesEngineTest::ItemSetNameRTLMarkLTestL ),
+ ENTRY( "Item SetName EmptyString test", CFavouritesEngineTest::ItemSetNameEmptyStringLTestL ),
+ ENTRY( "Item SetName WhiteSpace test", CFavouritesEngineTest::ItemSetNameWhiteSpaceLTestL ),
+ ENTRY( "Item SetName ForFolder test", CFavouritesEngineTest::ItemSetNameFolderLTestL ),
+ ENTRY( "Item SetUrl test", CFavouritesEngineTest::ItemSetUrlLTestL ),
ENTRY( "Item SetWapAp test", CFavouritesEngineTest::ItemSetWapApTestL ),
- ENTRY( "Item SetUserNameL test", CFavouritesEngineTest::ItemSetUserNameLTestL ),
- ENTRY( "Item SetPasswordL test", CFavouritesEngineTest::ItemSetPasswordLTestL ),
+ ENTRY( "Item SetUserName test", CFavouritesEngineTest::ItemSetUserNameLTestL ),
+ ENTRY( "Item SetUserName MaxLengthErr test", CFavouritesEngineTest::ItemSetUserNameMaxLengthLTestL ),
+ ENTRY( "Item SetUserName Truncate test", CFavouritesEngineTest::ItemSetUserNameTruncateLengthLTestL ),
+ ENTRY( "Item SetPassword test", CFavouritesEngineTest::ItemSetPasswordLTestL ),
ENTRY( "Item SetContextId test", CFavouritesEngineTest::ItemSetContextIdTestL ),
ENTRY( "List Constructor test", CFavouritesEngineTest::ListConstructorTestL ),
ENTRY( "List Destructor test", CFavouritesEngineTest::ListDestructorTestL ),
@@ -321,6 +337,7 @@
ENTRY( "WapAp Constructor test", CFavouritesEngineTest::WapApConstructorTest ),
ENTRY( "WapAp Assign with Ap test", CFavouritesEngineTest::WapApAssignWithApTest ),
ENTRY( "WapAp Assign with ApId test", CFavouritesEngineTest::WapApAssignWithApIdTest ),
+ ENTRY( "WapAp Self-Assign with ApId test", CFavouritesEngineTest::WapApAssignSelfWithApTest ),
ENTRY( "WapAp SetNull test", CFavouritesEngineTest::WapApSetNullTest ),
ENTRY( "WapAp SetDefault test", CFavouritesEngineTest::WapApSetDefaultTest ),
ENTRY( "WapAp SetApId test", CFavouritesEngineTest::WapApSetApIdTest ),
@@ -346,7 +363,9 @@
ENTRY( "Notifier constructor test", CFavouritesEngineTest::NotifierConstructorTestL ),
ENTRY( "Notifier destructor test", CFavouritesEngineTest::NotifierDestructorTestL ),
ENTRY( "Notifier Start test", CFavouritesEngineTest::NotifierStartTestL ),
- ENTRY( "Db DeleteFolder test", CFavouritesEngineTest::DbDeleteFolderTestL )
+ ENTRY( "Db DeleteFolder test", CFavouritesEngineTest::DbDeleteFolderTestL ),
+ ENTRY( "Item IsHidden test", CFavouritesEngineTest::ItemIsHiddenTestL ),
+ ENTRY( "Item SetHidden test", CFavouritesEngineTest::ItemSetHiddenTestL )
};
// Verify that case number is valid
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesFileTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesFileTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesItemListTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesItemListTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesItemTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesItemTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,26 +1,29 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ============================================================================
+* Name: FavouritesItemTestCases.cpp
+* Part of: FavouritesEngineTest class member functions
+*
+* Description:
+*
+* Version: 1.0
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* Copyright (C) 2008 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
*
-* Description:
-*
-*
+* ============================================================================
*/
-
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
@@ -260,6 +263,153 @@
Class: CFavouritesEngineTest
+ Method: ItemAssignCompleteTestL
+
+ Description: Assigning one item to another with the Assign(=) method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemAssignCompleteTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Assigning item with Assign(=) operator");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ TFavouritesWapAp accessPoint1;
+ accessPoint1.SetApId( 22 );
+
+ CFavouritesItem* item1 = CFavouritesItem::NewLC();
+ item1->SetNameL( _L("Item1") );
+ item1->SetUrlL( _L("http://www.nokia.com") );
+ item1->SetUserNameL( _L("Name 1"));
+ item1->SetPasswordL( _L("Password 1"));
+ item1->SetParentFolder(3);
+ item1->SetContextId(22);
+ item1->SetHidden(1);
+ item1->SetWapAp( accessPoint1 );
+
+
+ TFavouritesWapAp accessPoint2;
+ accessPoint2.SetApId( 24 );
+
+ CFavouritesItem* item2 = CFavouritesItem::NewLC();
+ item2->SetNameL( _L("Item2") );
+ item2->SetUrlL( _L("http://www.google.com") );
+ item2->SetUserNameL( _L("Name 2"));
+ item2->SetPasswordL( _L("Password 2"));
+ item2->SetParentFolder(4);
+ item2->SetContextId(24);
+ // item2->SetHidden(0);
+ item2->SetWapAp( accessPoint2 );
+
+
+
+
+ *item1 = *item2;
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (
+ (item1->Name() == item2->Name()) &&
+ (item1->Url() == item2->Url()) &&
+ (item1->UserName() == item2->UserName()) &&
+ (item1->Password() == item2->Password()) &&
+ (item1->ContextId() == item2->ContextId()) &&
+ (item1->ParentFolder() == item2->ParentFolder()) &&
+ (item1->Type() == item2->Type()) &&
+ (item1->WapAp().ApId() == item2->WapAp().ApId()) &&
+ (item1->IsItem() == item2->IsItem()) &&
+ (item1->IsFolder() == item2->IsFolder()) &&
+ (item1->IsHidden() == item2->IsHidden()) &&
+ // (item1->Uid() == item2->Uid()) &&
+ (item1->Modified() == item2->Modified())
+
+ )
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( 2 ); // item1, item2
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemAssignSelfTestL
+
+ Description: Assigning one item to self with the Assign(=) method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemAssignSelfTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Assigning item with Assign(=) operator");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item1 = CFavouritesItem::NewLC();
+ item1->SetNameL( _L("Item1") );
+
+ *item1 = *item1; //copy to self, should not affect anything
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item1->Name() == _L("Item1"))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item1 );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
Method: ItemUidTestL
Description: Test getting the item's Uid using the Uid method.
@@ -391,7 +541,7 @@
_LIT( KData2 ,"Finished");
TestModuleIf().Printf( 0, KDefinition, KData2 );
- if (itemType == 1)
+ if (itemType == CFavouritesItem::EItem)
{
_LIT( KDescription , "Test case passed");
aResult.SetResult( KErrNone, KDescription );
@@ -769,6 +919,59 @@
return KErrNone;
}
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemIsItemEFolderTestL
+
+ Description: Test if the folder is not an item using the IsItem method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemIsItemEFolderTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Checking if the folder is not an item with IsItem method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ item->SetType(CFavouritesItem::EFolder);
+
+ TBool itemIsItem = item->IsItem();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (!itemIsItem)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
/*
-------------------------------------------------------------------------------
@@ -793,7 +996,7 @@
{
/* Simple server connect */
_LIT( KDefinition ,"State");
- _LIT( KData ,"Checking if the item is a folder with IsFolder method");
+ _LIT( KData ,"Checking if the item is not a folder with IsFolder method");
TestModuleIf().Printf( 0, KDefinition, KData );
CFavouritesItem* item = CFavouritesItem::NewLC();
@@ -825,6 +1028,58 @@
Class: CFavouritesEngineTest
+ Method: ItemIsFolderEFolderTestL
+
+ Description: Test if the item of type EFolder is a folder using the IsFolder method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemIsFolderEFolderTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Checking if the folder is a folder with IsFolder method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ /* set item as folder type */
+ item->SetType(CFavouritesItem::EFolder);
+ TBool itemIsFolder = item->IsFolder();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (itemIsFolder)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
Method: ItemIsFactoryItemTestL
Description: Test if the item is a factory item using the IsFactoryItem method.
@@ -1084,7 +1339,7 @@
Method: ItemSetTypeTestL
- Description: Test setting the item's type using the SetType method.
+ Description: Test setting the item's type to EFolder using the SetType method.
Parameters: TTestResult& aErrorDescription: out:
Test result and on error case a short description of error
@@ -1101,7 +1356,7 @@
{
/* Simple server connect */
_LIT( KDefinition ,"State");
- _LIT( KData ,"Setting the item's type with SetType method");
+ _LIT( KData ,"Setting the item's type to Folder with SetType method");
TestModuleIf().Printf( 0, KDefinition, KData );
CFavouritesItem* item = CFavouritesItem::NewLC();
@@ -1133,6 +1388,57 @@
Class: CFavouritesEngineTest
+ Method: ItemSetTypeNoneTestL
+
+ Description: Test setting the item's type to ENone using the SetType method. Type should not be affected.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetTypeNoneTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's type to None with SetType method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+
+ item->SetType(CFavouritesItem::ENone);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item->Type() != CFavouritesItem::ENone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
Method: ItemSetNameLTestL
Description: Test setting the item's name using the SetNameL method.
@@ -1179,11 +1485,319 @@
return KErrNone;
}
+
/*
-------------------------------------------------------------------------------
Class: CFavouritesEngineTest
+ Method: ItemSetNameFolderLTestL
+
+ Description: Test setting the item (folder)'s name using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameFolderLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ item->SetType(CFavouritesItem::EFolder);
+ item->SetNameL( _L("Fav Folder") );
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item->Name() == _L("Fav Folder"))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetNameMaxLengthTruncateLTestL
+
+ Description: Test setting the item's name and maxlength using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameMaxLengthTruncateLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ TRAPD(err, item->SetNameL( _L("Item Name longer than KFavouritesMaxName limit which is 50 chars")));
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if ((item->Name().Length() == KFavouritesMaxName)&& (err==KErrOverflow))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetNameTrimStringLTestL
+
+ Description: Test setting the item's name with trim using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameTrimStringLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ item->SetNameL( _L(" some name "));
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item->Name()== _L("some name"))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetNameRTLMarkLTestL
+
+ Description: Test setting the item's name with trim using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameRTLMarkLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ item->SetNameL( _L("\x200F some name \x200F"));
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item->Name()== _L("some name"))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetNameEmptyStringLTestL
+
+ Description: Test setting the item's name with trim using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameEmptyStringLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ TRAPD(err, item->SetNameL( _L(""))); //returns error
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (err!=KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetNameWhiteSpaceLTestL
+
+ Description: Test setting the item's name with trim using the SetNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Draft
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetNameWhiteSpaceLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's name with SetNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ TRAPD(err, item->SetNameL( _L(" "))); //returns error
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (err!=KErrNone)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
Method: ItemSetUrlLTestL
Description: Test setting the item's url using the SetUrlL method.
@@ -1334,6 +1948,114 @@
return KErrNone;
}
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetUserNameMaxLengthLTestL
+
+ Description: Test setting the item's user name using the SetUserNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetUserNameMaxLengthLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's user name with SetUserNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ // TInt err;
+
+ TRAPD(err, item->SetUserNameL( _L("New User name longer than allowed by the limit of KFavouritesMaxUserName which is 40 chars at this moment") ));
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (err==KErrOverflow)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetUserNameTruncateLengthLTestL
+
+ Description: Test setting the item's user name using the SetUserNameL method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetUserNameTruncateLengthLTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's user name with SetUserNameL method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+ TInt truncLength;
+
+ TRAPD(err, item->SetUserNameL( _L("New User name longer than allowed by the limit of KFavouritesMaxUserName which is 40 chars at this moment") ));
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+ truncLength = item->UserName().Length();
+
+ if ((truncLength==KFavouritesMaxUserName)&& (err==KErrOverflow))
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+
/*
-------------------------------------------------------------------------------
@@ -1436,6 +2158,109 @@
return KErrNone;
}
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemIsHiddenTestL
+
+ Description: Test if the item is hidden using the IsHidden method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+
+TInt CFavouritesEngineTest::ItemIsHiddenTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Checking if the item is hidden item with IsHidden method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+
+ TBool itemIsHidden = item->IsHidden();
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (!itemIsHidden)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: ItemSetHiddenTestL
+
+ Description: Test setting the item's hidden value using the SetHidden method.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::ItemSetHiddenTestL( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Setting the item's hidden value with SetHidden method");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ CFavouritesItem* item = CFavouritesItem::NewLC();
+
+ item->SetHidden(1);
+
+ _LIT( KData2 ,"Finished");
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if (item->IsHidden() == 1)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ CleanupStack::PopAndDestroy( item );
+
+ // Case was executed
+ return KErrNone;
+ }
+
// ================= OTHER EXPORTED FUNCTIONS =================================
// End of File
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesItemTestData.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesItemTestData.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <s32strm.h>
-#include "FavouritesItemTestData.h"
+#include "favouritesitemtestdata.h"
// ================= MEMBER FUNCTIONS =======================
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesNotifierTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesNotifierTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,8 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
-#include "FavouritesDbTestObserver.h"
+#include "favouritesenginetest.h"
+#include "favouritesdbtestobserver.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesSessionTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesSessionTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
--- a/web_pub/favourites_engine_api/tsrc/src/FavouritesWapApTestCases.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/favourites_engine_api/tsrc/src/FavouritesWapApTestCases.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,26 +1,29 @@
/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ============================================================================
+* Name: FavouritesWapApTestCases.cpp
+* Part of: FavouritesEngineTest class member functions
+*
+* Description:
+*
+* Version: 0.5
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* Copyright (C) 2002 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
*
-* Description:
-*
-*
+* ============================================================================
*/
-
// INCLUDE FILES
#include <e32math.h>
-#include "FavouritesEngineTest.h"
+#include "favouritesenginetest.h"
// EXTERNAL DATA STRUCTURES
// None
@@ -151,6 +154,58 @@
return KErrNone;
}
+
+/*
+-------------------------------------------------------------------------------
+
+ Class: CFavouritesEngineTest
+
+ Method: WapApAssignSelfWithApTest
+
+ Description: Test the WapAp assign(=) operater using a WapAp as the argument.
+
+ Parameters: TTestResult& aErrorDescription: out:
+ Test result and on error case a short description of error
+
+ Return Values: TInt: Always KErrNone to indicate that test was valid
+
+ Errors/Exceptions: None
+
+ Status: Approved
+
+-------------------------------------------------------------------------------
+*/
+TInt CFavouritesEngineTest::WapApAssignSelfWithApTest( TTestResult& aResult )
+ {
+ /* Simple server connect */
+ _LIT( KDefinition ,"State");
+ _LIT( KData ,"Test the WapAp assign(=) operater using the same WapAp as the argument");
+ TestModuleIf().Printf( 0, KDefinition, KData );
+
+ TFavouritesWapAp accessPoint1, accessPoint2;
+
+ accessPoint1 = 222;
+
+ accessPoint1 = accessPoint1;
+
+ _LIT( KData2 ,"Finished" );
+ TestModuleIf().Printf( 0, KDefinition, KData2 );
+
+ if(accessPoint1.ApId() == 222)
+ {
+ _LIT( KDescription , "Test case passed");
+ aResult.SetResult( KErrNone, KDescription );
+ }
+ else
+ {
+ _LIT( KDescription , "Test case failed");
+ aResult.SetResult( KErrGeneral, KDescription );
+ }
+
+ // Case was executed
+ return KErrNone;
+ }
+
/*
-------------------------------------------------------------------------------
--- a/web_pub/settings_api/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/settings_api/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,15 +18,15 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../inc/BrowserUiSDKCRKeys.h MW_LAYER_PUBLIC_EXPORT_PATH(BrowserUiSDKCRKeys.h)
-../inc/BrowserUiInternalCRKeys.h MW_LAYER_PUBLIC_EXPORT_PATH(BrowserUiInternalCRKeys.h)
+../inc/browseruisdkcrkeys.h MW_LAYER_PUBLIC_EXPORT_PATH(browseruisdkcrkeys.h)
+../inc/browseruiinternalcrkeys.h MW_LAYER_PUBLIC_EXPORT_PATH(browseruiinternalcrkeys.h)
PRJ_MMPFILES
--- a/web_pub/settings_api/inc/BrowserUiInternalCRKeys.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/settings_api/inc/BrowserUiInternalCRKeys.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,8 +17,8 @@
#ifndef BROWSERUIINTERNALCRKEYS_H
#define BROWSERUIINTERNALCRKEYS_H
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
-#pragma message ("Please include BrowserUiSDKCRKeys.h in place of BrowserUiInternalCRKeys.h")
+#pragma message ("Please include browseruisdkcrkeys.h in place of browseruiinternalcrkeys.h")
#endif // BROWSERUIINTERNALCRKEYS_H
--- a/web_pub/settings_api/inc/BrowserUiSDKCRKeys.h Wed Jan 13 15:52:45 2010 +0000
+++ b/web_pub/settings_api/inc/BrowserUiSDKCRKeys.h Mon Mar 29 12:27:15 2010 +0100
@@ -406,4 +406,8 @@
// Cursormode which defines the cursor display supported status depends on phones.
const TUint32 KBrowserCursorShowMode = 0x00000082;
+
+// Controls whether enter key can activate a link, ot just has a default behavior.
+const TUint32 KBrowserEnterKeyMode = 0x00000083;
+
#endif // BROWSERUISDKCRKEYS_H
\ No newline at end of file
--- a/webengine/browserrecognizers/data/01005A02.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/browserrecognizers/data/01005A02.rss Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO r_registry
{
dll_uid = 0x01005A02; // Should match the name of this file
--- a/webengine/browserrecognizers/group/BrowserRec.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/browserrecognizers/group/BrowserRec.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,28 +14,20 @@
* Description: Recognizer for the bowser supported MIME types.
*
*/
-#if defined(__BROWSER_SDK)
-TARGET BrowserRec_sdk.DLL
-#else
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET BrowserRec.DLL
-#endif
TARGETTYPE PLUGIN
UID 0x10009D8D 0x01005A02
CAPABILITY CAP_ECOM_PLUGIN
-
SOURCEPATH ../Data
START RESOURCE 01005A02.rss
-#if defined(__BROWSER_SDK)
-TARGET BrowserRec_sdk.rsc
-#else
+
TARGET BrowserRec.rsc
-#endif
END
@@ -45,15 +37,8 @@
SOURCE BrowserRec.cpp
USERINCLUDE ../inc
-#ifndef __BROWSER_SDK
+
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE /Epoc32/include /Epoc32/include/ecom
-#endif
-
-
LIBRARY EUSER.LIB
LIBRARY APMIME.LIB
-
--- a/webengine/browserrecognizers/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/browserrecognizers/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT GCCE
--- a/webengine/browserrecognizers/src/BrowserRec.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/browserrecognizers/src/BrowserRec.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include "BrowserRec.h"
-#include "ImplementationProxy.h"
+#include <ecom/implementationproxy.h>
//
// CBrowserRecognizer
--- a/webengine/device/group/Device.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/group/Device.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
MACRO __S60__
MACRO arm
MACRO ASSERT_DISABLED
@@ -50,20 +50,19 @@
#endif
MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+
SYSTEMINCLUDE ../../osswebengine/JavaScriptCore
SYSTEMINCLUDE ../../osswebengine/JavaScriptCore/kjs
SYSTEMINCLUDE ../../osswebengine/JavaScriptCore/bindings
SYSTEMINCLUDE ../../osswebengine/JavaScriptCore/wtf
SYSTEMINCLUDE ../../osswebengine/JavaScriptCore/wtf/symbian
SYSTEMINCLUDE ../../../../../
-MW_LAYER_ECOM_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
SYSTEMINCLUDE ../../../inc
USERINCLUDE ../inc
SOURCEPATH ../src
-
SOURCE Device.cpp
SOURCE DeviceBridge.cpp
SOURCE ServiceEventHandler.cpp
@@ -84,3 +83,4 @@
LIBRARY RTSecMgrUtil.lib
LIBRARY WidgetRegistryClient.lib
LIBRARY efsrv.lib
+
--- a/webengine/device/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
/*
* Order is important
--- a/webengine/device/inc/Device.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/inc/Device.h Mon Mar 29 12:27:15 2010 +0100
@@ -59,10 +59,8 @@
public:
DevicePrivate(Device* jsobj);
~DevicePrivate();
- void SetUid( const TUint& aValue);
private:
- MDeviceBinding* m_deviceBinding; // Owned
Identifier m_propName;
ExecState* m_exec; // not owned
Device* m_jsobj; // not owned
@@ -162,6 +160,7 @@
private:
DevicePrivate* m_privateData; // private object to hold data
+ MDeviceBinding* m_deviceBinding; // Owned
TBool m_valid; // object is valid or not
};
--- a/webengine/device/rom/Device.iby Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/rom/Device.iby Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,11 @@
#ifndef __DEVICE_IBY__
#define __DEVICE_IBY__
-#include <platform/mw/Browser_platform_variant.hrh>
+#ifdef __S60_32__
+#include <browser_platform_variant.hrh>
+#else
+#include <platform/mw/browser_platform_variant.hrh>
+#endif
// bitmaps
--- a/webengine/device/src/Device.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/src/Device.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -49,14 +49,18 @@
Device::Device( ExecState* exec )
: JSObject()
{
- m_privateData = new DevicePrivate(this);
- if (!m_privateData || !m_privateData->m_deviceBinding )
- m_valid = EFalse;
- else
- m_valid = ETrue;
+ m_valid = EFalse;
+ TRAP_IGNORE(
+ m_deviceBinding = CDeviceLiwBinding::NewL();
+ )
+ if (m_deviceBinding)
+ {
+ m_privateData = new DevicePrivate(this);
+ if (m_privateData)
+ m_valid = ETrue;
+ }
}
-
// ----------------------------------------------------------------------------
// Device::SetUid
//
@@ -64,8 +68,8 @@
//
void Device::SetUid( const TUint& aValue)
{
- if(m_privateData)
- m_privateData->SetUid( aValue);
+ if(m_deviceBinding)
+ m_deviceBinding->SetUid( aValue);
}
// ----------------------------------------------------------------------------
@@ -81,6 +85,8 @@
m_valid = EFalse;
delete m_privateData;
m_privateData = NULL;
+ delete m_deviceBinding;
+ m_deviceBinding = NULL;
}
@@ -141,7 +147,7 @@
{
case getServiceObject:
case listProviders:
- return new DeviceFunc( exec, m_privateData->m_deviceBinding, token );
+ return new DeviceFunc( exec, m_deviceBinding, token );
default:
return throwError(exec, GeneralError);
@@ -222,11 +228,8 @@
// ---------------------------------------------------------------------------
DevicePrivate::DevicePrivate( Device* jsobj )
{
- m_deviceBinding = NULL;
- TRAP_IGNORE(
- m_deviceBinding = CDeviceLiwBinding::NewL();
- m_jsobj = jsobj;
- m_exec = NULL;)
+ m_jsobj = jsobj;
+ m_exec = NULL;
}
// ---------------------------------------------------------------------------
@@ -238,19 +241,6 @@
// invalid the Device
if (m_jsobj)
m_jsobj->m_valid = EFalse;
-
- delete m_deviceBinding;
- m_deviceBinding = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// DevicePrivate SetUid
-//
-// ---------------------------------------------------------------------------
-void DevicePrivate::SetUid( const TUint& aValue)
- {
- if(m_deviceBinding)
- m_deviceBinding->SetUid( aValue);
}
// ----------------------------------------------------------------------------
@@ -338,7 +328,7 @@
MDeviceBinding* Device::GetDeviceBinding()
{
- return m_privateData->m_deviceBinding;
+ return m_deviceBinding;
}
//END OF FILE
--- a/webengine/device/src/DeviceLiwBinding.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/device/src/DeviceLiwBinding.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -26,7 +26,7 @@
#include <RTSecMgrUtility.h>
#include <RTSecMgrScriptSession.h>
#include <RTSecMgrCommonDef.h>
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include <PropertyNameArray.h>
#include <internal.h>
#include <liwvariant.h>
--- a/webengine/memoryplugin/data/10281f93.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/memoryplugin/data/10281f93.rss Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
#include <oommonitorplugin.hrh>
RESOURCE REGISTRY_INFO theInfo
@@ -35,4 +35,4 @@
};
}
};
-}
\ No newline at end of file
+}
--- a/webengine/memoryplugin/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/memoryplugin/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
PRJ_PLATFORMS
DEFAULT
--- a/webengine/memoryplugin/group/memoryplugin.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/memoryplugin/group/memoryplugin.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -22,22 +22,22 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_ECOM_PLUGIN
VENDORID VID_DEFAULT
USERINCLUDE .
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
START RESOURCE ../data/10281f93.rss
-TARGET memoryplugin.rsc
+TARGET memoryplugin.rsc
END
SOURCEPATH ../src
-SOURCE memoryplugin.cpp
+SOURCE memoryplugin.cpp
-LIBRARY ECOM.LIB
+LIBRARY ECOM.LIB
LIBRARY euser.lib
LIBRARY oommonitor.lib
+
--- a/webengine/osswebengine/JavaScriptCore/bindings/c/c_utility.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/JavaScriptCore/bindings/c/c_utility.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -39,6 +39,8 @@
#include "Platform.h"
#if USE(ICU_UNICODE) && !USE(SYMBIAN_UNICODE)
#include <unicode/ucnv.h>
+#elif PLATFORM(SYMBIAN)
+#include <utf.h>
#endif
namespace KJS { namespace Bindings {
@@ -88,22 +90,34 @@
(*UTF16Chars)[i] = UTF8Chars[i] & 0xFF;
}
#elif PLATFORM(SYMBIAN)
-// fixme: this needs to be a little bit more sophisticated
if (UTF8Length == -1)
UTF8Length = strlen(UTF8Chars);
- *UTF16Length = UTF8Length;
-
- *UTF16Chars = (NPUTF16 *)malloc(sizeof(NPUTF16) * (*UTF16Length));
+ *UTF16Length = 0;
+ *UTF16Chars = 0;
- for (unsigned i = 0; i < *UTF16Length; i++)
- (*UTF16Chars)[i] = UTF8Chars[i] & 0xFF;
-
+ TPtrC8 buf8((TUint8*) UTF8Chars, UTF8Length);
+ HBufC *hbuf16 = HBufC::New(UTF8Length+1);
+ if (!hbuf16)
+ return;
+ TPtr16 buf16 = hbuf16->Des();
+ CnvUtfConverter::ConvertToUnicodeFromUtf8(buf16, buf8);
+ *UTF16Chars = new NPUTF16[buf16.Length()+1];
+ if (!(*UTF16Chars)) {
+ delete hbuf16;
+ return;
+ }
+ memcpy((void*)*UTF16Chars, (const char*)(buf16.Ptr()), buf16.Size());
+ *UTF16Length = buf16.Length();
+ (*UTF16Chars)[(*UTF16Length)] = 0;
+ delete hbuf16;
#else
assert(!"Implement me!");
#endif
}
+
+
// Variant value must be released with NPReleaseVariantValue()
void convertValueToNPVariant(ExecState *exec, JSValue *value, NPVariant *result)
{
--- a/webengine/osswebengine/JavaScriptCore/kjs/array_object.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/JavaScriptCore/kjs/array_object.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -34,7 +34,7 @@
#include <stdio.h>
#if PLATFORM(SYMBIAN)
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#endif // PLATFORM(SYMBIAN)
using namespace KJS;
--- a/webengine/osswebengine/JavaScriptCore/pcre/pcre_internal.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/JavaScriptCore/pcre/pcre_internal.h Mon Mar 29 12:27:15 2010 +0100
@@ -993,12 +993,12 @@
one of the exported public functions. They have to be "external" in the C
sense, but are not part of the PCRE public API. */
-extern int _pcre_ord2utf8(int, uschar *);
-extern real_pcre * _pcre_try_flipped(const real_pcre *, real_pcre *,
+PCRE_DATA_SCOPE int _pcre_ord2utf8(int, uschar *);
+PCRE_DATA_SCOPE real_pcre * _pcre_try_flipped(const real_pcre *, real_pcre *,
const pcre_study_data *, pcre_study_data *);
-extern int _pcre_ucp_findchar(const int, int *, int *);
-extern int _pcre_valid_utf8(const uschar *, int);
-extern BOOL _pcre_xclass(int, const uschar *);
+PCRE_DATA_SCOPE int _pcre_ucp_findchar(const int, int *, int *);
+PCRE_DATA_SCOPE int _pcre_valid_utf8(const uschar *, int);
+PCRE_DATA_SCOPE BOOL _pcre_xclass(int, const uschar *);
#endif
--- a/webengine/osswebengine/JavaScriptCore/wtf/symbian/limits Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/JavaScriptCore/wtf/symbian/limits Mon Mar 29 12:27:15 2010 +0100
@@ -57,15 +57,15 @@
template<>
struct numeric_limits<long long>
{
- static long long min() { return -9223372036854775807; }
- static long long max() { return 9223372036854775807; }
+ static long long min() { return -9223372036854775807LL; }
+ static long long max() { return 9223372036854775807LL; }
static const bool is_signed = true;
};
template<>
struct numeric_limits<unsigned long long>
{
- static unsigned long long max() { return 18446744073709551615; }
+ static unsigned long long max() { return 18446744073709551615ULL; }
static const bool is_signed = false;
};
}
--- a/webengine/osswebengine/JavaScriptCore/wtf/symbian/snprintf.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/JavaScriptCore/wtf/symbian/snprintf.c Mon Mar 29 12:27:15 2010 +0100
@@ -153,8 +153,8 @@
} PrintfArgValue;
-void flushbuffer(PrintfTarget *target);
-int dopr(PrintfTarget *target, const char *format, va_list args);
+static void flushbuffer(PrintfTarget *target);
+static int dopr(PrintfTarget *target, const char *format, va_list args);
EXPORT_C int
--- a/webengine/osswebengine/MemoryManager/BWINS/MEMMANU.DEF Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/BWINS/MEMMANU.DEF Mon Mar 29 12:27:15 2010 +0100
@@ -26,4 +26,8 @@
?SetStatus@MemoryManager@@SAXW4TOOMCheckResult@@@Z @ 25 NONAME ; void MemoryManager::SetStatus(enum TOOMCheckResult)
?Status@MemoryManager@@SAIXZ @ 26 NONAME ; unsigned int MemoryManager::Status(void)
?SwitchToFastAllocator@MemoryManager@@SAPAVRAllocator@@XZ @ 27 NONAME ; class RAllocator * MemoryManager::SwitchToFastAllocator(void)
+ ?CreateFastAllocator@MemoryManager@@SAXXZ @ 28 NONAME ; void MemoryManager::CreateFastAllocator(void)
+ ?InitFastAllocator@MemoryManager@@SAXXZ @ 29 NONAME ; void MemoryManager::InitFastAllocator(void)
+ ?InitOOMDialog@MemoryManager@@SAXXZ @ 30 NONAME ; void MemoryManager::InitOOMDialog(void)
+ ?ResetOOMDialogDisplayed@MemoryManager@@SAXXZ @ 31 NONAME ; void MemoryManager::ResetOOMDialogDisplayed(void)
--- a/webengine/osswebengine/MemoryManager/EABI/MemManU.DEF Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/EABI/MemManU.DEF Mon Mar 29 12:27:15 2010 +0100
@@ -38,4 +38,8 @@
_ZTV14RFastAllocator @ 37 NONAME ; #<VT>#
_ZTV15CFastMemoryPool @ 38 NONAME ; #<VT>#
_ZTV18CDefaultMemoryPool @ 39 NONAME ; #<VT>#
+ _ZN13MemoryManager17InitFastAllocatorEv @ 40 NONAME
+ _ZN13MemoryManager19CreateFastAllocatorEv @ 41 NONAME
+ _ZN13MemoryManager13InitOOMDialogEv @ 42 NONAME
+ _ZN13MemoryManager23ResetOOMDialogDisplayedEv @ 43 NONAME
--- a/webengine/osswebengine/MemoryManager/Group/MemMan.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Group/MemMan.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,11 @@
*
*/
-#if defined(__BROWSER_SDK)
-TARGET MemMan_sdk.dll
-#else
+
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
+
TARGET MemMan.dll
-#endif
TARGETTYPE dll
@@ -39,14 +37,9 @@
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
EPOCALLOWDLLDATA
-#ifndef __BROWSER_SDK
+
MW_LAYER_SYSTEMINCLUDE
-//MW_LAYER_LIBC_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE /Epoc32/include
-#endif
-SYSTEMINCLUDE /epoc32/include/libc
-//#endif
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
USERINCLUDE ../Inc
@@ -59,10 +52,13 @@
SOURCE heap.cpp
SOURCE SymbianDLAllocatorWrapper.cpp
-LIBRARY euser.lib
-DEBUGLIBRARY flogger.lib
-LIBRARY avkon.lib
-LIBRARY estlib.lib
-LIBRARY hal.lib
+LIBRARY euser.lib
+LIBRARY avkon.lib
+LIBRARY estlib.lib
+LIBRARY hal.lib
LIBRARY oommonitor.lib
+LIBRARY aknnotify.lib
+LIBRARY commonengine.lib
+
+DEBUGLIBRARY flogger.lib
--- a/webengine/osswebengine/MemoryManager/Group/MemManTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Group/MemManTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -38,10 +38,10 @@
*
* ==============================================================================
*/
-#ifndef __BROWSER_SDK
+
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-#endif
+#include <platform/mw/browser_platform_variant.hrh>
+
TARGET MemManTest.exe
TARGETTYPE exe
UID 0x01000007
@@ -55,29 +55,23 @@
MACRO KHTML_NO_SCRIPTING
EPOCHEAPSIZE 524288 8388608
-#ifndef __BROWSER_SDK
+
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE /epoc32/include /epoc32/include/libc
-#endif
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
USERINCLUDE ../../WEBCORE/bridge ../../WEBCORE/kwq
USERINCLUDE ../Inc
USERINCLUDE ../tsrc
SOURCEPATH ../tsrc
-SOURCE MemManUnit.cpp
+SOURCE MemManUnit.cpp
SOURCE MemManUTConsole.cpp
SOURCE MemManUTContainer.cpp
LIBRARY ResLoader.lib
-#if defined(__BROWSER_SDK)
-LIBRARY MemMan_sdk.lib
-#else
-LIBRARY memman.lib
-#endif
+LIBRARY memman.lib
+
LIBRARY ESTLIB.lib
LIBRARY euser.lib
LIBRARY EFSRV.lib
@@ -87,9 +81,9 @@
LIBRARY hal.lib
STATICLIBRARY kwq.lib KHTML.lib
-
#ifdef __S60_32__
LANG sc
#else
LANGUAGE_IDS
#endif
+
--- a/webengine/osswebengine/MemoryManager/Group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/MemoryManager/Inc/FastAllocator.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Inc/FastAllocator.h Mon Mar 29 12:27:15 2010 +0100
@@ -92,6 +92,7 @@
#ifdef TRACK_ALLOCATIONS
TUint32 iNextCellId;
#endif
+ friend class MemoryManager;
};
#endif //!__FASTALLOCATOR_H__
--- a/webengine/osswebengine/MemoryManager/Inc/MemoryManager.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Inc/MemoryManager.h Mon Mar 29 12:27:15 2010 +0100
@@ -297,6 +297,47 @@
* @return
*/
IMPORT_C static void CloseFastAllocator(RAllocator* aDefaultAllocator);
+
+ /**
+ * Create fast allocator and switch as default heap. Special case if fast allocator
+ * has to be created from SetupThreadHeap().
+ *
+ * @since 9.2
+ * @param
+ * @return
+ */
+ IMPORT_C static void CreateFastAllocator();
+
+ /**
+ * Initialize MemoryManager library. Special case if CreateFastAllocator is
+ * called from SetupThreadHeap().
+ *
+ * @since 9.2
+ * @param
+ * @return
+ */
+ IMPORT_C static void InitFastAllocator();
+
+ /**
+ * initialize the OOM handler in the memorypool
+ * @since 9.2
+ * @param
+ * @param
+ * @return
+ */
+ IMPORT_C static void InitOOMDialog();
+
+ /**
+ * Reset the OOM dialog display flag in the memorypool; we want to pop the OOM dialog once per page,
+ * so we need to clear this when we are either done with the page (it unloads) or when we load a new one,
+ * so that it will display again when we run out of memory
+ * @since 9.2
+ * @param
+ * @param
+ * @return
+ */
+ IMPORT_C static void ResetOOMDialogDisplayed();
+
};
#endif// !_MEMORYMANAGER_H_
--- a/webengine/osswebengine/MemoryManager/Inc/MemoryPool.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Inc/MemoryPool.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,8 @@
#include <e32base.h>
#include <e32std.h>
-#include "MemoryManager.h"
+#include <aknglobalnote.h>
+#include <MemoryManager.h>
// CONSTANTS
@@ -356,6 +357,8 @@
TUint PostCheck();
TUint FreeMemory( TFreeMem& aFree );
void RestoreRescueBuffer();
+ void InitOOMDialog();
+ void ResetOOMDialogDisplayed();
#ifdef OOM_LOGGING
void DumpHeapLogs();
#endif
@@ -363,6 +366,13 @@
void InitLocal();
RSymbianDLHeap *iAlloc;
+ // Out of memory dialog and localized resource message
+ void ShowOOMDialog();
+
+ CAknGlobalNote* iOOMErrorDialog;
+ HBufC *iOOMMessage;
+ bool isInitted;
+ bool iOOMDisplayed;
};
#endif
--- a/webengine/osswebengine/MemoryManager/Inc/StopScheduler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Inc/StopScheduler.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
-#include "MemoryManager.h"
+#include <MemoryManager.h>
// CONSTANTS
--- a/webengine/osswebengine/MemoryManager/Inc/oom.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Inc/oom.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#ifdef __OOM__
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/*
#include "ObjectBase.h"
--- a/webengine/osswebengine/MemoryManager/Src/FastAllocator.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Src/FastAllocator.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
*/
#include "FastAllocator.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
#include "MemoryPool.h"
#include <e32std.h>
#include <e32debug.h>
--- a/webengine/osswebengine/MemoryManager/Src/MemoryManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Src/MemoryManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,9 +18,10 @@
// INCLUDE FILES
-#include "MemoryManager.h"
+#include <MemoryManager.h>
#include "MemoryPool.h"
#include "FastAllocator.h"
+#include "MemoryLogger.h"
// CONSTANTS
@@ -31,16 +32,6 @@
// initializing a global memory pool.
static CMemoryPool *s_pool = 0;
-struct cleanupMemoryPool {
- ~cleanupMemoryPool() {
- if(s_pool)
- {
- delete s_pool;
- s_pool = NULL;
- }
- }
-};
-static cleanupMemoryPool deleteMemoryPool;
//-----------------------------------------------------------------------------
// Pool() - a utility function for accessing the right memory pool
@@ -58,16 +49,50 @@
}
//-----------------------------------------------------------------------------
+// MemoryManager::CreateAllocator
+//-----------------------------------------------------------------------------
+EXPORT_C void MemoryManager::CreateFastAllocator()
+ {
+ // create the right memory pool
+ MEM_LOGF(_L8("MemoryManager::CreateFastAllocator - s_pool=%x"), s_pool);
+#ifdef __NEW_ALLOCATOR__
+ CMemoryPool *pool = new CNewSymbianHeapPool();
+ pool->Create();
+ RSymbianDlAllocatorWrapper* allocator = new RSymbianDlAllocatorWrapper((CNewSymbianHeapPool*)pool);
+ MEM_LOGF(_L8("MemoryManager::CreateFastAllocator - new pool=%x, allocator=%x"), pool, allocator);
+ User::SwitchAllocator(allocator);
+#endif
+ }
+
+//-----------------------------------------------------------------------------
+// MemoryManager::InitAllocator
+//-----------------------------------------------------------------------------
+EXPORT_C void MemoryManager::InitFastAllocator()
+ {
+ // Initialize s_pool variable from current allocator, assumption is that main program has already called CreateAllocator()
+ // It is special case when this allocator is created in SetupThreadHeap() where can not initialize static data. It also
+ // solves problems due to static data destruction in Symbian 9.5.
+#ifdef __NEW_ALLOCATOR__
+ RAllocator &aAllocator = User::Allocator();
+ RSymbianDlAllocatorWrapper* allocator = (RSymbianDlAllocatorWrapper*) &aAllocator;
+ s_pool = allocator->iPool;
+ MEM_LOGF(_L8("MemoryManager::InitFastAllocator - s_pool=%x, allocator=%x"), s_pool, allocator);
+#endif
+ }
+
+//-----------------------------------------------------------------------------
// MemoryManager::SwitchToFastAllocator
//-----------------------------------------------------------------------------
EXPORT_C RAllocator* MemoryManager::SwitchToFastAllocator()
{
// create the right memory pool
- __ASSERT_DEBUG( s_pool == 0, User::Panic( KMemManPanicDes, 0 ) );
+ //__ASSERT_DEBUG( s_pool == 0, User::Panic( KMemManPanicDes, 0 ) );
+ MEM_LOGF(_L8("MemoryManager::SwitchToFastAllocator - s_pool=%x"), s_pool);
#ifdef __NEW_ALLOCATOR__
s_pool = new CNewSymbianHeapPool();
s_pool->Create();
RSymbianDlAllocatorWrapper* allocator = new RSymbianDlAllocatorWrapper((CNewSymbianHeapPool*)s_pool);
+ MEM_LOGF(_L8("MemoryManager::SwitchToFastAllocator - new s_pool=%x"), s_pool);
return User::SwitchAllocator( allocator );
#else
s_pool = new CFastMemoryPool();
@@ -78,6 +103,32 @@
}
//-----------------------------------------------------------------------------
+// MemoryManager::InitOOMHandler
+//-----------------------------------------------------------------------------
+EXPORT_C void MemoryManager::InitOOMDialog()
+ {
+#ifdef __NEW_ALLOCATOR__
+ if (s_pool)
+ {
+ ((CNewSymbianHeapPool *)s_pool)->InitOOMDialog();
+ }
+#endif
+ }
+
+//-----------------------------------------------------------------------------
+// MemoryManager::ResetOOMDialogDisplayed
+//-----------------------------------------------------------------------------
+EXPORT_C void MemoryManager::ResetOOMDialogDisplayed()
+ {
+#ifdef __NEW_ALLOCATOR__
+ if (s_pool)
+ {
+ ((CNewSymbianHeapPool *)s_pool)->ResetOOMDialogDisplayed();
+ }
+#endif
+ }
+
+//-----------------------------------------------------------------------------
// MemoryManager::CloseFastAllocator
//-----------------------------------------------------------------------------
EXPORT_C void MemoryManager::CloseFastAllocator(RAllocator* aDefaultAllocator)
@@ -96,6 +147,7 @@
//-----------------------------------------------------------------------------
EXPORT_C void MemoryManager::AddCollector( MMemoryCollector* aCollector )
{
+ MEM_LOGF(_L8("MemoryManager::AddCollector - s_pool=%x"), s_pool);
Pool()->AddCollector( aCollector );
}
@@ -112,6 +164,7 @@
//-----------------------------------------------------------------------------
EXPORT_C void MemoryManager::AddStopper( MOOMStopper* aStopper )
{
+ MEM_LOGF(_L8("MemoryManager::AddStopper - s_pool=%x"), s_pool);
Pool()->AddStopper( aStopper );
}
--- a/webengine/osswebengine/MemoryManager/Src/MemoryPool.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Src/MemoryPool.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,6 +28,10 @@
#include "SymbianDlHeap.h"
#include <OOMMonitorSession.h>
#include <hal.h>
+#include <avkon.hrh>
+#include <avkon.rsg>
+#include <StringLoader.h>
+#include <WebKit.rsg>
// CONSTANTS
@@ -461,7 +465,10 @@
//-----------------------------------------------------------------------------
TAny* CNewSymbianHeapPool::DoAlloc( TUint aSize )
{
- return iAlloc->Alloc( aSize );
+ TAny *p = iAlloc->Alloc( aSize );
+ if (!p)
+ ShowOOMDialog();
+ return p;
}
//-----------------------------------------------------------------------------
@@ -477,6 +484,7 @@
// check memory manager status
if( !p || iMemStatus & ERescueOOM )
{
+ ShowOOMDialog();
if( !iIsCollecting )
{
CollectMemory();
@@ -551,7 +559,8 @@
if(req > 0)
return ETrue;
- // We haven't got the required amount free yet, try the browser heap.
+ // We haven't got the required amount free yet, pop an OOM dialog and then try the browser heap.
+ ShowOOMDialog();
CollectMemory(aTotalSize);
// ask the system how much is free now...
HAL::Get(HALData::EMemoryRAMFree, systemFreeMemory);
@@ -610,6 +619,9 @@
CNewSymbianHeapPool::CNewSymbianHeapPool() : CMemoryPool()
{
+ isInitted = EFalse;
+ iOOMErrorDialog = 0;
+ iOOMMessage = 0;
}
CNewSymbianHeapPool::~CNewSymbianHeapPool()
@@ -621,7 +633,7 @@
}
#ifdef __WINSCW__
-const TInt KMaxHeapSize = 0x2000000; // 32MB, on emulator
+const TInt KMaxHeapSize = 0x1000000; // 32MB, on emulator
#else
const TInt KMaxHeapSize = 0x4000000; // 64MB, on hardware
#endif
@@ -663,6 +675,55 @@
return CMemoryPool::Create();
}
+/*
+ * Initialize the OOM dialog and localized message resource
+ * This should be called as soon in the startup process as possible
+ * (unfortunately it can't be called until resources are already loaded)
+ * Note: apps are responsible for showing their own oom dialog; there
+ * is no system one AFAIK; at least we can re-use the oom localized
+ * resource message from elsewhere
+ */
+void CNewSymbianHeapPool::InitOOMDialog()
+ {
+ if (!isInitted)
+ {
+ isInitted = ETrue;
+ iOOMErrorDialog = CAknGlobalNote::NewL();
+ iOOMErrorDialog->SetSoftkeys(R_AVKON_SOFTKEYS_OK_EMPTY);
+ iOOMMessage = StringLoader::LoadL(R_QTN_BROWSER_DIALOG_OOM);
+ iOOMDisplayed = EFalse;
+ }
+ }
+
+void CNewSymbianHeapPool::ShowOOMDialog()
+ {
+ // Don't show it if we did once already
+ if (iOOMDisplayed)
+ return;
+
+ // If we got OOM, show a dialog (if the dialog was initted properly to begin with)
+ if (iOOMErrorDialog)
+ {
+ // If we couldn't load the message resource when we first initted,
+ // try again now; this shouldn't ever happen
+ if (!iOOMMessage)
+ {
+ iOOMMessage = StringLoader::LoadL(R_QTN_BROWSER_DIALOG_OOM);
+ }
+ // If we have no dialog or message we unfortunately cannot display it!
+ if (iOOMMessage)
+ {
+ iOOMErrorDialog->ShowNoteL(EAknGlobalWarningNote,iOOMMessage->Des());
+ iOOMDisplayed = ETrue;
+ }
+ }
+ }
+
+void CNewSymbianHeapPool::ResetOOMDialogDisplayed()
+ {
+ iOOMDisplayed = EFalse;
+ }
+
#ifdef OOM_LOGGING
void CNewSymbianHeapPool::DumpHeapLogs()
{
--- a/webengine/osswebengine/MemoryManager/Src/SymbianDLAllocatorWrapper.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Src/SymbianDLAllocatorWrapper.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
*/
#include "FastAllocator.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
#include "MemoryPool.h"
#include <e32std.h>
#include <e32debug.h>
--- a/webengine/osswebengine/MemoryManager/Src/fast_malloc.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/MemoryManager/Src/fast_malloc.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -448,7 +448,7 @@
#include <e32hal.h>
#include <hal.h>
-#include "MemoryManager.h"
+#include <MemoryManager.h>
//#define OOM_LOGGING
#include "MemoryLogger.h"
@@ -5381,13 +5381,13 @@
// global data and if closing util is not the last
// one to be deleted, it will crash. Luckly enough
// , it seems to be working fine and no crash so far.
+/*
struct ChunkClosingUtil
{
~ChunkClosingUtil() { rchunk.Close(); }
};
-
static ChunkClosingUtil __gx_closing;
-
+*/
/* -----------------------------------------------------------------------
History:
C2.8.2 Sun Jun 12 16:01:10 2005 Doug Lea (dl at gee)
--- a/webengine/osswebengine/WebCore/bindings/js/kjs_window.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/bindings/js/kjs_window.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1543,7 +1543,15 @@
#if PLATFORM(SYMBIAN)
if (d->m_evt && d->m_evt->type() == "mouseover") {
- impl()->frame()->page()->chrome()->setElementVisibilityChanged(true);
+ if (singleShot) {
+ double interval = max(0.001, t * 0.001);
+ if (interval < cMinimumTimerInterval && (timerNestingLevel + 1) >= cMaxTimerNestingLevel) {
+ interval = cMinimumTimerInterval;
+ }
+ impl()->frame()->page()->chrome()->wait(interval);
+ a->execute(this);
+ return lastUsedTimeoutId;
+ }
}
#endif
--- a/webengine/osswebengine/WebCore/bridge/EditorClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/bridge/EditorClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -138,6 +138,9 @@
virtual bool spellingUIIsShowing() = 0;
virtual void getGuessesForWord(const String&, Vector<String>& guesses) = 0;
virtual void setInputMethodState(bool enabled) = 0;
+#if PLATFORM(SYMBIAN)
+ virtual void preFocusChange(Node* oldNode, Node* newNode) = 0;
+#endif
};
}
--- a/webengine/osswebengine/WebCore/css/cssparser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/css/cssparser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1311,12 +1311,16 @@
if (id == CSS_VAL_NONE || id == CSS_VAL_BOTH || id == CSS_VAL_HORIZONTAL || id == CSS_VAL_VERTICAL || id == CSS_VAL_AUTO)
valid_primitive = true;
break;
+ // webkit-column-count currently not supported
+ #if !PLATFORM(SYMBIAN)
case CSS_PROP__WEBKIT_COLUMN_COUNT:
if (id == CSS_VAL_AUTO)
valid_primitive = true;
else
valid_primitive = !id && validUnit(value, FInteger | FNonNeg, false);
+
break;
+ #endif
case CSS_PROP__WEBKIT_COLUMN_GAP: // normal | <length>
if (id == CSS_VAL_NORMAL)
valid_primitive = true;
--- a/webengine/osswebengine/WebCore/dom/Document.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/dom/Document.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,6 +25,9 @@
#include "Document.h"
#include "AXObjectCache.h"
+#if PLATFORM(SYMBIAN)
+#include "Brctl.h"
+#endif
#include "CDATASection.h"
#include "CSSHelper.h"
#include "CSSStyleSelector.h"
@@ -1837,7 +1840,13 @@
} else if (equalIgnoringCase(equiv, "refresh")) {
double delay;
String url;
+ #if PLATFORM(SYMBIAN)
+ TUint autoRefresh = 1;
+ TRAP_IGNORE(autoRefresh = StaticObjectsContainer::instance()->brctl()->BrowserSettingL(TBrCtlDefs::ESettingsAutoRefresh));
+ if (frame && autoRefresh && parseHTTPRefresh(content, true, delay, url)) {
+ #else
if (frame && parseHTTPRefresh(content, true, delay, url)) {
+ #endif
if (url.isEmpty())
url = frame->loader()->url().url();
else
@@ -3520,6 +3529,12 @@
void Document::finishedParsing()
{
setParsing(false);
+ if (this->hasListenerType(DOMCONTENTLOADED_LISTENER))
+ {
+ ExceptionCode ec = 0;
+ dispatchEvent(new MutationEvent(DOMContentLoadedEvent, false, false,
+ this, String(), String(), String(), 0), ec);
+ }
if (Frame* f = frame())
f->loader()->finishedParsing();
}
--- a/webengine/osswebengine/WebCore/dom/Document.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/dom/Document.h Mon Mar 29 12:27:15 2010 +0100
@@ -480,7 +480,8 @@
DOMNODEINSERTEDINTODOCUMENT_LISTENER = 0x10,
DOMATTRMODIFIED_LISTENER = 0x20,
DOMCHARACTERDATAMODIFIED_LISTENER = 0x40,
- OVERFLOWCHANGED_LISTENER = 0x80
+ OVERFLOWCHANGED_LISTENER = 0x80,
+ DOMCONTENTLOADED_LISTENER = 0x90
};
bool hasListenerType(ListenerType listenerType) const { return (m_listenerTypes & listenerType); }
--- a/webengine/osswebengine/WebCore/dom/EventNames.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/dom/EventNames.h Mon Mar 29 12:27:15 2010 +0100
@@ -86,6 +86,7 @@
macro(DOMNodeRemoved) \
macro(DOMNodeRemovedFromDocument) \
macro(DOMSubtreeModified) \
+ macro(DOMContentLoaded)\
\
macro(webkitBeforeTextInserted) \
macro(webkitEditableContentChanged) \
--- a/webengine/osswebengine/WebCore/dom/EventTargetNode.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/dom/EventTargetNode.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -108,6 +108,8 @@
type = Document::DOMCHARACTERDATAMODIFIED_LISTENER;
else if (eventType == overflowchangedEvent)
type = Document::OVERFLOWCHANGED_LISTENER;
+ else if (eventType == DOMContentLoadedEvent)
+ type = Document::DOMCONTENTLOADED_LISTENER;
if (type)
document()->addListenerType(type);
--- a/webengine/osswebengine/WebCore/html/HTMLAnchorElement.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/html/HTMLAnchorElement.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -137,15 +137,22 @@
// when pressing Enter in the combo.
if (m_isLink && (evt->type() == clickEvent || (evt->type() == keydownEvent && m_focused))) {
MouseEvent* e = 0;
- if (evt->type() == clickEvent && evt->isMouseEvent())
-
-#if PLATFORM(SYMBIAN)
+
+
+#if PLATFORM(SYMBIAN)
+ if (evt->type() == clickEvent && evt->isMouseEvent()) {
+ e = static_cast<MouseEvent*>(evt);
+
if (m_soundstart) {
m_soundstart->OnClick(document()->frame());
}
+ }
+#else
+ if (evt->type() == clickEvent && evt->isMouseEvent())
+ e = static_cast<MouseEvent*>(evt);
#endif
- e = static_cast<MouseEvent*>(evt);
+
KeyboardEvent* k = 0;
if (evt->type() == keydownEvent && evt->isKeyboardEvent())
--- a/webengine/osswebengine/WebCore/html/HTMLLinkElement.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/html/HTMLLinkElement.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -192,8 +192,13 @@
// IE extension: location of small icon for locationbar / bookmarks
// We'll record this URL per document, even if we later only use it in top level frames
- if (m_isIcon && !m_url.isEmpty())
+ if (m_isIcon && !m_url.isEmpty()) {
document()->setIconURL(m_url, type);
+ if(document()->frame() && document()->frame()->loader()) {
+ // Notify frame loader to retry icon loading
+ document()->frame()->loader()->iconLoadDecisionAvailable();
+ }
+ }
// Stylesheet
// This was buggy and would incorrectly match <link rel="alternate">, which has a different specified meaning. -dwh
--- a/webengine/osswebengine/WebCore/loader/Cache.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/Cache.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -106,7 +106,7 @@
{
// FIXME: Do we really need to special-case an empty URL?
// Would it be better to just go on with the cache code and let it fail later?
- if (url.isEmpty())
+ if (url.isEmpty() || url.url().lower() == "about:blank")
return 0;
// Look up the resource in our map.
--- a/webengine/osswebengine/WebCore/loader/CachedImage.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/CachedImage.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include "CachedImage.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "BitmapImage.h"
#include "Cache.h"
--- a/webengine/osswebengine/WebCore/loader/DocumentLoader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/DocumentLoader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -711,6 +711,7 @@
bool DocumentLoader::startLoadingMainResource(unsigned long identifier)
{
ASSERT(!m_mainResourceLoader);
+ MemoryManager::ResetOOMDialogDisplayed();
m_mainResourceLoader = MainResourceLoader::create(m_frame);
m_mainResourceLoader->setIdentifier(identifier);
--- a/webengine/osswebengine/WebCore/loader/FrameLoader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/FrameLoader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -226,6 +226,7 @@
, m_wasUnloadEventEmitted(false)
, m_isComplete(false)
, m_isLoadingMainResource(false)
+ , m_mayLoadIconLater(false)
, m_cancellingWithLoadInProgress(false)
, m_needsClear(false)
, m_receivedData(false)
@@ -1043,11 +1044,17 @@
void FrameLoader::iconLoadDecisionAvailable()
{
- if (!m_mayLoadIconLater)
- return;
LOG(IconDatabase, "FrameLoader %p was told a load decision is available for its icon", this);
- startIconLoader();
- m_mayLoadIconLater = false;
+ if (m_mayLoadIconLater) {
+ // Notfification came from iconDataBase to load the icon
+ startIconLoader();
+ m_mayLoadIconLater = false;
+ } else {
+ // Icon was specified in <link> tag with rel="icon" or rel="shortcut icon" property
+ if(m_iconLoader)
+ m_iconLoader->stopLoading(); // cancel previous loading state
+ startIconLoader();
+ }
}
void FrameLoader::startIconLoader()
@@ -1517,7 +1524,17 @@
rect = anchorNode->getRect();
}
if (renderer)
- renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignTopAlways);
+ {
+ if(!anchorNode)
+ {
+ renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignToEdgeIfNeeded);
+ }
+ else
+ {
+ renderer->enclosingLayer()->scrollRectToVisible(rect, RenderLayer::gAlignToEdgeIfNeeded, RenderLayer::gAlignTopAlways);
+ }
+
+ }
return true;
}
--- a/webengine/osswebengine/WebCore/loader/icon/IconLoader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/icon/IconLoader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -95,9 +95,13 @@
int status = response.httpStatusCode();
LOG(IconDatabase, "IconLoader::didReceiveResponse() - Loader %p, response %i", resourceLoader, status);
- if (status && (status < 200 || status > 299)) {
- ResourceHandle* handle = resourceLoader->handle();
- finishLoading(handle ? handle->request().url() : KURL(), 0);
+ // It is possible that we are receiving the response for previous load request which is cancelled.
+ // Process down response of last resource loader only. Ignore if we can not remember other icon load requests.
+ if(resourceLoader == m_resourceLoader) {
+ if (status && (status < 200 || status > 299)) {
+ ResourceHandle* handle = resourceLoader->handle();
+ finishLoading(handle ? handle->request().url() : KURL(), 0);
+ }
}
}
@@ -114,8 +118,10 @@
// we need to be prepared to receive this call even after we've "finished loading" once.
// After it is resolved, we can restore an assertion that the load is in progress if ::didFail() is called
- if (m_loadIsInProgress) {
- ASSERT(resourceLoader == m_resourceLoader);
+ // It is possible that we are receiving the response for previous load request which is cancelled.
+ // Process down response of last resource loader only. Ignore if we can not remember other icon load requests.
+ if (m_loadIsInProgress && (resourceLoader == m_resourceLoader)) {
+ //ASSERT(resourceLoader == m_resourceLoader);
ResourceHandle* handle = resourceLoader->handle();
finishLoading(handle ? handle->request().url() : KURL(), 0);
}
@@ -129,8 +135,10 @@
// we need to be prepared to receive this call even after we've "finished loading" once.
// After it is resolved, we can restore an assertion that the load is in progress if ::didFail() is called
- if (m_loadIsInProgress) {
- ASSERT(resourceLoader == m_resourceLoader);
+ // It is possible that we are receiving the response for previous load request which is cancelled.
+ // Process down response of last resource loader only. Ignore if we can not remember other icon load requests.
+ if (m_loadIsInProgress && (resourceLoader == m_resourceLoader)) {
+ //ASSERT(resourceLoader == m_resourceLoader);
ResourceHandle* handle = resourceLoader->handle();
finishLoading(handle ? handle->request().url() : KURL(), m_resourceLoader->resourceData());
}
--- a/webengine/osswebengine/WebCore/loader/icon/IconRecord.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/loader/icon/IconRecord.h Mon Mar 29 12:27:15 2010 +0100
@@ -63,7 +63,43 @@
int timestamp;
RefPtr<SharedBuffer> data;
};
-
+
+/* To avoid deletion of icon bitmaps in Symbian */
+#if PLATFORM(SYMBIAN)
+class IconImagePtr : Noncopyable {
+ typedef Image* PtrType;
+public:
+ explicit IconImagePtr(PtrType ptr = 0) : m_ptr(ptr) { }
+ ~IconImagePtr() { /*deleteOwnedPtr(m_ptr);*/ }
+
+ PtrType get() const { return m_ptr; }
+ PtrType release() { PtrType ptr = m_ptr; m_ptr = 0; return ptr; }
+
+ void set(PtrType ptr) { ASSERT(!ptr || m_ptr != ptr); /*deleteOwnedPtr(m_ptr);*/ m_ptr = ptr; }
+ void clear() { /*deleteOwnedPtr(m_ptr);*/ m_ptr = 0; }
+
+ Image& operator*() const { ASSERT(m_ptr); return *m_ptr; }
+ PtrType operator->() const { ASSERT(m_ptr); return m_ptr; }
+
+ bool operator!() const { return !m_ptr; }
+
+ // This conversion operator allows implicit conversion to bool but not to other integer types.
+ typedef PtrType (IconImagePtr::*UnspecifiedBoolType)() const;
+ operator UnspecifiedBoolType() const { return m_ptr ? &IconImagePtr::get : 0; }
+
+ void swap(IconImagePtr& o) { std::swap(m_ptr, o.m_ptr); }
+
+ private:
+ PtrType m_ptr;
+ };
+
+ inline void swap(IconImagePtr& a, IconImagePtr& b) { a.swap(b); }
+ inline Image* getPtr(const IconImagePtr& p)
+ {
+ return p.get();
+ }
+#endif
+
class IconRecord : public Shared<IconRecord> {
friend class PageURLRecord;
public:
@@ -88,7 +124,11 @@
private:
String m_iconURL;
time_t m_stamp;
+#if PLATFORM(SYMBIAN)
+ IconImagePtr m_image;
+#else
OwnPtr<Image> m_image;
+#endif
HashSet<String> m_retainingPageURLs;
--- a/webengine/osswebengine/WebCore/page/Chrome.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/Chrome.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -352,6 +352,12 @@
{
m_client->setElementVisibilityChanged(visibility);
}
+
+void Chrome::wait(double t)
+{
+ m_client->wait(t);
+}
+
#endif
PageGroupLoadDeferrer::PageGroupLoadDeferrer(Page* page, bool deferSelf)
{
--- a/webengine/osswebengine/WebCore/page/Chrome.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/Chrome.h Mon Mar 29 12:27:15 2010 +0100
@@ -133,6 +133,7 @@
#if PLATFORM(SYMBIAN)
void setElementVisibilityChanged(bool visibility);
+ void wait(double t);
#endif
private:
Page* m_page;
--- a/webengine/osswebengine/WebCore/page/ChromeClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/ChromeClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -107,7 +107,10 @@
#if PLATFORM(SYMBIAN)
virtual void setElementVisibilityChanged(bool visibility) = 0;
virtual bool elementVisibilityChanged() = 0;
+ virtual bool elementVisibilityChangedByMouse() = 0;
+ virtual bool elementVisibilityChangedByKey() = 0;
virtual void focusedElementChanged(Element*) = 0;
+ virtual void wait(double t) = 0;
#endif
};
--- a/webengine/osswebengine/WebCore/page/FocusController.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/FocusController.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -267,7 +267,11 @@
if (oldFocusedNode && oldFocusedNode->rootEditableElement() == oldFocusedNode && !relinquishesEditingFocus(oldFocusedNode))
return false;
-
+
+#if PLATFORM(SYMBIAN)
+ m_page->editorClient()->preFocusChange(oldFocusedNode,node);
+#endif
+
clearSelectionIfNeeded(oldFocusedFrame.get(), newFocusedFrame.get(), node);
if (!node) {
--- a/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -325,7 +325,7 @@
}
}
-bool WebCoreFrameBridge::getTypeFromElement(Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect) const
+bool WebCoreFrameBridge::getTypeFromElement(Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect, Node*& aRNode) const
{
if(node && m_frame) {
@@ -335,6 +335,7 @@
if( n->isFocusable() ) {
aElType = nodeTypeB(n, m_frame);
aFocusRect = n->getRect();
+ aRNode = n;
return true;
}
else {
@@ -347,6 +348,7 @@
|| etn->getHTMLEventListener(mouseupEvent)) ) {
aFocusRect = n->getRect();
aElType = TBrCtlDefs::EElementMouseButtonListener;
+ aRNode = n;
return true;
}
else if (n->isElementNode() && n->hasTagName(areaTag)) {
@@ -354,6 +356,7 @@
if(!e->getAttribute(hrefAttr).isNull()) {
aElType = TBrCtlDefs::EElementAreaBox;
aFocusRect = n->getRect();
+ aRNode = n;
return true;
}
}
@@ -366,6 +369,7 @@
if(!ep->getAttribute(hrefAttr).isNull()) {
aElType = nodeTypeB(np, m_frame);
aFocusRect = np->getRect();
+ aRNode = np;
return true;
}
}
@@ -386,6 +390,7 @@
}
}
aFocusRect = n->getRect().Rect();
+ aRNode = n;
return true;
}
else if (n->renderer() && n->renderer()->layer()) {
--- a/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/page/symbian/WebCoreFrameBridge.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include "Shared.h"
#include <wtf/Vector.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
namespace WebCore {
class Node;
@@ -87,7 +87,7 @@
void updateThumbnail();
Vector<WebCore::IntRect>* focusableRectList() { return &m_focusableNodeList; }
bool searchFor(TPtrC string, bool forward, bool caseSensitive, bool wrapFlag, bool startInSelection);
- bool getTypeFromElement(WebCore::Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect) const;
+ bool getTypeFromElement(WebCore::Node* node, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect, WebCore::Node*& aRNode) const;
virtual ~WebCoreFrameBridge();
--- a/webengine/osswebengine/WebCore/platform/PlatformKeyboardEvent.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/PlatformKeyboardEvent.h Mon Mar 29 12:27:15 2010 +0100
@@ -61,7 +61,7 @@
public:
#if PLATFORM(SYMBIAN)
String text() const;
-#elif
+#else
String text() const { return m_text; }
#endif //PLATFORM(SYMBIAN)
String unmodifiedText() const { return m_unmodifiedText; }
--- a/webengine/osswebengine/WebCore/platform/StringImpl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/StringImpl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -491,14 +491,13 @@
#if PLATFORM(SYMBIAN)
-StringImpl* StringImpl::secureShowLast(UChar aChar) const
+StringImpl* StringImpl::secureShowOffset(UChar aChar, unsigned offset) const
{
StringImpl* temp = secure(aChar);
if (m_data && temp) {
- temp->remove(m_length-1);
- temp->insert(&(m_data[m_length-1]), 1, m_length-1);
+ temp->remove(offset);
+ temp->insert(&(m_data[offset]), 1, offset);
}
-
return temp;
}
--- a/webengine/osswebengine/WebCore/platform/StringImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/StringImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -151,7 +151,7 @@
StringImpl(const TDesC&);
StringImpl(const TDesC8&);
TPtrC des() const;
- StringImpl* secureShowLast(UChar aChar) const;
+ StringImpl* secureShowOffset(UChar aChar, unsigned offset) const;
#endif
StringImpl(const DeprecatedString&);
--- a/webengine/osswebengine/WebCore/platform/Widget.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/Widget.h Mon Mar 29 12:27:15 2010 +0100
@@ -118,9 +118,12 @@
// e.g., in overflow:auto sections. The clip rects coordinates are in the containing window's coordinate space.
// This clip includes any clips that the widget itself sets up for its children.
virtual IntRect windowClipRect() const;
-
+#if PLATFORM(SYMBIAN)
+ virtual void handleEvent(Event* event);
+#else
virtual void handleEvent(Event*) { }
-
+#endif
+
#if PLATFORM(WIN)
void setContainingWindow(HWND);
HWND containingWindow() const;
--- a/webengine/osswebengine/WebCore/platform/network/symbian/CookieHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/CookieHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDES
#include "Cookiehandler.h"
-#include <CookieManagerClient.h>
+#include <cookiemanagerclient.h>
// EXTERNAL DATA STRUCTURES
@@ -148,10 +148,22 @@
popAndDestroyCount ++;
}
- // if the domain is not specified then extract the domain name from the Url
+ // if the path is not specified then extract the domain name from the Url
+ // Why do we duplicate this code here? It already exists in Cookie's constructl's call to adddefaultpathl?
+ TPtrC8 requestPath;
if(!cookieRecord.m_pathName.Length()) {
const TDesC8& pathName= uriParser.Extract(EUriPath);
- cookieRecord.m_pathName.Set(TPtrC(asciiToUnicodeLC(pathName)->Des()));
+ const TUint8 KCookiePathSeparator = '/';
+ requestPath.Set(pathName);
+ TInt sepPos = requestPath.LocateReverse( KCookiePathSeparator );
+ // if / is not the last character
+ if ( 0 <= sepPos && ( ( sepPos + 1 != requestPath.Length() ) ) )
+ {
+ // then remove characters after the right-most /
+ requestPath.Set( requestPath.Left( sepPos + 1 ) );
+ }
+
+ cookieRecord.m_pathName.Set(TPtrC(asciiToUnicodeLC(requestPath)->Des()));
popAndDestroyCount ++;
}
@@ -162,6 +174,7 @@
cookieRecord);
popAndDestroyCount +=6;
// create a cookie
+ // Why are we using the stringpool only constructor of cookie?
CCookie* cookie = CCookie::NewL( (*m_stringPool) );
CleanupStack::PushL( cookie );
--- a/webengine/osswebengine/WebCore/platform/network/symbian/DataConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/DataConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include <EscapeUtils.h>
#include <apmrec.h>
#include <apgcli.h>
-#include <imcvcodc.h>
+#include <tconvbase64.h>
#include "ResourceHandle.h"
#include "ResourceRequest.h"
#include "DataConnection.h"
@@ -148,8 +148,7 @@
body = HBufC8::NewLC( 2 * data.Length() );
TPtr8 decodedBody( body->Des() );
// urlPtr8
- TImCodecB64 codec;
- codec.Initialise();
+ TBase64 codec;
ok = codec.Decode( data, decodedBody );
}
if( !ok ) { // if not base64, simple copy
--- a/webengine/osswebengine/WebCore/platform/network/symbian/FileConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/FileConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -26,9 +26,10 @@
#include "ResourceHandleManagerSymbian.h"
#include "StaticObjectsContainer.h"
#include "ResourceRequest.h"
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
#include "brctl.h"
#include "DeprecatedString.h"
+#include <PluginHandler.h>
const TInt KFileReadChunkSize = 23920; // bytes
_LIT8( KResLoaderUCS2, "iso-10646-ucs-2" );
@@ -251,17 +252,41 @@
else if( extPtr.CompareF( KEcmaScriptExt() ) == 0 ||
extPtr.CompareF( KJavaScriptExt() ) == 0 ) {
contentTypePtr.Set( _L8( "text/ecmascript" ) );
+ }
+ else {
+ // Symbian/S60 may not be aware of the MIMEType for the given extension
+ // Need to query from Plugin handler if there exists a plugin which supports this extension.
+ return contentTypeFromPluginsL();
}
-
- // todo plugin is missing
- // Check if it is a supported plugin
- // CPluginHandler* pluginHandler = CPluginHandler::GetSingleton();
- // TUint16* mimeType16 = pluginHandler->GetPluginMimeTypeL(iFileName);
}
if( contentTypePtr.Length() ) {
contentType = HBufC8::NewL( contentTypePtr.Length() );
contentType->Des().Copy( contentTypePtr );
}
+ return contentType;
+}
+
+HBufC8* FileConnection::contentTypeFromPluginsL()
+{
+ HBufC8* contentType = NULL;
+
+ // Get PluginHandler from StaticObjectsContainer
+ PluginHandler* plg = StaticObjectsContainer::instance()->pluginHandler();
+
+ // Convert filename16 to filename8 required for pluginMimeByExtention(TPtrC8&)
+ HBufC8* filename = HBufC8::NewLC(m_fileName->Length());
+ filename->Des().Copy(m_fileName->Des());
+
+ // Query MIMEtype for an extension from PluginHandler
+ HBufC* mimeTypePtr = plg->pluginMimeByExtention(filename->Des());
+
+ CleanupStack::PopAndDestroy(); //filename
+
+ if (mimeTypePtr) {
+ // Coversion from mimeType16 to mimeType8
+ contentType = HBufC8::NewL(mimeTypePtr->Length());
+ contentType->Des().Copy(mimeTypePtr->Des());
+ }
return contentType;
}
--- a/webengine/osswebengine/WebCore/platform/network/symbian/FileConnection.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/FileConnection.h Mon Mar 29 12:27:15 2010 +0100
@@ -65,6 +65,10 @@
* Determine the content type of the file.
*/
HBufC8* contentTypeL();
+ /**
+ * Determine the content type of the file from PluginHandler.
+ */
+ HBufC8* contentTypeFromPluginsL();
/**
* Determine the content encoding of the file.
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpCacheSupply.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpCacheSupply.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
#include "HttpCacheSupply.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "HttpCacheDataSupplier.h"
#include "HttpConnection.h"
#include "ResourceLoaderDelegate.h"
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpCacheSupply.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpCacheSupply.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
// INCLUDES
#include <e32base.h>
-#include <BrCtlDefs.h>
-#include "HttpCacheManager.h"
+#include <brctldefs.h>
+#include "httpcachemanager.h"
// CONSTANTS
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,10 +17,10 @@
// INCLUDE FILES
#include "HttpConnUtils.h"
-#include "HttpFilterCommonStringsExt.h"
+#include "httpfiltercommonstringsext.h"
#include <httpstringconstants.h>
#include <http/rhttpsession.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include <flogger.h>
#include <sslerr.h>
#include <httperr.h>
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnUtils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnUtils.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include "HttpDefs.h"
// CONSTANTS
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,10 +29,10 @@
#include "ResourceLoaderDelegate.h"
#include "HttpCacheSupply.h"
#include "HttpPostDataSupplier.h"
-#include <HttpFilterCommonStringsExt.h>
-#include <BrCtlDefs.h>
+#include <httpfiltercommonstringsext.h>
+#include <brctldefs.h>
#include "BrCtl.h"
-#include "BrCtlSpecialLoadObserver.h"
+#include <brctlspecialloadobserver.h>
#include "Frame.h"
#include "FrameLoader.h"
#include "DocumentLoader.h"
@@ -648,7 +648,10 @@
return;
}
int statusCode = m_transaction->Response().StatusCode();
- if ( statusCode != 200) {
+ if ((statusCode == 404) && (aEvent.iStatus == THTTPEvent::EFailed) && (m_accumulatedSize != 0)) {
+ complete(KErrNone);
+ }
+ else if ( statusCode != 200) {
complete(-25000 - m_transaction->Response().StatusCode());
}
else if (statusCode == 200 && aEvent.iStatus == THTTPEvent::EFailed) {
@@ -913,7 +916,7 @@
break;
}
}
-
+ m_isDone = ETrue;
TRAP( ret, SendAuthRequestL( usernameVal, realmVal, isProxy, stale, passwordVal ) );
if (realmClose)
{
@@ -1031,7 +1034,7 @@
HttpSessionManager* httpSessionMgr = StaticObjectsContainer::instance()->resourceLoaderDelegate()->httpSessionManager();
httpSessionMgr->removeAuthRequest(this);
httpSessionMgr->addRequest(this, m_handle);
-
+ m_isDone = EFalse;
switch (aError)
{
case KErrNone:
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnectionConfig.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpConnectionConfig.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include "HttpConnection.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
using namespace WebCore;
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpDlConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpDlConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include "HttpDlConnection.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
-#include <HttpFilterCommonStringsExt.h>
+#include <httpfiltercommonstringsext.h>
using namespace WebCore;
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpDownload.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpDownload.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,8 +16,8 @@
*/
#include "HttpDownload.h"
-#include <CDownloadMgrUiUserInteractions.h>
-#include <CDownloadMgrUiDownloadsList.h>
+#include <cdownloadmgruiuserinteractions.h>
+#include <cdownloadmgruidownloadslist.h>
#include "HttpDlConnection.h"
#include "HttpDefs.h"
#include "HttpSessionManager.h"
@@ -30,15 +30,41 @@
using namespace WebCore;
-HttpDownload::HttpDownload(HttpSessionManager* sessionManager)
+// -----------------------------------------------------------------------------
+// HttpDownload::NewL
+//
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+HttpDownload* HttpDownload::NewL(HttpSessionManager* sessionManager)
+ {
+ HttpDownload* self = new (ELeave) HttpDownload();
+
+ CleanupStack::PushL (self);
+ self->ConstructL ( sessionManager);
+ CleanupStack::Pop ();
+ return self;
+ }
+
+HttpDownload::HttpDownload()
{
- m_sessionManager = sessionManager;
m_dMgrReady = false;
m_dMgrUiReg = NULL;
- m_downloadObserver = StaticObjectsContainer::instance()->brctl()->brCtlDownloadObserver();
- TRAP_IGNORE(PREPARE_DOWNLOAD_MANAGER)
}
+// -----------------------------------------------------------------------------
+// HttpDownload::ConstructL
+// Symbian 2nd phase constructor can leave.
+// by this method.
+// -----------------------------------------------------------------------------
+//
+void HttpDownload::ConstructL(HttpSessionManager* sessionManager)
+ {
+ m_sessionManager = sessionManager;
+ m_downloadObserver = StaticObjectsContainer::instance()->brctl()->brCtlDownloadObserver();
+ PREPARE_DOWNLOAD_MANAGER;
+ }
+
HttpDownload::~HttpDownload()
{
delete m_dMgrUiReg;
@@ -72,7 +98,10 @@
if ( errMngr == KErrAlreadyExists && master ) {
m_downloadMgr.ConnectL( myProcess.Identity(), *this, EFalse );
}
-
+ else
+ {
+ User::LeaveIfError(errMngr);
+ }
if( !master ){
// Browser is embedded. Downloads must be paused when the user closes
// the embedded Browser (that is always started from the Launcher), and
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpDownload.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpDownload.h Mon Mar 29 12:27:15 2010 +0100
@@ -18,12 +18,12 @@
#ifndef __HTTPDOWNLOAD_H__
#define __HTTPDOWNLOAD_H__
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
#include "HttpUiCallbacks.h"
#include "HttpCallbacks.h"
-#include <DownloadMgrClient.h>
-#include <CDownloadMgrUiLibRegistry.h>
-#include <BrCtlDownloadObserver.h>
+#include <downloadmgrclient.h>
+#include <cdownloadmgruilibregistry.h>
+#include <brctldownloadobserver.h>
class HttpDlConnection;
class RHTTPTransaction;
@@ -33,7 +33,11 @@
class HttpDownload : public MHttpDownloadMgrObserver, public MHttpDownloadMgrNextUriObserver
{
public:
- HttpDownload(HttpSessionManager* sessionManager);
+ /**
+ * Two-phased constructor.
+ */
+ static HttpDownload* NewL(HttpSessionManager* sessionManager);
+
virtual ~HttpDownload();
void continueDownloadL(RHTTPTransaction* connTransaction, HttpDlConnection* dlConnection);
@@ -92,6 +96,13 @@
private:
/**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL(HttpSessionManager* sessionManager);
+
+ HttpDownload();
+
+ /**
* Initialize Download Manager
*/
void initDownloadMgrL();
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpRequestHeaderManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpRequestHeaderManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,9 +18,9 @@
// INCLUDE FILES
#include <http.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include "HttpRequestHeaderManager.h"
-#include "HttpFilterCommonStringsExt.h"
+#include "httpfiltercommonstringsext.h"
#include "ResourceRequest.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpRequestHeaderManager.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpRequestHeaderManager.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
-//#include "HttpFilterAcceptHeaderInterface.h"
+//#include "httpfilteracceptheaderinterface.h"
#include <http/rhttpheaders.h>
#include <centralrepository.h>
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpSessionManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,17 +17,17 @@
#include "config.h"
-#include "HttpFilterCommonStringsExt.h"
-#include "HttpFilterCommonStringsAddition.h"
-#include "HttpFilterConnHandlerInterface.h"
-#include "HttpFilterIopInterface.h"
-#include "HttpFilterAuthenticationInterface.h"
+#include "httpfiltercommonstringsext.h"
+#include "httpfiltercommonstringsaddition.h"
+#include "httpfilterconnhandlerinterface.h"
+#include "httpfilteriopinterface.h"
+#include "httpfilterauthenticationinterface.h"
#include "cookiefilterinterface.h"
#include "uaproffilter_interface.h"
#include "deflatefilterinterface.h"
#include "HttpSessionManager.h"
#include "HttpUiCallbacks.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "HttpConnection.h"
#include "HttpRequestHeaderManager.h"
#include "CookieHandler.h"
@@ -98,7 +98,12 @@
RStringF maxToPipeline = strP.StringF(HTTP::EMaxNumTransactionsToPipeline, stringTable );
connInfo.SetPropertyL( maxToPipeline, THTTPHdrVal( KHttpMaxTransactionNumPerConnection ) );
-
+
+#ifdef BRDO_HTTP_STACK_93
+ // Set optimal pipelining
+ RStringF strOptimalPipelineVal = strP.StringF(HTTP::EHttpEnableOptimalPipelining, RHTTPSession::GetTable());
+ connInfo.SetPropertyL(strP.StringF(HTTP::EHttpOptimalPipelining, RHTTPSession::GetTable()), strOptimalPipelineVal);
+#endif
//set HTTP receive Buffer Size property
RStringF receiveBuffSize = strP.StringF(HTTP::ERecvBufferSize, stringTable );
connInfo.SetPropertyL( receiveBuffSize, THTTPHdrVal(KHttpReceiveBuffSize));
@@ -150,7 +155,11 @@
HttpDownload* HttpSessionManager::httpDownload(bool aCreate)
{
if (!m_httpDownload && aCreate){
- m_httpDownload = new HttpDownload(this);
+ TRAPD(err, m_httpDownload = HttpDownload::NewL(this));
+ if(err != KErrNone)
+ {
+ m_httpDownload = NULL;
+ }
}
return m_httpDownload;
}
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include "WebView.h"
#include "BrCtl.h"
#include "SettingsContainer.h"
-#include "BrCtlSpecialLoadObserver.h"
+#include <brctlspecialloadobserver.h>
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
#include "HttpDefs.h"
--- a/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/HttpUiCallbacks.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <e32base.h>
#include <ApEngineConsts.h>
#include <mconnectioncallback.h>
-#include <BrCtlDownloadObserver.h>
+#include <brctldownloadobserver.h>
#include "HttpConnection.h"
class RHTTPTransaction;
--- a/webengine/osswebengine/WebCore/platform/network/symbian/MultipartContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/MultipartContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,13 +18,13 @@
// INCLUDE FILES
#include "config.h"
#include "MultipartContentHandler.h"
-#include "MultipartParser.h"
-#include "BodyPart.h"
+#include <multipartparser.h>
+#include <bodypart.h>
#include "HttpSessionManager.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include <http/rhttptransaction.h>
#include <Uri16.h>
-#include "HttpFilterCommonStringsExt.h"
+#include "httpfiltercommonstringsext.h"
#include "WebCharsetData.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
--- a/webengine/osswebengine/WebCore/platform/network/symbian/ResolvedConnection.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/ResolvedConnection.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -82,7 +82,9 @@
void ResolvedConnection::cancel()
{
- control(m_frame)->brCtlLinkResolver()->CancelAll();
+ if(m_frame) {
+ control(m_frame)->brCtlLinkResolver()->CancelAll();
+ }
}
void ResolvedConnection::download(ResourceHandle* handle,
--- a/webengine/osswebengine/WebCore/platform/network/symbian/ResolvedConnection.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/ResolvedConnection.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,8 @@
#include <e32base.h>
#include "UrlConnection.h"
-#include "BrCtlDefs.h"
-#include "BrCtlLinkResolver.h"
+#include <brctldefs.h>
+#include <brctllinkresolver.h>
namespace WebCore {
class Frame;
--- a/webengine/osswebengine/WebCore/platform/network/symbian/ResourceHandleManagerSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/ResourceHandleManagerSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -155,7 +155,7 @@
return;
}
if (errorCode) {
- client->didFail(resource, ResourceError(String(), errorCode, String(), String()));
+ client->didFail(resource, ResourceError(String(), errorCode, resource->request().url().url(), String()));
} else {
client->didFinishLoading(resource);
}
--- a/webengine/osswebengine/WebCore/platform/network/symbian/ResourceLoaderDelegate.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/ResourceLoaderDelegate.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -40,8 +40,8 @@
#include "WebUtil.h"
#include "WebFrame.h"
#include "SettingsContainer.h"
-#include "BrCtlSpecialLoadObserver.h"
-#include "BrCtlLinkResolver.h"
+#include <brctlspecialloadobserver.h>
+#include <brctllinkresolver.h>
#include "WebDocumentLoader.h"
#include "WebView.h"
--- a/webengine/osswebengine/WebCore/platform/network/symbian/SelfDownloadContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/SelfDownloadContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,8 +19,8 @@
// INCLUDE FILES
#include "BrCtl.h"
#include "SelfDownloadContentHandler.h"
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlDefs.h>
+#include <brctlspecialloadobserver.h>
+#include <brctldefs.h>
#include <apmstd.h>
#include <eikenv.h>
#include "ResourceRequest.h"
@@ -29,7 +29,7 @@
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
#include "HttpSessionManager.h"
-#include "HttpFilterCommonStringsExt.h"
+#include "httpfiltercommonstringsext.h"
#include <Uri8.h>
#include <http/rhttptransaction.h>
#include <http/mhttpdatasupplier.h>
--- a/webengine/osswebengine/WebCore/platform/network/symbian/UrlConnection.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/network/symbian/UrlConnection.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include "ResourceHandle.h"
#include "ResourceHandleInternal.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
namespace WebCore {
class Frame;
--- a/webengine/osswebengine/WebCore/platform/symbian/FileChooserSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/FileChooserSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -32,7 +32,7 @@
#include "WebFrameView.h"
#include "WebView.h"
#include "Brctl.h"
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
#include <CommonContentPolicy.h>
#include <stringloader.h>
#if defined(__BROWSER_SDK)
--- a/webengine/osswebengine/WebCore/platform/symbian/FontCacheSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/FontCacheSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -138,6 +138,9 @@
const AtomicString& PlatformFontCache::SystemFontFamily( const AtomicString& familyName )
{
+#ifdef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
+ return familyName;
+#else
// first check if we support this font
for (TInt n=0; n<iTypefaceCount; ++n)
{
@@ -148,6 +151,7 @@
}
return DeviceDefaultFontFamilies();
+#endif
}
const AtomicString& PlatformFontCache::DeviceDefaultFontFamilies()
--- a/webengine/osswebengine/WebCore/platform/symbian/OOMHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/OOMHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,26 +1,50 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : OOMHandler.h
+* Part of : Webcore / Platform
+* Interface :
+* Description :
+* Version : %Version%
+*
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+*
+* ==============================================================================
*/
-
#ifndef __OOMHANDLER_H__
#define __OOMHANDLER_H__
#include <e32def.h>
-#include "MemoryManager.h"
+#include <MemoryManager.h>
namespace WebCore {
--- a/webengine/osswebengine/WebCore/platform/symbian/OOMStopper.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/OOMStopper.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,26 +1,50 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : OOMHandler.h
+* Part of : Webcore / Platform
+* Interface :
+* Description :
+* Version : %Version%
+*
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+*
+* ==============================================================================
*/
-
#ifndef __OOMSTOPPER_H__
#define __OOMSTOPPER_H__
#include <e32def.h>
-#include "MemoryManager.h"
+#include <MemoryManager.h>
namespace WebCore {
--- a/webengine/osswebengine/WebCore/platform/symbian/PlatformMouseEventSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/PlatformMouseEventSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -66,6 +66,7 @@
case TPointerEvent::EButton2Up:
return MouseEventReleased;
case TPointerEvent::EDrag:
+ case TPointerEvent::EMove:
return MouseEventMoved;
}
}
--- a/webengine/osswebengine/WebCore/platform/symbian/PopupMenuSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/PopupMenuSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -34,7 +34,7 @@
#include "brctl.h"
#include <e32base.h>
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
const TInt KDefaultSize(1);
namespace WebCore {
--- a/webengine/osswebengine/WebCore/platform/symbian/ScrollViewSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/ScrollViewSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -278,9 +278,13 @@
}
}
-void ScrollView::removeChild(Widget*)
+void ScrollView::removeChild(Widget* child)
{
//child->removeFromSuperview();
+ if(child)
+ {
+ child->hide();
+ }
}
void ScrollView::resizeContents(int w, int h)
--- a/webengine/osswebengine/WebCore/platform/symbian/StaticObjectsContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/StaticObjectsContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -37,7 +37,7 @@
#include "FormFillController.h"
#include "ResourceLoaderDelegate.h"
#include "webkitLogger.h"
-#include "brctldefs.h"
+#include <brctldefs.h>
#include "WebIconDatabase.h"
#include "WebSurface.h"
#include "WebCursor.h"
@@ -337,5 +337,10 @@
m_symbianTheme = new RenderThemeSymbian();
return m_symbianTheme;
}
+
+void StaticObjectsContainer::setIconDatabaseEnabled(bool enabled)
+{
+ m_icondatabase->setEnabled(enabled);
+}
}
// END OF FILE
--- a/webengine/osswebengine/WebCore/platform/symbian/StaticObjectsContainer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/StaticObjectsContainer.h Mon Mar 29 12:27:15 2010 +0100
@@ -100,6 +100,7 @@
const Vector<CBrCtl*>& activeBrowserControls() const;
void setFullScreenMode(bool mode);
bool fullScreenMode(void);
+ void setIconDatabaseEnabled(bool enabled);
private:
static StaticObjectsContainer* gInstance;
--- a/webengine/osswebengine/WebCore/platform/symbian/WidgetSymbian.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/WidgetSymbian.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
@@ -24,9 +24,12 @@
#include "IntRect.h"
#include "IntPoint.h"
#include "Cursor.h"
+#include "Event.h"
+#include "EventNames.h"
+#include "KeyboardEvent.h"
namespace WebCore {
-
+using namespace EventNames;
static bool deferFirstResponderChanges;
static Widget *deferredFirstResponder;
@@ -157,7 +160,7 @@
data->visible = false;
- if( getOuterView() )
+ if( getOuterView() && isFrameView() )
{
getOuterView()->makeVisible( EFalse );
}
@@ -239,4 +242,18 @@
return getView()->isFocusable();
return false;
}
+
+void Widget::handleEvent(Event* event)
+{
+ if (event->type() == keydownEvent && event->isKeyboardEvent()) {
+ KeyboardEvent* kevt = static_cast<KeyboardEvent*>(event);
+ if (kevt->keyIdentifier() == "Enter") {
+ MWebCoreWidget* view = getView();
+ if(view && view->isObjectView()) {
+ view->activate();
+ }
+ }
+ }
}
+
+}
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoder.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoder.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,38 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+* ==============================================================================
*/
-
/*
* This class is a proxy for CAnimationDecoderWrapped
*
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoder.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoder.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,38 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+* ==============================================================================
*/
-
#ifndef ANIMATIONDECODER_H
#define ANIMATIONDECODER_H
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoderWrapped.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoderWrapped.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,38 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+* ==============================================================================
*/
-
/*
* This class is wrapped by a proxy CAnimationDecoder
*
@@ -32,7 +49,7 @@
#include "MaskedBitmap.h"
#include "ImageObserver.h"
#include "SyncDecodeThread.h"
-#include "Oma2Agent.h"
+#include <Oma2Agent.h>
using namespace ContentAccess;
namespace TBidirectionalState {
@@ -52,6 +69,8 @@
using namespace WebCore;
CSynDecodeThread *CAnimationDecoderWrapped::iSyncDecodeThread = NULL;
+const TInt KDownScaleFactor = 2; // scaling is done by a factor of 2.For ex.2,4,8...( similar to ImageViewer )
+const TInt KMaxDownScaleFactor = 8; // limit scaling to 8
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -64,8 +83,8 @@
, iObserver(aObs)
, iLoopCount( -1 )
, iCurLoopCount( -1 )
- , iSyncBitmapHandle(-1)
- , iSyncMaskHandle(-1)
+ , iSyncBitmapHandle(0)
+ , iSyncMaskHandle(0)
, iDecodeInProgress(ETrue)
, iIsInvalid(EFalse)
, iCanBeDeleted(ETrue)
@@ -156,17 +175,25 @@
return iDestination;
}
- if (iSyncBitmapHandle != -1 && iSyncMaskHandle != -1) {
+ if (iSyncBitmapHandle || iSyncMaskHandle) {
CFbsBitmap* bitmap = new CFbsBitmap();
- bitmap->Duplicate(iSyncBitmapHandle);
- CFbsBitmap* mask = new CFbsBitmap();
- mask->Duplicate(iSyncMaskHandle);
+ TInt errBmp = bitmap->Duplicate(iSyncBitmapHandle);
+
+ CFbsBitmap* mask = NULL;
+ TInt errMask = KErrNone;
+ if(iSyncMaskHandle) {
+ CFbsBitmap* mask = new CFbsBitmap();
+ errMask = mask->Duplicate(iSyncMaskHandle);
+ }
+
+ if(errBmp==KErrNone && errMask==KErrNone) {
+ iDestination = new CMaskedBitmap(bitmap, mask);
+ iDestination->SetFrameIndex(0);
+ iDestination->SetFrameDelay(0);
+ }
- iDestination = new CMaskedBitmap(bitmap, mask);
- iDestination->SetFrameIndex(0);
- iDestination->SetFrameDelay(0);
- iSyncBitmapHandle = -1;
- iSyncMaskHandle = -1;
+ iSyncBitmapHandle = 0;
+ iSyncMaskHandle = 0;
}
return iDestination;
@@ -352,7 +379,6 @@
iAnimation = iAnimationFrameCount > 1;
iFrameInfo = iDecoder->FrameInfo( 0 );
iSizeAvailable = ETrue;
-
if (iFrameInfo.iFlags & TFrameInfo::ETransparencyPossible){
// we only support gray2 and gray256 tiling
TDisplayMode maskmode = ( (iFrameInfo.iFlags & TFrameInfo::EAlphaChannel) && (iFrameInfo.iFlags & TFrameInfo::ECanDither)) ? EGray256 : EGray2;
@@ -364,11 +390,15 @@
RunError(KErrNoMemory);
}
else {
- TInt error = iDestination->Create( iFrameInfo.iOverallSizeInPixels, DisplayMode() );
- if (!error)
- LoadFrame(0);
- else
- RunError(KErrNoMemory);
+ TInt error = ScaleImageIfRequired();
+ if (!error)
+ {
+ LoadFrame(0);
+ }
+ else
+ {
+ RunError(error);
+ }
}
}
@@ -597,7 +627,10 @@
iDestination->SetFrameIndex( iFrameIndex );
iDestination->SetFrameDelay( 0 );
//Compress non-animated images via FBServ (losslessly, idle priority)
- iDestination->CompressInBackground();
+ //the 1x1 image is directly fetched before decompressing it which results in a crash in fbsserv and therefore a white background is displayed.
+ //If the Image is of pixel (1,1) do not compress.
+ if( frameSize != TSize(1,1) )
+ iDestination->CompressInBackground();
// Normal image ready
//iDestination = NULL;
@@ -742,6 +775,42 @@
User::RequestComplete( status, aError );
}
-
+// -----------------------------------------------------------------------------
+// CAnimationDecoderWrapped::ScaleImageIfRequired
+// Images that are too large to be displayed are scaled down
+// @return error code
+// -----------------------------------------------------------------------------
+TInt CAnimationDecoderWrapped::ScaleImageIfRequired()
+ {
+ TInt error = iDestination->Create( iFrameInfo.iOverallSizeInPixels, DisplayMode() );
+ // if the image is too large try scaling it down
+ if ( error == KErrNoMemory )
+ {
+ TBool fullyScalable(iFrameInfo.iFlags & TFrameInfo::EFullyScaleable);
+ // check if scaling is possible
+ if ( !fullyScalable )
+ {
+ TInt scalingLevel(KDownScaleFactor);
+ do
+ {
+ TSize scaledSize( iFrameInfo.iOverallSizeInPixels.iWidth / scalingLevel + ( iFrameInfo.iOverallSizeInPixels.iWidth % scalingLevel ? 1 : 0 ),
+ iFrameInfo.iOverallSizeInPixels.iHeight / scalingLevel + ( iFrameInfo.iOverallSizeInPixels.iHeight % scalingLevel ? 1 : 0 ) );
+ error = iDestination->Create( scaledSize, DisplayMode() );
+ // retry only for KErrNoMemory condition
+ if (error == KErrNoMemory)
+ {
+ // increase to next down scaling level
+ scalingLevel *= KDownScaleFactor ;
+ }
+ else
+ {
+ // image scaled to appropriate level
+ iFrameInfo.iOverallSizeInPixels = scaledSize;
+ }
+ }while (error == KErrNoMemory && scalingLevel <= KMaxDownScaleFactor);// loop until we can scale the image without any error
+ }
+ }
+ return error;
+ }
// End of File
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoderWrapped.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/AnimationDecoderWrapped.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,38 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
*
-* Description:
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
*
+* ==============================================================================
*/
-
/*
* This class is wrapped by a proxy CAnimationDecoder
*
@@ -191,6 +208,7 @@
void ErrorCleanup();
void SelfComplete( TInt aError = KErrNone );
HBufC8* DecodeDRMImageContentL(const TDesC8& aData);
+ TInt ScaleImageIfRequired();
private: // Private constructors
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/BitmapTiler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/BitmapTiler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include <fbs.h>
-//#include <oom.h>
+//#include "oom.h"
#include "BitmapTiler.h"
#include "MaskedBitmap.h"
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/MaskedBitmap.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/MaskedBitmap.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -34,6 +34,7 @@
// -----------------------------------------------------------------------------
TInt BitmapUtil::CopyBitmap( const CFbsBitmap& aSource, CFbsBitmap& aDestination )
{
+ // TODO - how to check if source or destination is null reference
TSize size( aSource.SizeInPixels() );
TDisplayMode displayMode( aSource.DisplayMode() );
TInt err( aDestination.Create( size, displayMode ) );
@@ -54,6 +55,7 @@
TInt BitmapUtil::CopyBitmapData( const CFbsBitmap& aSource, CFbsBitmap& aDestination,
const TSize& aSize, const TDisplayMode& aDisplayMode )
{
+ // TODO - how to check if source or destination is null reference
HBufC8* scanLine = HBufC8::New( aSource.ScanLineLength( aSize.iWidth, aDisplayMode ) );
if( scanLine )
{
@@ -215,7 +217,7 @@
}
}
- if( !err && maskHandle )
+ if( !err && maskHandle && iMask)
{
if( aDuplicate )
{
@@ -247,7 +249,7 @@
void CMaskedBitmap::Reset()
{
iBitmap->Reset();
- iMask->Reset();
+ if(iMask) iMask->Reset();
}
@@ -272,7 +274,7 @@
// -----------------------------------------------------------------------------
TBool CMaskedBitmap::HasMask() const
{
- return ( iMask->Handle() != 0 );
+ return (iMask && iMask->Handle()!=0 );
}
// -----------------------------------------------------------------------------
@@ -295,7 +297,7 @@
}
if( iBitmap->Handle() )
{
- if( iMask->Handle() )
+ if( HasMask() )
{
aContext.BitBltMasked( aPoint, iBitmap, s, iMask, iInvertMask );
}
@@ -317,7 +319,7 @@
}
if( iBitmap->Handle() )
{
- if( iMask->Handle() )
+ if( HasMask() )
{
aContext.BitBltMasked( aPoint, iBitmap, aSource, iMask, iInvertMask );
@@ -342,7 +344,7 @@
if( iBitmap->Handle() )
{
// ### FIXME DrawBitmapMasked is too buggy to use 2.8/week52, so no transparency with scaling
- if( iMask->Handle() )
+ if( HasMask() )
{
aContext.DrawBitmapMasked( aTarget, iBitmap, s, iMask, iInvertMask );
}
@@ -365,7 +367,7 @@
if( iBitmap->Handle() )
{
// ### FIXME DrawBitmapMasked is too buggy to use 2.8/week52, so no transparency with scaling
- if( iMask->Handle() )
+ if( HasMask() )
{
aContext.DrawBitmapMasked( aTarget, iBitmap, aSource, iMask, iInvertMask );
}
@@ -441,10 +443,8 @@
void CMaskedBitmap::Resize(TSize aSize)
{
iBitmap->Resize(aSize);
- if (iMask)
- {
+ if (HasMask())
iMask->Resize(aSize);
- }
}
// -----------------------------------------------------------------------------
@@ -589,10 +589,8 @@
TBool CMaskedBitmap::IsFullyTransparent()
{
- if (!iMask || !iMask->Handle())
- {
+ if (!HasMask())
return EFalse;
- }
if( iMask->DisplayMode() != EGray2 )
{
@@ -630,7 +628,7 @@
if ( iBitmap && iBitmap->Handle() )
iBitmap->CompressInBackground();
- if ( iMask && iMask->Handle() )
+ if ( HasMask() )
iMask->CompressInBackground();
}
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/StaticImageDecoder.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/StaticImageDecoder.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <imageconversion.h>
#include <eikenv.h>
#include <fbs.h>
-#include <oom.h>
+#include "oom.h"
// CONSTANTS
// block all images that would take free ram below this amount when decoded
--- a/webengine/osswebengine/WebCore/platform/symbian/bitmap/SyncDecodeThread.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/platform/symbian/bitmap/SyncDecodeThread.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -119,6 +119,10 @@
// -----------------------------------------------------------------------------
void CSynDecoder::Open(const TDesC8& aData, TRequestStatus *status)
{
+ // FbsSession is needed for parent thread if it doesn't have already
+ if(!RFbsSession::GetSession())
+ RFbsSession::Connect();
+
iElem.iRequestStatus = status;
iElem.iData.Set(aData);
iElem.iParentThreadId = RThread().Id();
@@ -252,7 +256,8 @@
void CSynDecodeThread::ConstructL()
{
_LIT(KThreadName, "ImgDecoder");
- User::LeaveIfError(iDecoderThread.Create(KThreadName, CSynDecodeThread::ScaleInThread, KDefaultStackSize, KMinHeapSize, KMaxHeapSize, NULL));
+ RAllocator &allocator = User::Allocator();
+ User::LeaveIfError(iDecoderThread.Create(KThreadName, CSynDecodeThread::ScaleInThread, KDefaultStackSize, &allocator, NULL));
iDecoderThread.SetPriority(EPriorityMore);
TRequestStatus status = KRequestPending;
iDecoderThread.Rendezvous(status);
--- a/webengine/osswebengine/WebCore/rendering/RenderListBox.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/rendering/RenderListBox.h Mon Mar 29 12:27:15 2010 +0100
@@ -89,6 +89,7 @@
#if PLATFORM(SYMBIAN)
IntRect itemRect(int tx, int ty, int index) { return itemBoundingBoxRect(tx, ty, index); }
int indexOffset() {return m_indexOffset;}
+ int getSize() {return size();}
#endif
private:
--- a/webengine/osswebengine/WebCore/rendering/RenderObject.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/rendering/RenderObject.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -2174,11 +2174,11 @@
}
}
#if PLATFORM(SYMBIAN)
- if (m_style->visibility() != style->visibility()) {
- document()->page()->chrome()->setElementVisibilityChanged(style->visibility() == VISIBLE);
- }
-
- if (style->position() != StaticPosition) {
+ if (m_style->visibility() == HIDDEN &&
+ style->visibility() == VISIBLE) {
+ document()->page()->chrome()->setElementVisibilityChanged(true);
+ }
+ else if (style->position() != StaticPosition) {
if (style->left() != m_style->left() ||
style->right() != m_style->right() ||
@@ -2188,6 +2188,17 @@
document()->page()->chrome()->setElementVisibilityChanged(true);
}
}
+ else {
+ bool curr_style_hidden = (m_style->width().isFixed() && m_style->width().value() <= 0) ||
+ (m_style->height().isFixed() && m_style->height().value() <= 0);
+ bool new_style_hidden = (style->width().isFixed() && style->width().value() <= 0) ||
+ (style->height().isFixed() && style->height().value() <= 0);
+
+ if (curr_style_hidden && !new_style_hidden) {
+ document()->page()->chrome()->setElementVisibilityChanged(true);
+ }
+ }
+
#endif
}
// If we have no layer(), just treat a RepaintLayer hint as a normal Repaint.
--- a/webengine/osswebengine/WebCore/rendering/RenderText.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/rendering/RenderText.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -73,11 +73,9 @@
, m_isAllASCII(charactersAreAllASCII(m_text.get()))
#if PLATFORM(SYMBIAN)
-
, m_securityTimer(this, &RenderText::securityTimerFired)
-
-#endif
-
+ , m_offset(0)
+#endif
{
ASSERT(m_text);
setRenderText();
@@ -831,6 +829,9 @@
}
m_linesDirty = dirtiedLines;
+#if PLATFORM(SYMBIAN)
+ m_offset = offset;
+#endif
setText(text, force, backspace);
}
@@ -921,19 +922,19 @@
case TSNONE:
break;
case TSCIRCLE:
- m_text = m_text->secureShowLast(whiteBullet);
+ m_text = m_text->secureShowOffset(bullet, m_offset);
break;
case TSDISC:
if(backspace){
m_text = m_text->secure(bullet);
}
else{
- m_text = m_text->secureShowLast(bullet);
+ m_text = m_text->secureShowOffset(bullet, m_offset);
}
break;
case TSSQUARE:
- m_text = m_text->secureShowLast(blackSquare);
+ m_text = m_text->secureShowOffset(blackSquare, m_offset);
}
if (style()->textSecurity() != TSNONE) {
--- a/webengine/osswebengine/WebCore/rendering/RenderText.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/rendering/RenderText.h Mon Mar 29 12:27:15 2010 +0100
@@ -174,7 +174,7 @@
void securityTimerFired(Timer<RenderText>*);
Timer<RenderText> m_securityTimer;
-
+ unsigned m_offset;
#endif //PLATFORM(SYMBIAN)
};
--- a/webengine/osswebengine/WebCore/xml/xmlhttprequest.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebCore/xml/xmlhttprequest.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -725,7 +725,7 @@
else if (responseIsXML())
m_decoder = new TextResourceDecoder("application/xml");
else if (responseMIMEType() == "text/html")
- m_decoder = new TextResourceDecoder("text/html");
+ m_decoder = new TextResourceDecoder("text/html", "UTF-8");
else
m_decoder = new TextResourceDecoder("text/plain", "UTF-8");
}
--- a/webengine/osswebengine/WebKit/s60/data/01005A02.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/data/01005A02.rss Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO r_registry
{
dll_uid = 0x01005A02; // Should match the name of this file
--- a/webengine/osswebengine/WebKit/s60/data/Webkit.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/data/Webkit.rss Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,8 @@
#include <AiwCommon.hrh>
#include <AiwCommon.rh>
#include <CommonDialogs.rh>
-#include <Webkit.loc>
+#include <webkit.loc>
+#include <Avkon.loc>
RESOURCE RSS_SIGNATURE { }
@@ -250,3 +251,5 @@
RESOURCE TBUF r_qtn_browser_dialog_scriptlog_disable_msg { buf=qtn_browser_dialog_scriptlog_disable_msg; }
+// Misc dialogs
+RESOURCE TBUF r_qtn_browser_dialog_oom { buf=qtn_memlo_ram_out_of_mem; }
--- a/webengine/osswebengine/WebKit/s60/data/Webkit_sdk.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/data/Webkit_sdk.rss Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include <avkon.rsg>
#include <avkon.rh>
#include <CommonDialogs.rh>
-#include <Webkit.loc>
+#include <webkit.loc>
RESOURCE RSS_SIGNATURE { }
--- a/webengine/osswebengine/WebKit/s60/formcontrols/PopupSelectListBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/formcontrols/PopupSelectListBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -23,10 +23,11 @@
#include <gulbordr.h>
#include <eikfrlbd.h> //CFormattedCellListBoxData
+#include <brctldialogsprovider.h>
+
#include "PopupSelectListBox.h"
#include "WebView.h"
#include "WebFepTextEditor.h"
-#include "BrCtlDialogsProvider.h"
// CONSTANTS
--- a/webengine/osswebengine/WebKit/s60/formcontrols/PopupSelectListBox.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/formcontrols/PopupSelectListBox.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef POPUPSELECTLISTBOX_H
#define POPUPSELECTLISTBOX_H
@@ -24,10 +23,8 @@
#include <eiktxlbx.h>
#include <eikfrlb.h> //CFormattedCellListBox
-
// CONSTANTS
-
// FORWARD DECLARATIONS
class TBrCtlSelectOptionData;
--- a/webengine/osswebengine/WebKit/s60/formcontrols/WebFormFillPopup.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/formcontrols/WebFormFillPopup.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,16 +16,21 @@
*/
// INCLUDE FILES
+#include <browser_platform_variant.hrh>
#include <../bidi.h>
+#include <brctldialogsprovider.h>
+
#include "WebFormFillPopup.h"
#include "WebView.h"
#include "WebFrame.h"
#include "WebFrameView.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "PopupSelectListBox.h"
-#include "BrCtlDialogsProvider.h"
+
#include "WebFepTextEditor.h"
#include "FormFillCallback.h"
+#include "Page.h"
+#include "WebChromeClient.h"
#include <aknenv.h>
#include <coemain.h>
@@ -35,7 +40,6 @@
#include "eikon.hrh"
-
static const TInt KMaxNumToShow = 6; // max number of list items to show
static const TInt KInitArraySize = 10; // initial array size
static const TInt KBorderSize = 1; // List Box Border size
@@ -242,6 +246,9 @@
}
+ if (response == EKeyWasConsumed) {
+ m_parent->page()->chrome()->client()->setElementVisibilityChanged(false);
+ }
return response;
}
@@ -265,8 +272,11 @@
{
if (aListBox != m_listBox)
return;
-
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if (aEventType == EEventItemDoubleClicked || aEventType == EEventEnterKeyPressed || aEventType == EEventItemSingleClicked || aEventType == EEventEmptyAreaClicked)
+#else
if (aEventType == EEventItemDoubleClicked || aEventType == EEventEnterKeyPressed)
+#endif
{
// get the selected item from listbox
m_listBox->View()->UpdateSelectionL(CListBoxView::ESingleSelection);
@@ -274,7 +284,8 @@
if (m_listBox->IsFocused())
{
MakeVisible(EFalse);
- m_callback->autoComplete(m_data[selected->At(0)]->Text());
+ if(selected != NULL && m_data[selected->At(0)] )
+ m_callback->autoComplete(m_data[selected->At(0)]->Text());
}
}
else if (aEventType == EEventPenDownOnItem) {
@@ -358,6 +369,7 @@
else {
m_callback->cancelPopup();
}
+ m_parent->page()->chrome()->client()->setElementVisibilityChanged(false);
}
// End of File
--- a/webengine/osswebengine/WebKit/s60/group/JavaScriptCore/JavaScriptCore.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/JavaScriptCore/JavaScriptCore.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
TARGET JavaScriptCore.DLL
TARGETTYPE dll
UID 0x1000008d 0x10281B70
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#ifdef __S60_32__
LANG sc
@@ -72,8 +71,8 @@
SYSTEMINCLUDE ../../../../JavaScriptCore/ForwardingHeaders
SYSTEMINCLUDE ../../../../
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_STDAPIS_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+OS_LAYER_LIBC_SYSTEMINCLUDE
SOURCEPATH ../../../../DerivedSources/JavaScriptCore
SOURCE grammar.cpp
@@ -130,7 +129,6 @@
SOURCE JSWrapperObject.cpp
SOURCE PropertyNameArray.cpp
-
SOURCEPATH ../../../../JavaScriptCore/pcre
SOURCE pcre_refcount.c
SOURCE pcre_ucp_findchar.c
@@ -177,5 +175,5 @@
LIBRARY estlib.lib
LIBRARY euser.lib
LIBRARY memman.lib
+LIBRARY charconv.lib
-
--- a/webengine/osswebengine/WebKit/s60/group/browserengine/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/browserengine/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/browserengine/browserengine.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/browserengine/browserengine.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
#include "../common.mmpi"
-#include <platform/mw/Browser_platform_variant.hrh>
TARGET browserengine.dll
TARGETTYPE dll
@@ -135,7 +134,7 @@
#endif // BRDO_TOUCH_ENABLED_FF
#ifdef BRDO_USE_GESTURE_HELPER
-LIBRARY rt_gesturehelper.lib
+LIBRARY stmgesturefw.lib
#endif // BRDO_USE_GESTURE_HELPER
#if defined(GCCE)
STATICLIBRARY edllstub.lib
--- a/webengine/osswebengine/WebKit/s60/group/common.mmpi Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/common.mmpi Mon Mar 29 12:27:15 2010 +0100
@@ -17,9 +17,10 @@
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
SYSTEMINCLUDE ../../../WebCore/platform/symbian/Libxml2
+
MW_LAYER_SYSTEMINCLUDE
USERINCLUDE ../../../WebCore
@@ -75,11 +76,8 @@
SYSTEMINCLUDE ../../../WebCore/icu
SYSTEMINCLUDE ../../../WebCore/bindings/js
-MW_LAYER_ECOM_SYSTEMINCLUDE
-MW_LAYER_HTTP_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_STDAPIS_SYSTEMINCLUDE
-
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+OS_LAYER_LIBC_SYSTEMINCLUDE
SYSTEMINCLUDE ../../../../PageScaler/inc
SYSTEMINCLUDE ../../../../WidgetEngine/inc
--- a/webengine/osswebengine/WebKit/s60/group/libxml2/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/libxml2/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/libxml2/libxml2.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/libxml2/libxml2.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET webcore_xmlparser.lib
TARGETTYPE lib
@@ -54,4 +54,4 @@
USERINCLUDE .
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
--- a/webengine/osswebengine/WebKit/s60/group/plugins/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/plugins/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/plugins/plugins.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/plugins/plugins.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,15 +14,14 @@
* Description:
*
*/
+
#include "../common.mmpi"
TARGET plugins.lib
TARGETTYPE lib
-
VENDORID VID_DEFAULT
-MW_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE ../../../../../../inc
SYSTEMINCLUDE ../../../../WebCore/html
SYSTEMINCLUDE ../../../../WebCore/dom
--- a/webengine/osswebengine/WebKit/s60/group/webcore/DerivedSources/DerivedSources.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/DerivedSources/DerivedSources.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCoreDerivedSources.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/DerivedSources/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/DerivedSources/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/bindings/bindings.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/bindings/bindings.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,10 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorebindings.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/bindings/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/bindings/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/bridge/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/bridge/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/bridge/bridge.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/bridge/bridge.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorebridge.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/dom/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/dom/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/dom/dom.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/dom/dom.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCoredom.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/editing/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/editing/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/editing/editing.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/editing/editing.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCoreediting.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/history/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/history/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/history/history.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/history/history.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorehistory.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/html/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/html/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/html/html.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/html/html.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorehtml.lib
@@ -110,4 +107,4 @@
SOURCE HTMLTokenizer.cpp
SOURCE HTMLUListElement.cpp
SOURCE HTMLViewSourceDocument.cpp
-SOURCE PreLoadScanner.cpp
\ No newline at end of file
+SOURCE PreLoadScanner.cpp
--- a/webengine/osswebengine/WebKit/s60/group/webcore/loader/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/loader/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/loader/loader.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/loader/loader.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCoreloader.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/page/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/page/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/page/page.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/page/page.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorepage.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/platform/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/platform/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/platform/platform.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/platform/platform.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,10 +14,7 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
#include "../../common.mmpi"
-#include <platform/mw/Browser_platform_variant.hrh>
TARGET WebCoreplatform.lib
@@ -26,6 +23,8 @@
VENDORID VID_DEFAULT
START RESOURCE ../../../data/webkit.rss
+DEPENDS avkon.rsg
+DEPENDS eikon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
#ifdef __S60_32__
@@ -49,7 +48,6 @@
SOURCE 1 ../../../data/SelectMultimask.bmp
END
-
//OPTION CW -prefix pragmas.pref
SOURCEPATH ../../../../../WebCore/platform
--- a/webengine/osswebengine/WebKit/s60/group/webcore/rendering/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/rendering/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/rendering/rendering.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/rendering/rendering.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorerendering.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/webcorecss/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/webcorecss/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/webcorecss/webcorecss.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/webcorecss/webcorecss.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorecss.lib
--- a/webengine/osswebengine/WebKit/s60/group/webcore/xml/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/xml/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/WebKit/s60/group/webcore/xml/xml.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webcore/xml/xml.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,9 +14,6 @@
// * Description: This is the project specification file for WebCore.
// *
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
#include "../../common.mmpi"
TARGET WebCorexml.lib
--- a/webengine/osswebengine/WebKit/s60/group/webkit/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webkit/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,13 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
PRJ_EXPORTS
-../../loc/Webkit.loc MW_LAYER_LOC_EXPORT_PATH(Webkit.loc)
+../../loc/webkit.loc MW_LAYER_LOC_EXPORT_PATH(webkit.loc)
../../rom/webkit.iby CORE_MW_LAYER_IBY_EXPORT_PATH(webkit.iby)
../../rom/webkitResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(webkitResources.iby)
--- a/webengine/osswebengine/WebKit/s60/group/webkit/webkit.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/group/webkit/webkit.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,6 @@
TARGET WebKit.lib
TARGETTYPE lib
-
VENDORID VID_DEFAULT
SOURCEPATH ../../WebView
@@ -42,6 +41,8 @@
SOURCE BrCtlDialogsProviderUtils.cpp
SOURCE WebToolBarInterface.cpp
SOURCE WebDataLoadConsumer.cpp
+SOURCE WebGestureInterface.cpp
+SOURCE WebPagePinchZoomHandler.cpp
SOURCE WebPageFullScreenHandler.cpp
SOURCE WebPageScrollHandler.cpp
--- a/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -68,16 +68,24 @@
return NULL;
CGulIcon* icon = NULL;
CFbsBitmap* bitmap = new CFbsBitmap();
- CFbsBitmap* mask = new CFbsBitmap();
-
+ CFbsBitmap* mask = new CFbsBitmap();;
+ int errMask = KErrNone;
+ int errBmp = KErrNone;
if (bitmap && mask) {
- int err( BitmapUtil::CopyBitmap(maskedBitmap->Bitmap(), *bitmap));
- int errMask( BitmapUtil::CopyBitmap(maskedBitmap->Mask(), *mask));
- if (err == KErrNone && errMask == KErrNone) {
+ errBmp = BitmapUtil::CopyBitmap(maskedBitmap->Bitmap(), *bitmap);
+ if(maskedBitmap->HasMask()) {
+ errMask = BitmapUtil::CopyBitmap(maskedBitmap->Mask(), *mask);
+ }else {
+ delete mask;
+ mask = NULL;
+ }
+
+ if (errBmp == KErrNone && errMask == KErrNone) {
TRAP_IGNORE(icon = CGulIcon::NewL());
if (icon) {
icon->SetBitmap( bitmap );
- icon->SetMask( mask );
+ if(mask)
+ icon->SetMask( mask );
}
}
}
@@ -96,4 +104,7 @@
iconDatabase()->releaseIconForPageURL(String(url));
}
-
+void WebIconDatabase::setEnabled(bool enabled)
+{
+ iconDatabase()->setEnabled(enabled);
+}
--- a/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebIconDatabase.h Mon Mar 29 12:27:15 2010 +0100
@@ -33,6 +33,7 @@
CGulIcon* iconForPageURL(const TDesC8& url);
void retainIconForURL(const TDesC8& url);
void releaseIconForURL(const TDesC8& url);
+ void setEnabled(bool enabled);
private:
--- a/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include "HitTestResult.h"
#include "HTMLNames.h"
#include "FrameTree.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "WebCursor.h"
#include "StaticObjectsContainer.h"
#include "Page.h"
@@ -70,7 +70,7 @@
void WebTabbedNavigation::initializeForPage()
{
- if (!m_initializedForPage) {
+ if (!m_initializedForPage && m_webView->IsVisible()) {
if (navigate(0, 1)) {
m_initializedForPage = true;
m_firstNavigationOnPage = false;
@@ -81,14 +81,6 @@
void WebTabbedNavigation::updateCursorPosition(const TPoint& pos)
{
m_focusPosition = pos;
- WebFrame* frame = StaticObjectsContainer::instance()->webCursor()->getFrameAtPoint(pos);
- TPoint point(frame->frameView()->viewCoordsInFrameCoords(pos));
-
- Element* node = core(frame)->document()->elementFromPoint(point.iX, point.iY);
- if (node->isFocusable() && !node->hasTagName(iframeTag) && !node->hasTagName(frameTag))
- m_webView->page()->focusController()->setFocusedNode(node, core(frame));
- else
- m_webView->page()->focusController()->setFocusedNode(NULL, core(frame));
m_selectedElementRect.SetRect(pos.iX, pos.iY, pos.iX + 1, pos.iY + 1);
}
@@ -101,88 +93,202 @@
m_focusPosition = StaticObjectsContainer::instance()->webCursor()->position();
}
-bool WebTabbedNavigation::navigate(int horizontalDir, int verticalDir)
+
+void WebTabbedNavigation::resetNavigationIfNeeded(TPoint& contentPos, TSize& contentSize,
+ Frame* focusedFrame, int horizontalDir, int verticalDir)
{
- if (handleSelectElementScrolling(m_webView, verticalDir)) {
- StaticObjectsContainer::instance()->webCursor()->cursorUpdate(true);
- return true;
- }
- // DOM can be changed so check if we are still inside the document
- // If not reset tabbed navigation parameters to the closest point in document.
- TSize contentSize = m_webView->mainFrame()->frameView()->contentSize();
- TPoint contentPos = m_webView->mainFrame()->frameView()->contentPos();
- TRect docRect = TRect(contentPos, contentSize - contentPos);
+ TPoint docBrViewCoord = kit(focusedFrame)->frameView()->frameCoordsInViewCoords(
+ TPoint(contentSize.iWidth, contentSize.iHeight));
+ TRect docRect = TRect(TPoint(0,0), docBrViewCoord);
if (!docRect.Contains(m_focusPosition)) {
TInt viewW = m_webView->Rect().Width();
TInt viewH = m_webView->Rect().Height();
- if (m_focusPosition.iX > contentSize.iWidth ||
- m_focusPosition.iX < contentPos.iX) {
+ if (m_focusPosition.iX > contentSize.iWidth) {
m_focusPosition.iX = (horizontalDir == -1) ? contentPos.iX + viewW : contentPos.iX;
}
- if (m_focusPosition.iY > contentSize.iHeight ||
- m_focusPosition.iY < contentPos.iY) {
+ if (m_focusPosition.iY > contentSize.iHeight) {
m_focusPosition.iY = (verticalDir == -1) ? contentPos.iY + viewH : contentPos.iY;
}
-
- m_selectedElementRect.SetRect(m_focusPosition.iX, m_focusPosition.iY, m_focusPosition.iX, m_focusPosition.iY);
+
+ m_selectedElementRect.SetRect(m_focusPosition.iX, m_focusPosition.iY,
+ m_focusPosition.iX, m_focusPosition.iY);
m_node = NULL;
}
+}
+
+
+TPoint WebTabbedNavigation::focusPointFromFocusedNode(Frame* frame, int horizontalDir, int verticalDir)
+{
+ TPoint oldFocusPoint(m_focusPosition);
+ TPoint focusPosition(m_focusPosition);
+ TRect selectedElementRect(m_selectedElementRect);
- bool ret = m_firstNavigationOnPage;
- Frame* focusedFrame = m_webView->page()->focusController()->focusedFrame();
- if (focusedFrame == NULL) focusedFrame = m_webView->page()->mainFrame();
- if (focusedFrame->document()) {
- Node* focusNode = focusedFrame->document()->focusedNode();
- if (focusNode) {
- m_node = focusNode;
- m_selectedElementRect = focusNode->getRect().Rect();
- Frame* frame = focusNode->document()->frame();
- m_selectedElementRect = TRect(kit(frame)->frameView()->frameCoordsInViewCoords(m_selectedElementRect.iTl),
- kit(frame)->frameView()->frameCoordsInViewCoords(m_selectedElementRect.iBr));
+ if (frame->document()) {
+ Node* focusedNode = frame->document()->focusedNode();
+ if (focusedNode) {
+ m_node = focusedNode;
+ selectedElementRect = focusedNode->getRect().Rect();
+ Frame* frame = focusedNode->document()->frame();
+ selectedElementRect = kit(frame)->frameView()->frameCoordsInViewCoords(selectedElementRect);
+
+ // Move the focus to the visible edge of the current object
+ TRect elemVisibleRect = selectedElementRect;
+ if (elemVisibleRect.Intersects(m_webView->Rect())) {
+
+ elemVisibleRect.Intersection(m_webView->Rect());
+ if (horizontalDir == -1) {
+ focusPosition.iX = elemVisibleRect.iTl.iX;
+ }
+ else if (horizontalDir == 1) {
+ focusPosition.iX = elemVisibleRect.iBr.iX;
+ }
+
+ if (verticalDir == -1) {
+ focusPosition.iY = elemVisibleRect.iTl.iY;
+ }
+ else if (verticalDir == 1) {
+ focusPosition.iY = elemVisibleRect.iBr.iY;
+ }
+
+ if ((verticalDir == 0) && (horizontalDir == 0)) {
+ focusPosition = elemVisibleRect.Center();
+ }
+ m_focusPosition = focusPosition;
+ }
+ m_selectedElementRect = selectedElementRect;
}
}
- TPoint oldFocusPoint(m_focusPosition);
- // Move the focus to the edge of the current object
+ return oldFocusPoint;
+}
+
+
+void WebTabbedNavigation::calcSearchViewRect(int horizontalDir, int verticalDir, TRect& view)
+{
+
+ TPoint br;
+ TPoint viewBr = m_webView->Rect().iBr;
+ br.iX = viewBr.iX * KMaxJumpPercent / m_webView->scalingFactor();
+ br.iY = viewBr.iY * KMaxJumpPercent / m_webView->scalingFactor();
+ // define the view rect where we are looking for a match
+ int x, y;
if (horizontalDir == -1) {
- m_focusPosition.iX = m_selectedElementRect.iTl.iX;
+ view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY - br.iY,
+ m_focusPosition.iX , m_focusPosition.iY + br.iY);
}
else if (horizontalDir == 1) {
- m_focusPosition.iX = m_selectedElementRect.iBr.iX;
+ view.SetRect(m_focusPosition.iX, m_focusPosition.iY - br.iY,
+ m_focusPosition.iX + br.iX, m_focusPosition.iY + br.iY);
}
- if (verticalDir == -1) {
- m_focusPosition.iY = m_selectedElementRect.iTl.iY;
+ else if (verticalDir == -1) {
+ view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY - br.iY,
+ m_focusPosition.iX + br.iX, m_focusPosition.iY);
}
else if (verticalDir == 1) {
- m_focusPosition.iY = m_selectedElementRect.iBr.iY;
+ view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY,
+ m_focusPosition.iX + br.iX, m_focusPosition.iY + br.iY);
}
- wkDebug()<<"WebTabbedNavigation::navigate. x = "<<m_focusPosition.iX<<" y = "<<m_focusPosition.iY<<flush;
- wkDebug()<<"x1 = "<<m_selectedElementRect.iTl.iX<<" y1 = "<<m_selectedElementRect.iTl.iY<<" x2 = "<<m_selectedElementRect.iBr.iX<<" y2 = "<<m_selectedElementRect.iBr.iY<<flush;
+}
+
+TPoint WebTabbedNavigation::updateCursorPosAfterScroll(Frame* frame, int horizontalDir, int verticalDir)
+{
+ WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
+ TPoint oldPos = cursor->position();
+
+ focusPointFromFocusedNode(frame, horizontalDir, verticalDir);
+ if (m_node && !m_selectedElementRect.Intersects(m_webView->Rect())) {
+ static_cast<Node*>(m_node)->document()->setFocusedNode(NULL);
+ m_node = NULL;
+ }
- // Adjust the move
- TPoint br;
- br.iX = m_webView->Rect().iBr.iX * KMaxJumpPercent / m_webView->scalingFactor();
- br.iY = m_webView->Rect().iBr.iY * KMaxJumpPercent / m_webView->scalingFactor();
+ cursor->setPosition(m_focusPosition - TPoint(horizontalDir, verticalDir));
+ return oldPos;
+}
+
+bool WebTabbedNavigation::navigate(int horizontalDir, int verticalDir)
+{
+ WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
+ if (handleSelectElementScrolling(m_webView, verticalDir)) {
+ cursor->cursorUpdate(true);
+ return true;
+ }
+ Frame* mainFrame = core(m_webView->mainFrame());
+ FocusController* focusController = m_webView->page()->focusController();
+ Frame* focusedFrame = focusController->focusedOrMainFrame();
+ TSize contentSize = kit(focusedFrame)->frameView()->contentSize();
+ TPoint contentPos = kit(focusedFrame)->frameView()->contentPos();
+
+ // DOM can be changed so check if we are still inside the document
+ // If not reset tabbed navigation parameters to the closest point in document.
+ resetNavigationIfNeeded(contentPos, contentSize, focusedFrame, horizontalDir, verticalDir);
+
+
+ bool ret = m_firstNavigationOnPage;
+
+ if (focusedFrame == NULL) focusedFrame = mainFrame;
+ TPoint oldFocusPoint = focusPointFromFocusedNode(focusedFrame, horizontalDir, verticalDir);
TRect view;
- // define the view rect where we are looking for a match
- if (horizontalDir == -1) {
- view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY - br.iY, m_focusPosition.iX, m_focusPosition.iY + br.iY);
- }
- else if (horizontalDir == 1) {
- view.SetRect(m_focusPosition.iX, m_focusPosition.iY - br.iY, m_focusPosition.iX + br.iX, m_focusPosition.iY + br.iY);
- }
- else if (verticalDir == -1) {
- view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY - br.iY, m_focusPosition.iX + br.iX, m_focusPosition.iY);
- }
- else if (verticalDir == 1) {
- view.SetRect(m_focusPosition.iX - br.iX, m_focusPosition.iY, m_focusPosition.iX + br.iX, m_focusPosition.iY + br.iY);
- }
- //wkDebug()<<"view x1 = "<<view.iTl.iX<<" y1 = "<<view.iTl.iY<<" x2 = "<<view.iBr.iX<<" y2 = "<<view.iBr.iY<<flush;
- // walk all focusable nodes
- Frame* f = m_webView->page()->mainFrame();
+ calcSearchViewRect(horizontalDir, verticalDir, view);
+
+ // walk all focusable nodes
TPoint selectedPoint(0, 0);
TRect selectedRect(0, 0, 0, 0);
- Node* selectedNode = NULL;
+ Node* selectedNode = bestFitFocusableNode(mainFrame, view, horizontalDir, verticalDir,
+ selectedPoint, selectedRect);
+
+ // Remember new selection
+ contentPos = kit(mainFrame)->frameView()->contentPos();
+ if (selectedNode) {
+ // Found an element to jump to
+ m_selectedElementRect = selectedRect;
+ m_focusPosition = selectedPoint;
+ m_node = selectedNode;
+ selectedNode->document()->setFocusedNode(selectedNode);
+ m_webView->page()->focusController()->setFocusedFrame(selectedNode->document()->frame());
+
+ // And scroll to the selected element
+ RenderLayer *layer = selectedNode->renderer()->enclosingLayer();
+ if (layer) {
+ layer->scrollRectToVisible(selectedNode->getRect(), RenderLayer::gAlignCenterIfNeeded, RenderLayer::gAlignCenterIfNeeded);
+ WebFrameView* fv = kit(selectedNode->document()->frame())->frameView();
+ TRect newRect = fv->frameCoordsInViewCoords(selectedNode->getRect().Rect());
+ selectedRect = newRect;
+ selectedPoint = potentialFocusPoint(horizontalDir, verticalDir, newRect);
+ m_selectedElementRect = selectedRect;
+ m_focusPosition = selectedPoint;
+
+ cursor->updatePositionAndElemType(m_focusPosition);
+ // special handling for Select-Multi
+ if (m_webView->focusedElementType() == TBrCtlDefs::EElementSelectMultiBox) {
+ handleMultiSelect(horizontalDir, verticalDir);
+ }
+
+ m_webView->sendMouseEventToEngine(TPointerEvent::EMove, cursor->position(), mainFrame);
+ ret = true;
+ }
+ }
+ else {
+ if (!m_firstNavigationOnPage) {
+ TInt vWidth = m_webView->Rect().Width();
+ TInt vHeight = m_webView->Rect().Height();
+ kit(mainFrame)->frameView()->scrollTo(contentPos +
+ TPoint(horizontalDir * vWidth / KScrollWhenNotFound,
+ verticalDir * vHeight / KScrollWhenNotFound));
+
+ cursor->updatePositionAndElemType(m_focusPosition - TPoint(horizontalDir, verticalDir));
+ }
+ }
+ cursor->cursorUpdate(true);
+ return ret;
+}
+
+
+
+Node* WebTabbedNavigation::bestFitFocusableNode(Frame* topFrame, TRect& viewRect, int horizontalDir, int verticalDir, //input
+ TPoint& selectedPoint, TRect& selectedRect ) //output
+{
+ Node* selectedNode = NULL;
+ Frame* f = topFrame;
while ( f ) {
PassRefPtr<HTMLCollection> elements = f->document()->all();
TRect frameRect = kit(f)->frameView()->rectInGlobalCoords();
@@ -191,13 +297,11 @@
if (n->isFocusable() && n->isElementNode() && !n->hasTagName(iframeTag) && !n->hasTagName(frameTag)) {
// Does the node intersect with the view rect?
TRect nodeRect = n->getRect().Rect();
- //wkDebug()<<"Each node rect x1 = "<<nodeRect.iTl.iX<<" y1 = "<<nodeRect.iTl.iY<<" x2 = "<<nodeRect.iBr.iX<<" y2 = "<<nodeRect.iBr.iY<<flush;
- nodeRect = TRect(kit(f)->frameView()->frameCoordsInViewCoords(nodeRect.iTl),
- kit(f)->frameView()->frameCoordsInViewCoords(nodeRect.iBr));
- if (nodeRect.Intersects(view)) {
+ nodeRect = kit(f)->frameView()->frameCoordsInViewCoords(nodeRect);
+ if (nodeRect.Intersects(viewRect) &&
+ shouldConsiderRect(nodeRect, viewRect, horizontalDir, verticalDir)) {
// Compare nodes and select the best fit
TPoint newFocusPoint = potentialFocusPoint(horizontalDir, verticalDir, nodeRect);
- wkDebug()<<"Matching node rect x1 = "<<nodeRect.iTl.iX<<" y1 = "<<nodeRect.iTl.iY<<" x2 = "<<nodeRect.iBr.iX<<" y2 = "<<nodeRect.iBr.iY<<flush;
if (selectNode(horizontalDir, verticalDir, selectedRect, nodeRect, selectedPoint, newFocusPoint)) {
// found a better fit
selectedNode = n;
@@ -209,96 +313,55 @@
} // for (Node* n = elements->firstItem(); n; n = elements->nextItem())
f = f->tree()->traverseNext();
} // while ( f )
- // Remember new selection
- contentPos = m_webView->mainFrame()->frameView()->contentPos();
- if (selectedNode) {
- // Found an element to jump to
- m_selectedElementRect = selectedRect;
- m_focusPosition = selectedPoint;
- m_node = selectedNode;
- selectedNode->document()->setFocusedNode(selectedNode);
- m_webView->page()->focusController()->setFocusedFrame(selectedNode->document()->frame());
- // And scroll to the selected element
- RenderLayer *layer = selectedNode->renderer()->enclosingLayer();
- if (layer) {
- layer->scrollRectToVisible(selectedNode->getRect(), RenderLayer::gAlignCenterIfNeeded, RenderLayer::gAlignCenterIfNeeded);
- TRect newRect = TRect(kit(selectedNode->document()->frame())->frameView()->frameCoordsInViewCoords(selectedNode->getRect().Rect().iTl),
- kit(selectedNode->document()->frame())->frameView()->frameCoordsInViewCoords(selectedNode->getRect().Rect().iBr));
- selectedPoint += (newRect.iTl - selectedRect.iTl);
- m_focusPosition = selectedPoint;
- selectedRect = newRect;
- m_selectedElementRect = selectedRect;
+ return selectedNode;
+}
+
- int x, y;
- selectedNode->renderer()->absolutePosition(x, y);
- Vector<IntRect> rects;
- selectedNode->renderer()->absoluteRects(rects, x, y);
- WebFrameView* fv = kit(selectedNode->document()->frame())->frameView();
- if (rects.size() > 0) {
- selectedPoint = TPoint(rects[0].x(), rects[0].y());
- selectedPoint = fv->frameCoordsInViewCoords(selectedPoint);
- }
- StaticObjectsContainer::instance()->webCursor()->updatePositionAndElemType(selectedPoint);
- // special handling for Select-Multi
- if (m_webView->focusedElementType() == TBrCtlDefs::EElementSelectMultiBox) {
- Element* e = static_cast<Element*>(m_node);
- if (e->isControl()) {
- HTMLGenericFormElement* ie = static_cast<HTMLGenericFormElement*>( e );
- if (ie->type() == "select-multiple") {
- RenderListBox* render = static_cast<RenderListBox*>(e->renderer());
- HTMLSelectElement* selectElement = static_cast<HTMLSelectElement*>( e );
- IntRect itemRect = render->itemRect(0, 0, 0);
- TPoint cursorPoint(StaticObjectsContainer::instance()->webCursor()->position());
- int gap = (20 * m_webView->scalingFactor()) / 100;
- cursorPoint.iX = max(m_focusPosition.iX, m_selectedElementRect.iTl.iX + gap);
- cursorPoint.iX = std::min(cursorPoint.iX, m_selectedElementRect.iBr.iX - gap);
- if (verticalDir == -1) {
- cursorPoint.iY -= (itemRect.height() * m_webView->scalingFactor()) / 125;
- }
- if (cursorPoint != StaticObjectsContainer::instance()->webCursor()->position()) {
- StaticObjectsContainer::instance()->webCursor()->setPosition(cursorPoint);
- }
- }
- }
- }
- TPointerEvent event;
- event.iPosition = StaticObjectsContainer::instance()->webCursor()->position();
- event.iModifiers = 0;
- event.iType = TPointerEvent::EMove;
- core(m_webView->mainFrame())->eventHandler()->handleMouseMoveEvent(PlatformMouseEvent(event));
- wkDebug()<<"Focus position x = "<<selectedPoint.iX<<" y = "<<selectedPoint.iY<<flush;
- ret = true;
- }
+bool WebTabbedNavigation::shouldConsiderRect(TRect& rect, TRect& searchRect, int horizontalDir, int verticalDir)
+{
+ bool considerX = false;
+ bool considerY = false;
+
+ if (horizontalDir == 1) {
+ considerX = (rect.iTl.iX >= searchRect.iTl.iX);
+ }
+ else if (horizontalDir == -1) {
+ considerX = (rect.iBr.iX <= searchRect.iBr.iX);
+ }
+
+ if (verticalDir == 1) {
+ considerY = (rect.iTl.iY >= searchRect.iTl.iY);
+ }
+ else if (verticalDir == -1) {
+ considerY = (rect.iBr.iY <= searchRect.iBr.iY);
}
- else {
- if (!m_firstNavigationOnPage) {
- m_webView->mainFrame()->frameView()->scrollTo(contentPos + TPoint(horizontalDir * m_webView->Rect().Width() / KScrollWhenNotFound, verticalDir * m_webView->Rect().Height() / KScrollWhenNotFound));
- TPoint diff(m_webView->mainFrame()->frameView()->contentPos() - contentPos);
- if (diff.iX || diff.iY) {
- Frame* focusedFrame = m_webView->page()->focusController()->focusedFrame();
- if (focusedFrame == NULL) focusedFrame = m_webView->page()->mainFrame();
- Node* focusNode = focusedFrame->document()->focusedNode();
- if (focusNode) {
- TRect selectedRect = focusNode->getRect().Rect();
- selectedRect = TRect(kit(focusedFrame)->frameView()->frameCoordsInViewCoords(selectedRect.iTl),
- kit(focusedFrame)->frameView()->frameCoordsInViewCoords(selectedRect.iBr));
- if (!selectedRect.Intersects(kit(focusedFrame)->frameView()->visibleRect()))
- m_webView->page()->focusController()->setFocusedNode(NULL,0);
- }
- m_selectedElementRect.Move(diff);
- m_focusPosition = oldFocusPoint + diff;
- m_node = NULL;
- StaticObjectsContainer::instance()->webCursor()->updatePositionAndElemType(m_focusPosition - m_webView->mainFrame()->frameView()->contentPos());
- ret = true;
- }
- else
- {
- m_focusPosition = oldFocusPoint;
+
+ return considerX || considerY;
+
+}
+
+void WebTabbedNavigation::handleMultiSelect(int horizontalDir, int verticalDir)
+{
+ WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
+ Node* n = static_cast<Node*>(m_node);
+ WebFrameView* fv = kit(n->document()->frame())->frameView();
+ Element* e = static_cast<Element*>(m_node);
+ if (e->isControl()) {
+ HTMLGenericFormElement* ie = static_cast<HTMLGenericFormElement*>( e );
+ if (ie->type() == "select-multiple") {
+ RenderListBox* render = static_cast<RenderListBox*>(e->renderer());
+ HTMLSelectElement* selectElement = static_cast<HTMLSelectElement*>( e );
+ TRect itemRect = render->itemRect(0, 0, render->indexOffset()).Rect();
+ TRect itemRectViewCoord = fv->frameCoordsInViewCoords(itemRect);
+ itemRectViewCoord.Move(m_selectedElementRect.iTl);
+ itemRectViewCoord.Intersection(fv->topView()->Rect());
+
+ TPoint cursorPoint = itemRect.Center() + m_selectedElementRect.iTl;
+ if (cursorPoint != cursor->position()) {
+ cursor->setPosition(cursorPoint);
}
}
}
- StaticObjectsContainer::instance()->webCursor()->cursorUpdate(true);
- return ret;
}
bool WebTabbedNavigation::selectNode(int horizontalDir, int verticalDir, TRect& selectedRect, TRect& newNodeRect, TPoint& selectedPoint, TPoint& newFocusPoint)
@@ -308,7 +371,7 @@
}
int selectedDist = distanceFunction(horizontalDir, verticalDir, selectedRect, selectedPoint);
int newDist = distanceFunction(horizontalDir, verticalDir, newNodeRect, newFocusPoint);
- wkDebug()<<"WebTabbedNavigation::selectNode. selected x = "<<selectedPoint.iX<<" y = "<<selectedPoint.iY<<" new x = "<<newFocusPoint.iX<<" y = "<<newFocusPoint.iY<<"old distance = "<<selectedDist<<" new distance = "<<newDist<<flush;
+
return newDist < selectedDist;
}
@@ -399,3 +462,4 @@
Math::Int(o, sqrt(overlap));
return ed + sameAxisDist + 2 * otherAxisDist - o;
}
+
--- a/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebTabbedNavigation.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,6 +24,7 @@
namespace WebCore {
class Element;
class Node;
+ class Frame;
};
class WebTabbedNavigation {
@@ -36,11 +37,19 @@
void initializeForPage();
void updateCursorPosition(const TPoint& pos);
void focusedElementChanged(WebCore::Element* element);
-
+ TPoint updateCursorPosAfterScroll(WebCore::Frame* frame, int horizontalDir, int verticalDir);
private:
bool selectNode(int horizontalDir, int verticalDir, TRect& selectedRect, TRect& newNodeRect, TPoint& selectedPoint, TPoint& newFocusPoint);
TPoint potentialFocusPoint(int horizontalDir, int verticalDir, TRect& newNodeRect);
int distanceFunction(int horizontalDir, int verticalDir, TRect& rect, TPoint& point);
+ WebCore::Node* bestFitFocusableNode(WebCore::Frame* topFrame, TRect& viewRect, int horizontalDir, int verticalDir,
+ TPoint& selectedPoint, TRect& selectedRect );
+ void handleMultiSelect(int horizontalDir, int verticalDir);
+ void resetNavigationIfNeeded(TPoint& contentPos, TSize& contentSize, WebCore::Frame* focusedFrame,
+ int horizontalDir, int verticalDir);
+ TPoint focusPointFromFocusedNode(WebCore::Frame* frame, int horizontalDir, int verticalDir);
+ void calcSearchViewRect(int horizontalDir, int verticalDir, TRect& view);
+ bool shouldConsiderRect(TRect& rect, TRect& searchRect, int horizontalDir, int verticalDir);
private:
TRect m_selectedElementRect;
--- a/webengine/osswebengine/WebKit/s60/misc/WebUtil.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebUtil.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -748,12 +748,12 @@
//scroll only for the list which is either multiple or single but with more than one lines
if (isScrollList) {
RenderListBox* render = static_cast<RenderListBox*>(e->renderer());
- if (render->isScrollable()) {
+
HTMLSelectElement* selectElement = static_cast<HTMLSelectElement*>( e );
IntRect r = e->getRect();
int curIndex = render->listIndexAtOffset(point.x() - r.x(), point.y() - r.y());
int topIndex = render->indexOffset();
- int bottomIndex = topIndex + selectElement->size() - 1;
+ int bottomIndex = topIndex + render->getSize() - 1;
TPoint curPointInSelectBox(point.x() - r.x(), point.y() - r.y());
IntRect itemRect = render->itemRect(0, 0, curIndex);
int centerOfRect = itemRect.y() + (itemRect.height() * 1) / 4;
@@ -785,7 +785,7 @@
ret = true;
}
}
- }//isScrollable()
+
}//isScrollList
} //isControl
} //focusedElementType()
--- a/webengine/osswebengine/WebKit/s60/misc/WebUtil.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/misc/WebUtil.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#define __WEBUTIL_H__
#include <e32std.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
class WebFrame;
class WebView;
--- a/webengine/osswebengine/WebKit/s60/plugins/EcomBrowserPluginInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/EcomBrowserPluginInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
#include <ecom/ecom.h>
#include <npupp.h>
-#include <BrowserPluginInterface.h>
+#include <browserplugininterface.h>
typedef struct
{
--- a/webengine/osswebengine/WebKit/s60/plugins/NpnImplementation.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/NpnImplementation.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include "NpnImplementation.h"
#include "PluginWin.h"
#include "PluginSkin.h"
-#include <CUserAgent.h>
+#include <cuseragent.h>
#include <Element.h>
#include <HTMLPlugInElement.h>
#include <HTMLNames.h>
@@ -369,7 +369,7 @@
case NPNVisOfflineBool: // Tells whether offline mode is enabled;
// true=offline mode enabled, false=not enabled
- case NPNNetworkAccess:
+ case NPNNetworkAccess: {
PluginWin* pluginWin = (PluginWin*)aInstance->ndata;
TInt apId = -1;
if (pluginWin) {
@@ -377,7 +377,7 @@
}
*((TInt*) aRetValue) = apId;
break;
-
+ }
case NPNVGenericParameter: {
PluginWin* pluginWin = (PluginWin*)aInstance->ndata;
if (pluginWin) {
@@ -481,8 +481,20 @@
{
PluginWin* pluginWin = (PluginWin*)aInstance->ndata;
if (pluginWin) {
- TPoint* cursorPos = static_cast<TPoint*>(aSetValue);
- pluginWin->pluginDeactivate(*cursorPos);
+ TPoint* cursorPos;
+
+ //EPMR-7XPHXV aSetValue is set as "(void*) 1" from
+ //"CBrowserPluginControl::GoNormalScreenL" from the flash plugin
+ //to avoid the Invalid pointer access, we are checking for
+ //aSetValue and setting point as (0,0) and also for NULL Value
+ if((aSetValue == (void*)1) || (!aSetValue)) {
+ TPoint position(0,0);
+ cursorPos = static_cast<TPoint*>(&position);
+ }
+ else {
+ cursorPos = static_cast<TPoint*>(aSetValue);
+ }
+ pluginWin->pluginDeactivate(*cursorPos);
}
}
break;
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include <badesca.h>
#include <wtf/HashSet.h>
#include <ECom/ImplementationInformation.h> // ecom
-#include "EcomBrowserPluginInterface.h"
+#include "Ecombrowserplugininterface.h"
#include "WebCorePluginHandler.h"
// FORWARD DECLARATIONS
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginSkin.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginSkin.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include "../../bidi.h"
#include "PlatformString.h"
#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include "PluginSkin.h"
#include "PluginWin.h"
#include "PluginHandler.h"
@@ -33,7 +33,7 @@
#include "BrCtl.h"
#include "WebCoreGraphicsContext.h"
#include "StaticObjectsContainer.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "SettingsContainer.h"
#include <Uri8.h>
#include <StringLoader.h>
@@ -47,12 +47,10 @@
#include <ApEngineConsts.h>
#include <Uri8.h>
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include <es_enum.h>
-#include <TextEncoding.h>
-#include "CString.h"
#include "WidgetExtension.h"
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
// CONSTANTS
using namespace WebCore;
@@ -100,10 +98,13 @@
// return an absolute url that results from refUrl being resolved against
// baseUrl.
// ----------------------------------------------------------------------------
-HBufC8* makeAbsoluteUrlL(const TDesC8& baseUrl, const TDesC8& refUrl)
+HBufC8* makeAbsoluteUrlL(const TDesC8* baseUrl,const TDesC8* docUrl, const TDesC8& refUrl)
{
TUriParser8 baseUrlparser;
- baseUrlparser.Parse(baseUrl);
+ if(baseUrl == NULL)
+ baseUrlparser.Parse(*docUrl);
+ else
+ baseUrlparser.Parse(*baseUrl);
TUriParser8 refUrlparser;
refUrlparser.Parse(refUrl);
@@ -474,7 +475,7 @@
{
positionChanged();
// Force the control to be redrawn.
- m_pluginwin->refreshPlugin(*gc);
+ m_pluginwin->refreshPlugin(*gc,newRect);
}
}
@@ -804,7 +805,7 @@
if (url.Ptr() == NULL ) {
return KErrArgument;
}
-
+ _LIT8(KSwfExtn, ".swf");
_LIT8(KJs, "javascript:");
if ((url.Length() > KJs().Length() ) &&(url.Left(KJs().Length()).FindF(KJs) == 0)) {
HBufC* pBuffer = HBufC::NewL(url.Length());
@@ -821,24 +822,18 @@
}
// make sure it is an absolute URL
- HBufC8* absoluteUrl = makeAbsoluteUrlL(*m_url, url);
+ HBufC8* docUrl = HBufC8::NewLC(core(m_frame)->document()->baseURI().length());
+ docUrl->Des().Copy(core(m_frame)->document()->baseURI());
+ HBufC8* absoluteUrl = makeAbsoluteUrlL(m_url, docUrl, url);
CleanupStack::PushL(absoluteUrl);
- if (loadmode == ELoadModePlugin ) {
+ if( (loadmode == ELoadModePlugin ) || (url.FindF(KSwfExtn)!= KErrNotFound) ){
if (m_instance && m_pluginfuncs) {
- NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(url, this, core(m_frame), notifydata);
+ NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(url, this, core(m_frame), notifydata, notify);
if (pluginloader) {
- pluginloader->start();
-
- if ( notify ) {
- HBufC* url16 = HBufC::NewLC( url.Length() );
- url16->Des().Copy( url );
- m_pluginfuncs->urlnotify( m_instance, *url16, NPRES_DONE, notifydata );
- CleanupStack::PopAndDestroy(url16);
- }
-
+ pluginloader->start();
}
}
}
@@ -849,7 +844,7 @@
CleanupStack::PopAndDestroy(windowType);
}
- CleanupStack::PopAndDestroy(absoluteUrl);
+ CleanupStack::PopAndDestroy(2);
return KErrNone;
}
@@ -857,7 +852,9 @@
int PluginSkin::postRequestL(const TDesC8& url,const TDesC& buffer, bool fromfile, bool notify, void* notifydata,const TDesC* aWindowType)
{
// make sure it is an absolute URL
- HBufC8* absoluteUrl = makeAbsoluteUrlL(*m_url, url);
+ HBufC8* docUrl = HBufC8::NewLC(core(m_frame)->document()->baseURI().length());
+ docUrl->Des().Copy(core(m_frame)->document()->baseURI());
+ HBufC8* absoluteUrl = makeAbsoluteUrlL(m_url, docUrl, url);
CleanupStack::PushL(absoluteUrl);
TPluginLoadMode loadmode = GetLoadMode(aWindowType);
@@ -907,11 +904,9 @@
int start_content = buffer.Find(KRequestEOH());
start_content = (start_content != KErrNotFound) ? start_content+ KRequestEOH().Length() : 0;
- HBufC* body = HBufC::NewLC(buffer.Mid(start_content).Length()+1);
- body->Des().Copy(buffer.Mid(start_content));
- TextEncoding *ecoder = new TextEncoding(core(mainFrame(m_frame))->loader()->encoding());
- CString decoded_body = ecoder->encode(body->Des().PtrZ(),body->Length());
- FormData* fd = new (ELeave) FormData(decoded_body.data(),decoded_body.length());
+ HBufC8* body = HBufC8::NewLC(buffer.Mid(start_content).Length());
+ body->Des().Copy(buffer.Mid(start_content));
+ FormData* fd = new (ELeave) FormData(body->Ptr(),body->Length());
request.setHTTPBody(fd);
CleanupStack::PopAndDestroy(); // body
}
@@ -920,17 +915,9 @@
if (loadmode == ELoadModePlugin ) {
if (m_instance && m_pluginfuncs) {
- NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(request, this, core(m_frame), notifydata);
+ NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(request, this, core(m_frame), notifydata, notify);
if (pluginloader) {
- pluginloader->start();
-
- if ( notify ) {
- HBufC* url16 = HBufC::NewLC( url.Length() );
- url16->Des().Copy( url );
- m_pluginfuncs->urlnotify( m_instance, *url16, NPRES_DONE, notifydata );
- CleanupStack::PopAndDestroy(url16);
- }
-
+ pluginloader->start();
}
}
}
@@ -942,7 +929,7 @@
}
- CleanupStack::PopAndDestroy(absoluteUrl);
+ CleanupStack::PopAndDestroy(2);
return KErrNone;
}
@@ -1004,6 +991,25 @@
return (void *)0;
}
+TBool validateDataScheme(const TPtrC8& url)
+{
+ // Check if body part of "data:" exists = data:[<mediatype>][;base64],<body>. RFC-2397 : http://www.faqs.org/rfcs/rfc2397
+ TPtrC8 urlPtr8 = url;
+
+ if(url.Length() <= 0 )
+ return EFalse;
+
+ TInt commaPos( urlPtr8.Locate( ',' ) );
+ if (commaPos == KErrNotFound )
+ return EFalse;
+
+ TPtrC8 datapart (urlPtr8.Mid(commaPos + 1));
+ if (datapart.Length() <= 0)
+ return EFalse;
+
+ return ETrue;
+}
+
TBool PluginSkin::isBrowserScheme(const TPtrC8& url)
{
TBool supported(EFalse);
@@ -1011,9 +1017,13 @@
if( parser.Parse( url ) == KErrNone ) {
TPtrC8 scheme = parser.Extract( EUriScheme );
if (scheme.CompareF( _L8("http" ) ) == 0 || scheme.CompareF( _L8("https" ) ) == 0
- || scheme.Length() == 1 || scheme.CompareF( _L8("file") ) == 0 || scheme.CompareF( _L8("data") ) == 0) {
+ || scheme.Length() == 1 || scheme.CompareF( _L8("file") ) == 0) {
supported = ETrue;
}
+ else if(scheme.CompareF( _L8("data") ) == 0) {
+ // if the scheme is "data", check its validity according to RFC-2397 : http://www.faqs.org/rfcs/rfc2397
+ supported = validateDataScheme(url);
+ }
}
return supported;
}
@@ -1050,8 +1060,9 @@
frameRectInViewCoord.Intersects(viewRect);
if (m_pluginwin) {
- m_pluginwin->makeVisible( isFrameVisible && !isPageViewMode && isPluginVisible);
- if (!m_pluginwin->isPluginInFullscreen()) {
+ TBool visibility = isFrameVisible && !isPageViewMode && isPluginVisible;
+ m_pluginwin->makeVisible(visibility);
+ if (!m_pluginwin->isPluginInFullscreen() && visibility) {
clipRect.Intersection(fullRect);
m_pluginwin->SetRect(clipRect);
}
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginSkin.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginSkin.h Mon Mar 29 12:27:15 2010 +0100
@@ -31,7 +31,7 @@
#include "WebFrame.h"
#include "WebFrameView.h"
#include "WebView.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
//#include <Element.h>
// FORWARD DECLARATIONS
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginStream.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginStream.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -203,7 +203,7 @@
}
-void PluginStream::destroyStream(int reason)
+void PluginStream::destroyStream(int reason, TDesC* failedUrl)
{
if (m_streamDestroyed) return;
m_streamDestroyed = true;
@@ -235,8 +235,17 @@
}
- if ( m_pluginskin->getNPPluginFucs() && m_pluginskin->getNPPluginFucs()->destroystream ) {
- m_pluginskin->getNPPluginFucs()->destroystream( m_pluginskin->getNPP(), m_stream, npreason);
+ if ( m_pluginskin->getNPPluginFucs() ) {
+
+ if (m_stream && m_pluginskin->getNPPluginFucs()->destroystream){
+ m_pluginskin->getNPPluginFucs()->destroystream( m_pluginskin->getNPP(), m_stream, npreason);
+ if (m_loaderclient->notify() && m_pluginskin->getNPPluginFucs()->urlnotify)
+ m_pluginskin->getNPPluginFucs()->urlnotify( m_pluginskin->getNPP(), m_stream->url->Des(), npreason, m_notifydata);
+ }
+
+ if(!m_stream && m_loaderclient->notify() && failedUrl && m_pluginskin->getNPPluginFucs()->urlnotify){
+ m_pluginskin->getNPPluginFucs()->urlnotify( m_pluginskin->getNPP(), *failedUrl, npreason, m_notifydata);
+ }
}
if (reason == KErrNone) {
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginStream.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginStream.h Mon Mar 29 12:27:15 2010 +0100
@@ -39,7 +39,7 @@
public:
void createNPStreamL(TPtrC8 url, TPtrC16 mimetype, long long length);
void writeStreamL(const char* data, int length);
- void destroyStream(int reason);
+ void destroyStream(int reason, TDesC* failedUrl=NULL);
void close();
private:
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginStreamLoaderClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginStreamLoaderClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -36,33 +36,36 @@
using namespace WebCore;
-NetscapePlugInStreamLoaderClient* NetscapePlugInStreamLoaderClient::NewL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata)
+NetscapePlugInStreamLoaderClient* NetscapePlugInStreamLoaderClient::NewL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata, TBool notify/*=EFalse*/)
{
NetscapePlugInStreamLoaderClient* self = new (ELeave) NetscapePlugInStreamLoaderClient();
CleanupStack::PushL( self );
- self->ConstructL( url, pluginskin, frame, notifydata );
+ self->ConstructL( url, pluginskin, frame, notifydata, notify );
CleanupStack::Pop();
return self;
}
-NetscapePlugInStreamLoaderClient* NetscapePlugInStreamLoaderClient::NewL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata)
+NetscapePlugInStreamLoaderClient* NetscapePlugInStreamLoaderClient::NewL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata, TBool notify/*=EFalse*/)
{
NetscapePlugInStreamLoaderClient* self = new (ELeave) NetscapePlugInStreamLoaderClient();
CleanupStack::PushL( self );
- self->ConstructL( request, pluginskin, frame, notifydata );
+ self->ConstructL( request, pluginskin, frame, notifydata, notify );
CleanupStack::Pop();
return self;
}
-void NetscapePlugInStreamLoaderClient::ConstructL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata)
+void NetscapePlugInStreamLoaderClient::ConstructL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata, TBool notify/*=EFalse*/)
{
m_loader = 0;
m_request = 0;
m_pluginstream = 0;
+ m_pluginskin = pluginskin;
+ m_notifydata = notifydata;
m_frame = frame;
+ m_notify = notify;
m_pluginstream = new (ELeave) PluginStream(pluginskin, this, notifydata);
m_request = new (ELeave) ResourceRequest(m_frame->loader()->completeURL(url));
@@ -78,13 +81,16 @@
m_loader->setShouldBufferData(false);
}
-void NetscapePlugInStreamLoaderClient::ConstructL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata)
+void NetscapePlugInStreamLoaderClient::ConstructL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata, TBool notify/*=EFalse*/)
{
m_loader = 0;
m_request = 0;
m_pluginstream = 0;
+ m_pluginskin = pluginskin;
+ m_notifydata = notifydata;
m_frame = frame;
+ m_notify = notify;
m_pluginstream = new (ELeave) PluginStream(pluginskin, this, notifydata);
m_request = new (ELeave) ResourceRequest(request.url());
@@ -124,6 +130,8 @@
delete m_request;
delete m_pluginstream;
+ m_pluginskin = NULL;
+ m_notifydata = NULL;
}
@@ -147,9 +155,10 @@
void NetscapePlugInStreamLoaderClient::cancelWithError(const ResourceError& error)
{
- if (m_loader && !m_loader->isDone())
- m_loader->cancel(error);
+ if (m_loader && !m_loader->isDone()){
+ m_loader->cancel(error);
}
+}
void NetscapePlugInStreamLoaderClient::didReceiveResponse(const ResourceResponse& response)
{
@@ -191,14 +200,22 @@
void NetscapePlugInStreamLoaderClient::didFail(const ResourceError& error)
{
if (m_pluginstream) {
- m_pluginstream->destroyStream(error.errorCode() ? error.errorCode() : KErrCancel);
+ int err = error.errorCode() ? error.errorCode() : KErrCancel;
+ HBufC* failedURL = HBufC::NewLC(error.failingURL().length());
+ failedURL->Des().Copy(error.failingURL());
+ m_pluginstream->destroyStream(err, failedURL);
+ CleanupStack::PopAndDestroy(failedURL);
}
}
void NetscapePlugInStreamLoaderClient::didCancel(const ResourceError& error)
{
if (m_pluginstream) {
- m_pluginstream->destroyStream(error.errorCode() ? error.errorCode() : KErrCancel);
+ int err = error.errorCode() ? error.errorCode() : KErrCancel;
+ HBufC* failedURL = HBufC::NewLC(error.failingURL().length());
+ failedURL->Des().Copy(error.failingURL());
+ m_pluginstream->destroyStream(err, failedURL);
+ CleanupStack::PopAndDestroy(failedURL);
}
}
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginStreamLoaderClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginStreamLoaderClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -51,8 +51,8 @@
{
public:
- static NetscapePlugInStreamLoaderClient* NewL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata = 0);
- static NetscapePlugInStreamLoaderClient* NewL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata=0);
+ static NetscapePlugInStreamLoaderClient* NewL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata = 0, TBool notify = EFalse);
+ static NetscapePlugInStreamLoaderClient* NewL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata=0, TBool notify = EFalse);
virtual ~NetscapePlugInStreamLoaderClient();
void start();
@@ -65,10 +65,11 @@
void didFinishLoading();
void didFail(const ResourceError& error);
void didCancel(const ResourceError& error);
+ TBool notify() { return m_notify; }
private:
- void ConstructL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata = 0);
- void ConstructL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata=0);
+ void ConstructL(const String& url, PluginSkin* pluginskin, Frame* frame, void* notifydata = 0, TBool notify = EFalse);
+ void ConstructL(const ResourceRequest& request, PluginSkin* pluginskin, Frame* frame, void* notifydata=0, TBool notify = EFalse);
NetscapePlugInStreamLoaderClient();
@@ -77,7 +78,10 @@
PluginStream* m_pluginstream;
ResourceRequest* m_request;
NetscapePlugInStreamLoader* m_loader;
+ PluginSkin* m_pluginskin; // not owned
+ void* m_notifydata; // not owned
int m_error;
+ TBool m_notify;
};
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginWin.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginWin.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,9 +28,9 @@
#include "WebFrame.h"
#include "HttpDefs.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "StaticObjectsContainer.h"
-#include <PluginAdapterInterface.h>
+#include <pluginadapterinterface.h>
#include "PluginWin.h"
#include "PluginSkin.h"
#include "PluginHandler.h"
@@ -45,8 +45,11 @@
#include "WebPageScrollHandler.h"
#include "WebKitLogger.h"
+#include <rt_gestureif.h>
+
using namespace WebCore;
using namespace RT_GestureHelper;
+using namespace stmGesture;
// CONSTANTS
const TInt KPluginGranularity = 3;
_LIT(KPath,"c:\\system\\temp\\");
@@ -272,12 +275,16 @@
ret = m_control->OfferKeyEventL( aKeyEvent, aType );
}
else if (!m_windowedPlugin && m_pluginskin->getNPPluginFucs() && m_pluginskin->getNPPluginFucs()->event) {
+ WebCursor* c = StaticObjectsContainer::instance()->webCursor();
+ TPoint pt = (c->position());
+ pt = m_pluginskin->frame()->frameView()->viewCoordsInFrameCoords(pt);
+ pt -= m_pluginskin->rect().iTl;
NPEvent event;
NPEventKey eventKey;
event.event = ENppEventKey;
eventKey.keyEvent = &aKeyEvent;
eventKey.type = aType;
- eventKey.reserved = NULL;
+ eventKey.reserved = static_cast<void*>(&pt);
event.param = &eventKey;
ret = (TKeyResponse)m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(), static_cast<void*>(&event));
}
@@ -341,7 +348,7 @@
// Refresh the plugin. - Called by PluginSkin
// -----------------------------------------------------------------------------
//
-TInt PluginWin::refreshPlugin(CFbsBitGc& bitmapContext)
+TInt PluginWin::refreshPlugin(CFbsBitGc& bitmapContext,TRect aRect)
{
if (m_control && IsVisible() && m_control->DrawableWindow())
m_control->DrawNow();
@@ -352,12 +359,7 @@
if (m_pluginskin->getNPPluginFucs() && m_pluginskin->getNPPluginFucs()->event) {
m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(), static_cast<void*>(&event));
}
- WebFrameView* fv = m_pluginskin->frame()->frameView();
- TRect rect(Rect());
- rect = TRect(fv->viewCoordsInFrameCoords(Rect().iTl), fv->viewCoordsInFrameCoords(Rect().iBr));
- rect = fv->toViewCoords(rect);
- rect.SetSize(m_bitmap->SizeInPixels()); // toViewCoords sometimes grows the rect by 1, which wil cause the bitmap to not draw
- bitmapContext.DrawBitmap(rect, m_bitmap, rect.Size());
+ bitmapContext.DrawBitmap(aRect, m_bitmap);
}
return KErrNone;
}
@@ -717,24 +719,74 @@
{
CBrCtl* brCtl = control(m_pluginskin->frame());
WebView* view = brCtl->webView();
- TPointerEvent event(aEvent);
-
- if (!StaticObjectsContainer::instance()->isPluginFullscreen()) {
- event.iPosition = aEvent.iPosition - view->PositionRelativeToScreen();
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ if (aEvent.IsAdvancedPointerEvent()) {
+ TAdvancedPointerEvent tadvp = *(static_cast<const TAdvancedPointerEvent *>(&aEvent));
+ if (!StaticObjectsContainer::instance()->isPluginFullscreen()) {
+ tadvp.iPosition = aEvent.iPosition - view->PositionRelativeToScreen();
+ }
+ view->pointerEventHandler()->HandlePointerEventL(tadvp);
}
- view->pointerEventHandler()->HandlePointerEventL(event);
+ else {
+#endif
+ TPointerEvent event(aEvent);
+ if (!StaticObjectsContainer::instance()->isPluginFullscreen()) {
+ event.iPosition = aEvent.iPosition - view->PositionRelativeToScreen();
+ }
+ view->pointerEventHandler()->HandlePointerEventL(event);
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ }
+#endif
}
-TBool PluginWin::HandleGesture(const TGestureEvent& aEvent)
+TBool PluginWin::HandleGesture(const TStmGestureEvent& aEvent)
{
TBool ret = EFalse;
+
+ TGestureEvent eventForPlugin;
+ switch(aEvent.Code())
+ {
+ case EGestureUidUnknown :
+ eventForPlugin.SetCode(EGestureUnknown);
+ break;
+ case EGestureUidTouch :
+ eventForPlugin.SetCode(EGestureStart);
+ break;
+ case EGestureUidTap :
+ if(aEvent.Type() == ETapTypeSingle)
+ eventForPlugin.SetCode(EGestureTap);
+ else
+ eventForPlugin.SetCode(EGestureDoubleTap);
+ break;
+ case EGestureUidLongPress :
+ eventForPlugin.SetCode(EGestureLongTap);
+ break;
+ case EGestureUidPan :
+ eventForPlugin.SetCode(EGestureDrag);
+ break;
+ case EGestureUidRelease :
+ eventForPlugin.SetCode(EGestureReleased);
+ break;
+ case EGestureUidFlick :
+ eventForPlugin.SetCode(EGestureFlick);
+ break;
+ case EGestureUidPinch :
+ eventForPlugin.SetCode(EGesturePinch);
+ break;
+ default :
+ break;
+
+ }
+
+
+
if (m_control) {
- TGestureEvent gestEvent(aEvent);
CBrCtl* brCtl = control(m_pluginskin->frame());
WebView* view = brCtl->webView();
TPoint newPos = aEvent.CurrentPos();
- TPoint startPos = aEvent.StartPos();
+ // Not sure plugins need the start position of the gesture. Not inlcuded in the new struct
+ TPoint startPos = aEvent.CurrentPos();
TPoint viewPos = view->PositionRelativeToScreen();
TPoint ctrlPos = m_control->PositionRelativeToScreen();
@@ -742,22 +794,52 @@
// adjust the position to make it relative to top left corner of
newPos += viewPos;
startPos += viewPos;
- gestEvent.SetCurrentPos(newPos);
- gestEvent.SetStartPos(startPos);
}
-
- if (StaticObjectsContainer::instance()->isPluginFullscreen() ||
+ eventForPlugin.SetCurrentPos(newPos);
+ eventForPlugin.SetStartPos(startPos);
+ if (StaticObjectsContainer::instance()->isPluginFullscreen() ||
m_control->Rect().Contains(newPos - ctrlPos)) {
NPEvent event;
NPEventPointer ev;
event.event = ENppEventPointer;
- ev.reserved = &gestEvent;
+ ev.reserved = &eventForPlugin;
ev.pointerEvent = NULL;
event.param = &ev;
ret = m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(),
static_cast<void*>(&event));
+
+ if (eventForPlugin.Code(EAxisBoth) == EGestureTap) {
+ eventForPlugin.SetCode(EGestureReleased);
+ ret = m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(),
+ static_cast<void*>(&event));
+
+ }
}
}
+ else if(!m_windowedPlugin && m_pluginskin->getNPPluginFucs() && m_pluginskin->getNPPluginFucs()->event){
+ TRect cliprect = m_pluginskin->getClipRect();
+ TPoint newPos = aEvent.CurrentPos();
+ eventForPlugin.SetCurrentPos(newPos);
+ eventForPlugin.SetCurrentPos(newPos);
+
+ if(cliprect.Contains(newPos)){
+ NPEvent event;
+ NPEventPointer ev;
+ event.event = ENppEventPointer;
+ ev.reserved = &eventForPlugin;
+ ev.pointerEvent = NULL;
+ event.param = &ev;
+ ret = m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(),
+ static_cast<void*>(&event));
+
+ if (eventForPlugin.Code(EAxisBoth) == EGestureTap) {
+ eventForPlugin.SetCode(EGestureReleased);
+ ret = m_pluginskin->getNPPluginFucs()->event(m_pluginskin->getNPP(),
+ static_cast<void*>(&event));
+
+ }
+ }
+ }
return ret;
}
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginWin.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginWin.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,9 +23,10 @@
// INCLUDES
#include <e32def.h>
#include <coecntrl.h>
-#include <PluginAdapterInterface.h>
+#include <pluginadapterinterface.h>
#include <npapi.h>
#include <rt_gesturehelper.h>
+#include <stmgestureinterface.h>
// FORWARD DECLARATIONS
class PluginSkin;
@@ -104,7 +105,7 @@
* @since 3.1
* @return The error code from the plugin
*/
- TInt refreshPlugin(CFbsBitGc& bitmapContext);
+ TInt refreshPlugin(CFbsBitGc& bitmapContext,TRect aRect);
/**
@@ -478,7 +479,7 @@
void ToggleScreenMode(bool aFullScreen);
void PlayPausePluginL ();
void HandlePointerEventFromPluginL(const TPointerEvent& aEvent);
- TBool HandleGesture(const RT_GestureHelper::TGestureEvent& aEvent);
+ TBool HandleGesture(const TStmGestureEvent& aEvent);
TBool Windowed() { return m_windowedPlugin;}
protected: // New functions
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebChromeClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebChromeClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -35,7 +35,7 @@
#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
const TInt KMaxJavaLogMsgLen = 500;
const TInt KMaxJavaLogMsgPaddingLen = 0x200; // for paddings in JS log message such as: log type and labels.
@@ -357,3 +357,14 @@
m_webView->focusedElementChanged(element);
}
+void WebChromeClient::setElementVisibilityChanged(bool visibility) {
+ m_visibility = visibility;
+ m_visibilityByMouse = m_visibility && m_webView->isMouseEventFired();
+ m_visibilityByKey = m_visibility && m_webView->isKeyEventFired();
+}
+
+
+void WebChromeClient::wait(double t)
+{
+ m_webView->wait(t);
+}
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebChromeClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebChromeClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -99,15 +99,24 @@
virtual void setToolTip(const WebCore::String&) {}
virtual void print(WebCore::Frame*) {}
- void setElementVisibilityChanged(bool visibility) {
- m_visibility = visibility;
- }
+ void setElementVisibilityChanged(bool visibility);
bool elementVisibilityChanged() {
return m_visibility;
}
+
+ bool elementVisibilityChangedByMouse() {
+ return m_visibilityByMouse;
+ }
+
+ bool elementVisibilityChangedByKey() {
+ return m_visibilityByKey;
+ }
+
virtual void focusedElementChanged(WebCore::Element*);
+ void wait(double t);
+
protected: // new functions
void addMessageToConsoleL(const WebCore::String& aMessage, WebCore::MessageLevel aMessageLevel, unsigned int aLine, const WebCore::String& aSourceURL);
@@ -115,6 +124,10 @@
WebView *m_webView;
void GetDateAndTimeL(TDes& date, TDes& time) const;
bool m_visibility;
+ bool m_visibilityByMouse;
+ bool m_visibilityByKey;
+
+
};
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -384,6 +384,9 @@
frame->selectionController()->end() != endPos) {
event->setDefaultHandled();
}
+ else {
+ m_shouldEndEditing = !m_webView->fepTextEditor()->IsTextAreaFocused();
+ }
break;
case EKeyRightArrow:
@@ -404,6 +407,9 @@
frame->selectionController()->end() != endPos) {
event->setDefaultHandled();
}
+ else {
+ m_shouldEndEditing = !m_webView->fepTextEditor()->IsTextAreaFocused();
+ }
break;
case EKeyUpArrow:
@@ -445,26 +451,6 @@
break;
case EKeyF18:
- if (magnify)
- {
- switch (kevent->symbianEvent().iScanCode)
- {
- case EEikCmdEditCut:
- m_webView->fepTextEditor()->CcpuCutL();
- frame->editor()->deleteWithDirection(SelectionController::BACKWARD,
- CharacterGranularity, false, true);
- m_webView->fepTextEditor()->HandleUpdateCursor();
- break;
- case EEikCmdEditCopy:
- m_webView->fepTextEditor()->CcpuCopyL();
- break;
- case EEikCmdEditPaste:
- m_webView->fepTextEditor()->CcpuPasteL();
- break;
- default:
- break;
- }
- }
break;
// All of the diagonal KeyEvents are allowed to flow through the "default" case...
@@ -520,9 +506,11 @@
//-----------------------------------------------------------------------------
// WebEditorClient::handleInputMethodKeypress
//-----------------------------------------------------------------------------
-void WebEditorClient::handleInputMethodKeypress(KeyboardEvent*)
+void WebEditorClient::handleInputMethodKeypress(KeyboardEvent* event)
{
- notImplemented();
+ const PlatformKeyboardEvent* kevent = event->keyEvent();
+ if(kevent->isKeyDown())
+ handleKeypress(event);
}
//-----------------------------------------------------------------------------
@@ -557,8 +545,12 @@
//-----------------------------------------------------------------------------
bool WebEditorClient::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
{
- notImplemented();
- return false;
+ /*
+ * Check here from WAP css property. Returning true will cause
+ * HTMLInputElement::defaultEventHandler(Event* evt) stop handling
+ * keyboard event end set it as default handled.
+ */
+ return !m_webView->fepTextEditor()->validateTextFormat();
}
//-----------------------------------------------------------------------------
@@ -685,3 +677,12 @@
}
}
+void WebEditorClient::preFocusChange(Node* oldNode, Node* newNode)
+ {
+ TBool contentEditable = m_webView->page()->focusController()->focusedOrMainFrame()->selectionController()->isContentEditable();
+ if ( oldNode && newNode && contentEditable ) {
+ m_webView->fepTextEditor()->FocusChanging();
+ }
+ }
+
+
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebEditorClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -97,7 +97,8 @@
bool spellingUIIsShowing();
void getGuessesForWord(const WebCore::String&, Vector<WebCore::String>& guesses);
void setInputMethodState(bool enabled);
-
+ void preFocusChange(WebCore::Node* oldNode, WebCore::Node* newNode);
+
private:
void handleInsertText(WebCore::Frame* frame, const WebCore::String& text);
void handleDeleteText(WebCore::Frame* frame);
--- a/webengine/osswebengine/WebKit/s60/webcoresupport/WebFrameLoaderClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webcoresupport/WebFrameLoaderClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "config.h"
#include <../bidi.h>
#include "WebFrameLoaderClient.h"
@@ -44,7 +44,7 @@
#include "WebPolicyManager.h"
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
-#include "BrCtlWindowObserver.h"
+#include <brctlwindowobserver.h>
#include "WmlDispatcher.h"
#include "WebUtil.h"
#include "errordefs.h"
@@ -931,9 +931,10 @@
void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length)
{
if (brctl(m_webFrame)->wmlMode()) {
- TRAP_IGNORE(
- m_WmlContentListener->ResponseL( data, length );
- );
+ if(m_WmlContentListener)
+ TRAP_IGNORE(
+ m_WmlContentListener->ResponseL( data, length );
+ );
return;
}
m_webFrame->bridge()->receivedData(data, length, m_response.textEncodingName());
@@ -1142,8 +1143,9 @@
void WebFrameLoaderClient::frameLoadCompleted()
{
if (brctl(m_webFrame)->wmlMode()) {
+ if (m_WmlContentListener)
TRAP_IGNORE(
- m_WmlContentListener->CompleteL( 0, 0 );
+ m_WmlContentListener->CompleteL( 0, 0 );
);
return;
}
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
// INCLUDE FILES
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include <../bidi.h>
#include <avkon.hrh>
#include <apmrec.h>
@@ -32,9 +32,9 @@
#endif
#include <GULICON.h>
#include <e32uid.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsprovider.h>
//tot:fixme
-//#include <oom.h>
+//#include "oom.h"
#include "config.h"
#include "BrCtl.h"
@@ -68,7 +68,7 @@
#include "WebCursor.h"
#include "WebUtil.h"
#include "WebCharsetData.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "ResourceLoaderDelegate.h"
#include "EventHandler.h"
#include "timer.h"
@@ -86,7 +86,7 @@
#include "HttpUiCallbacks.h"
#include "PluginWin.h"
#include <BrowserVersion.h>
-#include <CUserAgent.h>
+#include <cuseragent.h>
#ifndef BRDO_WML_DISABLED_FF
#include "wmlinterface.h"
@@ -414,6 +414,7 @@
, m_commandIdBase(aCommandIdBase)
, m_capabilities(aBrCtlCapabilities)
, m_suspendTimers(false)
+ , m_pageLoadFinished(false)
, m_wmlEngineInterface(NULL)
, m_brCtlDownloadObserver(aBrCtlDownloadObserver)
, m_windoCloseTimer(NULL)
@@ -495,6 +496,9 @@
}
LoadResourceFileL();
+
+ MemoryManager::InitOOMDialog();
+
// Set the rect for BrowserControl (a CCoeControl).
SetRect(aRect);
CCoeEnv::Static()->DisableExitChecks(true);
@@ -583,6 +587,7 @@
switch (aLoadEvent) {
case TBrCtlDefs::EEventNewContentStart:
+ m_pageLoadFinished = false;
if (m_webView->pageScalerEnabled())
m_webView->pageScaler()->DocumentStarted();
if (m_webView->formFillPopup() && m_webView->formFillPopup()->IsVisible())
@@ -590,9 +595,10 @@
break;
case TBrCtlDefs::EEventContentFinished:
case TBrCtlDefs::EEventUploadFinished:
+ m_pageLoadFinished = true;
if (m_suspendTimers) {
m_suspendTimers = false;
- HandleCommandL(TBrCtlDefs::ECommandAppBackground);
+ setDeferringTimers(true);
}
#ifndef BRDO_WML_DISABLED_FF
if (m_wmlUnloadPending)
@@ -770,10 +776,20 @@
case TBrCtlDefs::ECommandAppBackground:
{
#ifndef PERF_REGRESSION_LOG
- if (m_webView->isLoading())
- m_suspendTimers = true;
- else if (!isDeferringTimers())
- setDeferringTimers(true);
+ if(m_webView->widgetExtension())
+ {
+ if(m_pageLoadFinished)
+ setDeferringTimers(true);
+ else
+ m_suspendTimers = true;
+ }
+ else
+ {
+ if (m_webView->isLoading())
+ m_suspendTimers = true;
+ else if (!isDeferringTimers())
+ setDeferringTimers(true);
+ }
#endif
//Disable the zooming bar when it goes to background
@@ -2451,9 +2467,3 @@
-void CBrCtl::HandlePointerBufferReadyL()
-{
- m_webView->HandlePointerBufferReadyL();
-}
-
-
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtl.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,9 +21,8 @@
#define BRCTL_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
-#include "BrCtlDefs.h"
#include "HistoryInterface.h"
#include "WmlInterface.h"
@@ -590,7 +589,6 @@
/**
* From CCoeControl
*/
- void HandlePointerBufferReadyL();
MBrCtlSpecialLoadObserver* brCtlSpecialLoadObserver() const { return m_brCtlSpecialLoadObserver; }
MBrCtlDownloadObserver* brCtlDownloadObserver();
MBrCtlLinkResolver* brCtlLinkResolver() const { return m_brCtlLinkResolver; }
@@ -705,6 +703,7 @@
CPeriodic* m_timer;
bool m_wmlMode;
bool m_suspendTimers;
+ bool m_pageLoadFinished;
MWmlEngineInterface* m_wmlEngineInterface;
RLibrary m_Library;
MWmlInterface* m_WmlInterface;
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlDataLoadInfo.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlDataLoadInfo.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#define BRCTLDATALOADINFO_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
// CONSTANTS
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlDialogsProviderUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlDialogsProviderUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,11 @@
*
*/
-
-
// INCLUDES
#include <e32std.h>
#include <e32base.h>
-#include "BrCtlDialogsProvider.h"
-
+#include <brctldialogsprovider.h>
// ----------------------------------------------------------------------------
// CBrCtlObjectInfo class
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlLayoutObserverImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlLayoutObserverImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define BRCTLLAYOUTOBSERVERIMPL_H
// INCLUDES
-#include <BrCtlLayoutObserver.h>
+#include <brctllayoutobserver.h>
/**
* This observer is notified of scrolling and tabbing events
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlLinkResolver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlLinkResolver.h Mon Mar 29 12:27:15 2010 +0100
@@ -63,12 +63,12 @@
* Usage:
*
* @code
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlLinkResolver.h
+* @file brctllinkresolver.h
* @endcode *
*/
class MBrCtlLinkResolver
@@ -125,12 +125,12 @@
* Usage:
*
* @code
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
*
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
-* @file BrCtlLinkResolver.h
+* @file brctllinkresolver.h
* @endcode *
*/
class MBrCtlLinkContent
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlSoftkeysObserverImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlSoftkeysObserverImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,27 +1,51 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : BrCtlBrCtlSoftkeysObserverImpl.h
+* Part of : WebKit \ BrowserControl
+* Interface : Browser Control API
+* Description : Handle softkeys updates
+* Version : %Version%
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handle softkeys updates
-*
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
+*
+* Please see file patentlicense.txt for further grants.
+* ==============================================================================
*/
-
#ifndef CRCTLSOFTKEYSOBSERVERIMPL_H
#define CRCTLSOFTKEYSOBSERVERIMPL_H
// INCLUDES
-#include <BrCtlSoftkeysObserver.h>
+#include <brctlsoftkeysobserver.h>
/**
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlSpecialLoadObserverImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlSpecialLoadObserverImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,27 +1,51 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : BrCtlSpecialLoadObserverImpl.h
+* Part of : WebKit \ BrowserControl
+* Interface : Browser Control API
+* Description : Handle special load events such as network connection, deal with non-http or non-html requests
+* Version : %Version%
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handle special load events such as network connection, deal with non-http or non-html requests
-*
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
+*
+* Please see file patentlicense.txt for further grants.
+* ==============================================================================
*/
-
#ifndef BRCTLSPECIALLOADOBSERVERIMPL_H
#define BRCTLSPECIALLOADOBSERVERIMPL_H
// INCLUDES
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
/**
* This observer handles special load events such as network connection, deal with non-http(s) or non-html requests
--- a/webengine/osswebengine/WebKit/s60/webview/BrCtlWindowObserverImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/BrCtlWindowObserverImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,27 +1,51 @@
/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ==============================================================================
+* Name : BrCtlWinowObserverImpl.h
+* Part of : WebKit \ BrowserControl
+* Interface : Browser Control API
+* Description : Handle special load events such as network connection, deal with non-http or non-html requests
+* Version : %Version%
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handle special load events such as network connection, deal with non-http or non-html requests
-*
+* Copyright (c) 2006, Nokia Corporation
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in
+* the documentation and/or other materials provided with the
+* distribution.
+* * Neither the name of the Nokia Corporation nor the names of its
+* contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+* DAMAGE.
+*
+* Please see file patentlicense.txt for further grants.
+* ==============================================================================
*/
-
#ifndef BRCTLWINDOWOBSERVERIMPL_H
#define BRCTLWINDOWOBSERVERIMPL_H
// INCLUDES
-#include <BrCtlWindowObserver.h>
+#include <brctlwindowobserver.h>
/**
--- a/webengine/osswebengine/WebKit/s60/webview/HistoryInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/HistoryInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
// CONSTANTS
--- a/webengine/osswebengine/WebKit/s60/webview/PageView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/PageView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,6 +18,7 @@
// INCLUDE FILES
+#include <browser_platform_variant.hrh>
#include <../bidi.h>
#include "PageView.h"
#include <coemain.h>
@@ -88,8 +89,15 @@
// Destructor
CPageView::~CPageView()
{
- m_webView->pageScaler()->SetVisible(EFalse);
- m_webView->pageScaler()->SetFullScreenMode(EFalse);
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ if (m_webView && m_webView->pageScaler())
+ {
+#endif
+ m_webView->pageScaler()->SetVisible(EFalse);
+ m_webView->pageScaler()->SetFullScreenMode(EFalse);
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ }
+#endif
}
--- a/webengine/osswebengine/WebKit/s60/webview/SettingsContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/SettingsContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <../bidi.h>
#include "SettingsContainer.h"
#include "WebView.h"
@@ -31,7 +30,7 @@
#include "StaticObjectsContainer.h"
#include "ResourceLoaderDelegate.h"
#include "HistoryInterface.h"
-#include "brctldefs.h"
+#include <brctldefs.h>
#include "WebDocumentLoader.h"
#include "Frame.h"
#include "FrameLoader.h"
@@ -82,6 +81,8 @@
brctlSettings[TBrCtlDefs::ESettingsToolbarButton7Cmd] = 13;
brctlSettings[TBrCtlDefs::ESettingsScriptLog] = 0;
brctlSettings[TBrCtlDefs::ESettingsCursorShowMode] = 1;
+ brctlSettings[TBrCtlDefs::ESettingsEnterKeyMode] = TBrCtlDefs::EEnterKeyCanActivateLink;
+
updatePageSetting(TBrCtlDefs::ESettingsAutoLoadImages);
updatePageSetting(TBrCtlDefs::ESettingsFontSize);
@@ -141,7 +142,10 @@
break;
case TBrCtlDefs::ESettingsCurrentZoomLevelIndex:
m_webView->setZoomLevel(brctlSettings[setting]);
- break;
+ break;
+ case TBrCtlDefs::ESettingsAutoRefresh:
+ brctlSetting(TBrCtlDefs::ESettingsAutoRefresh);
+ break;
}
}
@@ -249,6 +253,7 @@
case TBrCtlDefs::ESettingsZoomLevelMax:
case TBrCtlDefs::ESettingsCursorShowMode:
case TBrCtlDefs::ESettingsZoomLevelDefault:
+ case TBrCtlDefs::ESettingsEnterKeyMode:
{
retVal = brctlSettings[setting];
break;
--- a/webengine/osswebengine/WebKit/s60/webview/SettingsContainer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/SettingsContainer.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define __SETTINGSCONTAINER_H__
#include <e32base.h>
-#include "brctldefs.h"
+#include <brctldefs.h>
class WebView;
class HistoryControllerInterface;
--- a/webengine/osswebengine/WebKit/s60/webview/WebCursor.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebCursor.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -202,7 +202,7 @@
{
m_type = type;
- if (m_visible && (m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeCursor)) {
+ if (m_visible) {
CFbsBitmap* img = NULL;
CFbsBitmap* msk = NULL;
switch( type )
@@ -264,19 +264,22 @@
{
if (!m_view || !m_view->brCtl() || !m_view->brCtl()->settings())
return;
+
+ bool tabbedNavigation = (m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed);
+ bool navigationNone = (m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeNone);
+ bool cursorNavigation = (m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeCursor);
+ TBrCtlDefs::TBrCtlElementType elType = m_view->focusedElementType();
//If cursor show mode defined inside cenrep key is no cursor shown in non-tab navigation mode,
//then no need to update the cursor
- if (m_view->brCtl()->settings()->getNavigationType() != SettingsContainer:: NavigationTypeTabbed &&
- (m_view->brCtl()->settings()->brctlSetting(TBrCtlDefs::ESettingsCursorShowMode) == TBrCtlDefs::ENoCursor))
+ if (!tabbedNavigation &&
+ (m_view->brCtl()->settings()->brctlSetting(TBrCtlDefs::ESettingsCursorShowMode) == TBrCtlDefs::ENoCursor))
return;
- if ( m_view->showCursor() ) {
- m_visible = visible && ((m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeCursor)|| m_view->focusedElementType() == TBrCtlDefs::EElementSelectMultiBox); // check for tabbedNavigation here because it is called from so many places.
- }
+
+ m_visible = visible && ((cursorNavigation && m_view->showCursor()) ||
+ (tabbedNavigation && (elType == TBrCtlDefs::EElementSelectMultiBox)));
resetTransparency();
- CursorTypes type = PointerCursor;
- TBrCtlDefs::TBrCtlElementType elType = m_view->focusedElementType();
-
+ CursorTypes type = PointerCursor;
if (m_visible) {
if ( elType == TBrCtlDefs::EElementNone
|| elType == TBrCtlDefs::EElementImageBox
@@ -285,7 +288,7 @@
else if ( elType == TBrCtlDefs::EElementSmartLinkTel
|| elType == TBrCtlDefs::EElementSmartLinkEmail )
type = IBeamCursor;
- else if ( elType == TBrCtlDefs::EElementSelectMultiBox && m_view->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed)
+ else if ( elType == TBrCtlDefs::EElementSelectMultiBox && tabbedNavigation)
type = SelectMultiCursor;
else
type = HandCursor;
@@ -364,9 +367,22 @@
{
setTransparent(false);
m_transtimer->Cancel();
- m_transtimer->Start(microsecs,0,TCallBack(TransparencyTimerCb,this));
+
+ if (m_visible)
+ {
+ m_transtimer->Start(microsecs,0,TCallBack(TransparencyTimerCb,this));
+ }
}
+void WebCursor::stopTransparencyTimer()
+ {
+ if (m_transtimer && m_transtimer->IsActive())
+ {
+ m_transtimer->Cancel();
+ }
+ }
+
+
// -----------------------------------------------------------------------------
// WebCursor::increaseTransparencyMoveCount
// -----------------------------------------------------------------------------
@@ -503,14 +519,20 @@
pfRect = TRect(ppfv->frameCoordsInViewCoords(pfRect.iTl),
ppfv->frameCoordsInViewCoords(pfRect.iBr));
}
-
+ else {
+ pfRect.SetRect(0, 0, pfRect.iBr.iX * z / 100, pfRect.iBr.iY * z / 100);
+ }
+
WebFrameView* fv = frame->frameView();
TRect framerect = fv ->rect();
if (frame->parentFrame()) {// frame is not a main frame
framerect = TRect(pfv->frameCoordsInViewCoords(framerect.iTl),
pfv->frameCoordsInViewCoords(framerect.iBr));
}
-
+ else {
+ framerect.SetRect(0, 0, framerect.iBr.iX * z / 100, framerect.iBr.iY * z / 100);
+ }
+
TRect pfInnerRect = pfRect;
innerRect(pfInnerRect);
TRect fInnerRect = framerect;
@@ -776,6 +798,9 @@
if (m_view && navigableNodeUnderCursor(*frame, point, elType, r)) {
m_view->setFocusedElementType(elType);
}
+ else {
+ m_view->setFocusedElementType(TBrCtlDefs::EElementNone);
+ }
}
// -----------------------------------------------------------------------------
@@ -881,19 +906,19 @@
}
-// -----------------------------------------------------------------------------
-// WebCursor::navigableNodeUnderCursor
-// -----------------------------------------------------------------------------
-bool WebCursor::navigableNodeUnderCursor(WebFrame& webFrame, TPoint& aPoint, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect) const
+bool WebCursor::navigableNodeUnderCursor(WebFrame& webFrame, TPoint& aPoint, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect)
{
Frame* coreFrame = core(&webFrame);
if (!coreFrame->renderer() )
return false;
Element* node = coreFrame->document()->elementFromPoint(aPoint.iX, aPoint.iY);
-
+ m_elementUnderCursor = node;
if (node) {
- return coreFrame->bridge()->getTypeFromElement(node, aElType, aFocusRect);
+ Node* retNode = 0;
+ bool ret = coreFrame->bridge()->getTypeFromElement(node, aElType, aFocusRect, retNode);
+ m_elementUnderCursor = static_cast<Element *>(retNode);
+ return ret;
}
return false;
--- a/webengine/osswebengine/WebKit/s60/webview/WebCursor.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebCursor.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,6 +27,7 @@
namespace WebCore {
class IntRect;
class IntPoint;
+ class Element;
}
#define KInitialOffset 5
@@ -68,10 +69,12 @@
void scrollAndMoveCursor(int dir, int scrollRange, bool auto);
void simpleScroll(int dir, int scrollRange, bool auto=true);
WebFrame* getFrameUnderCursor();
- bool navigableNodeUnderCursor(WebFrame& webFrame, TPoint& aPoint, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect) const;
+ bool navigableNodeUnderCursor(WebFrame& webFrame, TPoint& aPoint, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect);
WebFrame* getFrameAtPoint(const TPoint& viewPos_);
+ WebCore::Element* getElementUnderCursor() {return m_elementUnderCursor;}
+ void stopTransparencyTimer();
-
+
private:
void moveCursor(int lr,int tb, int scrollRange);
bool determineCursorPosition(WebFrame& webFrame, TBrCtlDefs::TBrCtlElementType& aElType, TRect& aFocusRect, TRect& aSearchRect,
@@ -118,6 +121,7 @@
CursorTypes m_type;
int m_flipCounter;
TPoint m_incrLimit;
+ WebCore::Element* m_elementUnderCursor;
};
#endif
--- a/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,6 +17,12 @@
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <txtetext_internal.h>
+#include <txtclipboard.h>
+#include <txtetext_internal.h>
+#endif
+
#include "config.h"
#include "../../bidi.h"
#include "StaticObjectsContainer.h"
@@ -48,6 +54,8 @@
#include <aknutils.h>
#include "Text.h"
+#define KLineEnterChar 0x21b2
+
using namespace WebCore;
static const int kInfinite = -1;
@@ -67,7 +75,8 @@
CWebFepTextEditor::CWebFepTextEditor(WebView* aView)
: m_webView(aView),
m_textFormatMask(NULL),
- m_inlineEditText(NULL)
+ m_inlineEditText(NULL),
+ m_longKeyPress(EFalse)
{
// Set up the extended capabilities
TRAP_IGNORE(
@@ -79,7 +88,7 @@
#if defined(BRDO_BROWSER_50_FF)
SetAlignment( CAknExtendedInputCapabilities::EInputEditorAlignBidi );
#endif
- EnableCcpu(ETrue);
+ TRAP_IGNORE( EnableCcpuL() );
}
// -----------------------------------------------------------------------------
@@ -93,6 +102,7 @@
delete m_inlineEditText;
delete m_textFormatMask;
delete m_ExtendedInputCapabilities;
+ delete m_CcpuSupport;
}
// -----------------------------------------------------------------------------
@@ -186,6 +196,8 @@
delete m_inlineEditText;
m_inlineEditText = NULL;
+
+ m_longKeyPress = EFalse ;
UpdateInputModeState(EAknEditorNullInputMode, EAknEditorAllInputModes,EAknEditorStandardNumberModeKeymap);
UpdateFlagsState(EAknEditorFlagDefault);
@@ -335,6 +347,22 @@
// -----------------------------------------------------------------------------
void CWebFepTextEditor::CancelFepInlineEdit()
{
+ if (IsTextAreaFocused()) {
+ if (m_inlineEditText && DocumentLengthForFep() < DocumentMaximumLengthForFep()) {
+ HBufC* tempBuf = HBufC::NewLC(DocumentLengthForFep());
+ TPtr ptr(tempBuf->Des());
+ GetEditorContentForFep(ptr, 0, DocumentLengthForFep());
+ TInt position = ptr.Locate(KLineEnterChar);
+ if(position != KErrNotFound){
+ TRAP_IGNORE(m_webView->fepTextEditor()->DoCommitFepInlineEditL());
+ Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
+ if(frame){
+ frame->editor()->execCommand("BackwardDelete");
+ }
+ }
+ CleanupStack::PopAndDestroy();
+ }
+ }
}
// -----------------------------------------------------------------------------
@@ -384,6 +412,9 @@
if ( m_textFormatMask && m_textFormatMask->getMultitude() > 0 )
length = m_textFormatMask->getMultitude();
+ if (IsLongKeyPress() &&
+ (KMaxTInt != length))
+ length += 1 ;
// TextArea node has no member function maxLength(), so return KMaxTInt
return length;
}
@@ -398,32 +429,18 @@
// The other part of the rather hackish way to check if we are at the end of the editing field
// see WebEditorClient::handleKeypress
Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
- if ( frame ) {
- SelectionController* sc = frame->selectionController();
- Node* editNode = sc->base().node();
- if ( IsTextAreaFocused() ) {
- while(editNode && !editNode->isTextNode()){
- editNode = editNode->previousSibling();
- }
- TInt position( aCursorSelection.iAnchorPos );
- TInt offset( 0 );
- TInt extentoffset = 0;
- if ( editNode ) {
- editNode = findTextNodeForCurPos( editNode, position );
- if(aCursorSelection.iAnchorPos >= position) {
- offset = aCursorSelection.iAnchorPos - position;
- extentoffset = aCursorSelection.iCursorPos - position;
- }
- extentoffset = extentoffset < 0 ? 0 : extentoffset;
- Position base( editNode, offset );
- Position extent(editNode,extentoffset);
- sc->moveTo( base, extent, DOWNSTREAM );
- }
+ Node* focusedNode = frame->document()->focusedNode();
+ if ( frame && focusedNode) {
+ TInt lowPos = aCursorSelection.LowerPos();
+ TInt highPos = aCursorSelection.HigherPos();
+ if (focusedNode->hasTagName(HTMLNames::textareaTag)) {
+ HTMLTextAreaElement* textArea = static_cast<HTMLTextAreaElement*>(focusedNode);
+ textArea->setSelectionRange(lowPos, highPos);
}
- else if ( editNode && editNode->isTextNode() ) {
- Position base( sc->baseNode(), aCursorSelection.iAnchorPos );
- Position extent( sc->baseNode(), aCursorSelection.iCursorPos );
- sc->moveTo( base, extent, DOWNSTREAM );
+ else if (focusedNode->hasTagName(HTMLNames::inputTag)) {
+ HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(focusedNode);
+ inputElement->setSelectionStart(lowPos);
+ inputElement->setSelectionEnd(highPos);
}
HandleUpdateCursor();
}
@@ -439,27 +456,21 @@
aCursorSelection.SetSelection(0,0);
Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
- if ( frame ) {
- SelectionController* sc = frame->selectionController();
- Node* editNode = sc->base().node();
- if ( frame && frame->document()->focusedNode() ) {
- if ( IsTextAreaFocused() ) {
- HTMLTextAreaElement* ie = static_cast<HTMLTextAreaElement*>(frame->document()->focusedNode());
- while(editNode && !editNode->isTextNode()) {
- editNode = editNode->previousSibling();
- }
- TInt len( 0 );
- if ( editNode ) {
- findPrevSiblingTextLen( editNode, len );
- }
- aCursorSelection.SetSelection( ((sc->baseOffset()+len > ie->value().length()) ? 0 : sc->baseOffset()+len),
- ((sc->extentOffset()+len > ie->value().length()) ? 0 : sc->extentOffset()+len));
- }
- else {
- aCursorSelection.SetSelection(sc->baseOffset(), sc->extentOffset());
- }
- }
- }
+ Node* focusedNode = frame->document()->focusedNode();
+ if (frame && focusedNode) {
+ if (focusedNode->hasTagName(HTMLNames::textareaTag)) {
+ HTMLTextAreaElement* textArea = static_cast<HTMLTextAreaElement*>(focusedNode);
+ TInt anchorPos = textArea->selectionStart();
+ TInt cursorPos = textArea->selectionEnd();
+ aCursorSelection.SetSelection(cursorPos, anchorPos);
+ }
+ else if (focusedNode->hasTagName(HTMLNames::inputTag)) {
+ HTMLInputElement* inputElement = static_cast<HTMLInputElement*>(focusedNode);
+ TInt anchorPos = inputElement->selectionStart();
+ TInt cursorPos = inputElement->selectionEnd();
+ aCursorSelection.SetSelection(cursorPos, anchorPos);
+ }
+ }
}
// -----------------------------------------------------------------------------
@@ -580,6 +591,8 @@
//delete the m_inlineEditText since text is commited
delete m_inlineEditText;
m_inlineEditText = NULL;
+
+ m_longKeyPress = EFalse;
HandleUpdateCursor();
UpdateEditingMode();
@@ -651,6 +664,7 @@
{
aSetToTrue=ETrue;
SetCursorSelectionForFepL(aCursorSelection);
+ m_longKeyPress = ETrue ;
StartFepInlineEditL(aInitialInlineText, aPositionOfInsertionPointInInlineText, aCursorVisibility, aCustomDraw, aInlineTextFormatRetriever, aPointerEventHandlerDuringInlineEdit);
}
@@ -718,6 +732,10 @@
}
state->ReportAknEdStateEventL(MAknEdStateObserver::EAknEdwinStateFlagsUpdate);
+ if (m_CcpuSupport)
+ {
+ TRAP_IGNORE(m_CcpuSupport->HandleFocusChangeL());
+ }
}
// -----------------------------------------------------------------------------
@@ -787,6 +805,10 @@
CAknEdwinState* state = static_cast<CAknEdwinState*>(State(KNullUid));
if ( state ) {
TRAP_IGNORE( state->ReportAknEdStateEventL( MAknEdStateObserver::EAknCursorPositionChanged ) );
+ if (m_CcpuSupport)
+ {
+ TRAP_IGNORE(m_CcpuSupport->HandleSelectionChangeL());
+ }
}
}
@@ -921,6 +943,10 @@
style->setProperty(CSS_PROP_COLOR, "red", false, ec);
return false;
}
+ else if ( m_textFormatMask->acceptAll() )
+ {
+ return true;
+ }
else
{
style->setProperty(CSS_PROP_COLOR, m_inputTextColor, false, ec);
@@ -1083,7 +1109,7 @@
{
TCursorSelection selection;
GetCursorSelectionForFep(selection);
- return selection.Length();
+ return m_CcpuSupport && selection.Length();
}
// -----------------------------------------------------------------------------
@@ -1096,6 +1122,12 @@
PlaceDataOnClipboardL();
TCursorSelection selection;
GetCursorSelectionForFep(selection);
+ Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
+ if (frame) {
+ frame->editor()->deleteWithDirection(SelectionController::BACKWARD,
+ CharacterGranularity, false, true);
+ }
+ HandleUpdateCursor();
}
// -----------------------------------------------------------------------------
@@ -1107,7 +1139,7 @@
{
TCursorSelection selection;
GetCursorSelectionForFep(selection);
- return selection.Length();
+ return m_CcpuSupport && selection.Length();
}
// -----------------------------------------------------------------------------
@@ -1128,7 +1160,7 @@
TBool CWebFepTextEditor::CcpuCanPaste() const
{
TRAPD(err, DoCcpuCanPasteL());
- return err == KErrNone;
+ return (err == KErrNone) && m_CcpuSupport;
}
// -----------------------------------------------------------------------------
@@ -1334,17 +1366,24 @@
//
//
// -----------------------------------------------------------------------------
-void CWebFepTextEditor::EnableCcpu(TBool aSupport)
+void CWebFepTextEditor::EnableCcpuL()
{
+ CAknCcpuSupport* ccpu = NULL;
CAknEdwinState* edwinState = static_cast<CAknEdwinState*>(this->State(KNullUid));
- if(aSupport)
+ ccpu = new(ELeave) CAknCcpuSupport(this);
+ ccpu->SetMopParent(this);
+ CleanupStack::PushL(ccpu);
+ ccpu->ConstructL();
+ CleanupStack::Pop(ccpu);
+ delete m_CcpuSupport;
+ m_CcpuSupport = ccpu;
+ if (edwinState)
{
- edwinState->SetCcpuState(this);
- }
- else
- {
- edwinState->SetCcpuState(NULL);
- }
+ edwinState->SetCcpuState(this);
+ edwinState->SetMenu();
+ if (edwinState->MenuBar())
+ edwinState->MenuBar()->SetEditMenuObserver( m_CcpuSupport );
+ }
}
// -----------------------------------------------------------------------------
@@ -1429,3 +1468,28 @@
}
}
+// -----------------------------------------------------------------------------
+// FocusChanging
+//
+// Called when the focus of the node changes, to commit the text
+// -----------------------------------------------------------------------------
+void CWebFepTextEditor::FocusChanging()
+ {
+ CAknEdwinState* state = static_cast<CAknEdwinState*>(State(KNullUid));
+ if ( state ) {
+ TRAP_IGNORE( state->ReportAknEdStateEventL(MAknEdStateObserver::EAknSyncEdwinState ) );
+ }
+ CommitFepInlineEditL(*CEikonEnv::Static());
+ CancelEditingMode();
+ }
+
+// -----------------------------------------------------------------------------
+// IsLongKeyPress
+//
+// Called to know the status of the key pressed
+// -----------------------------------------------------------------------------
+TBool CWebFepTextEditor::IsLongKeyPress() const
+ {
+ return m_longKeyPress ;
+ }
+
--- a/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFepTextEditor.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include <e32base.h>
#include <fepbase.h>
@@ -116,14 +116,13 @@
bool validateTextFormat();
TBool IsDirectionRTL();
+ TBool IsLongKeyPress() const;
#if defined(BRDO_BROWSER_50_FF)
void SetAlignment(CAknExtendedInputCapabilities::TInputCapabilities aAlignment);
#endif // BRDO_BROWSER_50_FF
bool IsTextAreaFocused() const;
-
- void EnableCcpu(TBool aSupport);
void DoCcpuCanPasteL() const;
void PlaceDataOnClipboardL();
void RetrieveDataFromClipboardL();
@@ -132,7 +131,9 @@
void HandleMaskedInsertText(WebCore::Frame* frame, const String& text);
void HandleMaskedDeleteText(WebCore::Frame* frame);
bool IsWapMaskedModeInput(WebCore::Frame* frame);
-
+ void FocusChanging();
+ void EnableCcpuL();
+
private:
void findPrevSiblingTextLen(Node*, TInt&) const;
Node* findTextNodeForCurPos(Node* aNode, TInt& aPos) const;
@@ -145,6 +146,8 @@
HBufC* m_inlineEditText;
String m_inputTextColor;
CAknExtendedInputCapabilities* m_ExtendedInputCapabilities;
+ CAknCcpuSupport* m_CcpuSupport;
+ TBool m_longKeyPress;
};
#endif
--- a/webengine/osswebengine/WebKit/s60/webview/WebFrame.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFrame.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -347,8 +347,8 @@
WTF::Vector<WebFrame*> ch = childFrames();
WebFrame* frm = 0;
// Check the children of the frame only if this frame also contains pt_
- // If a child iframe is bigger than the parent, it should not be picked.
- if (m_view->rectInGlobalCoords().Contains(pt_)) {
+ // If a child iframe is bigger than the parent, it should not be picked.
+ if (m_view->isVisible() && m_view->rectInGlobalCoords().Contains(pt_)) {
Vector<WebFrame*>::iterator end = ch.end();
for (Vector<WebFrame*>::iterator itr = ch.begin(); itr != end; itr++) {
WebFrame* f = (*itr);
--- a/webengine/osswebengine/WebKit/s60/webview/WebFrameView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFrameView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,12 +29,17 @@
#include "PageScaler.h"
#include "webkitlogger.h"
#include "BrCtl.h"
+#include "SettingsContainer.h"
+#include "StaticObjectsContainer.h"
+#include "WebTabbedNavigation.h"
+
using namespace WebCore;
WebFrameView::WebFrameView() :
m_parent(NULL),
m_hasBorder(true),
- m_refCount(1)
+ m_refCount(1),
+ m_isVisible(ETrue)
{
m_hScrollbar = new WebCore::PlatformScrollbar(this, WebCore::HorizontalScrollbar, WebCore::RegularScrollbar);
m_vScrollbar = new WebCore::PlatformScrollbar(this, WebCore::VerticalScrollbar, WebCore::RegularScrollbar);
@@ -323,7 +328,14 @@
//Update scroll bar , thumb position
m_topView->updateScrollbars(m_contentSize.iHeight, m_contentPos.iY, m_contentSize.iWidth, m_contentPos.iX);
-
+
+ if (m_topView->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed) {
+ int h = (to.iX - from.iX);
+ int v = (to.iY - from.iY);
+ h = (h != 0) ? ((h > 0) ? 1 : -1) : h;
+ v = (v != 0) ? ((v > 0) ? 1 : -1) : v;
+ m_topView->tabbedNavigation()->updateCursorPosAfterScroll(core(m_frame.get()), h, v);
+ }
// trigger painting
m_topView->syncRepaint();
}
@@ -506,6 +518,13 @@
return pt;
}
+TRect WebFrameView::frameCoordsInViewCoords(const TRect &aRect)
+{
+ TSize s = aRect.Size();
+ return TRect(frameCoordsInViewCoords(aRect.iTl), toViewCoords(s));
+}
+
+
TRect WebFrameView::rectInGlobalCoords() const
{
TRect rect(toViewCoords(m_frameRect));
@@ -526,6 +545,7 @@
void WebFrameView::makeVisible(TBool aVisible)
{
+ m_isVisible = aVisible;
}
TBool WebFrameView::isFocused() const
@@ -535,7 +555,7 @@
TBool WebFrameView::isVisible() const
{
- return ETrue;
+ return m_isVisible;
}
TSize WebFrameView::contentSize() const
--- a/webengine/osswebengine/WebKit/s60/webview/WebFrameView.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebFrameView.h Mon Mar 29 12:27:15 2010 +0100
@@ -98,7 +98,8 @@
TPoint frameCoordsInViewCoords(const TPoint& aPoint);
TPoint viewCoordsInFrameCoords(const TPoint& aPoint);
TRect rectInGlobalCoords() const;
-
+ TRect frameCoordsInViewCoords(const TRect &aRect);
+
void checkScrollbarVisibility();
int getBidiWidth();
bool needScroll(const TPoint& aPoint);
@@ -125,6 +126,7 @@
bool m_resizeByEngine;
int m_refCount;
+ TBool m_isVisible;
};
#endif // END OF FILE
--- a/webengine/osswebengine/WebKit/s60/webview/WebPageScrollHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPageScrollHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
// INCLUDE FILES
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include <../bidi.h>
#include "WebPageScrollHandler.h"
#include "BrCtl.h"
@@ -37,7 +37,6 @@
#include "WebKitLogger.h"
using namespace WebCore;
-using namespace RT_GestureHelper;
// constants
const int KPageOverviewScrollPeriodic = 20 * 1000; // Update frequently for faster, smoother scrolling
const int KMicroInterval = 300000;
@@ -372,12 +371,14 @@
bool shouldScrollHorizontally = false;
WebFrame* frame = kit(m_scrollableView.m_scrollingElement->document()->frame());
RenderObject* render = m_scrollableView.m_scrollingElement->renderer();
- __ASSERT_DEBUG(render->isScrollable(), User::Panic(_L(""), KErrGeneral));
- if (aScrollDelta.iY)
- shouldScrollVertically = !render->scroll(ScrollDown, ScrollByPixel, frame->frameView()->toDocCoords(aScrollDelta).iY / 100);
- if (aScrollDelta.iX)
- shouldScrollHorizontally = !render->scroll(ScrollRight, ScrollByPixel, frame->frameView()->toDocCoords(aScrollDelta).iX / 100);
-
+ if(render) //check if render exits before using it
+ {
+ __ASSERT_DEBUG(render->isScrollable(), User::Panic(_L(""), KErrGeneral));
+ if (aScrollDelta.iY)
+ shouldScrollVertically = !render->scroll(ScrollDown, ScrollByPixel, frame->frameView()->toDocCoords(aScrollDelta).iY / 100);
+ if (aScrollDelta.iX)
+ shouldScrollHorizontally = !render->scroll(ScrollRight, ScrollByPixel, frame->frameView()->toDocCoords(aScrollDelta).iX / 100);
+ }
TPoint scrollPos = frame->frameView()->contentPos();
TPoint newscrollDelta = frame->frameView()->toDocCoords(aScrollDelta);
m_currentNormalizedPosition += newscrollDelta;
@@ -559,25 +560,32 @@
Element* currElement = NULL;
if(!e) return NULL;
RenderObject* render = e->renderer();
- if (render && render->isScrollable()) {
+ if(render) {
RenderLayer* layer = render->enclosingLayer();
Element* parent = e;
- currElement = e;
- while (!currElement->isControl() && parent && parent->renderer() && parent->renderer()->enclosingLayer() == layer) {
- currElement = parent;
- Node* pn = parent;
- do {
- pn = pn->parent();
- } while (pn && !pn->isElementNode());
- parent = static_cast<Element*>(pn);
+
+ if (e->isControl()) {
+ if (render->isScrollable()) {
+ currElement = e;
+ }
+ }
+ else {
+ while (parent && parent->renderer()) {
+ if (parent->renderer()->isScrollable()) {
+ currElement = parent;
+ break;
+ }
+ parent = static_cast<Element*>(parent->parent());
+ }
}
if (currElement) {
+ //check for current element which is scrollable
currElement->ref();
- m_scrollableView.m_scrollingElement = currElement;
+ m_scrollableView.m_scrollingElement = currElement;
m_scrollableView.m_frameView = NULL;
return true;
+ }
}
- }
return false;
}
@@ -596,9 +604,9 @@
}
-void WebPageScrollHandler::handleScrollingGH(const TGestureEvent& aEvent)
+void WebPageScrollHandler::handleScrollingGH(const TStmGestureEvent& aGesture)
{
- TPoint newPos = aEvent.CurrentPos();
+ TPoint newPos = aGesture.CurrentPos();
m_currentPosition = newPos;
if (m_webView->inPageViewMode()) {
if (!m_pageOverviewScrollPeriodic->IsActive()){
@@ -614,9 +622,9 @@
}
-void WebPageScrollHandler::handleTouchDownGH(const TGestureEvent& aEvent)
+void WebPageScrollHandler::handleTouchDownGH(const TStmGestureEvent& aGesture)
{
- TPoint newPos = aEvent.CurrentPos();
+ TPoint newPos = aGesture.CurrentPos();
m_lastMoveEventTime = 0;
m_lastPosition = newPos;
m_currentPosition = newPos;
@@ -631,10 +639,10 @@
}
-void WebPageScrollHandler::handleTouchUpGH(const TGestureEvent& aEvent)
+void WebPageScrollHandler::handleTouchUpGH(const TStmGestureEvent& aGesture)
{
bool decelDoesScrollbars = false;
- TPoint newPos = aEvent.CurrentPos();
+ TPoint newPos = aGesture.CurrentPos();
if (m_webView->inPageViewMode()) {
if (m_pageOverviewScrollPeriodic->IsActive()){
@@ -648,7 +656,7 @@
else {
m_scrollTimer->Cancel();
m_lastPosition = TPoint(0, 0);
- decelDoesScrollbars = startDeceleration(aEvent);
+ decelDoesScrollbars = startDeceleration(aGesture);
if (m_webView->viewIsScrolling()) {
Frame* frame = m_webView->page()->focusController()->focusedOrMainFrame();
@@ -666,10 +674,10 @@
}
-bool WebPageScrollHandler::startDeceleration(const TGestureEvent& aEvent)
+bool WebPageScrollHandler::startDeceleration(const TStmGestureEvent& aGesture)
{
bool started = false;
- TRealPoint gstSpeed = aEvent.Speed();
+ TRealPoint gstSpeed = aGesture.Speed();
if (Abs(gstSpeed.iX / gstSpeed.iY) <= KTanOfThresholdAngle) {
gstSpeed.iX = 0;
}
--- a/webengine/osswebengine/WebKit/s60/webview/WebPageScrollHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPageScrollHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
#include <e32base.h>
#include <coedef.h>
#include <w32std.h>
-#include <rt_gesturehelper.h>
+#include <stmgestureinterface.h>
#include "WebScrollingDecelerator.h"
@@ -180,9 +180,9 @@
static int pageOverviewScrollCallback( TAny* aPtr );
//static int handleScrollTimerEventCallback( TAny* ptr);
void scrollPageOverviewGH();
- void handleScrollingGH(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleTouchDownGH(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleTouchUpGH(const RT_GestureHelper::TGestureEvent& aEvent);
+ void handleScrollingGH(const TStmGestureEvent& aGesture);
+ void handleTouchDownGH(const TStmGestureEvent& aGesture);
+ void handleTouchUpGH(const TStmGestureEvent& aGesture);
void updateScrollbars(const TPoint& scrollPos, TPoint& newscrollDelta);
public:
@@ -193,7 +193,7 @@
bool calculateScrollableElement(const TPoint& aNewPosition);
void scrollPageOverview(const TPointerEvent& pointerEvent);
- bool startDeceleration(const RT_GestureHelper::TGestureEvent& aEvent);
+ bool startDeceleration(const TStmGestureEvent& aGesture);
private:
// Pointer to owning view
--- a/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -11,11 +11,11 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "config.h"
#include "../../bidi.h"
#include <AknUtils.h>
@@ -23,7 +23,7 @@
#include <touchfeedback.h>
#endif // BRDO_TOUCH_ENABLED_FF
#include "brctl.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "WebPointerEventHandler.h"
#include "WebView.h"
#include "WebFrame.h"
@@ -44,6 +44,7 @@
#include "EventHandler.h"
#include "EventNames.h"
#include "HitTestResult.h"
+#include "HitTestRequest.h"
#include "MouseEvent.h"
#include "WebPageFullScreenHandler.h"
#include "PluginSkin.h"
@@ -56,11 +57,19 @@
#include "WebTabbedNavigation.h"
#include "SettingsContainer.h"
#include "PluginHandler.h"
+#include "WebCoreGraphicsContext.h"
+#include "GraphicsContext.h"
+#include "RenderStyle.h"
+#include "RenderObject.h"
+#include "CSSStyleSelector.h"
+#include "CSSValueKeywords.h"
+#include "Settings.h"
+#include "WebGestureInterface.h"
+#include "WebPagePinchZoomHandler.h"
#include "WebKitLogger.h"
using namespace WebCore;
using namespace EventNames;
-using namespace RT_GestureHelper;
static const int KMinScrollAndTapInterval = 200000; // 200 ms
static const int KDoubleTapMinActivationInterval = 100000; // 100 ms
@@ -89,7 +98,8 @@
m_isHighlighted(false),
m_highlightedNode(NULL),
m_buttonDownTimer( this, &WebPointerEventHandler::buttonDownTimerCB ),
- m_ignoreTap(false)
+ m_ignoreTap(false),
+ m_gestureInterface(NULL)
{
}
@@ -98,7 +108,7 @@
//-----------------------------------------------------------------------------
WebPointerEventHandler::~WebPointerEventHandler()
{
- delete m_gestureHelper;
+ delete m_gestureInterface;
delete m_waiter;
}
@@ -107,127 +117,115 @@
//-----------------------------------------------------------------------------
void WebPointerEventHandler::ConstructL()
{
-#ifdef BRDO_USE_GESTURE_HELPER
- m_gestureHelper = CGestureHelper::NewL( *this );
- m_gestureHelper->SetDoubleTapEnabled(true);
- m_gestureHelper->SetHoldingEnabled(false);
+#ifdef BRDO_USE_GESTURE_HELPER
+ m_gestureInterface = WebGestureInterface::NewL(m_webview);
#else
- m_gestureHelper = NULL;
-#endif
+ m_gestureInterface = NULL;
+#endif
m_waiter = new(ELeave) CActiveSchedulerWait();
}
-/**
- * EGestureStart is sent on touch down
- * EGestureReleased is sent on touch up
- * EGestureTap = touch down + touch up - events sent: EGestureStart, EGestureTap
- * EGestureReleased
- * EGestureDrag = touch down + "move" - events sent: EGestureStart, EGestureDrag
- * EGestureDoubleTap = 2 * (touch down + touch up) - events sent EGestureStart,
- * EGestureDoubleTap, EGestureReleased
- * EGestureLongTap = touch down + "long touch" - events sent: EGestureStart,
- * EGestureLongTap
- * EGestureSwipe<Up/Down/Left/Right> - drag + touch up, where movements is
- * close to particular direction - event sent: EGestureSwipe,
- * EGestureReleased
- * EGestureFlick - "fast" drag + touch up - events sent: EGestureFlick,
- * EGestureReleased
- * EGestureDrop - drag + touch up, !(EGestureSwipe || EGestureFlick) - events
- * sent: EGestureDrop, EGestureReleased
- */
-void WebPointerEventHandler::HandleGestureL( const TGestureEvent& aEvent )
+
+
+// ======================================================================
+// WebPointerEventHandler::HandleGestureEventL
+// ======================================================================
+void WebPointerEventHandler::HandleGestureEventL(const TStmGestureEvent& aGesture)
{
- TGestureCode gtype = aEvent.Code(EAxisBoth);
- TPoint gpos = aEvent.CurrentPos();
-
+ TStmGestureUid uid = aGesture.Code();
+
+ if (m_webview->pinchZoomHandler()->isPinchActive() && uid != stmGesture::EGestureUidPinch)
+ return;
+
TBrCtlDefs::TBrCtlElementType elType = m_webview->focusedElementType();
-
+
PluginSkin* plugin = m_webview->mainFrame()->focusedPlugin();
if (plugin && plugin->pluginWin()) {
- if (plugin->pluginWin()->HandleGesture(aEvent)) {
- return;
- }
+ if (plugin->pluginWin()->HandleGesture(aGesture)) {
+ if(!plugin->isActive())
+ plugin->activate();
+ return;
+ }
+ }
+
+ updateCursor(aGesture.CurrentPos());
+ if (IS_TABBED_NAVIGATION) {
+ m_webview->tabbedNavigation()->updateCursorPosition(aGesture.CurrentPos());
}
- updateCursor(aEvent.CurrentPos());
+
+
+ switch(uid) {
+ case stmGesture::EGestureUidTouch:
+ {
+ if (m_webview->viewIsScrolling()) {
+ m_ignoreTap = true;
+ m_webview->pageScrollHandler()->handleTouchDownGH(aGesture);
+ }
+ else {
+ handleTouchDownL(aGesture);
+ }
+ break;
+ }
+
+
+ case stmGesture::EGestureUidTap:
+ {
+ if (aGesture.Type() == stmGesture::ETapTypeSingle) {
+ if (!m_ignoreTap) {
+ handleTapL(aGesture);
+ }
+ }
+ else {
+ handleDoubleTap(aGesture);
+ }
- switch (gtype) {
- // sent on touch down
- case EGestureStart:
- {
- if (m_webview->viewIsScrolling()) {
- m_ignoreTap = true;
- m_webview->pageScrollHandler()->handleTouchDownGH(aEvent);
- }
- else {
- handleTouchDownL(aEvent);
- }
- break;
- }
-
- // sent on tap
- case EGestureTap:
- {
- if (!m_ignoreTap) {
- handleTapL(aEvent);
- }
- break;
- }
-
- // sent on double tap
- case EGestureDoubleTap:
- {
- handleDoubleTap(aEvent);
- break;
- }
-
- // sent on long tap
- case EGestureLongTap:
- {
- break;
- }
+ break;
+ }
+
+ case stmGesture::EGestureUidRelease:
+ {
+ m_ignoreTap = false;
+ handleTouchUp(aGesture);
+ break;
+ }
- // sent on touch up after drag
- case EGestureDrop:
- case EGestureFlick:
- case EGestureSwipeLeft:
- case EGestureSwipeRight:
- case EGestureSwipeUp:
- case EGestureSwipeDown:
- {
- m_ignoreTap = false;
- if (!IS_NAVIGATION_NONE) {
- handleTouchUp(aEvent);
- }
- else {
- Frame* frm = m_webview->page()->focusController()->focusedOrMainFrame();
- m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Up, m_highlightPos, frm);
- }
- break;
- }
- // sent on move
- case EGestureDrag:
- {
- handleMove(aEvent);
- break;
- }
-
- // sent on touch up after tap double tap and long tap
- case EGestureReleased:
- {
- m_ignoreTap = false;
- handleTouchUp(aEvent);
- break;
- }
+ case stmGesture::EGestureUidPan:
+ {
+ handleMove(aGesture);
+ break;
+ }
+ case stmGesture::EGestureUidFlick:
+ {
+ m_ignoreTap = false;
+ if (!IS_NAVIGATION_NONE) {
+ handleTouchUp(aGesture);
+ }
+ else {
+ Frame* frm = m_webview->page()->focusController()->focusedOrMainFrame();
+ m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Up, m_highlightPos, frm);
+ }
+ break;
+ }
+
+ case stmGesture::EGestureUidPinch:
+ {
+ handlePinchZoomL(aGesture);
+ break;
+ }
+ default:
+ break;
+
}
+ return;
}
// ======================================================================
// WebPointerEventHandler::handleTap
// ======================================================================
-void WebPointerEventHandler::handleTapL(const TGestureEvent& aEvent)
+void WebPointerEventHandler::handleTapL(const TStmGestureEvent& aGesture)
{
m_buttonDownTimer.stop();
- m_lastTapEvent = m_currentEvent;
+ m_lastTapEvent = m_currentEvent;
if(!m_webview->inPageViewMode()){
doTapL();
}
@@ -235,12 +233,12 @@
// ======================================================================
// WebPointerEventHandler::handleDoubleTap
//======================================================================
-void WebPointerEventHandler::handleDoubleTap(const TGestureEvent& aEvent)
+void WebPointerEventHandler::handleDoubleTap(const TStmGestureEvent& aGesture)
{
if ( !m_webview->viewIsScrolling() &&
(m_webview->brCtl()->capabilities() & TBrCtlDefs::ECapabilityFitToScreen)) {
if (m_isHighlighted){
- dehighlight();
+ dehighlight();
}
m_webview->setZoomLevelAdaptively();
}
@@ -252,20 +250,20 @@
// ======================================================================
// WebPointerEventHandler::handleTouchDownL
//======================================================================
-void WebPointerEventHandler::handleTouchDownL(const TGestureEvent& aEvent)
+void WebPointerEventHandler::handleTouchDownL(const TStmGestureEvent& aGesture)
{
TBrCtlDefs::TBrCtlElementType elType = m_webview->focusedElementType();
PluginHandler* pluginHandler = WebCore::StaticObjectsContainer::instance()->pluginHandler();
PluginSkin* pluginToActivate = pluginHandler->pluginToActivate();
m_buttonDownEvent = m_currentEvent;
- m_highlightPos = aEvent.CurrentPos();
-
+ m_highlightPos = aGesture.CurrentPos();
+
if ( !m_buttonDownTimer.isActive() && !m_webview->inPageViewMode()){
- m_buttonDownTimer.startOneShot(0.1f);
+ m_buttonDownTimer.startOneShot(0.1f);
}
if (!IS_NAVIGATION_NONE) {
- m_webview->pageScrollHandler()->handleTouchDownGH(aEvent);
+ m_webview->pageScrollHandler()->handleTouchDownGH(aGesture);
}
if ( TBrCtlDefs::EElementActivatedObjectBox == elType) {
@@ -279,43 +277,43 @@
}
}
}
-
+
/*
- * After introducing "link selection" pointer down action is done in
- * buttondown timer callback. When "down" gesture event is arrived we start
- * timer end exit, so gesture helper is ready to deliver next gesture event.
- * Meanwhile the processing of the first gesture event hasn't been finished yet.
- * The gesture helper doesn't "know" about our plans to handle the event inside
- * timer callback and only way for us to "tell" about this is to stop RunL()
- * of CGestureEventSender (HandleGestureL() is inside it) and finish buttondown
- * timer callback first.
- */
+ * After introducing "link selection" pointer down action is done in
+ * buttondown timer callback. When "down" gesture event is arrived we start
+ * timer end exit, so gesture helper is ready to deliver next gesture event.
+ * Meanwhile the processing of the first gesture event hasn't been finished yet.
+ * The gesture helper doesn't "know" about our plans to handle the event inside
+ * timer callback and only way for us to "tell" about this is to stop RunL()
+ * of CGestureEventSender (HandleGestureL() is inside it) and finish buttondown
+ * timer callback first.
+ */
if ( m_buttonDownTimer.isActive()){
- m_waiter->Start();
+ m_waiter->Start();
}
}
// ======================================================================
-// WebPointerEventHandler::handleTouchUp
+// WebPointerEventHandler::handleTouchUp
// ======================================================================
-void WebPointerEventHandler::handleTouchUp(const TGestureEvent& aEvent)
+void WebPointerEventHandler::handleTouchUp(const TStmGestureEvent& aGesture)
{
m_highlightPos = TPoint(-1,-1);
m_highlightedNode = NULL;
PluginHandler* pluginHandler = WebCore::StaticObjectsContainer::instance()->pluginHandler();
pluginHandler->setPluginToActivate(NULL);
if (!IS_NAVIGATION_NONE) {
- m_webview->pageScrollHandler()->handleTouchUpGH(aEvent);
+ m_webview->pageScrollHandler()->handleTouchUpGH(aGesture);
}
}
// ======================================================================
// WebPointerEventHandler::handleMoveL
// ======================================================================
-void WebPointerEventHandler::handleMove(const TGestureEvent& aEvent)
+void WebPointerEventHandler::handleMove(const TStmGestureEvent& aGesture)
{
TBrCtlDefs::TBrCtlElementType elType = m_webview->focusedElementType();
- TPoint curPos = aEvent.CurrentPos();
+ TPoint curPos = aGesture.CurrentPos();
PluginHandler* pluginHandler = WebCore::StaticObjectsContainer::instance()->pluginHandler();
pluginHandler->setPluginToActivate(NULL);
m_buttonDownTimer.stop();
@@ -325,8 +323,8 @@
}
else {
HandleHighlightChange(curPos);
-
- m_webview->pageScrollHandler()->handleScrollingGH(aEvent);
+
+ m_webview->pageScrollHandler()->handleScrollingGH(aGesture);
}
}
@@ -337,11 +335,11 @@
void WebPointerEventHandler::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
m_currentEvent = aPointerEvent;
-
- if (m_webview->isSynchRequestPending()) {
+
+ if (m_webview->isSynchRequestPending()) {
return;
}
-
+
// Handle graphical history - should never happen, as HistoryView handles this event by itself
if ( m_webview->brCtl()->historyHandler()->historyController()->historyView()) {
return;
@@ -352,25 +350,10 @@
m_webview->formFillPopup()->HandlePointerEventL(aPointerEvent);
return;
}
-
- if (!m_webview->inPageViewMode()) {
- if (aPointerEvent.iType == TPointerEvent::EButton1Down) {
- m_webview->GetContainerWindow().EnablePointerMoveBuffer();
- }
- else if (aPointerEvent.iType == TPointerEvent::EButton1Up) {
- m_webview->GetContainerWindow().DisablePointerMoveBuffer();
- }
-
- }
-
-
- if (m_webview->brCtl()->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed) {
- m_webview->tabbedNavigation()->updateCursorPosition(aPointerEvent.iPosition);
- }
#ifdef BRDO_USE_GESTURE_HELPER
- m_gestureHelper->HandlePointerEventL(aPointerEvent);
-#endif
+ m_gestureInterface->HandlePointerEventL(aPointerEvent);
+#endif
}
//-----------------------------------------------------------------------------
@@ -412,35 +395,37 @@
TBrCtlDefs::TBrCtlElementType elType = TBrCtlDefs::EElementNone;
Frame* coreFrame = core(m_webview->mainFrame());
WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
- m_webview->page()->chrome()->client()->setElementVisibilityChanged(false);
+
TPointerEvent event;
TPoint pos = cursor->position();
- IntPoint point(pos.iX, pos.iY);
- HitTestResult htresult = coreFrame->eventHandler()->hitTestResultAtPoint(point, true);
- Node* eventNode = htresult.innerNode();
- Frame* frm = eventNode->document()->frame();
- WebFrame* wfrm = kit(frm);
+ WebFrame* wfrm = cursor->getFrameAtPoint(pos);
+ Frame* frm = core(wfrm);
TPoint pt(wfrm->frameView()->viewCoordsInFrameCoords(pos));
TPoint nodePoint;
-
+
+ Element* eventNode = frm->document()->elementFromPoint(pt.iX, pt.iY);
+
+ if (m_isHighlighted){
+ dehighlight();
+ }
+
m_highlightedNode = NULL;
- frm->bridge()->getTypeFromElement(eventNode, elType, elRect);
+ Node* retNode = 0;
+ frm->bridge()->getTypeFromElement(eventNode, elType, elRect, retNode);
+
if (elType == TBrCtlDefs::EElementNone) {
-
Node* n = wfrm->getClosestAnchorElement(cursor->position(), pos);
if (n) {
- point.setX(pos.iX);
- point.setY(pos.iY);
- htresult = coreFrame->eventHandler()->hitTestResultAtPoint(point, true);
- eventNode = htresult.innerNode();
- frm = eventNode->document()->frame();
- frm->bridge()->getTypeFromElement(eventNode, elType, elRect);
+ wfrm = cursor->getFrameAtPoint(pos);
+ frm = core(wfrm);
+ //eventNode = frm->document()->elementFromPoint(pos.iX, pos.iY);
+ TPoint newPos(wfrm->frameView()->viewCoordsInFrameCoords(pos));
+ eventNode = frm->document()->elementFromPoint(newPos.iX, newPos.iY);
+ frm->bridge()->getTypeFromElement(eventNode, elType, elRect, retNode);
TPoint nodePoint = n->getRect().Rect().Center();
m_offset = (pt.iX- nodePoint.iX)*(pt.iX- nodePoint.iX) +
(pt.iY- nodePoint.iY)*(pt.iY- nodePoint.iY);
-
-
}
}
m_highlightedNode = eventNode;
@@ -481,7 +466,7 @@
{
TBrCtlDefs::TBrCtlElementType elType = m_webview->focusedElementType();
Frame* coreFrame = core(m_webview->mainFrame());
-
+
#ifdef BRDO_TOUCH_ENABLED_FF
if (m_isHighlighted)
{
@@ -492,14 +477,22 @@
}
}
#endif // BRDO_TOUCH_ENABLED_FF
-
+
+ if (!IS_NAVIGATION_NONE) {
+ m_webview->sendMouseEventToEngine(TPointerEvent::EMove, m_highlightPos, coreFrame);
+ }
- // We assume that if element visibility has been changed
- // between "up" and "down" that means that some node event
- // listener (onMouseOver etc) handling happened and we don't
- // want to send a click (mouse press + mouse release) event.
- if (!IS_NAVIGATION_NONE &&
- m_webview->page()->chrome()->client()->elementVisibilityChanged()) {
+ /*
+ * We assume that if element visibility has been changed
+ * between "up" and "down" that means that some node event
+ * listener (onMouseOver etc) handling happened and we don't
+ * want to send a click (mouse press + mouse release) event.
+ * The exception is editable element, since we want VKB anyway
+ */
+ if (!IS_NAVIGATION_NONE &&
+ elType != TBrCtlDefs::EElementActivatedInputBox &&
+ elType != TBrCtlDefs::EElementTextAreaBox &&
+ m_webview->page()->chrome()->client()->elementVisibilityChangedByMouse()) {
return;
}
@@ -508,13 +501,16 @@
m_lastTapEvent.iModifiers = 0;
// don't pass the event if the text input is not in valid format
- if (isHighlitableElement(elType) || m_webview->fepTextEditor()->validateTextFormat()) {
- // because of scrolling we delay sending EButton1Down till we get EButton1Up event and if the content is not scrolling
- coreFrame->eventHandler()->handleMouseReleaseEvent(PlatformMouseEvent(m_lastTapEvent));
+ if (m_webview->fepTextEditor()->validateTextFormat()) {
+ if (!IS_NAVIGATION_NONE) {
+ // in case of navigation none button down was sent in buttonDownTimerCB()
+ m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Down, m_highlightPos, coreFrame);
+ }
+ m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Up, m_highlightPos, coreFrame);
}
// special handling for broken image (why is this here??)
- if (m_webview->focusedElementType() == TBrCtlDefs::EElementBrokenImage) {
+ if (elType == TBrCtlDefs::EElementBrokenImage) {
loadFocusedImage(m_webview);
}
else if (elType == TBrCtlDefs::EElementActivatedObjectBox) {
@@ -542,10 +538,10 @@
Frame* frm = m_webview->page()->focusController()->focusedOrMainFrame();
m_webview->sendMouseEventToEngine(TPointerEvent::EMove, m_highlightPos, frm);
-
+
m_highlightedNode = NULL;
-
- m_webview->syncRepaint();
+
+ m_webview->syncRepaint();
}
@@ -590,21 +586,44 @@
{
m_buttonDownTimer.stop();
-
Frame* coreFrame = core(m_webview->mainFrame());
TPointerEvent event;
-
+
TBrCtlDefs::TBrCtlElementType elType = highlitableElement();
-
+
if (!isHighlitableElement(elType)) {
elType = TBrCtlDefs::EElementNone;
}
m_isHighlighted = (m_highlightedNode != NULL) && (elType != TBrCtlDefs::EElementNone) ;
-
- m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Down, m_highlightPos, coreFrame);
+
+ /*
+ * Tabbed navigation might already set the focused node.
+ * If it's the same as m_highlightedNode FocuseController::setFocusedNode()
+ * wouldn't do anything and setEditable won't be called.
+ * So we are setting focused node to NULL here and let mouse event handler
+ * set it through FocuseController::setFocusedNode()
+ */
+ if (IS_TABBED_NAVIGATION &&
+ elType == TBrCtlDefs::EElementInputBox ||
+ elType == TBrCtlDefs::EElementTextAreaBox) {
+ coreFrame->document()->setFocusedNode(NULL);
+ }
- m_webview->sendMouseEventToEngine(TPointerEvent::EMove, m_highlightPos, coreFrame);
- m_waiter->AsyncStop();
+ if (!IS_NAVIGATION_NONE) {
+ m_webview->page()->chrome()->client()->setElementVisibilityChanged(false);
+ //to initiate hover
+ if (m_isHighlighted) {
+ setFocusRing();
+ }
+
+ }
+ else {
+ m_webview->sendMouseEventToEngine(TPointerEvent::EButton1Down, m_highlightPos, coreFrame);
+ }
+
+ if (m_waiter->IsStarted()) {
+ m_waiter->AsyncStop();
+ }
}
@@ -621,7 +640,39 @@
if (m_webview->showCursor()) {
cursor->resetTransparency();
m_webview->setShowCursor(false);
- cursor->cursorUpdate(false);
+ cursor->cursorUpdate(false);
}
}
}
+
+//-----------------------------------------------------------------------------
+// WebPointerEventHandler::setFocusRing
+//----------------------------------------------------------------------------
+void WebPointerEventHandler::setFocusRing()
+{
+ Element* e = static_cast<Element*>(m_highlightedNode);
+ RenderStyle* rs = e->renderStyle();
+ RenderStyle* style = new (e->document()->renderArena()) RenderStyle(*rs);
+ Color col(0xffaaaaff);
+
+ style->ref();
+ style->setOutlineColor(col);
+ style->setOutlineStyle(DOTTED, true);
+ style->setOutlineWidth(4);
+ style->setOutlineOffset(2);
+ e->setRenderStyle(style);
+ style->deref(e->document()->renderArena());
+ e->setChanged();
+}
+
+//-----------------------------------------------------------------------------
+// WebPointerEventHandler::handlePinchZoom
+//----------------------------------------------------------------------------
+void WebPointerEventHandler::handlePinchZoomL(const TStmGestureEvent& aGesture)
+{
+ //dehighlight anything which is highlighted already
+ if (m_isHighlighted){
+ dehighlight();
+ }
+ m_webview->pinchZoomHandler()->handlePinchGestureEventL(aGesture);
+}
--- a/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPointerEventHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,9 @@
#include <e32base.h>
#include <w32std.h>
+#include <stmgestureinterface.h>
#include "Timer.h"
-#include <rt_gesturehelper.h>
+
namespace WebCore
{
@@ -31,8 +32,9 @@
class WebView;
class CActiveSchedulerWait;
+class WebGestureInterface;
-class WebPointerEventHandler : public CBase, public RT_GestureHelper::MGestureObserver
+class WebPointerEventHandler : public CBase
{
public:
static WebPointerEventHandler* NewL(WebView* view);
@@ -42,9 +44,7 @@
public:
void HandlePointerEventL(const TPointerEvent& aPointerEvent);
void HandleHighlightChange(const TPoint &aPoint);
-
- virtual void HandleGestureL( const RT_GestureHelper::TGestureEvent& aEvent );
-
+ void HandleGestureEventL(const TStmGestureEvent& aGesture);
private:
bool checkForEventListener(WebCore::Node* node);
@@ -54,13 +54,15 @@
bool isHighlitableElement(TBrCtlDefs::TBrCtlElementType& elType);
TBrCtlDefs::TBrCtlElementType highlitableElement();
void buttonDownTimerCB(WebCore::Timer<WebPointerEventHandler>* t);
- void handleTouchDownL(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleTouchUp(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleTapL(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleDoubleTap(const RT_GestureHelper::TGestureEvent& aEvent);
- void handleMove(const RT_GestureHelper::TGestureEvent& aEvent);
+ void handleTouchDownL(const TStmGestureEvent& aGesture);
+ void handleTouchUp(const TStmGestureEvent& aGesture);
+ void handleTapL(const TStmGestureEvent& aGesture);
+ void handleDoubleTap(const TStmGestureEvent& aGesture);
+ void handleMove(const TStmGestureEvent& aGesture);
void doTapL();
void updateCursor(const TPoint& pos);
+ void setFocusRing();
+ void handlePinchZoomL(const TStmGestureEvent& aGesture);
private:
WebPointerEventHandler(WebView* view);
WebView* m_webview;
@@ -77,10 +79,10 @@
TPointerEvent m_currentEvent;
WebCore::Timer<WebPointerEventHandler> m_buttonDownTimer;
- RT_GestureHelper::CGestureHelper* m_gestureHelper;
TPointerEvent m_lastPointerEvent;
bool m_ignoreTap;
CActiveSchedulerWait* m_waiter;
+ WebGestureInterface* m_gestureInterface;
};
--- a/webengine/osswebengine/WebKit/s60/webview/WebPolicyManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebPolicyManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -37,7 +37,6 @@
// CONSTANTS
const char* typeTextHtml = "text/html";
-const char* typeTextXml = "text/xml";
const char* typeApplicationXhtml = "application/xhtml+xml";
const char* typeTextPlain = "text/plain";
const char* typeApplicationWapXhtml = "application/vnd.wap.xhtml+xml";
@@ -47,6 +46,8 @@
const char* typeSvg = "svg";
_LIT(KPathBegin,"<!--framePathBegin ");
_LIT(KPathEnd," framePathEnd --!>");
+_LIT8(KFileSchema, "file://");
+_LIT8(KFileSchemaUnixStyle, "file:///");
WebPolicyManager::WebPolicyManager(WebFrameLoaderClient* webFrameLoaderClient) :
m_webFrameLoaderClient(webFrameLoaderClient)
@@ -161,8 +162,7 @@
if (MIMEType == typeTextHtml ||
MIMEType == typeApplicationXhtml ||
MIMEType == typeApplicationWapXhtml ||
- MIMEType == typeMultipartMixed ||
- MIMEType == typeTextXml) {
+ MIMEType == typeMultipartMixed) {
found = true;
}
//Check if the image type can be handled by the browser. If not
@@ -181,8 +181,19 @@
else if( MIMEType == typeTextPlain ||
MIMEType == typeApplicationOctetStream ) {
TPtrC8 url = (core(m_webFrameLoaderClient->webFrame()))->loader()->activeDocumentLoader()->responseURL().des();
+ //Converting TPtrC8 to TPtr8 as Delete() is supported in TPtr8.
+ HBufC8* lUrl = HBufC8::NewLC(url.Length());
+ lUrl->Des().Copy( url );
+ TPtr8 tempurl = lUrl->Des();
+ //Truncate file:// or file:///(Unix style) from the URI as the path
+ //file:\\c:\\...\\... is not recognised as a valid path by TUriParser
+ if(url.FindF(KFileSchema)!= KErrNotFound)
+ tempurl.Delete(0,KFileSchema().Length());
+ else if(url.FindF(KFileSchemaUnixStyle)!= KErrNotFound)
+ tempurl.Delete(0,KFileSchemaUnixStyle().Length());
+
TUriParser8 parser;
- if( parser.Parse(url) == KErrNone ) {
+ if( parser.Parse(tempurl) == KErrNone ) {
TPtrC8 path = parser.Extract( EUriPath );
// path == 1 means only / (no filename)
if( path.Length() > 1 ) {
@@ -194,6 +205,7 @@
path.Find(_L8(".txt")) != KErrNotFound);
}
}
+ CleanupStack::PopAndDestroy(lUrl);
}
// tot:fixme defaultcontenthandler is only for selfdownloadable, go through the list
return found;
--- a/webengine/osswebengine/WebKit/s60/webview/WebScrollingDeceleratorGH.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebScrollingDeceleratorGH.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,6 @@
#include "WebKitLogger.h"
-using namespace RT_GestureHelper;
// constants
const int KRecordSize = 4;
@@ -38,7 +37,9 @@
const int KScrollIntervalTimeout = 60000; // scroll timer interval in microseconds
-const float KDecceleration = -700.0;
+const float KDeccelerationLow = -350.0;
+const float KDeccelerationHigh = -600.0;
+const float KSpeedHigh = 2000.0;
int decelTimerCB(TAny* ptr);
@@ -78,6 +79,7 @@
void WebScrollingDeceleratorGH::ConstructL()
{
m_decelTimer = CPeriodic::NewL(CActive::EPriorityStandard);
+ m_deceleration = KDeccelerationHigh;
}
// -----------------------------------------------------------------------------
@@ -91,7 +93,7 @@
int WebScrollingDeceleratorGH::getDecceleration()
{
- return KDecceleration;
+ return m_deceleration;
}
@@ -114,8 +116,22 @@
{
m_decelelatorSwitch = true;
m_scrollbarDrawer = scrollbarDrawer;
- m_initSpeed.iX = (-1) * speed.iX;
- m_initSpeed.iY = (-1) * speed.iY;
+ float speedX = speed.iX;
+ float speedY = speed.iY;
+ float absSpeedX = abs(speedX);
+ float absSpeedY = abs(speedY);
+
+ if (absSpeedX > KSpeedHigh) {
+ speedX = KSpeedHigh * speedX/absSpeedX ;
+ m_deceleration = KDeccelerationLow;
+ }
+ if (absSpeedY > KSpeedHigh) {
+ speedY = KSpeedHigh * speedY/absSpeedY;
+ m_deceleration = KDeccelerationLow;
+ }
+
+ m_initSpeed.iX = (-1) * speedX;
+ m_initSpeed.iY = (-1) * speedY;
m_numscrollsteps = 0;
if (m_decelTimer->IsActive()) {
@@ -145,14 +161,16 @@
TReal32 accelX = 0.0;
TReal32 accelY = 0.0;
+ TReal32 deceleration = getDecceleration();
+
if (m_initSpeed.iX) {
- accelX = (m_initSpeed.iX > 0) ? KDecceleration : (-1) * KDecceleration;
+ accelX = (m_initSpeed.iX > 0) ? deceleration : (-1) * deceleration;
vx = m_initSpeed.iX + accelX * t;
dx = m_initSpeed.iX * t + 0.5 * accelX * (t * t);
}
if (m_initSpeed.iY) {
- accelY = (m_initSpeed.iY > 0) ? KDecceleration : (-1) * KDecceleration;
+ accelY = (m_initSpeed.iY > 0) ? deceleration : (-1) * deceleration;
vy = m_initSpeed.iY + accelY * t;
dy = m_initSpeed.iY * t + 0.5 * accelY * (t * t);
}
--- a/webengine/osswebengine/WebKit/s60/webview/WebScrollingDeceleratorGH.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebScrollingDeceleratorGH.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <e32base.h>
#include <coedef.h>
#include <w32std.h>
-#include <rt_gestureobserver.h>
+#include <stmgesturelistener.h>
// MACROS
@@ -60,7 +60,7 @@
public: // Main functions
- void startDecel(RT_GestureHelper::TRealPoint& speed, WebScrollbarDrawer* scrollbarDrawer);
+ void startDecel(TRealPoint& speed, WebScrollbarDrawer* scrollbarDrawer);
void cancelDecel();
@@ -85,7 +85,7 @@
//normalized current position to minimize rounding error
TPoint m_normalizedCurrentPosition;
- RT_GestureHelper::TRealPoint m_initSpeed;
+ TRealPoint m_initSpeed;
CPeriodic* m_decelTimer;
@@ -94,6 +94,8 @@
TPoint m_startPos;
WebScrollbarDrawer* m_scrollbarDrawer;
+
+ TReal32 m_deceleration;
};
--- a/webengine/osswebengine/WebKit/s60/webview/WebTextFormatMask.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebTextFormatMask.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -192,9 +192,15 @@
m_currentMask = m_currentMask->nextMask();
}
- // did we use up all the masks?
- if(m_currentMask && m_currentMask->multitude() != kInfinite)
- return false;
+ // this check doesn't seem to be proper as the check is done for
+ // the partial text.Because the checkText() is called for every character input by user,
+ // there are remaining masks after complete text length has been checked,
+ // that is valid case and it should not return false.
+ // If text length is bigger than mask length then that case is handled within for loop
+ //before this condition check. So it is redundant in current implementation
+ // did we use up all the masks?
+ /* if(m_currentMask && m_currentMask->multitude() != kInfinite)
+ return false;*/
return (eb.m_start == -1);
}
@@ -276,6 +282,11 @@
return true;
}
+bool WebTextFormatMask::acceptAll()
+ {
+ return m_acceptAll;
+ }
+
MaskComposite::MaskComposite(TInputFormatMaskType t, int mul)
: MaskSingle(t), m_offset(0), m_length(mul)
{
--- a/webengine/osswebengine/WebKit/s60/webview/WebTextFormatMask.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebTextFormatMask.h Mon Mar 29 12:27:15 2010 +0100
@@ -121,6 +121,7 @@
bool checkText(const WebCore::String&, ErrorBlock&);
MaskBase* getMask(int aOffset);
+ bool acceptAll();
public:
int getMultitude();
--- a/webengine/osswebengine/WebKit/s60/webview/WebToolBarInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebToolBarInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef __WEBTOOLBARINTERFACE
#define __WEBTOOLBARINTERFACE
@@ -29,7 +28,7 @@
#include <AknsConstants.h>
#include <AknsItemID.h>
#include <AknsConstants.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "ToolBar.h"
/*
#include "Favicon.h"
--- a/webengine/osswebengine/WebKit/s60/webview/WebView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include "config.h"
#include "../../bidi.h"
#include "brctl.h"
@@ -60,7 +60,7 @@
#include "PluginWin.h"
#include "PluginPlayer.h"
#include "WebKitLogger.h"
-
+#include "WebPagePinchZoomHandler.h"
#include "Page.h"
#include "Settings.h"
@@ -90,7 +90,7 @@
using namespace HTMLNames;
#include <AknUtils.h>
-#include <CUserAgent.h>
+#include <cuseragent.h>
#include "WebPageZoomHandler.h"
#include "PlatformFontCache.h"
@@ -143,7 +143,10 @@
: coreFrame->tree()->traversePreviousWithWrap(wrapFlag));
}
-
+#define IS_UP_KEY(keyevent) ((keyevent.iCode == EKeyUpArrow) || (keyevent.iCode == EStdKeyUpArrow))
+#define IS_DOWN_KEY(keyevent) ((keyevent.iCode == EStdKeyDevice12) || (keyevent.iCode == EKeyDownArrow) || (keyevent.iCode == EStdKeyDownArrow))
+#define IS_RIGHT_KEY(keyevent) ((keyevent.iCode == EStdKeyDevice11) || (keyevent.iCode == EKeyRightArrow) || (keyevent.iCode == EStdKeyRightArrow))
+#define IS_LEFT_KEY(keyevent) ((keyevent.iCode == EStdKeyDevice13) || (keyevent.iCode == EKeyLeftArrow) || (keyevent.iCode == EStdKeyLeftArrow))
// -----------------------------------------------------------------------------
// WebView::NewL
@@ -196,11 +199,17 @@
, m_showCursor(false)
, m_allowRepaints(true)
, m_prevEditMode(false)
+, m_firedEvent(0)
+, m_waitTimer(0)
+, m_pinchZoomHandler(NULL)
+, m_isPinchZoom(false)
{
}
WebView::~WebView()
{
+ StaticObjectsContainer::instance()->webCursor()->stopTransparencyTimer();
+
// the zoom handler is a client of WebView (also owned by
// WebView--a circular dependency) so it must be deleted before
// the WebView object is destroyed because in its destructor it
@@ -220,12 +229,16 @@
delete m_fastScrollTimer;
delete [] m_ptrbuffer;
+ delete m_pinchZoomHandler;
delete m_repainttimer;
delete m_webfeptexteditor;
delete m_webcorecontext;
delete m_bitmapdevice;
delete m_page;
delete m_pageScaler;
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
+ m_pageScaler = NULL;
+#endif
delete m_pageView;
delete m_webFormFill;
delete m_toolbar;
@@ -235,6 +248,8 @@
delete m_pageScrollHandler;
delete m_pluginplayer;
delete m_fepTimer;
+ delete m_waitTimer;
+ delete m_waiter;
delete m_popupDrawer;
delete m_tabbedNavigation;
delete m_userAgent;
@@ -328,7 +343,10 @@
if (m_brctl->capabilities() & TBrCtlDefs::ECapabilityAutoFormFill) {
m_webFormFill = new WebFormFill(this);
}
-
+
+ //Creates the Pinch Zoom Handler
+ m_pinchZoomHandler = WebPagePinchZoomHandler::NewL(this);
+
// Create the PointerEventHandler
m_ptrbuffer = new TPoint[256];
m_webpointerEventHandler = WebPointerEventHandler::NewL(this);
@@ -351,8 +369,13 @@
MakeViewVisible(ETrue);
m_isPluginsVisible=ETrue;
CCoeControl::SetFocus(ETrue);
-
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ //To enable advance pointer info for multi-touch
+ Window().EnableAdvancedPointers();
+#endif
cache()->setCapacities(0, 0, defaultCacheCapacity);
+
+ m_waiter = new(ELeave) CActiveSchedulerWait();
}
void WebView::initializePageScalerL()
@@ -393,13 +416,27 @@
gc.DrawBitmap( m_destRectForZooming, StaticObjectsContainer::instance()->webSurface()->offscreenBitmap(), m_srcRectForZooming );
if ( m_startZoomLevel > m_currentZoomLevel) {
-
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ TInt destRectWidth = m_destRectForZooming.Width();
+ TInt destRectHeight = m_destRectForZooming.Height();
+ TRect rectLeft(TPoint(rect.iTl),
+ TPoint(rect.iTl.iX + m_destRectForZooming.iTl.iX, rect.iBr.iY));
+
+ TRect rectRight(TPoint(rect.iTl.iX + destRectWidth + m_destRectForZooming.iTl.iX, rect.iTl.iY),
+ TPoint(rect.iBr));
+
+ TRect rectTop(TPoint(rect.iTl.iX + m_destRectForZooming.iTl.iX, rect.iTl.iY),
+ TPoint(rect.iTl.iX + m_destRectForZooming.iTl.iX + destRectWidth, rect.iTl.iY + m_destRectForZooming.iTl.iY));
+
+ TRect rectBottom(TPoint(rect.iTl.iX + m_destRectForZooming.iTl.iX, rect.iTl.iY + m_destRectForZooming.iTl.iY + destRectHeight),
+ TPoint(rect.iTl.iX + destRectWidth + m_destRectForZooming.iTl.iX, rect.iBr.iY));
+#else
TRect rectLeft( TPoint( rect.iTl.iX + m_destRectForZooming.Width() - 2, rect.iTl.iY ),
TPoint( rect.iBr ));
TRect rectBottom( TPoint( rect.iTl.iX, rect.iTl.iY + m_destRectForZooming.Height() - 2 ),
TPoint( rect.iBr.iX + m_destRectForZooming.Width(), rect.iBr.iY ));
-
+#endif
const TRgb colorTest(KZoomBgRectColor,KZoomBgRectColor,KZoomBgRectColor);
gc.SetPenColor(colorTest);
@@ -407,6 +444,10 @@
gc.SetBrushColor(colorTest);
gc.DrawRect( rectLeft );
gc.DrawRect( rectBottom );
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ gc.DrawRect( rectRight );
+ gc.DrawRect( rectTop );
+#endif
}
@@ -479,6 +520,9 @@
//Reset the iFocusedElementType to be the same as before the second window is opened.
cursor->setPosition(m_savedCursorPosition);
cursor->updatePositionAndElemType(m_savedCursorPosition);
+ if ( m_widgetextension && m_focusedElementType == TBrCtlDefs::EElementSelectBox){
+ m_focusedElementType = TBrCtlDefs::EElementNone;
+ }
} else
m_savedCursorPosition = cursor->position();
cursor->cursorUpdate(visible & !AknLayoutUtils::PenEnabled());
@@ -509,7 +553,9 @@
if ( visible ) {
clearOffScreenBitmap();
+ m_tabbedNavigation->initializeForPage();
syncRepaint( mainFrame()->frameView()->visibleRect() );
+ TRAP_IGNORE( m_webfeptexteditor->EnableCcpuL() );
}
}
@@ -520,7 +566,7 @@
{
int zoomLevel = m_currentZoomLevel;
- if(!( m_widgetextension && m_widgetextension->IsWidgetPublising())) {
+ if(m_widgetextension && !(m_widgetextension->IsWidgetPublising())) {
zoomLevelChanged( KZoomLevelDefaultValue );
}
Frame* f = m_page->mainFrame();
@@ -782,6 +828,7 @@
m_focusedElementType = TBrCtlDefs::EElementNone;
}
m_brctl->updateDefaultSoftkeys();
+ page()->chrome()->client()->setElementVisibilityChanged(false);
}
void WebView::updatePageScaler()
@@ -898,7 +945,8 @@
event.iPosition = pos;
event.iModifiers = 0;
event.iType = eventType;
-
+
+ setMouseEventFired();
switch (eventType) {
case TPointerEvent::EButton1Down:
{
@@ -918,6 +966,7 @@
break;
}
};
+ clearMouseEventFired();
}
@@ -931,22 +980,21 @@
}
}
-bool WebView::needDeactivateEditable(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame)
+bool WebView::needDeactivateEditable(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame, bool consumed)
{
- bool upOrDown = ((keyevent.iCode == EKeyUpArrow) ||
- (keyevent.iCode == EStdKeyUpArrow) ||
- (keyevent.iCode == EKeyRightUpArrow) ||
- (keyevent.iCode == EKeyDownArrow) ||
- (keyevent.iCode == EStdKeyDownArrow) ||
- (keyevent.iCode == EKeyLeftDownArrow));
- bool shouldEndEditing = frame->editor()->client()->shouldEndEditing(NULL);
- bool inEditState = (m_isEditable && (m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox));
- bool isSelectBoxActive = (m_focusedElementType == TBrCtlDefs::EElementSelectBox);
- bool deactivateInputBox = (inEditState && upOrDown && m_webfeptexteditor->validateTextFormat());
- bool deactivateSelectBox = (isSelectBoxActive && isNaviKey(keyevent));
-
+ /*
+ * Here we are making an assumption that if element visibility has been changed
+ * than JavaScript used the key event. If this the the case or consumed is tru and
+ * keys are Up or Down we don't want to deactivate an editable element.
+ * Google suggest is examples if such case.
+ */
+ bool upOrDownConsumed = (consumed || //JavaScript consumed event or
+ (m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox && // style of input box
+ page()->chrome()->client()->elementVisibilityChanged())) && // changed
+ (IS_UP_KEY(keyevent) || IS_DOWN_KEY(keyevent));
+ bool shouldEndEditing = frame->editor()->client()->shouldEndEditing(NULL) && !upOrDownConsumed;
bool deactivateEditable = (m_isEditable && shouldEndEditing && m_webfeptexteditor->validateTextFormat());
- return deactivateEditable || deactivateSelectBox;
+ return deactivateEditable;
}
@@ -981,19 +1029,12 @@
}
}
else {
- if (keyevent.iCode == EKeyDevice3) { //selection key (MSK)
- // mimic ccb's behavior of onFocus
+ if (keyevent.iCode == EKeyDevice3) { // selection key (MSK)
consumed = handleMSK(keyevent, oldKeyCode, frame);
-
- // Toolbar is activated on long key press only if the element
- // type is EElementNone during EEventKeyDown and EEventKey.
- // This prevents toolbar from popping up in DHTML pages. Also,
- // toolbar is activated when the user is not in fast scroll
- // mode, or in page overview mode, or on wml page.
}
else if (isNaviKey(keyevent)) {
consumed = handleNaviKeyEvent(keyevent, oldKeyCode, frame);
- } // if (m_brctl->settings()->getNavigationType()
+ }
else { // Not an arrow key..
// activate hovered input element by just start typing
consumed = !m_isEditable && handleInputElement(keyevent, eventcode, frame);
@@ -1005,90 +1046,201 @@
return consumed;
}
+
bool WebView::handleMSK(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame)
{
WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
bool prevEditableState = m_isEditable;
- if (m_focusedElementType != TBrCtlDefs::EElementActivatedInputBox ) {
- sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Down,
- cursor->position(), frame);
+ bool tabbedNavigation = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed);
+ Node* focusedNode = frame->document()->focusedNode();
+ bool multiSelectInTabbed = (m_focusedElementType == TBrCtlDefs::EElementSelectMultiBox) && // multiselect element
+ tabbedNavigation; // in tabbed mode.
+ /*
+ * Avoiding resetting cursor position to top left corner of Select Box
+ * See comment in handleInputElement
+ */
+ if (!multiSelectInTabbed) {
+ setFocusNone();
+ }
+
+ sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Down,
+ cursor->position(), frame);
+ if (!tabbedNavigation) {
+ setFocusedNode(frame); //TODO: Do we need it here?
}
- setFocusedNode(frame);
+ else {
+ /*
+ * Restore focused by tabbed navigation node since mouse event
+ * handler might set it to NULL.
+ */
+ page()->focusController()->setFocusedNode(focusedNode, frame);
+ }
+
+ /*
+ * MSK key event on editable will be interpreted as Enter.
+ * We don't want to send Enter key in case of activated
+ * input box. Also if the text area has been just activated
+ * we also don't want to send Enter since it will cause extra
+ * line feed.
+ */
bool textAreaJustActivated = (!prevEditableState && m_isEditable &&
m_focusedElementType == TBrCtlDefs::EElementTextAreaBox);
+
if (eventcode == EEventKeyDown &&
m_focusedElementType != TBrCtlDefs::EElementActivatedInputBox &&
!textAreaJustActivated) {
+
sendKeyEventToEngine(keyevent, EEventKeyDown, frame);
}
+
+ /*
+ * Toolbar is activated on long key press only if the element
+ * type is EElementNone during EEventKeyDown and EEventKey.
+ * This prevents toolbar from popping up in DHTML pages. Also,
+ * toolbar is activated when the user is not in fast scroll
+ * mode, or in page overview mode, or on wml page.
+ */
if ((m_focusedElementType == TBrCtlDefs::EElementNone ||
m_focusedElementType == TBrCtlDefs::EElementBrokenImage ) &&
keyevent.iRepeats && !m_brctl->wmlMode() ) {
launchToolBarL();
+ if(m_toolbar) {
+ sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Up, cursor->position(), frame);
+ }
}
+
return true;
}
-bool WebView::handleNaviKeyEvent(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame)
+
+bool WebView::handleNaviKeyEvent(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame)
{
bool downEventConsumed = false;
bool consumed = false;
bool tabbedNavigation = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed);
+ bool navigationNone = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeNone);
/*
- * For each platform keyDown event EventHandler::keEvent() generates
+ * For each platform keyDown event EventHandler::keEvent() generates
* keydown and keypress.
- * For keypress event we need a char code and since we don't
- * have it at the time of EEventKeyDown we pospond it until EEventKey
+ * For keypress event we need a char code and since we don't
+ * have it at the time of EEventKeyDown we pospond it until EEventKey
* and send it here.
*/
if (eventcode == EEventKeyDown){
- downEventConsumed = sendKeyEventToEngine(keyevent, EEventKeyDown, frame);
+ downEventConsumed = sendKeyEventToEngine(keyevent, EEventKeyDown, frame) ||
+ ((m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox && // style of input box
+ page()->chrome()->client()->elementVisibilityChanged()));
}
-
- if (!downEventConsumed && needDeactivateEditable(keyevent, eventcode, frame)) {
+
+ /*
+ * downEventConsumed will be true if JavaScript consumes key event
+ * If we are not in the widget mode we want to deactivate input box
+ * regardless of whether event was consumed by JavaScript or not.
+ * Othrerwise we have a risk to be trapped inside input box.
+ */
+ bool widgetDownEventConsumed = downEventConsumed && (m_widgetextension != NULL);
+
+ if (!widgetDownEventConsumed && needDeactivateEditable(keyevent, eventcode, frame, downEventConsumed)) {
deactivateEditable();
}
-
+ if(!navigationNone)
+ if(frame->document()->focusedNode() != NULL && IS_DOWN_KEY(keyevent) && frame->document()->focusedNode()->changed())
+ {
+ deactivateEditable();
+ }
if (tabbedNavigation) {
consumed = downEventConsumed || handleTabbedNavigation(m_currentEventKey, m_currentEventCode);
}
- else {
- consumed = (!m_isEditable && //avoid showing the cursor when we are in the input box
+ else {
+ consumed = (!m_isEditable && //avoid showing the cursor when we are in the input box
handleKeyNavigation(keyevent, eventcode, frame)) ||
downEventConsumed;
}
return consumed;
}
-
bool WebView::handleInputElement(const TKeyEvent& keyevent, TEventCode eventcode, Frame* frame)
{
WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
+ TBrCtlDefs::TBrCtlElementType elTypeBeforeMouseEvent = m_focusedElementType;
+ bool tabbedNavigation = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed);
+ bool navigationNone = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeNone);
+ bool prevEditableState = m_isEditable;
+ bool enterOnMultiSelectInTabbed = tabbedNavigation && (keyevent.iCode == EKeyEnter) && // EnterKey in case of
+ (m_focusedElementType == TBrCtlDefs::EElementSelectMultiBox); // multiselect eelement in tabbed mode.
+
+
bool sendMousedEvent = false;
if (m_focusedElementType == TBrCtlDefs::EElementInputBox ||
- m_focusedElementType == TBrCtlDefs::EElementTextAreaBox) {
+ m_focusedElementType == TBrCtlDefs::EElementTextAreaBox ||
+ (tabbedNavigation &&
+ (m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox))) {
sendMousedEvent = true;
}
else if (m_focusedElementType == TBrCtlDefs::EElementSelectBox ||
m_focusedElementType == TBrCtlDefs::EElementSelectMultiBox) {
- if (m_brctl->settings()->getNavigationType() != SettingsContainer::NavigationTypeNone ||
- keyevent.iCode == EKeyDevice3) {
+ if (!navigationNone || keyevent.iCode == EKeyDevice3) {
sendMousedEvent = true;
}
}
+
+ if (m_focusedElementType == TBrCtlDefs::EElementTextAreaBox ||
+ m_focusedElementType == TBrCtlDefs::EElementInputBox ||
+ m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox) {
+ page()->chrome()->client()->setElementVisibilityChanged(false);
+ }
+
if (sendMousedEvent) {
+ /*
+ * Sending mouse event to WebCore will trigger FocusController->setFocusedNode() to be called.
+ * It will do anything only if focused node has been changed. Among other thing it will
+ * trigger the setEditable() call, which we need. The exception is the case when
+ * we have tabbed navigation and EnterKey was hit in MultiSelect Box.
+ * In this case we just want to select item in the select element.
+ * HTMLSelectElement::listBoxDefaultEventHandler() will call focus() which will
+ * set the focused node, which is already set anyway, but this will cause the
+ * reseting cursor position to the top left corner of the select box.
+ * To avoid thos we put the check here before we reset the foocusedNode.
+ */
+ if (!enterOnMultiSelectInTabbed) {
+ frame->document()->setFocusedNode(NULL);
+ }
+
+ /*
+ * Tweek the m_isEditable flag, so setEditable will do something
+ * usefull when it's called from FocusController->setFocusedNode()
+ */
+ if (m_isEditable && tabbedNavigation) {
+ m_isEditable = false;
+ }
+
sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Down, cursor->position(), frame);
sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Up, cursor->position(), frame);
-
- if (m_focusedElementType == TBrCtlDefs::EElementInputBox ||
- m_focusedElementType == TBrCtlDefs::EElementTextAreaBox ||
- m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox) {
+
+ /*
+ * If enter key was pressed to activate an input box we don't want to
+ * send it to WebCore since it may cause immediate form submission.
+ * Same for MultiSelect Box in tabbed mode.
+ */
+ bool inputBoxJustActivated = (!prevEditableState && m_isEditable &&
+ (m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox||
+ m_focusedElementType == TBrCtlDefs::EElementTextAreaBox));
+ bool inputBoxJustActivatedByEnter = inputBoxJustActivated && (keyevent.iCode == EKeyEnter);
+ if (!inputBoxJustActivatedByEnter &&
+ !enterOnMultiSelectInTabbed &&
+ (m_focusedElementType == TBrCtlDefs::EElementInputBox ||
+ m_focusedElementType == TBrCtlDefs::EElementTextAreaBox ||
+ m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox)) {
+
if (!m_fepTimer) {
m_fepTimer = new WebCore::Timer<WebView>(this, &WebView::fepTimerFired);
}
m_fepTimer->startOneShot(0.2f);
- setEditable(true);
+ if (!m_isEditable) {
+ setEditable(true);
+ }
}
+
m_keyevent = keyevent;
m_eventcode = eventcode;
return true;
@@ -1122,6 +1274,16 @@
cursor->scrollAndMoveCursor(keyevent.iCode, m_scrollingSpeed, fastscroll);
}
updateScrollbars();
+ /*
+ * In order to Enter key activate a link the link node has to be focused.
+ * When WebCursor is finding next node to snap it stores it, so here we can
+ * set it to focused.
+ */
+ if (m_brctl->settings()->brctlSetting(TBrCtlDefs::ESettingsEnterKeyMode) ==
+ TBrCtlDefs::EEnterKeyCanActivateLink) {
+ setFocusedNodeUnderCursor(frame);
+ }
+
if (!fastscroll) {
m_fastScrollTimer->Start(KCursorInitialDelay,KCursorUpdateFrquency,TCallBack(&scrollTimerCb,this));
m_scrollingStartTime.HomeTime();
@@ -1138,6 +1300,18 @@
return consumed;
}
+void WebView::setFocusedNodeUnderCursor(Frame* frame)
+{
+ WebCursor* cursor = StaticObjectsContainer::instance()->webCursor();
+ // focus the node we snapped to
+ if (m_focusedElementType != TBrCtlDefs::EElementNone) {
+ frame->document()->setFocusedNode(cursor->getElementUnderCursor());
+ }
+ // or reset if there is none
+ else if (frame->document()->focusedNode() != NULL) {
+ frame->document()->setFocusedNode(NULL);
+ }
+}
bool WebView::handleMinimapNavigation()
{
@@ -1244,7 +1418,7 @@
(keyevent.iScanCode == EStdKeyEnter) ) {
// pass it to webcore
- if (( m_focusedElementType == TBrCtlDefs::EElementInputBox ||
+ if (( m_focusedElementType == TBrCtlDefs::EElementActivatedInputBox ||
m_focusedElementType == TBrCtlDefs::EElementTextAreaBox) &&
m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed ) {
if (!m_prevEditMode) {
@@ -1255,8 +1429,10 @@
}
}
if (m_brctl->settings()->getNavigationType() != SettingsContainer::NavigationTypeNone) {
- if (!sendKeyEventToEngine(correctedKeyEvent, eventcode, frame)) {
- sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Up, cursor->position(), frame);
+ if (!sendKeyEventToEngine(correctedKeyEvent, eventcode, frame)) {
+ if (keyevent.iScanCode == EStdKeyDevice3) { //MSK
+ sendMouseEventToEngineIfNeeded(TPointerEvent::EButton1Up, cursor->position(), frame);
+ }
}
consumed = true;
}
@@ -1301,10 +1477,12 @@
{
bool tabbedNavigation = (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeTabbed);
Node* targetNode = frame->document()->focusedNode();
- if (!m_isEditable) {
-
-
-
+ /*
+ * we dont want to send key event for navi key to the elements
+ * like select element since it has default key event handling,
+ * which will prevent user to leave the element.
+ */
+ if (!m_isEditable && isNaviKey(keyevent)) {
frame->document()->setFocusedNode(NULL);
}
bool consumed = frame->eventHandler()->keyEvent(PlatformKeyboardEvent(keyevent,eventcode));
@@ -1338,6 +1516,18 @@
if (m_popupDrawer)
return m_popupDrawer->handleOfferKeyEventL(keyevent, eventcode );
+
+ if (m_focusedElementType == TBrCtlDefs::EElementObjectBox
+ || m_focusedElementType == TBrCtlDefs::EElementActivatedObjectBox) {
+
+ Node* node = static_cast<Node*>(cursor->getElementUnderCursor());
+ MWebCoreObjectWidget* view = widget(node);
+ PluginSkin* plugin = static_cast<PluginSkin*>(view);
+ if (plugin && plugin->pluginWin() && !(plugin->pluginWin()->Windowed())) {
+ if (EKeyWasConsumed == plugin->pluginWin()->OfferKeyEventL(keyevent, eventcode))
+ return EKeyWasConsumed;
+ }
+ }
if ( m_webFormFillPopup && m_webFormFillPopup->IsVisible() && AknLayoutUtils::PenEnabled() ) {
if (EKeyWasConsumed == m_webFormFillPopup->HandleKeyEventL(keyevent, eventcode)) {
@@ -1576,6 +1766,8 @@
void WebView::setEditable(TBool editable)
{
Frame* frame = core(mainFrame());
+
+ page()->chrome()->client()->setElementVisibilityChanged(false);
if (!frame || m_isEditable == editable)
return;
@@ -1857,6 +2049,7 @@
m_findKeyword = NULL;
WebFrame* selectedFrame = mainFrame()->findFrameWithSelection();
selectedFrame->clearSelection();
+ setFocusNone();
}
bool WebView::isSmallPage()
@@ -1873,30 +2066,6 @@
}
}
-
-//-------------------------------------------------------------------------------
-// WebView::HandlePointerBufferReadyL
-// Handles pointer move events
-//-------------------------------------------------------------------------------
-void WebView::HandlePointerBufferReadyL()
-{
- memset(m_ptrbuffer,0,256*sizeof(TPoint));
- TPtr8 ptr((TUint8 *)m_ptrbuffer,256*sizeof(TPoint));
-
- TInt numPnts = Window().RetrievePointerMoveBuffer(ptr);
- int i = 0;
- if (m_brctl->settings()->getNavigationType() == SettingsContainer::NavigationTypeNone) {
- if (numPnts > 20)
- i = numPnts - 20;
- }
- for (; i < numPnts; i++) {
- TPointerEvent pe;
- pe.iType = TPointerEvent::EDrag;
- pe.iPosition = m_ptrbuffer[i];
- m_webpointerEventHandler->HandlePointerEventL(pe);
- }
-}
-
//-------------------------------------------------------------------------------
// WebView::HandlePointerEventL
// Handles pointer events
@@ -2250,6 +2419,25 @@
mainFrame()->scalingFactorChanged(z);
view->checkScrollbarVisibility();
+ if (m_isPinchZoom) {
+ if (newZoomLevel > m_startZoomLevel) {
+ TPoint cpos( mainFrame()->frameView()->contentPos());
+ cpos.iX = cpos.iX + m_pinchDocDelta.iX +.5;
+ cpos.iY = cpos.iY + m_pinchDocDelta.iY +.5;
+ mainFrame()->frameView()->setContentPos(cpos);
+ }
+ if (m_startZoomLevel > newZoomLevel) {
+ TPoint cpos( mainFrame()->frameView()->contentPos());
+ cpos.iX = cpos.iX - m_pinchDocDelta.iX +.5;
+ cpos.iY = cpos.iY - m_pinchDocDelta.iY +.5;
+
+ if (cpos.iX < 0) cpos.iX = 0;
+ if (cpos.iY < 0) cpos.iY = 0;
+ mainFrame()->frameView()->setContentPos(cpos);
+ }
+ m_isPinchZoom = false;
+ }
+
TRect rect = view->rect();
TInt tlx = (rect.iTl.iX * currZoomLevel) / m_currentZoomLevel;
@@ -2348,7 +2536,14 @@
setZoomLevel(zoomLevel);
mainFrame()->notifyPluginsOfScrolling();
-}
+
+ if (zoomLevel == KZoomLevelDefaultValue)
+ {
+ // for pages based on tables this is required
+ doLayout();
+ }
+
+ }
//-------------------------------------------------------------------------------
// WebView::openPluginPlayerL
@@ -2404,6 +2599,7 @@
#if USE(LOW_BANDWIDTH_DISPLAY)
m_page->mainFrame()->loader()->setUseLowBandwidthDisplay(false);
#endif
+ StaticObjectsContainer::instance()->setIconDatabaseEnabled(false);
}
//Widgets dont need memory cache for dead objects. hence set it to 0
@@ -2759,4 +2955,118 @@
}
}
+void WebView::wait(double t)
+{
+ if (!m_waitTimer) {
+ m_waitTimer = new WebCore::Timer<WebView>(this, &WebView::waitTimerCB);
+ }
+
+ if (!m_waitTimer->isActive()) {
+ m_waitTimer->startOneShot(t);
+ }
+
+ if (!m_waitTimer->isActive() && !m_waiter->IsStarted()) {
+ m_waiter->Start();
+ }
+}
+
+void WebView::waitTimerCB(WebCore::Timer<WebView>* t)
+{
+ if (m_waiter->IsStarted()) {
+ m_waiter->AsyncStop();
+ }
+}
+
+//-------------------------------------------------------------------------------
+// WebView::setPinchBitmapZoomLevel
+//-------------------------------------------------------------------------------
+void WebView::setPinchBitmapZoomLevel(int zoomLevel)
+{
+ m_zoomLevelChangedByUser = true;
+ m_dirtyZoomMode = true;
+ m_isPluginsVisible = false;
+ mainFrame()->makeVisiblePlugins(false);
+ m_isPinchZoom = true;
+
+ if (zoomLevel > m_startZoomLevel) {
+ setPinchBitmapZoomIn(zoomLevel);
+ }
+ else {
+ setPinchBitmapZoomOut(zoomLevel);
+ }
+ m_currentZoomLevel = zoomLevel;
+ DrawNow();
+}
+
+//-------------------------------------------------------------------------------
+// WebView::setPinchBitmapZoomIn
+//-------------------------------------------------------------------------------
+void WebView::setPinchBitmapZoomIn(int zoomLevel)
+{
+ TPoint pinchCenter = m_pinchZoomHandler->pinchCenter();
+
+ // cut m_srcRectForZooming from m_offscreenrect and enlarge it to fit the view rect
+ TRealPoint centerAfterZoom;
+ //find out the new position of Pinch Center after applying zoom
+ centerAfterZoom.iX = (float)pinchCenter.iX * zoomLevel/m_startZoomLevel;
+ centerAfterZoom.iY = (float)pinchCenter.iY * zoomLevel/m_startZoomLevel;
+ TRealPoint centerDelta;
+ //get the shift in the Pinch Center
+ centerDelta.iX = centerAfterZoom.iX - pinchCenter.iX;
+ centerDelta.iY = centerAfterZoom.iY - pinchCenter.iY;
+ TPoint shiftInView;
+ //find out how much shift needs to be applied to the current zoom, w.r.t. the new view
+ shiftInView.iX = centerDelta.iX * m_startZoomLevel / zoomLevel;
+ shiftInView.iY = centerDelta.iY * m_startZoomLevel / zoomLevel;
+ //width and height of the rectangle that should be used for bitmap stretching
+ float newWidth = (float)m_offscreenrect.Width() * m_startZoomLevel / zoomLevel;
+ float newHeight = (float)m_offscreenrect.Height() * m_startZoomLevel /zoomLevel;
+ //defining the source rectangle which needs to be bitmap stretched
+ m_srcRectForZooming.iTl.iX = shiftInView.iX;
+ m_srcRectForZooming.iTl.iY = shiftInView.iY;
+ m_srcRectForZooming.iBr.iX = newWidth + shiftInView.iX;
+ m_srcRectForZooming.iBr.iY = newHeight + shiftInView.iY;
+ //destRectForZooming is the Coecontrol Rect itself
+ m_destRectForZooming = Rect();
+ //get the shift in the document so that during the next engine re-draw, the origin needs to be updated based on that
+ m_pinchDocDelta.iX = (float)shiftInView.iX * 100 / m_startZoomLevel;
+ m_pinchDocDelta.iY = (float)shiftInView.iY * 100 / m_startZoomLevel;
+}
+
+
+//-------------------------------------------------------------------------------
+// WebView::setPinchBitmapZoomOut
+//-------------------------------------------------------------------------------
+void WebView::setPinchBitmapZoomOut(int zoomLevel)
+{
+ TPoint pinchCenter = m_pinchZoomHandler->pinchCenter();
+
+ // take the whole rect and calculate new rect to fit it the rest of view rect paint gray colour
+ TRealPoint centerAfterZoom;
+ //find out the new position of Pinch Center after applying zoom
+ centerAfterZoom.iX = (float)pinchCenter.iX * m_startZoomLevel / zoomLevel;
+ centerAfterZoom.iY = (float)pinchCenter.iY * m_startZoomLevel / zoomLevel;
+ TRealPoint centerDelta;
+ //get the shift in the Pinch Center
+ centerDelta.iX = centerAfterZoom.iX - pinchCenter.iX;
+ centerDelta.iY = centerAfterZoom.iY - pinchCenter.iY;
+ TPoint shiftInView;
+ //find out how much shift needs to be applied to the current zoom, w.r.t. the new view
+ shiftInView.iX = centerDelta.iX * zoomLevel / m_startZoomLevel;
+ shiftInView.iY = centerDelta.iY * zoomLevel / m_startZoomLevel;
+ //width and height of the rectangle
+ float newWidth = (float)m_offscreenrect.Width() * zoomLevel / m_startZoomLevel;
+ float newHeight = (float)m_offscreenrect.Height() * zoomLevel / m_startZoomLevel;
+ //defining the co-ordinates of the destination rectangle.
+ m_destRectForZooming.iTl.iX = shiftInView.iX;
+ m_destRectForZooming.iTl.iY = shiftInView.iY;
+ m_destRectForZooming.iBr.iX = newWidth + shiftInView.iX;
+ m_destRectForZooming.iBr.iY = newHeight + shiftInView.iY;
+ //srcRectForZooming is the Coecontrol Rect itself
+ m_srcRectForZooming = Rect();
+ //get the shift in the document so that during the next engine re-draw, the origin needs to be updated based on that
+ m_pinchDocDelta.iX = (float)shiftInView.iX * 100 / zoomLevel;
+ m_pinchDocDelta.iY = (float)shiftInView.iY * 100 / zoomLevel;
+}
+
// END OF FILE
--- a/webengine/osswebengine/WebKit/s60/webview/WebView.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WebView.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,10 +23,11 @@
#include <e32std.h>
#include <eikscrlb.h>
#include "platform/Shared.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "PageScaler.h"
#include "Timer.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
+#include <stmgesturelistener.h>
namespace WebCore
{
@@ -66,6 +67,13 @@
class WebPageFullScreenHandler;
class WebFrameView;
class WebFrameBridge;
+class WebPagePinchZoomHandler;
+
+
+const TUint KMouseEventFired = 0x00000001;
+const TUint KKeyEventFired = 0x00000002;
+
+
class WebView : public CEikBorderedControl, public WebCore::Shared<WebView>, private MPageScalerCallback, public MOOMStopper
{
@@ -288,13 +296,6 @@
void closeToolBarL();
/**
- * HandlePointerBufferReadyL
- * From CCoeControl
- *
- */
- void HandlePointerBufferReadyL();
-
- /**
* HandlePointerEventL
* From CCoeControl
*
@@ -343,6 +344,26 @@
* Collects offscreen bitmap
*/
void collectOffscreenbitmapL(CFbsBitmap& snapshot);
+
+ /**
+ * To get the pinch zoom handler
+ */
+ WebPagePinchZoomHandler* pinchZoomHandler() { return m_pinchZoomHandler; }
+
+ /**
+ * To set the Bitmap zooming for Pinch
+ */
+ void setPinchBitmapZoomLevel(int zoomLevel);
+
+ /**
+ * To set the Bitmap zooming In for Pinch
+ */
+ void setPinchBitmapZoomIn(int zoomLevel);
+
+ /**
+ * To set the Bitmap zooming Out for Pinch
+ */
+ void setPinchBitmapZoomOut(int zoomLevel);
public: // from MPageScalerCallback
/**
@@ -459,13 +480,15 @@
bool handleEventKeyUp(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame);
bool handleEditable(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame );
bool isNaviKey(const TKeyEvent& keyevent);
- bool needDeactivateEditable(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame);
+ bool needDeactivateEditable(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame, bool consumed);
bool deactivateEditable();
TUint correctKeyCode();
bool handleNaviKeyEvent(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame);
bool handleMSK(const TKeyEvent& keyevent, TEventCode eventcode, WebCore::Frame* frame);
- void sendMouseEventToEngineIfNeeded(TPointerEvent::TType eventType, TPoint pos, WebCore::Frame* frame);
-
+ void sendMouseEventToEngineIfNeeded(TPointerEvent::TType eventType, TPoint pos, WebCore::Frame* frame);
+ void setFocusedNodeUnderCursor(WebCore::Frame* frame);
+ void waitTimerCB(WebCore::Timer<WebView>* t);
+
public:
void sendMouseEventToEngine(TPointerEvent::TType eventType, TPoint pos, WebCore::Frame* frame);
void fepTimerFired(WebCore::Timer<WebView>*);
@@ -478,6 +501,15 @@
void focusedElementChanged(WebCore::Element* element);
void windowObjectCleared() const;
+ bool isMouseEventFired() { return m_firedEvent & KMouseEventFired; }
+ bool isKeyEventFired() { return m_firedEvent & KKeyEventFired; }
+ void setMouseEventFired() { m_firedEvent |= KMouseEventFired; }
+ void setKeyEventFired() { m_firedEvent |= KKeyEventFired; }
+ void clearMouseEventFired() { m_firedEvent &= ~KMouseEventFired; }
+ void clearKeyEventFired() { m_firedEvent &= ~KKeyEventFired; }
+ void clearEventFired() { m_firedEvent = 0; }
+
+ void wait(double t);
private:
WebCore::Page* m_page;
WebFrameView* m_frameView;
@@ -559,7 +591,16 @@
//Indicates any plugin is activated/deactivated
bool m_showCursor;
bool m_allowRepaints;
- bool m_prevEditMode;
+ bool m_prevEditMode;
+ int m_firedEvent;
+
+ CActiveSchedulerWait* m_waiter;
+ WebCore::Timer<WebView>* m_waitTimer;
+
+ //Pinch Zoom Handler
+ WebPagePinchZoomHandler* m_pinchZoomHandler;
+ TBool m_isPinchZoom;
+ TRealPoint m_pinchDocDelta;
};
#endif
--- a/webengine/osswebengine/WebKit/s60/webview/WmlDispatcher.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WmlDispatcher.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
#include <w32std.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "BrCtl.h"
#include "SelfDownloadContentHandler.h"
--- a/webengine/osswebengine/WebKit/s60/webview/WmlInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WmlInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
// INCLUDES
#include <e32std.h>
#include <e32base.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "BrCtl.h"
class CWmlContentInterface;
@@ -90,7 +90,7 @@
/**
* Set the WKScrollingProviderNotifyLayoutChange.
- * Function BrCtlDialogsProvider.h
+ * Function brctldialogsprovider.h
* void CBrCtlScrollingProvider::NotifyLayoutChange(..)
* @since 3.1.
* @return void
@@ -100,7 +100,7 @@
/**
* Set the SetWKScrollingProviderUpdateVScrollBarL.
- * Function BrCtlDialogsProvider.h
+ * Function brctldialogsprovider.h
* void CBrCtlScrollingProvider::UpdateVScrollBarL(..)
* @since 3.1.
* @return void
@@ -113,7 +113,7 @@
/**
* Set the SetWKScrollingProviderUpdateHScrollBarL
- * Function BrCtlDialogsProvider.h
+ * Function brctldialogsprovider.h
* void CBrCtlScrollingProvider::UpdateHScrollBarL(..)
* @since 3.1.
* @return void
@@ -129,7 +129,7 @@
/**
* Used by and defined in support of CWKDialogProvider
- * Function BrCtlDialogsProvider.h
+ * Function brctldialogsprovider.h
* CBrCtlObjectInfo::CWKObjectInfo() in
* [WEBKIT\BrowserControl\src\WKDialogsProviderUtils.cpp]
* @since 3.1.
--- a/webengine/osswebengine/WebKit/s60/webview/WmlInterfaceImpl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WmlInterfaceImpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <e32base.h>
#include "WmlInterface.h"
-#include "BrCtlDialogsProvider.h"
+#include <brctldialogsprovider.h>
class CBrCtlObjectInfo;
class CWmlContentInterface;
@@ -119,7 +119,7 @@
/**
* Set the WKScrollingProviderNotifyLayoutChange.
- * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\BrCtlDialogsProvider.h
+ * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\brctldialogsprovider.h
* void CBrCtlScrollingProvider::NotifyLayoutChange(..)
* @since 3.1.
* @return void
@@ -129,7 +129,7 @@
/**
* Set the SetWKScrollingProviderUpdateVScrollBarL.
- * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\BrCtlDialogsProvider.h
+ * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\brctldialogsprovider.h
* void CBrCtlScrollingProvider::UpdateVScrollBarL(..)
* @since 3.1.
* @return void
@@ -141,7 +141,7 @@
TInt aDisplayPosY);
/**
* Set the SetWKScrollingProviderUpdateHScrollBarL
- * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\BrCtlDialogsProvider.h
+ * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\brctldialogsprovider.h
* void CBrCtlScrollingProvider::UpdateHScrollBarL(..)
* @since 3.1.
* @return void
@@ -159,7 +159,7 @@
/**
* Used by and defined in support of CWKDialogProvider
- * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\BrCtlDialogsProvider.h
+ * Function \S60\WebEngine\WEBKIT\BrowserControl\inc\brctldialogsprovider.h
* CBrCtlObjectInfo::CWKObjectInfo() in
* [WEBKIT\BrowserControl\src\WKDialogsProviderUtils.cpp]
* @since 3.1.
--- a/webengine/osswebengine/WebKit/s60/webview/WmlResourceLoaderClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/WmlResourceLoaderClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
#include <w32std.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "BrCtl.h"
#include "SelfDownloadContentHandler.h"
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#ifndef __BROWSER_SDK
#include <platform_paths.hrh>
-#include "../../../../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#endif
PRJ_PLATFORMS
@@ -26,10 +26,10 @@
PRJ_EXPORTS
#ifndef __BROWSER_SDK
-../inc/BrCtlDefs.h MW_LAYER_PUBLIC_EXPORT_PATH(BrCtlDefs.h)
+../inc/brctldefs.h MW_LAYER_PUBLIC_EXPORT_PATH(brctldefs.h)
../inc/brctlinterface.h MW_LAYER_PUBLIC_EXPORT_PATH(brctlinterface.h)
#else
-../inc/BrCtlDefs.h /epoc32/include/BrCtlDefs.h
+../inc/brctldefs.h /epoc32/include/brctldefs.h
../inc/brctlinterface.h /epoc32/include/brctlinterface.h
#endif //#ifndef __BROWSER_SDK
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/inc/BrCtlDefs.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/inc/BrCtlDefs.h Mon Mar 29 12:27:15 2010 +0100
@@ -34,12 +34,12 @@
* Usage:
*
* @code
-* #include <BrCtlDefs.h>
+* #include <brctldefs.h>
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 3.0
-* @file BrCtlDefs.h
+* @file brctldefs.h
* @endcode *
*/
class TBrCtlDefs
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/inc/BrCtlInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/inc/BrCtlInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef BRCTLINTERFACE_H
#define BRCTLINTERFACE_H
@@ -28,14 +26,14 @@
#include <eikmenup.h>
#include <ssl.h>
-#include <BrCtlDialogsProvider.h>
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlLinkResolver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlWindowObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlDefs.h>
+#include <brctldialogsprovider.h>
+#include <brctllayoutobserver.h>
+#include <brctllinkresolver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctlwindowobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctldefs.h>
// DATA TYPES
@@ -109,27 +107,27 @@
* Usage:
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* // Interface that provides dialogs used by the Browser Control.
-* #include <BrCtlDialogsProvider.h>
+* #include <brctldialogsprovider.h>
* // Interface used to receive scrolling events.
-* #include <BrCtlLayoutObserver.h>
+* #include <brctllayoutobserver.h>
* //Interface that provides a callback mechanism for receiving the
* //content of an embedded link or the content of a user-initiated
* //load request.
-* #include <BrCtlLinkResolver.h>
+* #include <brctllinkresolver.h>
* //Interface that handles requests to change the softkeys.
-* #include <BrCtlSoftkeysObserver.h>
+* #include <brctlsoftkeysobserver.h>
* //Interface that handles special load needs.
-* #include <BrCtlSpecialLoadObserver.h>
+* #include <brctlspecialloadobserver.h>
* //Reserved for future use.
-* #include <BrCtlWindowObserver.h>
+* #include <brctlwindowobserver.h>
* //Interface that passes download events from the
* //Download Manager through the Browser Control to the
* //host application.
-* #include <BrCtlDownloadObserver.h>
+* #include <brctldownloadobserver.h>
* Enum Definition of the Browser Control API.
-* #include <BrCtlDefs.h>
+* #include <brctldefs.h>
*
*
* The following types of things you can do with the Browser Control API.
@@ -149,7 +147,7 @@
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class CBrCtlInterface : public CCoeControl
@@ -619,11 +617,11 @@
* Usage:
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlDataLoadSupplier
@@ -644,11 +642,11 @@
* the Browser Control with the ability to receive content incrementally.
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlDataLoadConsumer
@@ -684,11 +682,11 @@
* The host application can implement this interface.
*
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlLoadEventObserver
@@ -709,10 +707,10 @@
* The TBrCtlWmlServiceOption class wraps information about the WML DO elements.
* For more information about the DO tag, see http://www.w3schools.com/wap/tag_do.asp.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class TBrCtlWmlServiceOption
@@ -771,10 +769,10 @@
/**
* The TBrCtlSubscribeTo class provides information of Subscribe to items.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class TBrCtlSubscribeTo
@@ -833,10 +831,10 @@
* implement this interface in order to find out when the view
* changes to and from the Image Map view.
* @code
-* #include <BrCtlInterface.h>
+* #include <brctlinterface.h>
* @lib BrowserEngine.lib
* @since 2.8
-* @file BrCtlInterface.h
+* @file brctlinterface.h
* @endcode *
*/
class MBrCtlStateChangeObserver
Binary file webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest.mcp has changed
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <domain/osextensions/platform_paths.hrh>
#include <data_caging_paths.hrh>
//#include "/../../../../WebEngine/OssWebEngine/WebKit/s60/group/common.mmpi"
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET WebViewApiTest.dll
TARGETTYPE dll
@@ -64,12 +64,11 @@
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebCore/loader/icon
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebCore/loader/wml
-//
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebKit/S60/Plugins
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebKit/S60/WebCoreSupport
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebKit/S60/FormControls
USERINCLUDE ../../../../WebEngine/OssWebEngine/WebKit/S60/Misc
-USERINCLUDE ../../../../WebEngine/OssWebEngine/MemoryManager/Inc
+// USERINCLUDE ../../../../WebEngine/OssWebEngine/MemoryManager/Inc
USERINCLUDE ../../../../WebEngine/OssWebEngine/DerivedSources/WebCore
SYSTEMINCLUDE ../../../../WebEngine/OssWebEngine/WebKit/S60/Plugins
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest.xml Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest.xml Mon Mar 29 12:27:15 2010 +0100
@@ -1684,7 +1684,7 @@
<FILE><PATHTYPE>Name</PATHTYPE><PATH>HTMLFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
<FILE><PATHTYPE>Name</PATHTYPE><PATH>HTMLGenericFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
<FILE><PATHTYPE>Name</PATHTYPE><PATH>HTMLInputElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
-<FILE><PATHTYPE>Name</PATHTYPE><PATH>HttpCacheManager.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
+<FILE><PATHTYPE>Name</PATHTYPE><PATH>httpcachemanager.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
<FILE><PATHTYPE>Name</PATHTYPE><PATH>HttpCallbacks.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
<FILE><PATHTYPE>Name</PATHTYPE><PATH>HttpConnection.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
<FILE><PATHTYPE>Name</PATHTYPE><PATH>httpDownload.h</PATH><PATHFORMAT>Windows</PATHFORMAT><FILEKIND>Text</FILEKIND></FILE>
@@ -1980,7 +1980,7 @@
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HTMLFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HTMLGenericFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HTMLInputElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HttpCacheManager.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>httpcachemanager.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HttpCallbacks.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>HttpConnection.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><PATHTYPE>Name</PATHTYPE><PATH>httpDownload.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
@@ -7114,7 +7114,7 @@
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HTMLFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HTMLGenericFormElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HTMLInputElement.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
-<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HttpCacheManager.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
+<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>httpcachemanager.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HttpCallbacks.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>HttpConnection.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
<FILEREF><TARGETNAME>WINSCW UDEB</TARGETNAME><PATHTYPE>Name</PATHTYPE><PATH>httpDownload.h</PATH><PATHFORMAT>Windows</PATHFORMAT></FILEREF>
Binary file webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/group/WebViewApiTest_Data/WINSCW_UDEB/TargetDataWindows.tdt has changed
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtl.h Mon Mar 29 12:27:15 2010 +0100
@@ -45,9 +45,8 @@
#define BRCTL_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
-#include "BrCtlDefs.h"
#include "HistoryInterface.h"
#include "WmlInterface.h"
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestContainer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestContainer.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,11 @@
// INCLUDES
//#include <coecntrl.h>
-#include <BrCtlInterface.h> // interface under test
+#include <brctlinterface.h> // interface under test
-//#include "BrCtlApiTestObserver.h"
-//#include "BrCtlApiTestStateChangeObserver.h"
-#include "BrCtlApiTestDialogsProvider.h"
+//#include "brctlapitestobserver.h"
+//#include "brctlapiteststatechangeobserver.h"
+#include "brctlapitestdialogsprovider.h"
// CONSTATNS
//const TInt KThisAppUid = 0xA0000181;
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestDialogsProvider.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestDialogsProvider.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
// User includes
// System Includes
-#include <BrCtlDialogsProvider.h>
+#include <brctldialogsprovider.h>
//#include <BrowserDialogsProviderProxy.h>
#include <e32std.h>
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,11 +21,11 @@
#define BRCTLBCTESTOBSERVER_H
// INCLUDES
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlInterface.h>
+#include <brctllayoutobserver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctlinterface.h>
#include <DocumentHandler.h>
#include <flogger.h>
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestStateChangeObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/BrCtlApiTestStateChangeObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#define BRCTLBCTESTSTATECHANGEOBSERVER_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
// FORWARD DECLARATIONS
class CBrCtlApiTestContainer;
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebView.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebView.h Mon Mar 29 12:27:15 2010 +0100
@@ -47,10 +47,10 @@
#include <e32std.h>
#include <eikscrlb.h>
#include "Shared.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "PageScaler.h"
#include "Timer.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
namespace WebCore
{
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestContainer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestContainer.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,10 @@
// INCLUDES
//#include <coecntrl.h>
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
-#include "BrCtlApiTestObserver.h"
-#include "BrCtlApiTestDialogsProvider.h"
+#include "brctlapitestobserver.h"
+#include "brctlapitestdialogsprovider.h"
#include <WebView.h> // interface under test
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,11 +21,11 @@
#define BRCTLBCTESTOBSERVER_H
// INCLUDES
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlInterface.h>
+#include <brctllayoutobserver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctlinterface.h>
#include <DocumentHandler.h>
#include <flogger.h>
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestStateChangeObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/inc/WebViewApiTestStateChangeObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#define BRCTLBCTESTSTATECHANGEOBSERVER_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
// FORWARD DECLARATIONS
class CWebViewApiTestContainer;
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/mock/inc/BrCtl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/mock/inc/BrCtl.h Mon Mar 29 12:27:15 2010 +0100
@@ -40,14 +40,13 @@
* ==============================================================================
*/
-
#ifndef BRCTL_H
#define BRCTL_H
// INCLUDES
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "HistoryInterface.h"
#include "WmlInterface.h"
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/mock/src/BrCtl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/mock/src/BrCtl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -39,7 +39,7 @@
* ==============================================================================
*/
// INCLUDE FILES
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
#include <../bidi.h>
#include <avkon.hrh>
#include <apmrec.h>
@@ -55,9 +55,9 @@
#endif
#include <GULICON.h>
#include <e32uid.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsprovider.h>
//tot:fixme
-//#include <oom.h>
+//#include "oom.h"
#include "config.h"
#include "BrCtl.h"
@@ -91,7 +91,7 @@
#include "WebCursor.h"
#include "WebUtil.h"
#include "WebCharsetData.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "ResourceLoaderDelegate.h"
#include "EventHandler.h"
#include "timer.h"
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -11,16 +11,16 @@
*/
// INCLUDE FILES
-#include "BrCtlApiTestContainer.h"
+#include "brctlapitestcontainer.h"
#include <eiklabel.h> // for example label control
#include <aknview.h>
//#include <AknGlobalConfirmationQuery.h>
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
#include <BrCtl.h>
#include <CHARCONV.H>
-#include "BrCtlApiTestObserver.h"
-#include "BrCtlApiTestStateChangeObserver.h"
+#include "brctlapitestobserver.h"
+#include "brctlapiteststatechangeobserver.h"
#include <e32std.h>
_LIT8( KContentDataType, "text/html" );
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestDialogsProvider.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestDialogsProvider.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,11 +19,11 @@
// INCLUDE Files
// System includes
-#include <BrowserDialogsProviderObserver.h>
-//#include <BrowserDialogsProvider.h>
+#include <browserdialogsproviderobserver.h>
+//#include <browserdialogsprovider.h>
// User includes
-#include "BrCtlApiTestDialogsProvider.h"
+#include "brctlapitestdialogsprovider.h"
// CONSTANTS
--- a/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/WebKit/s60/webview/webview_api_test/tsrc/src/BrCtlApiTestObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
//#include <eikenv.h>
//#include <eikbtgpc.h>
//#include <avkon.hrh>
-#include "BrCtlApiTestObserver.h"
+#include "brctlapitestobserver.h"
#include <aknmessagequerydialog.h>
#ifndef RD_PF_SEC_APPARC
--- a/webengine/osswebengine/cache/cache_check.pl Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/cache_check.pl Mon Mar 29 12:27:15 2010 +0100
@@ -1,18 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
#!/usr/bin/perl
#use Encode;
Binary file webengine/osswebengine/cache/conf/httpcachemanager.confml has changed
--- a/webengine/osswebengine/cache/filter_emulator_output.bat Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/filter_emulator_output.bat Mon Mar 29 12:27:15 2010 +0100
@@ -1,18 +1,2 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of the License "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
filter_log.pl %tmp%\epocwind.out log.txt"
log.txt
--- a/webengine/osswebengine/cache/filter_log.pl Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/filter_log.pl Mon Mar 29 12:27:15 2010 +0100
@@ -1,18 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
#!/usr/bin/perl
open INH,"<",$ARGV[0];
--- a/webengine/osswebengine/cache/group/BrowserCache.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/group/BrowserCache.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -14,13 +14,11 @@
* Description: BrowserCache
*
*/
-#if defined(__BROWSER_SDK)
-TARGET BrowserCache_sdk.dll
-#else
+
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-TARGET BrowserCache.dll
-#endif
+#include <platform/mw/browser_platform_variant.hrh>
+TARGET BrowserCache.dll
+
TARGETTYPE dll
UID 0x1000008D 0x10282353
@@ -30,14 +28,12 @@
EPOCALLOWDLLDATA
//MACRO HTTP_CACHE_LOGGING
-
#if defined(WINSCW)
deffile Bwinscw/BrowserCache.def
#elif defined(ARMCC)
deffile EABI/BrowserCache.def
#endif
-
SOURCEPATH ../src
SOURCE HttpCacheManager.cpp
@@ -51,18 +47,11 @@
SOURCE HttpCacheFileWriteHandler.cpp
SOURCE HttpCachePostponeWriteUtilities.cpp
-
USERINCLUDE ../inc
-//--
-#ifndef __BROWSER_SDK
MW_LAYER_SYSTEMINCLUDE
-#else
-SYSTEMINCLUDE /epoc32/include /epoc32/include/oem
-#endif
-SYSTEMINCLUDE /Epoc32/include/http
-SYSTEMINCLUDE /Epoc32/include/libc
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
@@ -81,3 +70,4 @@
LIBRARY memman.lib
LIBRARY cone.lib // CoeControl
DEBUGLIBRARY flogger.lib
+
--- a/webengine/osswebengine/cache/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/cache/inc/HttpCacheFileWriteHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/inc/HttpCacheFileWriteHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <f32file.h>
#include "HttpCacheHandler.h"
#include "HttpCacheEntry.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
// CONSTANTS
--- a/webengine/osswebengine/cache/inc/HttpCacheHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/inc/HttpCacheHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include <http/rhttpsession.h>
#include <stringpool.h>
--- a/webengine/osswebengine/cache/inc/HttpCacheLookupTable.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/inc/HttpCacheLookupTable.h Mon Mar 29 12:27:15 2010 +0100
@@ -106,7 +106,7 @@
* @param
* @return
*/
- TInt CHttpCacheLookupTable::ListFiles( RPointerArray<TDesC>& aFilenameList );
+ TInt ListFiles( RPointerArray<TDesC>& aFilenameList );
/**
*
--- a/webengine/osswebengine/cache/inc/HttpCacheManager.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/inc/HttpCacheManager.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
#include <CenRepNotifyHandler.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include <http/rhttpsession.h>
// CONSTANTS
--- a/webengine/osswebengine/cache/inc/HttpCachePostponeWriteUtilities.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/inc/HttpCachePostponeWriteUtilities.h Mon Mar 29 12:27:15 2010 +0100
@@ -69,6 +69,7 @@
MHttpCacheWriteSource* iSource;
TInt iBodyPart;
TBool iDone;
+ TPtrC8 iCurrentBuf;
};
--- a/webengine/osswebengine/cache/src/HttpCacheFileWriteHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/src/HttpCacheFileWriteHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include "HttpCachePostponeWriteUtilities.h"
#include "HttpCacheUtil.h"
#include "HttpCacheObserver.h"
-#include <HttpCacheManagerInternalCRKeys.h>
+#include <httpcachemanagerinternalcrkeys.h>
#include <centralrepository.h>
#include <hal.h>
#include <f32file.h>
--- a/webengine/osswebengine/cache/src/HttpCacheHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/src/HttpCacheHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
// INCLUDE FILES
#include "HttpCacheHandler.h"
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "HttpCacheEntry.h"
#include "HttpCacheLookupTable.h"
#include "HttpCacheStreamHandler.h"
@@ -32,7 +32,7 @@
#include <httperr.h>
#include <s32file.h>
#include <s32mem.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
// EXTERNAL DATA STRUCTURES
--- a/webengine/osswebengine/cache/src/HttpCacheManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/src/HttpCacheManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,12 +16,12 @@
*/
// INCLUDE FILES
-#include "HttpCacheManager.h"
+#include "httpcachemanager.h"
#include "HttpCacheHandler.h"
#include "HttpCacheUtil.h"
#include "HttpCacheFileWriteHandler.h"
#include <CenRepNotifyHandler.h>
-#include <HttpCacheManagerInternalCRKeys.h>
+#include <httpcachemanagerinternalcrkeys.h>
#include <CoreApplicationUIsSDKCRKeys.h>
#include <centralrepository.h>
#include <FeatMgr.h>
--- a/webengine/osswebengine/cache/src/HttpCachePostponeWriteUtilities.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/src/HttpCachePostponeWriteUtilities.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -99,8 +99,8 @@
HttpCacheUtil::WriteFormatLog(0, _L("CACHEPOSTPONE: CHttpCacheEntryAsyncWriteHelper::WriteNextBodyBlock called on object %08x for block %d"), this, iBodyPart );
#endif
- TPtrC8 bufferPtr( iSource->BodyData().GetSegmentData(iBodyPart) );
- iSource->BodyFile().Write(bufferPtr, iStatus);
+ iCurrentBuf.Set( iSource->BodyData().GetSegmentData(iBodyPart) );
+ iSource->BodyFile().Write(iCurrentBuf, iStatus);
}
// -----------------------------------------------------------------------------
--- a/webengine/osswebengine/cache/src/HttpCacheUtil.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/cache/src/HttpCacheUtil.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <stringpool.h>
#include <flogger.h>
#include "TInternetdate.h"
-#include "HttpFilterCommonStringsExt.h"
+#include "httpfiltercommonstringsext.h"
#include "HttpCacheEntry.h"
// EXTERNAL DATA STRUCTURES
--- a/webengine/osswebengine/npscript/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/npscript/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/osswebengine/npscript/group/npscript.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/npscript/group/npscript.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -20,25 +20,22 @@
#include <platform_paths.hrh>
#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
UID 0x1000008D 0x2000B19E
VENDORID VID_DEFAULT
CAPABILITY CAP_GENERAL_DLL
-
#if defined(WINSCW)
deffile BWINSCW/npscript.def
#elif defined(ARMCC)
deffile EABI/npscript.def
#endif
-
SOURCEPATH ../npscript
SOURCE npscript.cpp
-
MW_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE ../../javascriptcore/bindings
--- a/webengine/osswebengine/npscript/npscript/npscript.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/osswebengine/npscript/npscript/npscript.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
// INCLUDE FILES
#include <e32base.h>
#include <npruntime.h>
-#include <Browser_platform_variant.hrh>
+#include <browser_platform_variant.hrh>
// EXTERNAL DATA STRUCTURES
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/webkit/s60/webview/WebGestureInterface.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include <Browser_platform_variant.hrh>
+#include "config.h"
+#include "../../bidi.h"
+#include <coemain.h>
+#include "WebGestureInterface.h"
+#include "WebView.h"
+#include "WebPointerEventHandler.h"
+
+const TInt TOUCH_AREA_TIMEOUT = 200;
+const TInt TOUCH_TIME_AREA_TIMEOUT = 0;
+const TInt HOLD_AREA_TIMEOUT = 2000;
+const TInt DOUBLE_TAP_TIMEOUT = 400;
+const TInt SUPPRESS_TIMEOUT = 0;
+const TInt MOVE_SUPPRESS_TIMEOUT = 0;
+
+const TInt TOUCH_TIME_AREA_WIDTH = 4;
+const TInt TOUCH_AREA_WIDTH = 4;
+const TInt HOLD_AREA_WIDTH = 4;
+
+const TInt PAN_SPEED_LOW = 0;
+const TInt PAN_SPEED_HIGH = 400;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CgesturetestAppView::NewL()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+WebGestureInterface* WebGestureInterface::NewL(WebView* view)
+{
+ WebGestureInterface* self = WebGestureInterface::NewLC(view);
+ CleanupStack::Pop(self);
+ return self;
+}
+
+// -----------------------------------------------------------------------------
+// CgesturetestAppView::NewLC()
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+WebGestureInterface* WebGestureInterface::NewLC(WebView* view)
+{
+ WebGestureInterface* self = new (ELeave) WebGestureInterface(view);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+}
+
+// -----------------------------------------------------------------------------
+// WebGestureInterface::WebGestureInterface
+// C++ default constructor
+//
+// -----------------------------------------------------------------------------
+//
+WebGestureInterface::WebGestureInterface(WebView* view)
+: m_webview(view)
+{
+}
+
+// -----------------------------------------------------------------------------
+// WebGestureInterface::~WebGestureInterface
+// -----------------------------------------------------------------------------
+WebGestureInterface::~WebGestureInterface()
+{
+ iGestureContext->Deactivate();
+ iGestureContext->RemoveListener(this);
+ delete iGestureEngine;
+}
+// -----------------------------------------------------------------------------
+// WebGestureInterface::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void WebGestureInterface::ConstructL()
+{
+ iGestureEngine = CStmGestureEngine::NewL();
+ iGestureContext = iGestureEngine->CreateContextL(TInt(this));
+ iGestureContext->SetContext(m_webview);
+ iGestureContext->AddListenerL(this);
+
+ CStmGestureParameters& gestureParams = iGestureContext->Config();
+ //Enable the Gestures needed
+ gestureParams.SetEnabled(stmGesture::EGestureUidTouch, ETrue);
+ gestureParams.SetEnabled(stmGesture::EGestureUidTap, ETrue);
+ gestureParams.SetEnabled(stmGesture::EGestureUidRelease, ETrue);
+ gestureParams.SetEnabled(stmGesture::EGestureUidPan, ETrue);
+ gestureParams.SetEnabled(stmGesture::EGestureUidFlick, ETrue);
+ gestureParams.SetEnabled(stmGesture::EGestureUidLongPress, ETrue);
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ gestureParams.SetEnabled(stmGesture::EGestureUidPinch, ETrue);
+#else
+ gestureParams.SetEnabled(stmGesture::EGestureUidPinch, EFalse);
+#endif
+
+ //Set other parameters
+
+ TStmGestureArea& touchTimeArea = *gestureParams.Area(stmGesture::ETouchTimeArea);
+ TStmGestureArea& touchArea = *gestureParams.Area(stmGesture::ETouchArea);
+ TStmGestureArea& holdArea = *gestureParams.Area(stmGesture::EHoldArea);
+
+ touchTimeArea.iShape = TStmGestureArea::ERectangle;
+ touchTimeArea.iTimeout = TOUCH_TIME_AREA_TIMEOUT;
+ touchTimeArea.iSize.iWidth = TOUCH_TIME_AREA_WIDTH;
+
+ touchArea.iShape = TStmGestureArea::ERectangle;
+ touchArea.iTimeout = TOUCH_AREA_TIMEOUT;
+ touchArea.iSize.iWidth = TOUCH_AREA_WIDTH;
+
+ holdArea.iShape = TStmGestureArea::ERectangle;
+ holdArea.iTimeout = HOLD_AREA_TIMEOUT;
+ holdArea.iSize.iWidth = HOLD_AREA_WIDTH;
+
+ gestureParams[stmGesture::EDoubleTapTimeout ] = DOUBLE_TAP_TIMEOUT;
+ gestureParams[stmGesture::ESuppressTimeout ] = SUPPRESS_TIMEOUT;
+ gestureParams[stmGesture::EMoveSuppressTimeout] = MOVE_SUPPRESS_TIMEOUT;
+ gestureParams[stmGesture::EPanSpeedLow ] = PAN_SPEED_LOW;
+ gestureParams[stmGesture::EPanSpeedHigh ] = PAN_SPEED_HIGH;
+
+ gestureParams[stmGesture::EEnableFiltering ] = ETrue;
+#ifdef BRDO_MULTITOUCH_ENABLED_FF
+ gestureParams[stmGesture::ECapacitiveUpUsed ] = ETrue;
+ gestureParams[stmGesture::EAdjustYPos ] = ETrue;
+#else
+ gestureParams[stmGesture::ECapacitiveUpUsed ] = EFalse;
+ gestureParams[stmGesture::EAdjustYPos ] = EFalse;
+#endif
+ iGestureContext->ActivateL();
+
+}
+
+// -----------------------------------------------------------------------------
+// HandlePointerEventL
+// -----------------------------------------------------------------------------
+void WebGestureInterface::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+{
+ iGestureEngine->HandlePointerEventL(aPointerEvent, m_webview);
+}
+
+// -----------------------------------------------------------------------------
+// HandleGestureEventL
+// -----------------------------------------------------------------------------
+void WebGestureInterface::HandleGestureEventL(const TStmGestureEvent& aGesture)
+{
+ m_webview->pointerEventHandler()->HandleGestureEventL(aGesture);
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/webkit/s60/webview/WebGestureInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements gesture interface functionality
+*
+*/
+
+#ifndef WEBGESTUREINTERFACE_H
+#define WEBGESTUREINTERFACE_H
+
+// INCLUDES
+#include <stmgestureinterface.h>
+
+// MACROS
+
+// FORWARD DECLARATIONS
+class WebView;
+
+// CLASS DECLARATION
+class WebGestureInterface : public CBase, public MStmGestureListener
+ {
+public:
+ // New methods
+
+ /**
+ * NewL.
+ * Two-phased constructor.
+ * Create a WebGestureInterface object
+ * @return a pointer to the created instance of WebGestureInterface.
+ */
+ static WebGestureInterface* NewL(WebView* view);
+
+ static WebGestureInterface* NewLC(WebView* view);
+
+ /**
+ * ~CgestureInterface
+ * Virtual Destructor.
+ */
+ ~WebGestureInterface();
+
+public: //member functions
+
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+
+public: //from MStmGestureListener
+
+ void HandleGestureEventL(const TStmGestureEvent& aGesture);
+
+private:
+ // Constructors
+
+ void ConstructL();
+
+ /**
+ * WebGestureInterface.
+ * C++ default constructor.
+ */
+ WebGestureInterface(WebView* view);
+
+private:
+ CStmGestureEngine *iGestureEngine; // <<owned>>
+ CStmGestureContext *iGestureContext; // <<not owned>>
+ WebView* m_webview; // <<not owned>>
+ };
+
+#endif // WEBGESTUREINTERFACE_H
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/webkit/s60/webview/WebPagePinchZoomHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+// INCLUDE FILES
+#include <../bidi.h>
+#include "WebPagePinchZoomHandler.h"
+#include "WebView.h"
+
+
+const int KBitmapUpdateTimeout = 100*1000;
+const int KPinchExitWaitTimeout = 300*1000;
+
+const int KPinchZoomStepSizeSmall = 3;
+const int KPinchZoomStepSizeMedium = 4;
+const int KPinchZoomStepSizeLarge = 5;
+const int KMinPinchFactor = 1;
+
+int pinchBitmapUpdateTimerCb( void* ptr );
+int pinchExitWaitTimerCb( void* ptr );
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// WebPagePinchZoomHandler::NewL
+// The two-phase Symbian constructor
+// -----------------------------------------------------------------------------
+//
+WebPagePinchZoomHandler* WebPagePinchZoomHandler::NewL(WebView* webView)
+{
+ WebPagePinchZoomHandler* self = new (ELeave) WebPagePinchZoomHandler(webView);
+ CleanupStack::PushL(self);
+ self->constructL();
+ CleanupStack::Pop(); //self
+ return self;
+}
+
+// -----------------------------------------------------------------------------
+// WebPagePinchZoomHandler::WebPointerEventHandler
+// C++ default constructor
+//
+// -----------------------------------------------------------------------------
+//
+WebPagePinchZoomHandler::WebPagePinchZoomHandler(WebView* webView)
+: m_webView(webView)
+, m_zoomOutBaseLevel(0)
+, m_pinchCenterSet(false)
+, m_zoomStepSize(0)
+, m_pinchActive(false)
+, m_pinchCenter(0,0)
+{
+}
+
+// -----------------------------------------------------------------------------
+// WebPagePinchZoomHandler::constructL
+// The constructor that can contain code that might leave.
+// -----------------------------------------------------------------------------
+//
+void WebPagePinchZoomHandler::constructL()
+{
+ m_bitmapUpdateTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+ m_pinchExitWaitTimer = CPeriodic::NewL(CActive::EPriorityHigh);
+}
+
+// -----------------------------------------------------------------------------
+// WebPagePinchZoomHandler::~WebPagePinchZoomHandler
+// -----------------------------------------------------------------------------
+WebPagePinchZoomHandler::~WebPagePinchZoomHandler()
+{
+ if (m_bitmapUpdateTimer->IsActive())
+ m_bitmapUpdateTimer->Cancel();
+ delete m_bitmapUpdateTimer;
+
+ if (m_pinchExitWaitTimer->IsActive())
+ m_pinchExitWaitTimer->Cancel();
+ delete m_pinchExitWaitTimer;
+
+}
+
+// -----------------------------------------------------------------------------
+// getPinchZoomStepSize
+// -----------------------------------------------------------------------------
+TInt WebPagePinchZoomHandler::getPinchZoomStepSize()
+{
+ TInt zoomStepSize = 0;
+
+ TInt absPinchFactor = Abs (m_pinchFactor);
+ if (absPinchFactor == 0)
+ return zoomStepSize;
+
+ if ( absPinchFactor >= KMinPinchFactor && absPinchFactor <= 10 ) {
+ zoomStepSize = KPinchZoomStepSizeSmall;
+ }
+ else if ( absPinchFactor > 10 && absPinchFactor <= 20 ) {
+ zoomStepSize = KPinchZoomStepSizeMedium;
+ }
+ else if ( absPinchFactor > 20 ) {
+ zoomStepSize = KPinchZoomStepSizeLarge;
+ }
+
+ return (m_pinchFactor/absPinchFactor) * zoomStepSize;
+}
+
+// -----------------------------------------------------------------------------
+// handlePinchGestureEventL
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::handlePinchGestureEventL(const TStmGestureEvent& aGesture)
+{
+ if(aGesture.GestureState() == EGestureEnter) {
+ m_pinchActive = true;
+ handlePinchGestureL(aGesture);
+ }
+ else {
+ m_pinchActive = false;
+ handlePinchGestureExitL(aGesture);
+ }
+
+}
+
+// -----------------------------------------------------------------------------
+// handlePinchGestureL
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::handlePinchGestureL(const TStmGestureEvent& aGesture)
+{
+
+ m_pinchFactor = aGesture.Details();
+ TInt zoomValue = 0;
+ TInt currentZoom = m_webView->zoomLevel();
+ TInt zoomStepSize = getPinchZoomStepSize();
+
+ if (zoomStepSize == 0)
+ return;
+
+ zoomValue = currentZoom + zoomStepSize;
+ if (m_zoomStepSize > 0 && zoomStepSize < 0) m_zoomOutBaseLevel = currentZoom / 2;
+
+ m_zoomStepSize = zoomStepSize;
+
+ if(zoomValue >= m_webView->minZoomLevel() && zoomValue <= m_webView->maxZoomLevel()) {
+ if (!m_pinchCenterSet) {
+ TPoint pinchCenter = aGesture.PinchEndPos() + aGesture.CurrentPos();
+ m_pinchCenter.iX = pinchCenter.iX / 2;
+ m_pinchCenter.iY = pinchCenter.iY / 2;
+ m_pinchCenterSet = true;
+ if (zoomStepSize < 0) m_zoomOutBaseLevel = currentZoom / 2;
+ }
+ if (!(zoomStepSize < 0 && zoomValue < m_zoomOutBaseLevel))
+ setZoomLevel(zoomValue);
+
+ }
+}
+
+// -----------------------------------------------------------------------------
+// handlePinchGestureExitL
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::handlePinchGestureExitL(const TStmGestureEvent& aGesture)
+{
+ m_zoomOutBaseLevel = 0;
+ m_zoomStepSize = 0;
+ m_pinchCenterSet = false;
+ if (!m_bitmapUpdateTimer->IsActive())
+ m_bitmapUpdateTimer->Start( KBitmapUpdateTimeout,KBitmapUpdateTimeout,TCallBack(&pinchBitmapUpdateTimerCb,this));
+
+ if (!m_pinchExitWaitTimer->IsActive())
+ m_pinchExitWaitTimer->Start( KPinchExitWaitTimeout,0,TCallBack(&pinchExitWaitTimerCb,this));
+
+}
+
+// -----------------------------------------------------------------------------
+// setZoomLevel
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::setZoomLevel(int zoomLevel)
+{
+ m_webView->setPinchBitmapZoomLevel(zoomLevel);
+}
+
+// -----------------------------------------------------------------------------
+// isPinchActive
+// -----------------------------------------------------------------------------
+TBool WebPagePinchZoomHandler::isPinchActive()
+{
+ bool pinchActive = false;
+ if (m_pinchActive == true || m_pinchExitWaitTimer->IsActive())
+ pinchActive = true;
+
+ return pinchActive;
+
+}
+
+// -----------------------------------------------------------------------------
+// updateBitmap
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::updateBitmap(void)
+{
+ m_bitmapUpdateTimer->Cancel();
+ m_webView->restoreZoomLevel(m_webView->scalingFactor());
+}
+
+// -----------------------------------------------------------------------------
+// handlepinchExitWaitTimer
+// -----------------------------------------------------------------------------
+void WebPagePinchZoomHandler::handlepinchExitWaitTimer(void)
+{
+ m_pinchExitWaitTimer->Cancel();
+}
+
+// -----------------------------------------------------------------------------
+// pinchBitmapUpdateTimerCb
+// -----------------------------------------------------------------------------
+int pinchBitmapUpdateTimerCb(void* ptr)
+{
+ ((WebPagePinchZoomHandler*)ptr)->updateBitmap();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+// pinchExitWaitTimerCb
+// -----------------------------------------------------------------------------
+int pinchExitWaitTimerCb(void* ptr)
+{
+ ((WebPagePinchZoomHandler*)ptr)->handlepinchExitWaitTimer();
+ return 0;
+}
+
+// End of File
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/webkit/s60/webview/WebPagePinchZoomHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Implements pinch functionality
+*
+*/
+
+
+
+#ifndef WEBPAGEPINCHZOOMHANDLER_H
+#define WEBPAGEPINCHZOOMHANDLER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <coedef.h>
+#include <w32std.h>
+#include <stmgestureinterface.h>
+
+// MACROS
+
+// FORWARD DECLARATIONS
+class WebView;
+
+
+// CLASS DECLARATION
+class WebPagePinchZoomHandler: public CBase {
+public: // Constructor and destructor
+
+ /**
+ * Two-phased constructor.
+ **/
+ static WebPagePinchZoomHandler* NewL(WebView* webView);
+
+ /**
+ * Destructor.
+ **/
+ virtual ~WebPagePinchZoomHandler();
+
+private: // Constructors
+
+ /**
+ * C++ default constructor.
+ **/
+ WebPagePinchZoomHandler(WebView* webView);
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ **/
+ void constructL();
+
+public: // New functions
+
+ /**
+ * Handler for Pinch event
+ **/
+ void handlePinchGestureEventL(const TStmGestureEvent& aGesture);
+
+ /**
+ * Handler for PinchEnter event
+ **/
+ void handlePinchGestureL(const TStmGestureEvent& aGesture);
+
+ /**
+ * Handler for PinchExit event
+ **/
+ void handlePinchGestureExitL(const TStmGestureEvent& aGesture);
+
+ /**
+ * to set the zoom level for bitmap zooming
+ **/
+ void setZoomLevel(TInt zoomLevel);
+
+ /**
+ * to update the bitmap
+ **/
+ void updateBitmap();
+
+ /**
+ * to get the pinch step size corresponding to a pinch gesture
+ **/
+ TInt getPinchZoomStepSize();
+
+ /**
+ * to query whether pinch is active:
+ * pinch is active once GestureEnter for pinch is received. And it is active until the pinch expiry timer gets expired
+ **/
+ TBool isPinchActive();
+
+ /**
+ * handler for pinch exit timer expiry
+ **/
+ void handlepinchExitWaitTimer();
+
+ /**
+ * To get the pinch center
+ **/
+ TPoint pinchCenter() {return m_pinchCenter;};
+
+private:
+
+ WebView* m_webView; // <<not owned>>
+ CPeriodic* m_bitmapUpdateTimer; // <<owned>>
+ CPeriodic* m_pinchExitWaitTimer; // <<owned>>
+ TInt m_pinchFactor;
+ int m_zoomOutBaseLevel;
+ bool m_pinchCenterSet;
+ TInt m_zoomStepSize;
+ bool m_pinchActive;
+ TPoint m_pinchCenter;
+
+};
+
+#endif //WEBPAGEPINCHZOOMHANDLER_H
+
+// End of File
--- a/webengine/pagescaler/group/minimap.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/pagescaler/group/minimap.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET pagescaler.dll
TARGETTYPE dll
@@ -40,9 +39,8 @@
USERINCLUDE ../inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../osswebengine/memorymanager/inc
-
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+// SYSTEMINCLUDE ../../osswebengine/memorymanager/inc
LIBRARY euser.lib
LIBRARY cone.lib
@@ -53,5 +51,3 @@
LIBRARY BitmapTransforms.lib
LIBRARY MemMan.lib
-
-
--- a/webengine/pagescaler/src/minimap.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/pagescaler/src/minimap.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -118,10 +118,10 @@
void CMinimap::ConstructL()
{
iGenerator = CMinimapGenerator::NewL(*this);
- iUpdateCbTimer = CMinimapTimer::NewL(*this, &UpdateCbTimerCbL, CActive::EPriorityStandard - 1 );
- iUpdateTimer = CMinimapTimer::NewL(*this, &UpdateTimerCbL);
- iVisibilityTimer = CMinimapTimer::NewL(*this, &VisibilityTimerCbL);
- iFadeTimer = CMinimapTimer::NewL(*this, &UpdateTransparency);
+ iUpdateCbTimer = CMinimapTimer::NewL(*this, &CMinimap::UpdateCbTimerCbL, CActive::EPriorityStandard - 1 );
+ iUpdateTimer = CMinimapTimer::NewL(*this, &CMinimap::UpdateTimerCbL);
+ iVisibilityTimer = CMinimapTimer::NewL(*this, &CMinimap::VisibilityTimerCbL);
+ iFadeTimer = CMinimapTimer::NewL(*this, &CMinimap::UpdateTransparency);
SetRelativePosition(KDefaultOffsetX,KDefaultOffsetY,KDefaultPosition);
}
--- a/webengine/pagescaler/src/minimapgenerator.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/pagescaler/src/minimapgenerator.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -47,7 +47,7 @@
// MODULE DATA STRUCTURES
#ifdef __OOM__
-#include <oom.h>
+#include "oom.h"
class CMinimapOOMCollector : public CBase, MMemoryCollector
{
--- a/webengine/webkitutils/HistoryProvider/HistoryController.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/HistoryProvider/HistoryController.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,11 +18,12 @@
// INCLUDE FILES
#include <../bidi.h>
+#include <brctldialogsprovider.h>
+
#include "HistoryController.h"
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "HistoryView.h"
#include "HistoryEntry.h"
-#include "BrCtlDialogsProvider.h"
// EXTERNAL DATA STRUCTURES
--- a/webengine/webkitutils/HistoryProvider/HistoryController.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/HistoryProvider/HistoryController.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include "HistoryInterface.h"
// CONSTANTS
--- a/webengine/webkitutils/SqliteSymbian/sqliteInt.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/SqliteSymbian/sqliteInt.h Mon Mar 29 12:27:15 2010 +0100
@@ -65,7 +65,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#include <libc/stddef.h>
+#include <stddef.h>
/*
** If compiling for a processor that lacks floating point support,
@@ -1881,3 +1881,4 @@
#endif
#endif
+
--- a/webengine/webkitutils/ToolBar/ToolBar.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/ToolBar/ToolBar.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <AknUtils.h>
#include <StringLoader.h>
@@ -31,11 +30,9 @@
#include "ToolBar.h"
#include "ToolBarButton.h"
-#include "BrCtlDefs.h"
#include "eikon.hrh"
-
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
--- a/webengine/webkitutils/ToolBar/ToolBar.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/ToolBar/ToolBar.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef __TOOLBAR
#define __TOOLBAR
@@ -27,7 +26,7 @@
#include <AknsConstants.h>
#include <AknsItemID.h>
#include <AknsConstants.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include <eikmobs.h>
#include <webkitutils.rsg>
// CONSTANTS
--- a/webengine/webkitutils/ToolBar/ToolBarButton.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/ToolBar/ToolBarButton.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -22,11 +22,11 @@
#include "ToolBarButton.h"
#include "ToolBar.h"
#include "W32STD.H"
-#include "RecentUrlStore.h"
+#include <recenturlstore.h>
#include <Uri16.h>
#include <GULICON.H>
#include <AknBidiTextUtils.h>
-#include "BrCtlInterface.h"
+#include <brctlinterface.h>
#include <favouritesitem.h>
#include <favouritesitemlist.h>
#include <favouritessession.h>
@@ -34,7 +34,6 @@
#include "eikon.hrh"
-
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
--- a/webengine/webkitutils/group/WebKitUtils.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/group/WebKitUtils.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
TARGET webkitutils.dll
TARGETTYPE dll
UID 0x1000008D 0x2000B19D
@@ -23,7 +22,7 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
#include "SqliteMacros.mmpi"
@@ -108,8 +107,8 @@
USERINCLUDE ../SqliteSymbian
MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../../inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+// SYSTEMINCLUDE ../../../inc
LIBRARY estlib.lib
LIBRARY euser.lib
@@ -132,3 +131,4 @@
LIBRARY eikcore.lib
LIBRARY eikcoctl.lib
LIBRARY MemMan.lib
+
--- a/webengine/webkitutils/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/webkitutils/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,10 +16,10 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#ifdef BRDO_USE_GESTURE_HELPER
-#include "../rt_gesturehelper/group/bld.inf"
+#include "../stmgesturefw/group/bld.inf"
#endif
PRJ_PLATFORMS
--- a/webengine/webkitutils/rt_gesturehelper/bwins/rt_gesturehelperu.def Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
- ??1CGestureHelper@RT_GestureHelper@@UAE@XZ @ 1 NONAME ; RT_GestureHelper::CGestureHelper::~CGestureHelper(void)
- ?Cancel@CGestureHelper@RT_GestureHelper@@QAEXXZ @ 2 NONAME ; void RT_GestureHelper::CGestureHelper::Cancel(void)
- ?HandlePointerEventL@CGestureHelper@RT_GestureHelper@@QAEHABUTPointerEvent@@@Z @ 3 NONAME ; int RT_GestureHelper::CGestureHelper::HandlePointerEventL(struct TPointerEvent const &)
- ?IsDoubleTapEnabled@CGestureHelper@RT_GestureHelper@@QBEHXZ @ 4 NONAME ; int RT_GestureHelper::CGestureHelper::IsDoubleTapEnabled(void) const
- ?IsHoldingEnabled@CGestureHelper@RT_GestureHelper@@QBEHXZ @ 5 NONAME ; int RT_GestureHelper::CGestureHelper::IsHoldingEnabled(void) const
- ?NewL@CGestureHelper@RT_GestureHelper@@SAPAV12@AAVMGestureObserver@2@@Z @ 6 NONAME ; class RT_GestureHelper::CGestureHelper * RT_GestureHelper::CGestureHelper::NewL(class RT_GestureHelper::MGestureObserver &)
- ?SetDoubleTapEnabled@CGestureHelper@RT_GestureHelper@@QAEXH@Z @ 7 NONAME ; void RT_GestureHelper::CGestureHelper::SetDoubleTapEnabled(int)
- ?SetHoldingEnabled@CGestureHelper@RT_GestureHelper@@QAEXH@Z @ 8 NONAME ; void RT_GestureHelper::CGestureHelper::SetHoldingEnabled(int)
-
--- a/webengine/webkitutils/rt_gesturehelper/eabi/rt_gesturehelperu.def Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
- _ZN16RT_GestureHelper14CGestureHelper17SetHoldingEnabledEi @ 1 NONAME
- _ZN16RT_GestureHelper14CGestureHelper19HandlePointerEventLERK13TPointerEvent @ 2 NONAME
- _ZN16RT_GestureHelper14CGestureHelper19SetDoubleTapEnabledEi @ 3 NONAME
- _ZN16RT_GestureHelper14CGestureHelper4NewLERNS_16MGestureObserverE @ 4 NONAME
- _ZN16RT_GestureHelper14CGestureHelper6CancelEv @ 5 NONAME
- _ZN16RT_GestureHelper14CGestureHelperD0Ev @ 6 NONAME
- _ZN16RT_GestureHelper14CGestureHelperD1Ev @ 7 NONAME
- _ZN16RT_GestureHelper14CGestureHelperD2Ev @ 8 NONAME
- _ZNK16RT_GestureHelper14CGestureHelper16IsHoldingEnabledEv @ 9 NONAME
- _ZNK16RT_GestureHelper14CGestureHelper18IsDoubleTapEnabledEv @ 10 NONAME
-
--- a/webengine/webkitutils/rt_gesturehelper/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../rom/rt_gesturehelper.iby CORE_MW_LAYER_IBY_EXPORT_PATH(rt_gesturehelper.iby)
-
-PRJ_MMPFILES
-
-#ifndef __S60_32__
-rt_gesturehelper.mmp
-#endif
-
-PRJ_TESTMMPFILES
-#ifndef __S60_32__
-//#include "../test/group/bld.inf"
-#endif
--- a/webengine/webkitutils/rt_gesturehelper/group/rt_gesturehelper.mmp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project definition file
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-TARGET rt_gesturehelper.dll
-TARGETTYPE dll
-UID 0x1000008D 0x200212EA
-
-CAPABILITY CAP_CLIENT_DLL
-VENDORID VID_DEFAULT
-
-USERINCLUDE ../inc
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-
-SOURCE gesture.cpp
-SOURCE gesturehelper.cpp
-SOURCE gesturehelperimpl.cpp
-SOURCE gesturerecogniser.cpp
-SOURCE pointarray.cpp
-SOURCE utils.cpp
-SOURCE gestureeventfilter.cpp
-SOURCE gesturehelpereventsender.cpp
-
-LIBRARY avkon.lib
-LIBRARY cone.lib
-LIBRARY euser.lib
-LIBRARY gdi.lib
-LIBRARY flogger.lib
--- a/webengine/webkitutils/rt_gesturehelper/rom/rt_gesturehelper.iby Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: RT Gesture helper iby file
-*
-*/
-
-
-#ifndef _RT_GESTUREHELPER_IBY_
-#define _RT_GESTUREHELPER_IBY_
-
-#include <platform/mw/Browser_platform_variant.hrh>
-
-#ifdef BRDO_USE_GESTURE_HELPER
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\rt_gesturehelper.dll SHARED_LIB_DIR\rt_gesturehelper.dll
-
-#endif // BRDO_USE_GESTURE_HELPER
-
-#endif // _RT_GESTUREHELPER_IBY_
--- a/webengine/webkitutils/rt_gesturehelper/src/gesture.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,726 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture class
-*
-*/
-
-
-#include "gesture.h"
-
-#include <e32math.h>
-#include <coemain.h>
-
-#include "gesturedefs.h"
-#include "utils.h"
-
-using namespace RT_GestureHelper;
-
-/**
- * Point array for which only x axis is relevant
- */
-class TXAxisPointArray : public TPointArray
- {
-public:
- TXAxisPointArray( const RArray< TPointEntry >& aPoints )
- : TPointArray( aPoints ) {}
-
- // from TPointArray
- TPoint operator[]( TInt aIndex ) const
- {
- return TPoint( Raw( aIndex ).iX, 0 );
- }
- };
-
-/**
- * Point array for which only y axis is relevant
- */
-class TYAxisPointArray : public TPointArray
- {
-public:
- TYAxisPointArray( const RArray< TPointEntry >& aPoints )
- : TPointArray( aPoints ) {}
-
- // from TPointArray
- TPoint operator[]( TInt aIndex ) const
- {
- return TPoint( 0, Raw( aIndex ).iY );
- }
- };
-
-namespace
- {
- /** @return the current time */
- TTime CurrentTime()
- {
- TTime time;
- time.HomeTime();
- return time;
- }
-
- /**
- * @param aRelevantAxis See @ref MGestureEvent::Code
- * @return gesture code by analysing the sequence of points
- */
- TGestureCode CodeFromPoints( const RArray< TPointEntry >& aPoints,
- TAxis aRelevantAxis )
- {
- // select the correct filter based on aRelevantAxis
- // these filter_ objects are array decorators that will eliminate either
- // x, y or neither coordinate of each point
- TXAxisPointArray filterY( aPoints );
- TYAxisPointArray filterX( aPoints );
- TPointArray filterNone( aPoints );
- TPointArray& filter =
- aRelevantAxis == EAxisHorizontal ? static_cast< TPointArray& >( filterY ) :
- aRelevantAxis == EAxisVertical ? static_cast< TPointArray& >( filterX ) :
- /* otherwise EAxisBoth */ filterNone;
-
- // currently the gesture recogniser does not have any state, so it is fast
- // to instantiate. The call is not static however, to allow the recogniser
- // to be replaced by a more complicated implementation that has state.
- // then it may make sense to make the recogniser a member variable.
- return TGestureRecogniser().GestureCode( filter );
- }
- } // unnamed namespace
-
-// ----------------------------------------------------------------------------
-// destructor
-// ----------------------------------------------------------------------------
-//
-CGesture::~CGesture()
- {
- iPoints.Close();
- }
-
-// ----------------------------------------------------------------------------
-// AsStartEventL
-// ----------------------------------------------------------------------------
-//
-CGesture* CGesture::AsStartEventLC() const
- {
- __ASSERT_DEBUG( 0 < iPoints.Count(), Panic( EGesturePanicIllegalLogic ) );
- CGesture* gesture = new ( ELeave ) CGesture;
- CleanupStack::PushL( gesture );
- User::LeaveIfError( gesture->AddPoint( iPoints[0].iPos, CCoeEnv::Static()->LastEvent().Time()));
- return gesture;
- }
-
-// ----------------------------------------------------------------------------
-// Reset
-// ----------------------------------------------------------------------------
-//
-void CGesture::Reset()
- {
- iPoints.Reset();
- iHoldingState = ENotHolding;
- iState = ENotComplete;
- iHoldingPointIndex = 0;
- iIsDoubleTap = EFalse;
- iIsLongTap = EFalse;
- }
-
-// ----------------------------------------------------------------------------
-// Reset
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsEmpty() const
- {
- return iPoints.Count() == 0;
- }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-TInt CGesture::AddPoint( const TPoint& aPoint, const TTime& aEventTime )
- {
- if ( !IsLatestPoint( aPoint ) )
- {
- return iPoints.Append( TPointEntry( aPoint, aEventTime ) );
- }
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// SetVisual
-// ----------------------------------------------------------------------------
-//
-
-
-// ----------------------------------------------------------------------------
-// IsNearHoldingPoint
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsNearHoldingPoint( const TPoint& aPoint ) const
- {
- return ToleranceRect( iPoints[ iHoldingPointIndex ].iPos ).Contains( aPoint );
- }
-
-// ----------------------------------------------------------------------------
-// IsLatestPoint
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsLatestPoint( const TPoint& aPoint ) const
- {
- if ( iPoints.Count() > 0 )
- {
- return aPoint == CurrentPos();
- }
- return EFalse;
- }
-
-// ----------------------------------------------------------------------------
-// StartHolding
-// ----------------------------------------------------------------------------
-//
-void CGesture::StartHolding()
- {
- iHoldingState = EHoldStarting;
-
- // remove all points that were introduced after holding started
- for ( TInt i = iPoints.Count() - 1; i > iHoldingPointIndex; i-- )
- {
- iPoints.Remove( i );
- }
- }
-
-// ----------------------------------------------------------------------------
-// SetHoldingPoint
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetHoldingPoint()
- {
- iHoldingPointIndex = iPoints.Count() - 1;
- }
-
-// ----------------------------------------------------------------------------
-// ContinueHolding
-// ----------------------------------------------------------------------------
-//
-void CGesture::ContinueHolding()
- {
- iHoldingState = EHolding;
- }
-
-// ----------------------------------------------------------------------------
-// SetReleased
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetReleased()
- {
- // IsMovementStopped expects SetComplete to be called before SetRelea
- __ASSERT_DEBUG( EComplete == iState, Panic( EGesturePanicIllegalLogic ) );
- iState = EReleased;
- }
-
-/**
- * @return elapsed time between aStartTime and aEndTime
- */
-inline TTimeIntervalMicroSeconds32 Elapsed( const TTime& aStartTime,
- const TTime& aEndTime )
- {
- return aEndTime.MicroSecondsFrom( aStartTime ).Int64();
- }
-
-// ----------------------------------------------------------------------------
-// SetComplete
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetComplete()
- {
- __ASSERT_DEBUG( iPoints.Count() > 0, Panic( EGesturePanicIllegalLogic ) );
- iState = EComplete;
- iCompletionTime = CurrentTime();
- }
-
-// ----------------------------------------------------------------------------
-// SetComplete
-// ----------------------------------------------------------------------------
-//
-void CGesture::SetCancelled()
- {
- iState = ECancelled;
- }
-
-void CGesture::SetDoubleTap()
- {
- iIsDoubleTap = ETrue;
- }
-
-void CGesture::SetLongTap(TBool aLongTap)
- {
- iIsLongTap = aLongTap;
- }
-
-// ----------------------------------------------------------------------------
-// IsTap
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsTap() const
- {
- return CodeFromPoints( iPoints, EAxisBoth ) == EGestureTap;
- }
-
-/**
- * Translates a non-holding code into a holding code
- * @param aCode original gesture code
- * @return a gesture code with hold flag applied
- */
-inline TGestureCode Hold( TGestureCode aCode )
- {
- if ( aCode != EGestureStart &&
- aCode != EGestureDrag &&
- aCode != EGestureReleased &&
- aCode != EGestureUnknown )
- {
- return static_cast< TGestureCode >( aCode | EFlagHold );
- }
- return aCode;
- }
-
-// ----------------------------------------------------------------------------
-// Code
-// ----------------------------------------------------------------------------
-//
-TGestureCode CGesture::Code( TAxis aRelevantAxis ) /* const */
- {
- TGestureCode code;
-
- switch ( iState )
- {
- case ENotComplete:
- {
- // "start" event if only first point received
- // need to check that not holding, in case user pressed stylus
- // down, and activated holding without moving the stylus
- if ( iPoints.Count() == 1 && !IsHolding() )
- {
- code = EGestureStart;
- }
- // "drag" event if holding not started or holding started earlier
- else if ( iHoldingState != EHoldStarting )
- {
- code = EGestureDrag;
- }
- // holding was just started
- else
- {
- code = Hold( CodeFromPoints( iPoints, aRelevantAxis ) );
- }
- iPrevGestureCode = code;
- break;
- }
- case EComplete:
- {
- if ( iIsDoubleTap )
- {
- code = EGestureDoubleTap;
- }
- else if ( iIsLongTap )
- {
- code = EGestureLongTap;
- }
-
- else if (iPrevGestureCode == EGestureDrag)
- {
- //code = IsFlick() ? EGestureFlick : EGestureDrop;
- if (IsFlick())
- {
- code = EGestureFlick ;
- }
- else
- {
- // Check if it is a swipe. In this case a swipe is a gesture where
- // - the direction is close to the axes (up, down, left, right)
- // - speed is slower than flick
- code = CodeFromPoints( iPoints, aRelevantAxis );
- if (code == EGestureUnknown)
- {
- code = EGestureDrop ; // It was not a swipe, so then it is the drop gesture
- }
- }
- }
- else
- {
- code = CodeFromPoints( iPoints, aRelevantAxis );
- }
- iPrevGestureCode = code;
- break;
- }
-
- case EReleased:
- {
- code = EGestureReleased;
- break;
- }
-
- case ECancelled: // fallthrough
- default:
- code = EGestureUnknown;
- }
- return code;
- }
-
-
-TBool CGesture::IsFlick() const
- {
- bool flick = EFalse;
- TRealPoint speed = Speed();
- TReal32 xSpeed = speed.iX;
- TReal32 ySpeed = speed.iY;
-
- flick = (Abs(xSpeed) > KFlickSpeed ||
- Abs(ySpeed) > KFlickSpeed);
-
- return flick;
- }
-
-// ----------------------------------------------------------------------------
-// IsHolding
-// ----------------------------------------------------------------------------
-//
-TBool CGesture::IsHolding() const
- {
- return iHoldingState >= EHoldStarting;
- }
-
-// ----------------------------------------------------------------------------
-// StartPos
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::StartPos() const
- {
- // at least one point will be in the array during callback (pointer down pos)
- return iPoints[ 0 ].iPos;
- }
-
-// ----------------------------------------------------------------------------
-// CurrentPos
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::CurrentPos() const
- {
- // at least on point will be in the array during callback (pointer down pos)
- return iPoints.Count() > 0 ? iPoints[ iPoints.Count() - 1 ].iPos : TPoint(-1, -1);
- }
-
-// ----------------------------------------------------------------------------
-// IsMovementStopped
-// ----------------------------------------------------------------------------
-//
-inline TBool CGesture::IsMovementStopped() const
- {
- // iCompletionTime is only only valid if client has called SetComplete
- if ( iState >= EComplete )
- {
- TInt el = Elapsed( NthLastEntry( 1 ).iTime, iCompletionTime ).Int();
- return el > KSpeedStopTime;
- }
- return EFalse;
- }
-
-namespace
- {
- const TInt KFloatingPointAccuracy = 0.000001;
-
- /** @return percentage (0.0-1.0) how far aPos is from aEdge1 towards aEdge2 */
- inline TReal32 Proportion( TReal32 aPos, TReal32 aEdge1, TReal32 aEdge2 )
- {
- if ( Abs( aEdge2 - aEdge1 ) > KFloatingPointAccuracy )
- {
- return ( aPos - aEdge1 ) / ( aEdge2 - aEdge1 );
- }
- return 0; // avoid division by zero
- }
-
- /** Edges (pixels) at which speed should be -100% or 100% */
- NONSHARABLE_STRUCT( TEdges )
- {
- TReal32 iMin;
- TReal32 iMax;
- };
-
- /**
- * scale which allows different (coordinate -> percentage) mapping
- * between -100% to 0% and 0 and 100%
- */
- NONSHARABLE_STRUCT( TScale )
- {
- TScale( TInt aZero, const TEdges& aEdges )
- : iMin( aEdges.iMin ), iZero( aZero ), iMax( aEdges.iMax )
- {
- }
-
- /** @return aPos as a percentage between -100% and 100% in aScale */
- TReal32 Percent( TReal32 aPos ) const;
-
- /// coordinate where speed is -100%
- TReal32 iMin;
- /// coordinate where speed is 0%
- TReal32 iZero;
- /// coordinate where speed is 100%
- TReal32 iMax;
- };
-
- /** @convert aPos into a percentage between -100% and 100% in aScale */
- TReal32 TScale::Percent( TReal32 aPos ) const
- {
- TReal32 percent;
- if ( aPos < iZero )
- {
- // return negative percentages on the lower side of zero point
- percent = -1 * Proportion( aPos, iZero, iMin );
- }
- else
- {
- percent = Proportion( aPos, iZero, iMax );
- }
- // constrain between -100% and 100%
- return Min( Max( percent, -1.0F ), 1.0F );
- }
-
- /** Scale in x and y dimensions */
- NONSHARABLE_STRUCT( TScale2D )
- {
- TRealPoint Percent( const TPoint& aPos ) const
- {
- return TRealPoint( iX.Percent( aPos.iX ),
- iY.Percent( aPos.iY ) );
- }
-
- TScale iX;
- TScale iY;
- };
-
- enum TDirection { ESmaller, ELarger };
-
- /** @return the direction of pos compared to the previous pos */
- inline TDirection Direction( TInt aPos, TInt aPreviousPos )
- {
- return aPos < aPreviousPos ? ESmaller : ELarger;
- }
-
- /** Direction in x and y dimensions */
- NONSHARABLE_STRUCT( TDirection2D )
- {
- TDirection iX;
- TDirection iY;
- };
-
- /** Return the direction (up/down) of signal at aIndex */
- inline TDirection2D Direction( TInt aIndex, const RArray< TPointEntry >& aPoints )
- {
- const TPoint& pos = aPoints[ aIndex ].iPos;
- const TPoint& prevPos = aPoints[ aIndex - 1 ].iPos;
- TDirection2D dir = { Direction( pos.iX, prevPos.iX ),
- Direction( pos.iY, prevPos.iY ) };
- return dir;
- }
- /**
- * @return a position in the aLow and aHigh, so that it aProportion of
- * of length is above the pos
- */
- TReal32 ProportionalLength( TReal32 aLow, TReal32 aHigh, TReal32 aProportion )
- {
- return ( aHigh - aLow ) * aProportion / ( 1 + aProportion );
- }
-
- /**
- * @return aVariableEdge scaled to new position, when the other edge changes
- * from aOldEdge to aNewEdge, so that aOrigin maintains the *same relative
- * position* between aVariableEdge and the other edge
- */
- inline TReal32 ScaledEdge( TReal32 aOrigin, TReal32 aVariableEdge,
- TReal32 aOldEdge, TReal aNewEdge )
- {
- TReal32 proportion = Proportion( aOrigin, aVariableEdge, aOldEdge );
- return ( proportion * aNewEdge - aOrigin ) / ( proportion - 1 );
- }
-
- TScale Rescale( TReal32 aPos, TDirection aDir, TDirection aPrevDir,
- const TScale& aPrevScale, const TEdges& aEdges )
- {
- TScale scale( aPrevScale );
- if ( aPrevDir != aDir )
- {
- // the code duplication is accepted here, since it is difficult to factor out
- // while maintaining the understandability of this anyway complex algorithm
- if ( aDir == ESmaller )
- {
- scale.iMin = aEdges.iMin;
- if ( aPrevScale.iZero < aPos )
- {
- TReal32 proportionAboveZero = Proportion( aPos, aPrevScale.iZero, aPrevScale.iMax );
- scale.iZero = aPos - ProportionalLength( aEdges.iMin, aPos, proportionAboveZero );
- }
- else
- {
- // adjust zero pos so that proportion between aPos, Min, and Zero pos
- // stay the same (Min will move to 0, aPos stays the same)
- scale.iZero = ScaledEdge( aPos, aPrevScale.iZero,
- aPrevScale.iMin, aEdges.iMin );
- }
- // adjust the upper edge to take into account the movement of zero pos
- scale.iMax = ScaledEdge( aPos, aPrevScale.iMax,
- aPrevScale.iZero, scale.iZero );
- }
- else // ELarger
- {
- scale.iMax = aEdges.iMax;
- if ( aPos < aPrevScale.iZero )
- {
- TReal32 proportionBelowZero = Proportion( aPos, aPrevScale.iZero, aPrevScale.iMin );
- scale.iZero = aPos + ProportionalLength( aPos, aEdges.iMax, proportionBelowZero );
- }
- else
- {
- // adjust zero pos so that proportion between aPos, Max, and Zero pos
- // stay the same (Max will move edge, aPos stays the same)
- scale.iZero = ScaledEdge( aPos, aPrevScale.iZero,
- aPrevScale.iMax, aEdges.iMax );
- }
- // adjust the lower edge to take into account the movement of zero pos
- scale.iMin = ScaledEdge( aPos, aPrevScale.iMin,
- aPrevScale.iZero, scale.iZero );
- }
- }
- return scale;
- }
-
- /** Edges in x and y dimensions */
- NONSHARABLE_STRUCT( TEdges2D )
- {
- TEdges iX;
- TEdges iY;
- };
-
- /**
- * @param aEdges edges of the area in which gesture points are accepted
- * @return the scale of latest point in the list of points
- */
- TScale2D Scale( const RArray< TPointEntry >& aPoints, const TEdges2D& aEdges )
- {
- TScale2D scale = { TScale( aPoints[0].iPos.iX, aEdges.iX ),
- TScale( aPoints[0].iPos.iY, aEdges.iY ) };
- TInt count = aPoints.Count();
- if ( count > 1 )
- {
- // iterate the whole point list to arrive to the current scale
- TDirection2D dir( Direction( 1, aPoints ) );
- for ( TInt i = 1; i < count; i++ )
- {
- // get direction at i
- TDirection2D newDir( Direction( i, aPoints ) );
- // get new scale at i
- scale.iX = Rescale( aPoints[i - 1].iPos.iX, newDir.iX, dir.iX, scale.iX, aEdges.iX );
- scale.iY = Rescale( aPoints[i - 1].iPos.iY, newDir.iY, dir.iY, scale.iY, aEdges.iY );
- dir = newDir;
- }
- }
- return scale;
- }
- } // unnamed namespace
-
-TRealPoint CGesture::SpeedPercent( const TRect& aEdges ) const
- {
- // x and y coordinates are easier to handle separately, extract from TRect:
- // ((iMinX, iMinY), (iMaxX, iMaxY)) -> ((iMinX, iMaxX), (iMinY, iMaxY))
- TEdges2D edges = { { aEdges.iTl.iX, aEdges.iBr.iX },
- { aEdges.iTl.iY, aEdges.iBr.iY } };
- // work out the current scale (coordinate -> percentage mapping) from
- // the history of points (i.e., points of current gesture). Then
- // calculate the percentage of the current position.
- return Scale( iPoints, edges ).Percent( CurrentPos() );
- }
-
-// ----------------------------------------------------------------------------
-// Speed
-// ----------------------------------------------------------------------------
-//
-TRealPoint CGesture::Speed() const
- {
- const TReal32 KMicroSecondsInSecond = 1000000;
-
- // Speed is only evaluated at the end of the swipe
- // if user stops at the end of the swipe before lifting stylus,
- // speed is zero. If time is zero, return 0 speed (infinite does
- // not make sense either). Will need to consider also earlier points
- // and their times or start time, if this zero-speed behavior is a problem
- TRealPoint speed;
- TReal32 time = static_cast<TReal32>( TimeFromPreviousPoint().Int() )
- / KMicroSecondsInSecond;
- if ( !IsMovementStopped() && time > 0 )
- {
- TPoint distance = CurrentPos() - PreviousPos();
- speed.iX = static_cast<TReal32>( distance.iX ) / time;
- speed.iY = static_cast<TReal32>( distance.iY ) / time;
- }
- return speed;
- }
-
-// ----------------------------------------------------------------------------
-// Distance
-// ----------------------------------------------------------------------------
-//
-TPoint CGesture::Distance() const
- {
- return CurrentPos() - StartPos();
- }
-
-// ----------------------------------------------------------------------------
-// Visual
-// ----------------------------------------------------------------------------
-//
-
-// ----------------------------------------------------------------------------
-// TimeFromPreviousPoint
-// ----------------------------------------------------------------------------
-//
-inline TTimeIntervalMicroSeconds32 CGesture::TimeFromPreviousPoint() const
- {
- const TInt KLatestEntryOffset = 1;
- return Elapsed( PreviousEntry().iTime, NthLastEntry( KLatestEntryOffset ).iTime );
- }
-
-// ----------------------------------------------------------------------------
-// return nth point from the end of the points array
-// ----------------------------------------------------------------------------
-//
-inline const TPointEntry& CGesture::NthLastEntry( TInt aOffset ) const
- {
- return iPoints[ Max( iPoints.Count() - aOffset, 0 ) ];
- }
-
-// ----------------------------------------------------------------------------
-// PreviousEntry
-// ----------------------------------------------------------------------------
-//
-inline const TPointEntry& CGesture::PreviousEntry() const
- {
- return NthLastEntry( KPreviousPointOffset );
- }
-
-// ----------------------------------------------------------------------------
-// PreviousPos
-// ----------------------------------------------------------------------------
-//
-inline TPoint CGesture::PreviousPos() const
- {
- return PreviousEntry().iPos;
- }
-
-inline TTime CGesture::TimeOfLastEntry() const
- {
- return NthLastEntry( 1 ).iTime;
- }
--- a/webengine/webkitutils/rt_gesturehelper/src/gesture.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture class
-*
-*/
-
-
-#ifndef _GESTURE_H_
-#define _GESTURE_H_
-
-#include <e32base.h>
-
-#include "rt_gestureobserver.h"
-#include "gesturerecogniser.h"
-#include "pointarray.h"
-
-namespace RT_GestureHelper
-{
-
-
-enum TEventState
- {
- ENoEvent = 0,
- ETouchDown,
- ETouchUp,
- EMove,
- ELongTouchDown
- };
-
-/**
- * TGesture represents the gesture that the user has made.
- * Implements MGestureEvent interface to allow clients to
- * inspect the gesture
- */
-NONSHARABLE_CLASS( CGesture ) : public CBase
- {
-public:
- /** destructor */
- ~CGesture();
-
- /**
- * @return a new gesture that will have only the first point
- * of this gesture. Can be used to create gesture's a "start" event
- * after some other points have been received.
- */
- CGesture* AsStartEventLC() const;
-
- /**
- * Sets the gesture as empty. resets timers to receive points
- * immediately
- */
- void Reset();
-
- /** @return ETrue if the gesture has no points */
- TBool IsEmpty() const;
-
- /**
- * Add a point to the sequence of points that forms the gesture
- * Call Reset() just before adding the first point
- * @param aPoint the point to add
- * @return error code
- */
- TInt AddPoint( const TPoint& aPoint, const TTime& eventtime);
-
- /** Set the visual of this gesture. Should be called when gesture starts */
-
- /** @return ETrue if the point is very near the holding point */
- TBool IsNearHoldingPoint( const TPoint& aPoint ) const;
- /** Set the latest point as the holding point */
- void SetHoldingPoint();
- /** @return ETrue if aPoint is the same as point added last */
- TBool IsLatestPoint( const TPoint& aPoint ) const;
-
- /**
- * After call, Code(...) will return appropriate holding gesture code.
- */
- void StartHolding();
- /**
- * After call, Code(...) will return a "hold released" gesture code when
- * the gesture is completed. Meanwhile, code will be drag.
- */
- void ContinueHolding();
- /** Set as stylus released */
- void SetReleased();
- /** Set the gesture as complete. Gesture is completed at pointer up */
- void SetComplete();
- /** After call, Code(...) will return a "cancelled" gesture code */
- void SetCancelled();
-
- /** force returning a code as double tap when gesture is complete */
- void SetDoubleTap();
-
- /**
- * @return Whether the current gesture is a tap (and hence not a swipe)
- * Does not consider holding or other state information (such as
- * whether the gesture was just started or is dragging).
- * Results are based purely on the current stream of points.
- */
- TBool IsTap() const;
-
- void SetLongTap(TBool aLongTap);
-
-// From MGestureEvent
- TTime TimeOfLastEntry() const;
- inline TGestureCode PreviousGestureCode() { return iPrevGestureCode; };
- TGestureCode Code( TAxis aRelevantAxis );
- TBool IsHolding() const;
- TPoint StartPos() const;
- TPoint CurrentPos() const;
- TRealPoint Speed() const;
- TRealPoint SpeedPercent( const TRect& aEdges ) const;
- TPoint Distance() const;
-
-
-
-
-private:
- /** @return elapsed time between the latest and previous points */
- inline TTimeIntervalMicroSeconds32 TimeFromPreviousPoint() const;
-
- /** @return elapsed time between the latest and first points */
- inline TTimeIntervalMicroSeconds32 TimeFromStart() const;
-
- /** @return ETrue if user has stopped moving the stylus before lifting it */
- inline TBool IsMovementStopped() const;
-
- /** @return aOffset'th last entry in the list of points */
- inline const TPointEntry& NthLastEntry( TInt aOffset ) const;
-
- /** @return previous point (may not be exactly the point before last) */
- inline const TPointEntry& PreviousEntry() const;
-
- /** @return position of point received just before the latest point */
- inline TPoint PreviousPos() const;
-
-
-
- TBool IsFlick() const;
-private:
- /// sequence of points that make up the gesture. own.
- RArray< TPointEntry > iPoints;
- /// index in iPoints of the point in which user started holding
- TInt iHoldingPointIndex;
-
- /// the different states that indicate whether user has made a holding gesture
- enum THoldingState
- {
- ENotHolding = 0, // before holding activated (i.e., holding not activated)
- EHoldStarting, // holding activated just now (lasts just one callback round)
- EHolding // holding activated earlier
- };
-
- /// state that indicates is user has held the pointer down in one position
- /// for long time to indicate a holding gesture
- THoldingState iHoldingState;
-
- /// Whether the gesture completion code will be forcefully overridden to be double tap,
- /// regardless of what the points are
- TBool iIsDoubleTap;
-
- enum TCompletionState
- {
- // Note: implementation assumes this order of enums
- ENotComplete = 0,
- ECancelled,
- EComplete,
- EReleased
- };
- /// gesture only becomes complete when user lifts the pointer
- TCompletionState iState;
-
- /// time when the stylus was lifted.
- TTime iCompletionTime;
-
- /// visual relevant to this gesture. null if not known.
-
- TGestureCode iPrevGestureCode;
-
- TBool iIsLongTap;
- TBool iIsStopFlick;
- };
-
-} // namespace GestureHelper
-
-#endif // _GESTURE_H_
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturedefs.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper constant definitions
-*
-*/
-
-
-#ifndef _GESTUREDEFS_H_
-#define _GESTUREDEFS_H
-
-#include <e32std.h> /// @todo check this is correct
-
-namespace RT_GestureHelper
-{
-
-/// time to hold the stylus in the same position to activate holding
-const TInt KHoldDuration = 500000; // microseconds
-
-/// time to tap again for the second tap to be a double tap
-const TInt KMaxDoubleTapDuration = 400000; // microseconds
-
-/// time in which speed becomes zero if user stops stylus movement before
-/// lifting the pointer
-const TInt KSpeedStopTime = 150000; // microseconds
-
-/// tolerance in degrees to either side of an angle, for direction to be the
-/// same as reference angle
-const TReal KAngleTolerance = 25;
-
-/// Nth pointer event before the latest point
-const TInt KPreviousPointOffset = 3;
-
-/// Tolerance for ignoring small movements, percent of longer screen edge
-const TInt KGestureTolerancePercent = 2; // of 100
-
-const TInt KFingerSize_mm = 8;
-
-const TInt KTwipsInInch = 1440;
-
-const TReal KTwipsInMm = 56.7;
-
-const TInt KMaxTapDuration = 300000; //microseconds
-
-const TInt KFlickSpeed = 500;
-
-const TInt KDoubleTapMaxActivationInterval = 500000; // 500 ms
-
-const TInt KDoubleTapMinActivationInterval = 40000; // 40 ms
-
-const TInt KDoubleTapIdleInterval = 700000; // 700 ms, to prevent triple-tap effects
-
-const TInt KLongTapDuration = 2000000; //2 sec
-
-const TInt KMinTimeBetweenDrags = 20000; // 20 ms
-/**
- * Panic codes
- */
-enum TGesturePanic
- {
- EGesturePanicIllegalLogic
- };
-
-/** Panics the thread */
-inline void Panic( TGesturePanic aReason )
- {
- _LIT( KComponentName, "GestureHelper" );
- User::Panic( KComponentName, aReason );
- }
-
-} // namespace GestureHelper
-
-#endif // _GESTUREDEFS_H
--- a/webengine/webkitutils/rt_gesturehelper/src/gestureevent.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper implementation
-*
-*/
-
-#ifndef GESTUREEVENT_H_
-#define GESTUREEVENT_H_
-
-#include <e32base.h>
-#include "rt_gestureobserver.h"
-#include "pointarray.h"
-
-namespace RT_GestureHelper
-{
-NONSHARABLE_CLASS( CGestureEvent ) : public CBase, public MGestureEvent
- {
-public:
- // From MGestureEvent
- TGestureCode Code( TAxis /*aRelevantAxis*/ ) { return iCode; };
- TBool IsHolding() const { return iIsHolding; };
- TPoint StartPos() const { return iStartPos; };
- TPoint CurrentPos() const { return iCurrPos; };
- TRealPoint Speed() const { return iSpeed; };
- TRealPoint SpeedPercent( const TRect& /*aEdges*/ ) const { return iSpeedPercent; };
- TPoint Distance() const { return iDistance; };
- CAlfVisual* Visual() const { return iVisual; };
-
-
- TGestureCode iCode;
- TBool iIsHolding;
- TPoint iStartPos;
- TPoint iCurrPos;
- TRealPoint iSpeed;
- TRealPoint iSpeedPercent;
- TPoint iDistance;
- CAlfVisual* iVisual;
- };
-}
-
-
-#endif /* GESTUREEVENT_H_ */
--- a/webengine/webkitutils/rt_gesturehelper/src/gestureeventfilter.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-/*
- * gestureeventfilter.cpp
- *
- * Created on: Jan 22, 2009
- * Author: tyutyuni
- */
-
-#include "gesturedefs.h"
-#include "gestureeventfilter.h"
-
-
-using namespace RT_GestureHelper;
-
-CGestureEventFilter::CGestureEventFilter(TInt aTapSize):iTapSize(aTapSize)
- {
-
- }
-
-CGestureEventFilter::~CGestureEventFilter()
- {
-
- }
-
-
-TBool CGestureEventFilter::FilterDrag(const TPointerEvent& aPointerEvent, TInt& aReason)
- {
- TTime now;
- now.HomeTime();
- return FilterDrag(aPointerEvent, now, aReason);
- }
-
-TBool CGestureEventFilter::FilterDrag(const TPointerEvent& aPointerEvent, TTime& eventTime, TInt& aReason)
- {
- TBool filtered = EFalse;
-
- aReason = EFilteredNoReason;
-
- switch (aPointerEvent.iType)
- {
- case TPointerEvent::EButton1Down:
- {
- iIsTouchDown = ETrue;
- iTouchDownTime = iLastEventTime;
- iTouchDownPos = aPointerEvent.iPosition;
- break;
- }
- case TPointerEvent::EDrag:
- {
- if (iIsTouchDown)
- {
- TPoint delta = aPointerEvent.iPosition - iTouchDownPos;
- filtered = (Abs(delta.iX) <= iTapSize && Abs(delta.iY) <= iTapSize);
- aReason = (filtered) ? EFilteredBySize : EFilteredNoReason;
- }
-
- if (!filtered)
- {
- filtered = (eventTime.MicroSecondsFrom(iLastEventTime) < KMinTimeBetweenDrags);
- aReason = (filtered) ? EFilteredByTime : EFilteredNoReason;
- }
-
- if (!filtered)
- {
- iLastEventTime = eventTime;
- }
- iIsTouchDown = filtered;
-
- break;
- }
- case TPointerEvent::EButton1Up:
- {
- iIsTouchDown = EFalse;
- break;
- }
- }
-
-
- return filtered;
- }
--- a/webengine/webkitutils/rt_gesturehelper/src/gestureeventfilter.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-/*
- * gestureeventfilter.h
- *
- * Created on: Jan 22, 2009
- * Author: tyutyuni
- */
-
-#include <e32base.h>
-#include <e32std.h>
-#include <w32std.h>
-
-
-#ifndef GESTUREEVENTFILTER_H_
-#define GESTUREEVENTFILTER_H_
-
-
-
-
-namespace RT_GestureHelper
-{
-
-enum TFilterReason
- {
- EFilteredNoReason,
- EFilteredBySize,
- EFilteredByTime
- };
-
-NONSHARABLE_CLASS(CGestureEventFilter) : public CBase
- {
- public:
- CGestureEventFilter(TInt aTapSize);
- ~CGestureEventFilter();
- TBool FilterDrag(const TPointerEvent& aPointerEvent, TTime& eventTime, TInt& aReason);
- TBool FilterDrag(const TPointerEvent& aPointerEvent, TInt& aReason);
- private:
- TTime iTouchDownTime;
- TPoint iTouchDownPos;
- TBool iIsTouchDown;
- TTime iLastEventTime;
- TInt iTapSize;
- };
-
-}
-#endif /* GESTUREEVENTFILTER_H_ */
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelper.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper interface
-*
-*/
-
-
-// class include
-#include "rt_gesturehelper.h"
-
-// local includes
-#include "gesturehelperimpl.h"
-
-using namespace RT_GestureHelper;
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureHelper* CGestureHelper::NewL( MGestureObserver& aObserver )
- {
- CGestureHelper* self = new ( ELeave ) CGestureHelper;
- CleanupStack::PushL( self );
- self->iImpl = CGestureHelperImpl::NewL( aObserver );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CGestureHelper::~CGestureHelper()
- {
- delete iImpl;
- }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::SetHoldingEnabled( TBool aEnabled )
- {
- iImpl->SetHoldingEnabled( aEnabled );
- }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::IsHoldingEnabled() const
- {
- return iImpl->IsHoldingEnabled();
- }
-
-// ----------------------------------------------------------------------------
-// SetDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::SetDoubleTapEnabled( TBool aEnabled )
- {
- iImpl->SetDoubleTapEnabled( aEnabled );
- }
-
-// ----------------------------------------------------------------------------
-// IsDoubleTapEnabled
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::IsDoubleTapEnabled() const
- {
- return iImpl->IsDoubleTapEnabled();
- }
-
-
-
-
-// ----------------------------------------------------------------------------
-// HandlePointerEventL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CGestureHelper::HandlePointerEventL( const TPointerEvent& aEvent )
- {
- return iImpl->HandlePointerEventL( aEvent );
- }
-
-
-
-
-
-// ----------------------------------------------------------------------------
-// Cancel
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CGestureHelper::Cancel()
- {
- iImpl->Reset();
- }
-
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelpereventsender.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper implementation
-*
-*/
-
-#include "gesturehelpereventsender.h"
-#include "gesture.h"
-
-using namespace RT_GestureHelper;
-
-const TInt KEventsQueueGranularity = 4;
-
-CGestureEventSender* CGestureEventSender::NewL( MGestureObserver& aObserver )
- {
- CGestureEventSender* self = new (ELeave) CGestureEventSender(aObserver);
-
- return self;
- }
-
-CGestureEventSender::CGestureEventSender( MGestureObserver& aObserver ) :
- CActive(EPriorityUserInput - 1),
- iObserver(aObserver), iEvents(KEventsQueueGranularity)
- {
- CActiveScheduler::Add(this);
- }
-
-CGestureEventSender::~CGestureEventSender()
- {
- if (IsActive())
- {
- Cancel();
- }
-
- iEvents.Close();
- }
-
-TInt CGestureEventSender::AddEvent(const TGestureEvent& aGestureEvent)
- {
- iEvents.Append(aGestureEvent);
- if (iState != EBusy)
- {
- iState = EEventsReady;
- }
-
- if (!IsActive())
- {
- Complete();
- }
- return iEvents.Count();
- }
-
-void CGestureEventSender::Complete()
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- SetActive();
- }
-
-void CGestureEventSender::RunL()
- {
- switch (iState)
- {
- case EEventsReady:
- {
- if (iEvents.Count() > 0)
- {
- TInt count = iEvents.Count();
- for (int i = 0; i < count; i++)
- {
- TGestureEvent& gst = iEvents[i];
- EmitEventL(gst);
- }
- }
- iEvents.Reset();
- iState = ENoEvents;
- Complete();
- break;
- }
- }
- }
-
-void CGestureEventSender::EmitEventL( const TGestureEvent& aGesture )
- {
- iState = EBusy;
- iObserver.HandleGestureL(aGesture);
- iState = EEventsReady;
- }
-
-TInt CGestureEventSender::RunError(TInt aError)
- {
- iEvents.Reset();
- return aError;
- }
-
-void CGestureEventSender::DoCancel()
- {
- iEvents.Reset();
- iState = ENoEvents;
- }
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelpereventsender.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper implementation
-*
-*/
-
-#ifndef GESTUREHELPEREVENTSENDER_H_
-#define GESTUREHELPEREVENTSENDER_H_
-
-#include <e32base.h>
-#include <coemain.h>
-#include <rt_gesturehelper.h>
-
-namespace RT_GestureHelper
-{
-class MGestureObserver;
-class CGestureEvent;
-
-NONSHARABLE_CLASS(CGestureEventSender) : public CActive
- {
-public:
- enum TEventSenderState
- {
- ENoEvents,
- EEventsReady,
- EBusy
- };
- static CGestureEventSender* NewL( MGestureObserver& aObserver );
- ~CGestureEventSender();
- TInt AddEvent(const TGestureEvent& aGestureEvent);
-protected:
- void RunL();
- void DoCancel();
- TInt RunError(TInt aError);
-private:
- CGestureEventSender(MGestureObserver& aObserver);
- void Complete();
- void EmitEventL( const TGestureEvent& aGestureEvent );
-
- RArray< TGestureEvent > iEvents;
- MGestureObserver& iObserver;
- TEventSenderState iState;
- };
-}
-#endif /* GESTUREHELPEREVENTSENDER_H_ */
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelperimpl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,631 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper implementation
-*
-*/
-
-
-#include "gesturehelperimpl.h"
-
-#include <e32base.h>
-#include <w32std.h>
-
-#include "gesture.h"
-#include "gesturedefs.h"
-#include "utils.h"
-#include "gestureeventfilter.h"
-#include "gesturehelpereventsender.h"
-#include "flogger.h"
-
-using namespace RT_GestureHelper;
-
-namespace RT_GestureHelper
-{
-
-/// type of function in gesture helper to be called by the timer
-/// when timer triggers
-typedef void (CGestureHelperImpl::*CallbackFunctionL)();
-
-NONSHARABLE_CLASS( CCallbackTimer ) : public CTimer
- {
-public:
- /** Two-phase constructor */
- static CCallbackTimer* NewL( CGestureHelperImpl& aHelper,
- CallbackFunctionL aCallbackFunctionL, TInt aDelay, TBool aIsEnabled )
- {
- CCallbackTimer* self = new ( ELeave ) CCallbackTimer( aHelper,
- aCallbackFunctionL, aDelay, aIsEnabled );
- CleanupStack::PushL( self );
- self->ConstructL(); // construct base class
- CActiveScheduler::Add( self );
- CleanupStack::Pop( self );
- return self;
- }
-
- /** Destructor */
- ~CCallbackTimer()
- {
- Cancel();
- }
-
- /** Set whether sending holding events is currently enabled */
- void SetEnabled( TBool aEnabled )
- {
- iIsEnabled = aEnabled;
- // cancel in case hold timer is already running
- Cancel();
- }
-
- /** @return whether sending holding events is currently enabled */
- TBool IsEnabled() const
- {
- return iIsEnabled;
- }
-
- /** Start the timer. Calls CGestureHelperImpl::StartHoldingL upon completion */
- void Start()
- {
- // if sending hold events is disabled, do not ever start the hold timer, and
- // hence hold events will never be triggered
- if ( iIsEnabled )
- {
- Cancel();
- After( iDelay );
- }
- }
- void SetDelay(TInt aDelay) { iDelay = aDelay; }
- TInt GetDelay() { return iDelay; }
-
-private:
- /** Constructor */
- CCallbackTimer( CGestureHelperImpl& aHelper,
- CallbackFunctionL aCallbackFunctionL, TInt aDelay, TBool aIsEnabled )
- : CTimer( EPriorityUserInput - 1 ), // give higher priority to new pointer events with - 1
- iHelper( aHelper ), iCallbackFunctionL( aCallbackFunctionL ),
- iDelay( aDelay ), iIsEnabled( aIsEnabled )
- {
- }
-
- void RunL() // From CActive
- {
- (iHelper.*iCallbackFunctionL)();
- }
-
-private:
- /// helper object that will be called back when timer is triggered
- CGestureHelperImpl& iHelper;
- /// Function in the iHelper object call
- CallbackFunctionL iCallbackFunctionL;
- /// How long a time to wait befor calling back after Start()
- TInt iDelay;
- /// whether sending holding events is currently enabled
- TBool iIsEnabled;
- };
-
-} // namespace GestureHelper
-
-/**
- * @return position from event. Use this instead of using aEvent direction to
- * avoid accidentally using TPointerEvent::iPosition
- */
-inline TPoint Position( const TPointerEvent& aEvent )
- {
- // use parent position, since the capturer is using full screen area,
- // and because the (Alfred) drag events are not local to visual even when
- // coming from the client
-
- return aEvent.iPosition;
- }
-
-// ----------------------------------------------------------------------------
-// Two-phase constructor
-// ----------------------------------------------------------------------------
-//
-CGestureHelperImpl* CGestureHelperImpl::NewL( MGestureObserver& aObserver )
- {
- CGestureHelperImpl* self = new ( ELeave ) CGestureHelperImpl( aObserver );
- CleanupStack::PushL( self );
- self->iEventSender = CGestureEventSender::NewL( aObserver );
- self->iDoubleTapTimer = CCallbackTimer::NewL( *self, EmitFirstTapEvent,
- KMaxTapDuration, EFalse ); // double tap is disabled by default
- self->iHoldingTimer = CCallbackTimer::NewL( *self, StartHoldingL,
- KHoldDuration, EFalse ); // holding is enabled by default
-
- self->iLongTouchTimer = CCallbackTimer::NewL( *self, HandleLongTouch,
- KLongTapDuration, ETrue ); // holding is enabled by default
-
- self->iGesture = new ( ELeave ) CGesture();
- self->iUnusedGesture = new ( ELeave ) CGesture();
- TInt tapLimit = Mm2Pixels(KFingerSize_mm) / 2;
- self->iEventFilter = new (ELeave) CGestureEventFilter(tapLimit);
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGestureHelperImpl::CGestureHelperImpl( MGestureObserver& aObserver )
- : iObserver( aObserver )
- {
- }
-
-// ----------------------------------------------------------------------------
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CGestureHelperImpl::~CGestureHelperImpl()
- {
- delete iDoubleTapTimer;
- delete iHoldingTimer;
- delete iGesture;
- delete iPreviousTapGesture;
- delete iUnusedGesture;
- delete iLongTouchTimer;
- delete iEventFilter;
- delete iEventSender;
- }
-
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::SetHoldingEnabled( TBool aEnabled )
- {
- iHoldingTimer->SetEnabled( aEnabled );
- }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::IsHoldingEnabled() const
- {
- return iHoldingTimer->IsEnabled();
- }
-
-// ----------------------------------------------------------------------------
-// SetHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::SetDoubleTapEnabled( TBool aEnabled )
- {
- iDoubleTapTimer->SetEnabled( aEnabled );
- }
-
-// ----------------------------------------------------------------------------
-// IsHoldingEnabled
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::IsDoubleTapEnabled() const
- {
- return iDoubleTapTimer->IsEnabled();
- }
-
-
-
-// ----------------------------------------------------------------------------
-// Reset state
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::Reset()
- {
- iHoldingTimer->Cancel();
- iLongTouchTimer->Cancel();
- iGesture->Reset();
- }
-
-/**
- * Helper function that calls Reset on the pointer to CGestureHelperImpl
- */
-static void ResetHelper( TAny* aHelper )
- {
- static_cast< CGestureHelperImpl* >( aHelper )->Reset();
- }
-
-// ----------------------------------------------------------------------------
-// Handle a pointer event
-// ----------------------------------------------------------------------------
-//
-TBool CGestureHelperImpl::HandlePointerEventL( const TPointerEvent& aEvent )
- {
- TInt filterReason;
- SetLastEventTime();
- if (!iEventFilter->FilterDrag(aEvent, iLastEventTime, filterReason))
- {
- return noneAlf_HandlePointerEventL( aEvent );
- }
- else
- {
- /*
- TBuf<10> num;
- num.Num( filterReason );
- TBuf<128> str;
- str.AppendFormat(_L("Filter reason: %d"), filterReason);
- RFileLogger::Write( _L("gh"), _L("gh.txt"), EFileLoggingModeAppend, str);
- */
- return EFalse;
- }
- }
-
-
-TBool CGestureHelperImpl::noneAlf_HandlePointerEventL( const TPointerEvent& aEvent)
- {
- switch ( aEvent.iType )
- {
- case TPointerEvent::EButton1Down:
- {
- HandleTouchDownL(aEvent);
- break;
- }
- case TPointerEvent::EDrag:
- {
- HandleMoveL(aEvent);
- break;
- }
- case TPointerEvent::EButton1Up:
- {
- if (KErrNone == AddPoint( aEvent ))
- {
- HandleTouchUp(aEvent);
- }
- else
- {
- EmitCancelEvent();
- }
- Reset();
- break;
- }
- default:
- break;
- }
- return ETrue;
- }
-
-TBool CGestureHelperImpl::IsMovementGesture(TGestureCode aCode)
- {
- return (aCode == EGestureDrag || aCode == EGestureFlick || aCode == EGestureSwipeUp ||
- aCode == EGestureSwipeDown || aCode == EGestureSwipeRight || aCode == EGestureSwipeLeft);
- }
-
-void CGestureHelperImpl::HandleLongTouch()
- {
- iDoubleTapTimer->Cancel();
- iGesture->SetLongTap(ETrue);
- iGesture->SetComplete();
- TPoint startPos = iGesture->StartPos();
- EmitEvent(*iGesture);
- iGesture->Reset();
- iGesture->AddPoint( startPos, GetLastEventTime() );
- }
-
-void CGestureHelperImpl::HandleTouchDownL(const TPointerEvent& aEvent)
- {
- TGestureCode prevCode = iGesture->PreviousGestureCode();
- if (prevCode == EGestureStart) return;
- if (prevCode == EGestureDrag)
- {
- iGesture->Reset();
- }
- AddPointL( aEvent );
-
- if (!iLongTouchTimer->IsActive())
- {
- iLongTouchTimer->Start();
- }
- if (!iDoubleTapTimer->IsActive())
- {
- EmitEvent( *iGesture );
- }
- }
-
-void CGestureHelperImpl::HandleMoveL(const TPointerEvent& aEvent)
- {
- if (iGesture->IsLatestPoint( Position(aEvent))) return; // I'm not sure we need this
- //Cancel double tap time - it's neither tap nor double tap
- iDoubleTapTimer->Cancel();
- iLongTouchTimer->Cancel();
-
- TBool isFirstPoint = IsIdle();
-
- AddPointL( aEvent );
-
- if (iPreviousTapGesture)
- {
- RecycleGesture(iPreviousTapGesture);
- }
-
- if (!isFirstPoint)
- {
- EmitEvent( *iGesture );
- }
- }
-
-void CGestureHelperImpl::HandleTouchUp(const TPointerEvent& /*aEvent*/)
- {
- TGestureCode prevCode = iGesture->PreviousGestureCode();
- iLongTouchTimer->Cancel();
- iDoubleTapTimer->Cancel();
- TInt64 fromLastTouchUp = iLastEventTime.MicroSecondsFrom(iLastTouchUpTime).Int64();
- TInt64 fromLastDoubleTap = iLastEventTime.MicroSecondsFrom(iLastDoubleTapTime).Int64();
- /*
- TBuf<1024> str;
- str.AppendFormat(_L("fromLastTouchUp: %d, "), fromLastTouchUp);
- str.AppendFormat(_L("fromLastDoubleTap: %d, "), fromLastTouchUp);
- str.AppendFormat(_L("iPreviousTapGesture: %d, "), iPreviousTapGesture);
- RFileLogger::Write( _L("gh"), _L("gh.txt"), EFileLoggingModeAppend, str);
- */
- if ( prevCode == EGestureLongTap )
- {
- EmitReleasedEvent();
- }
- else if (IsMovementGesture(prevCode) ||
- !iDoubleTapTimer->IsEnabled() /* || !iGesture->IsTap()*/ )
- {
- iGesture->SetComplete();
- EmitEvent(*iGesture);
- }
-
- else
- {
- if ( iPreviousTapGesture &&
- (fromLastTouchUp > KDoubleTapMinActivationInterval) &&
- (fromLastTouchUp < KDoubleTapMaxActivationInterval) &&
- (fromLastDoubleTap > KDoubleTapIdleInterval))
- {
- // it's a double tap
- iLastTouchUpTime = iLastEventTime;
- iLastDoubleTapTime = iLastEventTime;
- EmitDoubleTapEvent();
- }
- else
- {
- // it's a first tap
- iLastTouchUpTime = iLastEventTime;
- if (iPreviousTapGesture)
- {
- RecycleGesture(iPreviousTapGesture);
- }
-
- iPreviousTapGesture = iGesture;
- iGesture = NewGesture();
- iDoubleTapTimer->Start();
- }
- }
- }
-
-
-
-void CGestureHelperImpl::EmitDoubleTapEvent()
- {
- iPreviousTapGesture->SetDoubleTap();
- EmitFirstTapEvent();
- }
-
-
-void CGestureHelperImpl::EmitReleasedEvent()
- {
- iGesture->SetComplete();
- iGesture->SetReleased();
- EmitEvent(*iGesture);
- }
-
-
-// ----------------------------------------------------------------------------
-// Is the helper idle?
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TBool CGestureHelperImpl::IsIdle() const
- {
- return iGesture->IsEmpty();
- }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline void CGestureHelperImpl::AddPointL( const TPointerEvent& aEvent )
- {
- User::LeaveIfError( AddPoint( aEvent ) );
- }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// inline ok in cpp file for a private member function
-// ----------------------------------------------------------------------------
-//
-inline TInt CGestureHelperImpl::AddPoint( const TPointerEvent& aEvent )
- {
- TPoint pos = Position ( aEvent );
- return iGesture->AddPoint( pos, GetLastEventTime() );
- }
-
-// ----------------------------------------------------------------------------
-// StartHoldingTimer
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::StartHoldingTimer( const TPointerEvent& aNewEvent )
- {
- if ( !( iGesture->IsHolding() ||
- iGesture->IsNearHoldingPoint( Position( aNewEvent ) ) ) )
- {
- // restart hold timer, since pointer has moved
- iHoldingTimer->Start();
- // Remember the point in which holding was started
- iGesture->SetHoldingPoint();
- }
- }
-
-/**
- * Helper function that calls ContinueHolding on the pointer to TGesture
- */
-static void ContinueHolding( TAny* aGesture )
- {
- static_cast< CGesture* >( aGesture )->ContinueHolding();
- }
-
-// ----------------------------------------------------------------------------
-// Add a point to the sequence of points that together make up the gesture
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::StartHoldingL()
- {
- // hold & tap event is specifically filtered out. Use case: in list fast
- // scrolling activation (e.g. enhanced coverflow), tap & hold should not
- // start fast scroll. In addition, after long tap on start position,
- // drag and drag & hold swiping should emit normal swipe and swipe&hold
- // events. Therefore, tap & hold is not supported.
- __ASSERT_DEBUG( !iGesture->IsTap() && !iPreviousTapGesture, Panic( EGesturePanicIllegalLogic ) );
-
- // holding has just started, and gesture code should be provided to client.
- // set gesture state so that it produces a gesture code (other than drag)
- iGesture->StartHolding();
-
- // create an item in the cleanup stack that will set the gesture state
- // to holding-was-started-earlier state. NotifyL may leave, but the
- // holding-was-started-earlier state must still be successfully set,
- // otherwise, the holding gesture code will be sent twice
- CleanupStack::PushL( TCleanupItem( &ContinueHolding, iGesture ) );
-
- EmitEvent( *iGesture );
-
- // set holding state to "post holding"
- CleanupStack::PopAndDestroy( iGesture );
- }
-
-// ----------------------------------------------------------------------------
-// RecyclePreviousTapGesture
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::RecyclePreviousTapGesture( TAny* aSelf )
- {
- CGestureHelperImpl& self = *reinterpret_cast<CGestureHelperImpl*>( aSelf );
- self.RecycleGesture( self.iPreviousTapGesture );
- }
-
-// ----------------------------------------------------------------------------
-// Emit the remainder of the previous tap event (tap + released)
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitFirstTapEvent()
- {
- // when this function is called, a tap has turned out to _not_ be a double tap
- __ASSERT_DEBUG( IsDoubleTapEnabled(), Panic( EGesturePanicIllegalLogic ) );
- __ASSERT_DEBUG( iPreviousTapGesture, Panic( EGesturePanicIllegalLogic ) );
-
- iDoubleTapTimer->Cancel();
- CompleteAndEmit( *iPreviousTapGesture );
- RecycleGesture(iPreviousTapGesture);
-
- }
-
-// ----------------------------------------------------------------------------
-// EmitStartEventL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitStartEventL( const CGesture& aGesture )
- {
- CGesture* startGesture = aGesture.AsStartEventLC();
- EmitEvent( *startGesture );
- CleanupStack::PopAndDestroy( startGesture );
- }
-
-// ----------------------------------------------------------------------------
-// EmitCompletionEventsL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::CompleteAndEmit( CGesture& aGesture )
- {
- aGesture.SetComplete();
- // send gesture code if holding has not been started. If holding has
- // been started, client has already received a "hold swipe left" e.g. event, in which
- // case don't another "swipe left" event
- if ( !aGesture.IsHolding() )
- {
- // if client leaves, the state is automatically reset.
- // In this case the client will not get the released event
- EmitEvent( aGesture );
- }
-
- // send an event that stylus was lifted
- aGesture.SetReleased();
- EmitEvent( aGesture );
- }
-
-// ----------------------------------------------------------------------------
-// EmitCancelEventL
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitCancelEvent()
- {
- iDoubleTapTimer->Cancel();
-
-
- CGesture& gestureToCancel = iPreviousTapGesture ? *iPreviousTapGesture : *iGesture;
- gestureToCancel.SetCancelled();
- EmitEvent( gestureToCancel );
- RecycleGesture(iPreviousTapGesture);
-
- }
-
-// ----------------------------------------------------------------------------
-// Notify observer
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::EmitEvent( const CGesture& aGesture )
- {
- // deallocation of the event is happening in CGestureEventSender::RunL()
- TGestureEvent event;
- event.SetCode(const_cast<CGesture&>(aGesture).Code(EAxisBoth));
- event.SetCurrentPos(aGesture.CurrentPos());
- event.SetDistance(aGesture.Distance());
- event.SetStartPos(aGesture.StartPos());
- event.SetIsHolding(aGesture.IsHolding());
- event.SetSpeed(aGesture.Speed());
- iEventSender->AddEvent(event);
- }
-
-// ----------------------------------------------------------------------------
-// Return a fresh gesture from the gesture pool (pool of one gesture)
-// ----------------------------------------------------------------------------
-//
-CGesture* CGestureHelperImpl::NewGesture()
- {
- __ASSERT_DEBUG( iUnusedGesture, Panic( EGesturePanicIllegalLogic ) ); // pool should no be empty
-
- iUnusedGesture->Reset();
- CGesture* freshGesture = iUnusedGesture;
- iUnusedGesture = NULL;
- return freshGesture;
- }
-
-// ----------------------------------------------------------------------------
-// Return a fresh gesture from the gesture pool (pool of one gesture)
-// ----------------------------------------------------------------------------
-//
-void CGestureHelperImpl::RecycleGesture( CGesture*& aGesturePointer )
- {
- // only one object fits into the pool, and that should currently be enough
- // one pointer must be null, one non-null
- __ASSERT_DEBUG( !iUnusedGesture != !aGesturePointer, Panic( EGesturePanicIllegalLogic ) );
- if ( aGesturePointer )
- {
- iUnusedGesture = aGesturePointer;
- aGesturePointer = NULL;
- }
- }
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturehelperimpl.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture helper implementation
-*
-*/
-
-
-#ifndef _GESTUREHELPERIMPL_H_
-#define _GESTUREHELPERIMPL_H_
-
-#include <e32base.h>
-#include <coemain.h>
-#include <rt_gesturehelper.h>
-
-
-struct TPointerEvent;
-
-namespace RT_GestureHelper
-{
-
-class CCallbackTimer;
-class CGesture;
-class CPointerCapturer;
-class MGestureObserver;
-class CGestureEventFilter;
-class CGestureEventSender;
-
-/**
- * Implementation of CGestureHelper interface
- */
-NONSHARABLE_CLASS( CGestureHelperImpl ) : public CBase
- {
-public:
- /** 2-phase constructor */
- static CGestureHelperImpl* NewL( MGestureObserver& aObserver );
-
- /** Destructor */
- ~CGestureHelperImpl();
-
-
- /** See @ref CGestureHelper::SetHoldingEnabled */
- void SetHoldingEnabled( TBool aEnabled );
- /** See @ref CGestureHelper::IsHoldingEnabled */
- TBool IsHoldingEnabled() const;
- /** See @ref CGestureHelper::SetDoubleTapEnabled */
- void SetDoubleTapEnabled( TBool aEnabled );
- /** See @ref CGestureHelper::IsDoubleTapEnabled */
- TBool IsDoubleTapEnabled() const;
- /** See @ref CGestureHelper::HandlePointerEventL */
- TBool HandlePointerEventL( const TPointerEvent& aEvent );
-
- /** Reset helper state */
- void Reset();
-
- void SetLastEventTime() {iLastEventTime.HomeTime(); } /*CCoeEnv::Static()->LastEvent().Time();*/
-
-
- TTime GetLastEventTime() const { return iLastEventTime; }
-private:
- /** Constructor */
- CGestureHelperImpl( MGestureObserver& aObserver );
-
-
-
- TBool noneAlf_HandlePointerEventL( const TPointerEvent& aEvent);
-
- /** @return ETrue if the helper has not started processing a gesture */
- inline TBool IsIdle() const;
- /** Add a point to the sequence of points that make up the gesture */
- inline void AddPointL( const TPointerEvent& aEvent );
- /** Add a point to the sequence of points that make up the gesture */
- inline TInt AddPoint( const TPointerEvent& aEvent );
- /** Activates holding and notifies observer that holding has been started */
- void StartHoldingL();
- /* Set previous tag gesture to null (and recycle the gesture object) */
- static void RecyclePreviousTapGesture( TAny* aSelf );
- /** Emits a tap event since second tap of a double tap was not received within timeout */
- void EmitFirstTapEvent();
- /** Emit the start gesture event that aGesture would have produced */
- void EmitStartEventL( const CGesture& aGesture );
- /**
- * Send code event if not holding. Also sets the event to released and emits again.
- * Modifies aGesture!
- */
- void CompleteAndEmit( CGesture& aGesture );
- /**
- * Send cancel event about the latest gesture client was notified about
- * Sets the latest gesture to Cancelled.
- */
- void EmitCancelEvent();
-
- /**
- * Send Released event
- */
- void EmitReleasedEvent();
-
- /** Notify observer of the gesture */
- void EmitEvent( const CGesture& aGesture );
- /**
- * (re)start holding timer at the current point.
- * Does not restart holding if the point (in aEvent) is near enough to where holding
- * was started earlier. (Allows small movement but still starting holding.
- */
- void StartHoldingTimer( const TPointerEvent& aNewEvent );
-
- /**
- * @return a gesture object from the gesture pool
- * Getting gestures from the gesture pool avoids the need to create gestures
- * after construction. There is max only one gesture object in the pool,
- * but no more is needed
- */
- CGesture* NewGesture();
- /** Move the gesture into the gesture pool, and set aGesturePointer to null */
- void RecycleGesture( CGesture*& aGesturePointer );
-
-
- void HandleTouchUp(const TPointerEvent& aEvent);
- void HandleTouchDownL(const TPointerEvent& aEvent);
- void HandleMoveL(const TPointerEvent& aEvent);
- void HandleLongTouch();
- void EmitDoubleTapEvent();
- TBool IsMovementGesture(TGestureCode aCode);
-
-private:
- /// Gesture is the logical representation of a sequence of points arriving
- /// at certain times
- /// This is the current gesture
- CGesture* iGesture;
-
- /// Tap gesture of the previous gesture. Used when double tap is enabled.
- /// The gesture is cached, since it cannot be emitted until gesture helper
- /// knows whether the next gesture forms a double tap
- /// @see CGestureHelperImpl::iDoubleTapTimer
- CGesture* iPreviousTapGesture;
-
- /// This is a recyclable object pool with just one object.
- /// This class needs one or two gesture objects at any one time. There is one
- /// less error condition to handle if gesture objects are not created after
- /// construction. Therefore, if only one gesture object is needed at a specific,
- /// point in time, the unused gesture object is stored here.
- CGesture* iUnusedGesture;
-
- /// When double tap is enabled, a tap
- /// event (and it's released event) is only emitted after the double tap timeout
- /// passes. If user taps again before the timeout (in the same position),
- /// this gesture is emitted as a double tap (followed by the released event,
- /// and the second tap is not emitted at all.
- /// If user taps, and then swipes before the double tap timeout, this tap
- /// event (and it's released event) event is emitted, and only then the swipe's
- /// down and drag events are emitted. In other words, if user presses down
- /// during the timeout, the down event it not emitted until the gesture
- /// helper knows that the gesture is not another tap.
- /// Behavior while double tap enabled:
- /// Swipe: Down + drag + up => emits down + swipe/cancel + released
- /// Tap: Down + up => emits down ... timeout ... + tap + released
- /// Double tap: Down + up + down + up => emits down ... double tap + released
- /// Tap + quick swipe: Down + up + down + drag + ... => emits down ... tap + up (for tap) + down (for swipe ) + drag + ...
- /// Double tap timer is cancelled when the second pointer down event is received,
- /// i.e., it does not matter if user does this:
- /// down + up + down ... long wait ... + up. It's still a double tap.
- CCallbackTimer* iDoubleTapTimer;
-
- /// holding is activated when user keeps pointer down in the same place for
- /// a longer period. the holding timer activates off when enough time has passed.
- CCallbackTimer* iHoldingTimer;
-
- /// observer for gesture events
- MGestureObserver& iObserver;
-
- /// captures subsequent pointer events after pointer down received,
- /// until pointer up
- CPointerCapturer* iPointerCapturer;
-
- TTime iLastEventTime;
- TTime iLastTouchUpTime;
- TTime iLastDoubleTapTime;
-
- CCallbackTimer* iLongTouchTimer;
- CGestureEventFilter* iEventFilter;
- CGestureEventSender* iEventSender;
- };
-
-} // GestureHelper
-
-#endif // _GESTUREHELPERIMPL_H_
--- a/webengine/webkitutils/rt_gesturehelper/src/gesturerecogniser.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Algorithm to recognise gesture from a stream of points
-*
-*/
-
-
-#ifndef _GESTURERECOGNISER_H_
-#define _GESTURERECOGNISER_H_
-
-#include <e32std.h>
-#include "rt_gestureobserver.h"
-
-namespace RT_GestureHelper
-{
-
-class TPointArray;
-
-/**
- * Note: Not a static class or a function pointer, just to make it sligthly
- * easier to replace it with a heavier implementation
- */
-NONSHARABLE_CLASS( TGestureRecogniser )
- {
-public:
- /**
- * Translates points into a gesture code
- * @param aPoints Points that form the gestures. Client is not required
- * to pass in repeated points (sequential points that are
- * almost in the same place)
- * @param aIsHolding ETrue if gesture was ended at pointer being held down at same position
- * EFalse if gesture ended at pointer being released
- * @return recognised gesture id or EUnknownGesture
- */
- TGestureCode GestureCode( const TPointArray& aPoints ) const;
- };
-
-} // namespace GestureHelper
-
-#endif // _GESTURERECOGNISER_H_
--- a/webengine/webkitutils/rt_gesturehelper/src/pointarray.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Array of points
-*
-*/
-
-
-#include "pointarray.h"
-
-using namespace RT_GestureHelper;
-
-// ----------------------------------------------------------------------------
-// TPointArray constructor
-// ----------------------------------------------------------------------------
-//
-TPointArray::TPointArray( const RArray< TPointEntry >& aPoints )
- : iPoints( aPoints )
- {}
-
-// ----------------------------------------------------------------------------
-// TPointArray length
-// ----------------------------------------------------------------------------
-//
-TInt TPointArray::Count() const
- {
- return iPoints.Count();
- }
-
-// ----------------------------------------------------------------------------
-// point at index, no filtering
-// ----------------------------------------------------------------------------
-//
-TPoint TPointArray::operator[]( TInt aIndex ) const
- {
- return iPoints[aIndex].iPos;
- }
-
-// ----------------------------------------------------------------------------
-// Unfiltered point at index
-// ----------------------------------------------------------------------------
-//
-TPoint TPointArray::Raw( TInt aIndex ) const
- {
- return iPoints[aIndex].iPos;
- }
-
--- a/webengine/webkitutils/rt_gesturehelper/src/pointarray.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Array of points
-*
-*/
-
-
-#ifndef _POINTARRAY_H_
-#define _POINTARRAY_H_
-
-#include <e32std.h>
-
-namespace RT_GestureHelper
-{
-
-/**
- * Represents a single point given at certain time
- */
-struct TPointEntry
- {
- /** constructor */
- inline TPointEntry( const TPoint& aPos, const TTime& aTime )
- : iPos( aPos ), iTime( aTime )
- {
- }
-
- TPoint iPos;
- TTime iTime;
- };
-
-/**
- * Array of points that wraps another point array
- * The purpose of this class is to allow deriving classes to override []
- * and in that member function adjust the point, e.g., by setting one
- * axis to always a constant value. This allows providing a sequence of
- * points to the recogniser in which the other axis is ignored.
- */
-NONSHARABLE_CLASS( TPointArray )
- {
-public:
- /**
- * @param aPoints points array to wrap (and filter)
- */
- TPointArray( const RArray< TPointEntry >& aPoints );
- /** @returns length of the array */
- TInt Count() const;
- /**
- * @returns a filtered point at aIndex. Default implementation same
- * as Raw(...)
- * virtual so deriving classes can modify the point (e.g., filter one axis)
- */
- virtual TPoint operator[]( TInt aIndex ) const;
- /** @returns an raw, non-filtered point at aIndex */
- TPoint Raw( TInt aIndex ) const;
-
-private:
- const RArray< TPointEntry >& iPoints;
- };
-
-} // namespace GestureHelper
-
-#endif // _POINTARRAY_H_
--- a/webengine/webkitutils/rt_gesturehelper/src/utils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture recognition utilities
-*
-*/
-
-
-#include "utils.h"
-
-#include <coemain.h> // for CCoeEnv
-#include <eikappui.h> // for CEikAppUi
-
-#include "gesturedefs.h"
-
-namespace RT_GestureHelper
- {
- /** @return the longer edge of the size */
- inline TInt LongerEdge( const TSize& aSize )
- {
- return Max( aSize.iHeight, aSize.iWidth );
- }
-
- // for documentation, see header file
- TRect ToleranceRect( const TPoint& aCenterPoint )
- {
- /*
- TSize screenSize = static_cast<CEikAppUi*>( CCoeEnv::Static()->AppUi() )
- ->ApplicationRect().Size();
- // multiplication has to be done first, to avoid rounding integer to 0 with division
- int toleranceLength = ( KGestureTolerancePercent * LongerEdge( screenSize ) ) / 100;
- */
- long toleranceLength = Mm2Pixels(KFingerSize_mm) / 2;
- TRect toleranceRect( aCenterPoint, TSize() );
- // grow by the tolerance length, while keeping the center point
- toleranceRect.Shrink( -toleranceLength, -toleranceLength );
- return toleranceRect;
- }
-
- long Twips2Pixels(long twips)
- {
- CWsScreenDevice* screen = CCoeEnv::Static()->ScreenDevice();
- TZoomFactor deviceMap(screen);
- deviceMap.SetZoomFactor(TZoomFactor::EZoomOneToOne);
- long px = deviceMap.VerticalTwipsToPixels(twips); //assuming that vertical
- return px; //the same as horizontal
-
- }
-
- long Mm2Pixels(long mm)
- {
- return Twips2Pixels(mm * KTwipsInMm);
- }
-
- long Inches2Pixels(double inches)
- {
- return Twips2Pixels(inches * KTwipsInInch);
- }
-
-
- } // namespace GestureHelper
--- a/webengine/webkitutils/rt_gesturehelper/src/utils.h Wed Jan 13 15:52:45 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Gesture recognition utilities
-*
-*/
-
-
-#ifndef _GESTURE_UTILS_H_
-#define _GESTURE_UTILS_H_
-
-#include <e32std.h>
-
-namespace RT_GestureHelper
- {
-
- /**
- * @return the a rectange in which dragging will be ignored. Tolerance rect
- * represents a rectange within which any movement will not be considered
- * intentional, but as accidental stylus movement.
- */
- TRect ToleranceRect( const TPoint& aCenterPoint );
-
- long Twips2Pixels(long twips);
- long Mm2Pixels(long mm);
- long Inches2Pixels(double inches);
-
- } // namespace GestureHelper
-
-#endif // _GESTURE_UTILS_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/bwins/stmgesturefwu.def Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,13 @@
+EXPORTS
+ ?RemoveListener@CStmGestureContext@@QAEHPAVMStmGestureListener@@@Z @ 1 NONAME ; int CStmGestureContext::RemoveListener(class MStmGestureListener *)
+ ?SetContext@CStmGestureContext@@QAEXPAVCCoeControl@@@Z @ 2 NONAME ; void CStmGestureContext::SetContext(class CCoeControl *)
+ ?Deactivate@CStmGestureContext@@QAEXXZ @ 3 NONAME ; void CStmGestureContext::Deactivate(void)
+ ?NewL@CStmGestureEngine@@SAPAV1@XZ @ 4 NONAME ; class CStmGestureEngine * CStmGestureEngine::NewL(void)
+ ?HandlePointerEventL@CStmGestureEngine@@QAEXABUTPointerEvent@@PAX@Z @ 5 NONAME ; void CStmGestureEngine::HandlePointerEventL(struct TPointerEvent const &, void *)
+ ?CreateContextL@CStmGestureEngine@@QAEPAVCStmGestureContext@@H@Z @ 6 NONAME ; class CStmGestureContext * CStmGestureEngine::CreateContextL(int)
+ ??0CStmGestureParameters@@QAE@ABV0@@Z @ 7 NONAME ; CStmGestureParameters::CStmGestureParameters(class CStmGestureParameters const &)
+ ?Context@CStmGestureEngine@@QAEPAVCStmGestureContext@@H@Z @ 8 NONAME ; class CStmGestureContext * CStmGestureEngine::Context(int)
+ ?AddListenerL@CStmGestureContext@@QAEXPAVMStmGestureListener@@H@Z @ 9 NONAME ; void CStmGestureContext::AddListenerL(class MStmGestureListener *, int)
+ ?ActivateL@CStmGestureContext@@QAEXXZ @ 10 NONAME ; void CStmGestureContext::ActivateL(void)
+ ??0CStmGestureParameters@@QAE@XZ @ 11 NONAME ; CStmGestureParameters::CStmGestureParameters(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/eabi/stmgesturefwu.def Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,17 @@
+EXPORTS
+ _ZN17CStmGestureEngine14CreateContextLEi @ 1 NONAME
+ _ZN17CStmGestureEngine19HandlePointerEventLERK13TPointerEventPv @ 2 NONAME
+ _ZN17CStmGestureEngine4NewLEv @ 3 NONAME
+ _ZN17CStmGestureEngine7ContextEi @ 4 NONAME
+ _ZN18CStmGestureContext10DeactivateEv @ 5 NONAME
+ _ZN18CStmGestureContext10SetContextEP11CCoeControl @ 6 NONAME
+ _ZN18CStmGestureContext12AddListenerLEP19MStmGestureListeneri @ 7 NONAME
+ _ZN18CStmGestureContext14RemoveListenerEP19MStmGestureListener @ 8 NONAME
+ _ZN18CStmGestureContext9ActivateLEv @ 9 NONAME
+ _ZN21CStmGestureParametersC1ERKS_ @ 10 NONAME
+ _ZN21CStmGestureParametersC1Ev @ 11 NONAME
+ _ZN21CStmGestureParametersC2ERKS_ @ 12 NONAME
+ _ZN21CStmGestureParametersC2Ev @ 13 NONAME
+ _ZTI18CStmGestureContext @ 14 NONAME
+ _ZTV18CStmGestureContext @ 15 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information
+*
+*/
+
+#include <platform_paths.hrh>
+#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../rom/stmgesturefw.iby CORE_MW_LAYER_IBY_EXPORT_PATH(stmgesturefw.iby)
+
+PRJ_MMPFILES
+#ifndef __S60_32__
+stmgesturefw.mmp
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/group/stmgesturefw.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Project definition file
+*
+*/
+
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET stmgesturefw.dll
+TARGETTYPE dll
+UID 0x1000008d 0x200212EA
+
+CAPABILITY CAP_CLIENT_DLL
+VENDORID VID_DEFAULT
+
+USERINCLUDE ../inc
+MW_LAYER_SYSTEMINCLUDE
+
+
+#if defined(WINSCW)
+deffile ../BWINS/stmgesturefw.def
+#elif defined(ARMCC)
+deffile ../EABI/stmgesturefw.def
+#endif
+
+SOURCEPATH ../src
+SOURCE gestureengine.cpp
+SOURCE gestureframework.cpp
+SOURCE gestureframeworkimpl.cpp
+SOURCE genericsimplegesture.cpp
+SOURCE tapgesturerecogniser.cpp
+SOURCE pangesturerecogniser.cpp
+SOURCE longpressgesturerecogniser.cpp
+SOURCE pinchgesturerecogniser.cpp
+SOURCE touchgesturerecogniser.cpp
+SOURCE releasegesturerecogniser.cpp
+SOURCE flickgesturerecogniser.cpp
+SOURCE UiEvent.cpp
+SOURCE stateengine.cpp
+SOURCE statemachine.cpp
+SOURCE uieventsender.cpp
+SOURCE stateengineconfiguration.cpp
+SOURCE utils.cpp
+SOURCE stmgestureinterface.cpp
+SOURCE gesturehelpereventsender.cpp
+#ifdef GESTURE_LOGGING
+SOURCE filelogger.cpp
+#endif
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY cone.lib
+LIBRARY PlatformEnv.lib
+LIBRARY bafl.lib
+LIBRARY eikcore.lib
+LIBRARY avkon.lib
+LIBRARY gdi.lib
+LIBRARY ws32.lib
+LIBRARY flogger.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/callbacktimer.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Timer implementation
+*
+*/
+
+#ifndef CALLBACKTIMER_H_
+#define CALLBACKTIMER_H_
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include <coemain.h>
+#include <aknutils.h>
+#include <e32property.h>
+#include <w32std.h>
+
+namespace stmUiEventEngine
+{
+/**
+ * define the method to be called by the timer; this includes the pointer number
+ * the timer is associated with (maybe some other solution could do this, but...)
+ */
+class CStateMachine ;
+typedef void (CStateMachine::*CallbackFunctionL)(TInt aPointerNumber);
+
+
+/**
+ * CCallbackTimer to implement the timers. This needs to be replaced
+ * with something else if cross platform is needed.
+ */
+NONSHARABLE_CLASS( CCallbackTimer ): public CTimer
+{
+public:
+ /** Two-phase constructor */
+ static CCallbackTimer* NewL(CStateMachine& aHelper,
+ CallbackFunctionL aCallbackFunctionL,
+ TInt aDelay,
+ TInt aPointerNumber,
+ TBool aIsEnabled)
+ {
+ CCallbackTimer* self = new (ELeave) CCallbackTimer(aHelper,
+ aCallbackFunctionL, aDelay, aPointerNumber, aIsEnabled);
+ CleanupStack::PushL(self);
+ self->ConstructL(); // construct base class
+ CActiveScheduler::Add(self);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+ /** Destructor */
+ ~CCallbackTimer()
+ {
+ Cancel();
+ }
+
+ /** Set whether sending events is currently enabled */
+ void SetEnabled(TBool aEnabled)
+ {
+ iIsEnabled = aEnabled;
+ // cancel in case timer is already running
+ Cancel();
+ }
+
+ /** @return whether sending events is currently enabled */
+ TBool IsEnabled() const
+ {
+ return iIsEnabled;
+ }
+
+ /** Start the timer. Calls callback upon completion. It is possible to give temporary delay if needed,
+ * otherwise use the defined delay.
+ */
+ void Start(TInt aNewDelay = 0)
+ {
+ if (iIsEnabled)
+ {
+ Cancel();
+ if (aNewDelay != 0)
+ {
+ After(aNewDelay);
+ }
+ else
+ {
+ After(iDelay);
+ }
+ }
+ }
+ void SetDelay(TInt aDelay)
+ {
+ iDelay = aDelay;
+ }
+ TInt GetDelay()
+ {
+ return iDelay;
+ }
+ /**
+ * method for checking are we inside the RunL method...
+ */
+ TBool isTriggered()
+ {
+ return iIsTriggered;
+ }
+
+private:
+ /** Constructor */
+ CCallbackTimer(CStateMachine& aHelper, CallbackFunctionL aCallbackFunctionL,
+ TInt aDelay, TInt aPointerNumber, TBool aIsEnabled)
+ :
+ CTimer(EPriorityRealTime - 1), // handle the timers always first before anything else
+ iHelper(aHelper), iCallbackFunctionL(aCallbackFunctionL),
+ iDelay(aDelay), iIsEnabled(aIsEnabled), iPointerNumber(aPointerNumber)
+ {
+ iIsTriggered = EFalse;
+ }
+
+ void RunL() // From CActive
+ {
+ iIsTriggered = ETrue ;
+ (iHelper .*iCallbackFunctionL)(iPointerNumber);
+ iIsTriggered = EFalse ;
+ }
+
+private:
+ /// helper object that will be called back when timer is triggered
+ CStateMachine& iHelper;
+ /// Function in the iHelper object call
+ CallbackFunctionL iCallbackFunctionL;
+ /// How long a time to wait before calling back after Start()
+ TInt iDelay;
+ /// whether sending holding events is currently enabled
+ TBool iIsEnabled;
+ /**
+ * while we are inside RunL iIsTriggered = ETrue
+ */
+ TBool iIsTriggered;
+ /*
+ * in multitouch now we need timers for each pointer
+ * could this be handled in some other way?
+ */
+ TInt iPointerNumber ;
+};
+} // namespace
+
+#endif /* CALLBACKTIMER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/edgescrollgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Edge Scroll Recognizer
+*
+*/
+
+#ifndef EDGESCROLLGESTURERECOGNISER_H_
+#define EDGESCROLLGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CEdgeScrollGestureRecogniser handles edge scroll gesture: Hold event near the edges of the window
+ *
+ */
+NONSHARABLE_CLASS( CEdgeScrollGestureRecogniser ): public CPeriodic,
+ public MGestureRecogniserIf
+{
+public:
+ static const TGestureUid KUid = EGestureUidEdgeScroll;
+
+ /** Two-phase constructor */
+ static CEdgeScrollGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CEdgeScrollGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+ virtual void enable(bool enabled) ;
+ virtual bool isEnabled() ;
+ virtual void setOwner(CCoeControl* owner) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up edge scroll gesture recogniser:
+ * define the rectangle where the edges would be watched.
+ * \param theArea
+ */
+ void setArea(const TRect& theArea) ;
+
+ /*!
+ * Additional methods to set up edge scroll gesture recogniser:
+ * Define how close to the border the Hold UI event must be
+ * \param rangeInPixels
+ */
+ void setScrollRange(int rangeInPixels) ;
+ /*!
+ * for testing purposes we need to log the stuff somewhere...
+ */
+public:
+ virtual void enableLogging(bool loggingOn) ;
+ /*!
+ * The timer function to handle timeout for generating scroll events
+ */
+ virtual void RunL() ;
+
+
+private:
+ CEdgeScrollGestureRecogniser(MGestureListener* aListener) ;
+ bool m_loggingenabled ;
+private:
+ CCoeControl* m_powner ; // The owning control for this gesture
+ MGestureListener* m_listener ;
+ bool m_waitingforsecondtap ;
+ TRect m_area ;
+ bool m_gestureEnabled ;
+ int m_rangesizeInPixels ;
+};
+
+} // namespace
+
+#endif /* EDGESCROLLGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/filelogger.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,88 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: API for FileLogger.dll
+*
+*/
+// This file defines the API for FileLogger.dll
+#ifndef __FILELOGGER_H__
+#define __FILELOGGER_H__
+
+#include <f32file.h>
+const TInt KMaxLogEntrySize = 400;
+
+#ifdef GESTURE_LOGGING
+#if defined(__WINS__) && !defined(__SERIES60_30__)
+#define RDEBUG(args...) RDebug::Printf(args)
+#define RDEBUG8(args) RDebug::RawPrint(args)
+#define RDEBUG16(args...) RDebug::Print(args...)
+#else
+#define RDEBUG(args...)
+#define RDEBUG8(args)
+#define RDEBUG16(args...)
+#endif
+
+#define LOGFLUSH CFileLogger::Flush()
+#define LOGCLOSE CFileLogger::Close()
+#define LOGARG(txt,parm...) {_LIT8(KTxt, txt); CFileLogger::Write(KTxt, parm); RDEBUG(txt, parm);}
+#define LOGTXT(txt) {_LIT8(KTxt, txt); CFileLogger::Write((const TDesC8&)KTxt); RDEBUG8(KTxt);}
+#define LOGDES8(des) {CFileLogger::Write(des); RDEBUG8(des);}
+#define LOGDES16(des) {CFileLogger::Write(des); RDEBUG16(des);}
+#define LOGERR(txt,err) if (!err) {} else {LOGARG(txt, err);}
+#define LOGCALL(exp) {LOGARG("Calling \"%s\"", #exp); exp; LOGARG("Call to \"%s\" passed.", #exp);}
+#define LOGENTER LOGARG("%s start", __PRETTY_FUNCTION__)
+#define LOGEXIT LOGARG("%s end", __PRETTY_FUNCTION__)
+#define LOGMEM(ptr) LOGARG("%s [0x%x]", #ptr, (TUint)ptr)
+
+NONSHARABLE_CLASS( CFileLogger ): public CBase
+{
+public:
+ static void Write(const TDesC8& aText);
+ static void Write(const TDesC16& aText);
+ static void Write(TRefByValue<const TDesC8> aFmt,...);
+ static void Close();
+ static void Flush();
+
+private:
+ CFileLogger();
+ ~CFileLogger();
+ TBool Construct();
+ static CFileLogger* Logger();
+ void DoWrite();
+ TBool GetLogFileNameWithoutExt(TDes& aFileName);
+ void DoFlush() ;
+
+private:
+ RFs iFs;
+ RFile iFile;
+ TBuf8<KMaxLogEntrySize> iLogBuffer;
+};
+
+#else
+#define LOGFLUSH
+#define LOGCLOSE
+#define LOGARG(txt,parm...)
+#define LOGTXT(txt)
+#define LOGDES8(des)
+#define LOGDES16(des)
+#define LOGERR(txt,err)
+#define LOGCALL(exp)
+#define LOGENTER
+#define LOGEXIT
+#define LOGMEM(ptr)
+#endif
+
+
+
+
+#endif // __FILELOGGER_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/flickgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Flick Recognizer
+*
+*/
+
+#ifndef FLICKGESTURERECOGNISER_H_
+#define FLICKGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CFlickGestureRecogniser handles release "gesture"
+ * This is countarpart to touch gesture recogniser, just
+ * informing the app that ERelease has been seen.
+ * This should be placed towards the end of the list of gesture
+ * recognisers, all other recognisers which handle ERelease with
+ * some other events preceding the ERelease must be before this one.
+ *
+ */
+NONSHARABLE_CLASS( CFlickGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidFlick;
+
+ /** Two-phase constructor */
+ static CFlickGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CFlickGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+public:
+ void setFlickingSpeed(float aSpeed) __SOFTFP;
+
+private:
+ CFlickGestureRecogniser(MGestureListener* aListener) ;
+
+private:
+ float m_speed ;
+};
+
+} // namespace
+
+#endif /* FLICKGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/genericsimplegesture.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture Definitions
+*
+*/
+
+#ifndef GENERICSIMPLEGESTURE_H_
+#define GENERICSIMPLEGESTURE_H_
+#include <rt_gestureif.h>
+#include <rt_uievent.h>
+
+
+namespace stmGesture
+{
+
+/*!
+ * Class for creating a simple gesture for notifying the listener.
+ * If the basic features are enough for the gesture, then this class
+ * is enough to be instantiated; there is the location and speed
+ * determined from the UI event; also type can be specified as well
+ * as integer detail data.
+ */
+NONSHARABLE_CLASS( TGenericSimpleGesture ): public MGestureIf
+{
+public:
+ TGenericSimpleGesture(
+ TGestureUid uid, const TPoint& loc, int type = 0,
+ const stmUiEventEngine::MUiEventSpeed* speedIf = NULL);
+
+public: // implementation of MGestureIf
+
+ TGestureUid gestureUid() const { return m_uid; }
+ void setDetails(int aDetails) { m_details = aDetails;} // additional info can be passed here.
+ /*!
+ * MGestureIf methods
+ */
+ virtual TPoint getLocation() const ; // Location where the gesture happened (if applicable)
+ virtual int getType() const ; // If the gesture can have different types
+ virtual float getSpeedX() const __SOFTFP
+ {
+ return m_speed ? m_speed->speedX() : 0.f;
+ }
+ virtual float getSpeedY() const __SOFTFP
+ {
+ return m_speed ? m_speed->speedY() : 0.f;
+ }
+ virtual int getDetails() const ; // Other possible details....
+
+ virtual void setName(const TDesC8& aName) ;
+ virtual TPtrC8 getGestureName() ; // String name for gesture
+
+public:
+ void setType(int aType)
+ {
+ m_type = aType;
+ }
+
+protected:
+ TPoint m_location ;
+ TGestureUid m_uid;
+ int m_type ;
+ // What would be the other details?
+ int m_details ;
+ const stmUiEventEngine::MUiEventSpeed* m_speed ;
+ TPtrC8 m_name ;
+};
+
+NONSHARABLE_CLASS( TDirectionalGesture ): public TGenericSimpleGesture
+{
+public:
+ TDirectionalGesture(
+ TGestureUid uid, const TPoint& loc, const TPoint& prevLoc,
+ const stmUiEventEngine::MUiEventSpeed* speedIf = NULL, bool logging = false);
+
+ void setVector(const TPoint& last, const TPoint& previous) ;
+ void setLogging(bool enabled) { m_loggingEnabled = enabled; }
+
+ TPoint getLengthAndDirection() const {return m_vector;}
+ TGestureDirection getDirection() const ;
+ TInt getLength() const
+ {
+ return ((m_vector.iX*m_vector.iX)+(m_vector.iY*m_vector.iY)) ;
+ }
+
+protected:
+ TPoint m_vector ;
+ bool m_loggingEnabled ;
+};
+
+NONSHARABLE_CLASS( TTwoPointGesture ): public TDirectionalGesture
+{
+public:
+ TTwoPointGesture(TGestureUid uid, const TPoint& pos1, const TPoint& pos2);
+ TPoint getPinchEndPos() const { return m_location2; }
+
+private:
+ TPoint m_location2 ;
+};
+
+} // namespace
+
+#endif /* GENERICSIMPLEGESTURE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/gesturedefs.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef _GESTUREDEFS_H_
+#define _GESTUREDEFS_H
+
+#include <e32std.h>
+
+namespace stmUiEventEngine
+{
+
+/// time to hold the stylus in the same position to activate holding
+const TInt KHoldDuration = 500000; // microseconds
+
+/// time to tap again for the second tap to be a double tap
+const TInt KMaxDoubleTapDuration = 400000; // microseconds
+
+/// time in which speed becomes zero if user stops stylus movement before
+/// lifting the pointer
+const TInt KSpeedStopTime = 150000; // microseconds
+
+/// tolerance in degrees to either side of an angle, for direction to be the
+/// same as reference angle
+const TReal KAngleTolerance = 25;
+
+/// Nth pointer event before the latest point
+const TInt KPreviousPointOffset = 3;
+
+/// Tolerance for ignoring small movements, percent of longer screen edge
+const TInt KGestureTolerancePercent = 2; // of 100
+
+const TInt KFingerSize_mm = 8;
+
+const TInt KTwipsInInch = 1440;
+
+const TReal KTwipsInMm = 56.7;
+
+const TInt KMaxTapDuration = 300000; //microseconds
+
+const TInt KFlickSpeed = 500;
+
+const TInt KDoubleTapMaxActivationInterval = 500000; // 500 ms
+
+const TInt KDoubleTapMinActivationInterval = 40000; // 40 ms
+
+const TInt KDoubleTapIdleInterval = 700000; // 700 ms, to prevent triple-tap effects
+
+const TInt KLongTapDuration = 2000000; //2 sec
+
+const TInt KMinTimeBetweenDrags = 20000; // 20 ms
+/**
+ * Panic codes
+ */
+enum TGesturePanic
+ {
+ EGesturePanicIllegalLogic
+ };
+
+/** Panics the thread */
+inline void Panic( TGesturePanic aReason )
+ {
+ _LIT( KComponentName, "GestureHelper" );
+ User::Panic( KComponentName, aReason );
+ }
+
+}
+
+#endif // _GESTUREDEFS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/gestureengine.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GESTUREENGINE_H_
+#define GESTUREENGINE_H_
+
+#include <coemain.h>
+#include <e32property.h>
+#include <w32std.h>
+
+#include "rt_gestureengineif.h"
+#include "rt_uievent.h"
+
+namespace stmGesture
+{
+
+/*!
+ * CGEstureEngine handles the processing of the UI events.
+ * It acts as a stmUiEventEngine::MUiEventObserver to receive the UI events.
+ * The gesture recognisers are stored in a list, and at each HandleUiEventL the
+ * list of gesture recognisers is processed. The first one to return EGestureActive
+ * from the recognise method "owns" the gesture. If some other recogniser owned it
+ * previously, its release method is called. Gesture recogniser can also lock the gesture
+ * by returning ELockToThisGesture. Then only that gesture recogniser will be called
+ * until release is detected or the recogniser returns something else than ELockToThisGesture.
+ */
+NONSHARABLE_CLASS( CGestureEngine ): public CBase,
+ public MGestureEngineIf,
+ public stmUiEventEngine::MUiEventObserver
+{
+public:
+ CGestureEngine();
+ virtual ~CGestureEngine();
+
+ /*!
+ * add gesture to the end of the list of gestures
+ */
+ virtual bool addGesture(const MGestureRecogniserIf* aNewGesture) ;
+ /*!
+ * inset a gesture to the beginning of the list of gestures
+ */
+ virtual bool insertGesture(const MGestureRecogniserIf* aNewGesture) ;
+ /*!
+ * inset a gesture to the specific position
+ */
+ virtual bool insertGestureAt(const MGestureRecogniserIf* aNewGesture, int position) ;
+ /*!
+ * remove a gesture from the list
+ */
+ virtual bool removeGesture(const MGestureRecogniserIf* aOldGesture) ;
+ /*!
+ * get the number of non-empty event streams.
+ * Event streams correspond UI events generated by one touch pointer (=finger).
+ * The low level state machine handles the necessary filtering etc.
+ * so that it is safe to remove the event stream after UI Release event has been processed.
+ */
+ virtual int activeStreamCount() const ;
+ /*!
+ * get the UI events of stream X
+ * \param indexOfActiveStream defines which active stream is used.
+ * Note that MUiEvent contains all the events from down up to the current event.
+ * Assumption: the UI events contain the target "window handle", i.e.
+ * the gesture recognition needs to be aware of all possible windows of the application.
+ */
+ virtual const stmUiEventEngine::MUiEvent* getUiEvents(int indexOfActiveStream) const ;
+ /*!
+ * enable/disable logging
+ */
+ virtual void enableLogging(bool aLoggingEnabled) {m_loggingEnabled = aLoggingEnabled;} ;
+ /*!
+ * The stmUiEventEngine::MUiEventObserver interface
+ */
+ virtual void HandleUiEventL( const stmUiEventEngine::MUiEvent& aEvent ) ;
+private:
+ /*!
+ * The list of available gesture recognisers
+ */
+ RPointerArray< MGestureRecogniserIf > m_gestures;
+ /*!
+ * Is 5 UI event streams enough? Jos tulee Torvisen voittaja?
+ * We need to store only the latest event since the interface has
+ * methods to walk trough the events. The current (sept 2009) 9.2 seems to have dual-touch support
+ */
+ const stmUiEventEngine::MUiEvent* m_uiEventStream[stmUiEventEngine::KMaxNumberOfPointers] ;
+
+ void storeUiEvent(const stmUiEventEngine::MUiEvent& aEvent) ;
+ void walkTroughGestures() ;
+ void updateUiEvents() ;
+ int m_numOfActiveStreams ;
+ int m_currentGestureOwner ;
+ int m_currentLockedGesture ;
+ bool m_loggingEnabled ;
+};
+
+}
+
+#endif /* GESTUREENGINE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/gestureframework.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GESTUREFRAMEWORK_H
+#define GESTUREFRAMEWORK_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+// external classes
+namespace stmUiEventEngine
+{
+ class CStateMachine ;
+}
+
+// CLASS DECLARATION
+namespace stmGesture
+{
+// Forward declarations
+class CGestureFrameworkImpl ;
+
+/*!
+ * Gesture framework contains the following elements
+ * \li UI State Machine. This is the lower level driver handling the events and generating UI events.
+ * Gesture framework creates an instance of the UI state machine and adds itself to be the UI event listener.
+ * \li Gesture Engine. The gesture engine processes the UI events received via MUiEventObserver
+ * and calls gesture recogniser interface MGestureRecogniserIf of all the gestures in the list.
+ * \li Gesture Recognisers. Gesture recognisers scan the list of UI events and if they recognise
+ * a gesture, they call the MGestureListener.
+ */
+NONSHARABLE_CLASS( CGestureFramework ): public CBase
+{
+public:
+ // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ virtual ~CGestureFramework();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CGestureFramework* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CGestureFramework* NewLC();
+public:
+ // new functions,
+ static TVersion Version();
+ /*!
+ * Get the gesture engine interface
+ */
+ MGestureEngineIf* getGestureEngine() ;
+ /*!
+ * Get the underlying low level UI event interface
+ */
+ stmUiEventEngine::CStateMachine* getUiStateMachine() ;
+ /*!
+ * logging on or off
+ */
+ void enableLogging(bool loggingEnabled);
+
+private:
+
+ /*!
+ * Constructor for performing 1st stage construction
+ */
+ CGestureFramework();
+
+ /*!
+ * EPOC default constructor for performing 2nd stage construction
+ */
+ void ConstructL();
+
+private:
+ CGestureFrameworkImpl* m_impl ;
+
+ bool m_loggingenabled ;
+
+};
+
+} // namespace
+#endif // GESTUREFRAMEWORK_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/gestureframeworkimpl.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GESTUREENGINEIMPL_H
+#define GESTUREENGINEIMPL_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h>
+
+// forward declarations
+namespace stmUiEventEngine
+{
+ class CStateMachine ;
+ class MStateMachine ;
+}
+
+// CLASS DECLARATION
+namespace stmGesture
+{
+// Forward declarations
+class CGestureEngine ;
+class MGestureEngineIf ;
+
+/**
+ * CGestureFrameworkImpl
+ *
+ */
+NONSHARABLE_CLASS( CGestureFrameworkImpl ): public CBase
+{
+public:
+ // Constructors and destructor
+
+ /**
+ * Destructor.
+ */
+ ~CGestureFrameworkImpl();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CGestureFrameworkImpl* NewL();
+
+ /**
+ * Two-phased constructor.
+ */
+ static CGestureFrameworkImpl* NewLC();
+ /*!
+ *
+ */
+ MGestureEngineIf* getGestureEngine() ;
+ /*!
+ *
+ */
+ stmUiEventEngine::CStateMachine* getUiStateMachine() {return m_statemachine; }
+
+ void enableLogging(bool loggingEnabled) ;
+private:
+
+ /**
+ * Constructor for performing 1st stage construction
+ */
+ CGestureFrameworkImpl();
+
+ /**
+ * EPOC default constructor for performing 2nd stage construction
+ */
+ void ConstructL();
+
+ CGestureEngine* m_gestureEngine ;
+ stmUiEventEngine::CStateMachine* m_statemachine ;
+ bool m_loggingenabled ;
+
+};
+} // namespace
+#endif // GESTUREENGINEIMPL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/gesturehelpereventsender.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#ifndef GESTUREHELPEREVENTSENDER_H_
+#define GESTUREHELPEREVENTSENDER_H_
+
+#include <e32base.h>
+#include <coemain.h>
+#include "stmgestureinterface.h"
+
+NONSHARABLE_CLASS(CGestureEventSender) : public CActive
+ {
+public:
+ enum TEventSenderState
+ {
+ ENoEvents,
+ EEventsReady,
+ EBusy
+ };
+ static CGestureEventSender* NewL( MStmGestureListener& aObserver );
+ ~CGestureEventSender();
+ TInt AddEvent(TStmGestureUid aUid, const MStmGesture* aGestureEvent);
+protected:
+ void RunL();
+ void DoCancel();
+ TInt RunError(TInt aError);
+private:
+ CGestureEventSender(MStmGestureListener& aObserver);
+ void Complete();
+ void EmitEventL( const TStmGestureEvent& aGestureEvent );
+
+ MStmGestureListener& iObserver;
+ RArray< TStmGestureEvent > iEvents;
+ TEventSenderState iState;
+ };
+
+#endif /* GESTUREHELPEREVENTSENDER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/hoveringgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:Hover Gesture Recognizer
+*
+*/
+
+#ifndef HOVERINGGESTURERECOGNISER_H_
+#define HOVERINGGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+/*!
+ * Recognise hovering gesture.
+ * If the EMove distance from previous is short enough, then
+ * we assume hovering gesture. If the previous UI event is ETouch, EHold or EMove
+ * and the distance is short enough the gesture takes control.
+ */
+NONSHARABLE_CLASS( CHoveringGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidHover;
+
+ static CHoveringGestureRecogniser* NewL(MGestureListener* aListener);
+
+ virtual ~CHoveringGestureRecogniser();
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ void setHoveringSpeed(float aSpeed) __SOFTFP ;
+
+private:
+ CHoveringGestureRecogniser(MGestureListener* aListener) ;
+ bool m_hovering ;
+ float m_hoveringspeed ;
+};
+
+}
+
+#endif /* HOVERINGGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/leftrightgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: LeftRight Gesture Recognizer
+*
+*/
+
+#ifndef LEFTRIGHTGESTURERECOGNISER_H_
+#define LEFTRIGHTGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+NONSHARABLE_CLASS( CLeftrightGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidLeftRight;
+
+ static CLeftrightGestureRecogniser* NewL(MGestureListener* aListener);
+
+ virtual ~CLeftrightGestureRecogniser();
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+private:
+ CLeftrightGestureRecogniser(MGestureListener* aListener) ;
+};
+
+}
+
+#endif /* LEFTRIGHTGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/longpressgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:LongPress Gesture Recognizer
+*
+*/
+
+#ifndef LONGPRESSGESTURERECOGNISER_H_
+#define LONGPRESSGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CLongPressGestureRecogniser handles long press gesture (generated from Hold UI event)
+ *
+ */
+NONSHARABLE_CLASS( CLongPressGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidLongPress;
+
+ /** Two-phase constructor */
+ static CLongPressGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CLongPressGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up edge scroll gesture recogniser:
+ * define the rectangle
+ * \param theArea
+ */
+ void setArea(const TRect& theArea) ;
+
+private:
+ CLongPressGestureRecogniser(MGestureListener* aListener) ;
+
+private:
+ bool m_waitingforsecondtap ;
+ TRect m_area ;
+};
+
+} // namespace
+
+#endif /* LONGPRESSGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/pangesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:Pan Gesture Recognizer
+*
+*/
+
+#ifndef PANGESTURERECOGNISER_H_
+#define PANGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+NONSHARABLE_CLASS( CPanGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidPan;
+
+ static CPanGestureRecogniser* NewL(MGestureListener* aListener);
+
+ virtual ~CPanGestureRecogniser();
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ virtual void setPanningSpeedLow(float aSpeed) __SOFTFP ;
+ virtual void setPanningSpeedHigh(float aSpeed) __SOFTFP ; // speeds above this are flicks
+
+private:
+ CPanGestureRecogniser(MGestureListener* aListener) ;
+
+private:
+ float m_panningspeedlow ;
+ float m_panningspeedhigh ;
+};
+
+}
+
+#endif /* PANGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/pinchgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:Pinch Gesture Recognizer
+*
+*/
+
+#ifndef PINCHGESTURERECOGNISER_H_
+#define PINCHGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+/*!
+ * Recognise pinching gesture. !!! very experimental !!!
+ * It seems that in capacitive touch in Symbian 9.4 touching with two
+ * fingers causes fast EDrag events which are far from each other.
+ * This gesture recogniser tries to use that feature
+ * to determine when the gestures looks like a pinch.
+ * Would requires a lot of tuning to be really useful, if at all possible.
+ * With current implementation it is easy to zoom in but
+ * almost impossible to zoom out.
+ */
+NONSHARABLE_CLASS( CPinchGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidPinch;
+
+ static CPinchGestureRecogniser* NewL(MGestureListener* aListener);
+
+ virtual ~CPinchGestureRecogniser();
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /* define the pinch triggering as speed value */
+ /* after EHold has been seen, then any move which is faster than this will enter pinch gesture */
+ /* note that the value varies depending on techology, speed is measured as pixels / ms */
+ void setPinchingSpeed(float aSpeed) __SOFTFP;
+
+private:
+ CPinchGestureRecogniser(MGestureListener* aListener) ;
+
+ void calculateZoomingLine() ;
+ float calculateDistance() ;
+ int adjustPinchMove(float& aPreviousDistance, float aNewDistance) ;
+
+private:
+ bool m_pinching ;
+ float m_pinchingspeed ;
+ TPoint m_pinchstart ;
+ TPoint m_pinchend ;
+
+ float m_m ;
+ float m_b ;
+
+ float m_ddistance ;
+ bool m_holdseen ;
+ TPoint m_holdseenAtPos ;
+ TTime m_holdseenAtTime ;
+};
+
+}
+
+#endif /* PINCHGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/releasegesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: release Gesture Recognizer
+*
+*/
+
+#ifndef RELEASEGESTURERECOGNISER_H_
+#define RELEASEGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CReleaseGestureRecogniser handles release "gesture"
+ * This is countarpart to touch gesture recogniser, just
+ * informing the app that ERelease has been seen.
+ * This should be placed towards the end of the list of gesture
+ * recognisers, all other recognisers which handle ERelease with
+ * some other events preceding the ERelease must be before this one.
+ *
+ */
+NONSHARABLE_CLASS( CReleaseGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidRelease;
+
+ /** Two-phase constructor */
+ static CReleaseGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CReleaseGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up edge scroll gesture recogniser:
+ * define the rectangle where the touch is watched
+ * \param theArea
+ */
+ void setArea(const TRect& theArea) ;
+
+private:
+ CReleaseGestureRecogniser(MGestureListener* aListener) ;
+
+private:
+ TRect m_area ;
+};
+
+} // namespace
+
+#endif /* RELEASEGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/rt_gestureengineif.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,256 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef RT_GESTUREENGINEIF_H_
+#define RT_GESTUREENGINEIF_H_
+
+#include <rt_gesturelistener.h>
+#include <rt_gestureif.h>
+
+// Forward declarations
+class CCoeControl;
+
+namespace stmUiEventEngine
+{
+ class MUiEvent ;
+}
+
+namespace stmGesture
+{
+
+// Forward declarations
+class MGestureRecogniserIf ;
+
+/*!
+ * MGestureEngineIf defines the methods for the gesture recognisers
+ * to be added to the gesture engine.
+ * TODO: add rule based settings to position the gesture recognisers to the list.
+ * The gesture recogniser order rules would be defined how?
+ * - defining the order inside the application
+ * - defining the order in some configuration file (maybe not)
+ *
+ * This requires:
+ * - the gesture recognisers need to have an ID
+ * - a type can also be defined if the rules can be set based on types.
+ *
+ * The gesture recognisers are arranged in a list so that the correct gesture recogniser
+ * gets the opportunity to detect the gesture in time. An axample of a set of gesture recognisers
+ * could be e.g.
+ *
+ * |---------------------------------------------|
+ * | scrolling stop by tap -gesture recogniser | A is enabled only when needed, when enabled must precede all others
+ * | | (note that locking partly can be used to achieve the same)
+ * |---------------------------------------------|
+ * | location specific: zoom + button tap gesture| B these must detect the location first
+ * |---------------------------------------------|
+ * | location specific: zoom - button tap gesture| B these must detect the location first
+ * |---------------------------------------------|
+ * | location specific: edge scroll gesture | B these must detect the location first
+ * |---------------------------------------------|
+ * | pinch zoom gesture | standard gesture, but application wide (spans windows)
+ * | | C another requirement: disable all but me/restore state
+ * | | so that other gestures will not meddle in while pinching
+ * |---------------------------------------------|
+ * | hover gesture | C standard gesture, needs to detect the EMove speed
+ * |---------------------------------------------|
+ * | pan gesture | C standard gesture, but must be after hover
+ * |---------------------------------------------|
+ * | tap/doubletap gesture | C standard gesture, order not that important, since
+ * | | needs just to see certain events in history: touch/release
+ * |---------------------------------------------|
+ *
+ * The order of gesture recognisers determine how the system behaves, so there must be an easy way
+ * to define the order. The order could be defined either by specifying the IDs or just their types, if then the
+ * order is not that important. TODO to study whether it would be a good idea to implement this so that
+ * there are separate lists for the three different classes of gesture recognisers A, B and C; this might
+ * make the implementation simpler.
+ */
+class MGestureEngineIf
+{
+public:
+ /*!
+ * add gesture to the end of the list of gestures
+ */
+ virtual bool addGesture(const MGestureRecogniserIf* aNewGesture) = 0 ;
+ /*!
+ * inset a gesture to the beginning of the list of gestures
+ */
+ virtual bool insertGesture(const MGestureRecogniserIf* aNewGesture) = 0 ;
+ /*!
+ * inset a gesture to specific position
+ */
+ virtual bool insertGestureAt(const MGestureRecogniserIf* aNewGesture, int position) = 0 ;
+
+ /*!
+ * remove a gesture from the list
+ */
+ virtual bool removeGesture(const MGestureRecogniserIf* aOldGesture) = 0 ;
+ /*!
+ * get the number of non-empty event streams.
+ * Event streams correspond UI events generated by one touch pointer (=finger).
+ * The low level state machine handles the necessary filtering etc.
+ * so that it is safe to remove the event stream after UI Release event has been processed.
+ */
+ virtual int activeStreamCount() const = 0 ;
+ /*!
+ * get the UI events of stream X
+ * \param indexOfActiveStream defines which active stream is used.
+ * Note that MUiEvent contains all the events from down up to the current event.
+ * Assumption: the UI events contain the target "window handle", i.e.
+ * the gesture recognition needs to be aware of all possible windows of the application.
+ */
+ virtual const stmUiEventEngine::MUiEvent* getUiEvents(int indexOfActiveStream) const = 0 ;
+ /*!
+ * Enable/disable logging
+ */
+ virtual void enableLogging(bool aLoggingEnabled) = 0 ;
+};
+
+/*!
+ * Enumerated values for the gesture recogniser
+ */
+enum TGestureRecognitionState
+{
+ EGestureActive, /*! < gesture recognised and gesture notification sent */
+ ELockToThisGesture, /*! < gesture recognised, and only this recogniser called until release/this returns something else */
+ ENotMyGesture /*! < not this gesture, try the next one in the list */
+};
+
+/*!
+ * The types of gesture recognisers. TODO to implement rule based gesture engine
+ * where the recognisers can be added in any order, and the rules define the order of them.
+ * The rules may define
+ */
+enum TGestureRecogniserType
+{
+ ECriticalGestureRecogniser, /*! < This kind of gestures should be at the beginning of the list */
+ ELocationSpecificGestureRecogniser, /*! < This kind of gestures should be at the next in the list */
+ EGenericGestureRecogniser /*! < This kind of gestures should be at the next in the list */
+};
+
+/*!
+ * MGestureRecogniserIf defines the interface needed to be implemented by every gesture recognition element.
+ * The gesture recogniser gets the UI events and needs to determine whether they define the expected gesture.
+ *
+ */
+class MGestureRecogniserIf
+{
+public:
+ /*!
+ * Virtual destuructor.
+ */
+ virtual ~MGestureRecogniserIf() {}
+ /*!
+ * Process the UI event.
+ * \param numOfActiveStreams : indicates how many pointers are currently active.
+ * \param ge the gesture engine. The Gesture recogniser uses this to get the current active events.
+ *
+ * \return EMaybeGesture if gesture was not yet recognised but can be possible (e.g. after first touch everyone returns this)
+ * \return EGestureActive if gesture was recognised and a gesture notification was sent; this is then the active gesture
+ * \return ENotMygesture if gesture can not be this one, e.g. TAP gesture after receiving Move UI event.
+ *
+ * Note that a gesture may take control only if it sends out a gesture notification. (or is it so?)
+ * Until no gesture recogniser has sent a gesture notification, all recognisers who have not returned
+ * ENotMyGesture are eligible, based on the order they are in the list.
+ *
+ * The gesture engine may be either in dynamic gestures mode or fixed gestures mode.
+ * In dynamic gestures mode each time an UI event is processed, engine will call each
+ * gesture recogniser until one of the recognisers returns EGestureActive.
+ *
+ * In fixed gestures mode the index of the gesture recogniser first returning EGestureActive is stored
+ * and the subsequent UI events are processed so that only that recogniser is allowed to send gesture
+ * notification. If it returns !=EGestureActive, it relinguishes the control.
+ *
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) = 0 ;
+ /*!
+ * In dynamic gestures mode the gesture engine will call release of the recogniser
+ * who lost activation status because a preceding recogniser in the list took control.
+ *
+ * Note that the recogniser must then do whatever (if anything) is needed to cancel the gesture.
+ */
+ virtual void release(MGestureEngineIf* ge) = 0 ;
+ /*!
+ * Enable or disable recogniser. E.g. if two gestures are related so that
+ * a gesture ending recogniser needs to be activated to stop a t5imer driven
+ * behaviour it is useful to add the recogniser to the top of the list
+ * and then disable it until needed.
+ */
+ virtual void enable(bool enableRecogniser) = 0 ;
+ /*!
+ * Get the state of the gesture recogniser, whether it is enabled or not
+ * \return true, if the recogniser is enabled.
+ */
+ virtual bool isEnabled() = 0 ;
+ /*!
+ * Return the type of the gesture recogniser
+ */
+ virtual TGestureUid gestureUid() const = 0;
+
+ /*!
+ * for testing purposes
+ */
+ virtual void enableLogging(bool loggingEnabled) = 0 ;
+
+ virtual void setOwner(CCoeControl* owner) = 0;
+};
+
+NONSHARABLE_CLASS( CGestureRecogniser ): public CBase, public MGestureRecogniserIf
+{
+public:
+ virtual ~CGestureRecogniser()
+ {
+
+ }
+ /*!
+ * MGestureRecogniserIf methods; partial implementation
+ */
+ virtual void enable(bool enabled)
+ {
+ m_gestureEnabled = enabled ;
+ }
+ virtual bool isEnabled()
+ {
+ return m_gestureEnabled ;
+ }
+ virtual void enableLogging(bool loggingOn)
+ {
+ m_loggingenabled = loggingOn;
+ }
+ virtual void setOwner(CCoeControl* owner)
+ {
+ m_powner = owner;
+ }
+protected:
+ CGestureRecogniser(MGestureListener* aListener) :
+ m_powner(aListener->getOwner()),
+ m_listener(aListener),
+ m_gestureEnabled(true),
+ m_loggingenabled(false)
+ {
+
+ }
+
+protected:
+ CCoeControl* m_powner ; // The owning control for this gesture
+ MGestureListener* m_listener ;
+ bool m_gestureEnabled ;
+ bool m_loggingenabled ;
+};
+
+} // namespace
+#endif /* RT_GESTUREENGINEIF_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/rt_gesturelistener.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: MGestureListener
+*
+*/
+
+#ifndef RT_GESTURELISTENER_H_
+#define RT_GESTURELISTENER_H_
+
+#include <rt_gestureif.h>
+
+namespace stmGesture
+{
+/*!
+ * The gesture listener interface. This interface needs to be implemented by the
+ * listener of the standard gestures implemented in the gesture framework.
+ */
+class MGestureListener
+{
+public:
+ /*!
+ * The method that will be called by the gesture framework
+ * to inform about a gesture being recognised.
+ * \param theGesture: contains the recognised gesture.
+ * The MGestureIf contains generic part and gesture specific part
+ * so the listener needs to know how to handle specific gestures.
+ */
+ virtual void gestureEnter(MGestureIf& theGesture) = 0 ;
+ /*!
+ * The method to inform the listener that the gesture has ended.
+ * This happens if another gesture is recognised or e.g. the Release UI
+ * event is handled.
+ * \note Some gestures produce only gestureEnter() callback and no gestureExit().
+ */
+ virtual void gestureExit(TGestureUid gestureUid) = 0 ;
+ /*!
+ * The listener needs to provide the target control (CCoeControl*) to the
+ * standard gestures. Since the gesture framework processes all events in the
+ * application, the gesture recognisers check whether the events are targeted
+ * to the listener owning control.
+ * Not all gesture recognisers need to perform this check.
+ * \return the owning CCoeControl of the gesture listener.
+ */
+ virtual CCoeControl* getOwner() = 0 ;
+};
+
+}
+#endif /* RT_GESTURELISTENER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/stateengine.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: State Engine
+*
+*/
+#ifndef STATEENGINE_H_
+#define STATEENGINE_H_
+
+#include "rt_uievent.h"
+#include "timerinterface.h"
+#include "statemachine_v2.h"
+#include "uieventsender.h"
+#include "stateengineconfiguration.h"
+
+namespace stmUiEventEngine
+{
+
+/*!
+ * Define THwEvent since we need the point, the type and timestamp to be stored.
+ * The HW event is used also to handle the timer events so that the wrapper class calling the
+ * state machine will handle the starting, canceling etc. of the timers and the state machine
+ * sees the timers as messages. This hopefully makes it easier to keep the core state machine as
+ * OS agnostic as possible.
+ */
+class THwEvent
+{
+public:
+ THwEvent() {} ;
+ THwEvent(const THwEvent& ev):
+ iType(ev.iType), iPosition(ev.iPosition),
+ iTime(ev.iTime), iTarget(ev.iTarget), iPointerNumber(ev.iPointerNumber) {}
+ THwEvent(TStateMachineEvent code,
+ const TPoint& pos,
+ TTime time,
+ void* aTarget,
+ TInt aPointerNr):
+ iType(code), iPosition(pos),
+ iTime(time), iTarget(aTarget), iPointerNumber(aPointerNr)
+ {
+ }
+
+ TStateMachineEvent iType ;
+ TPoint iPosition ;
+ TTime iTime ;
+ void* iTarget ;
+ TInt iPointerNumber ;
+};
+
+
+NONSHARABLE_CLASS( CStateEngine ) : public CBase
+{
+public:
+ /**
+ * constructor and destructor
+ */
+ CStateEngine(CStateEngineConfiguration* aConfig, MTimerInterface* timerif, int index) ;
+
+ ~CStateEngine() ;
+ /**
+ * The methods needed for state machine
+ */
+ void ConsumeEvent() ;
+ bool IsTouchTimer() ;
+ bool IsHoldTimer() ;
+ bool IsSuppressTimer() ;
+ bool IsTouchTimeArea() ;
+ bool IsTouchArea() ;
+ bool IsHoldArea() ;
+ bool InsideTouchTimeArea() ;
+ bool InsideTouchArea() ;
+ bool InsideHoldArea() ;
+ bool LooksLikeHold() ;
+ void ErrorEvent() ;
+ void InitTouchTimer() ;
+ void InitHoldTimer() ;
+ void RestartHoldTimer() ;
+ void InitTouchSuppressTimer() ;
+ void InitMoveSuppressTimer() ;
+ void ClearTouchTimer() ;
+ void ClearHoldTimer() ;
+ void ClearSuppressTimer() ;
+ void ProduceTouch() ;
+ void ProduceMove() ;
+ void ProduceRelease() ;
+ void ProduceHold() ;
+ void RenameToDrag() ;
+ void PrepareTouchTimeArea() ;
+ void PrepareTouchArea() ;
+ void PrepareHoldArea() ;
+ void SetCurrentPos() ;
+ void SetGestureStart() ;
+ void AddToTouch() ;
+ void AddDraggingPos() ;
+ void StoreMovePos() ;
+
+ /**
+ * The event interface
+ */
+
+ THwEvent& initEvent()
+ {
+ m_hwe.iPointerNumber = m_index;
+ return m_hwe;
+ }
+
+ // event returned by initEvent() must initialized first
+ bool handleStateEvent() ;
+
+ TRect getTouchArea() ;
+ TRect getHoldArea() ;
+ bool wasLastMessageFiltered() ;
+
+private:
+ bool m_eventConsumed ;
+ THwEvent m_hwe ;
+
+ bool isNewHoldingPoint() ;
+ RPointerArray<THwEvent> iDragPoints;
+ MTimerInterface* m_timerif ;
+
+ RArray<THwEvent> iTouchPoints;
+
+ // Variables for running the state machine
+ TStateMachineState m_currentState ;
+ bool m_isTimerEvent ; // We need to separate the pointer events and the timer events
+ TPoint m_currentTouchXY ; // This is the touching point
+ TPoint m_gestureStartXY ; // gesture started at this point
+ TPoint m_uiEventXY ; // The UI event XY point.
+ TPoint m_previousPointerEventPosition ;
+ TPoint m_deltaVector ;
+ TRect m_touchRect ;
+ TRect m_holdRect ;
+
+ bool m_wasFiltered ;
+ void CalculateDelta() ;
+ void CalculateTouchAverage() ;
+ void CalculateCurrentVector() ;
+ TPoint calculateTouchAverageFromPoints() ;
+ bool InsideArea(const TPoint& point,
+ const TRect& rect,
+ TAreaShape shape,
+ const TPoint& tolerance);
+ void setTolerance(long fingersize_mm, TPoint& tolerance, TAreaShape shape) ;
+
+ void DebugPrintState(TStateMachineState anextstate) ;
+ inline static TRect ToleranceRect( const TPoint& aCenterPoint, const TPoint& tolerance) ;
+ void turnStateMachine() ;
+
+ TPoint m_touchCentre ;
+ TPoint m_holdCentre ;
+
+ void* m_gestureTarget ;
+ TTimeIntervalMicroSeconds getInterval() ;
+ TTime m_lastMessageTime ;
+ CUiEvent* createUIEventL(TUiEventCode code, const TPoint& aPos) ;
+ TPoint getPreviousXY(const TPoint& aXY) ;
+ TPoint m_previousXY ;
+ bool isTimerMessage() ;
+ int m_index ;
+ TUiEventCode m_previousUiGenerated ;
+ TPoint m_lastFilteredPosition ;
+ TTime m_lastFilteredMessageTime ;
+
+ CStateEngineConfiguration* m_config ;
+
+};
+} // namespace
+
+#endif /* STATEENGINE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/stateengineconfiguration.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: State Engine Configuration
+*
+*/
+
+#ifndef STATEENGINECONFIGURATION_H_
+#define STATEENGINECONFIGURATION_H_
+
+#include "rt_uievent.h"
+#include "timerinterface.h"
+#include "statemachine_v2.h"
+
+
+namespace stmUiEventEngine
+{
+class CUiEventSender;
+
+
+NONSHARABLE_CLASS( CStateEngineConfiguration ): public CBase
+{
+public:
+ CStateEngineConfiguration() ;
+ void ConstructL();
+ ~CStateEngineConfiguration() ;
+
+ void setTouchTimeArea(const long fingersize_mm) ;
+ void setTouchArea(const long fingersize_mm) ;
+ TAreaShape getTouchAreaShape() ;
+ void setTouchAreaShape(const TAreaShape shape) ;
+ unsigned int getTouchTimeout() ;
+ void setTouchTimeout(unsigned int) ;
+ void setHoldArea(const long fingersize_mm) ;
+ TAreaShape getHoldAreaShape() ;
+ void setHoldAreaShape(const TAreaShape shape) ;
+ unsigned int getHoldTimeout() ;
+ void setHoldTimeout(unsigned int a) ;
+ unsigned int getTouchSuppressTimeout() ;
+ void setTouchSuppressTimeout(unsigned int a) ;
+ unsigned int getMoveSuppressTimeout() ;
+ void setMoveSuppressTimeout(unsigned int a) ;
+ bool addUiEventObserver(MUiEventObserver* observer) ;
+ bool removeUiEventObserver(MUiEventObserver* observer) ;
+ void enableLogging(bool a) ;
+
+private:
+ void setTolerance(long fingersize_mm, TPoint& tolerance, TAreaShape shape) ;
+
+public:
+ CUiEventSender* m_uiEventSender ;
+
+ TAreaShape m_touchAreaShape ;
+ TAreaShape m_holdAreaShape ;
+ bool m_enableLogging ;
+ TPoint m_touchTimeTolerance ;
+ TPoint m_touchTolerance ;
+ TPoint m_holdTolerance ;
+ int m_touchTimerLimit ;
+ int m_holdTimerLimit ;
+ int m_suppressTimerLimit ;
+ int m_moveSuppressTimerLimit ;
+
+
+};
+
+} // namespace stmUiEventEngine
+
+#endif /* STATEENGINECONFIGURATION_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/statemachine.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: State Machine implementation
+*
+*/
+
+#ifndef STATEMACHINE_H
+#define STATEMACHINE_H
+
+// INCLUDES
+#include <e32base.h>
+#include <aknwseventobserver.h>
+
+#include <rt_uievent.h>
+#include "timerinterface.h"
+#include "statemachine_v2.h"
+
+class CCoeEnv;
+
+namespace stmUiEventEngine
+{
+
+class CCallbackTimer;
+class CStateEngine;
+class THwEvent;
+class CStateEngineConfiguration;
+
+
+int Distance(int dx, int dy);
+
+inline int Distance(const TPoint& aP1, const TPoint& aP2)
+{
+ return Distance(aP1.iX - aP2.iX, aP1.iY - aP2.iY);
+}
+
+// CLASS DECLARATION
+/**
+ * CStateMachine
+ *
+ */
+NONSHARABLE_CLASS( CStateMachine ): public CBase,
+ public MTimerInterface,
+ public MAknWsEventObserver,
+ public MStateMachine
+{
+public:
+ /**
+ * The MStateMachine interface methods
+ */
+ virtual TRect getTouchArea(TInt aPointerNumber) ;
+ virtual void setTouchTimeArea(long fingersize_mm) ;
+ virtual void setTouchArea(long fingersize_mm) ;
+ virtual TAreaShape getTouchAreaShape() ;
+ virtual void setTouchAreaShape(const TAreaShape shape) ;
+ virtual unsigned int getTouchTimeout() ;
+ virtual void setTouchTimeout(unsigned int) ;
+ virtual TRect getHoldArea(TInt aPointerNumber) ;
+ virtual void setHoldArea(long fingersize_mm) ;
+ virtual TAreaShape getHoldAreaShape() ;
+ virtual void setHoldAreaShape(const TAreaShape shape) ;
+ virtual unsigned int getHoldTimeout();
+ virtual void setHoldTimeout(unsigned int a);
+ virtual unsigned int getTouchSuppressTimeout() ;
+ virtual void setTouchSuppressTimeout(unsigned int a) ;
+ virtual unsigned int getMoveSuppressTimeout() ;
+ virtual void setMoveSuppressTimeout(unsigned int a) ;
+ virtual bool addUiEventObserver(MUiEventObserver* observer) ;
+ virtual bool removeUiEventObserver(MUiEventObserver* observer) ;
+ virtual bool wasLastMessageFiltered(TInt aPointerNumber) ;
+ virtual void enableCapacitiveUp(bool enable) ;
+ virtual void enableLogging(bool aEnable) ;
+ virtual void enableYadjustment(bool aEnable) ;
+ virtual int getNumberOfPointers() ;
+
+ /**
+ * MAknWsEventObserver methods
+ */
+ virtual void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination) ;
+
+ /* other methods */
+ /**
+ * Pointer event handling in case the messaging should be handled that way, note that the target CCoeControl needs to be givem
+ */
+ void HandlePointerEventL(const TPointerEvent& aPointerEvent, void* target) ;
+ /**
+ * Simple toggle changes from handling the messages using ...WsEventL or ...PointerEventL
+ */
+ void EnableWsEventMonitoring(bool aEnable) ;
+ /**
+ * Method to handle the TPointerEvent
+ */
+ bool HandleStateEvent(const TPointerEvent& aPointerEvent, void* aTarget, const TTime& aTime) ;
+ /*!
+ * Setting the Y adjustment useful in capacitive touch
+ * Note that there are problems with the adjustment if done at this level,
+ * the most proper place would be the window server.
+ */
+
+ /**
+ * MTimerInterface methods, these are internal and do not need to be exported
+ */
+ virtual void startTouchTimer(TInt aDelay, TInt aPointerNumber) ;
+ virtual void cancelTouchTimer(TInt aPointerNumber) ;
+ virtual void startHoldTimer(TInt aDelay, TInt aPointerNumber) ;
+ virtual void cancelHoldTimer(TInt aPointerNumber) ;
+ virtual void startSuppressTimer(TInt aDelay, TInt aPointerNumber) ;
+ virtual void cancelSuppressTimer(TInt aPointerNumber) ;
+
+public:
+ ~CStateMachine();
+ static CStateMachine* NewL();
+ static CStateMachine* NewLC();
+
+private:
+ CStateMachine();
+ void ConstructL();
+
+ inline static TInt PointerIndex(const TPointerEvent& aPointerEvent);
+
+ /**
+ * Convert pointer event into our own event format (including timestamp)
+ */
+ void CreateHwEvent(THwEvent& aEvent,
+ const TPointerEvent& aPointerEvent,
+ void* aTarget,
+ const TTime& aTime) ;
+
+ void CreateTimerEvent(THwEvent& aEvent, TStateMachineEvent aEventCode) ;
+
+ /**
+ * the actual state machines implementing the transitions etc.
+ */
+ CStateEngine* m_impl[KMaxNumberOfPointers] ;
+ /*
+ * The configuration for state machines
+ */
+ CStateEngineConfiguration* m_config ;
+ /*!
+ * convert window coordinates to screen coordinates.
+ */
+ TPoint screenCoordinates(const TPoint& aPos, void* aGestureTarget) ;
+
+ CCoeEnv* m_coeEnv;
+
+ bool m_WasMessageFiltered ;
+ bool m_wseventmonitoringenabled ;
+ bool m_loggingenabled ;
+ bool m_capacitiveup ;
+
+ int m_3mminpixels ;
+ bool m_adjustYposition ;
+ // Use same naming scheme with the timers, and variables and methods
+ // using macro expansion tricks (with multitouch support starts to look quite ugly):
+#define DECLARE_TIMER(x) \
+ void start##x##Timer(TInt aPointerNumber) ;\
+ CCallbackTimer* m_##x##Timer[KMaxNumberOfPointers] ;\
+ void handle##x##Timer(TInt aPointerNumber) ;\
+ void cancel##x##Timer(TInt aPointerNumber)
+
+ DECLARE_TIMER(touch) ;
+ DECLARE_TIMER(hold) ;
+ DECLARE_TIMER(suppress) ;
+
+};
+} // namespace
+#endif // STATEMACHINE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/statemachine_v2.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef STATEMACHINE_V2_H_
+#define STATEMACHINE_V2_H_
+
+namespace stmUiEventEngine
+{
+/**
+ * the next templates define the static callbacks required to pass the this object to the member function
+ * There are two definitions, one for the TBool is*() method checking the message,
+ * the other one returning void for entry, event and action methods.
+ */
+template<class T, bool (T::*F)()>
+bool isF(void *p)
+{
+ return ((reinterpret_cast<T*>(p))->*F)();
+}
+
+template<class T, void (T::*F)()>
+void aF(void *p)
+{
+ ((reinterpret_cast<T*>(p))->*F)();
+}
+
+/////////////////////////////////////////////////////////////////////////////////////
+// We define the state machine in C fashion so that we get the initialized state table
+// already at compilation phase. The message checking methods, event methods and action methods are
+// then passed to the C++ object to be processed.
+// The currently defined states are the following, at the same time they are used as the index to the array of states.
+enum TStateMachineState {
+ Eignore,
+ EInit,
+ EDispatch,
+ EInTouchTime,
+ EInHoldTime_U,
+ EInHoldTime_D,
+ EInTouchArea,
+ ESuppress_D
+ } ;
+// Using these kind of functions the state machine is of course single threaded
+// the necessary parameters need to be passed in the member variables
+typedef bool (*condition_t)(void* ) ;
+typedef void (*action_t)(void*) ;
+
+/*
+ * The possible events to the state machine. The pointer and timer events are possible.
+ */
+enum TStateMachineEvent {
+ EDown,
+ EDrag,
+ ECapacitiveUP,
+ EResistiveUP,
+ ETouchTimer,
+ EHoldTimer,
+ ESuppressTimer
+ } ;
+/*!
+ * STATE_ELEMENT defines one line in the state/event instance.
+ * It contains three fields: ConditionFunction, ActionFunction and NextState.
+ * The generic state machine will call the ConditionFunction (if it is != NULL)
+ * and if the result is true, it will call ActionFunction (if it is != NULL).
+ * Then it will continue to NextState.
+ * If NextState is Eignore, it will try the next line of state/event.
+ */
+typedef struct _STATE_ELEMENT {
+ /*!
+ * Condition function contains the pointer to the method used to check some condition.
+ * If the pointer is non-NULL the state machine will call the function and based on the result
+ * (if true) calls the ActionFunction.
+ */
+ const condition_t conditionFunction ;
+ /*!
+ * ActionFunction contains a pointer to a method performing some action. The state machine
+ * will call the method if the pointer is non-NULL.
+ */
+ const action_t actionFunction ;
+ /*!
+ * NextState contains either the next state or Eignore. The state machine will process state elements
+ * until the NextState != Eignroe is found.
+ */
+ const TStateMachineState nextState ;
+} STATE_ELEMENT ;
+
+/*!
+ * Each state contains an array defining the possible event and the state elements
+ * that are processed if the event happens.
+ */
+typedef struct _STATE {
+ /*!
+ * The event defines the pointer event or timer event being processed
+ */
+ const TStateMachineEvent theEvent ; //
+ /*!
+ * StateElements points to the array of STATE_ELEMENT entries which define the
+ * condition and action functions to be processed and the resulting nesxt state.
+ */
+ const STATE_ELEMENT* const stateElements ;
+} STATE ;
+
+} // namespace
+
+#endif /* STATEMACHINE_V2_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/tapgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Tap Gesture Recognizer
+*
+*/
+
+#ifndef TAPGESTURERECOGNISER_H_
+#define TAPGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CTapGestureRecogniser handles both tap and double tap recognition.
+ * Doubletap needs to work even if it crosses window boundaries, so
+ * CTapGestureRecogniser is a "global" recogniser. The application
+ * creates only one instance of it (TODO later: how to use Singleton
+ * pattern in Symbian, seems to be tricky since we would need to have
+ * writable static variable to hold the one instance, so currently
+ * we need well-behaving app to handle this: the application must known
+ * the nature of this gesture recogniser).
+ * The different windows can add their callbacks, and when recognising tap
+ * the target window is stored so that proper callback can be called.
+ * Doubletap is reported either to the target of second tap, or if that windows parent
+ * has a doubletap listener, to that.
+ * Use separate listeners for tap and doubletap.
+ */
+NONSHARABLE_CLASS( CTapGestureRecogniser ): public CTimer, public MGestureRecogniserIf
+{
+public:
+ static const TGestureUid KUid = EGestureUidTap;
+
+ /** Two-phase constructor */
+ static CTapGestureRecogniser* NewL(MGestureListener* aListener) ;
+
+ virtual ~CTapGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+ virtual void enable(bool enabled) ;
+ virtual bool isEnabled() ;
+ virtual void setOwner(CCoeControl* owner) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up tap gesture recogniser:
+ * define the double tap timeout in microseconds.
+ * \param timeoutInMicroseconds
+ */
+ void setDoubleTapTimeout(int timeoutInMicroseconds) ;
+
+ /*!
+ * Additional methods to set up tap gesture recogniser:
+ * define how close the two taps need to be to be recognised
+ * as a double tap.
+ * \param rangeInMillimetres
+ */
+ void setDoubleTapRange(int rangeInMillimetres) ;
+ /*!
+ * Additional methods to set up tap gesture recogniser:
+ * Produce two separate taps or just ignore the first one
+ * if the second tap is outside range.
+ */
+ void ignoreFirstTap(bool ignore) ;
+
+ /*!
+ * Method to add a listener to tap gestures
+ */
+ void addTapListener(MGestureListener* aListener, CCoeControl* listenerOwner) ;
+ /*!
+ * Method to remove a listener from tap gestures
+ */
+ void removeTapListener(MGestureListener* aListener, CCoeControl* listenerOwner) ;
+ /*!
+ * Method to add a listener to doubletap gestures
+ */
+ void addDoubleTapListener(MGestureListener* aListener, CCoeControl* listenerOwner) ;
+ /*!
+ * Method to remove a listener from doubletap gestures
+ */
+ void removeDoubleTapListener(MGestureListener* aListener, CCoeControl* listenerOwner) ;
+
+ /*!
+ * for testing purposes we need to log the stuff somewhere...
+ */
+public:
+ virtual void enableLogging(bool loggingOn) ;
+
+ /*!
+ * The timer function to handle timeout for tap
+ */
+ virtual void RunL() ;
+
+
+private:
+ CTapGestureRecogniser(MGestureListener* aListener) ;
+ bool m_loggingenabled ;
+ bool isSecondTapClose(const TPoint& secondPoint, const TPoint& firstPoint) ;
+private:
+ CCoeControl* m_powner ; // The owning control for this gesture
+ bool m_waitingforsecondtap ;
+ TPoint m_firstTapXY ;
+ CCoeControl* m_firstTapTarget ;
+ float m_firstTapSpeedX ;
+ float m_firstTapSpeedY ;
+ int m_doubleTapTimeout ;
+ bool m_gestureEnabled ;
+ bool m_ignorefirst ;
+ int m_rangesizeInPixels ;
+ // use simple arrays to store the listeners and corresponding windows
+ RPointerArray<MGestureListener> m_tapListeners ;
+ RPointerArray<CCoeControl> m_tapListenerWindows ;
+ RPointerArray<MGestureListener> m_doubleTapListeners ;
+ RPointerArray<CCoeControl> m_doubleTapListenerWindows ;
+
+
+};
+
+} // namespace
+
+#endif /* TAPGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/timerinterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface for Timer
+*
+*/
+
+#ifndef TIMERINTERFACE_H_
+#define TIMERINTERFACE_H_
+
+class MTimerInterface
+{
+public:
+ virtual void startTouchTimer(TInt aDelay, TInt aPointerNumber) = 0 ;
+ virtual void cancelTouchTimer(TInt aPointerNumber) = 0 ;
+ virtual void startHoldTimer(TInt aDelay, TInt aPointerNumber) = 0 ;
+ virtual void cancelHoldTimer(TInt aPointerNumber) = 0 ;
+ virtual void startSuppressTimer(TInt aDelay, TInt aPointerNumber) = 0 ;
+ virtual void cancelSuppressTimer(TInt aPointerNumber) = 0 ;
+};
+#endif /* TIMERINTERFACE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/touchgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Touch Gesture Recogniser
+*
+*/
+
+#ifndef TOUCHGESTURERECOGNISER_H_
+#define TOUCHGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CTouchGestureRecogniser handles touch "gesture". The purpose is to inform the app
+ * that a touch has happened. The gesture is never owned, since most of the gestures start with touch.
+ * The app may define the area where to watch the gestures, or it can define empty area:
+ * then the touch is recognised inside the window.
+ *
+ */
+NONSHARABLE_CLASS( CTouchGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidTouch;
+
+ /** Two-phase constructor */
+ static CTouchGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CTouchGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up edge scroll gesture recogniser:
+ * define the rectangle where the touch is watched
+ * \param theArea
+ */
+ void setArea(const TRect& theArea) ;
+
+private:
+ CTouchGestureRecogniser(MGestureListener* aListener) ;
+
+private:
+ TRect m_area ;
+};
+
+} // namespace
+
+#endif /* TOUCHGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/uievent.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: UI Event
+*
+*/
+
+#ifndef UIEVENT_H_
+#define UIEVENT_H_
+#include "rt_uievent.h"
+
+namespace stmUiEventEngine
+{
+
+NONSHARABLE_CLASS( CUiEvent ): public MUiEvent
+{
+public:
+ virtual const TPoint& StartPos() const ;
+ virtual const TPoint& CurrentXY() const ; // current yx-coordinate
+ virtual const TPoint& PreviousXY() const ; // Past yx coordinate
+ virtual TTimeIntervalMicroSeconds StateTransition() const ; // Time taken for state transition
+ virtual bool TimerExpired() const; // if timer expired
+ virtual TUiEventCode Code()const ;
+ virtual void* Target() const ;
+ virtual int Index() const ;
+ MUiEvent* previousEvent() const ;
+ virtual int countOfEvents() const ;
+ virtual TInt64 timestamp() const ;
+ virtual float speedX() const __SOFTFP; // pixels / millisecond
+ virtual float speedY() const __SOFTFP; // pixels / millisecond
+
+ static CUiEvent* NewL(TUiEventCode aCode, const TPoint& aStart, const TPoint& aXY,
+ const TPoint& aPreviousXY, bool aTimerExpired, void* aTarget,
+ TTimeIntervalMicroSeconds aInterval, int aIndex, TInt64 aTimestamp) ;
+ ~CUiEvent() ;
+ /*!
+ * Chain the UI events ; the whole chain is deleted after release has been handled
+ * in UI sender
+ */
+ virtual void setPrevious(CUiEvent* aEvent) ;
+private:
+ CUiEvent(
+ TUiEventCode aCode,
+ const TPoint& aStart, const TPoint& aXY, const TPoint& aPreviousXY,
+ bool aTimerExpired, void* aTarget, TTimeIntervalMicroSeconds aInterval,
+ int aIndex, TInt64 aTimestamp) ;
+
+ TUiEventCode m_code ;
+ TPoint m_start ;
+ TPoint m_XY ;
+ TPoint m_previousXY ;
+ TTimeIntervalMicroSeconds m_statetransition ;
+ void* m_target ;
+ bool m_timerExpired ;
+ int m_index ;
+ CUiEvent* m_previousEvent ;
+ TInt64 m_timestamp ;
+};
+}
+#endif /* UIEVENT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/uieventsender.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Ui Event Sender Class
+*
+*/
+
+#ifndef UIEVENTSENDER_H_
+#define UIEVENTSENDER_H_
+
+#include <e32base.h>
+#include <coemain.h>
+#include <rt_uievent.h>
+
+namespace stmUiEventEngine
+{
+
+class CUiEvent;
+/**
+ * CUiEventSender class for handling the sending of events to the UI event listener
+ */
+NONSHARABLE_CLASS(CUiEventSender): public CBase
+ {
+public:
+ enum TEventSenderState
+ {
+ ENoEvents,
+ EEventsReady,
+ EBusy
+ };
+
+ static CUiEventSender* NewL( );
+ ~CUiEventSender();
+
+ TInt AddEvent(CUiEvent* aGestureEvent);
+ bool addObserver(MUiEventObserver* aObserver );
+ bool removeObserver(MUiEventObserver* aObserver );
+ void setLogging(bool a) {m_loggingenabled = a;} ;
+
+private:
+ CUiEventSender();
+ void EmitEventL( const CUiEvent& aGestureEvent );
+
+ /*!
+ * Should we be prepared for more than 5 pointers ? Jos tulee Torvisen voittaja
+ */
+ CUiEvent* iEvents[stmUiEventEngine::KMaxNumberOfPointers];
+ void compressStack(CUiEvent* aUiEvent) ;
+
+ /*
+ * Let's be prepared for more than one observer,
+ * although usually there is only the gesture engine
+ */
+ RPointerArray<MUiEventObserver> iObserver;
+ bool m_loggingenabled ;
+
+ };
+}
+#endif /* UIEVENTSENDER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/unknowngesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Unknown gesture recognizer
+*
+*/
+
+#ifndef UNKNOWNGESTURERECOGNISER_H_
+#define UNKNOWNGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CUnknownGestureRecogniser handles unknown gestures at ERelease
+ * I.e. if no-one else has recognised a gesture when ERelease arrives,
+ * This recogniser can be at the end of the list to inform the app
+ * that something weird is happening...
+ *
+ */
+NONSHARABLE_CLASS( CUnknownGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidUnknown;
+
+ /** Two-phase constructor */
+ static CUnknownGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CUnknownGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+private:
+ CUnknownGestureRecogniser(MGestureListener* aListener) ;
+
+};
+
+} // namespace
+
+#endif /* UNKNOWNGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/updowngesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Updown Gesture Recognizer
+*
+*/
+
+#ifndef UPDOWNGESTURERECOGNISER_H_
+#define UPDOWNGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+NONSHARABLE_CLASS( CUpdownGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidUpDown;
+
+ static CUpdownGestureRecogniser* NewL(MGestureListener* aListener);
+
+ virtual ~CUpdownGestureRecogniser();
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+private:
+ CUpdownGestureRecogniser(MGestureListener* aListener) ;
+};
+
+}
+
+#endif /* UPDOWNGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/utils.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,39 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Utility funtions
+*
+*/
+
+#ifndef _GESTURE_UTILS_H_
+#define _GESTURE_UTILS_H_
+
+#include <e32std.h>
+
+namespace stmUiEventEngine
+{
+
+ /**
+ * @return the rectange in which dragging will be ignored. Tolerance rect
+ * represents a rectange within which any movement will not be considered
+ * intentional, but as accidental stylus movement.
+ */
+ TRect ToleranceRect( const TPoint& aCenterPoint );
+
+ long Twips2Pixels(long twips);
+ long Mm2Pixels(long mm);
+ long Inches2Pixels(double inches);
+
+} // namespace stmProto04
+
+#endif // _GESTURE_UTILS_H_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/inc/zoomgesturerecogniser.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Zoom Gesture Recognizer
+*
+*/
+
+#ifndef ZOOMGESTURERECOGNISER_H_
+#define ZOOMGESTURERECOGNISER_H_
+
+#include "rt_gestureengineif.h"
+#include <rt_gestureif.h>
+#include <rt_gesturelistener.h>
+
+class CCoeControl ;
+
+namespace stmGesture
+{
+
+/*!
+ * CZoomGestureRecogniser handles zoomin gesture: start from near lower left / upper right corner and drag
+ * This is useful if one wants to implement single handed zooming so can be done using thumb
+ * (no need to use pinch i.e. hold device in one hand and use two fingers of the other)
+ * Current spec is:
+ * - touch lower left corner and start dragging => initialize ZOOM IN
+ * - touch upper right corner and start dragging => initialize ZOOM OUT
+ * store the touch point and then calculate the distance until release
+ * The distance is the zoom factor (probably needs some adjustment, not just the pixels...)
+ */
+NONSHARABLE_CLASS( CZoomGestureRecogniser ): public CGestureRecogniser
+{
+public:
+ static const TGestureUid KUid = EGestureUidCornerZoom;
+
+ /** Two-phase constructor */
+ static CZoomGestureRecogniser* NewL(MGestureListener* aListener);
+ virtual ~CZoomGestureRecogniser();
+
+ /*!
+ * MGestureRecogniserIf methods
+ */
+ virtual TGestureRecognitionState recognise(int numOfActiveStreams, MGestureEngineIf* ge) ;
+ virtual void release(MGestureEngineIf* ge) ;
+ virtual TGestureUid gestureUid() const
+ {
+ return KUid;
+ }
+
+ /*!
+ * Additional methods to set up zoom in gesture recogniser:
+ * define the rectangle where the lower left corner is
+ * \param theArea
+ */
+ void setArea(const TRect& theArea) ;
+
+ /*!
+ * Additional methods to set up zoom in gesture recogniser:
+ * Define how close to the lower left corner the touch must happen
+ * \param rangeInPixels
+ */
+ void setRange(int rangeInPixels) ;
+
+private:
+ CZoomGestureRecogniser(MGestureListener* aListener) ;
+
+ float calculateDistance(const TPoint& aTp) ;
+ int adjustZoom(float& aPreviousDistance, float aNewDistance) ;
+
+private:
+ TRect m_area ;
+ int m_rangesizeInPixels ;
+ TZoomType m_zoomtype ;
+ bool m_zooming ;
+ TPoint m_startingtouch ;
+ TPoint m_previoustouch ;
+ int m_delta ;
+
+};
+
+} // namespace
+
+#endif /* ZOOMGESTURERECOGNISER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/rom/stmgesturefw.iby Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: STM Gesture Fw iby file
+*
+*/
+
+
+#ifndef _STMGESTUREFW_IBY_
+#define _STMGESTUREFW_IBY_
+
+#include <platform/mw/Browser_platform_variant.hrh>
+
+#ifdef BRDO_USE_GESTURE_HELPER
+
+#include <data_caging_paths_for_iby.hrh>
+
+file=ABI_DIR\BUILD_DIR\stmgesturefw.dll SHARED_LIB_DIR\stmgesturefw.dll
+
+#endif // BRDO_USE_GESTURE_HELPER
+
+#endif // _STMGESTUREFW_IBY_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/sis/backup_registration.xml Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,5 @@
+<?xml version="1.0" standalone="yes"?>
+<backup_registration>
+ <system_backup/>
+ <restore requires_reboot = "no"/>
+</backup_registration>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/UiEvent.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <e32math.h>
+#include "UiEvent.h"
+#include "filelogger.h"
+#include "statemachine.h" // for stmUiEventEngine::Distance(dx,dy)
+//#include "flogger.h"
+
+using namespace stmUiEventEngine ;
+
+static const char* const eventNames[] = { // for debugging purposes define the names of the UI events
+ "noEvent",
+ "ETouch",
+ "EHold",
+ "EDrag",
+ "ERelease",
+ "ENull"
+} ;
+
+const char* stmUiEventEngine::EventName(stmUiEventEngine::TUiEventCode aCode)
+{
+ return eventNames[aCode];
+}
+
+CUiEvent* CUiEvent::NewL(
+ TUiEventCode aCode,
+ const TPoint& aStart, const TPoint& aXY, const TPoint& aPreviousXY,
+ bool aTimerExpired, void* aTarget, TTimeIntervalMicroSeconds aInterval,
+ int aIndex, TInt64 aTimestamp)
+{
+ CUiEvent* self = new (ELeave) CUiEvent(aCode, aStart, aXY, aPreviousXY,
+ aTimerExpired, aTarget, aInterval, aIndex, aTimestamp) ;
+ return self;
+}
+
+CUiEvent::CUiEvent(
+ TUiEventCode aCode,
+ const TPoint& aStart, const TPoint& aXY, const TPoint& aPreviousXY,
+ bool aTimerExpired, void* aTarget, TTimeIntervalMicroSeconds aInterval,
+ int aIndex, TInt64 aTimestamp) :
+ m_code(aCode), m_start(aStart), m_XY(aXY), m_previousXY(aPreviousXY),
+ m_statetransition(aInterval), m_target(aTarget), m_timerExpired(aTimerExpired),
+ m_index(aIndex), m_previousEvent(NULL), m_timestamp(aTimestamp)
+{
+}
+
+CUiEvent::~CUiEvent()
+{
+ delete m_previousEvent ;
+ m_previousEvent = NULL ;
+}
+const TPoint& CUiEvent::StartPos() const
+{
+ return m_start ;
+}
+const TPoint& CUiEvent::CurrentXY() const
+{
+ return m_XY ;
+}
+TUiEventCode CUiEvent::Code()const
+{
+ return m_code ;
+}
+const TPoint& CUiEvent::PreviousXY() const
+{
+ return m_previousXY ;
+}
+TTimeIntervalMicroSeconds CUiEvent::StateTransition() const
+{
+ return m_statetransition ;
+}
+bool CUiEvent::TimerExpired() const
+{
+ return m_timerExpired ;
+}
+void * CUiEvent::Target() const
+{
+ return m_target ;
+}
+int CUiEvent::Index() const
+{
+ return m_index ;
+}
+void CUiEvent::setPrevious(CUiEvent* aEvent)
+{
+ m_previousEvent = aEvent ;
+}
+MUiEvent* CUiEvent::previousEvent() const
+{
+ return m_previousEvent ;
+}
+int CUiEvent::countOfEvents() const
+{
+ int count = 1 ;
+ for(CUiEvent* prev = m_previousEvent; prev; prev = prev->m_previousEvent)
+ {
+ ++count;
+ }
+ return count ;
+}
+TInt64 CUiEvent::timestamp() const
+{
+ return m_timestamp ;
+}
+
+float CUiEvent::speedX() const __SOFTFP
+{
+ int distX = m_XY.iX - m_previousXY.iX;
+ // now calculate speed
+ float elapsed = float (m_statetransition.Int64()/1000) ; // use ms as time unit
+
+ float speed = 0;
+ if (elapsed == 0) {
+ elapsed = 5.0; // if time is 0, take 5ms
+ }
+ speed = float(distX)/elapsed ;
+ return speed ;
+}
+
+float CUiEvent::speedY() const __SOFTFP
+{
+ int distY = m_XY.iY - m_previousXY.iY;
+ // now calculate speed
+ float elapsed = float (m_statetransition.Int64()/1000) ; // use ms as time unit
+ float speed = 0;
+ if (elapsed == 0) {
+ elapsed = 5.0; // if time is 0, take 5ms
+ }
+ speed = float(distY)/elapsed ;
+ return speed ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/edgescrollgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "edgescrollgesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+CEdgeScrollGestureRecogniser::CEdgeScrollGestureRecogniser(MGestureListener* aListener) :
+ CPeriodic(0), m_listener(aListener) , m_area()
+{
+ m_powner = aListener->getOwner() ;
+ m_gestureEnabled = true ;
+ m_rangesizeInPixels = 10 ; // by default 10 pixels from the edges is the area
+}
+
+CEdgeScrollGestureRecogniser* CEdgeScrollGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CEdgeScrollGestureRecogniser* self = new (ELeave) CEdgeScrollGestureRecogniser(aListener) ;
+ CleanupStack::PushL(self);
+ self->ConstructL(); // construct base class
+ CActiveScheduler::Add(self);
+ CleanupStack::Pop(self);
+ return self;
+}
+
+CEdgeScrollGestureRecogniser::~CEdgeScrollGestureRecogniser()
+{
+ Cancel();
+}
+
+TGestureRecognitionState CEdgeScrollGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like edge scroll with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be EHold
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: %d num %d code %d",
+ eventCode, countOfEvents, eventCode);
+ }
+
+ if (eventCode == stmUiEventEngine::EHold) // The last one is EHold, look if it is near the area defined
+ {
+ const TPoint& p = puie->CurrentXY();
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: 0x%x EHold: num %d code %d, %d",
+ this, countOfEvents, p.iX, p.iY);
+ LOGARG("CEdgeScrollGestureRecogniser: area, %d,%d %d,%d, range: %d",
+ m_area.iTl.iX,
+ m_area.iTl.iY,
+ m_area.iBr.iX,
+ m_area.iBr.iY,
+ m_rangesizeInPixels);
+ }
+ // check where the point is inside the area defined but outside of the area shrinked by m_rangesizeInPixels.
+ TRect rcInner = m_area ;
+ rcInner.Shrink(m_rangesizeInPixels, m_rangesizeInPixels) ;
+ if (m_area.Contains(p) && !rcInner.Contains(p))
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: HIT, (%d,%d) in %d,%d %d,%d, range: %d",
+ p.iX, p.iY, m_area.iTl.iX, m_area.iTl.iY,
+ m_area.iBr.iX, m_area.iBr.iY,
+ m_rangesizeInPixels);
+ }
+
+ state = EGestureActive ;
+ // this is edge scroll, check where it is about...
+ TEdgeScroll scrolltype = EEdgeScrollUnknown ;
+ if (p.iY < m_area.iTl.iY + m_rangesizeInPixels)
+ scrolltype = EEdgeScrollUp ; // if Y is small enough, it is always up
+ else if (p.iY > m_area.iBr.iY - m_rangesizeInPixels)
+ scrolltype = EEdgeScrollDown ; // if Y is big enough, it is always down
+ else if (p.iX < m_area.iTl.iX + m_rangesizeInPixels)
+ scrolltype = EEdgeScrollLeft ; // if X is small enough, it is always left
+ else if (p.iX > m_area.iBr.iX - m_rangesizeInPixels)
+ scrolltype = EEdgeScrollRight ; // if X is big enough, it is always right
+ // issue the edge scroll gesture
+ stmGesture::TGenericSimpleGesture pgest(KUid, p, scrolltype, puie) ;
+ // Call the listener to inform that a Tap has occurred...
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ }
+ return state;
+}
+
+void CEdgeScrollGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ Cancel() ; // some other gesture took hold of the thing, do not send gesture
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: 0x%x release", this);
+ }
+}
+
+void CEdgeScrollGestureRecogniser::RunL()
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: 0x%x timer", this);
+ }
+}
+
+void CEdgeScrollGestureRecogniser::enableLogging(bool loggingOn)
+{
+ m_loggingenabled = loggingOn;
+}
+
+void CEdgeScrollGestureRecogniser::enable(bool enabled)
+{
+ m_gestureEnabled = enabled ;
+}
+
+bool CEdgeScrollGestureRecogniser::isEnabled()
+{
+ return m_gestureEnabled ;
+}
+
+void CEdgeScrollGestureRecogniser::setOwner(CCoeControl* owner)
+{
+ m_powner = owner;
+}
+
+void CEdgeScrollGestureRecogniser::setScrollRange(int rangeInPixels)
+{
+ m_rangesizeInPixels = rangeInPixels ;
+}
+
+void CEdgeScrollGestureRecogniser::setArea(const TRect& theArea)
+{
+ m_area = theArea ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CEdgeScrollGestureRecogniser: set area, %d,%d %d,%d", m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/filelogger.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,187 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+#include "filelogger.h"
+
+#include <bautils.h>
+#include <pathinfo.h>
+
+_LIT(KLogFolder, "logs\\");
+_LIT(KLogFileExt, ".log");
+_LIT8(KLineEnd, "\r\n");
+
+const TInt KTimeRecordSize = 25;
+
+_LIT8(KTimeFormat,"%04d-%02d-%02d %02d:%02d:%02d.%03d ");
+_LIT8(KLogStart, "--== New %S log ==--\r\n");
+
+CFileLogger::CFileLogger()
+{
+}
+
+TBool CFileLogger::Construct()
+{
+ TInt err = iFs.Connect();
+ if (!err)
+ {
+ TFileName logFileName;
+ err = !GetLogFileNameWithoutExt(logFileName);
+ if(!err)
+ {
+ logFileName.Append(KLogFileExt);
+ err = iFile.Create(iFs, logFileName, EFileShareAny | EFileWrite);
+ if(!err)
+ {
+ TInt pos(0);
+ iFile.Seek(ESeekEnd, pos);
+ TBuf8<KMaxFullName> appName;
+ appName.Copy(BaflUtils::ExtractAppNameFromFullName(RThread().FullName()));
+ iLogBuffer.AppendFormat(KLogStart, &appName);
+ err = iFile.Write(iLogBuffer);
+ }
+ }
+ }
+ return (!err);
+}
+
+CFileLogger* CFileLogger::Logger()
+{
+ CFileLogger* logger = (CFileLogger*)Dll::Tls();
+ if (!logger)
+ {
+ logger = new CFileLogger;
+ if (logger)
+ {
+ if (logger->Construct())
+ {
+ Dll::SetTls(logger);
+ }
+ else
+ {
+ delete logger;
+ logger = NULL;
+ }
+ }
+ }
+ return logger;
+}
+
+void CFileLogger::Close()
+{
+ delete (CFileLogger*)Dll::Tls();
+ Dll::FreeTls();
+}
+
+CFileLogger::~CFileLogger()
+{
+ iFile.Close();
+ iFs.Close();
+}
+
+TBool CFileLogger::GetLogFileNameWithoutExt(TDes& aFileName)
+{
+ TFileName path = PathInfo::MemoryCardRootPath() ;
+ path.Append(PathInfo::OthersPath()) ; // Put the log in the "Others" directory
+ aFileName.Append(path);
+ aFileName.Append(KLogFolder);
+ TBool res = BaflUtils::FolderExists(iFs, aFileName);
+ if (!res)
+ {
+ aFileName.Zero();
+ aFileName.Append(path) ; // put it then directly to Others folder
+ res = ETrue ;
+ }
+ TPtrC fileName(BaflUtils::ExtractAppNameFromFullName(RThread().FullName()));
+ aFileName.Append(fileName);
+ TTime time;
+ time.HomeTime();
+ TDateTime dateTime;
+ dateTime = time.DateTime();
+ // add timestamp to the name (then one has to clear them manually)
+ aFileName.AppendNum(dateTime.Month()+1) ;
+ aFileName.AppendNum(dateTime.Day()+1) ;
+ aFileName.AppendNum(dateTime.Hour()) ;
+ aFileName.AppendNum(dateTime.Minute()) ;
+ aFileName.AppendNum(dateTime.Second()) ;
+ return res;
+}
+
+void CFileLogger::Write(const TDesC8& aText)
+{
+ CFileLogger* logger = Logger();
+ if(logger)
+ {
+ logger->iLogBuffer.Copy(aText);
+ logger->DoWrite();
+ }
+}
+
+void CFileLogger::Write(const TDesC16& aText)
+{
+ CFileLogger* logger = Logger();
+ if(logger)
+ {
+ logger->iLogBuffer.Copy(aText);
+ logger->DoWrite();
+ }
+}
+
+void CFileLogger::Write(TRefByValue<const TDesC8> aFmt,...)
+{
+ CFileLogger* logger = Logger();
+ if (logger)
+ {
+ VA_LIST list;
+ VA_START(list, aFmt);
+ logger->iLogBuffer.FormatList(aFmt, list);
+ logger->DoWrite();
+ VA_END(list);
+ }
+}
+
+void CFileLogger::DoWrite()
+{
+ if(iFile.SubSessionHandle())
+ {
+ TTime time;
+ time.HomeTime();
+ TDateTime dateTime;
+ dateTime = time.DateTime();
+ TBuf8<KTimeRecordSize> timeRecord;
+ timeRecord.Format(KTimeFormat, dateTime.Year(), dateTime.Month()+1, dateTime.Day()+1,
+ dateTime.Hour(), dateTime.Minute(), dateTime.Second(),
+ dateTime.MicroSecond()/1000);
+ iLogBuffer.Insert(0, timeRecord);
+ iLogBuffer.Append(KLineEnd);
+ iFile.Write(iLogBuffer);
+ }
+}
+void CFileLogger::DoFlush()
+{
+ if(iFile.SubSessionHandle())
+ {
+ iFile.Flush();
+ }
+
+}
+void CFileLogger::Flush()
+{
+ CFileLogger* logger = Logger();
+ if (logger)
+ {
+ logger->DoFlush() ;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/flickgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "flickgesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+//#include "flogger.h"
+
+using namespace stmGesture ;
+
+CFlickGestureRecogniser::CFlickGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CFlickGestureRecogniser* CFlickGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CFlickGestureRecogniser* self = new (ELeave) CFlickGestureRecogniser(aListener) ;
+ return self;
+}
+
+CFlickGestureRecogniser::~CFlickGestureRecogniser()
+{
+}
+/*!
+ * Release gesture recogniser. Note that this one never owns the gesture, it just calls
+ * the callback if it detects ERelease inside the area being watched.
+ * There could be also check for the target window?
+ */
+TGestureRecognitionState CFlickGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like flick with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+ if (m_loggingenabled)
+ {
+ LOGARG("CFlickGestureRecogniser: %d num %d code %d", eventCode, countOfEvents, eventCode);
+
+ }
+ if (m_powner == puie->Target() && eventCode == stmUiEventEngine::ERelease)
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CFlickGestureRecogniser: 0x%x ERelease: num %d code %d, %d", this, countOfEvents, puie->CurrentXY().iX, puie->CurrentXY().iY);
+ }
+ // Check if the speed before release was fast enough for flick
+ const stmUiEventEngine::MUiEvent* puieprev = puie->previousEvent() ;
+ if (puieprev && puieprev->Code() == stmUiEventEngine::EMove)
+ {
+ using stmUiEventEngine::TUiEventSpeed;
+
+ float thespeedX = puieprev->speedX() ;
+ float thespeedY = puieprev->speedY() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CFlickGestureRecogniser: prev speed: %f (limit: %f)", double(thespeedX), double(m_speed)) ;
+ }
+ if (Abs( thespeedX) >= m_speed || Abs( thespeedY) >= m_speed )
+ {
+ state = EGestureActive ;
+
+ TUiEventSpeed speedIf(thespeedX, thespeedY);
+
+ // issue the flick gesture using the TDirectionalGesture (it has the speed and direction)
+ stmGesture::TDirectionalGesture pgest(
+ KUid,
+ puieprev->CurrentXY(),
+ puieprev->PreviousXY(),
+ &speedIf,
+ m_loggingenabled);
+
+ // Call the listener to inform that a flick has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ }
+ return state;
+}
+void CFlickGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CFlickGestureRecogniser: 0x%x flick", this);
+ }
+}
+void CFlickGestureRecogniser::setFlickingSpeed(float aSpeed) __SOFTFP
+{
+ m_speed = aSpeed ;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/genericsimplegesture.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+using stmUiEventEngine::MUiEventSpeed;
+
+
+TGenericSimpleGesture::TGenericSimpleGesture(
+ TGestureUid uid, const TPoint& loc, int type, const MUiEventSpeed* speedIf) :
+ m_location(loc), m_uid(uid), m_type(type), m_details(0), m_speed(speedIf)
+{
+}
+
+TPoint TGenericSimpleGesture::getLocation() const
+{
+ return m_location ;
+}
+
+int TGenericSimpleGesture::getType() const
+{
+ return m_type ;
+}
+
+int TGenericSimpleGesture::getDetails() const
+{
+ return m_details ;
+}
+
+void TGenericSimpleGesture::setName(const TDesC8& aName)
+{
+ m_name.Set(aName) ;
+}
+
+TPtrC8 TGenericSimpleGesture::getGestureName()
+{
+ return m_name ;
+}
+
+TDirectionalGesture::TDirectionalGesture(
+ TGestureUid uid, const TPoint& loc, const TPoint& prevLoc,
+ const MUiEventSpeed* speedIf, bool logging) :
+ TGenericSimpleGesture(uid, loc, 0, speedIf), m_loggingEnabled(logging)
+{
+ setVector(loc, prevLoc);
+}
+
+void TDirectionalGesture::setVector(const TPoint& last, const TPoint& previous)
+{
+ m_vector = TPoint(last.iX-previous.iX, previous.iY-last.iY) ; // x > 0 => east, y > 0 => north
+ if (m_loggingEnabled)
+ {
+ LOGARG("CHoveringGesture: x: %d , %d prev: %d, %d", last.iX, last.iY, previous.iX, previous.iY) ;
+ }
+}
+
+TGestureDirection TDirectionalGesture::getDirection() const
+{
+ TGestureDirection dir = ENorth ;
+ int x = Abs(m_vector.iX) ;
+ int y = Abs(m_vector.iY) ;
+ if (y <= x/2)
+ {
+ if (m_vector.iX < 0)
+ dir = EWest ;
+ else
+ dir = EEast ;
+ }
+ else if (y > x/2 && y <= (x+x/2))
+ {
+ if (m_vector.iX < 0)
+ {
+ if (m_vector.iY < 0 )
+ dir = ESouthWest ;
+ else
+ dir = ENorthWest ;
+ }
+ else
+ {
+ if (m_vector.iY < 0 )
+ dir = ESouthEast ;
+ else
+ dir = ENorthEast ;
+ }
+ }
+ else if (y > x+x/2)
+ {
+ if (m_vector.iY < 0)
+ dir = ESouth ;
+ else
+ dir = ENorth ;
+ }
+ if (m_loggingEnabled)
+ {
+ LOGARG("CHoveringGesture: x: %d y: %d direction: %d", m_vector.iX, m_vector.iY, dir) ;
+ }
+ return dir ;
+}
+
+TTwoPointGesture::TTwoPointGesture(TGestureUid uid, const TPoint& loc, const TPoint& prevLoc) :
+ TDirectionalGesture(uid, loc, prevLoc, NULL),
+ m_location2(prevLoc)
+{
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/gestureengine.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,275 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GestureEngine.h"
+
+#include "filelogger.h"
+
+
+using namespace stmGesture ;
+
+CGestureEngine::CGestureEngine()
+{
+ m_numOfActiveStreams = 0 ;
+ m_currentGestureOwner = -1 ;
+ m_currentLockedGesture = -1 ;
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ m_uiEventStream[i] = NULL ;
+ }
+}
+
+CGestureEngine::~CGestureEngine()
+{
+ m_gestures.Reset() ;
+}
+
+bool CGestureEngine::addGesture(const MGestureRecogniserIf* aNewGesture)
+{
+ // Add the new gesture recogniser to our list of recognisers
+ return m_gestures.Append(aNewGesture) == 0;
+}
+
+bool CGestureEngine::insertGesture(const MGestureRecogniserIf* aNewGesture)
+{
+ return insertGestureAt(aNewGesture, 0) == 0;
+}
+
+bool CGestureEngine::insertGestureAt(const MGestureRecogniserIf* aNewGesture, int position)
+{
+ return m_gestures.Insert(aNewGesture, position) == 0 ;
+}
+
+bool CGestureEngine::removeGesture(const MGestureRecogniserIf* aOldGesture)
+{
+ // If gestures are removed, there cannot be current gesture owner...
+ if (m_currentGestureOwner != -1)
+ {
+ MGestureRecogniserIf* pgrif = m_gestures[m_currentGestureOwner] ;
+ pgrif->release(this) ;
+ m_currentGestureOwner = -1 ; // no more gesture owners...
+ }
+ TInt ix = m_gestures.Find(aOldGesture) ;
+ bool found = (ix != -1);
+ if (found)
+ {
+ m_gestures.Remove(ix) ;
+ }
+ return found ;
+}
+
+int CGestureEngine::activeStreamCount() const
+{
+ return m_numOfActiveStreams ;
+}
+
+const stmUiEventEngine::MUiEvent* CGestureEngine::getUiEvents(int indexOfActiveStream) const
+{
+#if defined(ADVANCED_POINTER_EVENTS)
+ // create temporary array of active event streams and initialize with zero
+ const stmUiEventEngine::MUiEvent* activeEventPointers[stmUiEventEngine::KMaxNumberOfPointers] ;
+ for (int x = 0; x < stmUiEventEngine::KMaxNumberOfPointers; x++) activeEventPointers[x] = 0 ;
+ // then fill from currently active event streams
+ int indextoactiveEventPointers = 0 ;
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ if (m_uiEventStream[i])
+ activeEventPointers[indextoactiveEventPointers++] = m_uiEventStream[i] ;
+ }
+ // then return the active event stream asked
+ return activeEventPointers[indexOfActiveStream] ;
+#else
+ // in single touch it is enough to return the only possible pointer
+ return m_uiEventStream[indexOfActiveStream] ;
+#endif
+}
+
+/*!
+ * Process the UI events
+ */
+void CGestureEngine::HandleUiEventL(const stmUiEventEngine::MUiEvent& aEvent )
+{
+ // process one incoming UI event
+ storeUiEvent(aEvent) ; // store the event to the "stream" based on the index of pointer
+ walkTroughGestures() ; // and walk trough the gestures to process the UI event
+ updateUiEvents() ;
+ // If it was last release event, make sure no-one has the gestures locked
+ m_numOfActiveStreams = 0 ;
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ if (m_uiEventStream[i]) m_numOfActiveStreams++ ;
+ }
+ if (m_numOfActiveStreams == 0)
+ {
+ if (m_currentLockedGesture != -1)
+ {
+ MGestureRecogniserIf* pgrif = m_gestures[m_currentLockedGesture] ;
+ pgrif->release(this) ;
+ }
+ m_currentLockedGesture = -1 ;
+ }
+}
+
+/*!
+ * Store the UI event. There are max X "streams" of events, one for each
+ * pointer. The streams are actually just pointers to the latest event, since the
+ * MUiEvent interface has methods to walk trough the chain of events.
+ */
+void CGestureEngine::storeUiEvent(const stmUiEventEngine::MUiEvent& aEvent)
+{
+ m_uiEventStream[aEvent.Index()] = &aEvent ;
+ m_numOfActiveStreams = 0 ;
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ if (m_uiEventStream[i]) m_numOfActiveStreams++ ;
+ }
+}
+
+/*!
+ * Call each gesture handler in turn until one claims to be in control of the gesture.
+ */
+void CGestureEngine::walkTroughGestures()
+{
+ int newowner = -1 ;
+ int newlocker = m_currentLockedGesture ;
+ // check if someone has locked the gesture
+ TGestureRecognitionState thestate = ENotMyGesture ;
+ if (m_currentLockedGesture != -1)
+ {
+ MGestureRecogniserIf* pgrif = m_gestures[m_currentLockedGesture] ;
+ if (pgrif)
+ {
+ if (m_loggingEnabled)
+ {
+ // log entry about locked gesture (hmm.. should have added names to the MGestureRecogniserIf
+ LOGARG("locked gesture recognizer %d (addr %d), active streams %d",
+ m_currentLockedGesture, pgrif, m_numOfActiveStreams);
+ }
+
+ thestate = pgrif->recognise(m_numOfActiveStreams, this) ;
+ switch (thestate)
+ {
+ case EGestureActive:
+ {
+ // This gesture recogniser owns the gesture, so release the lock
+ newlocker = -1 ;
+ newowner = m_currentLockedGesture ;
+ if (m_loggingEnabled)
+ {
+ LOGARG("new owner %d lock release", m_currentLockedGesture);
+ }
+ break;
+ }
+ case ELockToThisGesture:
+ {
+ // this gesture recogniser wants to keep the lock
+ newowner = m_currentLockedGesture ;
+ newlocker = m_currentLockedGesture ;
+ if (m_loggingEnabled)
+ {
+ LOGARG("new owner %d keep lock", m_currentLockedGesture);
+ }
+ break;
+
+ }
+ case ENotMyGesture:
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (m_loggingEnabled)
+ {
+ LOGARG("NULL recogniser for %d", m_currentLockedGesture);
+ }
+ }
+ }
+
+ if (thestate == ENotMyGesture)
+ {
+ if (m_loggingEnabled)
+ {
+ LOGARG("walk trough recognizers active streams %d", m_numOfActiveStreams);
+ }
+ // No locking gesture, walk trough the list until someone handles this
+ for (int i = 0; i < m_gestures.Count(); i++)
+ {
+ bool controlObtained = false;
+ MGestureRecogniserIf* pgrif = m_gestures[i];
+ if (pgrif)
+ {
+ switch (pgrif->recognise(m_numOfActiveStreams, this))
+ {
+ case EGestureActive:
+ {
+ // This gesture recogniser owns the gesture, stop looping...
+ controlObtained = true;
+ newowner = i;
+ break;
+ }
+ case ELockToThisGesture:
+ {
+ // this gesture recogniser wants to take ownership
+ controlObtained = true;
+ newowner = i;
+ newlocker = i;
+ break;
+
+ }
+ case ENotMyGesture:
+ {
+ break;
+ }
+ }
+ }
+ if (controlObtained)
+ {
+ break; // do not process rest of the gestures
+ }
+
+ }
+ }
+ if (newowner != -1 && newowner != m_currentGestureOwner)
+ {
+ if (m_currentGestureOwner != -1)
+ {
+ MGestureRecogniserIf* pgrif = m_gestures[m_currentGestureOwner] ;
+ pgrif->release(this) ;
+ }
+ m_currentGestureOwner = newowner ;
+ }
+ m_currentLockedGesture = newlocker ; // if someone locked it or released the lock
+}
+
+void CGestureEngine::updateUiEvents()
+{
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ if (m_uiEventStream[i])
+ {
+ if (m_uiEventStream[i]->Code() == stmUiEventEngine::ERelease)
+ {
+ // Event can be removed since Release is the last event
+ // note that it is the lower layer event engine
+ // which actually deletes the object
+ m_uiEventStream[i] = NULL ;
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/gestureframework.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "statemachine.h"
+#include "gestureframework.h"
+#include "gestureframeworkimpl.h"
+#include "GestureEngine.h"
+#include "rt_gestureengineif.h"
+#include "rt_gesturelistener.h"
+#include "tapgesturerecogniser.h"
+#include "pangesturerecogniser.h"
+
+using namespace stmGesture ;
+
+CGestureFramework::CGestureFramework()
+{
+ // No implementation required
+}
+
+CGestureFramework::~CGestureFramework()
+{
+ delete m_impl ;
+}
+
+CGestureFramework* CGestureFramework::NewLC()
+{
+ CGestureFramework* self = new (ELeave) CGestureFramework();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+}
+
+CGestureFramework* CGestureFramework::NewL()
+{
+ CGestureFramework* self = CGestureFramework::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+}
+
+void CGestureFramework::ConstructL()
+{
+ m_impl = CGestureFrameworkImpl::NewL() ;
+}
+
+TVersion CGestureFramework::Version()
+{
+ // Version number of example API
+ const TInt KMajor = 1;
+ const TInt KMinor = 0;
+ const TInt KBuild = 1;
+ return TVersion(KMajor, KMinor, KBuild);
+}
+
+/*!
+ * Create new gesture engine if not already existing and return the interface
+ */
+MGestureEngineIf* CGestureFramework::getGestureEngine()
+{
+ return m_impl->getGestureEngine() ;
+}
+
+stmUiEventEngine::CStateMachine* CGestureFramework::getUiStateMachine()
+{
+ return m_impl->getUiStateMachine() ;
+}
+
+void CGestureFramework::enableLogging(bool loggingEnabled)
+{
+ m_loggingenabled = loggingEnabled;
+ if (m_impl) m_impl->enableLogging(loggingEnabled) ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/gestureframeworkimpl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+
+#include "gestureframeworkimpl.h"
+#include "GestureEngine.h"
+#include "statemachine.h"
+
+using namespace stmGesture ;
+
+CGestureFrameworkImpl::CGestureFrameworkImpl()
+{
+ // No implementation required
+}
+
+CGestureFrameworkImpl::~CGestureFrameworkImpl()
+{
+ m_statemachine->removeUiEventObserver(m_gestureEngine) ;
+ delete m_gestureEngine ;
+ delete m_statemachine ;
+}
+
+CGestureFrameworkImpl* CGestureFrameworkImpl::NewLC()
+{
+ CGestureFrameworkImpl* self = new (ELeave) CGestureFrameworkImpl();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+}
+
+CGestureFrameworkImpl* CGestureFrameworkImpl::NewL()
+{
+ CGestureFrameworkImpl* self = CGestureFrameworkImpl::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+}
+
+void CGestureFrameworkImpl::ConstructL()
+{
+ /*!
+ * create the gesture engine and the low level UI event engine
+ */
+ m_gestureEngine = new (ELeave)CGestureEngine() ;
+ m_statemachine = stmUiEventEngine::CStateMachine::NewL() ;
+ // TODO: all kinds of default settings for the lower layer, but in the test app
+ // they are set from the settings menu so no need now...
+ // Add the gesture engine to be the observer of UI events...
+ m_statemachine->addUiEventObserver(m_gestureEngine) ;
+}
+MGestureEngineIf* CGestureFrameworkImpl::getGestureEngine()
+{
+ return m_gestureEngine ;
+}
+
+void CGestureFrameworkImpl::enableLogging(bool loggingEnabled)
+{
+ m_loggingenabled = loggingEnabled;
+ if (m_gestureEngine)
+ {
+ m_gestureEngine->enableLogging(loggingEnabled) ;
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/gesturehelpereventsender.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "gesturehelpereventsender.h"
+
+const TInt KEventsQueueGranularity = 4;
+
+CGestureEventSender* CGestureEventSender::NewL( MStmGestureListener& aObserver )
+ {
+ CGestureEventSender* self = new (ELeave) CGestureEventSender(aObserver);
+
+ return self;
+ }
+
+CGestureEventSender::CGestureEventSender( MStmGestureListener& aObserver ) :
+ CActive(EPriorityUserInput - 1),
+ iObserver(aObserver), iEvents(KEventsQueueGranularity)
+ {
+ CActiveScheduler::Add(this);
+ }
+
+CGestureEventSender::~CGestureEventSender()
+ {
+ if (IsActive())
+ {
+ Cancel();
+ }
+
+ iEvents.Close();
+ }
+
+TInt CGestureEventSender::AddEvent(TStmGestureUid aUid, const MStmGesture* aGestureEvent)
+ {
+ TStmGestureEvent event;
+ if (aGestureEvent) {
+ event.SetCode(aGestureEvent->gestureUid());
+ event.SetCurrentPos(aGestureEvent->getLocation());
+ event.SetSpeed(TRealPoint(aGestureEvent->getSpeedX()*1000,aGestureEvent->getSpeedY()*1000));//App needs the speed in pixels/sec
+ event.SetType(TStmTapType(aGestureEvent->getType()));
+ event.SetDetails(aGestureEvent->getDetails());
+ event.SetGestureDirection(aGestureEvent->getDirection());
+ event.SetPinchEndPos(aGestureEvent->getPinchEndPos());
+ event.SetGestureState(EGestureEnter);
+ }
+ else {
+ if (aUid != stmGesture::EGestureUidPinch) {
+ return iEvents.Count();
+ }
+ event.SetCode(aUid);
+ event.SetGestureState(EGestureExit);
+ }
+
+ iEvents.Append(event);
+ if (iState != EBusy)
+ {
+ iState = EEventsReady;
+ }
+
+ if (!IsActive())
+ {
+ Complete();
+ }
+ return iEvents.Count();
+ }
+
+void CGestureEventSender::Complete()
+ {
+ TRequestStatus* status = &iStatus;
+ User::RequestComplete(status, KErrNone);
+ SetActive();
+ }
+
+void CGestureEventSender::RunL()
+ {
+ switch (iState)
+ {
+ case EEventsReady:
+ {
+ if (iEvents.Count() > 0)
+ {
+ TInt count = iEvents.Count();
+ for (int i = 0; i < count; i++)
+ {
+ TStmGestureEvent& gst = iEvents[i];
+ EmitEventL(gst);
+ }
+ }
+ iEvents.Reset();
+ iState = ENoEvents;
+ Complete();
+ break;
+ }
+ }
+ }
+
+void CGestureEventSender::EmitEventL( const TStmGestureEvent& aGesture )
+ {
+ iState = EBusy;
+ iObserver.HandleGestureEventL(aGesture);
+ iState = EEventsReady;
+ }
+
+TInt CGestureEventSender::RunError(TInt aError)
+ {
+ iEvents.Reset();
+ return aError;
+ }
+
+void CGestureEventSender::DoCancel()
+ {
+ iEvents.Reset();
+ iState = ENoEvents;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/hoveringgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "hoveringgesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+#include "rt_uievent.h"
+
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+extern long Mm2Pixels(long mm) ;
+
+
+CHoveringGestureRecogniser::CHoveringGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+ m_hovering = false ;
+ m_hoveringspeed = 0.9f ;
+}
+
+CHoveringGestureRecogniser* CHoveringGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CHoveringGestureRecogniser* self = new (ELeave) CHoveringGestureRecogniser(aListener) ;
+ return self;
+}
+
+CHoveringGestureRecogniser::~CHoveringGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CHoveringGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like hovering
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be tap and release
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+ if (countOfEvents > 1) // do we have more than one event in the stream?
+ {
+ // Then look at the events to see if they are suitable for us
+ // should we check that all of the events are targeted to our window?
+ // currently we only check if the last one is for us and is EMove, then we pan...
+ if (puie->Target() == m_powner &&
+ eventCode == stmUiEventEngine::EMove) // The last one is move in our window
+ {
+ float speedX = puie->speedX() ;
+ float speedY = puie->speedY() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CHoveringGestureRecogniser: %d: num %d code %d, speed %f, limit %f",
+ m_hovering, countOfEvents, eventCode,
+ double(speedX), double(m_hoveringspeed));
+ }
+ // It might be hovering gesture in our window, handle it
+ if (!m_hovering)
+ {
+ // we are not yet hovering, so lets see if it is slow movement
+ // but it must be movement; if it is 0.0 do not hover
+ if ( ((speedX > 0.01f) ||(speedY > 0.01f)) &&
+ ((speedX < m_hoveringspeed) || (speedY < m_hoveringspeed))
+ )
+ {
+ state = EGestureActive;
+ m_hovering = true;
+ }
+ }
+ if (m_hovering)
+ {
+ // after we've started hovering, the speed could be increased a little before we loose hovering
+ // but this adjustment is not implemented now...
+ if (speedX < m_hoveringspeed || speedY < m_hoveringspeed)
+
+ {
+ using stmUiEventEngine::TUiEventSpeed;
+
+ state = EGestureActive;
+ TUiEventSpeed speedIf(speedX, speedY);
+ stmGesture::TDirectionalGesture pgest(
+ KUid,
+ puie->CurrentXY(),
+ puie->PreviousXY(),
+ &speedIf,
+ m_loggingenabled);
+
+ // Call the listener to inform that a Hover has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ else if (m_hovering)
+ {
+ if (eventCode == stmUiEventEngine::ERelease) // The last one is release in any window
+ {
+ m_hovering = false ;
+ // release will handle informing of the listener
+ }
+ }
+ }
+ else
+ {
+ // count of events == 1, lets see if it is EMove, then we take it and start hovering
+ if (puie->Target() == m_powner &&
+ eventCode == stmUiEventEngine::EMove) // The only one is move in our window
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CHoveringGestureRecogniser: move: num %d code %d", countOfEvents, eventCode);
+ }
+ state = EGestureActive;
+ stmGesture::TDirectionalGesture pgest(
+ KUid,
+ puie->CurrentXY(),
+ puie->PreviousXY(),
+ puie,
+ m_loggingenabled);
+
+ // Call the listener to inform that a Hover has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ if (state == ENotMyGesture)
+ {
+ // if it was not our gesture, then the state can not be hovering...
+ m_hovering = false ;
+ }
+ return state;
+}
+
+void CHoveringGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ m_hovering = false ;
+ m_listener->gestureExit(KUid) ;
+}
+
+void CHoveringGestureRecogniser::setHoveringSpeed(float aSpeed) __SOFTFP
+{
+ m_hoveringspeed = aSpeed ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/leftrightgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "leftrightgesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+#include "rt_uievent.h"
+
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+_LIT8(KLeftrightName, "Leftlight");
+
+CLeftrightGestureRecogniser::CLeftrightGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CLeftrightGestureRecogniser* CLeftrightGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CLeftrightGestureRecogniser* self = new (ELeave) CLeftrightGestureRecogniser(aListener) ;
+ return self;
+}
+
+CLeftrightGestureRecogniser::~CLeftrightGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CLeftrightGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like a tap or double tap
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be tap and release
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+ if (countOfEvents > 1) // do we have more than one event in the stream?
+ {
+ // Then look at the events to see if they are suitable for us
+ // should we check that all of the events are targeted to our window?
+ // currently we only check if the last one is for us and is EMove, then check if |x| > |y|
+ if (puie->Target() == m_powner &&
+ eventCode == stmUiEventEngine::EMove) // The last one is move in our window
+
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CLeftrightGestureRecogniser: Leftright: num %d code %d",
+ countOfEvents, eventCode);
+ }
+ // Is it leftright gesture in our window?
+ const TPoint& p = puie->CurrentXY();
+ TPoint dp = p - puie->PreviousXY();
+ if (Abs(dp.iX) > Abs(dp.iY))
+ {
+ state = EGestureActive;
+ stmGesture::TGenericSimpleGesture pgest(KUid, p, dp.iX, puie) ;
+ pgest.setName(KLeftrightName) ;
+ // Call the listener to inform that a Leftright has occurred...
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ }
+ }
+ return state;
+}
+
+void CLeftrightGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ m_listener->gestureExit(KUid) ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/longpressgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "longpressgesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+CLongPressGestureRecogniser::CLongPressGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CLongPressGestureRecogniser* CLongPressGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CLongPressGestureRecogniser* self = new (ELeave) CLongPressGestureRecogniser(aListener) ;
+ return self;
+}
+
+CLongPressGestureRecogniser::~CLongPressGestureRecogniser()
+{
+}
+
+/*!
+ * recognise the long press; basically it is just the EHold UI event
+ */
+TGestureRecognitionState CLongPressGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+
+ // Look at the events to see if it looks like long press with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be EHold
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CLongPressGestureRecogniser: %d num %d code %d", eventCode, countOfEvents, eventCode);
+ }
+ if (puie->Target() == m_powner && eventCode == stmUiEventEngine::EHold) // The last one is EHold, look if it is near our borders
+ {
+ const TPoint& p = puie->CurrentXY() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CLongPressGestureRecogniser: (%d, %d) in (%d,%d)(%d,%d)", p.iX, p.iY,
+ m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+ state = EGestureActive ;
+ // issue the long press gesture
+ stmGesture::TGenericSimpleGesture pgest(KUid, p, 0, puie) ; // TODO: speed is 0?
+ // Call the listener to inform that the gesture has occurred...
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ return state;
+}
+
+void CLongPressGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CLongPressGestureRecogniser: 0x%x release", this);
+ }
+}
+
+void CLongPressGestureRecogniser::setArea(const TRect& theArea)
+{
+ m_area = theArea ;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/pangesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "pangesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+#include "rt_uievent.h"
+
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+CPanGestureRecogniser::CPanGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CPanGestureRecogniser* CPanGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CPanGestureRecogniser* self = new (ELeave) CPanGestureRecogniser(aListener) ;
+ return self;
+}
+
+CPanGestureRecogniser::~CPanGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CPanGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like a tap or double tap
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be tap and release
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+ if (countOfEvents > 1) // do we have more than one event in the stream?
+ {
+ // Then look at the events to see if they are suitable for us
+ // should we check that all of the events are targeted to our window?
+ // currently we only check if the last one is for us and is EMove, then we pan if the speed is OK
+ if (puie->Target() == m_powner &&
+ eventCode == stmUiEventEngine::EMove) // The last one is move in our window
+
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPanGestureRecogniser: Pan: num %d code %d", countOfEvents, eventCode);
+ }
+ float speedX = puie->speedX();
+ float speedY = puie->speedY();
+
+ using stmUiEventEngine::TUiEventSpeed;
+
+ state = EGestureActive;
+ TUiEventSpeed speedIf(speedX, speedY);
+ // Panning gesture
+ stmGesture::TDirectionalGesture pgest(
+ KUid,
+ puie->CurrentXY(),
+ puie->PreviousXY(),
+ &speedIf,
+ m_loggingenabled);
+
+ // Call the listener to inform that a Pan has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ return state;
+}
+
+void CPanGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ m_listener->gestureExit(KUid) ;
+}
+
+void CPanGestureRecogniser::setPanningSpeedLow(float aSpeed) __SOFTFP
+{
+ m_panningspeedlow = aSpeed ;
+}
+
+void CPanGestureRecogniser::setPanningSpeedHigh(float aSpeed) __SOFTFP
+{
+ m_panningspeedhigh = aSpeed ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/pinchgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,440 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+#include <e32math.h>
+#include "pinchgesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+#include <rt_uievent.h>
+#include "filelogger.h"
+#include "statemachine.h" // for stmUiEventEngine::Distance(dx,dy)
+
+using namespace stmGesture ;
+
+extern long Mm2Pixels(long mm) ;
+
+
+CPinchGestureRecogniser::CPinchGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+ m_pinching = false ;
+ m_pinchingspeed = 3.5 ; // by default something suitable for capacitive
+ m_holdseen = false ;
+}
+
+CPinchGestureRecogniser* CPinchGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CPinchGestureRecogniser* self = new (ELeave) CPinchGestureRecogniser(aListener) ;
+ return self;
+}
+
+CPinchGestureRecogniser::~CPinchGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CPinchGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: %d %d %d ", m_pinching, m_holdseen, numOfActiveStreams) ;
+ }
+#if !defined(ADVANCED_POINTER_EVENTS)
+ // Look at the events to see if it looks like pinch in single touch
+ // WARNING: this code is a hack : in single touch capacitive touch device (like Alvin with 52.50) it works so-and-so,
+ // because the pointer events were reported from the corners of the rectangle formed by two fingers pressing.
+ // In resistive touch device like Tube or Ivalo the reported points are somewhere int he middle between the fingers
+ // and jumping a lot, so it is very difficult to get it right.
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, first we need to see a hold and then a fast jump
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+
+ if (countOfEvents > 0 ) // how many events
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: %d %d %d %d %d, m: %d b: %d",
+ m_pinching, m_holdseen, numOfActiveStreams, countOfEvents, eventCode,
+ int(m_m), int(m_b)) ;
+ }
+
+ if (m_pinching)
+ {
+ // We have entered pinching state, lets move one of the points unless it is a release
+ if (eventCode == stmUiEventEngine::ERelease)
+ {
+ m_pinching = false ;
+ m_holdseen = false ;
+ }
+ else
+ {
+ bool pointIgnored = true ; // for logging purposes
+ int currentLength = m_loggingenabled ?
+ stmUiEventEngine::Distance(m_pinchstart, m_pinchend) : 0;
+
+ TPoint oStart(m_pinchstart) ;
+ TPoint oEnd(m_pinchend) ;
+ int difference = 0 ;
+ state = ELockToThisGesture ;
+ const TPoint& tp = puie->CurrentXY();
+ // calculate the distance of the new point from the stored vector
+ int d1 = ((m_pinchstart.iX-tp.iX)*(m_pinchstart.iX-tp.iX)) +
+ ((m_pinchstart.iY-tp.iY)*(m_pinchstart.iY-tp.iY)) ;
+ int d2 = ((m_pinchend.iX-tp.iX)*(m_pinchend.iX-tp.iX)) +
+ ((m_pinchend.iY-tp.iY)*(m_pinchend.iY-tp.iY)) ;
+ // check also if the Y coordinate happens to be near the hold point,
+ // this seems to be the case at least with alvin, we keep getting two points,
+ // where one is near the Y coordinate of the hold point
+ int diffY = Abs(tp.iY-m_pinchstart.iY) ;
+
+ if (d1 < d2 || diffY < 12)
+ {
+ // the detected point is near the first point,
+ // or the detected point is about on the same horizontal line with the hold point
+ // do not do anything, but keep the gesture
+ }
+ else
+ {
+ pointIgnored = false ;
+ // the detected point is close to the other end, then adjust the stored vector
+ int xd = m_pinchend.iX-tp.iX ;
+ int yd = m_pinchend.iY-tp.iY ;
+ if (xd < 0 ) xd = - xd ;
+ if (yd < 0 ) yd = - yd ;
+ // look which coordinate is closer to the original and use that
+ if (xd < yd)
+ {
+ // calculate new point based on the X value
+ m_pinchend.iX = tp.iX ;
+ m_pinchend.iY = m_m*m_pinchend.iX + m_b ;
+ if (m_pinchend.iY < 0) m_pinchend.iY = 0 ;
+ }
+ else
+ {
+ if (m_m != 0)
+ {
+ m_pinchend.iY = tp.iY ;
+ m_pinchend.iX = (m_pinchend.iY - m_b)/m_m ;
+ if (m_pinchend.iX <0 ) m_pinchend.iX = 0 ;
+ }
+ else
+ {
+ m_pinchend.iX = tp.iX ;
+ m_pinchend.iY = m_m*m_pinchend.iX + m_b ;
+ if (m_pinchend.iY < 0) m_pinchend.iY = 0 ;
+ }
+ }
+ float newd = calculateDistance() ;
+ // check if the difference is too big and adjust accordingly
+ // the method also updates the m_ddistance
+ difference = adjustPinchMove(m_ddistance, newd) ;
+ // Now we have a pinch gesture with size as details
+ stmGesture::TTwoPointGesture pgest(KUid, m_pinchstart, m_pinchend);
+ pgest.setLogging(m_loggingenabled);
+ pgest.setDetails(difference) ;
+ // inform the listener
+ m_listener->gestureEnter(pgest);
+ }
+ if (m_loggingenabled)
+ {
+ int newLength = stmUiEventEngine::Distance(m_pinchstart, m_pinchend);
+ float speedX = puie->speedX() ;
+ float speedY = puie->speedY() ;
+
+ LOGARG("CPinchGestureRecogniser: %d: o: %d, n: %d, d: %d (%d,%d) " \
+ "speed %f (%d,%d : %d,%d) (from: (%d,%d : %d,%d) (m: %f b: %f)",
+ pointIgnored,
+ currentLength, newLength, difference,
+ tp.iX, tp.iY, double(speedX),
+ m_pinchstart.iX, m_pinchstart.iY, m_pinchend.iX, m_pinchend.iY,
+ oStart.iX, oStart.iY, oEnd.iX, oEnd.iY,
+ double(m_m), double(m_b)) ;
+
+ }
+
+ }
+ }
+ else if (eventCode == stmUiEventEngine::EMove) // The last one is move and we were not pinching
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: %d: num %d code %d", m_pinching, countOfEvents, eventCode);
+ }
+ stmUiEventEngine::MUiEvent* puieFirst = puie->previousEvent();
+
+ // check if we have seen hold
+ if (m_holdseen)
+ {
+ const TPoint& tp1 = puie->CurrentXY() ;
+ float speedX = puie->speedX() ;
+ float speedY = puie->speedY() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: tp1: %d %d hold %d %d, speed %f",
+ tp1.iX, tp1.iY,
+ m_holdseenAtPos.iX, m_holdseenAtPos.iY, double(speedX) );
+ }
+ // is the speed extremely high so that it looks like other finger pressing in different location?
+ if ( (speedX > m_pinchingspeed) || (speedY > m_pinchingspeed) )
+ {
+ TInt64 tstamp = puie->timestamp() ;
+ TTime now(tstamp) ;
+ TTimeIntervalMicroSeconds tim = now.MicroSecondsFrom(m_holdseenAtTime) ;
+ m_pinching = true;
+ m_pinchstart = m_holdseenAtPos;
+ m_pinchend = tp1;
+ calculateZoomingLine();
+ m_ddistance = calculateDistance();
+ state = ELockToThisGesture ; // NOTE: once pinch is started, it will stay until release
+ // create the first pich gesture which does not yet resize anything
+ stmGesture::TTwoPointGesture pgest(KUid, m_pinchstart, m_pinchend);
+ pgest.setLogging(m_loggingenabled);
+ pgest.setDetails(0) ;
+ // inform the listener
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ }
+ if (!m_pinching)
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: not pinching %d", puie);
+ }
+ if (puie && puie->Code() == stmUiEventEngine::EHold) // The last one is hold and we were not pinching
+ {
+ m_holdseen = true;
+ m_holdseenAtPos = puie->CurrentXY();
+ m_holdseenAtTime = puie->timestamp() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: hold seen at(%d, %d) at %Ld",
+ m_holdseenAtPos.iX, m_holdseenAtPos.iY, m_holdseenAtTime.Int64());
+ }
+ }
+ }
+ if (puie && puie->Code() == stmUiEventEngine::ETouch) // The last one is touch
+ {
+ m_holdseen = false;
+ }
+ else if (puie && puie->Code() == stmUiEventEngine::ERelease) // The last one is release
+ {
+ m_holdseen = false;
+ }
+ }
+#else
+ // This is the multi touch case: two event streams needs to be there; this is the real pinch zoom
+ if (numOfActiveStreams == 2)
+ {
+ const stmUiEventEngine::MUiEvent* puie1 = pge->getUiEvents(0);
+ const stmUiEventEngine::MUiEvent* puie2 = pge->getUiEvents(1);
+ stmUiEventEngine::TUiEventCode eventCode1 = puie1->Code() ;
+ stmUiEventEngine::TUiEventCode eventCode2 = puie2->Code() ;
+
+ if (m_loggingenabled)
+ {
+ TPoint p1 = puie1->CurrentXY() ;
+ TPoint p2 = puie2->CurrentXY() ;
+ LOGARG("CPinchGestureRecogniser: two streams: %s at [%d,%d], %s at [%d,%d]",
+ stmUiEventEngine::EventName(eventCode1), p1.iX, p1.iY,
+ stmUiEventEngine::EventName(eventCode1), p2.iX, p2.iY
+ ) ;
+
+ }
+
+
+ if (!m_pinching)
+ {
+ // This means we start pinching, the events can be any combination of ETouch, EMove, EHold
+ if ( ( eventCode1 == stmUiEventEngine::ETouch ||
+ eventCode1 == stmUiEventEngine::EMove ||
+ eventCode1 == stmUiEventEngine::EHold
+ ) &&
+ ( eventCode2 == stmUiEventEngine::ETouch ||
+ eventCode2 == stmUiEventEngine::EMove ||
+ eventCode2 == stmUiEventEngine::EHold )
+ )
+ {
+ // This is valid pinching start
+ m_pinching = true ;
+ // get the start and end position for the picnhing vector
+ m_pinchstart = puie1->CurrentXY() ;
+ m_pinchend = puie2->CurrentXY() ;
+ calculateZoomingLine();
+ m_ddistance = calculateDistance();
+ state = ELockToThisGesture ; // NOTE: once pich is started, it will stay until release
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: pinch start: [%d,%d][%d,%d]",
+ m_pinchstart.iX, m_pinchstart.iY, m_pinchend.iX, m_pinchend.iY) ;
+
+ }
+ // create the first pich gesture which does not yet resize anything
+ stmGesture::TTwoPointGesture pgest(KUid, m_pinchstart, m_pinchend);
+ pgest.setLogging(m_loggingenabled);
+ pgest.setDetails(0) ;
+ // inform the listener
+ m_listener->gestureEnter(pgest);
+ }
+ else
+ {
+ // Not a valid pinching start, do nothing (maybe it were easier to just check if one of the events is ERelease)
+ }
+ }
+ else
+ {
+ // We have entered pinching state, lets move one of the points unless it is a release
+ if (eventCode1 == stmUiEventEngine::ERelease || eventCode2 == stmUiEventEngine::ERelease)
+ {
+ release(pge);
+ }
+ else
+ {
+ state = ELockToThisGesture ;
+
+ // get the start and end position for the picnhing vector
+ m_pinchstart = puie1->CurrentXY() ;
+ m_pinchend = puie2->CurrentXY() ;
+ float newd = calculateDistance() ;
+ // check if the difference is too big and adjust accordingly
+ // the method also updates the m_ddistance
+ int difference = adjustPinchMove(m_ddistance, newd) ;
+ // Now we have a pinch gesture with size
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: pinch: [%d,%d][%d,%d], diff %d",
+ m_pinchstart.iX, m_pinchstart.iY, m_pinchend.iX, m_pinchend.iY, difference) ;
+
+ }
+
+ stmGesture::TTwoPointGesture pgest(KUid, m_pinchstart, m_pinchend);
+ pgest.setLogging(m_loggingenabled);
+ pgest.setDetails(difference) ;
+ // inform the listener
+ m_listener->gestureEnter(pgest);
+ }
+ }
+
+ }
+#endif
+
+ if (state == ENotMyGesture)
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: NotMyGesture %d %d %d ",
+ m_pinching, m_holdseen, numOfActiveStreams) ;
+ }
+ // if it was not our gesture, then the state can not be pinching...
+ m_pinching = false ;
+ }
+ return state;
+}
+
+void CPinchGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ m_pinching = false ;
+ m_listener->gestureExit(KUid) ;
+}
+
+/*!
+ * Now that we know the two points where the zooming started, we move those points only along
+ * the same line y = mx + b, so lets calculate m and b.
+ */
+void CPinchGestureRecogniser::calculateZoomingLine()
+{
+ int sX = m_pinchstart.iX ;
+ int sY = m_pinchstart.iY ;
+ int eX = m_pinchend.iX ;
+ int eY = m_pinchend.iY ;
+
+ if (eX == sX)
+ {
+ m_m = 0.f ;
+ }
+ else
+ {
+ m_m = float(eY-sY)/(eX-sX) ;
+ }
+ m_b = sY-(m_m*sX) ;
+}
+
+/*!
+ * calculate the distance, return as float
+ */
+float CPinchGestureRecogniser::calculateDistance()
+{
+ double x = ((m_pinchstart.iX-m_pinchend.iX)*(m_pinchstart.iX-m_pinchend.iX))+
+ ((m_pinchstart.iY-m_pinchend.iY)*(m_pinchstart.iY-m_pinchend.iY)) ;
+ double ddist ;
+ Math::Sqrt(ddist, x) ;
+ return float(ddist) ;
+}
+
+/*!
+ * Set the pinching speed as pixels / ms (meaning that in case of singletouch device
+ * the other finger looks like the EMove UI event suddenly jumps to new location;
+ * in resistive the new location is somewhere in the middle of the touches, in capacitive
+ * the driver seems to report three or four points:
+ * original (x,y), new (a,b) and also (a,y), sometimes (x,b)
+ */
+void CPinchGestureRecogniser::setPinchingSpeed(float aSpeed) __SOFTFP
+{
+ m_pinchingspeed = aSpeed ;
+}
+
+/*!
+ * Adjust the pinch move so that it will not be too jumpy
+ */
+int CPinchGestureRecogniser::adjustPinchMove(float& aPreviousDistance, float aNewDistance)
+{
+ float diff = aNewDistance - aPreviousDistance ;
+ float logdiff = diff ;
+ if (diff < 0) diff = -diff ; // Note that the next calculations need the positive diff value, but keep the original in logdiff
+ float changePercentage = (diff/aPreviousDistance)*100.f ;
+ if (changePercentage > 10.f)
+ {
+ // change more than 10%, make at most 10%
+ float newdiff = aPreviousDistance*0.1f ;
+ if (aPreviousDistance > aNewDistance) newdiff = -newdiff ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: adjustPinchMove from %f to %f : was, now %f %f",
+ double(logdiff), double(newdiff), double(aPreviousDistance), double(aNewDistance));
+ }
+
+ aPreviousDistance = aPreviousDistance + newdiff ;
+ diff = newdiff ;
+ }
+ else
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CPinchGestureRecogniser: adjustPinchMove from %f to %f : was, now %f %f",
+ double(logdiff), double(diff), double(aPreviousDistance), double(aNewDistance));
+ }
+ aPreviousDistance = aNewDistance ; // accept the new value and update the new length
+ diff = logdiff ; // put the original back (this is why the logdiff can not be Abs(diff)!
+ }
+ return (int)diff ;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/releasegesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "releasegesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+_LIT8(KReleaseName, "Release");
+
+CReleaseGestureRecogniser::CReleaseGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CReleaseGestureRecogniser* CReleaseGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CReleaseGestureRecogniser* self = new (ELeave) CReleaseGestureRecogniser(aListener) ;
+ return self;
+}
+
+CReleaseGestureRecogniser::~CReleaseGestureRecogniser()
+{
+}
+
+/*!
+ * Release gesture recogniser. Note that this one never owns the gesture, it just calls
+ * the callback if it detects ERelease inside the area being watched.
+ * There could be also check for the target window?
+ */
+TGestureRecognitionState CReleaseGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like edge scroll with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be EHold
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CReleaseGestureRecogniser: %d num %d code %d", eventCode, countOfEvents, eventCode);
+ }
+ if (eventCode == stmUiEventEngine::ERelease)
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CReleaseGestureRecogniser: 0x%x ERelease: num %d code %d, %d",
+ this, countOfEvents, puie->CurrentXY().iX, puie->CurrentXY().iY);
+ LOGARG("CReleaseGestureRecogniser: area, %d,%d %d,%d",
+ m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+ bool produceGesture ;
+ if(!m_area.IsEmpty())
+ {
+ produceGesture = m_area.Contains(puie->CurrentXY()) ;
+ if(produceGesture && m_loggingenabled)
+ {
+ LOGARG("CReleaseGestureRecogniser: HIT area (%d,%d) in %d,%d %d,%d",
+ puie->CurrentXY().iX, puie->CurrentXY().iY,
+ m_area.iTl.iX, m_area.iTl.iY,
+ m_area.iBr.iX, m_area.iBr.iY);
+ }
+ }
+ else
+ {
+ produceGesture = (m_powner == puie->Target()) ; // no area defined, touch detected in the window
+ }
+ if (produceGesture)
+ {
+ state = EGestureActive ;
+ // issue the release gesture using the GenericSimpleGesture
+ stmGesture::TGenericSimpleGesture pgest(KUid, puie->CurrentXY());
+ // Give the gesture a name
+ pgest.setName(KReleaseName) ;
+ // Call the listener to inform that a release has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ return state;
+}
+
+void CReleaseGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CReleaseGestureRecogniser: 0x%x release", this);
+ }
+}
+
+void CReleaseGestureRecogniser::setArea(const TRect& theArea)
+{
+ m_area = theArea ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CReleaseGestureRecogniser: area, %d,%d %d,%d",
+ m_area.iTl.iX, m_area.iTl.iY,
+ m_area.iBr.iX, m_area.iBr.iY);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/stateengine.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,1159 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "stateengine.h"
+#include "utils.h"
+#include "uievent.h"
+#include "uieventsender.h"
+#include "filelogger.h"
+//#include "flogger.h"
+
+using namespace stmUiEventEngine ;
+
+/*!
+ State definitions glue together the methods of the stateengine.cpp
+ so that it will behave as defined in the state machine specification.
+ First define the separate elements for each possible event and then tie them together
+ to create one state entry. The state entries then are put to array
+ where the index is at the same time also the state ID.
+
+ STATE_ELEMENT arrays define the methods called when handling a message.
+ \sa STATE_ELEMENT.
+ Note that the last row of STATE_ELEMENT array must NOT have a ConditionFunction entry
+ and it must have a NextState entry != Eignore. Otherwise the state machine will
+ not behave correctly.
+
+ */
+/*! Add macro without token pasting to make creation of the state machine tables easier
+ and removing the necessity to write the classname twice.
+ Maybe there would be some better way to do this using templates and typedefs?
+ */
+#define CND(x) isF<CStateEngine,&CStateEngine::x>
+#define ACT(x) aF<CStateEngine,&CStateEngine::x>
+
+/*********************************************************************************
+ * empty statedef as a dummy entry
+ * */
+const STATE_ELEMENT __ErrorEvent[1] = {
+ 0,
+ ACT(ErrorEvent),
+ EInit
+};
+
+const STATE Ignore__[1] = {
+ EDown, __ErrorEvent
+} ;
+
+/*!
+ :INIT state and its event specific elements
+ See the spec in http://wikis.in.nokia.com/Runtimes/NewGestureLibrary
+ Down is only valid event in :INIT state
+ The event is consumed immediately, so that the state machine will process only these
+ methods when processing the message.
+ If touch timer has been set, the next state is InTouchTime.
+ If no touch timer, but if hold timer has been defined, the next state is InHoldTime_U
+ If no touch or hold timer have been defined, but touch area has been defined, next state is InTouchArea.
+ 11-May-2009: addition: add another touch area: one for touch time and one for touch area after touch time
+ has elapsed. This allows "sloppy" touch to be handled properly without extra move if touchtimearea is larger,
+ but after touch has been detected a smaller movement is allowed.
+ */
+const STATE_ELEMENT Init__Down[12] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(SetGestureStart), Eignore,
+ 0, ACT(SetCurrentPos), Eignore,
+ CND(IsTouchTimer), ACT(InitTouchTimer), Eignore,
+ CND(IsHoldTimer), ACT(InitHoldTimer), Eignore,
+ CND(IsTouchTimeArea), ACT(PrepareTouchTimeArea),Eignore,
+ CND(IsHoldArea), ACT(PrepareHoldArea) ,Eignore,
+ CND(IsTouchTimer), 0, EInTouchTime,
+ 0, ACT(ProduceTouch), Eignore,
+ CND(IsHoldTimer), 0, EInHoldTime_U,
+ CND(IsTouchArea), ACT(PrepareTouchArea),EInTouchArea,
+ 0, 0, EDispatch // If nothing else happens, goto to Dispatch state
+};
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the Init state
+ */
+const STATE_ELEMENT Init__ErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInit
+};
+
+/*!
+ * :INIT
+ * note that only valid event is DOWN, all the rest can be handled as errors
+ */
+const STATE Init__[7] = {
+ EDown, Init__Down,
+ EDrag, Init__ErrorEvent,
+ ECapacitiveUP, Init__ErrorEvent,
+ EResistiveUP, Init__ErrorEvent,
+ ETouchTimer, Init__ErrorEvent,
+ EHoldTimer, Init__ErrorEvent,
+ ESuppressTimer, Init__ErrorEvent
+};
+
+/*!
+ * :Dispatch state end its elements
+ * Here the valid events are DRAG and the UP events.
+ */
+const STATE_ELEMENT Dispatch__Drag[7] = {
+ 0, ACT(StoreMovePos), Eignore,
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(SetCurrentPos), Eignore,
+ 0, ACT(AddDraggingPos), Eignore,
+ 0, ACT(ProduceMove), Eignore,
+ CND(LooksLikeHold), ACT(InitHoldTimer),EInHoldTime_U,
+ 0, 0, EDispatch
+} ;
+
+const STATE_ELEMENT Dispatch__CapacitiveUp[3] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(SetCurrentPos), Eignore,
+ 0, ACT(ProduceRelease), EInit
+} ;
+
+const STATE_ELEMENT Dispatch__ResistiveUp[4] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(SetCurrentPos), Eignore,
+ CND(IsSuppressTimer),ACT(InitMoveSuppressTimer), ESuppress_D,
+ 0, ACT(ProduceRelease), EInit
+} ;
+
+/*!
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the Dispatch state
+ * (TODO: note that in the future we may further
+ * define the error cases so that they may change state; )
+ */
+const STATE_ELEMENT DispatchErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EDispatch
+};
+
+const STATE Dispatch__[7] = {
+ EDown, DispatchErrorEvent,
+ EDrag, Dispatch__Drag,
+ ECapacitiveUP, Dispatch__CapacitiveUp,
+ EResistiveUP, Dispatch__ResistiveUp,
+ ETouchTimer, DispatchErrorEvent,
+ EHoldTimer, DispatchErrorEvent,
+ ESuppressTimer, DispatchErrorEvent
+};
+
+/*!
+ * :InTouchTime state end its elements
+ * Here the valid events are DRAG and the UP events and the TouchTimer
+ */
+const STATE_ELEMENT InTouchTime__Drag[6] = {
+ 0, ACT(StoreMovePos), Eignore,
+ CND(InsideTouchTimeArea), ACT(ConsumeEvent), Eignore,
+ CND(InsideTouchTimeArea), ACT(AddToTouch), EInTouchTime, // Calculate touch XY as average of the touches
+ 0, ACT(ClearTouchTimer), Eignore, // These lines are done only if InsideTouchArea returns false
+ 0, ACT(ClearHoldTimer), Eignore,
+ 0, ACT(ProduceTouch), EDispatch
+
+} ;
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do EDispatch
+ */
+const STATE_ELEMENT InTouchTime__CapacitiveUp[4] = {
+ 0, ACT(SetCurrentPos), Eignore,
+ 0, ACT(ClearTouchTimer), Eignore,
+ 0, ACT(ClearHoldTimer), Eignore,
+ 0, ACT(ProduceTouch), EDispatch
+} ;
+/**
+ * Note that ConsumeEvent is not called if IsHoldTimer returns false, so the Dispatch will be done
+ * by the state machine.
+ */
+const STATE_ELEMENT InTouchTime__ResistiveUp[5] = {
+ 0, ACT(SetCurrentPos), Eignore,
+ 0, ACT(ClearTouchTimer), Eignore,
+ 0, ACT(ProduceTouch), Eignore,
+ CND(IsHoldTimer), 0, /*ACT(ConsumeEvent),*/EInHoldTime_U, // Note that otherwise immediate UP is handled improperly
+ 0, 0, EDispatch
+} ;
+
+const STATE_ELEMENT InTouchTime__TouchTimer[6] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(ClearTouchTimer), Eignore,
+ 0, ACT(ProduceTouch), Eignore,
+ CND(IsTouchArea), ACT(PrepareTouchArea),Eignore, // prepare the other touch area
+ CND(IsHoldTimer), 0, EInHoldTime_U,
+ 0, 0, EInTouchArea
+} ;
+
+
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the InTouchTime state
+ */
+const STATE_ELEMENT InTouchTimeErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInTouchTime
+};
+
+const STATE InTouchTime__[7] = {
+ EDown, InTouchTimeErrorEvent,
+ EDrag, InTouchTime__Drag,
+ ECapacitiveUP, InTouchTime__CapacitiveUp,
+ EResistiveUP, InTouchTime__ResistiveUp,
+ ETouchTimer, InTouchTime__TouchTimer,
+ EHoldTimer, InTouchTimeErrorEvent,
+ ESuppressTimer, InTouchTimeErrorEvent
+};
+
+/*!
+ * :InHoldTime_U state end its elements
+ * Here only touch timer event is invalid
+ */
+
+const STATE_ELEMENT InHoldTime_U__Down[1] = {
+ 0, 0, EInHoldTime_D // Note that ConsumeEvent is not called
+} ;
+
+const STATE_ELEMENT InHoldTime_U__Drag[3] = {
+ 0, ACT(StoreMovePos), Eignore,
+ CND(InsideHoldArea), ACT(ConsumeEvent), EInHoldTime_U,
+ 0, ACT(ClearHoldTimer), EDispatch // Note that in this case ConsumeEvent is not called
+} ;
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do EDispatch
+ */
+const STATE_ELEMENT InHoldTime_U__CapacitiveUp[1] = {
+ 0, ACT(ClearHoldTimer), EDispatch // Note that ConsumeEvent not called
+} ;
+/**
+ *
+ */
+const STATE_ELEMENT InHoldTime_U__ResistiveUp[5] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(SetCurrentPos), Eignore,
+ CND(IsSuppressTimer),ACT(InitTouchSuppressTimer), EInHoldTime_D, // If suppression, start timer and wait for down or timer
+ 0, ACT(ClearHoldTimer), Eignore, // remember to do this
+ 0, ACT(ProduceRelease), EInit // No suppression, then this is immediate release
+} ;
+
+const STATE_ELEMENT InHoldTime_U__HoldTimer[3] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(ProduceHold), Eignore,
+ 0, ACT(RestartHoldTimer), EInHoldTime_U,
+} ;
+
+const STATE_ELEMENT InHoldTime_U__SuppressTimer[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInHoldTime_U
+} ;
+
+
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the InHoldTime_U state
+ */
+const STATE_ELEMENT InHoldTime_UErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInHoldTime_U
+};
+
+const STATE InHoldTime_U__[7] = {
+ EDown, InHoldTime_U__Down,
+ EDrag, InHoldTime_U__Drag,
+ ECapacitiveUP, InHoldTime_U__CapacitiveUp,
+ EResistiveUP, InHoldTime_U__ResistiveUp,
+ ETouchTimer, InHoldTime_UErrorEvent,
+ EHoldTimer, InHoldTime_U__HoldTimer,
+ ESuppressTimer, InHoldTime_U__SuppressTimer
+};
+
+
+/*!
+ * :InHoldTime_D state end its elements
+ * Here drag, touch timer and suppress timer events are invalid
+ */
+
+const STATE_ELEMENT InHoldTime_D__Down[5] = {
+ 0, ACT(ClearSuppressTimer), Eignore,
+ 0, ACT(ConsumeEvent), Eignore,
+ CND(InsideHoldArea), 0, EInHoldTime_U,
+ 0, ACT(ClearHoldTimer), Eignore,
+ 0, ACT(ProduceMove), EDispatch
+} ;
+
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do InHoldTime_U
+ */
+const STATE_ELEMENT InHoldTime_D__CapacitiveUp[1] = {
+ 0, 0, EInHoldTime_U
+} ;
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do InHoldTime_U
+ */
+const STATE_ELEMENT InHoldTime_D__ResistiveUp[1] = {
+ 0, 0, EInHoldTime_U // InHoldTime_U initialises timers etc. if needed
+} ;
+/*!
+ * In case of hold timer has been elapsed stop the timers, generate Release UI event.
+ */
+const STATE_ELEMENT InHoldTime_D__HoldTimer[4] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(ClearSuppressTimer), Eignore,
+ 0, ACT(ClearHoldTimer), Eignore,
+ 0, ACT(ProduceRelease), EInit,
+} ;
+/*!
+ * If suppress timer hits, stop the timers and generate Release UI event.
+ */
+const STATE_ELEMENT InHoldTime_D__SuppressTimer[4] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(ClearSuppressTimer), Eignore,
+ 0, ACT(ClearHoldTimer), Eignore,
+ 0, ACT(ProduceRelease), EInit,
+} ;
+
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the InHoldTime_D state
+ */
+const STATE_ELEMENT InHoldTime_DErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInHoldTime_D
+};
+
+const STATE InHoldTime_D__[7] = {
+ EDown, InHoldTime_D__Down,
+ EDrag, InHoldTime_DErrorEvent,
+ ECapacitiveUP, InHoldTime_D__CapacitiveUp,
+ EResistiveUP, InHoldTime_D__ResistiveUp,
+ ETouchTimer, InHoldTime_DErrorEvent,
+ EHoldTimer, InHoldTime_D__HoldTimer,
+ ESuppressTimer, InHoldTime_D__SuppressTimer
+};
+
+
+/*!
+ * :InTouchArea state end its elements
+ * Here Drag and Up events are valid.
+ * If drag is inside touch are it is ignored, otherwise
+ * the Dispatch state will handle the event.
+ */
+
+const STATE_ELEMENT InTouchArea__Drag[3] = {
+ 0, ACT(StoreMovePos), Eignore,
+ CND(InsideTouchArea), ACT(ConsumeEvent), EInTouchArea,
+ 0, 0, EDispatch // Note that in this case ConsumeEvent has not been called so Dispatch state processes the message
+} ;
+
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do Dispatch
+ */
+const STATE_ELEMENT InTouchArea__CapacitiveUp[1] = {
+ 0, 0, EDispatch
+} ;
+/**
+ * Note that ConsumeEvent is missing so after doing this the state engine will do Dispatch
+ */
+const STATE_ELEMENT InTouchArea__ResistiveUp[1] = {
+ 0, 0, EDispatch
+} ;
+
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the InTouchArea state
+ */
+const STATE_ELEMENT InTouchAreaErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), EInTouchArea
+};
+
+const STATE InTouchArea__[7] = {
+ EDown, InTouchAreaErrorEvent,
+ EDrag, InTouchArea__Drag,
+ ECapacitiveUP, InTouchArea__CapacitiveUp,
+ EResistiveUP, InTouchArea__ResistiveUp,
+ ETouchTimer, InTouchAreaErrorEvent,
+ EHoldTimer, InTouchAreaErrorEvent,
+ ESuppressTimer, InTouchAreaErrorEvent
+};
+
+
+/*!
+ * :Suppress_D state end its elements
+ * Here Down and suppress timers are OK.
+ */
+
+/*!
+ * Down will be handled as a Drag event in the Dispatch state.
+ */
+const STATE_ELEMENT Suppress_D__Down[4] = {
+ 0, ACT(ClearSuppressTimer), Eignore,
+ 0, ACT(RenameToDrag), EDispatch
+} ;
+/*!
+ * Suppress timer will generate Release UI event.
+ */
+const STATE_ELEMENT Suppress_D__SuppressTimer[3] = {
+ 0, ACT(ConsumeEvent), Eignore,
+ 0, ACT(ClearSuppressTimer), Eignore,
+ 0, ACT(ProduceRelease), EInit,
+} ;
+
+/**
+ * All the rest of the events are errors so produce error entry to log and
+ * stay in the Suppress_D state
+ */
+const STATE_ELEMENT Suppress_DErrorEvent[2] = {
+ 0, ACT(ConsumeEvent), Eignore, // remember to consume event, otherwise state machine will loop...
+ 0, ACT(ErrorEvent), ESuppress_D
+};
+
+const STATE Suppress_D__[7] = {
+ EDown, Suppress_D__Down,
+ EDrag, Suppress_DErrorEvent,
+ ECapacitiveUP, Suppress_DErrorEvent,
+ EResistiveUP, Suppress_DErrorEvent,
+ ETouchTimer, Suppress_DErrorEvent,
+ EHoldTimer, Suppress_DErrorEvent,
+ ESuppressTimer, Suppress_D__SuppressTimer
+};
+/*!
+ * The allStates array contains all the possible states of the state machine.
+ */
+const STATE* const allStates[8] =
+{
+ Ignore__,
+ Init__,
+ Dispatch__,
+ InTouchTime__,
+ InHoldTime_U__,
+ InHoldTime_D__,
+ InTouchArea__,
+ Suppress_D__
+};
+/*!
+ * stateNames are used in the logging
+ */
+const char* const stateNames[8] =
+{
+ "Ignore",
+ "Init",
+ "Dispatch",
+ "InTouchTime",
+ "InHoldTime_U",
+ "InHoldTime_D",
+ "InTouchArea",
+ "Suppress"
+};
+
+// event names are also used in logging
+const char* const hweventNames[] = {
+ "EDown",
+ "EDrag",
+ "ECapacitiveUP",
+ "EResistiveUP",
+ "ETouchTimer",
+ "EHoldTimer",
+ "ESuppressTimer"
+} ;
+
+/*! CStateEngine contains the methods used in the state machine implementation.
+ *
+ * The methods in CStateEngine used in the state machine definition are
+ * either condition methods or action methods.
+ *
+ * Constructor
+ * \param[in]: MTimerInterface atimerif. An attempt to make this more OS agnostic the actual
+ * timers are accessed using a separate interface.
+ */
+CStateEngine::CStateEngine(CStateEngineConfiguration* aConfig, MTimerInterface* atimerif, int aIndex)
+{
+ m_config = aConfig ;
+ m_timerif = atimerif ;
+ m_currentState = EInit ;
+ m_index = aIndex ;
+}
+
+CStateEngine::~CStateEngine()
+{
+ // Just to be sure...
+ iTouchPoints.Reset() ;
+ iDragPoints.ResetAndDestroy() ;
+}
+/*!
+ * ConsumeEvent: the method defines that the turnStateMachine will stop the processing
+ * of the state methods after it has reached the next state.
+ *
+ */
+void CStateEngine::ConsumeEvent()
+{
+ m_eventConsumed = true ;
+}
+/*!
+ * Condition method
+ * \return true, if the touch timer limit > 0
+ */
+bool CStateEngine::IsTouchTimer()
+{
+ bool isit = (m_config->m_touchTimerLimit > 0) ;
+
+ return isit ;
+}
+/*!
+ * Condition method
+ * \return true, if the hold timer limit > 0
+ */
+bool CStateEngine::IsHoldTimer()
+{
+ bool isit = (m_config->m_holdTimerLimit > 0) ;
+
+ return isit ;
+}
+/*!
+ * Condition method
+ * \return true, if the suppress timer limit > 0
+ */
+bool CStateEngine::IsSuppressTimer()
+{
+ bool isit = (m_config->m_suppressTimerLimit > 0) ;
+
+ return isit ;
+}
+/*!
+ * Condition method
+ * \return true, if the touch area has been defined (the touch tolerancelength > 0)
+ */
+bool CStateEngine::IsTouchTimeArea()
+{
+ bool isit = (m_config->m_touchTimeTolerance.iX > 0) ;
+ return isit ;
+}
+/*!
+ * Condition method
+ * \return true, if the touch area has been defined (the touch tolerancelength > 0)
+ */
+bool CStateEngine::IsTouchArea()
+{
+ bool isit = (m_config->m_touchTolerance.iX > 0) ;
+ return isit ;
+}
+/*!
+ * Condition method
+ * \return true, if the hold area has been defined (the hold tolerancelength > 0)
+ */
+bool CStateEngine::IsHoldArea()
+{
+ bool isit = (m_config->m_holdTolerance.iX > 0) ;
+ return isit ;
+}
+
+bool CStateEngine::InsideArea(const TPoint& point,
+ const TRect& rect,
+ TAreaShape shape,
+ const TPoint& tolerance)
+{
+ bool isit;
+ switch(shape)
+ {
+ default: // pass trough
+ case ERectangle:
+ {
+ isit = rect.Contains(m_hwe.iPosition) ;
+ break ;
+ }
+ case ECircle:
+ {
+ TPoint delta = m_hwe.iPosition - point;
+ long circlepoint = delta.iX * delta.iX + delta.iY * delta.iY;
+ isit = (circlepoint < tolerance.iX * tolerance.iX);
+ break ;
+ }
+ case EEllipse:
+ {
+ int asquare = tolerance.iX * tolerance.iX ;
+ int bsquare = tolerance.iY * tolerance.iY ;
+ TPoint delta = m_hwe.iPosition - point;
+ int result = (delta.iX * delta.iX) * bsquare + (delta.iY * delta.iY) * asquare;
+
+ isit = (result < asquare * bsquare);
+ break ;
+ }
+ }
+ return isit ;
+}
+
+/*!
+ * Condition method
+ * Check if the current event is positioned inside the touch area.
+ * Touch area can be a rectangle, a circle or an ellipse, so different
+ * calculation needs to be done based on the shape of the area.
+ */
+bool CStateEngine::InsideTouchTimeArea()
+{
+ return InsideArea(m_touchCentre, m_touchRect,
+ m_config->m_touchAreaShape, m_config->m_touchTimeTolerance);
+}
+/*!
+ * Condition method
+ * Check if the current event is positioned inside the touch area.
+ * Touch area can be a rectangle, a circle or an ellipse, so different
+ * calculation needs to be done based on the shape of the area.
+ */
+bool CStateEngine::InsideTouchArea()
+{
+ return InsideArea(m_touchCentre, m_touchRect,
+ m_config->m_touchAreaShape, m_config->m_touchTolerance);
+}
+/*!
+ * Condition method
+ * Check if the current event is positioned inside the hold area.
+ * Hold area can be a rectangle, a circle or an ellipse, so different
+ * calculation needs to be done based on the shape of the area.
+ */
+bool CStateEngine::InsideHoldArea()
+{
+ return InsideArea(m_holdCentre, m_holdRect,
+ m_config->m_holdAreaShape, m_config->m_holdTolerance);
+}
+/*!
+ * Condition method
+ * Check if the gesture looks like a hold, i.e. the movement has stopped.
+ * \sa isNewHoldingPoint
+ */
+bool CStateEngine::LooksLikeHold()
+{
+ bool isit = isNewHoldingPoint() ;
+ return isit ;
+}
+/*!
+ * Action method
+ * Error logging.
+ */
+void CStateEngine::ErrorEvent()
+{
+ // Log the error
+ if (m_config->m_enableLogging)
+ {
+ LOGARG("ErrorEvent: %s %s", stateNames[m_currentState], hweventNames[m_hwe.iType]) ;
+ }
+}
+/*!
+ * Action method
+ * Initialize touch timer. At the same time calculate also the touch rectangle.
+ */
+void CStateEngine::InitTouchTimer()
+{
+ m_touchRect = ToleranceRect(m_hwe.iPosition, m_config->m_touchTolerance) ;
+ m_touchCentre = m_hwe.iPosition ;
+ m_timerif->startTouchTimer(m_config->m_touchTimerLimit, m_index) ;
+}
+/*!
+ * Action method.
+ * Initialize hold timer. At the same time calculate also the hold rectangle.
+ */
+void CStateEngine::InitHoldTimer()
+{
+ m_holdRect = ToleranceRect(m_hwe.iPosition, m_config->m_holdTolerance) ;
+ m_holdCentre = m_hwe.iPosition ;
+ m_timerif->startHoldTimer(m_config->m_holdTimerLimit, m_index) ;
+}
+/*!
+ * Action method
+ * Restart the hold timer using the hold timer limit.
+ */
+void CStateEngine::RestartHoldTimer()
+{
+ m_timerif->startHoldTimer(m_config->m_holdTimerLimit, m_index) ;
+}
+/*!
+ * Action method
+ * Initialize suppression timer. This timer is used during touch detection when
+ * resistive UP has been detected. If new DOWN comes while timer is running, it is ignored.
+ */
+void CStateEngine::InitTouchSuppressTimer()
+{
+ m_timerif->startSuppressTimer(m_config->m_suppressTimerLimit, m_index) ;
+}
+/*!
+ * Action method.
+ * Initialize suppression timer after move. Tests show that when user is using light touch and
+ * moving finger to opposite directions there may be accidental ups and downs where the time between
+ * up and down may be well over 120 ms.
+ */
+void CStateEngine::InitMoveSuppressTimer()
+{
+ m_timerif->startSuppressTimer(m_config->m_moveSuppressTimerLimit, m_index) ;
+}
+/*!
+ * Action method
+ * Stop the touch timer.
+ */
+void CStateEngine::ClearTouchTimer()
+{
+ m_timerif->cancelTouchTimer(m_index) ;
+}
+/*!
+ * Action method
+ * Stop the hold timer.
+ */
+void CStateEngine::ClearHoldTimer()
+{
+ m_timerif->cancelHoldTimer(m_index) ;
+}
+/*!
+ * Action method
+ * Stop the suppress timer.
+ */
+void CStateEngine::ClearSuppressTimer()
+{
+ m_timerif->cancelSuppressTimer(m_index) ;
+}
+/*!Helper method.
+ * Create UI event
+ * \param code The new UI event type (Touch, Release, Move, Hold)
+ */
+CUiEvent* CStateEngine::createUIEventL(TUiEventCode code, const TPoint& aPos)
+{
+
+ m_previousUiGenerated = code ;
+ return CUiEvent::NewL(code, m_gestureStartXY, aPos, getPreviousXY(aPos),
+ isTimerMessage(), m_hwe.iTarget, getInterval(), m_index, m_hwe.iTime.Int64()) ;
+}
+/*!
+ * Return the previous XY position and store the current for next round
+ */
+TPoint CStateEngine::getPreviousXY(const TPoint& aCurrentXY)
+{
+ TPoint p = m_previousXY ;
+ m_previousXY = aCurrentXY ;
+ return p ;
+}
+/*!
+ * \return true, if the current event was timer triggered
+ */
+bool CStateEngine::isTimerMessage()
+{
+ return (m_hwe.iType >= ETouchTimer); // NOTE: if new events are added at the end of the list this needs to be changed
+}
+/*!
+ * Action method.
+ * Generate the Touch UI event.
+ * If there are a set of touch points collected, calculate the position to the
+ * Touch UI event to be the average of the collected points.
+ */
+void CStateEngine::ProduceTouch()
+{
+ m_wasFiltered = false ;
+ CUiEvent* cue = NULL;
+ getInterval() ; // dummy call to initialize the variable....
+ TInt err(KErrNone);
+ if (iTouchPoints.Count()>0)
+ {
+ // calculate average of the touch points
+ m_currentTouchXY = calculateTouchAverageFromPoints() ;
+ TRAP(err, cue = createUIEventL(stmUiEventEngine::ETouch, m_currentTouchXY)) ;
+ }
+ else
+ {
+ TRAP(err, cue = createUIEventL(stmUiEventEngine::ETouch, m_uiEventXY)) ;
+ }
+ if(!err)
+ m_config->m_uiEventSender->AddEvent(cue) ;
+}
+/*!
+ * Action method
+ * Generate the Move UI event. The position of the event has been set in the SetCurrentPos
+ * The previous position needs some special handling, if filtering has been used.
+ * \sa SetCurrentPos
+ */
+void CStateEngine::ProduceMove()
+{
+ m_wasFiltered = false ;
+ if (m_uiEventXY == m_previousXY) {
+ return;
+ }
+ CUiEvent* cue = NULL;
+ TRAPD(err, cue = createUIEventL(stmUiEventEngine::EMove, m_uiEventXY)) ;
+
+ if(!err)
+ m_config->m_uiEventSender->AddEvent(cue) ;
+}
+/*!
+ * Action method
+ * Generate the Release UI event.
+ */
+void CStateEngine::ProduceRelease()
+{
+ m_wasFiltered = false ;
+ CUiEvent* cue = NULL;
+ TRAPD(err, cue = createUIEventL(stmUiEventEngine::ERelease, m_uiEventXY)) ;
+ if(!err)
+ m_config->m_uiEventSender->AddEvent(cue) ;
+
+ if (m_config->m_enableLogging)
+ {
+ LOGFLUSH ;
+ }
+}
+/*!
+ * Action method
+ * Generate the Hold UI event.
+ */
+void CStateEngine::ProduceHold()
+{
+ m_wasFiltered = false ;
+ CUiEvent* cue = NULL;
+ TRAPD(err, cue = createUIEventL(stmUiEventEngine::EHold, m_holdCentre)) ;
+ if(!err)
+ m_config->m_uiEventSender->AddEvent(cue) ;
+
+}
+/*!
+ * Action method
+ * Rename the current event to drag. This is used when the accidental up/down message pair
+ * has been detected, the DOWN event is handled as it were a move event.
+ */
+void CStateEngine::RenameToDrag()
+{
+ m_hwe.iType = stmUiEventEngine::EDrag ;
+}
+/*!
+ * Action method
+ * Initialize the touch time area. Clear the array for collected touch points and
+ * calculate the touch rectangle.
+ */
+void CStateEngine::PrepareTouchTimeArea()
+{
+ if (iTouchPoints.Count()>0) iTouchPoints.Reset() ;
+ m_touchRect = ToleranceRect(m_hwe.iPosition, m_config->m_touchTimeTolerance) ;
+}
+
+/*!
+ * Action method
+ * Initialize the touch area. Clear the array for collected touch points and
+ * calculate the touch rectangle.
+ */
+void CStateEngine::PrepareTouchArea()
+{
+ if (iTouchPoints.Count()>0) iTouchPoints.Reset() ;
+ m_touchRect = ToleranceRect(m_hwe.iPosition, m_config->m_touchTolerance) ;
+}
+/*!
+ * Action method
+ * Initialize the hold area rectangle.
+ */
+void CStateEngine::PrepareHoldArea()
+{
+ m_holdRect = ToleranceRect(m_hwe.iPosition, m_config->m_holdTolerance) ;
+}
+/*!
+ * Action method
+ * Store the current position and time always when we see EDrag. The stored value is used
+ * to calculate correct speed after filtered messages.
+ */
+void CStateEngine::StoreMovePos()
+{
+ if (m_config->m_enableLogging)
+ {
+ LOGARG("store move pos from (%d, %d) to (%d, %d)",
+ m_lastFilteredPosition.iX, m_lastFilteredPosition.iY,m_hwe.iPosition.iX,
+ m_hwe.iPosition.iY ) ;
+ }
+ m_lastFilteredPosition = m_hwe.iPosition ;
+ m_lastFilteredMessageTime = m_hwe.iTime ;
+
+}
+/*!
+ * Action method
+ * Store the current position and time.
+ */
+void CStateEngine::SetCurrentPos()
+{
+ m_uiEventXY = m_hwe.iPosition ;
+}
+/*!
+ * Action method
+ * Initialize the gesture starting.
+ */
+void CStateEngine::SetGestureStart()
+{
+ m_gestureStartXY = m_hwe.iPosition ;
+ m_previousXY = m_hwe.iPosition ;
+ m_gestureTarget = m_hwe.iTarget ;
+ iDragPoints.ResetAndDestroy() ;
+ iTouchPoints.Reset() ;
+}
+/*!
+ * Action method
+ * Add current point to the set of touch points.
+ */
+void CStateEngine::AddToTouch()
+{
+ iTouchPoints.Append(THwEvent(m_hwe.iType,
+ m_hwe.iPosition,
+ m_hwe.iTime,
+ m_hwe.iTarget,
+ m_index)
+ ) ;
+ // calculate the average of touch points and move the touch area accordingly
+ // this allows slight movement of the figertip while inside touch time
+ if (iTouchPoints.Count()>2)
+ {
+ TPoint newtp = calculateTouchAverageFromPoints() ;
+ m_touchRect = ToleranceRect(newtp, m_config->m_touchTolerance) ;
+ m_holdRect = ToleranceRect(newtp, m_config->m_holdTolerance) ;
+ }
+}
+/*!
+ * Action method
+ * Add the current point to the set of dragging points.
+ * The set of dragging points is examined to determine if a enw hold has been started.
+ */
+void CStateEngine::AddDraggingPos()
+{
+ iDragPoints.Append(new THwEvent(m_hwe.iType,
+ m_hwe.iPosition,
+ m_hwe.iTime,
+ m_hwe.iTarget,
+ m_index)
+ ) ;
+}
+/*!
+ * HandleStateEvent processes one event, which can be either pointer event or timer event.
+ * The event is handled by calling the turnStateMachine method.
+ */
+bool CStateEngine::handleStateEvent()
+{
+ // We get an event into m_hwe by this moment, lets kick the state machine
+ m_wasFiltered = ETrue ;
+
+ CalculateDelta() ;
+ turnStateMachine() ;
+
+ m_previousPointerEventPosition = m_hwe.iPosition ;
+ return m_wasFiltered ;
+}
+
+/*!
+ * Get the current touch rectangle. If touch state not currently on, returns TRect(TPoint(0,0),TPoint(0,0))
+ * (touch state meaning that the touch timer is still running and the points have been kept inside the area)
+ */
+TRect CStateEngine::getTouchArea()
+{
+ return m_touchRect ;
+}
+/*!
+ * get the hold area rectangle
+ */
+TRect CStateEngine::getHoldArea()
+{
+ return m_holdRect ;
+}
+/*!
+ * MStateMachine method.
+ */
+bool CStateEngine::wasLastMessageFiltered()
+{
+ return m_wasFiltered ;
+}
+
+/*!
+ * Check if the last X points in the stored points look like the movement has stopped
+ */
+bool CStateEngine::isNewHoldingPoint()
+{
+ int x = iDragPoints.Count();
+ if (x > 2) // are there any points to be checked?
+ {
+ THwEvent* phwe = iDragPoints[x-1] ;
+ THwEvent* phweinsidehold = phwe ;
+ TRect recth = ToleranceRect(phwe->iPosition, m_config->m_holdTolerance) ;
+ // Look backwards from the last point to see if there are enought points (enough in time) to look like a hold
+ x -= 2 ;
+ while (x > 0 && recth.Contains(iDragPoints[x]->iPosition))
+ {
+ phweinsidehold = iDragPoints[x];
+ --x;
+ }
+ TTimeIntervalMicroSeconds tival = phwe->iTime.MicroSecondsFrom(phweinsidehold->iTime) ;
+
+ /**
+ * remove the extra points from the list if they are outside of holding area
+ */
+ while (x > 0)
+ {
+ THwEvent* p = iDragPoints[x] ;
+ delete p ;
+ iDragPoints.Remove(x) ;
+ --x ;
+ }
+
+ // See the time difference of the two points which still are inside the hold area
+ TTimeIntervalMicroSeconds limit = m_config->m_holdTimerLimit/2 ;
+ if (tival > limit)
+ {
+ if (m_config->m_enableLogging)
+ {
+ LOGARG("isNewHoldingPoint: %s, dragpoints count %d",
+ stateNames[m_currentState], iDragPoints.Count()) ;
+ }
+ return true ;
+ }
+ }
+ else
+ {
+ // one or 0 points does not look like hold
+
+ }
+ return false ;
+}
+/*!
+ * calculate simple average of the touch points, i.e. calculate the average of the previous and current
+ * position. Note that the touch point remains the same, this just calculates new value for the UI position
+ */
+void CStateEngine::CalculateTouchAverage()
+{
+ m_uiEventXY.iX = (m_uiEventXY.iX+m_hwe.iPosition.iX)/2 ;
+ m_uiEventXY.iY = (m_uiEventXY.iY+m_hwe.iPosition.iY)/2 ;
+}
+/*!
+ * Calculate the movement vector.
+ */
+void CStateEngine::CalculateDelta()
+{
+ m_deltaVector.iX = m_hwe.iPosition.iX-m_previousPointerEventPosition.iX ;
+ m_deltaVector.iY = m_hwe.iPosition.iY-m_previousPointerEventPosition.iY ;
+}
+/*!internal
+ * Debug logging method
+ */
+void CStateEngine::DebugPrintState(TStateMachineState anextstate)
+{
+ if (m_config->m_enableLogging)
+ {
+ LOGARG("%s: cuiev(%d,%d) cTxy ((%d,%d)(%d,%d)) cHxy ((%d,%d)(%d,%d)) gsXY(%d,%d) dV(%d,%d) EVNT(%d,%d (%s)) going to %s",
+ stateNames[m_currentState],
+ m_uiEventXY.iX, m_uiEventXY.iY,
+ m_touchRect.iTl.iX, m_touchRect.iTl.iY,m_touchRect.iBr.iX, m_touchRect.iBr.iY,
+ m_holdRect.iTl.iX, m_holdRect.iTl.iY,m_holdRect.iBr.iX, m_holdRect.iBr.iY,
+ m_gestureStartXY.iX, m_gestureStartXY.iY,
+ m_deltaVector.iX, m_deltaVector.iY,
+ m_hwe.iPosition.iX, m_hwe.iPosition.iY, hweventNames[m_hwe.iType],
+ stateNames[anextstate]
+ );
+ }
+}
+
+/*!
+ * calculate the rectangle for touch or hold
+ */
+TRect CStateEngine::ToleranceRect(const TPoint& aCenterPoint, const TPoint& tolerance)
+{
+ // grow by the tolerance length, while keeping the center point
+ TRect toleranceRect(
+ aCenterPoint - tolerance,
+ aCenterPoint + tolerance);
+ return toleranceRect;
+}
+/*!
+ * turnStateMachine. Go trough the state elements found for the current event
+ * until the event has been consumed.
+ *
+ * \pre m_currentState defines the current state and the index to the allStates array.
+ * \pre m_hwe is the message being handled. The corresponding STATE_ELEMENT array must be found and processed.
+ *
+ */
+void CStateEngine::turnStateMachine()
+{
+
+ const STATE_ELEMENT* pelement ;
+ m_eventConsumed = false ; // run the loop until the event has been consumed
+ // Now run trough the motions of the state elements, and prepare to change to next state while doing so.
+ // If the state elements set the m_eventConsumed then all is done
+ while (!m_eventConsumed)
+ {
+ int i = 0 ;
+ const STATE* const pcurrentstate = allStates[m_currentState] ;
+ // Since each state definition must contain entries for all possible events the following loop cannot fail ;-)
+ while (pcurrentstate[i].theEvent != m_hwe.iType ) ++i ;
+ pelement = pcurrentstate[i].stateElements ;
+ TStateMachineState nextState = Eignore ;
+ /*
+ * Handle the individual state elements. If there is a condition function,
+ * call the function and if it returns true, handle the action function and possible next state
+ * if the condition returns false, continue to next element
+ * if there is no condition, run the action function if it exists.
+ * if the next state is defined (i.e it is != Eignore), go to that state
+ */
+ while (nextState == Eignore)
+ {
+ condition_t cndfunc = pelement->conditionFunction ;
+ action_t actfunc = pelement->actionFunction ;
+ if (cndfunc != 0)
+ {
+ /*
+ * There was a condition function, call it to see whether the action needs to performed and/or the next satte defined
+ */
+ if (cndfunc(this))
+ {
+ // Condition was true, handle it
+ // call the action if it exists
+ if (actfunc != 0) actfunc(this) ;
+ // and now get to the next state
+ nextState = pelement->nextState ; // Note that while this remains Eignore there are elements to be run
+ }
+ }
+ else
+ {
+ /**
+ * No condition function, call the possible action function and get the next state
+ */
+ if (actfunc != 0) actfunc(this) ;
+ nextState = pelement->nextState ; // Note that while this remains Eignore there are elements to be run
+ }
+ ++pelement ; // next entry in the elements
+ }
+ if (m_config->m_enableLogging) DebugPrintState(nextState) ;
+ m_currentState = nextState ; // Change to the next state
+ }
+}
+TTimeIntervalMicroSeconds CStateEngine::getInterval()
+{
+ TTime now ;
+ now.HomeTime() ;
+ TTimeIntervalMicroSeconds interval = now.MicroSecondsFrom(m_lastMessageTime) ;
+ m_lastMessageTime = now ;
+ return interval ;
+}
+
+TPoint CStateEngine::calculateTouchAverageFromPoints()
+{
+ TPoint tp ;
+ int count = iTouchPoints.Count() ;
+ for (int i = 0; i < count; i++)
+ {
+ tp += iTouchPoints[i].iPosition;
+ }
+ if(count)
+ {
+ tp.iX /= count ;
+ tp.iY /= count ;
+ }
+ return tp ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/stateengineconfiguration.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,212 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "stateengineconfiguration.h"
+#include "uieventsender.h"
+#include "utils.h"
+
+using namespace stmUiEventEngine ;
+
+CStateEngineConfiguration::CStateEngineConfiguration() :
+ m_touchAreaShape(ERectangle),
+ m_holdAreaShape(ERectangle)
+{
+}
+
+void CStateEngineConfiguration::ConstructL()
+{
+ m_uiEventSender = CUiEventSender::NewL() ;
+}
+
+CStateEngineConfiguration::~CStateEngineConfiguration()
+{
+ delete m_uiEventSender ;
+}
+
+void CStateEngineConfiguration::setTolerance(long fingersize_mm,
+ TPoint& tolerance,
+ TAreaShape shape)
+{
+ long s = Mm2Pixels(fingersize_mm) / 2;
+ switch(shape)
+ {
+ case EEllipse:
+ tolerance.iX = (s * 2) / 3;
+ tolerance.iY = s;
+ break ;
+ case ERectangle:
+ case ECircle:
+ default:
+ tolerance.iX = s;
+ tolerance.iY = s;
+ break ;
+ }
+}
+
+/*!
+ * Set the new touch limits for calculating the touch area.
+ * The size is given in millimetres. The shape of the touch area
+ * defines how the parameter is used.
+ * Rectangle: each side of the rectangle has length of fingersize_mm.
+ * Circle: the parameter defines the diameter of the cicle.
+ * Ellipse: the parameter defines the vertical diameter of the ellipse,
+ * horizontal diameter is half of it.
+ */
+void CStateEngineConfiguration::setTouchTimeArea(long fingersize_mm)
+{
+ setTolerance(fingersize_mm, m_touchTimeTolerance, m_touchAreaShape);
+
+ // make sure that both touch areas are defined, so if the touch area is not yet set,
+ // use the same as for touch time area.
+ if (m_touchTolerance.iX == 0)
+ {
+ setTouchArea(fingersize_mm) ;
+ }
+}
+/*!
+ * Set the new touch limits for calculating the touch area.
+ * The size is given in millimetres. The shape of the touch area
+ * defines how the parameter is used.
+ * Rectangle: each side of the rectangle has length of fingersize_mm.
+ * Circle: the parameter defines the diameter of the cicle.
+ * Ellipse: the parameter defines the vertical diameter of the ellipse,
+ * horizontal diameter is half of it.
+ */
+void CStateEngineConfiguration::setTouchArea(long fingersize_mm)
+{
+ setTolerance(fingersize_mm, m_touchTolerance, m_touchAreaShape);
+}
+/*!
+ * \return the touch are shape
+ */
+TAreaShape CStateEngineConfiguration::getTouchAreaShape()
+{
+ return m_touchAreaShape ;
+}
+/*!
+ * \parameter the touch are shape
+ */
+void CStateEngineConfiguration::setTouchAreaShape(TAreaShape aShape)
+{
+ this->m_touchAreaShape = aShape ;
+}
+/*!
+ * \return the touch timeout in microseconds.
+ */
+unsigned int CStateEngineConfiguration::getTouchTimeout()
+{
+ return m_touchTimerLimit ;
+}
+/*!
+ * set the touch timeout in microseconds.
+ */
+void CStateEngineConfiguration::setTouchTimeout(unsigned int a)
+{
+ m_touchTimerLimit = a ;
+}
+/*!
+ * Set the hold area. Hold are shape determines how exactly the area is handled.
+ * \sa setTouchArea
+ */
+void CStateEngineConfiguration::setHoldArea(long fingersize_mm)
+{
+ setTolerance(fingersize_mm, m_holdTolerance, m_holdAreaShape);
+}
+/*!
+ * Get the shape of the hold area: Rectangle, Circle or Ellipse,
+ */
+TAreaShape CStateEngineConfiguration::getHoldAreaShape()
+{
+ return m_holdAreaShape ;
+}
+/*!
+ * Set the shape of the hold area: Rectangle, Circle or Ellipse,
+ */
+void CStateEngineConfiguration::setHoldAreaShape(TAreaShape aShape)
+{
+ m_holdAreaShape = aShape ;
+}
+/*!
+ * \return the hold timeout in microseconds.
+ */
+unsigned int CStateEngineConfiguration::getHoldTimeout()
+{
+ return m_holdTimerLimit ;
+}
+/*!
+ * set the hold timeout value in microseconds.
+ */
+void CStateEngineConfiguration::setHoldTimeout(unsigned int a)
+{
+ m_holdTimerLimit = a ;
+}
+/*!
+ * get the touch suppress timeout value in microseconds.
+ */
+unsigned int CStateEngineConfiguration::getTouchSuppressTimeout()
+{
+ return m_suppressTimerLimit ;
+}
+/*!
+ * set the touch suppress timeout.
+ * \param the timeout value in microseconds.
+ */
+void CStateEngineConfiguration::setTouchSuppressTimeout(unsigned int a)
+{
+ m_suppressTimerLimit = a ;
+}
+/*!
+ * MStateMachine method.
+ */
+unsigned int CStateEngineConfiguration::getMoveSuppressTimeout()
+{
+ return m_moveSuppressTimerLimit ;
+}
+/*!
+ * MStateMachine method.
+ */
+void CStateEngineConfiguration::setMoveSuppressTimeout(unsigned int a)
+{
+ m_moveSuppressTimerLimit = a ;
+}
+/*!
+ * MStateMachine method.
+ * Sets logging on or off.
+ */
+void CStateEngineConfiguration::enableLogging(bool a)
+{
+ m_enableLogging = a ;
+ m_uiEventSender->setLogging(a) ;
+}
+
+/*!
+ * \param a new UI event observer
+ */
+bool CStateEngineConfiguration::addUiEventObserver(MUiEventObserver* observer)
+{
+ // The event sender handles the observers
+ return m_uiEventSender->addObserver(observer) ;
+}
+/*!
+ * MStateMachine method.
+ */
+bool CStateEngineConfiguration::removeUiEventObserver(MUiEventObserver* observer)
+{
+ // The event sender handles the observers
+ return m_uiEventSender->removeObserver(observer) ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/statemachine.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,789 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <coemain.h>
+#include <aknutils.h>
+#include <aknappui.h>
+
+#include "statemachine.h"
+#include "stateengine.h"
+#include "rt_uievent.h"
+#include "callbacktimer.h"
+#include "stateengineconfiguration.h"
+
+#include "filelogger.h"
+#include "utils.h"
+
+using namespace stmUiEventEngine ;
+
+GLREF_D const char* stateNames[8] ;
+
+const char* const ttypeNames[] = { // for debugging purposes define the names of the pointer events
+ "EButton1Down ",
+ "EButton1Up ",
+ "EButton2Down ",
+ "EButton2Up ",
+ "EButton3Down ",
+ "EButton3Up ",
+ "EDrag ",
+ "EMove ",
+ "EButtonRepeat ",
+ "ESwitchOn ",
+ "EOutOfRange ",
+ "EEnterCloseProximity ",
+ "EExitCloseProximity ",
+ "EEnterHighPressure ",
+ "EExitHighPressure "
+ };
+
+/// Fast integer distance
+int stmUiEventEngine::Distance(int x, int y)
+{
+/*
+ double d = dx * dx + dy * dy;
+ double dist ;
+ Math::Sqrt(dist, d) ;
+ return dist;
+*/
+ if(x<0) x=-x;
+ if(y<0) y=-y;
+ if(x < y)
+ {
+ int t = x;
+ x = y;
+ y = t; // ensures that x >= y
+ }
+ int dist = (y < ((13107 * x)>>15)) ? // * (.4)
+ (x + ((y * 6310)>>15)) : // * (.192582403)
+ (((x * 27926)>>15) // * (.852245894)
+ + ((y * 18414)>>15)); // * (.561967668)
+ return dist;
+}
+
+
+/*!
+ CStateMachine implements the state machine and the integration fo the
+ state machine to the OS. The CStateEngine handles the actual processing of the
+ finite state machine but CStateMachine provides the OS specific things like timers
+ and message conversion.
+
+ The CStateMachine implements the MAknWsEventObserver interface so it adds
+ itself to be the observer to the event monitor of the application UI.
+
+ It handles the pointer events either by using the monitoring interface or
+ lets the application call the HandlePointerEventL method.
+
+ If MAknWsEventObserver interface is used then all the events passed to the
+ application are seen. The target of the gesture starting event is stored
+ so that the generated UI event contains the target as a void pointer. (should it just be CoeControl*?)
+
+ There is possibility to adjust the Y coordinate of the touch point.
+ In capacitive touch (Alvin) it seems that the perceived touch point is
+ below the middle part of the fingertip. The user however tries to use the
+ finger to point so that the touch point should correspond to the tip of the finger.
+ It seems that this illusion can be achieved by adjusting the Y position about 3 mm up.
+ However, this adjustment can properly be done only when the touch point is far enough
+ from the window borders up or down. When close to top or bottom of window, the adjustment
+ makes it impossible touch points near the edge, unless adjustment depends on the distance from
+ window border.
+ So in practice it should be the window server doing the adjustment, and after adjustment
+ deciding the target window. At application level the adjustment can only be done properly
+ if window borders do not need to be crossed.
+
+ */
+CStateMachine::CStateMachine()
+{
+ m_WasMessageFiltered = false ;
+ m_wseventmonitoringenabled = false ; // NB: enabled only if really used by application
+ m_loggingenabled = false ;
+ m_capacitiveup = false ;
+ m_adjustYposition = false ;
+}
+/*!Destructor
+ */
+CStateMachine::~CStateMachine()
+{
+ for (int i = 0; i < KMaxNumberOfPointers; i++)
+ {
+ delete m_holdTimer[i] ;
+ delete m_touchTimer[i] ;
+ delete m_suppressTimer[i] ;
+ delete m_impl[i] ;
+ }
+ delete m_config ;
+}
+
+CStateMachine* CStateMachine::NewLC()
+{
+ CStateMachine* self = new (ELeave) CStateMachine();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+}
+
+CStateMachine* CStateMachine::NewL()
+{
+ CStateMachine* self = CStateMachine::NewLC();
+ CleanupStack::Pop(self);
+ return self;
+}
+/*!
+ Construct the actual state machine implemented in CStateEngine and
+ creates the timers. It also adds itself to the observer list of
+ CAknWsEventMonitor of the application.
+
+ */
+void CStateMachine::ConstructL()
+{
+ m_config = new(ELeave)CStateEngineConfiguration() ;
+ m_config->ConstructL();
+
+ for (int i = 0; i < KMaxNumberOfPointers; i++)
+ {
+ m_impl[i] = new(ELeave) CStateEngine(m_config, this, i) ;
+ m_holdTimer[i] = CCallbackTimer::NewL(*this, &CStateMachine::handleholdTimer, 0, i, ETrue);
+ m_touchTimer[i] = CCallbackTimer::NewL(*this, &CStateMachine::handletouchTimer, 0, i, ETrue);
+ m_suppressTimer[i] = CCallbackTimer::NewL(*this, &CStateMachine::handlesuppressTimer, 0, i, ETrue);
+ }
+
+ m_coeEnv = CCoeEnv::Static();
+
+ /* IMEX: monitor added only if enabled
+ add us to see the WsEvents so that we are able to interpret them;
+
+ CAknAppUi* pui = (CAknAppUi*)m_coeEnv->AppUi() ;
+ pui->EventMonitor()->AddObserverL(this) ;
+ pui->EventMonitor()->Enable(ETrue) ;
+ */
+
+ m_3mminpixels = Mm2Pixels(1.5) ;
+}
+/*!
+ * Process one pointer event in the state machine.
+ * \return true, if the event did not generate a UI event immediately.
+ */
+bool CStateMachine::HandleStateEvent(const TPointerEvent& aPointerEvent,
+ void* aTarget,
+ const TTime& aTime)
+{
+ TInt index = PointerIndex(aPointerEvent);
+ CStateEngine* engine = m_impl[index];
+ CreateHwEvent(engine->initEvent(), aPointerEvent, aTarget, aTime) ;
+ if (m_loggingenabled)
+ {
+ LOGARG("HandleStateEvent: ptr %d", index) ;
+ }
+ m_WasMessageFiltered = engine->handleStateEvent() ;
+ return m_WasMessageFiltered ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+bool CStateMachine::wasLastMessageFiltered(TInt aPointerNumber)
+{
+ return m_impl[aPointerNumber]->wasLastMessageFiltered() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+TRect CStateMachine::getTouchArea(TInt aPointerNumber)
+{
+ return m_impl[aPointerNumber]->getTouchArea() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setTouchTimeArea(long fingersize_mm)
+{
+ m_config->setTouchTimeArea(fingersize_mm) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setTouchArea(long fingersize_mm)
+{
+ m_config->setTouchArea(fingersize_mm) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+TAreaShape CStateMachine::getTouchAreaShape()
+{
+ return m_config->getTouchAreaShape() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setTouchAreaShape(const TAreaShape aShape)
+{
+ m_config->setTouchAreaShape(aShape) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+unsigned int CStateMachine::getTouchTimeout()
+{
+ return m_config->getTouchTimeout() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setTouchTimeout(unsigned int aDelay)
+{
+ m_config->setTouchTimeout(aDelay) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+TRect CStateMachine::getHoldArea(TInt aPointerNumber)
+{
+ return m_impl[aPointerNumber]->getHoldArea() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setHoldArea(long fingersize_mm)
+{
+ m_config->setHoldArea(fingersize_mm) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+TAreaShape CStateMachine::getHoldAreaShape()
+{
+ return m_config->getHoldAreaShape() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setHoldAreaShape(const TAreaShape aShape)
+{
+ m_config->setHoldAreaShape(aShape) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+unsigned int CStateMachine::getHoldTimeout()
+{
+ return m_config->getHoldTimeout() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setHoldTimeout(unsigned int a)
+{
+ m_config->setHoldTimeout(a) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+unsigned int CStateMachine::getTouchSuppressTimeout()
+{
+ return m_config->getTouchSuppressTimeout() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setTouchSuppressTimeout(unsigned int a)
+{
+ m_config->setTouchSuppressTimeout(a) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+unsigned int CStateMachine::getMoveSuppressTimeout()
+{
+ return m_config->getMoveSuppressTimeout() ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::setMoveSuppressTimeout(unsigned int a)
+{
+ m_config->setMoveSuppressTimeout(a) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+bool CStateMachine::addUiEventObserver(MUiEventObserver* observer)
+{
+ return m_config->addUiEventObserver(observer) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+bool CStateMachine::removeUiEventObserver(MUiEventObserver* observer)
+{
+ return m_config->removeUiEventObserver(observer) ;
+}
+/*!
+ * wrapper method for the actual implementation in the CStateEngine.
+ */
+void CStateMachine::enableLogging(bool aEnable)
+{
+ m_loggingenabled = aEnable ;
+ m_config->enableLogging(aEnable) ;
+}
+
+TInt CStateMachine::PointerIndex(const TPointerEvent& aPointerEvent)
+{
+ TInt index = 0;
+#if defined(ADVANCED_POINTER_EVENTS)
+ if (aPointerEvent.IsAdvancedPointerEvent())
+ {
+ const TAdvancedPointerEvent* tadvp = aPointerEvent.AdvancedPointerEvent() ;
+ index = tadvp->PointerNumber() ;
+ }
+#endif
+ return index;
+}
+
+/*!
+ * Convert pointer event (TPointerEvent) into THwEvent into the variable m_hwe.
+ * THwEvent contains the position and simplified event type
+ * but also has the target window and timestamp included.
+ */
+void CStateMachine::CreateHwEvent(THwEvent& aEvent,
+ const TPointerEvent& aPointerEvent,
+ void* aTarget,
+ const TTime& aTime)
+{
+/* should be set by this moment by CStateEngine with that index in CStateEngine::initEvent()
+ aEvent.iPointerNumber = PointerIndex(aPointerEvent);
+*/
+ aEvent.iTarget = aTarget ;
+ aEvent.iTime = aTime;
+ // Change to screen coordinates here while the window is still existing....
+ aEvent.iPosition = screenCoordinates(aPointerEvent.iPosition, aTarget) ;
+ switch (aPointerEvent.iType)
+ {
+ case TPointerEvent::EButton1Down:
+ case TPointerEvent::EButton2Down:
+ case TPointerEvent::EButton3Down:
+ {
+ aEvent.iType = stmUiEventEngine::EDown ;
+ break ;
+ }
+ case TPointerEvent::EButton1Up:
+ case TPointerEvent::EButton2Up:
+ case TPointerEvent::EButton3Up:
+ {
+ if (m_capacitiveup)
+ {
+ aEvent.iType = stmUiEventEngine::ECapacitiveUP ; // How could this be checked automagically?
+ }
+ else
+ {
+ aEvent.iType = stmUiEventEngine::EResistiveUP ; // How could this be checked automagically?
+ }
+
+ break ;
+ }
+ case TPointerEvent::EDrag:
+ {
+ aEvent.iType = stmUiEventEngine::EDrag ;
+ break ;
+ }
+ }
+}
+////////////////////////////////////////////////////////////////////////////////////////////
+/*!
+ * Start the hold timer if it is not already active.
+ */
+void CStateMachine::startholdTimer(TInt aPointerNumber)
+{
+ if (!m_holdTimer[aPointerNumber]->IsActive())
+ {
+ m_holdTimer[aPointerNumber]->Start();
+ }
+}
+
+/*!
+ * The hold timer expiration: create a timer event and call the state machine
+ */
+void CStateMachine::handleholdTimer(TInt aPointerNumber)
+{
+ // We get an event, lets kick the state machine
+ CStateEngine* engine = m_impl[aPointerNumber];
+ CreateTimerEvent(engine->initEvent(), stmUiEventEngine::EHoldTimer) ;
+ engine->handleStateEvent() ;
+}
+/*!
+ * Stop the hold timer
+ */
+void CStateMachine::cancelholdTimer(TInt aPointerNumber)
+{
+ m_holdTimer[aPointerNumber]->Cancel();
+}
+/*!
+ * Start suppress timer. The timeout has been set beforehand.
+ */
+void CStateMachine::startsuppressTimer(TInt aPointerNumber)
+{
+ m_suppressTimer[aPointerNumber]->Start();
+}
+/*!
+ * The suppress timer expiration, create a timer event and call the state machine.
+ */
+void CStateMachine::handlesuppressTimer(TInt aPointerNumber)
+{
+ // We get an event, lets kick the state machine
+ CStateEngine* engine = m_impl[aPointerNumber];
+ CreateTimerEvent(engine->initEvent(), stmUiEventEngine::ESuppressTimer) ;
+ engine->handleStateEvent() ;
+}
+/*!
+ * stop the suppress timer
+ */
+void CStateMachine::cancelsuppressTimer(TInt aPointerNumber)
+{
+ m_suppressTimer[aPointerNumber]->Cancel();
+}
+/*!
+ * start the touch timer if it is not already active.
+ */
+void CStateMachine::starttouchTimer(TInt aPointerNumber)
+{
+ if (!m_touchTimer[aPointerNumber]->IsActive())
+ {
+ m_touchTimer[aPointerNumber]->Start();
+ }
+}
+
+/*!
+ * The touch timer expiration, create timer event and call the state machine.
+ */
+void CStateMachine::handletouchTimer(TInt aPointerNumber)
+{
+ // We get an event, lets kick the state machine
+ CStateEngine* engine = m_impl[aPointerNumber];
+ CreateTimerEvent(engine->initEvent(), stmUiEventEngine::ETouchTimer) ;
+ engine->handleStateEvent() ;
+}
+/*!
+ * stop the touch timer
+ */
+void CStateMachine::canceltouchTimer(TInt aPointerNumber)
+{
+ if (m_touchTimer[aPointerNumber]->IsActive()) // we were waiting for additional events
+ {
+ m_touchTimer[aPointerNumber]->Cancel();
+ }
+}
+/*!
+ * CreateTimerEvent creates a timer event to the m_hwe variable.
+ */
+void CStateMachine::CreateTimerEvent(THwEvent& aEvent, TStateMachineEvent aEventCode)
+{
+ aEvent.iType = aEventCode ;
+ // m_hwe.iPosition = TPos(0, 0) ; should we just leave the previous pos
+ TTime now ;
+ now.HomeTime() ;
+ aEvent.iTime = now ;
+}
+/*!
+ * Events are processed either using the MAknWsEventObserver interface
+ * or letting the view/container pass the pointer events to the state machine.
+ * The member variable m_wseventmonitoringenabled defines which method is used.
+ * If handlePoingterEventL is called, the calling CCoeCOntrol must provide itself
+ * as the target.
+ */
+void CStateMachine::HandlePointerEventL(const TPointerEvent& aPointerEvent, void *target)
+{
+ if (m_wseventmonitoringenabled) return ; // events are handled in the event monitor
+ if (m_loggingenabled)
+ {
+#if defined(ADVANCED_POINTER_EVENTS)
+ TInt pointerNumber = PointerIndex(aPointerEvent) ;
+ LOGARG("Pointer %d event %s at (%d %d)", pointerNumber,
+ ttypeNames[aPointerEvent.iType], aPointerEvent.iPosition.iX, aPointerEvent.iPosition.iY) ;
+#else
+ LOGARG("Pointer event %s at (%d %d)",
+ ttypeNames[aPointerEvent.iType], aPointerEvent.iPosition.iX, aPointerEvent.iPosition.iY) ;
+#endif
+ }
+ TTime time = m_coeEnv->LastEvent().Time();
+ HandleStateEvent(aPointerEvent, target, time) ; // target needs to be there to convert from window to screen coordinates
+}
+/**
+ * One possibility to implement gesture recognition is to intercept the events
+ * using the event monitoring interface. The HandleWsEventL method will get all events
+ * passed to the application. The aDestination parameter defines the window where the event
+ * was targeted to. The gesture recognition should use the target information
+ * to determine how the gesture should be interpreted.
+ * In the current implementation the aDestination needs to be one of the UI event observers
+ * in order to process the message, but later when gesture recognition is added, this check
+ * needs to be removed and the gesture recognition should handle the target of the gesture.
+ */
+void CStateMachine::HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination)
+{
+ // Check which processing type we have for events.
+ // If WsEvent monitoring, then process the message, otherwise return
+ if (!m_wseventmonitoringenabled) return ;
+
+ // Log the events passing trough to see what kind of stuff there goes...
+ // and could the gesture recogniser grab them from here?
+ TInt type=aEvent.Type();
+ switch (type)
+ {
+ case EEventKey:
+ case EEventKeyUp:
+ case EEventKeyDown:
+ {
+ if (m_loggingenabled)
+ {
+ TKeyEvent* tke = aEvent.Key() ;
+ LOGARG("Key event %d %d to %u", tke->iCode, tke->iScanCode, aDestination) ;
+ }
+ break;
+ }
+ case EEventPointer:
+ {
+ TPointerEvent* tpe = aEvent.Pointer() ;
+ if (m_loggingenabled)
+ {
+ TRect rcd = aDestination->Rect() ;
+ TPoint org = aDestination->PositionRelativeToScreen() ;
+ TRect rcd2 = rcd ;
+ rcd2.Move(org) ;
+ TPoint screenpos = tpe->iPosition ;
+ screenpos += org ;
+
+#if defined(ADVANCED_POINTER_EVENTS)
+ TInt pointerNumber = PointerIndex(*tpe) ;
+ LOGARG("Pointer %d event %s at (%d %d)[%d,%d] to 0x%x ((%d,%d)(%d,%d)): screen: ((%d,%d)(%d,%d))",
+ pointerNumber,
+ ttypeNames[tpe->iType],
+ tpe->iPosition.iX, tpe->iPosition.iY,
+ screenpos.iX, screenpos.iY,
+ aDestination,
+ rcd.iTl.iX, rcd.iTl.iY, rcd.iBr.iX, rcd.iBr.iY,
+ rcd2.iTl.iX, rcd2.iTl.iY, rcd2.iBr.iX, rcd2.iBr.iY) ;
+#else
+ LOGARG("Pointer event %s at (%d %d)[%d,%d] to 0x%x ((%d,%d)(%d,%d)): screen: ((%d,%d)(%d,%d))",
+ ttypeNames[tpe->iType], tpe->iPosition.iX, tpe->iPosition.iY,
+ screenpos.iX, screenpos.iY,
+ aDestination,
+ rcd.iTl.iX, rcd.iTl.iY, rcd.iBr.iX, rcd.iBr.iY,
+ rcd2.iTl.iX, rcd2.iTl.iY, rcd2.iBr.iX, rcd2.iBr.iY) ;
+#endif
+ }
+ HandleStateEvent(*tpe, aDestination, aEvent.Time()) ;
+ break;
+ }
+ case EEventPointerBufferReady:
+ if (m_loggingenabled)
+ {
+ LOGARG("Pointer buffer ready event to %u", aDestination) ;
+ }
+ break;
+ case EEventFocusLost:
+ case EEventFocusGained:
+ if (m_loggingenabled)
+ {
+ LOGARG("Focus message event to %u", aDestination) ;
+ }
+ break;
+ case EEventSwitchOn:
+ if (m_loggingenabled)
+ {
+ LOGARG("Switch On event to %u", aDestination) ;
+ }
+ break;
+ case EEventUser:
+ if (m_loggingenabled)
+ {
+ LOGARG("User event to %u", aDestination) ;
+ }
+ break;
+ case EEventPowerMgmt:
+ if (m_loggingenabled)
+ {
+ LOGARG("Power Mgmnt event to %u", aDestination) ;
+ }
+ break;
+ case EEventMessageReady:
+ if (m_loggingenabled)
+ {
+ LOGARG("Message Ready event to %u", aDestination) ;
+ }
+ break;
+ case EEventScreenDeviceChanged:
+ if (m_loggingenabled)
+ {
+ LOGARG("Screen device changed event to %u", aDestination) ;
+ }
+ break;
+
+ default:
+ if (m_loggingenabled)
+ {
+ LOGARG("default changed event %d to %u", type, aDestination) ;
+ }
+ break;
+ }
+}
+/*!
+ * Start the touch timer using a specified delay
+ */
+void CStateMachine::startTouchTimer(TInt aDelay, TInt aPointerNumber)
+{
+ m_touchTimer[aPointerNumber]->SetDelay(aDelay) ;
+ starttouchTimer(aPointerNumber) ;
+}
+/*!
+ * Stop the touch timer.
+ */
+void CStateMachine::cancelTouchTimer(TInt aPointerNumber)
+{
+ canceltouchTimer(aPointerNumber) ;
+}
+/*!
+ * Start hold timer using specified delay
+ */
+void CStateMachine::startHoldTimer(TInt aDelay, TInt aPointerNumber)
+{
+ m_holdTimer[aPointerNumber]->SetDelay(aDelay) ;
+ startholdTimer(aPointerNumber) ;
+}
+/*!
+ * Stop the hold timer
+ */
+void CStateMachine::cancelHoldTimer(TInt aPointerNumber)
+{
+ cancelholdTimer(aPointerNumber) ;
+}
+/*!
+ * Start suppress timer using specified delay.
+ */
+void CStateMachine::startSuppressTimer(TInt aDelay, TInt aPointerNumber)
+{
+ m_suppressTimer[aPointerNumber]->SetDelay(aDelay) ;
+ startsuppressTimer(aPointerNumber) ;
+}
+/*!
+ * Stop the suppress timer.
+ */
+void CStateMachine::cancelSuppressTimer(TInt aPointerNumber)
+{
+ cancelsuppressTimer(aPointerNumber) ;
+}
+
+/*!
+ * Method sets the m_wseventmonitoringenabled. If it is true,
+ * then the state machine will be called from the HandleWsEventL method which
+ * sees all the events passed to the application.
+ *
+ * Otherwise the HandlePointerEventL method call will cause the call to
+ * state machine so the view/container needs to pass the pointer events to the state machine
+ * in its own HandlePointerEventL -method.
+ *
+ */
+void CStateMachine::EnableWsEventMonitoring(bool aEnable)
+{
+ if( !m_wseventmonitoringenabled && aEnable )
+ {
+ CAknAppUi* pui = (CAknAppUi*)m_coeEnv->AppUi() ;
+ TRAPD(err, pui->EventMonitor()->AddObserverL(this)) ;
+ if(!err)
+ pui->EventMonitor()->Enable(ETrue) ;
+ }
+ else if( m_wseventmonitoringenabled && !aEnable )
+ {
+ CAknAppUi* pui = (CAknAppUi*)m_coeEnv->AppUi() ;
+ pui->EventMonitor()->RemoveObserver(this) ;
+ // Should not disable since it may be not the only user
+ //pui->EventMonitor()->Enable(EFalse) ;
+ }
+
+ m_wseventmonitoringenabled = aEnable ;
+}
+TPoint CStateMachine::screenCoordinates(const TPoint& aPos, void* aGestureTarget)
+{
+ TPoint newPos = aPos ;
+ if (aGestureTarget)
+ {
+ CCoeControl* pcc = (CCoeControl*) aGestureTarget ;
+ TPoint tp(TPoint(0,0));
+ if (m_adjustYposition)
+ {
+ TSize sz = pcc->Size() ;
+
+ // If we are running in capacitive touch device,
+ // adjust the point up about 3 mm unless we are
+ // near top or bottom of the window
+
+ // Y position in the window
+ int wY = newPos.iY - tp.iY;
+ int edge = 2*m_3mminpixels;
+
+ if (Rng(0, wY, edge - 1))
+ {
+ // close to the top we adjust suitably so that immediately at the top adjust is 0
+ int adjust = wY / 2 ;
+ newPos.iY -= adjust ;
+ if (m_loggingenabled)
+ {
+ LOGARG("adjustment: nY %d tY %d [3mm: %d adj: %d]",
+ newPos.iY, tp.iY, m_3mminpixels, adjust) ;
+ }
+
+ }
+ else if (Rng(edge, wY, sz.iHeight - edge))
+ {
+ int from = newPos.iY ;
+ newPos.iY -= m_3mminpixels ;
+ if (m_loggingenabled)
+ {
+ LOGARG("adjustment: %d to %d [3mm: %d middle]",
+ from, newPos.iY, m_3mminpixels) ;
+ }
+
+ }
+ else
+ {
+ // similarly at the bottom we adjust less the closer we get to the edge
+ int adjust = (sz.iHeight - wY) / 2 ;
+ newPos.iY -= adjust ;
+ if (m_loggingenabled)
+ {
+ LOGARG("adjustment: nY %d tY %d sH %d [3mm: %d adj: %d]",
+ newPos.iY, tp.iY, sz.iHeight, m_3mminpixels, adjust) ;
+ }
+
+ }
+ }
+ else
+ {
+ // if the target does not own a window how can we adjust to the screen?
+ }
+ }
+ return newPos ;
+}
+void CStateMachine::enableCapacitiveUp(bool aEnable)
+{
+ m_capacitiveup = aEnable ;
+}
+void CStateMachine::enableYadjustment(bool aEnable)
+{
+ m_adjustYposition = aEnable ;
+}
+int CStateMachine::getNumberOfPointers()
+{
+ return KMaxNumberOfPointers ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/stmgestureinterface.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,618 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+
+// Gesture UI Engine
+#include "statemachine.h"
+
+// Gesture Library: Framework
+#include "gestureframework.h"
+#include "rt_gestureengineif.h"
+
+// Gesture Library: Recognizers
+#include "tapgesturerecogniser.h"
+#include "pangesturerecogniser.h"
+#include "edgescrollgesturerecogniser.h"
+#include "longpressgesturerecogniser.h"
+#include "pinchgesturerecogniser.h"
+#include "touchgesturerecogniser.h"
+#include "releasegesturerecogniser.h"
+#include "flickgesturerecogniser.h"
+#include "zoomgesturerecogniser.h"
+
+#include "stmgestureinterface.h"
+#include "gesturehelpereventsender.h"
+
+#ifndef ICS_DCHECK
+#define ICS_DCHECK(test)
+#endif
+
+#define LOG(args...)
+
+
+EXPORT_C CStmGestureParameters::CStmGestureParameters()
+ {
+
+ }
+
+EXPORT_C CStmGestureParameters::CStmGestureParameters(
+ const CStmGestureParameters& aParams )
+ {
+ Mem::Copy(&iParam[0], &aParams.iParam[0], sizeof(iParam));
+ Mem::Copy(&iAreaSettings[0], &aParams.iAreaSettings[0], sizeof(iAreaSettings));
+ Mem::Copy(&iEnabled[0], &aParams.iEnabled[0], sizeof(iEnabled));
+ }
+
+EXPORT_C CStmGestureEngine* CStmGestureEngine::NewL()
+ {
+ CStmGestureEngine* eng = new(ELeave) CStmGestureEngine();
+ CleanupStack::PushL(eng);
+ eng->ConstructL();
+ CleanupStack::Pop(eng);
+ return eng;
+ }
+
+CStmGestureEngine::CStmGestureEngine()
+ {
+
+ }
+
+void CStmGestureEngine::ConstructL()
+ {
+ iGf = stmGesture::CGestureFramework::NewL();
+ }
+
+CStmGestureEngine::~CStmGestureEngine()
+ {
+ // Prevent reactivation of contexts as they remove themselves
+ iDtorPhase = ETrue;
+
+ iContexts.ResetAndDestroy();
+ iCtxtStack.Reset();
+ delete iGf;
+ }
+
+EXPORT_C CStmGestureContext* CStmGestureEngine::CreateContextL(
+ TInt /*aId*/ )
+ {
+ CStmGestureContext* ctxt = new(ELeave) CStmGestureContext(*this);
+ CleanupStack::PushL(ctxt);
+ ctxt->ConstructL();
+ CleanupStack::Pop(ctxt);
+ return ctxt;
+ }
+
+EXPORT_C CStmGestureContext* CStmGestureEngine::Context(
+ TInt /*aId*/ )
+ {
+ return NULL;
+ }
+
+void CStmGestureEngine::EnableContextL(
+ CStmGestureContext& aContext )
+ {
+ // NB: enabling context puts it on top of the Context Stack
+ TInt idx = iCtxtStack.Find(&aContext);
+ if(idx >= 0)
+ {
+ iCtxtStack.Remove(idx);
+ }
+
+ SetupRecognizersL(aContext, ETrue);
+
+ iCtxtStack.AppendL(&aContext);
+ }
+
+void CStmGestureEngine::DisableContextL(
+ CStmGestureContext& aContext )
+ {
+ TInt idx = iCtxtStack.Find(&aContext);
+ ICS_DCHECK(idx >= 0);
+ if(idx == KErrNotFound)
+ {
+ return;
+ }
+
+ iCtxtStack.Remove(idx);
+
+ stmGesture::MGestureEngineIf* ge = iGf->getGestureEngine();
+
+ for(TInt i = 0; i < stmGesture::EStmGestureUid_Count; ++i)
+ {
+ MStmGestureRecogniser* rec = aContext.iRecognizers[i];
+ if(rec)
+ {
+ ge->removeGesture(rec);
+ }
+ }
+
+ // re-activate previous (new top-most) context
+ // NB: if deleted context is not top-most (active) one, no updates done
+ TInt count = iCtxtStack.Count();
+ if(idx == count && count > 0 && !iDtorPhase)
+ {
+ CStmGestureContext* previous = iCtxtStack[count - 1];
+ SetupRecognizersL(*previous, EFalse);
+ }
+ }
+
+template<class T>
+void CStmGestureEngine::InitRecognizerL(
+ T*& aGesture,
+ CStmGestureContext& aContext,
+ TBool aNewContext )
+ {
+ stmGesture::MGestureRecogniserIf*& recognizer = aContext.iRecognizers[T::KUid];
+ aGesture = static_cast<T*>(recognizer);
+ if(!aGesture && aNewContext)
+ {
+ recognizer = aGesture = T::NewL(&aContext);
+ recognizer->enableLogging((aContext.iLogging & (1<<T::KUid)) != 0);
+ }
+ else
+ {
+ ICS_DCHECK(gesture && !aNewContext); // should exist in restored top context
+ }
+
+ // TODO: Add in right place according to gesture class
+ TBool added = iGf->getGestureEngine()->addGesture(aGesture);
+ if(!added)
+ {
+ User::Leave(KErrNoMemory);
+ }
+ }
+
+void CStmGestureEngine::SetupRecognizersL(
+ CStmGestureContext& aContext,
+ TBool aNewContext )
+ {
+ LOG("Setup recognizers");
+ // Order of recognizers in the Gesture Engine (upper ones receive input before lower ones)
+ //
+ // PINCH
+ // CORNER_ZOOM
+ // EDGE_SCROLL
+ // LONGPRESS
+ // TOUCH
+ // UP_DOWN
+ // LEFT_RIGHT
+ // HOVER
+ // PAN
+ // TAP / DOUBLE_TAP
+ // FLICK
+ // RELEASE
+ // UNKNOWN
+
+ stmUiEventEngine::CStateMachine* stateMachine = iGf->getUiStateMachine();
+ stmGesture::MGestureEngineIf* gestureEngine = iGf->getGestureEngine();
+
+ MStmGestureParameters& conf = aContext.Config();
+
+ TBool filter = conf.Param(stmGesture::EEnableFiltering) != 0;
+
+ // TOUCH AREA
+ TStmGestureArea& touchArea = *conf.Area(stmGesture::ETouchArea);
+ TInt touchAreaSizeInMm = touchArea.iSize.iWidth;
+ stateMachine->setTouchAreaShape ( stmUiEventEngine::TAreaShape(touchArea.iShape) );
+ stateMachine->setTouchArea ( !filter ? 0 : touchAreaSizeInMm );
+ stateMachine->setTouchTimeout ( !filter ? 0 : touchArea.iTimeout * 1000);
+ CCoeControl* gestureContext = aContext.getOwner();
+ TRect ctxtRect = gestureContext->Rect();
+
+ // ===================================================== PINCH
+ using stmGesture::CPinchGestureRecogniser;
+
+ if (conf.Enabled(CPinchGestureRecogniser::KUid))
+ {
+ CPinchGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ TReal32 pspeed = conf.Param(stmGesture::EPinchSpeed) / 1000.f;
+ gesture->setPinchingSpeed(pspeed);
+ }
+ }
+
+ // ===================================================== LONG PRESS
+ using stmGesture::CLongPressGestureRecogniser;
+
+ if (conf.Enabled(CLongPressGestureRecogniser::KUid))
+ {
+ CLongPressGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setArea(ctxtRect);
+ }
+ }
+
+ // ===================================================== TOUCH
+ using stmGesture::CTouchGestureRecogniser;
+
+ if (conf.Enabled(CTouchGestureRecogniser::KUid))
+ {
+ CTouchGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ // define empty area so that touch is reported only inside
+ // our window (touch recogniser handles either an area or the target window)
+ gesture->setArea(TRect());
+ }
+ }
+
+
+ // ===================================================== PAN
+ using stmGesture::CPanGestureRecogniser;
+
+ if (conf.Enabled(CPanGestureRecogniser::KUid))
+ {
+ CPanGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setPanningSpeedLow ( conf.Param(stmGesture::EPanSpeedLow) / 1000.f );
+ gesture->setPanningSpeedHigh( conf.Param(stmGesture::EPanSpeedHigh) / 1000.f );
+ }
+ }
+
+ // ===================================================== TAP / DOUBLE TAP
+ /// Add recognizer before any existing Flick, Release, Unknown
+ // Add the gesture to the gesture engine
+ // TODO: Tap recognizer is special - it can combine multiple listeners,
+ // so no need to create new one if it already exists, just add new listeners to it
+
+ using stmGesture::CTapGestureRecogniser;
+
+ if (conf.Enabled(CTapGestureRecogniser::KUid))
+ {
+ CTapGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setDoubleTapTimeout(conf.Param(stmGesture::EDoubleTapTimeout) * 1000);
+ gesture->setDoubleTapRange( touchAreaSizeInMm );
+ gesture->ignoreFirstTap(EFalse);
+
+ aContext.iLogging |= 1<<CTapGestureRecogniser::KUid;
+ }
+ }
+
+ // ===================================================== FLICK
+ using stmGesture::CFlickGestureRecogniser;
+
+ if (conf.Enabled(CFlickGestureRecogniser::KUid))
+ {
+ CFlickGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ TReal32 flickSpeed = conf.Param(stmGesture::EFlickSpeed) / 1000.f;
+ gesture->setFlickingSpeed(flickSpeed);
+ }
+ }
+
+ // ===================================================== RELEASE
+ using stmGesture::CReleaseGestureRecogniser;
+
+ if (conf.Enabled(CReleaseGestureRecogniser::KUid))
+ {
+ CReleaseGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setArea(TRect());
+ }
+ }
+
+#if 0 // use in future depending upon browser requirement
+ // ===================================================== CORNER ZOOM
+ using stmGesture::CZoomGestureRecogniser;
+
+ if (conf.Enabled(CZoomGestureRecogniser::KUid))
+ {
+ CZoomGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setArea(ctxtRect);
+ gesture->setRange(conf.Param(stmGesture::EZoomCornerSize));
+ }
+ }
+
+ // ===================================================== EDGE SCROLL
+ using stmGesture::CEdgeScrollGestureRecogniser;
+
+ if (conf.Enabled(CEdgeScrollGestureRecogniser::KUid))
+ {
+ CEdgeScrollGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+
+ if(gesture)
+ {
+ gesture->setArea(ctxtRect);
+ gesture->setScrollRange(conf.Param(stmGesture::EEdgeScrollRange)); // range is 20 pixels from the edge TODO: add this to settings...
+ }
+ }
+
+ // ===================================================== LEFT-RIGHT
+ using stmGesture::CLeftrightGestureRecogniser;
+
+ if (conf.Enabled(CLeftrightGestureRecogniser::KUid))
+ {
+ CLeftrightGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+ }
+
+ // ===================================================== UP-DOWN
+ using stmGesture::CUpdownGestureRecogniser;
+
+ if (conf.Enabled(CUpdownGestureRecogniser::KUid))
+ {
+ CUpdownGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+ }
+
+ // ===================================================== HOVER
+ using stmGesture::CHoveringGestureRecogniser;
+
+ if (conf.Enabled(CHoveringGestureRecogniser::KUid))
+ {
+ CHoveringGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+ if(gesture)
+ {
+ gesture->setHoveringSpeed(conf.Param(stmGesture::EHoverSpeed) / 1000.f);
+ }
+ }
+
+ // ===================================================== UNKNOWN
+ using stmGesture::CUnknownGestureRecogniser;
+
+ if (conf.Enabled(CUnknownGestureRecogniser::KUid))
+ {
+ CUnknownGestureRecogniser* gesture = NULL;
+ InitRecognizerL(gesture, aContext, aNewContext);
+ }
+#endif
+
+ // ===========================================================
+ if(aNewContext)
+ {
+ for(TInt i = 0; i < stmGesture::EStmGestureUid_Count; ++i)
+ {
+ MStmGestureRecogniser* rec = aContext.iRecognizers[i];
+ if(rec)
+ {
+ rec->enableLogging(aContext.iLogging & (1<<i)) ;
+ }
+ }
+ }
+
+
+ // HOLD AREA
+ TStmGestureArea& holdArea = *conf.Area(stmGesture::EHoldArea);
+ TInt holdAreaSizeInMm = holdArea.iSize.iWidth;
+ stateMachine->setHoldAreaShape ( stmUiEventEngine::TAreaShape(holdArea.iShape) );
+ stateMachine->setHoldArea ( !filter ? 0 : holdAreaSizeInMm );
+ stateMachine->setHoldTimeout ( !filter ? 0 : holdArea.iTimeout * 1000);
+
+ // TOUCH-TIME AREA
+ TStmGestureArea& tTimeArea = *conf.Area(stmGesture::ETouchTimeArea);
+ TInt tTimeAreaSizeInMm = tTimeArea.iSize.iWidth;
+ // NB: shape <-- TouchAreaShape
+ stateMachine->setTouchTimeArea ( !filter ? 0 : tTimeAreaSizeInMm );
+
+ // Timeouts, Adjustments, etc.
+ stateMachine->setTouchSuppressTimeout(!filter ? 0 :
+ conf.Param(stmGesture::ESuppressTimeout)*1000) ;
+ stateMachine->setMoveSuppressTimeout(!filter ? 0 :
+ conf.Param(stmGesture::EMoveSuppressTimeout)*1000) ;
+ stateMachine->enableCapacitiveUp (!filter ? 0 :
+ conf.Param(stmGesture::ECapacitiveUpUsed));
+ stateMachine->enableYadjustment (!filter ? 0 : conf.Param(stmGesture::EAdjustYPos));
+ stateMachine->enableLogging(false);
+
+ stateMachine->EnableWsEventMonitoring(false);
+ LOG("Setup recognizers -- DONE");
+ }
+
+EXPORT_C void CStmGestureEngine::HandlePointerEventL(
+ const TPointerEvent& aPointerEvent,
+ void* target)
+ {
+ iGf->getUiStateMachine()->HandlePointerEventL(aPointerEvent,target);
+ }
+
+// =============================================================
+
+CStmGestureContext::CStmGestureContext(
+ CStmGestureEngine& aEngine ) :
+ iEngine(aEngine),
+ iEventSender(NULL)
+ {
+
+ }
+
+void CStmGestureContext::ConstructL()
+ {
+ iEngine.iContexts.AppendL(this);
+ iConfig = new(ELeave) CStmGestureParameters();
+ }
+
+CStmGestureContext::~CStmGestureContext()
+ {
+ // Remove all gesture listeners
+ for(TInt i = iListeners.Count() - 1; i >= 0; --i)
+ {
+ MStmGestureListener* listener = iListeners[i];
+ iListeners.Remove(i);
+ }
+
+ iListeners.Reset();
+
+ // Remove all context's recognizers from the Gesture Engine
+ Deactivate();
+
+ if (iEventSender)
+ delete iEventSender;
+
+ // Destroy all recognizers
+ for(TInt r = 0; r < stmGesture::EStmGestureUid_Count; ++r)
+ {
+ MStmGestureRecogniser*& rec = iRecognizers[r];
+ if(rec)
+ {
+ delete rec;
+ rec = NULL;
+ }
+ }
+
+ // Remove context from the Gesture Engine
+ TInt idx = iEngine.iContexts.Find(this);
+ if(idx != -1)
+ {
+ iEngine.iContexts.Remove(idx);
+ }
+ delete iConfig;
+ }
+
+EXPORT_C void CStmGestureContext::AddListenerL(
+ MStmGestureListener* aListener,
+ TInt aPos )
+ {
+ iEventSender = CGestureEventSender::NewL(*aListener);
+ iListeners.InsertL(aListener, aPos);
+ }
+
+EXPORT_C TInt CStmGestureContext::RemoveListener(
+ MStmGestureListener* aListener )
+ {
+ TInt ind = iListeners.Find(aListener);
+ if(ind >= 0)
+ {
+ iListeners.Remove(ind);
+ }
+ return ind;
+ }
+
+EXPORT_C void CStmGestureContext::SetContext(
+ CCoeControl* aControl )
+ {
+ iOwnerControl = aControl;
+
+ for(TInt i = 0; i < stmGesture::EStmGestureUid_Count; ++i)
+ {
+ MStmGestureRecogniser* rec = iRecognizers[i];
+ if(rec)
+ {
+ rec->setOwner(aControl);
+ }
+ }
+ }
+
+EXPORT_C void CStmGestureContext::ActivateL()
+ {
+ if(IsActive())
+ {
+ // re-enable all recognizers
+ EnableRecognizersL();
+ return;
+ }
+ /// 1. Tell Engine to deactivate active context
+
+ /// 2. Setup all gesture recognizers
+ iEngine.EnableContextL(*this);
+
+ /// 3. Notify listeners
+
+ //
+ EnableRecognizersL();
+
+ ///
+ iActivated = ETrue;
+ }
+
+EXPORT_C void CStmGestureContext::Deactivate()
+ {
+ // NB: reactivation of previous context may leave
+ TRAP_IGNORE(iEngine.DisableContextL(*this));
+ iActivated = EFalse;
+ }
+
+void CStmGestureContext::gestureEnter(
+ MStmGesture& aGesture )
+ {
+ TRAP_IGNORE(DispatchGestureEventL(aGesture.gestureUid(), &aGesture));
+ }
+
+void CStmGestureContext::gestureExit(
+ TStmGestureUid aGestureUid )
+ {
+ TRAP_IGNORE(DispatchGestureEventL(aGestureUid, NULL));
+ }
+
+CCoeControl* CStmGestureContext::getOwner()
+ {
+ return iOwnerControl;
+ }
+
+void CStmGestureContext::DispatchGestureEventL(
+ TStmGestureUid aUid,
+ MStmGesture* aGesture )
+ {
+ iEventSender->AddEvent(aUid, aGesture);
+ }
+
+void CStmGestureContext::SuspendRecognizer(
+ TStmGestureUid aUid )
+ {
+ MStmGestureRecogniser* rec = iRecognizers[aUid];
+ if(rec && !rec->isEnabled())
+ {
+ rec->enable(EFalse);
+ // TODO: Notify listener
+ }
+ }
+
+void CStmGestureContext::EnableRecognizersL()
+ {
+ for(TInt i = 0; i < stmGesture::EStmGestureUid_Count; ++i)
+ {
+ EnableRecognizerL(TStmGestureUid(i));
+ }
+ }
+
+void CStmGestureContext::EnableRecognizerL(
+ TStmGestureUid aUid )
+ {
+ MStmGestureRecogniser* rec = iRecognizers[aUid];
+ if(rec && !rec->isEnabled())
+ {
+ rec->enable(ETrue);
+ // TODO: Notify listener
+ }
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/tapgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,352 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "TapGestureRecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+/* some utility functions, are these things not provided by the OS? */
+const TInt KFingerSize_mm = 8;
+const TInt KTwipsInInch = 1440;
+const TReal KTwipsInMm = 56.7;
+
+long Twips2Pixels(long twips)
+{
+ CWsScreenDevice* screen = CCoeEnv::Static()->ScreenDevice();
+ TZoomFactor deviceMap(screen);
+ deviceMap.SetZoomFactor(TZoomFactor::EZoomOneToOne);
+ long px = deviceMap.VerticalTwipsToPixels(twips); //assuming that vertical
+ return px; //the same as horizontal
+}
+
+long Mm2Pixels(long mm)
+{
+ return Twips2Pixels(mm * KTwipsInMm);
+}
+
+long Inches2Pixels(double inches)
+{
+ return Twips2Pixels(inches * KTwipsInInch);
+}
+
+TRect ToleranceRect(const TPoint& aCenterPoint, int size)
+{
+ long toleranceLength = Mm2Pixels(KFingerSize_mm) / 2;
+ TRect toleranceRect(aCenterPoint, TSize());
+ toleranceRect.Shrink(-size, -size);
+ return toleranceRect;
+}
+
+CTapGestureRecogniser* CTapGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CTapGestureRecogniser* self = new (ELeave) CTapGestureRecogniser(aListener) ;
+ CleanupStack::PushL(self);
+ self->ConstructL(); // construct base class
+ CActiveScheduler::Add(self);
+ CleanupStack::Pop(self);
+ return self;
+}
+
+CTapGestureRecogniser::CTapGestureRecogniser(MGestureListener* aListener) :
+ CTimer(EPriorityRealTime - 1)
+{
+ m_powner = aListener->getOwner() ;
+ // if a listener is given here, then it is both tap and doubletap listener
+ if (aListener)
+ {
+ addTapListener(aListener, m_powner) ;
+ addDoubleTapListener(aListener, m_powner) ;
+ }
+ m_waitingforsecondtap = false ;
+ m_gestureEnabled = true ;
+ m_ignorefirst = true ; // by default ignore the first tap
+}
+
+CTapGestureRecogniser::~CTapGestureRecogniser()
+{
+ Cancel();
+ m_tapListeners.Reset() ;
+ m_tapListenerWindows.Reset() ;
+ m_doubleTapListeners.Reset() ;
+ m_doubleTapListenerWindows.Reset() ;
+
+}
+
+TGestureRecognitionState CTapGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like a tap or double tap
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be tap and release
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: %d num %d code %d", eventCode, countOfEvents, eventCode);
+ }
+ if (countOfEvents == 2) // Do we have touch and release in the stream, check if there are two events
+ {
+ // Then look at the events to see if they are suitable for us
+ if (eventCode == stmUiEventEngine::ERelease) // The last one is release
+ {
+ stmUiEventEngine::MUiEvent* puieFirst = puie->previousEvent();
+
+ if(puieFirst)
+ eventCode = puieFirst->Code();
+ else
+ return state;
+
+ if (eventCode == stmUiEventEngine::ETouch) // is the first one ETouch
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: 0x%x TAP: num %d code %d",
+ this, countOfEvents, eventCode);
+ }
+ // It is tap gesture in our window, handle it
+ state = EGestureActive;
+
+ CCoeControl* target = (CCoeControl*)puie->Target();
+
+ if (m_waitingforsecondtap)
+ {
+ m_waitingforsecondtap = false ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: 0x%x second tap: num %d code %d",
+ this, countOfEvents, eventCode);
+ }
+
+ Cancel() ; // The timer
+
+ const TPoint& secondPoint = puieFirst->CurrentXY() ;
+ if (isSecondTapClose(secondPoint, m_firstTapXY))
+ {
+ // Taps were close enough together, so issue a doubletap
+
+ // Call the listener of the current window to inform that a doubletap has occurred...
+ TInt inx = m_doubleTapListenerWindows.Find(target) ;
+ if (inx == KErrNotFound)
+ {
+ // the second tap hit a window with no listener,
+ // check if the first one has a listener
+ inx = m_doubleTapListenerWindows.Find(m_firstTapTarget) ;
+ }
+ // not found, check if the parent is in the listener list
+ if (inx == KErrNotFound)
+ {
+ CCoeControl* pc = target ;
+ while (pc)
+ {
+ pc = pc->Parent() ;
+ inx = m_doubleTapListenerWindows.Find(pc) ;
+ if (inx != KErrNotFound) break ;
+ }
+ }
+ if (inx != KErrNotFound)
+ {
+ // Tap gesture
+ stmGesture::TGenericSimpleGesture pgest(
+ stmGesture::EGestureUidDoubleTap,
+ secondPoint, stmGesture::ETapTypeDouble, puie) ;
+ MGestureListener* plistener = m_doubleTapListeners[inx] ;
+ plistener->gestureEnter(pgest) ;
+ }
+ }
+ else
+ {
+ // Second tap is too far away, generate just tap
+ // and if configured, also the fist tap is generated
+ if (!m_ignorefirst)
+ {
+ // do not ignore the first tap, so issue it now using the stored location
+ // Call the listener to inform that a Tap has occurred, if there was a listener in that window
+ TInt inx = m_tapListenerWindows.Find(m_firstTapTarget) ;
+ if (inx != KErrNotFound) // check if the listener exists
+ {
+ stmGesture::TGenericSimpleGesture pgest(
+ stmGesture::EGestureUidTap, puieFirst->CurrentXY(),
+ stmGesture::ETapTypeSingle, puieFirst) ; // TODO: speed is 0?
+ MGestureListener* plistener = m_tapListeners[inx] ;
+ plistener->gestureEnter(pgest) ;
+ }
+ }
+ // generate a tap at the current location, if there is a listener for it
+ TInt inx = m_tapListenerWindows.Find(target) ;
+ if (inx != KErrNotFound)
+ {
+ stmGesture::TGenericSimpleGesture pgest(
+ stmGesture::EGestureUidTap, puie->CurrentXY(),
+ stmGesture::ETapTypeSingle, puie) ; // TODO: speed is 0?
+ MGestureListener* plistener = m_tapListeners[inx] ;
+ plistener->gestureEnter(pgest) ;
+ }
+ }
+ }
+ else
+ {
+ m_firstTapXY = puieFirst->CurrentXY() ;
+ m_firstTapTarget = target ;
+ m_firstTapSpeedX = puie->speedX() ;
+ m_firstTapSpeedY = puie->speedY() ;
+ // This was the first tap, start the timer...
+ m_waitingforsecondtap = true ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: 0x%x first tap: num %d code %d",
+ this, countOfEvents, eventCode);
+ }
+ Cancel() ; // Just to be sure...
+ After(m_doubleTapTimeout) ;
+ }
+
+ }
+ }
+ }
+ }
+ return state;
+}
+
+void CTapGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ Cancel() ; // some other gesture took hold of the thing, do not send tap gesture
+ m_waitingforsecondtap = false ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: 0x%x release, %d %d",
+ this, m_firstTapXY.iX, m_firstTapXY.iY);
+ }
+}
+
+void CTapGestureRecogniser::RunL()
+{
+ m_waitingforsecondtap = false ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CTapGestureRecogniser: 0x%x timer, %d %d", this, m_firstTapXY.iX, m_firstTapXY.iY);
+ }
+ // Double tap timer has been elapsed without new Touch/Release, generate the tap if there is a listener
+ TInt inx = m_tapListenerWindows.Find(m_firstTapTarget) ;
+ if (inx != KErrNotFound)
+ {
+ using stmUiEventEngine::TUiEventSpeed;
+
+ TUiEventSpeed speedIf(m_firstTapSpeedX,m_firstTapSpeedY);
+
+ stmGesture::TGenericSimpleGesture pgest(
+ stmGesture::EGestureUidTap,
+ m_firstTapXY,
+ stmGesture::ETapTypeSingle,
+ &speedIf) ;
+
+ MGestureListener* plistener = m_tapListeners[inx] ;
+ plistener->gestureEnter(pgest) ;
+ }
+}
+
+void CTapGestureRecogniser::enableLogging(bool loggingOn)
+{
+ m_loggingenabled = loggingOn;
+}
+
+void CTapGestureRecogniser::setOwner(CCoeControl* owner)
+{
+ m_powner = owner;
+}
+
+void CTapGestureRecogniser::setDoubleTapTimeout(int newtimeout)
+{
+ m_doubleTapTimeout = newtimeout;
+}
+
+void CTapGestureRecogniser::enable(bool enabled)
+{
+ m_gestureEnabled = enabled ;
+}
+
+bool CTapGestureRecogniser::isEnabled()
+{
+ return m_gestureEnabled ;
+}
+
+void CTapGestureRecogniser::setDoubleTapRange(int rangeInMillimetres)
+{
+ m_rangesizeInPixels = Mm2Pixels(rangeInMillimetres) ;
+}
+
+void CTapGestureRecogniser::ignoreFirstTap(bool ignore)
+{
+ m_ignorefirst = ignore ;
+}
+
+/*!
+ * Check whether the two taps are close enough to each other
+ */
+bool CTapGestureRecogniser::isSecondTapClose(const TPoint& secondPoint, const TPoint& firstTapXY)
+{
+ TRect tolerance = ToleranceRect(secondPoint, m_rangesizeInPixels) ;
+ bool aretheyclose = tolerance.Contains(firstTapXY);
+ return aretheyclose ;
+}
+
+void CTapGestureRecogniser::addTapListener(MGestureListener* aListener, CCoeControl* listenerOwner)
+{
+ m_tapListeners.Append(aListener) ;
+ m_tapListenerWindows.Append(listenerOwner) ;
+}
+
+void CTapGestureRecogniser::removeTapListener(MGestureListener* aListener,
+ CCoeControl* /*listenerOwner*/)
+{
+ TInt inx = m_tapListeners.Find(aListener) ;
+ if(inx != KErrNotFound)
+ {
+ m_tapListeners.Remove(inx) ;
+ m_tapListenerWindows.Remove(inx) ;
+ }
+}
+
+void CTapGestureRecogniser::addDoubleTapListener(MGestureListener* aListener,
+ CCoeControl* listenerOwner)
+{
+ m_doubleTapListeners.Append(aListener) ;
+ m_doubleTapListenerWindows.Append(listenerOwner) ;
+}
+
+void CTapGestureRecogniser::removeDoubleTapListener(MGestureListener* aListener,
+ CCoeControl* /*listenerOwner*/)
+{
+ TInt inx = m_doubleTapListeners.Find(aListener) ;
+ if(inx != KErrNotFound)
+ {
+ m_doubleTapListeners.Remove(inx) ;
+ m_doubleTapListenerWindows.Remove(inx) ;
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/touchgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "touchgesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+CTouchGestureRecogniser::CTouchGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CTouchGestureRecogniser* CTouchGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CTouchGestureRecogniser* self = new (ELeave) CTouchGestureRecogniser(aListener) ;
+ return self;
+}
+
+CTouchGestureRecogniser::~CTouchGestureRecogniser()
+{
+}
+
+/*!
+ * Touch gesture recogniser. Note that this one never owns the gesture, it just calls
+ * the callback if it detects ETouch inside the area being watched.
+ * There could be also check for the target window?
+ */
+TGestureRecognitionState CTouchGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like edge scroll with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be EHold
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ if (!puie) return state;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CTouchGestureRecogniser: 0x%x num %d code %d", this, puie->countOfEvents(), eventCode);
+
+ }
+ if (eventCode == stmUiEventEngine::ETouch)
+ {
+ const TPoint& tapPoint = puie->CurrentXY();
+ if (m_loggingenabled)
+ {
+ LOGARG("CTouchGestureRecogniser: 0x%x ETouch: num %d at %d, %d", this, puie->countOfEvents(), tapPoint.iX, tapPoint.iY);
+ LOGARG("CTouchGestureRecogniser: area, %d,%d %d,%d", m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+ bool produceGesture ;
+ if(!m_area.IsEmpty())
+ {
+ produceGesture = m_area.Contains(tapPoint);
+ if(produceGesture && m_loggingenabled)
+ {
+ LOGARG("CTouchGestureRecogniser: HIT area (%d,%d) in %d,%d %d,%d", tapPoint.iX, tapPoint.iY, m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+ }
+ else
+ {
+ produceGesture = (m_powner == puie->Target()); // no area defined, touch detected in the window
+ }
+ if (produceGesture)
+ {
+ // state = EGestureActive ; do not take ownership, all gestures anyway start with ETouch
+ // issue the touch gesture
+ stmGesture::TGenericSimpleGesture pgest(KUid, tapPoint);
+ // Call the listener to inform that a touch has occurred...
+ m_listener->gestureEnter(pgest);
+ }
+ }
+ }
+ return state;
+}
+
+void CTouchGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CTouchGestureRecogniser: 0x%x release", this);
+ }
+}
+
+void CTouchGestureRecogniser::setArea(const TRect& theArea)
+{
+ m_area = theArea ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CTouchGestureRecogniser: area, %d,%d %d,%d", m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/uieventsender.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "uieventsender.h"
+#include "UiEvent.h"
+
+#include "filelogger.h"
+
+using namespace stmUiEventEngine;
+
+
+CUiEventSender* CUiEventSender::NewL()
+{
+ CUiEventSender* self = new (ELeave) CUiEventSender();
+
+ return self;
+}
+
+/*!
+ * An active object for sending the UI events to the observers.
+ * Depending on the m_directsending the asynchronous method is not
+ * used but instead the observers will be called immediately.
+ */
+CUiEventSender::CUiEventSender()
+{
+ m_loggingenabled = false ;
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ iEvents[i] = NULL ;
+ }
+}
+
+CUiEventSender::~CUiEventSender()
+{
+ // remove the possible events from the buffers if release was missed
+ for (int i = 0; i < stmUiEventEngine::KMaxNumberOfPointers; i++)
+ {
+ if (iEvents[i]) delete iEvents[i] ;
+ }
+ iObserver.Reset() ;
+}
+
+/*!
+ * Add new UI event to the list or send it directly to the observers
+ * depending on the m_directsending flag.
+ * \param aUiEvent the new UI event to be sent to the observers.
+ */
+TInt CUiEventSender::AddEvent(CUiEvent* aUiEvent)
+{
+ int pointerIndex = aUiEvent->Index() ;
+ // Store the new UI event. Check what kind of event it is and compress the set of events
+ // stored so far if possible
+ compressStack(aUiEvent) ;
+ aUiEvent->setPrevious(iEvents[pointerIndex]) ;
+ iEvents[pointerIndex] = aUiEvent ; // Store the new event
+ TRAPD(err, EmitEventL(*aUiEvent));
+ if(err)
+ return err;
+
+ if (m_loggingenabled)
+ {
+ LOGARG("Sent event: %s: (ptr %d) (%d,%d)",
+ stmUiEventEngine::EventName(aUiEvent->Code()), pointerIndex,
+ aUiEvent->CurrentXY().iX, aUiEvent->CurrentXY().iY);
+ }
+ // If this was release event, then the chain can be removed
+ if (aUiEvent->Code() == stmUiEventEngine::ERelease)
+ {
+ delete aUiEvent; // This will delete the whole chain
+ iEvents[pointerIndex] = NULL ;
+ }
+ return KErrNone;
+}
+/*!
+ * Call each observer with the event
+ */
+void CUiEventSender::EmitEventL(const CUiEvent& aEvent)
+{
+ for (TInt i = 0; i < iObserver.Count(); i++)
+ {
+ iObserver[i]->HandleUiEventL(aEvent);
+ }
+}
+
+/*!
+ * Add a new observer. Note that current implementation is very rude:
+ * max 5 observers in a simple array.
+ */
+bool CUiEventSender::addObserver(MUiEventObserver* aObserver )
+{
+ iObserver.Append(aObserver) ;
+ return true ;
+}
+
+/*
+ * remove observer from list
+ */
+bool CUiEventSender::removeObserver(MUiEventObserver* aObserver )
+{
+ int x = iObserver.Find(aObserver) ;
+ if (x != -1)
+ {
+ iObserver.Remove(x) ;
+ return true ;
+
+ }
+ return EFalse ; // Could not find observer
+}
+void CUiEventSender::compressStack(CUiEvent* aUiEvent)
+{
+ int pointerIndex = aUiEvent->Index() ;
+ CUiEvent*& top = iEvents[pointerIndex] ;
+ if(!top)
+ {
+ return;
+ }
+ if (aUiEvent->Code() == stmUiEventEngine::EHold)
+ {
+ // assumption: in case of hold, we can discard all previous messages
+ delete top ;
+ top = NULL ;
+ }
+ else
+ {
+ // Check if there would too many moves
+ CUiEvent* next = dynamic_cast<CUiEvent*>(top->previousEvent()) ;
+ if (next != 0 && next->Code() == stmUiEventEngine::EMove)
+ {
+ // leave only the topmost to the stack
+ top->setPrevious(0) ;
+ delete next ;
+ }
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/unknowngesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "GenericSimpleGesture.h"
+#include "unknowngesturerecogniser.h"
+#include "rt_uievent.h"
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+CUnknownGestureRecogniser::CUnknownGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CUnknownGestureRecogniser* CUnknownGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CUnknownGestureRecogniser* self = new (ELeave) CUnknownGestureRecogniser(aListener) ;
+ return self;
+}
+
+CUnknownGestureRecogniser::~CUnknownGestureRecogniser()
+{
+}
+
+/*!
+ * recognise the long press; basically it is just the EHold UI event
+ */
+TGestureRecognitionState CUnknownGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+
+ // Look at the events to see if it looks like long press with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be EHold
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CUnknownGestureRecogniser: %d num %d code %d", eventCode, countOfEvents, eventCode);
+ }
+ if (puie->Target() == m_powner && eventCode == stmUiEventEngine::ERelease) // The last one is ERelease
+ {
+ const TPoint& currentXY = puie->CurrentXY() ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CUnknownGestureRecogniser: (%d, %d) ", currentXY.iX, currentXY.iY) ;
+ }
+ state = EGestureActive ;
+ // issue the gesture
+ stmGesture::TGenericSimpleGesture pgest(KUid, currentXY, 0, puie) ;
+ // Call the listener to inform that a gesture has occurred...
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ return state;
+}
+
+void CUnknownGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ if (m_loggingenabled)
+ {
+ LOGARG("CUnknownGestureRecogniser: 0x%x release", this);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/updowngesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include "updowngesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+#include "rt_uievent.h"
+
+#include "filelogger.h"
+
+using namespace stmGesture ;
+
+_LIT8(KUpdownName, "Updown") ;
+
+CUpdownGestureRecogniser::CUpdownGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener)
+{
+}
+
+CUpdownGestureRecogniser* CUpdownGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CUpdownGestureRecogniser* self = new (ELeave) CUpdownGestureRecogniser(aListener) ;
+ return self;
+}
+
+CUpdownGestureRecogniser::~CUpdownGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CUpdownGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like a tap or double tap
+ if (numOfActiveStreams == 1)
+ {
+ // Then look at the event stream, it has to be tap and release
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents() ;
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code() ;
+ if (countOfEvents > 1) // do we have more than one event in the stream?
+ {
+ // Then look at the events to see if they are suitable for us
+ // should we check that all of the events are targeted to our window?
+ // currently we only check if the last one is for us and is EMove, then check if |x| > |y|
+ if (puie->Target() == m_powner &&
+ eventCode == stmUiEventEngine::EMove) // The last one is move in our window
+
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CUpdownGestureRecogniser: UpDown: num %d code %d",
+ countOfEvents, eventCode);
+ }
+ // Is it leftright gesture in our window?
+ const TPoint& p = puie->CurrentXY() ;
+ TPoint dp = p - puie->PreviousXY() ;
+ // check that the Y movement is bigger
+ if (Abs(dp.iX) < Abs(dp.iY))
+ {
+ state = EGestureActive;
+ stmGesture::TGenericSimpleGesture pgest(KUid, p, dp.iY, puie) ;
+ // Give the gesture a name
+ pgest.setName(KUpdownName) ;
+ // Call the listener to inform that a UpDown has occurred...
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ }
+ }
+ return state;
+}
+
+void CUpdownGestureRecogniser::release(MGestureEngineIf* /*ge*/)
+{
+ m_listener->gestureExit(KUid) ;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/utils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "utils.h"
+
+#include <coemain.h> // for CCoeEnv
+#include <eikappui.h> // for CEikAppUi
+
+#include "gesturedefs.h"
+
+namespace stmUiEventEngine
+{
+ /** @return the longer edge of the size */
+ inline TInt LongerEdge( const TSize& aSize )
+ {
+ return Max( aSize.iHeight, aSize.iWidth );
+ }
+
+ // for documentation, see header file
+ TRect ToleranceRect( const TPoint& aCenterPoint )
+ {
+ long toleranceLength = Mm2Pixels(KFingerSize_mm) / 2;
+ TRect toleranceRect( aCenterPoint, TSize() );
+ // grow by the tolerance length, while keeping the center point
+ toleranceRect.Grow( toleranceLength, toleranceLength );
+ return toleranceRect;
+ }
+
+ long Twips2Pixels(long twips)
+ {
+ CWsScreenDevice* screen = CCoeEnv::Static()->ScreenDevice();
+ TZoomFactor deviceMap(screen);
+ deviceMap.SetZoomFactor(TZoomFactor::EZoomOneToOne);
+ long px = deviceMap.VerticalTwipsToPixels(twips); //assuming that vertical
+ return px; //the same as horizontal
+
+ }
+
+ long Mm2Pixels(long mm)
+ {
+ return Twips2Pixels(mm * KTwipsInMm);
+ }
+
+ long Inches2Pixels(float inches)
+ {
+ return Twips2Pixels(inches * KTwipsInInch);
+ }
+
+
+} // namespace
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/webkitutils/stmgesturefw/src/zoomgesturerecogniser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Gesture helper implementation
+*
+*/
+
+#include <e32math.h>
+#include <rt_uievent.h>
+#include "filelogger.h"
+#include "zoomgesturerecogniser.h"
+#include "GenericSimpleGesture.h"
+
+using namespace stmGesture ;
+
+_LIT8(KZoomInName, "ZoomIn") ;
+_LIT8(KZoomOutName, "ZoomOut") ;
+
+CZoomGestureRecogniser* CZoomGestureRecogniser::NewL(MGestureListener* aListener)
+{
+ CZoomGestureRecogniser* self = new (ELeave) CZoomGestureRecogniser(aListener) ;
+ return self;
+}
+
+CZoomGestureRecogniser::CZoomGestureRecogniser(MGestureListener* aListener) :
+ CGestureRecogniser(aListener), m_area(TRect::EUninitialized)
+{
+ m_rangesizeInPixels = 20 ; // by default 20 pixels from the edges is the area
+ m_zooming = false ;
+}
+
+CZoomGestureRecogniser::~CZoomGestureRecogniser()
+{
+}
+
+TGestureRecognitionState CZoomGestureRecogniser::recognise(int numOfActiveStreams,
+ MGestureEngineIf* pge)
+{
+ TGestureRecognitionState state = ENotMyGesture;
+ // Check if we are enabled or not
+ if (!m_gestureEnabled) return state ;
+
+ // Look at the events to see if it looks like zoom with one pointer
+ if (numOfActiveStreams == 1)
+ {
+ const stmUiEventEngine::MUiEvent* puie = pge->getUiEvents(0);
+ int countOfEvents = puie->countOfEvents();
+ stmUiEventEngine::TUiEventCode eventCode = puie->Code();
+
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: %d num %d code %d",
+ eventCode, countOfEvents, eventCode);
+
+ }
+ if (!m_zooming)
+ {
+ // We are not yet zoomin, check if we should start, i.e. whether we are
+ // inside the zoom trigger areas near the corners when touch is done...
+ if (eventCode == stmUiEventEngine::ETouch) // It must be ETouch inside the corner
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: 0x%x ETouch: num %d code %d, %d",
+ this, countOfEvents, puie->CurrentXY().iX, puie->CurrentXY().iY);
+ LOGARG("CZoomGestureRecogniser: area, %d,%d %d,%d, range: %d", m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY, m_rangesizeInPixels);
+ }
+
+ // the lower left rectangle is m_rangesizeIPixels from the corner
+ TRect lowerleft(m_area.iTl.iX, m_area.iBr.iY-m_rangesizeInPixels,
+ m_area.iTl.iX+m_rangesizeInPixels, m_area.iBr.iY) ;
+ TRect upperright(m_area.iBr.iX-m_rangesizeInPixels, m_area.iTl.iY,
+ m_area.iBr.iX, m_area.iTl.iY+m_rangesizeInPixels) ;
+
+ m_previoustouch = m_startingtouch = puie->CurrentXY() ;
+ m_delta = 0 ;
+ if (lowerleft.Contains(m_startingtouch) || upperright.Contains(m_startingtouch))
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: ZOOM IN/OUT, (%d,%d) in %d,%d %d,%d, range: %d",
+ m_startingtouch.iX, m_startingtouch.iY,
+ m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY,
+ m_rangesizeInPixels);
+ }
+ m_zooming = true ;
+ if (lowerleft.Contains(m_startingtouch))
+ {
+ m_zoomtype = EZoomIn ;
+ }
+ else
+ {
+ m_zoomtype = EZoomOut ;
+ }
+ state = ELockToThisGesture ; // keep zooming until release
+ TTwoPointGesture pgest(KUid, m_startingtouch, m_startingtouch);
+ pgest.setLogging(m_loggingenabled) ;
+ pgest.setDetails(m_delta) ;
+ pgest.setName(m_zoomtype == EZoomIn ? KZoomInName() : KZoomOutName()) ;
+ pgest.setType(m_zoomtype);
+
+ // Call the listener to inform that a gesture has happened
+ m_listener->gestureEnter(pgest) ;
+ }
+ else
+ {
+ // It is not our gesture so do nothing...
+ }
+ }
+ else
+ {
+ // It is not touch, so not our initiating UI event.. do nothing
+ }
+ }
+ else
+ {
+ // We are already zooming, calculate the changes in zooming factor if it looks we are still zooming
+ if (eventCode == stmUiEventEngine::ERelease) // ERelease stops zooming
+ {
+ // We were zooming, but if there are multiple touches we are not any more
+ m_listener->gestureExit(KUid) ; // should we call this or not?
+ }
+ else // all other UI events will keep on zooming
+ {
+ state = ELockToThisGesture ; // Keep the gesture
+ const TPoint& p = puie->CurrentXY() ;
+ float newdist = calculateDistance(p) ;
+ float olddist = calculateDistance(m_previoustouch) ;
+ m_previoustouch = p ;
+ m_delta = adjustZoom(olddist, newdist) ;
+ state = EGestureActive ;
+
+ // Inform listener only if there is something to say
+ if (m_delta != 0)
+ {
+ TTwoPointGesture pgest = TTwoPointGesture(KUid, p, m_startingtouch);
+ pgest.setLogging(m_loggingenabled) ;
+ pgest.setDetails(m_delta) ;
+ pgest.setName(m_zoomtype == EZoomIn ? KZoomInName() : KZoomOutName()) ;
+ pgest.setType(m_zoomtype);
+
+ // Call the listener to inform that a gesture has happened
+ m_listener->gestureEnter(pgest) ;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (m_zooming)
+ {
+ // We were zooming, but if there are multiple touches we are not any more
+ m_listener->gestureExit(KUid) ; // should we call this or not?
+ }
+ m_zooming = false ;
+ }
+ return state;
+}
+
+void CZoomGestureRecogniser::release(MGestureEngineIf*)
+{
+ if (m_zooming)
+ {
+ m_zooming = false ;
+ m_listener->gestureExit(KUid) ; // should we call this or not?
+ }
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: 0x%x release", this);
+ }
+}
+
+void CZoomGestureRecogniser::setRange(int rangeInPixels)
+{
+ m_rangesizeInPixels = rangeInPixels ;
+}
+
+void CZoomGestureRecogniser::setArea(const TRect& theArea)
+{
+ m_area = theArea ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: set area, %d,%d %d,%d",
+ m_area.iTl.iX, m_area.iTl.iY, m_area.iBr.iX, m_area.iBr.iY);
+ }
+}
+
+/*!
+ * calculate the distance, return as as float
+ */
+float CZoomGestureRecogniser::calculateDistance(const TPoint& tp)
+{
+ double x = ((m_startingtouch.iX-tp.iX)*(m_startingtouch.iX-tp.iX)) +
+ ((m_startingtouch.iY-tp.iY)*(m_startingtouch.iY-tp.iY)) ;
+ double ddist ;
+ Math::Sqrt(ddist, x) ;
+ return ddist ;
+}
+
+int CZoomGestureRecogniser::adjustZoom(float& aPreviousDistance, float aNewDistance)
+{
+ float diff = aNewDistance - aPreviousDistance ;
+ float logdiff = diff ;
+ if (diff < 0) diff = -diff ;
+ float changePercentage = (diff/aPreviousDistance)*100.f ;
+ if (changePercentage > 10.f)
+ {
+ // change more than 10%, make at most 10%
+ float newdiff = aPreviousDistance*0.1f;
+ if (aPreviousDistance > aNewDistance) newdiff = -newdiff ;
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: adjust zoom from %f to %f : was, now %f %f",
+ double(logdiff), double(newdiff), double(aPreviousDistance), double(aNewDistance));
+ }
+
+ aPreviousDistance = aPreviousDistance + newdiff ;
+ diff = newdiff ;
+
+ }
+ else
+ {
+ if (m_loggingenabled)
+ {
+ LOGARG("CZoomGestureRecogniser: adjust zoom from %f to %f : was, now %f %f",
+ double(logdiff), double(diff), double(aPreviousDistance), double(aNewDistance));
+ }
+ aPreviousDistance = aNewDistance ; // accept the new value and update the new length
+ diff = logdiff ; // put the original back
+ }
+ return (int)diff ;
+}
--- a/webengine/widgetbackuprestore/Inc/WidgetActiveCallback.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetbackuprestore/Inc/WidgetActiveCallback.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define WIDGETACTIVECALLBACK_H
#include <e32base.h> // CBase
-#include <abclient.h>
+#include <connect/abclient.h>
#ifdef _DEBUG
#include <flogger.h>
#endif
--- a/webengine/widgetbackuprestore/Src/WidgetActiveCallback.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetbackuprestore/Src/WidgetActiveCallback.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
// INCLUDE FILES
-#include <abclient.h>
+#include <connect/abclient.h>
#include <bautils.h>
#include "WidgetActiveCallback.h"
--- a/webengine/widgetbackuprestore/Src/WidgetBackupRestore.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetbackuprestore/Src/WidgetBackupRestore.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
-#include <abclient.h>
+#include <connect/abclient.h>
#include <e32property.h>
#include "widgetbackuprestore.h"
#include "WidgetActiveCallback.h"
--- a/webengine/widgetbackuprestore/group/WidgetBackupRestore.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetbackuprestore/group/WidgetBackupRestore.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
// Capability assignment.
CAPABILITY CAP_APPLICATION AllFiles -Location
@@ -46,8 +46,10 @@
USERINCLUDE ../../../inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+#if defined(__PLATFORM_VERSION_32__) || defined(__PLATFORM_VERSION_50_TUBE__) || defined(__PLATFORM_VERSION_50__)
MW_LAYER_CONNECT_SYSTEMINCLUDE
+#endif
// Libraries
LIBRARY euser.lib
--- a/webengine/widgetbackuprestore/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetbackuprestore/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT GCCE
--- a/webengine/widgetengine/group/WidgetEngine.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/group/WidgetEngine.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -22,9 +22,11 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+
USERINCLUDE ../../osswebengine/Webkit/S60/WebView
USERINCLUDE ../../osswebengine/Webkit/S60/Plugins
USERINCLUDE ../../osswebengine/Webkit/S60/WebCoreSupport
@@ -63,14 +65,9 @@
SYSTEMINCLUDE ../../webkitutils/ToolBar
SYSTEMINCLUDE ../../webkitutils/HistoryProvider
-MW_LAYER_ECOM_SYSTEMINCLUDE
-MW_LAYER_HTTP_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_SWI_SYSTEMINCLUDE
-#if defined(BRDO_BROWSER_50_FF)
-MW_LAYER_STDAPIS_SYSTEMINCLUDE
-#endif
-SYSTEMINCLUDE /epoc32/include/swi
+// #if defined(BRDO_BROWSER_50_FF)
+// MW_LAYER_STDAPIS_SYSTEMINCLUDE
+// #endif
MACRO __S60__
MACRO arm
@@ -92,11 +89,9 @@
MACRO NOKIA_CHANGES
MACRO __CPLUSPLUS
-
USERINCLUDE ../inc
SOURCEPATH ../src
-
SOURCE Widget.cpp
SOURCE WidgetFuncs.cpp
SOURCE WidgetEventHandler.cpp
@@ -116,6 +111,7 @@
SOURCE WidgetEngineBridge.cpp
START RESOURCE ../Src/WidgetMenu.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH RESOURCE_FILES_DIR
#ifdef __S60_32__
@@ -143,3 +139,4 @@
LIBRARY etel.lib
LIBRARY etelmm.lib
LIBRARY WebUtils.lib
+
--- a/webengine/widgetengine/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/widgetengine/inc/MenuClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/inc/MenuClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#include <avkon.hrh>
#include <widgetmenu.rsg>
-#include "BrCtlInterface.h"
+#include <brctlinterface.h>
#include "MenuCallbacks.h"
#include "MenuItemCallbacks.h"
#include "WidgetEngineCallbacks.h"
--- a/webengine/widgetengine/inc/MenuItemClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/inc/MenuItemClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
#include <e32base.h>
-#include "BrCtlInterface.h"
+#include <brctlinterface.h>
// CONSTANTS
--- a/webengine/widgetengine/inc/Preferences.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/inc/Preferences.h Mon Mar 29 12:27:15 2010 +0100
@@ -167,7 +167,11 @@
* Remove preference for a particular key
*/
void removePreferenceL( const TDesC& akey, const TDesC& avalue);
-
+ void externalizeL(RWriteStream& aStream) const;
+
+ void internalizeL(RReadStream& aStream);
+
+ void deleteAllPrefFiles();
private:
RPtrHashMap<TDesC,PrefElement>* m_preferences;
--- a/webengine/widgetengine/inc/WidgetClient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/inc/WidgetClient.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
// INCLUDES
#include <e32base.h>
-#include "BrCtlInterface.h"
+#include <brctlinterface.h>
#include "WidgetCallbacks.h"
#include "WidgetEngineCallbacks.h"
--- a/webengine/widgetengine/inc/WidgetEngineBridge.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/inc/WidgetEngineBridge.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef __WIDGETENGINEINTERFACE
#define __WIDGETENGINEINTERFACE
@@ -24,7 +22,7 @@
#include "config.h"
#include <e32base.h>
#include <eikenv.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "WidgetEngineCallbacks.h"
#include "WidgetJSObjectProtector.h"
#include "wtf/HashSet.h"
--- a/webengine/widgetengine/src/MenuClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/src/MenuClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -298,7 +298,12 @@
m_jsmenu->leftKeyCallback()->InvokeCall();
return ETrue;
}
-
+
+ if ( aCommandId == EAknSoftkeyOptions && m_jsmenu && m_jsmenu->onShowCallback() ) {
+ m_jsmenu->onShowCallback()->InvokeCall();
+ return ETrue;
+ }
+
return EFalse;
}
--- a/webengine/widgetengine/src/Preferences.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/src/Preferences.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -34,6 +34,8 @@
_LIT( KKeyFormat, "%d.%S" );
_LIT( KPrefsFile,"prefs.dat" );
+_LIT( KPrefsTmpFile,"prefs.dat.tmp" );
+_LIT( KPrefsBakFile, "prefs.dat.bak" );
// ----------------------------------------------------------------------------
@@ -58,7 +60,7 @@
// ----------------------------------------------------------------------------
WidgetPreferences::~WidgetPreferences()
{
- TRAP_IGNORE( saveL() );
+ //TRAP_IGNORE( saveL() );
if (m_preferences) {
m_preferences->ResetAndDestroy();
m_preferences->Close();
@@ -262,6 +264,13 @@
}
CleanupStack::Pop(); // k
+
+ // Save update to persistent storage
+ TRAPD(err, saveL());
+ if(err!= KErrNone)
+ {
+ deleteAllPrefFiles();
+ }
}
}
@@ -301,6 +310,12 @@
}
CleanupStack::PopAndDestroy(); // k
+
+ // Save update to persistent storage
+ TRAPD(err, saveL());
+ if(err!= KErrNone) {
+ deleteAllPrefFiles();
+ }
}
}
@@ -317,46 +332,180 @@
RFs fs;
- if ( fs.Connect() == KErrNone ) {
+
+ // Connect to file server
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL( fs );
- CleanupClosePushL( fs );
- HBufC* filePath = HBufC::NewLC( m_basepath->Length() + KPrefsFile().Length() );
+ // Form filenames
+ HBufC* tmpFilePath = HBufC::NewLC( m_basepath->Length() + KPrefsTmpFile().Length() );
+ HBufC* bakFilePath = HBufC::NewLC( m_basepath->Length() + KPrefsBakFile().Length() );
+ HBufC* filePath = HBufC::NewLC( m_basepath->Length() + KPrefsFile().Length() );
+
+ TPtr fName( tmpFilePath->Des() );
+ fName.Append( *m_basepath );
+ fName.Append( KPrefsTmpFile );
+
+ fName.Set( bakFilePath->Des() );
+ fName.Append( *m_basepath );
+ fName.Append( KPrefsBakFile );
+
+ fName.Set( filePath->Des() );
+ fName.Append( *m_basepath );
+ fName.Append( KPrefsFile );
+
+ RFileWriteStream writeStream;
+ writeStream.PushL();
+
+ // Try to create the temp file
+ if(writeStream.Replace(fs, *tmpFilePath, EFileWrite|EFileShareExclusive) != KErrNone) {
+ // Make sure the private path exists
+ fs.CreatePrivatePath( EDriveC );
+
+ // Try again to create the file
+ User::LeaveIfError(writeStream.Create(fs, *tmpFilePath, EFileWrite|EFileShareExclusive));
+ }
- TPtr fName( filePath->Des() );
- fName.Append( *m_basepath );
- fName.Append( KPrefsFile );
+ // Try to externalize the data to the stream
+ TRAPD(err, externalizeL(writeStream));
+
+ // Close the stream
+ CleanupStack::PopAndDestroy(); // writeStream
+
+ // If no error at this point then we're guaranteed to have a valid file
+ if(err!=KErrNone)
+ {
+ // Delete the temp file
+ fs.Delete(*tmpFilePath);
+
+ // And leave with the error code
+ User::Leave(err);
+ }
+
+ // Backup any old valid file just in case
+ fs.Delete(*bakFilePath);
+ fs.Rename(*filePath, *bakFilePath);
+
+ // Rename the temp file to be the actual settings file
+ err = fs.Rename(*tmpFilePath, *filePath);
+ if(err!=KErrNone)
+ {
+ // If we had a backup settings file, try to return it
+ fs.Rename(*bakFilePath, *filePath);
+ User::Leave(err);
+ }
- RFileWriteStream writeStream;
- TInt fileerror = writeStream.Replace( fs, *filePath, EFileWrite );
+ // Cleanup
+ CleanupStack::PopAndDestroy(4); // filePath, bakFilePath, tmpFilePath, fs
+
+}
- if ( fileerror != KErrNone ) {
- fs.CreatePrivatePath( EDriveC );
- fileerror = writeStream.Create( fs, *filePath, EFileWrite|EFileShareExclusive );
- }
+// ----------------------------------------------------------------------------
+// WidgetPreferences::externalizeL
+//
+//
+// ----------------------------------------------------------------------------
+
+void WidgetPreferences::externalizeL(RWriteStream& aStream) const
+{
+ aStream.WriteInt32L( m_preferences->Count() );
+
+ TPtrHashMapIter<TDesC,PrefElement> it( *m_preferences );
+ const TDesC* key;
+ const PrefElement* pref;
- if ( fileerror == KErrNone ) {
- CleanupClosePushL( writeStream );
- writeStream.WriteInt32L( m_preferences->Count() );
-
- TPtrHashMapIter<TDesC,PrefElement> it( *m_preferences );
- const TDesC* key;
- const PrefElement* pref;
+ while ( ( key = it.NextKey() ) != 0 ) {
+ pref = it.CurrentValue();
+ aStream.WriteInt32L( key->Length() );
+ aStream.WriteL( *key );
+ aStream.WriteInt32L( pref->value().Length() );
+ aStream.WriteL( pref->value() );
+ aStream.WriteInt32L( pref->valueSize() );
+ }
+ aStream.CommitL();
+
+}
+
+// ----------------------------------------------------------------------------
+// WidgetPreferences::internalizeL
+//
+//
+// ----------------------------------------------------------------------------
+void WidgetPreferences::internalizeL(RReadStream& aStream)
+{
+ TInt count( aStream.ReadInt32L() );
+ for( TInt i = 0; i < count; i++ ) {
+
+ TInt len = aStream.ReadInt32L();
+
+ if ( len > 0 ) {
+ HBufC* key = HBufC::NewLC( len );
+ TPtr ptrkey = key->Des();
+ aStream.ReadL( ptrkey, len );
+ len = aStream.ReadInt32L();
- while ( ( key = it.NextKey() ) != 0 ) {
- pref = it.CurrentValue();
- writeStream.WriteInt32L( key->Length() );
- writeStream.WriteL( *key );
- writeStream.WriteInt32L( pref->value().Length() );
- writeStream.WriteL( pref->value() );
- writeStream.WriteInt32L( pref->valueSize() );
+ if ( len <= KMaxKeyValueSize ) {
+ HBufC* value = HBufC::NewLC( len );
+ TPtr ptrvalue = value->Des();
+ aStream.ReadL( ptrvalue, len );
+ PrefElement* pref = new ( ELeave ) PrefElement;
+ CleanupStack::PushL( pref );
+ pref->setValueL( ptrvalue );
+ TInt size = aStream.ReadInt32L();
+ pref->setValueSize( size );
+ m_preferences->InsertL( key, pref );
+ CleanupStack::Pop(); //pref
+ CleanupStack::PopAndDestroy(); //value
+ CleanupStack::Pop(); //key
}
+ else {
+ CleanupStack::PopAndDestroy( key );
+ }
- writeStream.CommitL();
- CleanupStack::PopAndDestroy(); //writeStream
+ }
+
+ else {
+ break;
}
+ }
- CleanupStack::PopAndDestroy( 2 ); //fs,filePath
- }
+ }
+
+// ----------------------------------------------------------------------------
+// WidgetPreferences::deleteAllPrefFiles
+//
+//
+// ----------------------------------------------------------------------------
+void WidgetPreferences::deleteAllPrefFiles(){
+
+ if ( !m_basepath || (m_basepath->Length() <= 0) )
+ return;
+
+
+ RFs fs;
+ // Deleting bkUp and main prefs file.
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL( fs );
+
+ HBufC* bkFilePath = HBufC::NewLC( m_basepath->Length() + KPrefsBakFile().Length() );
+
+ TPtr fName( bkFilePath->Des() );
+ fName.Append( *m_basepath );
+ fName.Append( KPrefsBakFile );
+
+ fs.Delete( *bkFilePath );
+
+ CleanupStack::PopAndDestroy();
+
+ HBufC* prefFilePath = HBufC::NewLC( m_basepath->Length() + KPrefsFile().Length() );
+
+ TPtr fNamePr( prefFilePath->Des() );
+ fNamePr.Append( *m_basepath );
+ fNamePr.Append( KPrefsFile);
+
+ fs.Delete( *prefFilePath );
+
+ CleanupStack::PopAndDestroy(2);
}
@@ -368,61 +517,32 @@
// ----------------------------------------------------------------------------
void WidgetPreferences::loadL()
{
+ if ( !m_basepath || (m_basepath->Length() <= 0) )
+ return;
+
+ // Try to connect to file server
RFs fs;
- if ( !m_basepath || (m_basepath->Length() <= 0) )
- return;
-
- if ( fs.Connect() == KErrNone ) {
- CleanupClosePushL( fs );
- HBufC* filePath = HBufC::NewLC( m_basepath->Length() + KPrefsFile().Length() );
-
- TPtr fName( filePath->Des() );
- fName.Append( *m_basepath );
- fName.Append( KPrefsFile );
-
- RFileReadStream readStream;
-
- if ( readStream.Open( fs, *filePath, EFileRead ) == KErrNone ) {
- CleanupClosePushL( readStream );
- TInt count( readStream.ReadInt32L() );
-
- for( TInt i = 0; i < count; i++ ) {
- TInt len = readStream.ReadInt32L();
-
- if ( len > 0 ) {
- HBufC* key = HBufC::NewLC( len );
- TPtr ptrkey = key->Des();
- readStream.ReadL( ptrkey, len );
- len = readStream.ReadInt32L();
+ User::LeaveIfError(fs.Connect());
+ CleanupClosePushL( fs );
+
+ // Form settings file name
+ HBufC* filePath = HBufC::NewLC( m_basepath->Length() + KPrefsFile().Length() );
+ TPtr fName( filePath->Des() );
+ fName.Append( *m_basepath );
+ fName.Append( KPrefsFile );
- if ( len <= KMaxKeyValueSize ) {
- HBufC* value = HBufC::NewLC( len );
- TPtr ptrvalue = value->Des();
- readStream.ReadL( ptrvalue, len );
- PrefElement* pref = new ( ELeave ) PrefElement;
- CleanupStack::PushL( pref );
- pref->setValueL( ptrvalue );
- TInt size = readStream.ReadInt32L();
- pref->setValueSize( size );
- m_preferences->InsertL( key, pref );
- CleanupStack::Pop(); //pref
- CleanupStack::PopAndDestroy(); //value
- CleanupStack::Pop(); //key
- }
- else {
- CleanupStack::PopAndDestroy( key );
- }
- }
- else {
- break;
- }
- }
+ // Open stream
+ RFileReadStream readStream;
+ readStream.PushL();
+ TInt err = readStream.Open( fs, *filePath, EFileRead );
+ if(err!=KErrNone) {
+ User::Leave(err);
+ }
+
+ // Read the data from the stream
+ internalizeL(readStream);
- CleanupStack::PopAndDestroy(); //readStream
- }
-
- CleanupStack::PopAndDestroy( 2 ); //fs,filePath
- }
+ CleanupStack::PopAndDestroy(3); // readStream, filePath, fs
}
// ----------------------------------------------------------------------------
@@ -482,3 +602,4 @@
}
+
--- a/webengine/widgetengine/src/WidgetEngineBridge.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/src/WidgetEngineBridge.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include "WidgetEngineBridge.h"
#include "WidgetEventHandler.h"
@@ -25,7 +23,7 @@
#include <eikmenub.h>
#include <gdi.h>
#include <bitdev.h>
-#include "BrCtlInterface.h"
+#include <brctlinterface.h>
#include "WidgetEngineCallbacks.h"
#include "WidgetClient.h"
@@ -172,7 +170,11 @@
switch( aParam ) {
case TBrCtlDefs::EWidgetBasePath: {
m_preferences->setBasePathL(aValue);
- m_preferences->loadL();
+ TRAPD(err, m_preferences->loadL());
+ if(err!=KErrNone)
+ {
+ m_preferences->deleteAllPrefFiles();
+ }
break;
}
case TBrCtlDefs::EWidgetBundleId: {
@@ -321,3 +323,4 @@
//END OF FILE
+
--- a/webengine/widgetengine/src/Wrt.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/src/Wrt.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include "Wrt.h"
#include "WrtPlatform.h"
-#include <CUserAgent.h>
+#include <cuseragent.h>
//#include "WrtFuncs.h"
// EXTERNAL DATA STRUCTURES
--- a/webengine/widgetengine/src/WrtPlatform.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetengine/src/WrtPlatform.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,8 @@
// INCLUDE FILES
#include "WrtPlatform.h"
-#include <sisregistryentry.h>
-#include <sisregistrysession.h>
+#include <swi\sisregistryentry.h>
+#include <swi\sisregistrysession.h>
#include <sysutil.h>
#include <etel.h>
#include <etelmm.h>
--- a/webengine/widgetinstaller/Inc/WidgetBackupRegistryXml.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Inc/WidgetBackupRegistryXml.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,30 +1,32 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the header file of the CWidgetBackupRegistryXml class.
+* ==============================================================================
+* Name : WidgetRegistryXml.h
+* Part of : Widget Registry
+* Interface : Widget Registry API
+* Description : This file contains the header file of the CWidgetBackupRegistryXml class.
*
* This class processes persistent registry data in XML.
+* Version : %version: %
*
+* Copyright © 2008 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
+* ==============================================================================
*/
-
#ifndef WIDGETBACKUPREGISTRYXML_H
#define WIDGETBACKUPREGISTRYXML_H
// INCLUDES
#include <libxml2_tree.h>
-#include "WidgetRegistryConstants.h"
-#include "WidgetPropertyValue.h"
+#include <widgetregistryconstants.h>
+#include <widgetpropertyvalue.h>
class RFs;
/**
--- a/webengine/widgetinstaller/Inc/WidgetConfigHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Inc/WidgetConfigHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
// INCLUDES
#include <libxml2_tree.h>
-#include <WidgetRegistryConstants.h>
-#include <WidgetPropertyValue.h>
+#include <widgetregistryconstants.h>
+#include <widgetpropertyvalue.h>
// FORWARD DECLARATION
--- a/webengine/widgetinstaller/Inc/WidgetInstaller.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Inc/WidgetInstaller.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
// INCLUDES
#include <e32base.h>
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#ifdef _DEBUG
#include <flogger.h>
#endif
--- a/webengine/widgetinstaller/Src/WidgetBackupRegistryXml.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Src/WidgetBackupRegistryXml.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,20 +1,24 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Processes registry persistent data in XML.
-*
-*/
+//
+// ==============================================================================
+// Name : WidgetBackupRegistryXml.cpp
+// Part of : WidgetRegistry
+// Interface :
+// Description : Processes registry persistent data in XML.
+// Version : 5.0
+//
+// Copyright © 2008 Nokia Corporation.
+// This material, including documentation and any related
+// computer programs, is protected by copyright controlled by
+// Nokia Corporation. All rights are reserved. Copying,
+// including reproducing, storing, adapting or translating, any
+// or all of this material requires the prior written consent of
+// Nokia Corporation. This material also contains confidential
+// information which may not be disclosed to others without the
+// prior written consent of Nokia Corporation.
+// ==============================================================================
+///
+// INCLUDE FILES
#include <e32base.h>
#include <f32file.h>
--- a/webengine/widgetinstaller/Src/WidgetConfigHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Src/WidgetConfigHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include "SWInstWidgetUid.h"
#include "WidgetInstallerInternalCRKeys.h"
#include <charconv.h>
-#include <WidgetRegistryConstants.h>
+#include <widgetregistryconstants.h>
// DTD
--- a/webengine/widgetinstaller/Src/WidgetInstaller.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Src/WidgetInstaller.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <libxml2_parser.h>
#include <libxml2_tree.h>
-#include "Browser_platform_variant.hrh"
+#include "browser_platform_variant.hrh"
#ifdef BRDO_SYMBIAN_LIBXML_FF
#include <xmlengxestd.h>
@@ -471,7 +471,7 @@
}
break;
- case EWidgetPropTypeInt:
+ case EWidgetPropTypeInt: {
TLex toInt( value->Des() );
TInt k;
if ( KErrNone != toInt.Val( k ) )
@@ -480,13 +480,15 @@
}
if ( propId == EBlanketPermGranted )
backupBlanketPerm = k;
- break;
+ }
+ break;
- case EWidgetPropTypeString:
+ case EWidgetPropTypeString:{
*(backupPropertyValues[propId]) = *value;
- break;
+ }
+ break;
- case EWidgetPropTypeUid:
+ case EWidgetPropTypeUid:
{
TLex toUid( value->Des() );
TInt u;
--- a/webengine/widgetinstaller/Src/WidgetRegistrationManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/Src/WidgetRegistrationManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -20,8 +20,12 @@
#include "WidgetInstaller.h"
#include <apgcli.h>
#include <APGICNFL.h>
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <apgicnflpartner.h>
+//#include <apgicnflinternal.h> // missing
+#endif
#include <S32MEM.H>
-#include <WidgetRegistryData.h>
+#include <widgetregistrydata.h>
// CONSTANTS
_LIT(KMBMExt, ".mbm");
--- a/webengine/widgetinstaller/group/WidgetInstaller.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/group/WidgetInstaller.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -25,14 +25,12 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
-
+#include <platform/mw/browser_platform_variant.hrh>
// Capability assignment.
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
-
// Sources
SOURCEPATH .
SOURCEPATH ../Src
@@ -47,8 +45,7 @@
USERINCLUDE . ../Inc/
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_CONNECT_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// Libraries
LIBRARY euser.lib
--- a/webengine/widgetinstaller/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetinstaller/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT GCCE
--- a/webengine/widgetmemoryplugin/data/10282855.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetmemoryplugin/data/10282855.rss Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,7 @@
*
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
#include <oommonitorplugin.hrh>
RESOURCE REGISTRY_INFO theInfo
@@ -35,4 +35,4 @@
};
}
};
-}
\ No newline at end of file
+}
--- a/webengine/widgetmemoryplugin/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetmemoryplugin/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
PRJ_PLATFORMS
DEFAULT
--- a/webengine/widgetmemoryplugin/group/widgetmemoryplugin.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetmemoryplugin/group/widgetmemoryplugin.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -22,14 +22,14 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_ECOM_PLUGIN
VENDORID VID_DEFAULT
USERINCLUDE .
+
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
START RESOURCE ../data/10282855.rss
TARGET widgetmemoryplugin.rsc
@@ -39,5 +39,5 @@
SOURCE widgetmemoryplugin.cpp
LIBRARY ECOM.LIB
-LIBRARY euser.lib
-LIBRARY oommonitor.lib
+LIBRARY euser.lib
+LIBRARY oommonitor.lib
--- a/webengine/widgetregistry/Client/src/WidgetRegistryClient.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Client/src/WidgetRegistryClient.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,8 +19,7 @@
#include <e32base.h>
#include <f32file.h>
#include <s32mem.h>
-#include "WidgetRegistryClient.h"
-
+#include <widgetregistryclient.h>
// ============================================================================
// Starts the widget registry server
--- a/webengine/widgetregistry/Rom/WidgetRegistry.iby Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Rom/WidgetRegistry.iby Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,11 @@
#ifndef __WIDGETREGISTRY_IBY__
#define __WIDGETREGISTRY_IBY__
-#include <platform/mw/Browser_platform_variant.hrh>
+#ifdef __S60_32__
+#include <browser_platform_variant.hrh>
+#else
+#include <platform/mw/browser_platform_variant.hrh>
+#endif
// app exe
S60_APP_EXE(WidgetRegistry)
--- a/webengine/widgetregistry/Server/inc/UidAllocator.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/UidAllocator.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
#ifndef UIDALLOCATOR_H
#define UIDALLOCATOR_H
// INCLUDE FILES
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
/**
* This class allows clients to allocate a UID from a given range.
@@ -37,4 +36,3 @@
static TBool IsWidget( TUid aUid );
};
#endif
-
--- a/webengine/widgetregistry/Server/inc/WidgetEntry.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetEntry.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,19 +17,17 @@
*
*/
-
#ifndef WIDGETENTRY_H
#define WIDGETENTRY_H
// INCLUDES
-#include "WidgetPropertyValue.h"
+#include <widgetpropertyvalue.h>
#include "WidgetRegistryXml.h"
// FORWARD DECLARATIONS
class RFileWriteStream;
class RFileReadStream;
-
/**
*
* This class holds all information related to a widget
--- a/webengine/widgetregistry/Server/inc/WidgetMMCHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetMMCHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,22 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ============================================================================
+* Name : WidgetMMCHandler.h
+* Part of : Widget Registry
+* Description : Acts on MMC card insertion/removal
+* Version : 3.1
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Acts on MMC card insertion/removal
-*
+* Copyright © 2008 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
+* =============================================================================
*/
-
#ifndef WIDGETMMCHANDLER_H
#define WIDGETMMCHANDLER_H
@@ -23,6 +24,7 @@
#include <e32std.h>
#include <e32base.h>
#include <f32file.h>
+#include <apgnotif.h>
#include "WidgetRegistryLog.h"
// FORWARD DECLARATION
@@ -33,7 +35,7 @@
*
* @since 3.1
*/
-class CWidgetMMCHandler : public CActive
+class CWidgetMMCHandler : public CActive, public MApaAppListServObserver
{
public:
@@ -42,6 +44,9 @@
virtual ~CWidgetMMCHandler();
void Start();
+
+ //from MApaAppListServObserver
+ void HandleAppListEvent(TInt aEvent);
protected:
@@ -68,6 +73,10 @@
RFs iFs;
TInt iDriveFlags;
+
+ TInt iDeltaDriveFlags;
+
+ CApaAppListNotifier* iApaAppListNotifier;
public:
--- a/webengine/widgetregistry/Server/inc/WidgetRegistry.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetRegistry.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,10 +23,10 @@
// INCLUDES
#include <e32hashtab.h>
#include <apgcli.h>
-#include <Browser_platform_variant.hrh>
-#include "WidgetRegistryData.h"
-#include "WidgetRegistryConstants.h"
-#include "WidgetPropertyValue.h"
+#include <browser_platform_variant.hrh>
+#include <widgetregistrydata.h>
+#include <widgetregistryconstants.h>
+#include <widgetpropertyvalue.h>
#include "WidgetRegistryLog.h"
// CONSTANTS
@@ -149,7 +149,7 @@
/**
* return serialized value of property aId for the widget aUid or leave
*/
- CBufFlat* CWidgetRegistry::GetWidgetPropertyValueL(
+ CBufFlat* GetWidgetPropertyValueL(
const TUid& aUid,
TWidgetPropertyId aId,
TInt aMaxLength );
@@ -200,7 +200,10 @@
* dirty flag is true only in non leave case and some change
* needs to be written out
*/
- void InternalizeL( TBool& aDirtyFlag );
+ void InternalizeL( TBool aDoConsistency,
+ TBool aIgnoreParseError,
+ TBool& aDirtyFlag,
+ TInt& aParseError );
/**
* Store widget information to a file
@@ -211,7 +214,9 @@
* Returns security policyId.
*/
TInt SecurityPolicyId() { return FetchSecurityPolicyIdL(); }
-
+
+ static void NotifyWidgetAltered();
+
private:
/**
@@ -228,6 +233,11 @@
* Get widget entry with a particular UId
*/
TInt GetWidgetEntry( const TUid& aUid, CWidgetEntry*& aEntry ) const;
+
+ /**
+ * Get widget entry with a particular UId
+ */
+ TInt GetWidgetOldEntry( const TUid& aUid, CWidgetEntry*& aEntry ) const;
/**
* Get widget entry with a particular bundle Id
@@ -349,6 +359,7 @@
RWidgetArray iEntries;
RUidArray iUsedUids;
RFs iFs; // not owned
+ RPointerArray<CWidgetEntry> iOldEntries; // Hold the earlier entries from iEntries
// added for validation purpose
RApaLsSession iAppArch;
--- a/webengine/widgetregistry/Server/inc/WidgetRegistryServer.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetRegistryServer.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,7 @@
#define WIDGETREGISTRYSERVER_H
// INCLUDES
-#include <WidgetRegistryConstants.h>
+#include <widgetregistryconstants.h>
// FORWARD DECLARATIONS
--- a/webengine/widgetregistry/Server/inc/WidgetRegistrySession.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetRegistrySession.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#define WIDGETREGISTRYSESSION_H
// INCLUDES
-#include "WidgetRegistryData.h"
+#include <widgetregistrydata.h>
// FORWARD DECLARATIONS
--- a/webengine/widgetregistry/Server/inc/WidgetRegistryXml.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/inc/WidgetRegistryXml.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,14 +17,13 @@
*
*/
-
#ifndef WIDGETREGISTRYXML_H
#define WIDGETREGISTRYXML_H
// INCLUDES
#include <libxml2_tree.h>
-#include "WidgetRegistryConstants.h"
-#include "WidgetPropertyValue.h"
+#include <widgetregistryconstants.h>
+#include <widgetpropertyvalue.h>
class RFs;
/**
--- a/webengine/widgetregistry/Server/src/WidgetEntry.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/src/WidgetEntry.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
*/
#include "WidgetEntry.h"
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
#include <s32file.h>
#include <f32file.h>
#include <APGTASK.H>
@@ -174,9 +174,10 @@
{
User::Leave( KErrCorrupt );
}
-
+ // Read only until the ENokiaWidget for the 3.2 widgets
+ TInt propertyIdCount = (*this)[EWidgetPropertyListVersion] == KWidgetPropertyListVersion32 ? ENokiaWidget+1 : EWidgetPropertyIdCount;
// fill property values array
- for ( TInt i = 1; i < EWidgetPropertyIdCount; ++i )
+ for ( TInt i = 1; i < propertyIdCount; ++i )
{
(*this)[i].DeserializeL( aReadStream );
}
--- a/webengine/widgetregistry/Server/src/WidgetMMCHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/src/WidgetMMCHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,22 +1,26 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handle notifications of MMC events.
-*
-*
-*
-*/
+//
+// ============================================================================
+// Name : WidgetMMCHandler.cpp
+// Part of : SW Installer UIs / WidgetInstallerUI
+//
+// Description: Handle notifications of MMC events.
+//
+//
+// Version : 3.1
+//
+// Copyright © 2006 Nokia Corporation.
+// This material, including documentation and any related
+// computer programs, is protected by copyright controlled by
+// Nokia Corporation. All rights are reserved. Copying,
+// including reproducing, storing, adapting or translating, any
+// or all of this material requires the prior written consent of
+// Nokia Corporation. This material also contains confidential
+// information which may not be disclosed to others without the
+// prior written consent of Nokia Corporation.
+// ==============================================================================
+///
+// INCLUDE FILES
#include "WidgetMMCHandler.h"
#include "WidgetRegistry.h"
@@ -76,6 +80,8 @@
{
iDriveFlags = 0;
}
+ iDeltaDriveFlags = 0;
+ iApaAppListNotifier = CApaAppListNotifier::NewL(this,CActive::EPriorityStandard);
}
// ============================================================================
@@ -113,7 +119,13 @@
LOG_OPEN;
LOG1( "MMC notification status %d", iStatus.Int() );
- if ( iStatus == KErrNone )
+ TInt status = iStatus.Int();
+
+ // Request the notification before scanning
+ iFs.NotifyChange( ENotifyDisk, iStatus );
+ SetActive();
+
+ if ( status == KErrNone )
{
TInt driveFlags = 0;
TInt deltaDriveFlags = 0;
@@ -122,40 +134,13 @@
LOG1( " iDriveFlags 0x%x", iDriveFlags );
LOG1( " driveFlags 0x%x", driveFlags );
deltaDriveFlags = iDriveFlags ^ driveFlags;
+ iDeltaDriveFlags |= deltaDriveFlags;
LOG1( " deltaDriveFlags 0x%x", deltaDriveFlags );
iDriveFlags = driveFlags;
}
- if ( deltaDriveFlags )
- {
- LOG( " mmc start internalize" );
-
- LOG( " delay for appArch to sync with card" );
- // delay for appArch to sync with card (if don't wait then
- // when query AppArch about installed widgets, it doesn't
- // report any on card)
- User::After( 8000000 ); // 8 sec in microseconds
-
- TBool dirtyFlag = EFalse;
- TRAPD( error,
- iRegistry->InternalizeL( dirtyFlag ) );
- LOG1( " mmc end internalize, error %d", error );
- if ( KErrNone == error )
- {
- LOG( " mmc notification internalize completed" );
- // internalize consistency enforcement may have altered
- // registry
- if ( dirtyFlag )
- {
- TRAP_IGNORE( iRegistry->ExternalizeL(); );
- }
- }
- }
}
LOG( "MMC notification done" );
LOG_CLOSE;
-
- iFs.NotifyChange( ENotifyDisk, iStatus );
- SetActive();
}
// ============================================================================
@@ -232,3 +217,30 @@
LOG_CLOSE;
return error;
}
+
+void CWidgetMMCHandler::HandleAppListEvent(TInt aEvent)
+ {
+ TBool dirtyFlag = EFalse;
+ TInt parseError = KErrNone;
+
+ if ( iDeltaDriveFlags )
+ {
+ // Assume usual case and things are consistent
+ // and the registry entry file can be parsed and used.
+ TRAPD( error, iRegistry->InternalizeL( ETrue,
+ ETrue,
+ dirtyFlag,
+ parseError ) );
+ if ( KErrNone == error )
+ {
+ // internalize consistency enforcement may have altered registry
+ if ( dirtyFlag )
+ {
+ TRAP_IGNORE( iRegistry->ExternalizeL(); );
+ }
+ }
+ iDeltaDriveFlags = 0;
+
+ CWidgetRegistry::NotifyWidgetAltered();
+ }
+ }
--- a/webengine/widgetregistry/Server/src/WidgetRegistry.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/src/WidgetRegistry.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,8 +29,8 @@
#include <libc/stdlib.h>
#include <libxml2_parser.h>
#include <libxml2_tree.h>
+#include "WidgetMMCHandler.h"
#include <xmlengxestd.h>
-#include "WidgetMMCHandler.h"
#include "UidAllocator.h"
#if defined( BRDO_WRT_SECURITY_MGR_FF )
#include <RTSecManager.h>
@@ -134,7 +134,7 @@
// ============================================================================
//
-static void NotifyWidgetAltered()
+void CWidgetRegistry::NotifyWidgetAltered()
{
const TUid KMyPropertyCat = { 0x10282E5A };
enum TMyPropertyKeys { EMyPropertyAltered = 110 };
@@ -184,6 +184,7 @@
CWidgetRegistry::~CWidgetRegistry()
{
iEntries.ResetAndDestroy();
+ iOldEntries.ResetAndDestroy();
iUsedUids.Close();
// iFs not owned
iAppArch.Close();
@@ -191,7 +192,6 @@
iLangDirList.ResetAndDestroy();
delete iMMCHandler;
delete iXmlProcessor;
-
iFs.Close();
LOG_DESTRUCT;
}
@@ -220,8 +220,23 @@
// it should be detected and corrected once the resource limit
// that caused the leave is removed.
TBool dirtyFlag = EFalse;
+ TInt parseError = KErrNone;
iXmlProcessor = CWidgetRegistryXml::NewL();
- TRAP_IGNORE( InternalizeL( dirtyFlag ) );
+ // For first attempt assume usual case that things are consistent
+ // and the registry entry file can be parsed and used.
+ TRAP_IGNORE( InternalizeL( EFalse, // aDoConsistency,
+ EFalse, // aIgnoreParseError
+ dirtyFlag,
+ parseError ) );
+ if ( parseError )
+ {
+ // Special case where we need to do consistency because
+ // the widget registry entry file is corrupt.
+ TRAP_IGNORE( InternalizeL( ETrue, // aDoConsistency,
+ ETrue, // aIgnoreParseError
+ dirtyFlag,
+ parseError ) );
+ }
if ( dirtyFlag )
{
// Basically same reason to ignore leaves here.
@@ -237,7 +252,6 @@
LOG1( "ConstructL internalize done, registry count %d",
iEntries.Count() );
LOG_CLOSE;
-
iMMCHandler = CWidgetMMCHandler::NewL( *this, iFs );
iMMCHandler->Start();
}
@@ -373,6 +387,29 @@
}
// ============================================================================
+// CWidgetRegistry::GetWidgetOldEntry()
+// Get the widget entry from iOldEntrys array
+//
+// @since 3.1
+// ============================================================================
+//
+TInt CWidgetRegistry::GetWidgetOldEntry(
+ const TUid& aUid,
+ CWidgetEntry*& aEntry) const
+ {
+ for(TInt i = 0;i < iOldEntries.Count();i++)
+ {
+ CWidgetEntry* entry = iOldEntries[i];
+ if ( TUid::Uid( (*entry)[EUid] ) == aUid )
+ {
+ aEntry = entry;
+ return i;
+ }
+ }
+ return -1;
+ }
+
+// ============================================================================
// CWidgetRegistry::GetWidgetEntry()
// Get the widget entry
//
@@ -496,7 +533,10 @@
// @since 3.1
// ============================================================================
//
-void CWidgetRegistry::InternalizeL( TBool& aDirtyFlag )
+void CWidgetRegistry::InternalizeL( TBool doConsistency, // in param
+ TBool aIgnoreParseError, // in param
+ TBool& aDirtyFlag, // out param
+ TInt& aParseError )// out param
{
LOG_OPEN;
LOG( "Internalize" );
@@ -513,14 +553,23 @@
// internal dirty flag, will be copied to arg dirty flag at
// end if no leave occurs
TBool dirtyFlag = EFalse;
-
- // empty the registry
- iEntries.ResetAndDestroy();
+
+ // Copy the entries so we are able to use them later
+ // iOldEntries owns the data and is responcible to ResetAndDestroy()
+ for ( TInt i = 0; i < iEntries.Count(); i++ )
+ {
+ iOldEntries.Append( iEntries[i] );
+ }
+ // Only reset here as the iOldEntries owns the data
+ iEntries.Reset();
iUsedUids.Reset();
CleanupClosePushL( appArchList );
CleanupClosePushL( appArchListFlags );
- TBool doConsistency = AppArchWidgets( appArchList, appArchListFlags );
+ if ( doConsistency )
+ {
+ doConsistency = AppArchWidgets( appArchList, appArchListFlags );
+ }
if ( doConsistency )
{
@@ -622,25 +671,31 @@
// that caused the leave is removed.
if ( xmlExists )
{
- TRAP_IGNORE( InternalizeXmlL( iRegistryXmlFileName,
- driveUnit,
- doConsistency,
- appArchList,
- appArchListFlags,
- installedListForDrive,
- installedListForDriveFlags,
- dirtyFlag ) );
+ TRAP( aParseError,
+ InternalizeXmlL( iRegistryXmlFileName,
+ driveUnit,
+ doConsistency,
+ appArchList,
+ appArchListFlags,
+ installedListForDrive,
+ installedListForDriveFlags,
+ dirtyFlag ) );
}
else if ( binaryExists )
{
- TRAP_IGNORE( InternalizeBinaryL( iRegistryBinaryFileName,
- driveUnit,
- doConsistency,
- appArchList,
- appArchListFlags,
- installedListForDrive,
- installedListForDriveFlags,
- dirtyFlag ) );
+ TRAP( aParseError,
+ InternalizeBinaryL( iRegistryBinaryFileName,
+ driveUnit,
+ doConsistency,
+ appArchList,
+ appArchListFlags,
+ installedListForDrive,
+ installedListForDriveFlags,
+ dirtyFlag ) );
+ }
+ if ( !aIgnoreParseError && aParseError )
+ {
+ User::Leave( aParseError );
}
if ( doConsistency )
@@ -659,6 +714,8 @@
CleanupStack::PopAndDestroy( 2, &appArchList );//appArchListFlags, appArchList
aDirtyFlag = dirtyFlag;
+ // Reset and Destroy entries in iOldEntries array
+ iOldEntries.ResetAndDestroy();
LOG1( "Internalize done, dirty flag %d", (TInt)dirtyFlag );
LOG_CLOSE;
}
@@ -689,15 +746,15 @@
readStream.Attach( file );
TInt error = KErrNone;
- TInt entryCount = 0;
+ TInt entryCount = 0,errorCount =0;
TRAP( error, entryCount = readStream.ReadInt32L() );
// TODO should limit entryCount to something like 1024
// for each entry in the registry file
for ( TInt i = 0 ; i < entryCount; i++ )
{
CWidgetEntry* entry = CWidgetEntry::NewL();
- CleanupStack::PushL( entry );
-
+ // push as delete entry so if we leave it will be handled
+ CleanupDeletePushL( entry );
// extract one entry
TRAP( error,
entry->InternalizeBinaryL( readStream ) );
@@ -741,6 +798,12 @@
uidInt, uidInt );
}
}
+ else
+ {
+ // Pop and delete the un-needed entry so it is not left behind.
+ errorCount++;
+ CleanupStack::PopAndDestroy( entry );
+ }
}
else
{
@@ -750,6 +813,10 @@
} // for
CleanupStack::PopAndDestroy( 2, &file ); // readStream, file
+ if ( errorCount != 0 )
+ {
+ User::Leave(KErrGeneral);
+ }
}
// ============================================================================
@@ -844,7 +911,16 @@
aDirtyFlag );
}
if ( NULL != entry )
- {
+ {
+ CWidgetEntry* entry1 = NULL;
+ TInt uid = (*entry)[EUid];
+ TInt pos = GetWidgetOldEntry( TUid::Uid( uid ), entry1 );
+ if ( pos != -1 )
+ {
+ entry->SetActive((iOldEntries[pos]->ActiveL()));
+ entry->SetFullView((iOldEntries[pos]->GetFullViewState()));
+ entry->SetMiniView((iOldEntries[pos]->GetMiniViewState()));
+ }
TRAP( error, InsertL( entry ) );
if ( KErrNone != error )
{
@@ -2221,6 +2297,4 @@
}
LOG( "AppArchListConsistency done" );
}
-
-
// End of File
--- a/webengine/widgetregistry/Server/src/WidgetRegistryServer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/src/WidgetRegistryServer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include <e32base.h>
#include <w32std.h>
#include <apgcli.h>
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
#include "widgetregistryserver.h"
#include "widgetregistrysession.h"
@@ -127,6 +126,9 @@
TRAP_IGNORE(
apparcSession.RegisterNonNativeApplicationTypeL(
KUidWidgetLauncher, KLauncherApp()));
+
+ apparcSession.PrepareNonNativeApplicationsUpdatesL();
+ apparcSession.ForceCommitNonNativeApplicationsUpdatesL();
apparcSession.Close();
}
--- a/webengine/widgetregistry/Server/src/WidgetRegistrySession.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/Server/src/WidgetRegistrySession.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,17 +15,14 @@
*
*/
-
#include <S32MEM.H>
// User includes
#include "WidgetRegistry.h"
-#include "WidgetRegistryConstants.h"
+#include <widgetregistryconstants.h>
#include "widgetregistryserver.h"
-#include "WidgetRegistryConstants.h"
#include "WidgetRegistrySession.h"
-
CWidgetRegistry* CWidgetRegistryServerSession::iWidgetRegistry = 0;
// ============================================================================
--- a/webengine/widgetregistry/group/BLD.INF Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/group/BLD.INF Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/widgetregistry/group/WidgetRegistryClient.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/group/WidgetRegistryClient.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_CLIENT_DLL
VENDORID VID_DEFAULT
--- a/webengine/widgetregistry/group/WidgetRegistryServer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/group/WidgetRegistryServer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -17,18 +17,20 @@
*
*/
-
TARGET WidgetRegistry.exe
TARGETTYPE EXE
UID 0x1000008d 0x10282F06
EPOCSTACKSIZE 0x5000
+
+#ifndef WINS
EPOCHEAPSIZE 0x5000 0x1000000
+#endif
#include <bldvariant.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
VENDORID VID_DEFAULT
CAPABILITY CAP_SERVER AllFiles
@@ -46,8 +48,9 @@
USERINCLUDE ../Server/inc
USERINCLUDE ../Common/inc
USERINCLUDE ../../../inc
+
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
LIBRARY euser.lib
LIBRARY efsrv.lib
--- a/webengine/widgetregistry/tsrc/public/basic/inc/WidgetRegistrySTIF.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/widgetregistry/tsrc/public/basic/inc/WidgetRegistrySTIF.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#define WIDGETREGISTRYSTIF_H
// INCLUDES
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include <StifTestModule.h>
#include <StifLogger.h>
#include <f32file.h>
--- a/webengine/wmlengine/group/BLD.INF Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/BLD.INF Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/Msg/Msg.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/Msg/Msg.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET Msg.lib
TARGETTYPE lib
@@ -27,12 +26,3 @@
SOURCE Message.cpp
SOURCE MessageDispatcher.cpp
-
-USERINCLUDE .
-USERINCLUDE ../../src/Msg/include
-USERINCLUDE ../../src/Object/include
-USERINCLUDE ../../src/Hed/include
-
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/Msg/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/Msg/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/Plugin.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/Plugin.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET Plugin.lib
TARGETTYPE lib
@@ -38,12 +38,7 @@
USERINCLUDE ../ResourceLoader/Inc
USERINCLUDE ../PageScaler/Inc
USERINCLUDE ../../WEBCORE/bridge
-
-SYSTEMINCLUDE ../../MemoryManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+// USERINCLUDE ../../MemoryManager/Inc
-
-
-
-
+MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/Unicode/Unicode.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/Unicode/Unicode.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET unicode.lib
TARGETTYPE lib
@@ -62,23 +61,3 @@
SOURCE NW_Unicode_SymbolMath.c
SOURCE NW_Unicode_SymbolModifier.c
SOURCE NW_Unicode_SymbolOther.c
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/Unicode/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/utils/src
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/Unicode/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/Unicode/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/adt/adt.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/adt/adt.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET adt.lib
TARGETTYPE lib
@@ -46,15 +45,3 @@
SOURCE ValueList.c
SOURCE Vector.c
SOURCE VectorIterator.c
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/utils/include
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/adt/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/adt/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/browser/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/browser/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/browser/browser.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/browser/browser.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET RbBrowser.lib
TARGETTYPE lib
@@ -29,39 +28,7 @@
SOURCEPATH ../../src/browser/src/
-
//SOURCE Epoc32BrowserMimeTable.c
SOURCE xhtml_1_0_dict.c
SOURCE wml_1_3_dict.c
-
-
-
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/css/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/Msg/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/browser/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/xhtml/include
-USERINCLUDE ../../src/wml/src
-
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/wml/include
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
-
--- a/webengine/wmlengine/group/css/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/css/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/css/css.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/css/css.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET css.lib
TARGETTYPE lib
@@ -29,7 +28,6 @@
SOURCEPATH ../../src/css/src
-
#ifdef _DEBUG
#define _BROWSER_ENG_DEBUG
#endif
@@ -49,32 +47,3 @@
SOURCE CSSHandler.cpp
SOURCE CSSVariableStyleSheet.cpp
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/css/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/xhtml/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/evt/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/evt/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/evt/evt.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/evt/evt.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET evt.lib
TARGETTYPE lib
@@ -43,10 +42,3 @@
SOURCE UnicodeKeyEvent.c
SOURCE OpenViewerEvent.c
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/utils/include
-
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/fbox/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/fbox/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/fbox/fbox.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/fbox/fbox.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET fbox.lib
TARGETTYPE lib
@@ -35,8 +34,6 @@
LANGUAGE_IDS
#endif
-#include "../webkitcommon.mmpi"
-
SOURCE FBOXButtonBox.cpp
SOURCE FBOXButtonBoxSkin.cpp
SOURCE FBOXCheckBox.cpp
@@ -79,36 +76,3 @@
SOURCE Epoc32SelectSkin.cpp
SOURCE FBOXCEpoc32InputBox.cpp
SOURCE FBOXEpoc32InlineCheckBoxSkin.cpp
-
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/ImageCH/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/Unicode/include
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/fileloader/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/browser/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/fileloader/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/fileloader/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/fileloader/fileloader.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/fileloader/fileloader.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET fileloader.lib
TARGETTYPE lib
@@ -24,22 +23,7 @@
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
-
SOURCEPATH ../../src/fileloader/src
SOURCE fileloader_cfileloader.cpp
SOURCE fileloader_cfilehandler.cpp
SOURCE fileloader_csaveddeckhandler.cpp
-
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/fileloader/include
-USERINCLUDE ../../src/utils/include
-
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
-
-
-
-
--- a/webengine/wmlengine/group/gdi/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/gdi/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/gdi/gdi.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/gdi/gdi.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET RbGdi.lib
TARGETTYPE lib
@@ -26,37 +25,9 @@
MACRO NOKIA_MOBILE_BROWSER
#define NOKIA_MOBILE_BROWSER 1
-#include "../webkitcommon.mmpi"
SOURCEPATH ../../src/gdi/src
SOURCE GDIDeviceContext.cpp
SOURCE GDIFont.cpp
SOURCE Utils.c
-
-USERINCLUDE .
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/browser/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wmlcontrol/include
-USERINCLUDE ../../../OssWebengine/MemoryManager/Inc
-USERINCLUDE ../../../PageScaler/Inc
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-
-
-
-
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/hed/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/hed/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/hed/hed.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/hed/hed.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
MACRO NOKIA_MOBILE_BROWSER
#define NOKIA_MOBILE_BROWSER 1
@@ -25,7 +24,6 @@
TARGETTYPE lib
SOURCEPATH ../../src/hed/src/
-
SOURCE ChildIterator.c
SOURCE HEDCompositeContentHandler.cpp
SOURCE HEDCompositeNode.cpp
@@ -53,41 +51,6 @@
SOURCE UrlRequest.c
SOURCE UrlResponse.c
-
SOURCE ContentLoader.cpp
SOURCE TextReverse.cpp
SOURCE urlloader_urlresponse.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/MVC/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/htmlp/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/htmlp/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/htmlp/htmlp.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/htmlp/htmlp.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET htmlp.lib
TARGETTYPE lib
@@ -34,10 +33,3 @@
SOURCE htmlp_lexer.c
SOURCE CHtmlpParser.cpp
SOURCE htmlp_to_wbxml.cpp
-
-USERINCLUDE ../../src/htmlp/include
-
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
--- a/webengine/wmlengine/group/image/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/image/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/image/image.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/image/image.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET image.lib
TARGETTYPE lib
@@ -78,36 +76,4 @@
SOURCE Epoc32SimpleImage.cpp
SOURCE IMAGEVirtualImage.cpp
SOURCE Epoc32ImageDecoder.cpp
-
SOURCE nw_image_iimageobserver.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/browser/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/imagech/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/imagech/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/imagech/imagech.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/imagech/imagech.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET imagech.lib
TARGETTYPE lib
@@ -30,31 +29,3 @@
#define NOKIA_MOBILE_BROWSER 1
SOURCE Epoc32ImageContentHandler.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/browser/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/lmgr/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/lmgr/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/lmgr/lmgr.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/lmgr/lmgr.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET lmgr.lib
TARGETTYPE lib
@@ -30,7 +29,6 @@
SOURCEPATH ../../src/lmgr/src/
-
SOURCE LMgrAbstractTextBox.cpp
SOURCE LMgrAccessKey.cpp
SOURCE Action.c
@@ -85,30 +83,3 @@
SOURCE LMgrAnonBlock.cpp
SOURCE LMgrAnonTableBox.cpp
SOURCE LMgrPosFlowBox.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/css/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/utils/include
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/markup/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/markup/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/markup/markup.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/markup/markup.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET markup.lib
TARGETTYPE lib
@@ -36,32 +35,3 @@
SOURCE MARKUPXMLModule.cpp
SOURCE MARKUPNumberCollector.cpp
SOURCE MARKUPImageViewer.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/Evt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/imageCH/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/scrolling/inc
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-
-
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/object/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/object/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/object/object.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/object/object.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET object.lib
TARGETTYPE lib
@@ -35,9 +34,3 @@
SOURCE Object.c
SOURCE Secondary.c
SOURCE Shared.c
-
-USERINCLUDE .
-USERINCLUDE ../../src/object/include
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/script/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/script/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/script/script.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/script/script.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET script.lib
TARGETTYPE lib
@@ -53,18 +52,3 @@
SOURCE scr_valexpr.c
SOURCE scr_wta.c
SOURCE scr_crypto.c
-
-USERINCLUDE ../../src/script/src
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/wml/include
-SYSTEMINCLUDE ../../src/script/include
-SYSTEMINCLUDE ../../src/utils/src
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-SYSTEMINCLUDE ../../src/utils/include
-
-
-
-
-
--- a/webengine/wmlengine/group/system/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/system/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/system/system.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/system/system.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,39 +15,16 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET System.lib
TARGETTYPE lib
SOURCEPATH ../../src/system/src/
CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
+VENDORID VID_DEFAULT
SOURCE Timer.c
SOURCE Epoc32Timer.cpp
SOURCE CEpoc32Timer.cpp
SOURCE Epoc32OptionList.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/Object/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/utils/src
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/text/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/text/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/text/text.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/text/text.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET text.lib
TARGETTYPE lib
@@ -39,16 +38,3 @@
SOURCE FixedWidthIterator.c
SOURCE Text_Iterator.c
SOURCE VariableWidthIterator.c
-
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/utils/src
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/unknownch.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/unknownch.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET unknownch.lib
TARGETTYPE lib
@@ -40,11 +40,9 @@
USERINCLUDE ../src/evt/include
USERINCLUDE ../src/object/include
USERINCLUDE ../src/markup/include
+USERINCLUDE ../src/urlloader/include
+USERINCLUDE ../src/utils/include
+USERINCLUDE ../src/wml/include
+USERINCLUDE ../src/wml/src
-SYSTEMINCLUDE ../src/urlloader/include
-SYSTEMINCLUDE ../src/utils/include
-SYSTEMINCLUDE ../src/wml/include
-SYSTEMINCLUDE ../src/wml/src
MW_LAYER_SYSTEMINCLUDE
-
-
--- a/webengine/wmlengine/group/urlloader/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/urlloader/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/urlloader/urlloader.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/urlloader/urlloader.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,7 @@
*
*/
-
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET urlloader.lib
TARGETTYPE lib
@@ -28,36 +26,9 @@
MACRO NOKIA_MOBILE_BROWSER
#define NOKIA_MOBILE_BROWSER
-
SOURCEPATH ../../src/urlloader/src
SOURCE urlloader_urlloaderint.cpp
SOURCE urlloader_curlloader.cpp
SOURCE urlloader_loaderutils.cpp
SOURCE urlloader_urlresponse.cpp
SOURCE nwx_http_content_type_strings.c
-
-#include "../webkitcommon.mmpi"
-
-//USERINCLUDE ../../src/httploader/include
-//USERINCLUDE ../../src/httploader/src
-USERINCLUDE ../../src/fileloader/include
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_HTTP_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
-
-
-
-
-
--- a/webengine/wmlengine/group/webkitcommon.mmpi Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/webkitcommon.mmpi Mon Mar 29 12:27:15 2010 +0100
@@ -14,17 +14,9 @@
* Description:
*
*/
-//USERINCLUDE ../../BrowserView/inc
-//USERINCLUDE ../../BrowserControl/inc
-//USERINCLUDE ../../BrowserCore/Misc/inc
-//
-//USERINCLUDE ../../../WEBCORE/bridge/symbian
-//USERINCLUDE ../../ResourceLoader/inc
-//USERINCLUDE ../../HistoryProvider/inc
-//USERINCLUDE ../../BrowserCore/ScrollBars/inc
-
-//SYSTEMINCLUDE ../../MemoryManager/Inc
-
+#include <platform_paths.hrh>
+#include <data_caging_paths.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
USERINCLUDE ../../pagescaler/inc
USERINCLUDE ../../webkitutils/HistoryProvider
@@ -38,3 +30,36 @@
USERINCLUDE ../../osswebengine/WEBCORE/loader
USERINCLUDE ../../osswebengine/JavaScriptCore
+
+USERINCLUDE ../src/adt/include
+USERINCLUDE ../src/browser/include
+USERINCLUDE ../src/css/include
+USERINCLUDE ../src/evt/include
+USERINCLUDE ../src/fbox/include
+USERINCLUDE ../src/fileloader/include
+USERINCLUDE ../src/gdi/include
+USERINCLUDE ../src/hed/include
+USERINCLUDE ../src/htmlp/include
+USERINCLUDE ../src/image/include
+USERINCLUDE ../src/imagech/include
+USERINCLUDE ../src/lmgr/include
+USERINCLUDE ../src/markup/include
+USERINCLUDE ../src/msg/include
+USERINCLUDE ../src/mvc/include
+USERINCLUDE ../src/object/include
+USERINCLUDE ../src/script/include
+USERINCLUDE ../src/scrolling/inc
+USERINCLUDE ../src/system/include
+USERINCLUDE ../src/text/include
+USERINCLUDE ../src/unicode/include
+USERINCLUDE ../src/urlloader/include
+USERINCLUDE ../src/utils/include
+USERINCLUDE ../src/wml/include
+USERINCLUDE ../src/wml1x/include
+USERINCLUDE ../src/wmlcontrol/include
+USERINCLUDE ../src/wmlscriptch/include
+USERINCLUDE ../src/xhtml/include
+// USERINCLUDE ../../../osswebengine/MemoryManager/Inc
+
+MW_LAYER_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/wml/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wml/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/wml/wml.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wml/wml.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET wml.lib
TARGETTYPE lib
@@ -29,7 +28,6 @@
SOURCEPATH ../../src/wml/src
-
SOURCE nw_evlog_api.c
SOURCE wml_bind.c
SOURCE wml_core.c
@@ -57,39 +55,3 @@
SOURCE wml_var.c
SOURCE WMLWae.cpp
SOURCE wml_wae_reader.c
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/Wml/include
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/script/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/Unicode/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/wmlcontrol/include
-
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/Wml/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/wml1x/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wml1x/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/wml1x/wml1x.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wml1x/wml1x.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET wml1x.lib
TARGETTYPE lib
@@ -24,7 +23,6 @@
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
-
MACRO NOKIA_MOBILE_BROWSER
#define NOKIA_MOBILE_BROWSER 1
@@ -44,36 +42,3 @@
SOURCE Epoc32Wml1xActiveEvent.cpp
SOURCE WML1XEpoc32DefaultStyleSheet.cpp
SOURCE WML1XEpoc32ContentHandler.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/Evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/ImageCH/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/MVC/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/wmlcontrol/include
-USERINCLUDE ../../src/utils/include
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/wml/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
--- a/webengine/wmlengine/group/wmlengine/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlengine/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/wmlengine/mvc.mmpi Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlengine/mvc.mmpi Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,8 @@
*
*/
-
#include "../webkitcommon.mmpi"
-
SOURCEPATH ../../src/mvc/src
SOURCE ILoadListener.c
@@ -27,36 +25,3 @@
SOURCE MVCScroll.cpp
SOURCE MVCViewAsyncInit.cpp
SOURCE CEmbeddedDocExitObserver.cpp
-
-//#ifdef __SERIES60_WIM
-//SOURCE epoc32/WimUi.cpp
-//#endif __SERIES60_WIM
-
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/wmlcontrol/include
-USERINCLUDE ../../src/css/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/Msg/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/wml1x/include
-USERINCLUDE ../../src/browser/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/xhtml/include
-USERINCLUDE ../../src/urlloader/include
-//USERINCLUDE /S60/mw/web/WebEngine/WmlEngine/src/wml/include
-USERINCLUDE ../../src/fileloader/include
-//USERINCLUDE ../../MemoryManager/Inc
-
-//SYSTEMINCLUDE ../WmlEngine/urlloader/include
-//SYSTEMINCLUDE ../WmlEngine/wml/include
-
--- a/webengine/wmlengine/group/wmlengine/utils.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlengine/utils.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
#ifndef INCLUDE_UTILS_MMP
@@ -52,7 +51,6 @@
SOURCE nwx_osu_epoc32.cpp
SOURCE nwx_statuscodeconvert.c
SOURCE nwx_assert.c
-
SOURCE nwx_string.c
SOURCE nwx_time_utils.c
SOURCE nwx_url_utils.c
@@ -62,29 +60,3 @@
SOURCE ucs2_transformation_epoc32.c
SOURCE CReferrerHelper.cpp
SOURCE FileNameUtils.cpp
-
-USERINCLUDE ../../src/wml/include
-
-#ifndef INCLUDE_UTILS_MMP
-USERINCLUDE .
-USERINCLUDE ../../src/urlloader/include
-USERINCLUDE ../../src/script/include
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/wml/src
-// The following are required ONLY because of epoc32/nwx_cleanup_epoc32.cpp
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/evt/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/imagech/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-// end of cleanup includes
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/utils/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-
-#endif
--- a/webengine/wmlengine/group/wmlengine/wmlengine.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlengine/wmlengine.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET wmlEngine.dll
TARGETTYPE dll
@@ -29,8 +28,6 @@
CAPABILITY CAP_GENERAL_DLL
EPOCALLOWDLLDATA
-
-
#if defined(WINSCW)
deffile ../Bwinscw/WmlEngine.def
#elif defined(ARMCC)
@@ -52,10 +49,9 @@
#define INCLUDE_UTILS_MMP
#include "utils.mmp"
-
SOURCEPATH ../../src/wmlcontrol/src
-SOURCE WmlControl.cpp
+SOURCE WmlControl.cpp
SOURCE WmlContentInterface.cpp
SOURCEPATH ../../src/htmlp/src
@@ -73,25 +69,6 @@
SOURCE LMgrBox.cpp
//--
-USERINCLUDE ../../src/utils/include
-USERINCLUDE ../../src/scrolling/inc
-USERINCLUDE ../../src/script/include
-USERINCLUDE ../../src/script/src
-USERINCLUDE ../../src/htmlp/include
-
-MW_LAYER_HTTP_SYSTEMINCLUDE
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/utils/src
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../src/wml/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_OSKERNEL_SYSTEMINCLUDE
-
-
-
STATICLIBRARY RbBrowser.lib
// Rainbow tempest libraries
STATICLIBRARY xhtml.lib
@@ -171,7 +148,6 @@
LIBRARY DownloadMgrUiLib.lib
LIBRARY imut.lib
-
LIBRARY eikctl.lib
LIBRARY form.lib
LIBRARY etext.lib
@@ -189,6 +165,3 @@
LIBRARY broaffpopup.lib
#endif
LIBRARY aknicon.lib
-
-
-
--- a/webengine/wmlengine/group/wmlscriptch/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlscriptch/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/wmlscriptch/wmlscriptch.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/wmlscriptch/wmlscriptch.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET wmlscriptch.lib
TARGETTYPE lib
@@ -29,34 +28,7 @@
SOURCEPATH ../../src/wmlscriptch/src/
-
SOURCE iwmlBrowserLib.c
SOURCE iwmlScriptListener.c
SOURCE WMLSCRIPTCHScrProxyApi.cpp
SOURCE WMLSCRIPTCHContentHandler.cpp
-
-#include "../webkitcommon.mmpi"
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/Evt/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/msg/include
-USERINCLUDE ../../src/utils/include
-
-USERINCLUDE ../../../osswebengine/MemoryManager/inc
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/group/xhtml/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/xhtml/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include <platform_paths.hrh>
-#include "../../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT
--- a/webengine/wmlengine/group/xhtml/xhtml.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/group/xhtml/xhtml.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include "../webkitcommon.mmpi"
TARGET xhtml.lib
TARGETTYPE lib
@@ -24,14 +23,11 @@
CAPABILITY CAP_GENERAL_DLL
VENDORID VID_DEFAULT
-
MACRO NOKIA_MOBILE_BROWSER
#define NOKIA_MOBILE_BROWSER 1
SOURCEPATH ../../src/xhtml/src/
-#include "../webkitcommon.mmpi"
-
SOURCE structure/XHTMLHeadElementHandler.cpp
SOURCE structure/XHTMLStructureModule.cpp
SOURCE structure/XHTMLTitleElementHandler.cpp
@@ -90,35 +86,3 @@
SOURCE frame/XHTMLFrameElementHandler.cpp
SOURCE ignore/XHTMLIgnoreElementHandler.cpp
SOURCE XHTMLMessageListener.cpp
-
-
-USERINCLUDE .
-USERINCLUDE ../../src/adt/include
-USERINCLUDE ../../src/css/include
-USERINCLUDE ../../src/Evt/include
-USERINCLUDE ../../src/htmlp/include
-USERINCLUDE ../../src/fbox/include
-USERINCLUDE ../../src/gdi/include
-USERINCLUDE ../../src/hed/include
-USERINCLUDE ../../src/ImageCH/include
-USERINCLUDE ../../src/image/include
-USERINCLUDE ../../src/lmgr/include
-USERINCLUDE ../../src/markup/include
-USERINCLUDE ../../src/Msg/include
-USERINCLUDE ../../src/mvc/include
-USERINCLUDE ../../src/object/include
-USERINCLUDE ../../src/scrolling/inc
-USERINCLUDE ../../src/system/include
-USERINCLUDE ../../src/text/include
-USERINCLUDE ../../src/wmlscriptch/include
-USERINCLUDE ../../src/xhtml/include
-USERINCLUDE ../../src/wml/src
-USERINCLUDE ../../src/wml/include
-USERINCLUDE ../../src/wmlcontrol/include
-USERINCLUDE ../../src/utils/include
-
-SYSTEMINCLUDE ../../src/utils/include
-SYSTEMINCLUDE ../../src/urlloader/include
-SYSTEMINCLUDE ../../../osswebengine/MemoryManager/Inc
-MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
--- a/webengine/wmlengine/src/FileLoader/src/fileloader_cfilehandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/FileLoader/src/fileloader_cfilehandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
--- a/webengine/wmlengine/src/FileLoader/src/fileloader_cfileloader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/FileLoader/src/fileloader_cfileloader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
@@ -25,7 +23,6 @@
#include "urlloader_loaderutils.h"
#include "fileloader_cfilehandler.h"
-
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
--- a/webengine/wmlengine/src/FileLoader/src/fileloader_csaveddeckhandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/FileLoader/src/fileloader_csaveddeckhandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
@@ -30,8 +28,6 @@
#include "nwx_http_defs.h"
#include "nwx_settings.h"
-
-
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
--- a/webengine/wmlengine/src/ImageCH/src/Epoc32ImageContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/ImageCH/src/Epoc32ImageContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include <e32std.h>
@@ -37,8 +36,7 @@
#include "nw_lmgr_statictablecellbox.h"
#include "nwx_logger.h"
#include "nwx_settings.h"
-#include "MemoryManager.h"
-
+#include <MemoryManager.h>
/*required for animations*/
--- a/webengine/wmlengine/src/MVC/include/MVCScroll.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/include/MVCScroll.h Mon Mar 29 12:27:15 2010 +0100
@@ -135,7 +135,7 @@
/**
* Method returns the first sibling box whose width and height are not zero
*/
- NW_LMgr_Box_t* CMVCScroll::GetFirstSiblingBox (NW_LMgr_Box_t* box);
+ NW_LMgr_Box_t* GetFirstSiblingBox (NW_LMgr_Box_t* box);
private: // Private methods and member variables
/**
--- a/webengine/wmlengine/src/MVC/include/MVCShell.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/include/MVCShell.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,10 @@
*
*/
-
#ifndef __MVCSHELL_H
#define __MVCSHELL_H
-
#include <apmstd.h>
-#include "BrsrStatusCodes.h"
-#include "BrsrTypes.h"
#include <badesca.h>
#include <bldvariant.hrh>
#include <charconv.h>
@@ -31,7 +27,9 @@
#include <f32file.h>
#include <ApEngineConsts.h>
-#include "BrCtlDialogsProvider.h"
+#include <brctldialogsprovider.h>
+#include "BrsrStatusCodes.h"
+#include "BrsrTypes.h"
#include "HEDDocumentListener.h"
#include "httploader_mlinkresolvercallbacks.h"
@@ -42,7 +40,7 @@
#include "nw_scrproxy.h"
#include "nw_wae.h"
#include "nwx_defs.h"
-#include "nwx_status.h"
+#include <nwx_status.h>
#include "urlloader_urlresponse.h"
#include "EmbeddedDocExitObserver.h"
//R
@@ -50,12 +48,10 @@
//#include "webkitview.h"
#include "wmlcontrol.h"
-
#ifdef __SERIES60_WIM
#include "WimUi.h"
#endif __SERIES60_WIM
-
enum TUrlLoadState
{
// We are now loading the URL
--- a/webengine/wmlengine/src/MVC/include/MVCView.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/include/MVCView.h Mon Mar 29 12:27:15 2010 +0100
@@ -32,8 +32,8 @@
#include <aknpictographinterface.h>
#include <aknpictographdrawerinterface.h>
-#include <BrCtlDefs.h>
-#include <BrCtlDialogsProvider.h>
+#include <brctldefs.h>
+#include <brctldialogsprovider.h>
#include "BrsrStatusCodes.h"
#include "ImageUtils.h"
#include "LMgrBoxTreeListener.h"
@@ -43,7 +43,7 @@
#include "CBrowserSettings.h"
#include "BrCtl.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
#include "pagescaler.h"
--- a/webengine/wmlengine/src/MVC/include/MVCViewAsyncInit.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/include/MVCViewAsyncInit.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef VIEWASYNCINIT_H
#define VIEWASYNCINIT_H
--- a/webengine/wmlengine/src/MVC/include/httploader_mlinkresolvercallbacks.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/include/httploader_mlinkresolvercallbacks.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,19 +15,14 @@
*
*/
-
-
#ifndef MLINKRESOLVERCALLBACKS_H
#define MLINKRESOLVERCALLBACKS_H
+#include <brctldefs.h>
#include "BrsrStatusCodes.h"
-#include "BrCtlDefs.h"
#include "urlloader_urlresponse.h"
-
-
-
// INCLUDES
// CONSTANTS
--- a/webengine/wmlengine/src/MVC/src/MVCScroll.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/src/MVCScroll.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
// INCLUDE FILES
#include <e32def.h> // To avoid NULL redefine warning (no #ifndef NULL)
-#include <nwx_settings.h>
+#include "nwx_settings.h"
#include "MVCScroll.h"
--- a/webengine/wmlengine/src/MVC/src/MVCShell.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/src/MVCShell.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <e32def.h> // resolve NULL redefinition warning.
#include <e32base.h>
@@ -34,10 +33,11 @@
#include <caf/caf.h>
#include <caf/caftypes.h>
#include <caf/supplieroutputfile.h>
-#include "Oma2Agent.h"
+#include <Oma2Agent.h>
+#include <brctldefs.h>
+#include <brctldialogsprovider.h>
#include "brctl.h"
-#include "brctldefs.h"
#include "BrsrStatusCodes.h"
#include "MVCShell.h"
@@ -61,13 +61,13 @@
#include "nw_text_ucs2.h"
//#include "nw_unknown_contenthandler.h"
#include "nw_wae.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_wbxml_dictionary.h>
#include "nw_wml_core.h"
#include "nw_wmlscriptch_wmlscriptcontenthandler.h"
#include "nw_wml1x_wml1xformliaison.h"
#include "nw_wml1x_epoc32contenthandler.h"
#include "nw_xhtml_epoc32contenthandler.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "nwx_ctx.h"
#include "nwx_datastruct.h"
#include "nwx_defs_symbian.h"
@@ -90,10 +90,8 @@
#include "urlloader_urlresponse.h"
#include "CSSVariableStyleSheet.h"
#include "TEncodingMapping.h"
-#include "BrCtlDialogsProvider.h"
#include "WmlInterface.h"
-
// EXTERNAL DATA STRUCTURES
#ifdef __cplusplus
extern "C" {
--- a/webengine/wmlengine/src/MVC/src/MVCView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/MVC/src/MVCView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,16 +28,17 @@
#include <FeatMgr.h>
#include <f32file.h>
#include <flogger.h>
-#include <nwx_defs_symbian.h>
#include <stddef.h>
#include <CenRepNotifyHandler.h>
#include <centralrepository.h>
-#include <HttpCacheManagerInternalCRKeys.h>
+#include <httpcachemanagerinternalcrkeys.h>
#include <stringloader.h>
#include <webkit.rsg>
+#include <brctlinterface.h>
+
#include "BoxFormatHandler.h"
#include "BoxRender.h"
#include "BrCtl.h"
@@ -57,6 +58,7 @@
#include "nw_adt_resizablevector.h"
#include "nwx_cleanup_epoc32.h"
#include "nwx_ctx.h"
+#include "nwx_defs_symbian.h"
#include "nw_evt_accesskeyevent.h"
#include "nw_evt_activateevent.h"
#include "nw_evt_clearfieldevent.h"
@@ -116,8 +118,6 @@
#include "TEncodingMapping.h"
#include "urlloader_urlloaderint.h"
-#include <BrCtlInterface.h>
-#include "BrCtlDialogsProvider.h"
#include "HistoryController.h"
#include "WmlInterface.h"
@@ -1804,6 +1804,7 @@
iVScrollPosition(0), iFormatPriority( ((CActive::TPriority)( CActive::EPriorityLow + 2 )) )
{
iBrCtl = aBrCtl;
+ iDrag = EFalse;
}
// -----------------------------------------------------------------------------
@@ -4208,7 +4209,8 @@
{
switch (aPointerEvent.iType) {
case TPointerEvent::EButton1Down:
- iLastPosition = aPointerEvent.iPosition;
+ iLastPosition = aPointerEvent.iPosition;
+ iDrag = EFalse;
break;
case TPointerEvent::EDrag:
TPoint currPosition;
@@ -4221,8 +4223,21 @@
currPosition.iX = iDeviceContext->Origin()->x;
currPosition.iY = iDeviceContext->Origin()->y;
ScrollTo(currPosition+nextPosition);
- }
- iDrag = ETrue;
+
+ //This is for Drag event
+ //Introducing 10 pixel offset. This is introduced to tackle problem that occurs if user clicks
+ //link but still causes a very small pixel move. This gives a small difference in previous
+ //and next position. As a side effect iDrag will be true and request will not be sent even if
+ //there is very small pixel difference.
+ //Following logic tries to handle such scenario.
+ TInt nOffset = 10;
+ TBool bXOffset = ((nextPosition.iX > nOffset) || (nextPosition.iX < -nOffset));
+ TBool bYOffset = ((nextPosition.iY > nOffset) || (nextPosition.iY < -nOffset));
+ if(bXOffset || bYOffset)
+ {
+ iDrag = ETrue;
+ }
+ }
break;
}
@@ -4301,20 +4316,13 @@
NW_LMgr_RootBox_SetFocusBox(iRootBox, tempBox);
Draw (NW_TRUE /*DrawNow*/);
}
- if (aPointerEvent.iType == TPointerEvent::EButton1Up)
+ if ((aPointerEvent.iType == TPointerEvent::EButton1Up) && (iShouldActivate))
{
- if (iShouldActivate)
+ if((!iDrag))
{
- if(!iDrag)
- {
- NW_Evt_ActivateEvent_t actEvent;
- NW_Evt_ActivateEvent_Initialize (&actEvent);
- ProcessEvent (NW_Evt_EventOf(&actEvent));
- }
- else
- {
- iDrag = EFalse;
- }
+ NW_Evt_ActivateEvent_t actEvent;
+ NW_Evt_ActivateEvent_Initialize (&actEvent);
+ ProcessEvent (NW_Evt_EventOf(&actEvent));
}
}
break;
--- a/webengine/wmlengine/src/Scrolling/inc/ScrollBarFrame.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/Scrolling/inc/ScrollBarFrame.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include <coecntrl.h>
// Browser as a Plugin includes
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
//----------------------------------------------------------------------
// CONSTANTS
--- a/webengine/wmlengine/src/System/src/Epoc32Timer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/System/src/Epoc32Timer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,8 +25,7 @@
#include "nwx_ctx.h"
#include "nwx_defs_symbian.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
-
+#include <MemoryManager.h>
/* ------------------------------------------------------------------------- *
static data
--- a/webengine/wmlengine/src/System/src/Timer.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/System/src/Timer.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_system_timeri.h"
#include "nwx_time.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/adt/src/DynamicVector.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/adt/src/DynamicVector.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
#include "nw_adt_dynamicvectori.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/browser/include/nw_browser_browserimages.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/browser/include/nw_browser_browserimages.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,6 @@
_LIT( KBrowserBitmapsName,"browserbitmaps.mbm" );
-
const TUint qgn_prop_wml_square = 0;
const TUint qgn_prop_wml_disc = 1;
const TUint qgn_prop_wml_circle = 2;
--- a/webengine/wmlengine/src/browser/src/BROWSEREpoc32MimeTable.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/browser/src/BROWSEREpoc32MimeTable.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
#include "nw_browser_browsermimetablei.h"
#include "nw_imagech_epoc32contenthandler.h"
#include "nw_xhtml_epoc32contenthandler.h"
-#include <nw_wml_core.h> /* needed for the wml content handler */
+#include "nw_wml_core.h" /* needed for the wml content handler */
#include "nw_wmlscriptch_wmlscriptcontenthandler.h"
#include "nw_wml1x_epoc32contenthandler.h"
#include "nwx_http_defs.h"
--- a/webengine/wmlengine/src/browser/src/wml_1_3_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/browser/src/wml_1_3_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -39,8 +39,7 @@
#include "nwx_defs.h"
#include "nw_wml1x_wml_1_3_tokens.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_Wml_1_3_ElementTag_pre[] = {'p','r','e','\0'};
static const NW_Ucs2 NW_Wml_1_3_ElementTag_a[] = {'a','\0'};
--- a/webengine/wmlengine/src/browser/src/xhtml_1_0_dict.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/browser/src/xhtml_1_0_dict.c Mon Mar 29 12:27:15 2010 +0100
@@ -35,8 +35,7 @@
*/
#include "nwx_defs.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
-#include "nw_wbxml_dictionary.h"
-
+#include <nw_wbxml_dictionary.h>
static const NW_Ucs2 NW_XHTML_1_0_ElementTag_body[] = {'b','o','d','y','\0'};
static const NW_Ucs2 NW_XHTML_1_0_ElementTag_head[] = {'h','e','a','d','\0'};
--- a/webengine/wmlengine/src/css/include/CSSDeclListHandle.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSDeclListHandle.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef TCSSDECLLISTHANDLE_H
#define TCSSDECLLISTHANDLE_H
@@ -24,7 +23,7 @@
#include "nw_lmgr_propertylist.h"
#include "CSSParser.h"
#include "CSSPropertyTable.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
#include "nw_css_processor.h"
// MACROS
--- a/webengine/wmlengine/src/css/include/CSSImageList.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSImageList.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,14 +20,14 @@
#define CCSSImageList_H
// INCLUDES
+#include <e32base.h>
#include "BrsrStatusCodes.h"
#include "nw_text_ucs2.h"
#include "nw_image_abstractimage.h"
#include "nw_image_virtualimage.h"
#include "nw_image_epoc32simpleimage.h"
-#include <nwx_http_header.h>
+#include "nwx_http_header.h"
#include "nw_css_processor.h"
-#include <e32base.h>
// CONSTANTS
--- a/webengine/wmlengine/src/css/include/CSSPatternMatcher.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSPatternMatcher.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,8 +22,8 @@
// INCLUDES
#include "CSSParser.h"
#include "CSSSelector.h"
-#include "nw_dom_element.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_dom_element.h>
+#include <nw_wbxml_dictionary.h>
#include "nw_evt_event.h"
#include "nw_hed_documentnode.h"
#include "nw_hed_domhelper.h"
--- a/webengine/wmlengine/src/css/include/CSSReader.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSReader.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
#ifndef TCSSReader_H
#define TCSSReader_H
// INCLUDES
#include "nwx_defs.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include <e32std.h>
// CONSTANTS
--- a/webengine/wmlengine/src/css/include/CSSRuleList.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSRuleList.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
#include "CSSEventListener.h"
#include "CSSBufferList.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_wbxml_dictionary.h>
#include "nw_css_processori.h"
#include "CSSPatternMatcher.h"
#include "CSSSelector.h"
--- a/webengine/wmlengine/src/css/include/CSSSelector.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/CSSSelector.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
// INCLUDES
//#include "CSSEventListener.h"
//#include "CSSBufferList.h"
-//#include "nw_wbxml_dictionary.h"
+//#include <nw_wbxml_dictionary.h>
//#include "nw_css_processori.h"
//#include "CSSPatternMatcher.h"
--- a/webengine/wmlengine/src/css/include/nw_css_defaultstylesheet.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/nw_css_defaultstylesheet.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
#include "nw_object_base.h"
#include "nw_lmgr_propertylist.h"
-#include "nw_dom_element.h"
-#include "nw_wbxml_dictionary.h"
+#include <nw_dom_element.h>
+#include <nw_wbxml_dictionary.h>
#include "nw_evt_event.h"
#include "nw_lmgr_box.h"
#include "nw_hed_documentnode.h"
--- a/webengine/wmlengine/src/css/include/nw_css_processor.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/include/nw_css_processor.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include "nw_hed_documentnode.h"
#include "nw_hed_domhelper.h"
#include "nw_text_ucs2.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
#include "nw_lmgr_box.h"
#include "nw_hed_iloadrecipient.h"
#include "nw_image_iimageobserver.h"
--- a/webengine/wmlengine/src/css/src/CSSBufferList.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSBufferList.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,10 @@
*
*/
-
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "CSSBufferList.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "nwx_multipart_generator.h"
#include "nwx_string.h"
#include "nwx_http_defs.h"
--- a/webengine/wmlengine/src/css/src/CSSDeclListHandle.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSDeclListHandle.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,14 +21,14 @@
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include <e32base.h>
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "CSSDeclListHandle.h"
#include "nw_lmgr_simplepropertylist.h"
#include "nw_text_ucs2.h"
#include "nw_lmgr_rootbox.h"
#include "CSSPropVal.h"
#include "nwx_math.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "CSSReader.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/css/src/CSSDefaultStyleSheet.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSDefaultStyleSheet.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,10 +21,10 @@
#include "nw_text_ucs2.h"
#include "nw_lmgr_cssproperties.h"
-#include "nw_string_char.h"
+#include <nw_string_char.h>
#include "nw_lmgr_rootbox.h"
#include "CSSPropVal.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "CSSPropertyTable.h"
#include "CSSDeclListHandle.h"
#include "CSSPatternMatcher.h"
--- a/webengine/wmlengine/src/css/src/CSSImageList.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSImageList.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/css/src/CSSParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,12 @@
*
*/
-
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "CSSParser.h"
-#include "nw_string_string.h"
-#include <nwx_assert.h>
+#include <nw_string_string.h>
+#include "nwx_assert.h"
#include "nwx_http_defs.h"
#include "nwx_string.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/css/src/CSSPatternMatcher.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSPatternMatcher.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "CSSPatternMatcher.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "nw_evt_activateevent.h"
#include "nw_evt_focusevent.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "nwx_string.h"
#include "nw_hed_contenthandler.h"
@@ -32,7 +30,7 @@
#include "nw_hed_historyvisitor.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
// EXTERNAL DATA STRUCTURES
--- a/webengine/wmlengine/src/css/src/CSSProcessor.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSProcessor.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,9 +16,9 @@
*/
#include <stddef.h>
-#include <nwx_assert.h>
-#include <nwx_string.h>
-#include <nwx_logger.h>
+#include "nwx_assert.h"
+#include "nwx_string.h"
+#include "nwx_logger.h"
#include "BrsrStatusCodes.h"
#include "CSSDeclListHandle.h"
#include "CSSHandler.h"
@@ -46,7 +46,7 @@
#include "nwx_settings.h"
#include "nwx_http_defs.h"
#include "GDIDeviceContext.h"
-#include "BodyPart.h"
+#include <bodypart.h>
#include "nw_xhtml_xhtmlcontenthandler.h"
#include "MVCShell.h"
//#include "BrCtl.h"
--- a/webengine/wmlengine/src/css/src/CSSPropVal.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSPropVal.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include "nw_css_tokentoint.h"
#include "nw_lmgr_propertylist.h"
#include "nwx_math.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "BrsrStatusCodes.h"
// EXTERNAL DATA STRUCTURES
--- a/webengine/wmlengine/src/css/src/CSSPropertyTable.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSPropertyTable.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include "nw_text_ascii.h"
#include "nw_image_virtualimage.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
// EXTERNAL DATA STRUCTURES
--- a/webengine/wmlengine/src/css/src/CSSReader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSReader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
-
// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nwx_defs.h"
#include "CSSReader.h"
#include "nw_text_ucs2.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "nwx_http_defs.h"
#include "nwx_string.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/css/src/CSSRuleList.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSRuleList.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,13 @@
// INCLUDE FILES
#include "CSSRuleList.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "BrsrStatusCodes.h"
#include "nwx_settings.h"
#include "CSSParser.h"
#include "nw_text_ucs2.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "nw_hed_contenthandler.h"
#include "CSSDeclListHandle.h"
#include "TKeyArrayPtr.h"
--- a/webengine/wmlengine/src/css/src/CSSTokenToInt.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSTokenToInt.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,11 +18,10 @@
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nw_css_tokentointi.h"
-
#include "nw_lmgr_cssproperties.h"
#include "nw_text_ucs2.h"
-#include <nwx_string.h>
-#include <nwx_math.h>
+#include "nwx_string.h"
+#include "nwx_math.h"
#include "BrsrStatusCodes.h"
#include "aknutils.h"
--- a/webengine/wmlengine/src/css/src/CSSVariableStyleSheet.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/css/src/CSSVariableStyleSheet.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include <f32file.h>
#include "nw_css_defaultstylesheet.h"
-#include <nwx_assert.h>
+#include "nwx_assert.h"
#include "nwx_settings.h"
#include "nwx_ctx.h"
#include "nwx_logger.h"
--- a/webengine/wmlengine/src/fbox/src/Epoc32FormImages.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32FormImages.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nw_fbox_epoc32formimagesi.h"
@@ -26,8 +25,8 @@
#include <e32base.h>
#include <fbs.h>
-#include <nwx_buffer.h>
-#include <nw_browser_browserimages.h>
+#include "nwx_buffer.h"
+#include "nw_browser_browserimages.h"
/* ------------------------------------------------------------------------- */
const
--- a/webengine/wmlengine/src/fbox/src/Epoc32InlineFormImages.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32InlineFormImages.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
#include "nw_fbox_epoc32inlineformimagesi.h"
-#include <nw_browser_browserimages.h>
+#include "nw_browser_browserimages.h"
/* ------------------------------------------------------------------------- *
static data
* ------------------------------------------------------------------------- */
-
/* ------------------------------------------------------------------------- */
static const
NW_FBox_FormImages_Entry_t _NW_FBox_InlineFormImages_CheckBoxEntries[] = {
--- a/webengine/wmlengine/src/fbox/src/Epoc32InputInteractor.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32InputInteractor.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -32,10 +32,9 @@
#include "nw_fbox_keymapper.h"
#include "nw_fbox_textareabox.h"
#include "nw_fbox_epoc32inputskin.h"
-#include <nwx_time.h>
+#include "nwx_time.h"
#include "BrsrStatusCodes.h"
-
/* ------------------------------------------------------------------------- *
static data
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/fbox/src/Epoc32InputSkin.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32InputSkin.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,12 +18,10 @@
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include <calslbs.h> // for Latin.... font methods
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "nw_fbox_formbox.h"
#include "nw_evt_ecmaevent.h"
-
-
#include "nw_fbox_epoc32inputskini.h"
#include "nw_wml1x_wml_1_3_tokens.h"
#include "nw_fbox_inputbox.h"
--- a/webengine/wmlengine/src/fbox/src/Epoc32SelectSkin.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32SelectSkin.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nw_fbox_epoc32selectskini.h"
#include "nw_image_cannedimages.h"
@@ -30,7 +29,7 @@
#include "KimonoLocalizationStrings.h"
#include "nwx_logger.h"
#include "nw_lmgr_statictablecellbox.h"
-#include <nw_browser_browserimages.h>
+#include "nw_browser_browserimages.h"
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- *
@@ -720,6 +719,7 @@
}
// CAUTION: this eventually calls NW_UI_CreateCard which may remove 'skin' if onpick to intradeck card exists in content
NW_FBox_OptionBox_ChangeState( optionBox );
+ break;
}
}
}
--- a/webengine/wmlengine/src/fbox/src/Epoc32TextAreaBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/Epoc32TextAreaBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include "nw_fbox_textareaboxi.h"
#include "nw_lmgr_rootbox.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "nw_fbox_textareaskin.h"
#include "nw_fbox_inputinteractor.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/fbox/src/FBOXButtonBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/FBOXButtonBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include "KimonoLocalizationStrings.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/* ------------------------------------------------------------------------- *
global data
--- a/webengine/wmlengine/src/fbox/src/FBOXInputBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/FBOXInputBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_fbox_inputboxi.h"
#include "nw_fbox_inputskin.h"
@@ -32,7 +31,6 @@
#include "nw_wml_core.h"
#include "nw_wml1x_wml1xcontenthandler.h"
-
/* ------------------------------------------------------------------------- *
private data
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/fbox/src/FBOXWmlFormattedEditor.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/fbox/src/FBOXWmlFormattedEditor.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,12 @@
#include <eikedwin.h>
#include <e32std.h>
#include <PtiDefs.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <txtrich.h>
+#else
+#include <txtrich.h>
+#include <txtclipboard.h>
+#endif
#include <bautils.h>
#include <webkit.rsg>
#include <PUAcodes.hrh>
--- a/webengine/wmlengine/src/gdi/src/GDIDeviceContext.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/gdi/src/GDIDeviceContext.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,19 +15,11 @@
*
*/
+// INCLUDE FILES
-// INCLUDE FILES
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
-#include "GDIDeviceContext.h"
-#include "nw_object_dynamici.h"
-#include "GDIFont.h"
-#include "nw_gdi_utils.h"
-#include "nw_text_ucs2.h"
-#include <nwx_string.h>
-#include <nwx_settings.h>
-#include "nwx_logger.h"
-#include "nwx_http_defs.h"
-#include "MVCview.h"
+#include <bldvariant.hrh>
+
#include <AknUtils.h>
#include <gdi.h>
#include <w32std.h>
@@ -39,13 +31,23 @@
#include <aknpictographinterface.h>
#include <aknpictographdrawerinterface.h>
#include <biditext.h>
-#include "BrsrStatusCodes.h"
-#include "FeatMgr.h"
#include <AknFontAccess.h>
+#include <FeatMgr.h>
+#include <data_caging_path_literals.hrh>
-#include <bldvariant.hrh>
-#include <data_caging_path_literals.hrh>
-#include "MemoryManager.h"
+#include "GDIDeviceContext.h"
+#include "nw_object_dynamici.h"
+#include "GDIFont.h"
+#include "nw_gdi_utils.h"
+#include "nw_text_ucs2.h"
+#include "nwx_string.h"
+#include "nwx_settings.h"
+#include "nwx_logger.h"
+#include "nwx_http_defs.h"
+#include "MVCview.h"
+#include "BrsrStatusCodes.h"
+
+#include <MemoryManager.h>
// EXTERNAL DATA STRUCTURES
--- a/webengine/wmlengine/src/hed/include/TextReverse.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/TextReverse.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef TEXTREVERSE_H
#define TEXTREVERSE_H
@@ -24,11 +22,10 @@
extern "C" {
#endif
-
// INCLUDES
#include "nwx_defs.h"
#include "nwx_http_defs.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include "BrsrStatusCodes.h"
// CONSTANTS
@@ -39,8 +36,6 @@
// FUNCTION PROTOTYPES
-
-
TBrowserStatusCode ReverseText(NW_String_t* string);
#ifdef __cplusplus
--- a/webengine/wmlengine/src/hed/include/nw_dom_domvisitor.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_dom_domvisitor.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define NW_CXML_DOM_DOMVISITOR_H
#include "nw_object_dynamic.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
--- a/webengine/wmlengine/src/hed/include/nw_hed_contenthandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_contenthandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -24,7 +24,7 @@
#include "nw_hed_urlrequest.h"
#include "nw_hed_urlresponse.h"
#include "nw_text_ucs2.h"
-#include <urlloader_urlresponse.h>
+#include "urlloader_urlresponse.h"
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
--- a/webengine/wmlengine/src/hed/include/nw_hed_context.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_context.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
#ifndef NW_HED_CONTEXT_H
#define NW_HED_CONTEXT_H
#include "nw_object_dynamic.h"
#include "nw_adt_dynamicvector.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include "NW_HED_EXPORT.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/hed/include/nw_hed_domhelper.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_domhelper.h Mon Mar 29 12:27:15 2010 +0100
@@ -27,8 +27,8 @@
#ifndef NW_HED_DOM_HELPER_H
#define NW_HED_DOM_HELPER_H
-#include "nw_dom_node.h"
-#include "nw_string_string.h"
+#include <nw_dom_node.h>
+#include <nw_string_string.h>
#include "nw_hed_context.h"
#include "nw_hed_entityset.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/hed/include/nw_hed_domtree.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_domtree.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include "nwx_http_header.h"
#include "nwx_buffer.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#ifdef __cplusplus
extern "C" {
--- a/webengine/wmlengine/src/hed/include/nw_hed_errorcontenthandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_errorcontenthandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,21 +15,18 @@
*
*/
-
#ifndef NW_HED_ERRORCONTENTHANDLER_H
#define NW_HED_ERRORCONTENTHANDLER_H
#include "nw_hed_contenthandler.h"
#include "nw_text_ucs2.h"
-#include <urlloader_urlresponse.h>
+#include "urlloader_urlresponse.h"
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
-
/* ------------------------------------------------------------------------- */
typedef struct NW_HED_ErrorContentHandler_Class_s NW_HED_ErrorContentHandler_Class_t;
typedef struct NW_HED_ErrorContentHandler_s NW_HED_ErrorContentHandler_t;
--- a/webengine/wmlengine/src/hed/include/nw_hed_iloadrecipient.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_iloadrecipient.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,22 +15,19 @@
*
*/
-
#ifndef NW_HED_ILOADRECIPIENT_H
#define NW_HED_ILOADRECIPIENT_H
#include "nw_object_interface.h"
-#include "NW_Text_Abstract.h"
+#include "nw_Text_Abstract.h"
#include "nw_hed_urlrequest.h"
-#include <urlloader_urlresponse.h>
+#include "urlloader_urlresponse.h"
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
-
/* ------------------------------------------------------------------------- *
forward declarations
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/hed/include/nw_hed_mimetable.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_mimetable.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,20 +15,17 @@
*
*/
-
#ifndef NW_HED_MIMETABLE_H
#define NW_HED_MIMETABLE_H
#include "nw_object_base.h"
#include "nw_hed_contenthandler.h"
-#include <urlloader_urlresponse.h>
+#include "urlloader_urlresponse.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
-
-
/* ------------------------------------------------------------------------- *
forward declarations
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/hed/include/nw_hed_urlrequest.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_urlrequest.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_HED_URLREQUEST_H
#define NW_HED_URLREQUEST_H
@@ -24,7 +23,7 @@
#include "nw_adt_dynamicvector.h"
#include "NW_Text_Abstract.h"
#include "urlloader_urlresponse.h"
-#include <nwx_http_header.h>
+#include "nwx_http_header.h"
#include "nwx_buffer.h"
#include "NW_HED_EXPORT.h"
#include "BrsrStatusCodes.h"
@@ -33,7 +32,6 @@
extern "C" {
#endif /* __cplusplus */
-
typedef enum NW_HED_UrlRequest_LoadMode_e {
NW_HED_UrlRequest_LoadNormal,
NW_HED_UrlRequest_LoadLocal
--- a/webengine/wmlengine/src/hed/include/nw_hed_urlresponse.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/include/nw_hed_urlresponse.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,14 @@
*
*/
-
#ifndef NW_HED_URLRESPONSE_H
#define NW_HED_URLRESPONSE_H
#include "nw_object_dynamic.h"
#include "nw_adt_dynamicvector.h"
-#include "NW_Text_Abstract.h"
-#include <urlloader_urlresponse.h>
-#include "NW_HED_EXPORT.h"
+#include "nw_text_abstract.h"
+#include "urlloader_urlresponse.h"
+#include "nw_hed_export.h"
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
--- a/webengine/wmlengine/src/hed/src/DomHelper.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/DomHelper.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
#include "nwx_defs.h"
#include "nw_hed_domhelper.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
#include "nw_dom_domvisitor.h"
-#include "nw_dom_text.h"
-#include "nw_dom_document.h"
+#include <nw_dom_text.h>
+#include <nw_dom_document.h>
#include "nwx_string.h"
#include "nwx_url_utils.h"
#include "nwx_logger.h"
@@ -34,7 +33,6 @@
#include "BrsrStatusCodes.h"
#include "wml_elm_attr.h"
-
/* ------------------------------------------------------------------------- *
private constants
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/hed/src/DomTree.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/DomTree.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
#include "nw_hed_domtree.h"
-#include "nw_tinydom_utils.h"
+#include <nw_tinydom_utils.h>
#include "nw_object_exceptions.h"
#include "nwx_statuscodeconvert.h"
-//#include "Nw_string_string.h"
+// #include <nw_string_string.h>
struct NW_HED_DomTree_s {
Parser_t domParser;
--- a/webengine/wmlengine/src/hed/src/HEDCompositeContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/HEDCompositeContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_hed_compositecontenthandleri.h"
#include "nw_hed_documentroot.h"
#include "nw_system_optionlist.h"
@@ -29,12 +28,11 @@
#include "nw_image_virtualimage.h"
#include "BrsrStatusCodes.h"
#include "nwx_settings.h"
-#include <nwx_http_defs.h>
+#include "nwx_http_defs.h"
#include "stringutils.h"
#include "TEncodingMapping.h"
-#include "BodyPart.h"
-#include "MemoryManager.h"
-
+#include <bodypart.h>
+#include <MemoryManager.h>
/* ------------------------------------------------------------------------- *
static data
--- a/webengine/wmlengine/src/hed/src/HEDDocumentRoot.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/HEDDocumentRoot.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -14,8 +14,8 @@
* Description:
*
*/
-
-
+#include <stddef.h>
+#include <Uri16.h>
#include "nw_hed_documentrooti.h"
#include "nw_hed_historyentry.h"
@@ -40,15 +40,11 @@
#include "nw_evlog_api.h"
#include "nwx_logger.h"
#include "nwx_http_defs.h"
-#include <stddef.h>
-#include <Uri16.h>
#include "BrsrStatusCodes.h"
#include "HEDDocumentListener.h"
#include "WmlControl.h"
-
-
/* ------------------------------------------------------------------------- *
private methods
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/hed/src/HistoryStack.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/HistoryStack.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -14,7 +14,7 @@
* Description:
*
*/
-
+#include <brctldefs.h>
#include "nw_hed_historystacki.h"
@@ -30,7 +30,6 @@
#include "WmlControl.h"
#include "HistoryController.h"
#include "HistoryStack.h"
-#include "BrCtlDefs.h"
#include "HistoryEntry.h"
#include "WmlInterface.h"
--- a/webengine/wmlengine/src/hed/src/Loader.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/Loader.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,9 @@
*
*/
+#include <e32def.h>
#include "nw_hed_loaderi.h"
-
#include "nw_adt_resizablevector.h"
#include "nw_text_ucs2.h"
#include "nw_hed_urlrequest.h"
@@ -29,9 +29,6 @@
#include "nwx_http_defs.h"
#include "BrsrStatusCodes.h"
-#include <e32def.h>
-
-
/* ------------------------------------------------------------------------- */
/* Static data not permitted in Epoc. For now it's been moved to the
--- a/webengine/wmlengine/src/hed/src/MimeTable.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/MimeTable.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
+#include <e32std.h>
+#include <stdarg.h>
#include "nw_hed_mimetablei.h"
#include "nwx_http_defs.h"
#include "nwx_string.h"
#include "nw_imagech_epoc32contenthandler.h"
-#include <e32std.h>
-
-#include <stdarg.h>
static
NW_Bool NW_HED_MimeTable_IsImageContentType(NW_Http_ContentTypeString_t contentTypeString)
--- a/webengine/wmlengine/src/hed/src/UrlResponse.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/UrlResponse.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,9 @@
*
*/
-
#include "nw_hed_urlresponsei.h"
-
#include "nw_text_ucs2.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "BrsrStatusCodes.h"
/*
--- a/webengine/wmlengine/src/hed/src/contentLoader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/hed/src/contentLoader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// This module forwards content that is not handled by the browser to the OS
// document handler.
@@ -28,7 +27,7 @@
#include "ContentLoader.h"
#include "MVCShell.h"
#include "BrsrStatusCodes.h"
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
#include "StringUtils.h"
// CONSTANTS
--- a/webengine/wmlengine/src/htmlp/include/CHtmlpParser.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/htmlp/include/CHtmlpParser.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
/** ----------------------------------------------------------------------- **
@package: NW_HTMLP
@@ -32,7 +30,7 @@
#include "nw_htmlp_lexer.h"
#include "BrsrStatusCodes.h"
#include "nwx_buffer.h"
-#include "nw_encoder_wbxmlwriter.h"
+#include <nw_encoder_wbxmlwriter.h>
#ifdef __cplusplus
extern "C" {
--- a/webengine/wmlengine/src/htmlp/src/CHtmlpParser.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/htmlp/src/CHtmlpParser.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
HTML Parser
@@ -25,14 +24,14 @@
#include "nwx_defs.h"
#include "CHtmlpParser.h"
-#include "nw_string_char.h"
+#include <nw_string_char.h>
#include "BrsrStatusCodes.h"
#include "nwx_string.h"
#include "nw_htmlp_to_wbxml.h"
#include "nw_htmlp_html_dict.h"
#include "nw_htmlp_wml_dict.h"
-#include "nw_wbxml_dictionary.h"
-#include "nw_encoder_stringtable.h"
+#include <nw_wbxml_dictionary.h>
+#include <nw_encoder_stringtable.h>
/* "<?" len 2 */
#define NW_HTMLP_String_PiFormStartLength 2
--- a/webengine/wmlengine/src/htmlp/src/htmlp_lexer.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/htmlp/src/htmlp_lexer.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
Lexer for HTML parser.
@@ -25,7 +24,7 @@
#include "nwx_defs.h"
#include "nw_htmlp_lexer.h"
-#include "nw_string_char.h"
+#include <nw_string_char.h>
#include "BrsrStatusCodes.h"
/* Does not copy the buffer */
--- a/webengine/wmlengine/src/htmlp/src/htmlp_to_wbxml.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/htmlp/src/htmlp_to_wbxml.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include "nwx_defs.h"
-#include "nw_encoder_wbxmlwriter.h"
+#include <nw_encoder_wbxmlwriter.h>
#include "CHtmlpParser.h"
#include "nw_htmlp_to_wbxml.h"
#include "nw_htmlp_dict.h"
@@ -25,8 +24,8 @@
#include "nwx_statuscodeconvert.h"
#include "BrsrStatusCodes.h"
#include "nw_wml1x_wml_1_3_tokens.h"
-#include "nw_wbxml_dictionary.h"
-#include "nw_encoder_stringtable.h"
+#include <nw_wbxml_dictionary.h>
+#include <nw_encoder_stringtable.h>
#include "nwx_logger.h"
#include "nwx_http_defs.h"
--- a/webengine/wmlengine/src/image/include/NW_Image_ImageFactory.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/image/include/NW_Image_ImageFactory.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,10 @@
#ifndef NW_Image_ImageFactory_h
#define NW_Image_ImageFactory_h
-
-
-
#include "nw_object_core.h"
#include "nw_image_abstractimage.h"
-#include <nwx_buffer.h>
-#include <nwx_http_header.h>
+#include "nwx_buffer.h"
+#include "nwx_http_header.h"
#ifdef __cplusplus
extern "C" {
--- a/webengine/wmlengine/src/image/src/Epoc32CannedImages.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/image/src/Epoc32CannedImages.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,14 @@
*
*/
+#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
+#include <fbs.h>
-#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nw_image_cannedimagesi.h"
#include "nw_image_epoc32cannedimage.h"
#include "nw_text_ascii.h"
-#include <fbs.h>
-#include <nw_browser_browserimages.h>
+#include "nw_browser_browserimages.h"
#include "BrsrStatusCodes.h"
static TBrowserStatusCode
--- a/webengine/wmlengine/src/image/src/Epoc32ImageDecoder.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/image/src/Epoc32ImageDecoder.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -46,13 +46,11 @@
#include "nw_lmgr_statictablebox.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "nwx_statuscodeconvert.h"
-#include "nw_dom_attribute.h"
-#include "nw_dom_element.h"
-#include "Oma2Agent.h"
+#include <nw_dom_attribute.h>
+#include <nw_dom_element.h>
+#include <Oma2Agent.h>
#include "nwx_ctx.h"
-
-
/* The Media server seems to return a value larger than this if the animation
* should end; it is 0xffff x 10; I'm not sure if this is significant. I didn't
* find any documentation for this. */
--- a/webengine/wmlengine/src/image/src/Epoc32SimpleImage.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/image/src/Epoc32SimpleImage.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <e32def.h> // First to avoid NULL redefine warning (no #ifndef NULL).
#include "nw_image_epoc32simpleimagei.h"
#include "Epoc32ImageDecoder.h"
@@ -33,8 +32,7 @@
#include <bitdev.h>
#include "BrsrStatusCodes.h"
#include "nwx_logger.h"
-#include "MemoryManager.h"
-
+#include <MemoryManager.h>
// Forward declaration which can't be put inside header file without breaking
// compilation of OOC files.
@@ -42,7 +40,6 @@
TBrowserStatusCode
scaleBitmap( CFbsBitmap* bitmap, CFbsBitmap** scaledBitmap, TRect* rect );
-
void
_NW_Image_Epoc32SimpleImage_ImageOpened( NW_Image_AbstractImage_t* aAbstractImage, NW_Bool aFailed,
NW_Int16 aSuppressDupReformats )
--- a/webengine/wmlengine/src/lmgr/include/ObjectUtils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/include/ObjectUtils.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef OBJECTUTILS_H
#define OBJECTUTILS_H
@@ -25,7 +23,7 @@
#include <badesca.h>
#include "nwx_defs.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
// CONSTANTS
@@ -202,7 +200,7 @@
*
* @return void
*/
- static void ObjectUtils::RemoveAttributeL( CDesCArray& aNameArray,
+ static void RemoveAttributeL( CDesCArray& aNameArray,
CDesCArray& aValueArray, const TDesC& aName );
/**
@@ -212,7 +210,7 @@
*
* @return the associated content type of NULL if no association exists.
*/
- static TDesC* ObjectUtils::GetAssociatedContentType(const TDesC& aClassId);
+ static TDesC* GetAssociatedContentType(const TDesC& aClassId);
/**
* Returns the source param name associated with the given class-id.
@@ -221,7 +219,7 @@
*
* @return the associated source param name of NULL if no association exists.
*/
- static TDesC* ObjectUtils::GetAssociatedSourceParamName(const TDesC& aClassId);
+ static TDesC* GetAssociatedSourceParamName(const TDesC& aClassId);
/**
* General purpose panic function for Object related errors.
@@ -239,7 +237,7 @@
* @param aUrl The uri with file name and extension.
* @return the content type of the uri
*/
- static HBufC* ObjectUtils::GetContentTypeByUrl(const TDesC* aUri);
+ static HBufC* GetContentTypeByUrl(const TDesC* aUri);
private: // Private Methods
/**
@@ -291,7 +289,7 @@
* (either KParamName or KContentType)
* @return the value or NULL on out of memory.
*/
- static TDesC* ObjectUtils::GetClassidAssociation(const TDesC& aClassId,
+ static TDesC* GetClassidAssociation(const TDesC& aClassId,
TInt aValueSelector);
};
--- a/webengine/wmlengine/src/lmgr/src/BoxFormatHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/src/BoxFormatHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,6 @@
*
*/
-
// INCLUDE FILES
#include "BoxFormatHandler.h"
#include "nwx_logger.h"
@@ -31,7 +30,6 @@
#include <f32file.h>
#include <flogger.h>
-
// EXTERNAL FUNCTION PROTOTYPES
// CONSTANTS
--- a/webengine/wmlengine/src/lmgr/src/LMgrAbstractTextBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/src/LMgrAbstractTextBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_lmgr_abstracttextboxi.h"
#include "nw_lmgr_splittextbox.h"
#include "nw_lmgr_rootbox.h"
--- a/webengine/wmlengine/src/lmgr/src/LMgrBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/src/LMgrBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_lmgr_boxi.h"
#include "nw_lmgr_rootbox.h"
#include "nw_lmgr_marqueebox.h"
@@ -45,8 +44,8 @@
#include "BrsrStatusCodes.h"
#include "LMgrAnonBlock.h"
#include "nw_css_tokentoint.h"
-#include "bitdev.h"
-#include "aknutils.h"
+#include <bitdev.h>
+#include <aknutils.h>
#include "LMgrObjectBoxOOC.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/lmgr/src/LMgrContainerBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/src/LMgrContainerBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_lmgr_containerboxi.h"
#include "nw_lmgr_box.h"
#include "nw_lmgr_flowbox.h"
--- a/webengine/wmlengine/src/lmgr/src/LMgrFlowBox.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/lmgr/src/LMgrFlowBox.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include "nw_fbox_inputbox.h"
#include "nw_lmgr_imgcontainerbox.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/* The static instance of the Flow_Box class object
* Flow box is a pure virtual class with several methods
--- a/webengine/wmlengine/src/markup/include/nw_markup_elementhandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/markup/include/nw_markup_elementhandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include "nw_object_base.h"
#include "nw_lmgr_containerbox.h"
#include "nw_lmgr_activebox.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "NW_Markup_EXPORT.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/markup/src/MARKUPNumberCollector.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/markup/src/MARKUPNumberCollector.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -26,7 +26,7 @@
#include "nw_lmgr_imgcontainerbox.h"
#include "nw_fbox_optionbox.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/* ------------------------------------------------------------------------- *
private methods
--- a/webengine/wmlengine/src/markup/src/MARKUPWBXMLModule.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/markup/src/MARKUPWBXMLModule.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include "nw_markup_wbxmlmodulei.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
#include "nw_hed_domhelper.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/markup/src/MARKUPWmlValidator.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/markup/src/MARKUPWmlValidator.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nwx_string.h"
#include "nw_wml_core.h"
#include "nw_markup_wmlvalidatori.h"
--- a/webengine/wmlengine/src/markup/src/MARKUPXMLModule.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/markup/src/MARKUPXMLModule.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,12 +18,11 @@
/*lint --e{767} macro was defined differently in another module */
#include "nw_markup_xmlmodulei.h"
-#include "nw_dom_element.h"
+#include <nw_dom_element.h>
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "BrsrStatusCodes.h"
-
/* ------------------------------------------------------------------------- *
class definition
* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/object/src/Dynamic.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/object/src/Dynamic.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include "nw_object_dynamici.h"
#include "nw_object_aggregatei.h"
-#include <nwx_mem.h>
+#include "nwx_mem.h"
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- */
--- a/webengine/wmlengine/src/script/include/scr_core.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/script/include/scr_core.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef SCR_CORE_H
#define SCR_CORE_H
@@ -26,8 +25,6 @@
#include "nwx_http_header.h"
#include "BrsrStatusCodes.h"
-
-
typedef NW_Bool lib_function(void);
typedef struct {
--- a/webengine/wmlengine/src/script/src/nwx_script_handler.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/script/src/nwx_script_handler.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nwx_defs.h"
#include "nwx_mem.h"
#include "nwx_string.h"
@@ -46,8 +45,6 @@
NW_Msg_t *finishMsg; /* msg alloc'ed at start */
} Script_Context_t;
-
-
/*************************** Global Data *****************************
NOTES: For now we will create a single global variable to
hold all of the context for the component. It will be
--- a/webengine/wmlengine/src/script/src/scr_api.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/script/src/scr_api.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "scr_api.h"
#include "scr_srv.h"
#include "scr_core.h"
--- a/webengine/wmlengine/src/script/src/scr_core.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/script/src/scr_core.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "scr_core.h"
#include "scr_conv.h"
#include "scr_api.h"
--- a/webengine/wmlengine/src/script/src/scr_reader.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/script/src/scr_reader.c Mon Mar 29 12:27:15 2010 +0100
@@ -38,7 +38,6 @@
#include "nwx_http_defs.h"
#include "BrsrStatusCodes.h"
-
/* prototypes */
NW_Bool read_header_info(NW_Reader_t *r);
NW_Bool read_constpool(NW_Reader_t *r);
--- a/webengine/wmlengine/src/text/include/NW_Text_Abstract.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/text/include/NW_Text_Abstract.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_Text_Abstract_h
#define NW_Text_Abstract_h
@@ -23,8 +22,8 @@
#include "nw_object_dynamic.h"
#include "nw_text_types.h"
#include "nw_text_iterator.h"
-#include "nw_string_char.h"
-#include "nw_string_string.h"
+#include <nw_string_char.h>
+#include <nw_string_string.h>
#include "BrsrStatusCodes.h"
#ifdef __cplusplus
--- a/webengine/wmlengine/src/text/src/NW_Text_Abstract.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/text/src/NW_Text_Abstract.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "NW_Text_AbstractI.h"
#include "nw_text_ucs2.h"
@@ -23,7 +22,7 @@
#include "nw_text_latin1.h"
#include "nw_text_ascii.h"
#include "nwx_string.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/urlloader/include/urlloader_curlloader.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/urlloader/include/urlloader_curlloader.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,10 +21,10 @@
#define CKUrlLoader_H
// INCLUDES
+#include <brctldefs.h>
+
#include "urlloader_murlschemehandler.h"
#include "BrsrStatusCodes.h"
-#include "BrCtlDefs.h"
-
// CONSTANTS
--- a/webengine/wmlengine/src/urlloader/include/urlloader_urlloaderI.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/urlloader/include/urlloader_urlloaderI.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,14 @@
*
*/
-
-
#ifndef URLLOADERI_H
#define URLLOADERI_H
// INCLUDES
+#include <brctldefs.h>
#include "urlloader_urlloaderint.h"
#include "httploader_mlinkresolvercallbacks.h"
#include "BrsrStatusCodes.h"
-#include "BrCtlDefs.h"
#ifdef __cplusplus
extern "C" {
--- a/webengine/wmlengine/src/urlloader/include/urlloader_urlloaderint.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/urlloader/include/urlloader_urlloaderint.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef URLLOADERINT_H
#define URLLOADERINT_H
@@ -24,7 +23,6 @@
#include "urlloader_urlresponse.h"
#include "BrsrStatusCodes.h"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -33,14 +31,13 @@
#define NW_NUM_INSTANCES 3
-
// MACROS
// DATA TYPES
// The "TEnterStatus", relates to what security state the page is going to.
// This "page loading" status, is passed in HandleBrowserLoadEventL() using the
-// TBrCtlLoadEvent enum. (see BrCtlDefs.h)
+// TBrCtlLoadEvent enum. (see brctldefs.h)
// These constants must stay in sync with viewshellobserver.h
//R
--- a/webengine/wmlengine/src/urlloader/src/urlloader_curlloader.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/urlloader/src/urlloader_curlloader.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include "urlloader_loaderutils.h"
#include "fileloader_cfileloader.h"
#include "BrsrStatusCodes.h"
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
#include "StringUtils.h"
#include "nwx_defs.h"
#include "httploader_mlinkresolvercallbacks.h"
--- a/webengine/wmlengine/src/urlloader/src/urlloader_urlresponse.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/urlloader/src/urlloader_urlresponse.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
--- a/webengine/wmlengine/src/utils/include/StringUtils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/include/StringUtils.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef STRINGUTIL_H
#define STRINGUTIL_H
@@ -26,7 +24,6 @@
#include "nwx_defs.h"
#include <nw_string_string.h>
-
// CLASS DECLARATION
/**
--- a/webengine/wmlengine/src/utils/include/nw_loadreq.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/include/nw_loadreq.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_LOADREQ_H
#define NW_LOADREQ_H
@@ -38,7 +37,6 @@
** Preprocessor Macro Definitions
*/
-
#ifdef __cplusplus
extern "C" {
#endif
--- a/webengine/wmlengine/src/utils/include/nwx_multipart_generator.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/include/nwx_multipart_generator.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NWX_MULTIPART_GENERATOR_H
#define NWX_MULTIPART_GENERATOR_H
--- a/webengine/wmlengine/src/utils/include/nwx_osu_file.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/include/nwx_osu_file.h Mon Mar 29 12:27:15 2010 +0100
@@ -23,7 +23,6 @@
extern "C" {
#endif
-
/*
** Includes
*/
--- a/webengine/wmlengine/src/utils/src/CBrowserSettings.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/CBrowserSettings.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include <bldvariant.hrh>
#include "CBrowserSettings.h"
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <centralrepository.h>
#include <eikenv.h>
--- a/webengine/wmlengine/src/utils/src/CReferrerHelper.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/CReferrerHelper.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "CReferrerHelper.h"
#include "urlloader_urlloaderint.h"
#include "nwx_http_defs.h" // For NW_URL_METHOD_GET
--- a/webengine/wmlengine/src/utils/src/ImageUtils.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/ImageUtils.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDE FILES
#include <e32base.h>
--- a/webengine/wmlengine/src/utils/src/TEncodingMapping.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/TEncodingMapping.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "TEncodingMapping.h"
#include "nwx_http_defs.h"
#include "nwx_defs.h"
--- a/webengine/wmlengine/src/utils/src/nw_loadreq.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nw_loadreq.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
**-------------------------------------------------------------------------
** Component Generic Include
@@ -32,7 +31,7 @@
#include "nwx_url_utils.h"
#include "nw_nvpair.h"
#include "nw_wae_reader.h"
-#include "nw_string_string.h"
+#include <nw_string_string.h>
#include "nwx_http_defs.h"
#include "nwx_settings.h"
#include "nwx_statuscodeconvert.h"
@@ -45,7 +44,6 @@
#include "nw_loadreq.h"
#include "urlloader_urlloaderint.h"
#include "BrsrStatusCodes.h"
-#include "nwx_http_defs.h"
/*
**-------------------------------------------------------------------------
--- a/webengine/wmlengine/src/utils/src/nw_nvpair.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nw_nvpair.c Mon Mar 29 12:27:15 2010 +0100
@@ -146,7 +146,7 @@
NW_ASSERT( thisObj->strTable == NULL );
NW_ASSERT( name != NULL );
- if (name[0] == '\0') {
+ if (name[0] == '\0' || value[0] == '\0') {
return KBrsrSuccess;
}
--- a/webengine/wmlengine/src/utils/src/nwx_multipart_generator.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_multipart_generator.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nwx_defs.h"
#include "nwx_http_defs.h"
#include "nwx_string.h"
--- a/webengine/wmlengine/src/utils/src/nwx_osu_epoc32.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_osu_epoc32.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include "nwx_osu_epoc32.h"
#include "nwx_logger.h"
#include "nwx_string.h"
-#include <ls_std.h>
+#include <kernel/localise.h>
#include "BrsrStatusCodes.h"
/*
--- a/webengine/wmlengine/src/utils/src/nwx_osu_file_epoc32.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_osu_file_epoc32.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
**-------------------------------------------------------------------------
** Include Files
@@ -31,7 +30,6 @@
#include <SysUtil.h>
#include "BrsrStatusCodes.h"
-
/*
**-------------------------------------------------------------------------
** Defines
--- a/webengine/wmlengine/src/utils/src/nwx_settings_epoc32.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_settings_epoc32.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
**-------------------------------------------------------------------------
** Include Files
--- a/webengine/wmlengine/src/utils/src/nwx_sprintf.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_sprintf.c Mon Mar 29 12:27:15 2010 +0100
@@ -33,7 +33,7 @@
#include "nwx_url_utils.h"
#include <stdarg.h>
-#include <float.h> /* FLT_DIG */
+#include "float.h" /* FLT_DIG */
/*lint -save -e794, -e661 Conceivable use of null pointer, Possible access of out-of-bounds pointer*/
--- a/webengine/wmlengine/src/utils/src/nwx_url_utils.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/utils/src/nwx_url_utils.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
/*****************************************************************
** File name: nwx_url_utils.c
** Part of: Url Utils (NW)
@@ -24,7 +22,6 @@
** to the standards defined in RFC 2396.
******************************************************************/
-
/*
**-------------------------------------------------------------------------
** Include Files
--- a/webengine/wmlengine/src/wml/include/nw_evlog_api.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_evlog_api.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_EVLOG_API_H
#define NW_EVLOG_API_H
--- a/webengine/wmlengine/src/wml/include/nw_wae.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wae.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/***************************************************************************
** File: nw_wae.h
** Subsystem Name: WAE User Agent
@@ -45,7 +44,6 @@
#include "wml_wae_transaction.h"
#include "BrsrStatusCodes.h"
-
/* */
/* Spectrum uses the new SIA/OTA Push application, which registers directly */
/* with the WSP stack, rather than the Rainbow OEM Push handlering code */
--- a/webengine/wmlengine/src/wml/include/nw_wml_core.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wml_core.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*
$Workfile: nw_wml_core.h $
@@ -55,10 +54,8 @@
#include "urlloader_urlresponse.h"
#include "BrsrStatusCodes.h"
-
#define MAX_NUMBER_INTRA_OEF 15 /* the value is so chosen that the call stack does not max out - Vishy*/
-
/*---------------------------------------------------------------------
* NW_Wml_History_t -- history stack element -- holds information needed
* to reconstruct the call to access a card we've been to recently.
--- a/webengine/wmlengine/src/wml/include/nw_wml_list.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wml_list.h Mon Mar 29 12:27:15 2010 +0100
@@ -33,7 +33,7 @@
#endif
#include "nwx_defs.h"
-#include "nwx_status.h"
+#include <nwx_status.h>
#include "nwx_memseg.h"
/* A single linked list with a dummy element first */
--- a/webengine/wmlengine/src/wml/include/nw_wml_url_utils.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wml_url_utils.h Mon Mar 29 12:27:15 2010 +0100
@@ -34,9 +34,8 @@
extern "C" {
#endif
-
#include "nw_wml_core.h"
-#include "nwx_status.h"
+#include <nwx_status.h>
#ifdef __cplusplus
} /* extern "C" */
--- a/webengine/wmlengine/src/wml/include/nw_wml_var.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wml_var.h Mon Mar 29 12:27:15 2010 +0100
@@ -35,7 +35,7 @@
#include "nwx_defs.h"
#include "nwx_memseg.h"
-#include "nwx_status.h"
+#include <nwx_status.h>
typedef struct _NW_Wml_Var_t NW_Wml_Var_t;
struct _NW_Wml_Var_t {
--- a/webengine/wmlengine/src/wml/include/nw_wtai_api.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/nw_wtai_api.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/*****************************************************************
** File name: wml_wtai_api.h
** Part of: WAE
@@ -29,7 +28,6 @@
extern "C" {
#endif
-
/*
**-------------------------------------------------------------------------
** Include Files
@@ -40,7 +38,6 @@
#include "nwx_http_header.h"
#include "BrsrStatusCodes.h"
-
/*
**-------------------------------------------------------------------------
** Macros
--- a/webengine/wmlengine/src/wml/include/wml_core.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/wml_core.h Mon Mar 29 12:27:15 2010 +0100
@@ -37,5 +37,4 @@
#include "wml_list.h"
#include "wml_api.h"
-
#endif /* WML_CORE_H */
--- a/webengine/wmlengine/src/wml/include/wml_deck.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/wml_deck.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef WML_DECK_H
#define WML_DECK_H
--- a/webengine/wmlengine/src/wml/include/wml_decoder.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/include/wml_decoder.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef WML_DECODER_H
#define WML_DECODER_H
@@ -32,7 +31,6 @@
#include "nw_hed_context.h"
#include "BrsrStatusCodes.h"
-
#ifdef __cplusplus
extern "C" {
#endif
--- a/webengine/wmlengine/src/wml/src/WMLWae.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/src/WMLWae.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,6 @@
*
*/
-
/*
**-------------------------------------------------------------------------
** Include Files
@@ -44,7 +43,6 @@
**-------------------------------------------------------------------------
*/
-
/*
**-------------------------------------------------------------------------
** Internal Prototypes
--- a/webengine/wmlengine/src/wml/src/WMLhistory.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/src/WMLhistory.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -35,8 +35,7 @@
#include "nwx_ctx.h"
#include "nw_hed_documentroot.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
-
+#include <MemoryManager.h>
/*------------------------------------------------------------------------
* StringCopy -- makes a copy of src string, puts its address in *dest,
--- a/webengine/wmlengine/src/wml/src/wml_deck_iter.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/src/wml_deck_iter.c Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,11 @@
*
*/
-
-#include <nwx_logger.h>
+#include "nwx_logger.h"
-#include "nw_dom_text.h"
+#include <nw_dom_text.h>
#include "wml_deck_iter.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "BrsrStatusCodes.h"
static NW_DOM_Node_t* x_GetNextElement_AllChildren (NW_Wml_DeckIter_t* thisObj)
--- a/webengine/wmlengine/src/wml/src/wml_wae_reader.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml/src/wml_wae_reader.c Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,6 @@
*
*/
-
#include "nw_wae_reader.h"
#include "nwx_defs.h"
--- a/webengine/wmlengine/src/wml1x/include/nw_wml1x_wml1xcontenthandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/include/nw_wml1x_wml1xcontenthandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_WML1X_CONTENTHANDLER_H
#define NW_WML1X_CONTENTHANDLER_H
@@ -30,10 +29,9 @@
#include "nw_text_ucs2.h"
#include "nw_adt_dynamicvector.h"
#include "nw_wml1x_wml1xformliaison.h"
-#include "nw_tinydom_utils.h"
+#include <nw_tinydom_utils.h>
#include "BrsrStatusCodes.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
--- a/webengine/wmlengine/src/wml1x/src/Epoc32Wml1xActiveEvent.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/src/Epoc32Wml1xActiveEvent.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include <e32def.h> // resolves NULL redefinition warning.
#include "nw_wml1x_wml1xcontenthandler.h"
--- a/webengine/wmlengine/src/wml1x/src/WML1XApi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/src/WML1XApi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
/* Includes */
#include "nwx_string.h"
#include "nwx_url_utils.h"
@@ -67,10 +66,10 @@
#include "nw_wml1x_wml1xapi.h"
#include "nwx_http_defs.h"
#include "BrsrStatusCodes.h"
-#include "BodyPart.h"
+#include <bodypart.h>
#include "MVCShell.h"
#include "BrCtl.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/*
**-------------------------------------------------------------------------
--- a/webengine/wmlengine/src/wml1x/src/WML1XContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/src/WML1XContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -31,7 +31,7 @@
#include "nw_lmgr_cssproperties.h"
#include "nw_imagech_epoc32contenthandler.h"
#include "nwx_string.h"
-#include "stdarg.h"
+#include <stdarg.h>
#include "nw_lmgr_bidiflowbox.h"
#include "nw_wml1x_wml1xdefaultstylesheet.h"
#include "nw_image_cannedimages.h"
@@ -39,7 +39,7 @@
#include "nwx_osu.h"
#include "wml_url_utils.h"
#include "wml_history.h"
-#include "nw_xmlp_xmlp2wbxml.h"
+#include <nw_xmlp_xmlp2wbxml.h>
#include "nwx_settings.h"
#include "nw_wml1x_wml_1_3_tokens.h"
#include "wml_elm_attr.h"
@@ -63,7 +63,6 @@
#include "BrsrStatusCodes.h"
#include "HEDDocumentListener.h"
-
#include "wmlcontrol.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/wml1x/src/WML1XEventHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/src/WML1XEventHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,7 @@
*
*/
-
-#include <nw_wml_core.h>
+#include "nw_wml_core.h"
#include "nw_hed_documentrooti.h"
#include "nw_wml1x_wml1xeventhandleri.h"
#include "nw_lmgr_cssproperties.h"
--- a/webengine/wmlengine/src/wml1x/src/WML1XFormLiaison.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wml1x/src/WML1XFormLiaison.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "nw_wml_core.h"
#include "wml_url_utils.h"
#include "wml_task.h"
--- a/webengine/wmlengine/src/wmlcontrol/include/WmlControl.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlcontrol/include/WmlControl.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <e32base.h>
#include <w32std.h>
-#include "BrCtlDefs.h"
+#include <brctldefs.h>
#include "BrCtl.h"
#include "WmlEngineInterface.h"
@@ -97,7 +97,7 @@
// Sets the WmlLink
void SetWmlLink(TBool aLink) { iWmlLink = aLink; }
// Returns to the Browser Control info about the wml page
- HBufC* CWmlControl::PageInfoLC(TBrCtlDefs::TBrCtlPageInfo aBrCtlPageInfo);
+ HBufC* PageInfoLC(TBrCtlDefs::TBrCtlPageInfo aBrCtlPageInfo);
/**
* Update a Browser setting
--- a/webengine/wmlengine/src/wmlcontrol/include/WmlEngineDefs.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlcontrol/include/WmlEngineDefs.h Mon Mar 29 12:27:15 2010 +0100
@@ -19,13 +19,6 @@
#define WMLENGINEDEFS_H
// INCLUDES
-//#include <e32base.h>
-//#include <w32std.h>
-//#include "BrCtlDefs.h"
-
-//#include "BrCtl.h"
-//#include "WebKitLoader.h"
-
// CONSTANTS
@@ -51,15 +44,14 @@
enum TWMLOptions
{
WML_OPTION_UNKNOWN = 1,
- WML_OPTION_ACCEPT = 2,
+ WML_OPTION_ACCEPT = 2,
WML_OPTION_PREV = 3,
WML_OPTION_HELP = 4,
- WML_OPTION_RESET = 5,
+ WML_OPTION_RESET = 5,
WML_OPTION_OPTIONS = 6,
WML_OPTION_DELETE = 7
};
};
-
#endif // WMLENGINEDEFS_H
// End of File
--- a/webengine/wmlengine/src/wmlcontrol/include/WmlEngineInterface.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlcontrol/include/WmlEngineInterface.h Mon Mar 29 12:27:15 2010 +0100
@@ -22,13 +22,11 @@
#include <e32base.h>
#include <COEDEF.H>
-#include "BrCtlDefs.h"
-#include "WmlEngineDefs.h"
-
+#include <brctldefs.h>
+#include <WmlEngineDefs.h>
// CONSTANTS
-
//Forword declrartion;
class CBrCtl;
class MWmlInterface;
--- a/webengine/wmlengine/src/wmlcontrol/src/WmlContentInterface.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlcontrol/src/WmlContentInterface.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
// INCLUDES
#include <e32base.h>
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/wmlcontrol/src/WmlControl.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlcontrol/src/WmlControl.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
// INCLUDES
#include "WmlControl.h"
-#include "MultipartParser.h"
+#include <multipartparser.h>
#include "MVCView.h"
#include "MVCShell.h"
#include "WmlInterface.h"
--- a/webengine/wmlengine/src/wmlscriptch/include/nw_wmlscriptch_iwmlbrowserlib.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlscriptch/include/nw_wmlscriptch_iwmlbrowserlib.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_WMLSCH_IWMLBROWSERLIB_H
#define NW_WMLSCH_IWMLBROWSERLIB_H
@@ -27,19 +26,16 @@
extern "C" {
#endif /* __cplusplus */
-
/* ------------------------------------------------------------------------- *
forward declarations
* ------------------------------------------------------------------------- */
typedef struct NW_WmlsCh_IWmlBrowserLib_Class_s NW_WmlsCh_IWmlBrowserLib_Class_t;
typedef struct NW_WmlsCh_IWmlBrowserLib_s NW_WmlsCh_IWmlBrowserLib_t;
-
/* ------------------------------------------------------------------------- *
method type prototypes
* ------------------------------------------------------------------------- */
-
typedef
TBrowserStatusCode
(*NW_WmlsCh_IWmlBrowserLib_Init_t) (NW_WmlsCh_IWmlBrowserLib_t *wmlBrowser);
--- a/webengine/wmlengine/src/wmlscriptch/include/nw_wmlscriptch_wmlscriptcontenthandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlscriptch/include/nw_wmlscriptch_wmlscriptcontenthandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef NW_WMLSCRIPT_CONTENTHANDLER_H
#define NW_WMLSCRIPT_CONTENTHANDLER_H
--- a/webengine/wmlengine/src/wmlscriptch/src/WMLSCRIPTCHContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlscriptch/src/WMLSCRIPTCHContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -22,7 +22,7 @@
#include "nw_wae.h"
#include "nwx_ctx.h"
#include "nwx_string.h"
-#include "stdarg.h"
+#include <stdarg.h>
#include "BrsrStatusCodes.h"
/*lint -restore */
--- a/webengine/wmlengine/src/wmlscriptch/src/WMLSCRIPTCHScrProxyApi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/wmlscriptch/src/WMLSCRIPTCHScrProxyApi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -38,7 +38,7 @@
#include "nwx_http_header.h"
#include "nw_wmlscriptch_wmlscriptcontenthandler.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
+#include <MemoryManager.h>
/*
**-------------------------------------------------------------------------
--- a/webengine/wmlengine/src/xhtml/include/ImageMapPopup.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/ImageMapPopup.h Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
*
*/
-
#ifndef __IMAGEMAPPOPUP_H
#define __IMAGEMAPPOPUP_H
--- a/webengine/wmlengine/src/xhtml/include/XhtmlObjectElementHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/XhtmlObjectElementHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include <e32base.h>
#include "nwx_defs.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "HedLoadObserver.h"
#include "LMgrBoxDestructionListener.h"
--- a/webengine/wmlengine/src/xhtml/include/XhtmlTableElementHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/XhtmlTableElementHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#ifndef CXHTMLTABLEELEMENTHANDLER__H
#define CXHTMLTABLEELEMENTHANDLER__H
@@ -25,8 +23,7 @@
#include <e32base.h>
#include "nwx_defs.h"
-#include "nw_dom_node.h"
-
+#include <nw_dom_node.h>
// CONSTANTS
--- a/webengine/wmlengine/src/xhtml/include/nw_basicforms_xhtmlcontrolset.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/nw_basicforms_xhtmlcontrolset.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define NW_XHTML_XHTMLCONTROLSET_H
#include "nw_object_dynamic.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "nw_adt_dynamicvector.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/xhtml/include/nw_xhtml_attributepropertytable.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/nw_xhtml_attributepropertytable.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define NW_XHTML_ATTRIBUTEPROPERTYTABLE_H
#include "nw_object_base.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "nw_lmgr_cssproperties.h"
#include "nw_text_coretextelementhandleri.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
--- a/webengine/wmlengine/src/xhtml/include/nw_xhtml_elementhandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/nw_xhtml_elementhandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,14 +15,13 @@
*
*/
-
#ifndef NW_XHTML_ELEMENTHANDLER_H
#define NW_XHTML_ELEMENTHANDLER_H
#include "nw_object_base.h"
#include "nw_lmgr_containerbox.h"
#include "nw_lmgr_activebox.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "nw_lmgr_cssproperties.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/xhtml/include/nw_xhtml_xhtmlcontenthandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/include/nw_xhtml_xhtmlcontenthandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#ifndef _NW_XHTML_ContentHandler_h_
#define _NW_XHTML_ContentHandler_h_
@@ -30,7 +29,7 @@
#include "nw_markup_numbercollector.h"
#include "nw_markup_module.h"
#include "nw_system_timer.h"
-#include "nw_tinydom_utils.h"
+#include <nw_tinydom_utils.h>
#include "nw_xhtml_elementhandler.h"
#include "nwx_http_header.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/xhtml/src/BasicForms/XHTMLFormLiaison.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/BasicForms/XHTMLFormLiaison.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,15 @@
*
*/
-
#include <e32def.h>
#include <calslbs.h>
#include <StringLoader.h>
#include <webkit.rsg>
#include <commoncontentpolicy.h>
+#include <brctldialogsprovider.h>
+
#include "BrCtl.h"
-#include "BrCtlDialogsProvider.h"
#include "BrsrStatusCodes.h"
#include "MVCShell.h"
@@ -31,7 +31,7 @@
#include "nw_adt_mapiterator.h"
#include "nw_basicforms_xhtmlformliaisoni.h"
//#include "nw_ecma_contenthandler.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "nw_dom_domvisitor.h"
#include "nw_fbox_formbox.h"
#include "nw_fbox_optgrpbox.h"
@@ -46,7 +46,6 @@
//R->ul #include "urlloader_urlloaderint.h"
#include "TEncodingMapping.h"
-
// LOCAL CONSTANTS
_LIT(KEmptyTitle, "");
--- a/webengine/wmlengine/src/xhtml/src/BasicForms/XHTMLInputElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/BasicForms/XHTMLInputElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,8 +15,6 @@
*
*/
-
-
#include "nw_basicforms_inputelementhandleri.h"
#include "nw_basicforms_xhtmlformliaison.h"
--- a/webengine/wmlengine/src/xhtml/src/Frame/XHTMLFrameElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Frame/XHTMLFrameElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,7 @@
*
*/
-
#include "nw_frame_frameelementhandleri.h"
-
#include "nw_xhtml_xhtmlcontenthandler.h"
#include "nw_hed_hedeventhandler.h"
#include "nw_hed_documentroot.h"
--- a/webengine/wmlengine/src/xhtml/src/Hypertext/XHTMLAElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Hypertext/XHTMLAElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,6 @@
#include "nw_hypertext_aelementhandleri.h"
-
#include "nw_xhtml_xhtmlcontenthandler.h"
#include "nw_hed_hedeventhandler.h"
#include "nw_hed_documentroot.h"
--- a/webengine/wmlengine/src/xhtml/src/Image/ImageMapPopup.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Image/ImageMapPopup.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include "ImageMapPopup.h"
-
+#include <browser_platform_variant.hrh>
#include <e32math.h>
#include <apmstd.h>
#include <bitdev.h>
@@ -317,8 +317,13 @@
//
void CImageMapPopup::HandleListBoxEventL( CEikListBox* /*aListBox*/, TListBoxEvent aEventType )
{
+#ifdef BRDO_SINGLE_CLICK_ENABLED_FF
if(aEventType == MEikListBoxObserver::EEventItemDoubleClicked ||
+ aEventType == MEikListBoxObserver::EEventEnterKeyPressed || aEventType == EEventItemSingleClicked)
+#else
+ if(aEventType == MEikListBoxObserver::EEventItemDoubleClicked ||
aEventType == MEikListBoxObserver::EEventEnterKeyPressed)
+#endif
{
AttemptExitL( ETrue );
}
--- a/webengine/wmlengine/src/xhtml/src/Image/areaElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Image/areaElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include "nw_image_areaelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
--- a/webengine/wmlengine/src/xhtml/src/Image/imgElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Image/imgElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include "nw_image_imgelementhandleri.h"
#include "nw_image_virtualimage.h"
--- a/webengine/wmlengine/src/xhtml/src/Link/XHTMLLinkElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Link/XHTMLLinkElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,10 +15,9 @@
*
*/
-
#include "nw_link_linkelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "nwx_string.h"
#include "BrsrStatusCodes.h"
--- a/webengine/wmlengine/src/xhtml/src/Object/XhtmlObjectElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Object/XhtmlObjectElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <e32std.h>
#include <e32def.h>
@@ -49,7 +48,6 @@
#include "nwx_http_defs.h"
#include "urlloader_urlresponse.h"
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
--- a/webengine/wmlengine/src/xhtml/src/Structure/XHTMLTitleElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Structure/XHTMLTitleElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,15 +15,13 @@
*
*/
-
#include "nw_structure_titleelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
#include "nw_text_ucs2.h"
-#include "nw_dom_text.h"
-#include <nwx_string.h>
+#include <nw_dom_text.h>
+#include "nwx_string.h"
#include "BrsrStatusCodes.h"
-#include "MemoryManager.h"
-
+#include <MemoryManager.h>
/* ------------------------------------------------------------------------- *
class definition
--- a/webengine/wmlengine/src/xhtml/src/Structure/scriptElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Structure/scriptElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -18,9 +18,14 @@
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
+#include <f32file.h>
+#include <flogger.h>
-#include <nwx_string.h>
+#include <stddef.h>
+#include <stdio.h>
+
// User Includes
+#include "nwx_string.h"
#include "ecmadll.h"
#include "XhtmlTableElementHandlerOOC.h"
#include "nw_lmgr_statictablebox.h"
@@ -37,29 +42,21 @@
#include "nw_basicforms_inputelementhandler.h"
#include "nw_structure_scriptelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
-#include "nw_dom_document.h"
#include "nw_htmlp_to_wbxml.h"
#include "nw_lmgr_slavepropertylist.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "nw_text_ucs2.h"
-#include "nw_dom_text.h"
+#include <nw_dom_text.h>
#include "nw_dom_domvisitor.h"
-#include "nw_tinydom.h"
-#include "nw_dom_element.h"
-#include "nw_dom_document.h"
+#include <nw_tinydom.h>
+#include <nw_dom_element.h>
+#include <nw_dom_document.h>
-#include <f32file.h>
-#include <flogger.h>
-
-#include <stddef.h>
-#include <stdio.h>
-
-#include <nwx_string.h>
#include "nw_ecma_contenthandler.h"
#include "nw_lmgr_textbox.h"
#include "nwx_http_defs.h"
+#include "nwx_logger.h"
-#include "nwx_logger.h"
_LIT(KScriptLanguage, "javascript");
_LIT(KScriptType1, "text/javascript");
_LIT(KScriptType2, "text/ecmascript");
--- a/webengine/wmlengine/src/xhtml/src/Style/XHTMLStyleElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Style/XHTMLStyleElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
#include "nw_link_linkelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
-#include "nw_dom_text.h"
-#include "nw_dom_document.h"
+#include <nw_dom_text.h>
+#include <nw_dom_document.h>
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/xhtml/src/Text/XHTMLHrElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Text/XHTMLHrElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include "nw_text_hrelementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "nw_lmgr_rulebox.h"
#include "NW_Text_Abstract.h"
#include "nw_dom_domvisitor.h"
--- a/webengine/wmlengine/src/xhtml/src/Variables.c Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/Variables.c Mon Mar 29 12:27:15 2010 +0100
@@ -17,9 +17,8 @@
#include "nw_xhtml_variablesi.h"
-
#include "nw_adt_segmentedvector.h"
-#include <nwx_string.h>
+#include "nwx_string.h"
#include "BrsrStatusCodes.h"
/* ------------------------------------------------------------------------- *
--- a/webengine/wmlengine/src/xhtml/src/XHTMLAttributePropertyTable.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLAttributePropertyTable.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,10 @@
*
*/
-
#include "nwx_string.h"
#include "nwx_settings.h"
#include "BrsrStatusCodes.h"
-#include "nw_dom_node.h"
+#include <nw_dom_node.h>
#include "nw_css_tokentoint.h"
#include "nw_lmgr_cssproperties.h"
#include "nw_lmgr_propertylist.h"
--- a/webengine/wmlengine/src/xhtml/src/XHTMLContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
// INCLUDE FILES
#include <e32def.h> // To avoid NULL redefine warning (no #ifndef NULL)
@@ -36,7 +35,6 @@
#include <stdio.h>
#include <string.h>
-
#include "nwx_string.h"
#include "nw_xhtml_xhtmlcontenthandleri.h"
@@ -52,13 +50,13 @@
#include "nw_hed_inumbercollectori.h"
#include "nw_lmgr_bidiflowbox.h"
#include "nw_dom_domvisitor.h"
-#include "nw_tinydom.h"
-#include "nw_dom_element.h"
-#include "nw_dom_document.h"
+#include <nw_tinydom.h>
+#include <nw_dom_element.h>
+#include <nw_dom_document.h>
#include "nw_adt_segmentedvector.h"
#include "nw_adt_resizableobjectvector.h"
#include "nw_adt_mapiterator.h"
-#include "nw_xmlp_xmlp2wbxml.h"
+#include <nw_xmlp_xmlp2wbxml.h>
#include "nw_htmlp_to_wbxml.h"
#include "nwx_url_utils.h"
#include "nwx_string.h"
@@ -91,11 +89,10 @@
#include "nw_structure_scriptelementhandler.h"
#include "XhtmlObjectElementHandlerOOCi.h"
#include "XHTMLMessageListener.h"
-#include "BodyPart.h"
+#include <bodypart.h>
#include "MVCShell.h"
#include "BrCtl.h"
-
#include <stddef.h>
#include "CReferrerHelper.h"
#include "CSSVariableStyleSheet.h"
--- a/webengine/wmlengine/src/xhtml/src/XHTMLElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -38,8 +38,8 @@
#include "nw_link_linkelementhandler.h"
#include "nw_base_baseelementhandler.h"
#include "nw_xhtml_textelementhandler.h"
-#include "nw_dom_element.h"
-#include "nw_dom_document.h"
+#include <nw_dom_element.h>
+#include <nw_dom_document.h>
#include "nw_xhtml_attributepropertytable.h"
#include "nw_css_defaultstylesheet.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
--- a/webengine/wmlengine/src/xhtml/src/XHTMLEpoc32ContentHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLEpoc32ContentHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,7 +15,6 @@
*
*/
-
#include "BrsrStatusCodes.h"
#include "nw_xhtml_epoc32contenthandleri.h"
#include "nw_structure_structuremodule.h"
--- a/webengine/wmlengine/src/xhtml/src/XHTMLPiElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLPiElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,16 +15,15 @@
*
*/
-
#include "nw_xhtml_pielementhandleri.h"
#include "nw_xhtml_xhtmlcontenthandler.h"
-#include "nw_dom_document.h"
+#include <nw_dom_document.h>
#include "nw_htmlp_to_wbxml.h"
#include "nw_xhtml_xhtml_1_0_tokens.h"
#include "nwx_string.h"
#include "nw_link_linkelementhandler.h"
#include <nwx_status.h>
-#include <nwx_settings.h>
+#include "nwx_settings.h"
#include "nwx_statuscodeconvert.h"
#include "BrsrStatusCodes.h"
#include "nwx_http_defs.h"
--- a/webengine/wmlengine/src/xhtml/src/XHTMLTextElementHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wmlengine/src/xhtml/src/XHTMLTextElementHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include "nw_xhtml_textelementhandleri.h"
#include "nw_lmgr_textbox.h"
-#include "nw_dom_text.h"
+#include <nw_dom_text.h>
#include "nw_xhtml_xhtmlcontenthandler.h"
#include "nw_hed_documentroot.h"
#include "nw_hed_hedeventhandler.h"
--- a/webengine/wrtharvester/data/2001FE2C.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/data/2001FE2C.rss Mon Mar 29 12:27:15 2010 +0100
@@ -17,7 +17,7 @@
// INCLUDES
-#include <registryinfo.rh>
+#include <ecom/registryinfo.rh>
#include <contentharvesterpluginuids.hrh>
// RESOURCE DEFINITIONS
--- a/webengine/wrtharvester/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#ifdef BRDO_WRT_HS_FF
--- a/webengine/wrtharvester/group/wrtharvester.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/group/wrtharvester.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
UID 0x10009D8D 0x2001FE2C
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
CAPABILITY CAP_ECOM_PLUGIN
@@ -32,7 +32,7 @@
SOURCE wrtusbhandler.cpp
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
+
USERINCLUDE ../inc
START RESOURCE ../data/2001FE2C.rss
@@ -40,6 +40,7 @@
END
START RESOURCE ../data/wrtharvester.rss
+DEPENDS avkon.rsg
HEADER
TARGET wrtharvester.rsc
TARGETPATH resource
@@ -65,5 +66,6 @@
LIBRARY cone.lib // CoeControl
LIBRARY CommonEngine.lib
LIBRARY ws32.lib
+LIBRARY PlatformEnv.lib
//end of file
--- a/webengine/wrtharvester/inc/wrtharvester.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/inc/wrtharvester.h Mon Mar 29 12:27:15 2010 +0100
@@ -32,7 +32,7 @@
class MLiwInterface;
class CLiwGenericParamList;
class CWrtInfo;
-class CWidgetMMCHandler;
+class CWrtUsbHandler;
// CONSTANTS
@@ -113,11 +113,18 @@
*/
void QueueOperationL( TWidgetOperations aOperation, TUid aUid );
- void DialogShown(){ iDialogShown = EFalse; }
//to check if the device is in mass memory mode
TInt IsInMSMode() { return iMSMode; }
void SetMSMode(TInt val) { iMSMode = val; }
-
+ //To check if registry can be accessed
+ TInt CanAccessRegistry(){ return iCanAccessRegistry; }
+ void SetRegistryAccess(TBool aValue){ iCanAccessRegistry = aValue; }
+
+ void SetReinstallWidget(TBool aValue){ iReinstallingWidget = aValue; }
+
+ void DialogShown();
+
+ static TInt DeleteCallback(TAny* aPtr);
private:
@@ -271,7 +278,7 @@
* Publish & Subscribe listener
* own
*/
- CWidgetMMCHandler* iWidgetUsbListener;
+ CWrtUsbHandler* iWidgetUsbListener;
/**
*
@@ -329,6 +336,25 @@
*
*/
RPointerArray<HBufC> iHSWidgets;
+ /**
+ *
+ */
+ TBool iCanAccessRegistry;
+
+ /**
+ *
+ */
+ TBool iReinstallingWidget;
+
+ /**
+ *
+ */
+ RArray<TUid> iUid;
+
+ /**
+ *
+ */
+ CAsyncCallBack* iAsyncCallBack;
};
#endif // C_WRTCONTENTHARVESTER_H
--- a/webengine/wrtharvester/inc/wrtharvesterregistryaccess.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/inc/wrtharvesterregistryaccess.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#define WRHARVESTERREGISTRYACCESS_H
// INCLUDES
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include <badesca.h>
// FORWARD DECLARATIONS
--- a/webengine/wrtharvester/inc/wrtusbhandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/inc/wrtusbhandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,21 +1,22 @@
/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* ============================================================================
+* Name : WrtUsbHandler.h
+* Part of : Widget Registry
+* Description : Acts on MMC card insertion/removal
+* Version : 3.1
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Acts on MMC card insertion/removal
-*
+* Copyright © 2008 Nokia Corporation.
+* This material, including documentation and any related
+* computer programs, is protected by copyright controlled by
+* Nokia Corporation. All rights are reserved. Copying,
+* including reproducing, storing, adapting or translating, any
+* or all of this material requires the prior written consent of
+* Nokia Corporation. This material also contains confidential
+* information which may not be disclosed to others without the
+* prior written consent of Nokia Corporation.
+* =============================================================================
*/
-
#ifndef WIDGETMMCHANDLER_H
#define WIDGETMMCHANDLER_H
@@ -35,16 +36,16 @@
*
* @since 3.1
*/
-class CWidgetMMCHandler : public CActive
+class CWrtUsbHandler : public CActive
{
public:
- static CWidgetMMCHandler* NewL( CWrtHarvester* aHarvester, RFs& aFs );
+ static CWrtUsbHandler* NewL( CWrtHarvester* aHarvester, RFs& aFs );
- virtual ~CWidgetMMCHandler();
+ virtual ~CWrtUsbHandler();
void Start();
- void ToggleUSBMode();
+ void DoScanAndUpdate();
protected:
@@ -57,11 +58,11 @@
private:
// no copy constructor
- CWidgetMMCHandler( const CWidgetMMCHandler& );
+ CWrtUsbHandler( const CWrtUsbHandler& );
// no assignment
- CWidgetMMCHandler& operator=( const CWidgetMMCHandler& );
+ CWrtUsbHandler& operator=( const CWrtUsbHandler& );
- CWidgetMMCHandler( CWrtHarvester* aHarvester, RFs& aFs );
+ CWrtUsbHandler( CWrtHarvester* aHarvester, RFs& aFs );
void ConstructL();
@@ -73,7 +74,6 @@
RFs iFs;
TInt iDriveFlags;
-
};
#endif // #ifndef WIDGETMMCHANDLER_H
--- a/webengine/wrtharvester/rom/wrtharvester.iby Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/rom/wrtharvester.iby Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,11 @@
#ifndef WRTHARVESTER_IBY
#define WRTHARVESTER_IBY
#include <bldvariant.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#ifdef __S60_32__
+#include <browser_platform_variant.hrh>
+#else
+#include <platform/mw/browser_platform_variant.hrh>
+#endif
#ifdef BRDO_WRT_HS_FF
ECOM_PLUGIN(wrtharvester.dll, wrtharvester.rsc)
--- a/webengine/wrtharvester/rom/wrtharvesterResources.iby Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/rom/wrtharvesterResources.iby Mon Mar 29 12:27:15 2010 +0100
@@ -1,26 +1,30 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+* =============================================================================
+* Name : wrtharvesterResources.iby
+* Part of :
+* Description : The resource iby file contains resource that needs to be
+* localized for wrtharvester
+* Version : %version: 1 %
*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: The resource iby file contains resource that needs to be
-* localized for wrtharvester
-*
+* Copyright (c) 2009 Nokia. All rights reserved.
+* This material, including documentation and any related computer
+* programs, is protected by copyright controlled by Nokia. All
+* rights are reserved. Copying, including reproducing, storing,
+* adapting or translating, any or all of this material requires the
+* prior written consent of Nokia. This material also contains
+* confidential information which may not be disclosed to others
+* without the prior written consent of Nokia.
+* ============================================================================
*/
-
#ifndef WRTHARVESTERRESOURCES_IBY
#define WRTHARVESTERRESOURCES_IBY
-#include <platform/mw/Browser_platform_variant.hrh>
+#ifdef __S60_32__
+#include <browser_platform_variant.hrh>
+#else
+#include <platform/mw/browser_platform_variant.hrh>
+#endif
#ifdef BRDO_WRT_HS_FF
data=ZRESOURCE\wrtharvester.rsc RESOURCE_FILES_DIR\wrtharvester.rsc
--- a/webengine/wrtharvester/src/wrtharvester.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/src/wrtharvester.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -26,7 +26,7 @@
#include <widgetregistryconstants.h>
#include <wrtharvester.rsg>
-#include <implementationproxy.h>
+#include <ecom/implementationproxy.h>
#include <LiwServiceHandler.h>
#include <LiwVariant.h>
@@ -49,6 +49,11 @@
// CONSTANTS
_LIT( KResourceFileName, "\\resource\\wrtharvester.rsc" );
_LIT( KResourceDir, "Z:wrtharvester.rsc" );
+_LIT( KUid, "uid");
+_LIT( K0x, "0x");
+_LIT( KOpenPar, "(");
+_LIT( KClosePar, ")");
+_LIT8( KWidgetIcon, "widget_icon");
/**
* Utility class to show the prompt for platform security access.
@@ -224,11 +229,15 @@
iWidgetRegListener = CWrtHarvesterPSNotifier::NewL( this, EWidgetRegAltered );
User::LeaveIfError( iFs.Connect() );
- iWidgetUsbListener = CWidgetMMCHandler::NewL( this, iFs );
+ iWidgetUsbListener = CWrtUsbHandler::NewL( this, iFs );
iWidgetUsbListener->Start();
SetMSMode(0);
+ iCanAccessRegistry = ETrue;
+ iReinstallingWidget = EFalse;
+
+
TFileName resourceFileName;
TParse parse;
Dll::FileName (resourceFileName);
@@ -278,6 +287,13 @@
delete iWidgetRegListener;
delete iWidgetMMCListener;
delete iWidgetUsbListener;
+ if(iAsyncCallBack)
+ {
+ iAsyncCallBack->Cancel();
+ }
+ delete iAsyncCallBack;
+ iAsyncCallBack = NULL;
+ iUid.Close();
iWidgetOperations.Close();
iHSWidgets.ResetAndDestroy();
iApaSession.Close();
@@ -385,6 +401,11 @@
//
void CWrtHarvester::UpdatePublishersL()
{
+ if(iReinstallingWidget)
+ {
+ iReinstallingWidget = EFalse;
+ return;
+ }
iRegistryAccess.WidgetInfosL( iWidgetInfo );
RemoveObsoletePublishersL();
@@ -503,7 +524,17 @@
__UHEAP_MARK;
TInt id( KErrNotFound );
if( iCPSInterface )
- {
+ {
+ TBuf<10> uid(wrtInfo.iUid.Name()); // [12345678]
+ uid.Delete(0,1); // 12345678]
+ uid.Delete( uid.Length()-1, 1); // 12345678
+ TBuf<50> wrtuid;
+ wrtuid.Append(KUid); // uid
+ wrtuid.Append(KOpenPar); // uid(
+ wrtuid.Append(K0x); // uid(0x
+ wrtuid.Append(uid ); // uid(0x12345678
+ wrtuid.Append(KClosePar); // uid(0x12345678)
+
CLiwGenericParamList* inparam( CLiwGenericParamList::NewLC() );
CLiwGenericParamList* outparam( CLiwGenericParamList::NewLC() );
@@ -517,21 +548,24 @@
cpdatamap->InsertL( KPublisherId, TLiwVariant( KWRTPublisher ));
cpdatamap->InsertL( KContentType, TLiwVariant( KTemplatedWidget ));
cpdatamap->InsertL( KContentId, TLiwVariant( wrtInfo.iBundleId ));
- // Widget info map
- CLiwDefaultMap* widgetInfo = CLiwDefaultMap::NewLC();
- widgetInfo->InsertL( KTemplateType, TLiwVariant( KTemplateName ));
- widgetInfo->InsertL( KWidgetName, TLiwVariant( wrtInfo.iDisplayName ));
- datamap->InsertL( KWidgetInfo , TLiwVariant( widgetInfo ));
- CleanupStack::PopAndDestroy( widgetInfo );
- // Take dynamic menu items into use
- if (networkAccess)
- {
- CLiwDefaultMap* mapMenu = CLiwDefaultMap::NewLC();
- mapMenu->InsertL( KItemOnlineOffline, TLiwVariant( KMyActionName ));
- datamap->InsertL( KMenuItems, TLiwVariant( mapMenu ));
- CleanupStack::PopAndDestroy(mapMenu);
- }
+ // Widget info map
+ CLiwDefaultMap* widgetInfo = CLiwDefaultMap::NewLC();
+ widgetInfo->InsertL( KTemplateType, TLiwVariant( KTemplateName ));
+ widgetInfo->InsertL( KWidgetName, TLiwVariant( wrtInfo.iDisplayName ));
+ widgetInfo->InsertL( KWidgetIcon, TLiwVariant( wrtuid)); // uid(0x12345678) This is the expected format
+
+ datamap->InsertL( KWidgetInfo , TLiwVariant( widgetInfo ));
+ CleanupStack::PopAndDestroy( widgetInfo );
+
+ // Take dynamic menu items into use
+ if (networkAccess)
+ {
+ CLiwDefaultMap* mapMenu = CLiwDefaultMap::NewLC();
+ mapMenu->InsertL( KItemOnlineOffline, TLiwVariant( KMyActionName ));
+ datamap->InsertL( KMenuItems, TLiwVariant( mapMenu ));
+ CleanupStack::PopAndDestroy(mapMenu);
+ }
cpdatamap->InsertL( KDataMap, TLiwVariant(datamap) );
@@ -795,12 +829,25 @@
RWidgetRegistryClientSession session;
CleanupClosePushL( session );
User::LeaveIfError( session.Connect() );
- if ( session.IsBlanketPermGranted ( aUid ) == EBlanketUnknown && !iDialogShown )
+ TBool preInstalled = *(session.GetWidgetPropertyValueL( aUid, EPreInstalled ) );
+
+ // Set blanket permission to true for pre-installed widgets
+ if ( preInstalled )
+ {
+ session.SetBlanketPermissionL( aUid, EBlanketTrue );
+ }
+
+ if ( session.IsBlanketPermGranted ( aUid ) == EBlanketUnknown && !iDialogShown
+ && iCanAccessRegistry )
{
iDialogShown = ETrue;
AllowPlatformAccessL( aUid );
}
- else if(!iDialogShown)
+ else if(session.IsBlanketPermGranted ( aUid ) == EBlanketUnknown)
+ {
+ iUid.Append(aUid);
+ }
+ else
{
QueueOperationL( WidgetResume, aUid );
}
@@ -879,6 +926,33 @@
return networkAccess;
}
+// ----------------------------------------------------------------------------
+//
+// ----------------------------------------------------------------------------
+//
+TInt CWrtHarvester::DeleteCallback(TAny* aPtr)
+ {
+ CWrtHarvester* self = (CWrtHarvester*)aPtr;
+ self->QueueResumeL(self->iUid[0]);
+ self->iUid.Remove(0);
+ delete self->iAsyncCallBack;
+ self->iAsyncCallBack = NULL;
+ return 0;
+ }
+
+// ----------------------------------------------------------------------------
+//
+// ----------------------------------------------------------------------------
+//
+void CWrtHarvester::DialogShown()
+ {
+ iDialogShown = EFalse;
+ if(iUid.Count())
+ {
+ iAsyncCallBack = new (ELeave) CAsyncCallBack(TCallBack(DeleteCallback,this),CActive::EPriorityUserInput);
+ iAsyncCallBack->CallBack();
+ }
+ }
// ----------------------------------------------------------------------------
//
--- a/webengine/wrtharvester/src/wrtharvesterpsnotifier.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/src/wrtharvesterpsnotifier.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -77,7 +77,7 @@
r = RProperty::Define( KPropertyCat, iKey, RProperty::EInt );
}
- if ( r != KErrAlreadyExists || r != KErrNone )
+ if ( r != KErrAlreadyExists && r != KErrNone )
{
User::LeaveIfError( r );
}
@@ -148,9 +148,21 @@
iHarvester->ClearAllOperations();
SetValue(1);
}
+ else if( iKey == EWidgetUIState && value == 3 )
+ {
+ iHarvester->SetReinstallWidget(ETrue);
+ }
else if( iKey == EWidgetRegAltered && value == 1 )
{
- iHarvester->UpdateL();
+ if(iHarvester->IsInMSMode())
+ {
+ iHarvester->SetRegistryAccess(EFalse);
+ }
+ else
+ {
+ iHarvester->SetRegistryAccess(ETrue);
+ }
+ iHarvester->UpdateL();
}
}
}
--- a/webengine/wrtharvester/src/wrtusbhandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/webengine/wrtharvester/src/wrtusbhandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,45 +1,50 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Handle notifications of MMC events.
-*
-*
-*
-*/
+//
+// ============================================================================
+// Name : WidgetMMCHandler.cpp
+// Part of : SW Installer UIs / WidgetInstallerUI
+//
+// Description: Handle notifications of MMC events.
+//
+//
+// Version : 3.1
+//
+// Copyright © 2006 Nokia Corporation.
+// This material, including documentation and any related
+// computer programs, is protected by copyright controlled by
+// Nokia Corporation. All rights are reserved. Copying,
+// including reproducing, storing, adapting or translating, any
+// or all of this material requires the prior written consent of
+// Nokia Corporation. This material also contains confidential
+// information which may not be disclosed to others without the
+// prior written consent of Nokia Corporation.
+// ==============================================================================
+///
+// INCLUDE FILES
#include "wrtusbhandler.h"
#include "wrtharvester.h"
#include "wrtusbhandler.h"
+#include <DriveInfo.h>
// CONSTANTS
// ============================================================================
-// CWidgetMMCHandler::NewL()
+// CWrtUsbHandler::NewL()
// two-phase constructor
//
// @since 3.1
// @param aRegistry - Widget registry for callback.
// @param aFs - file session
-// @return pointer to CWidgetMMCHandler
+// @return pointer to CWrtUsbHandler
// ============================================================================
//
-CWidgetMMCHandler* CWidgetMMCHandler::NewL(
+CWrtUsbHandler* CWrtUsbHandler::NewL(
CWrtHarvester* aHarvester,
RFs& aFs )
{
- CWidgetMMCHandler* self =
- new(ELeave) CWidgetMMCHandler( aHarvester , aFs );
+ CWrtUsbHandler* self =
+ new(ELeave) CWrtUsbHandler( aHarvester , aFs );
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
@@ -47,13 +52,13 @@
}
// ============================================================================
-// CWidgetMMCHandler::CWidgetMMCHandler()
+// CWrtUsbHandler::CWrtUsbHandler()
// C++ default constructor
//
// @since 3.1
// ============================================================================
//
-CWidgetMMCHandler::CWidgetMMCHandler( CWrtHarvester* aHarvester,
+CWrtUsbHandler::CWrtUsbHandler( CWrtHarvester* aHarvester,
RFs& aFs )
: CActive( CActive::EPriorityUserInput ),
iHarvester( aHarvester ),
@@ -64,159 +69,144 @@
}
// ============================================================================
-// CWidgetMMCHandler::ConstructL()
+// CWrtUsbHandler::ConstructL()
// Symbian default constructor
//
// @since 3.1
// ============================================================================
//
-void CWidgetMMCHandler::ConstructL()
+void CWrtUsbHandler::ConstructL()
{
if ( KErrNone != ScanDrives( iDriveFlags ) )
{
iDriveFlags = 0;
- }
- RDebug::Print(_L("iDriveFlags ConstructL() : %x %d"), iDriveFlags,iDriveFlags);
+ }
}
// ============================================================================
-// CWidgetMMCHandler::~CWidgetMMCHandler()
+// CWrtUsbHandler::~CWrtUsbHandler()
// destructor
//
// @since 3.1
// ============================================================================
-CWidgetMMCHandler::~CWidgetMMCHandler()
+CWrtUsbHandler::~CWrtUsbHandler()
{
Cancel();
-
}
// ============================================================================
-// CWidgetMMCHandler::Start()
+// CWrtUsbHandler::Start()
// Start monitoring.
//
// @since 5.0
// ============================================================================
-void CWidgetMMCHandler::Start()
+void CWrtUsbHandler::Start()
{
iFs.NotifyChange( ENotifyDisk, iStatus );
SetActive();
}
// ============================================================================
-// CWidgetMMCHandler::RunL()
+// CWrtUsbHandler::RunL()
// Handle notifications of MMC events.
//
// @since 3.1
// ============================================================================
-void CWidgetMMCHandler::RunL()
+void CWrtUsbHandler::RunL()
{
- if ( iStatus == KErrNone )
+ TInt status = iStatus.Int();
+
+ // Restart NotifyChange
+ Start();
+
+ if ( status == KErrNone )
{
- TInt driveFlags = 0;
- TInt deltaDriveFlags = 0;
-
+ DoScanAndUpdate();
+ }
+ }
- User::After( 10000000 );
-
- if ( KErrNone == ScanDrives( driveFlags ) )
- {
- deltaDriveFlags = iDriveFlags ^ driveFlags;
-
- iDriveFlags = driveFlags;
- }
-
- if ( deltaDriveFlags )
- {
- //Unpluging USB from Mass storage . . .
- if(iHarvester->IsInMSMode() == 1)
- {
- iHarvester->SetMSMode(0);
- iHarvester->ClearAllOperations();
- iHarvester->UpdateL();
-
- iFs.NotifyChange( ENotifyDisk, iStatus );
- SetActive();
- return;
- }
-
- TVolumeInfo volInfo;
- TInt temp = deltaDriveFlags;
- TBool massMemAltered = EFalse;
- TBool mmcAltered = EFalse;
- for(TInt DriveNo = EDriveA+1 ; DriveNo<=EDriveY; DriveNo++ )
- {
-
+void CWrtUsbHandler::DoScanAndUpdate()
+ {
+ TInt err = 0;
+ TInt driveFlags = 0;
+ TInt deltaDriveFlags = 0;
+ if ( KErrNone == ScanDrives( driveFlags ) )
+ {
+ deltaDriveFlags = iDriveFlags ^ driveFlags;
+ iDriveFlags = driveFlags;
+ }
+
+ if ( deltaDriveFlags )
+ {
+ TVolumeInfo volInfo;
+ TInt temp = deltaDriveFlags;
+ TBool massMemAltered = EFalse;
+ TBool massMemAvailable = EFalse;
+ for(TInt DriveNo = EDriveA+1 ; DriveNo<=EDriveY; DriveNo++ )
+ {
temp = temp >> 1;
if( temp & 01)
+ {
+ TUint status(0);
+ err = DriveInfo::GetDriveStatus( iFs, DriveNo , status );
+ if(!err && (status & DriveInfo::EDriveExternallyMountable) && (status & DriveInfo::EDriveInternal ))
+ {
+ //Internal Memory
+ massMemAltered = ETrue;
+ // Check is the internal memory available or not
+ if(iDriveFlags & (1<<DriveNo))
+ massMemAvailable = ETrue;
+ }
+ }
+ }
+ if( massMemAltered )
{
- switch (DriveNo)
+ if(!massMemAvailable)
+ {
+ // Mass storage is plugged
+ iHarvester->SetMSMode(1);
+ }
+ else
+ {
+ // Mass storage was unplugged
+ if(iHarvester->IsInMSMode() == 1)
{
- case EDriveE :
- {
- massMemAltered = ETrue;
- break;
- }
- case EDriveF:
- {
-
- mmcAltered = ETrue;
- break;
- }
-
- }
+ iHarvester->SetMSMode(0);
+ iHarvester->ClearAllOperations();
+ }
+ }
}
-
- }
-
- if( !massMemAltered && mmcAltered)
- {
- iHarvester->UpdateL();
- }
- else if( massMemAltered )
- {
- iHarvester->SetMSMode(1);
- iHarvester->UpdateL();
- }
-
}
- }
-
-
- iFs.NotifyChange( ENotifyDisk, iStatus );
- SetActive();
}
+
// ============================================================================
-// CWidgetMMCHandler::RunError()
+// CWrtUsbHandler::RunError()
// Ignore errors from RunL.
//
// @since 5.0
// ============================================================================
-TInt CWidgetMMCHandler::RunError( TInt /* aError */ )
+TInt CWrtUsbHandler::RunError( TInt /* aError */ )
{
-
return KErrNone; // indicates error was handled
}
// ============================================================================
-// CWidgetMMCHandler::DoCancel()
+// CWrtUsbHandler::DoCancel()
// Cancel the MMC event handler
//
// @since 3.1
// ============================================================================
-void CWidgetMMCHandler::DoCancel()
+void CWrtUsbHandler::DoCancel()
{
-
iFs.NotifyChangeCancel();
}
/* Scans drives and records a bit flag for those that exist and are
* suitable for installing widgets to.
*/
-TInt CWidgetMMCHandler::ScanDrives( TInt& aDriveFlags )
+TInt CWrtUsbHandler::ScanDrives( TInt& aDriveFlags )
{
-
// List all drives in the system
TDriveList driveList;
TInt error = iFs.DriveList( driveList );
@@ -259,3 +249,4 @@
return error;
}
+
--- a/widgets/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -16,13 +16,16 @@
*/
#include <platform_paths.hrh>
-#include "../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
#ifdef __WEB_WIDGETS
#include "../widgetrecognizer/group/bld.inf"
#include "../widgetinstaller/group/bld.inf"
#include "../widgetlauncher/group/bld.inf"
#include "../widgetapp/group/bld.inf"
+#ifdef APP_SID_CHECK_SUPPORT_FF
+#include "../widgetsidchecker/group/bld.inf"
+#endif
#ifdef RD_WIDGET_PREINSTALLER
#include "../widgetpreinstaller/group/bld.inf"
#include "../widgetstartup/group/bld.inf"
--- a/widgets/widgetapp/data/WidgetUi.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/data/WidgetUi.rss Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
#include <bldvariant.hrh>
#include <eikon.rh>
#include "WidgetUi.hrh"
-#include <WidgetUi.loc>
+#include <widgetui.loc>
#include <avkon.rsg>
#include <avkon.rh>
#include <avkon.mbg>
--- a/widgets/widgetapp/group/WidgetUi.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/group/WidgetUi.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -18,7 +18,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
#include <bldvariant.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
// TARGET INFO
@@ -27,7 +27,10 @@
UID 0x100039CE 0x10282822
epocstacksize 0x14000
-EPOCHEAPSIZE 0x5000 0x1000000
+// There is no need to set a custom heap size as a custom allocator is used so the default values of 1 KB for
+// minimum and 1 MB for maximum should be used instead. These will be used for a short time at startup for
+// the default heap, which in turn is used to create the custom allocator. no gain in functionality
+//EPOCHEAPSIZE 0x5000 0x1000000
VENDORID VID_DEFAULT
CAPABILITY CAP_APPLICATION NetworkControl
@@ -37,6 +40,7 @@
// RESOURCE INFO
START RESOURCE ../Data/WidgetUi.rss
+DEPENDS avkon.rsg
HEADER
TARGETPATH APP_RESOURCE_DIR
#ifdef __S60_32__
@@ -64,6 +68,7 @@
#ifdef BRDO_WRT_HS_FF
SOURCE cpspublisher.cpp
#endif
+
START RESOURCE ../Data/WidgetUi_reg.rss
DEPENDS widgetui.rsg
// Do not change the UID below.
@@ -78,8 +83,7 @@
USERINCLUDE ../../WidgetInstaller/inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// LIB DEPENDENCIES
@@ -108,14 +112,18 @@
LIBRARY ImageConversion.lib
LIBRARY ecom.lib // for schemeHandler
LIBRARY MemMan.lib
+
#ifdef BRDO_WRT_HS_FF
LIBRARY liwservicehandler.lib
#endif
+
LIBRARY bitgdi.lib
LIBRARY aknnotify.lib
+
#ifdef RD_SCALABLE_UI_V2
LIBRARY cdlengine.lib
#endif
+
LIBRARY esock.lib
DEBUGLIBRARY flogger.lib
@@ -126,4 +134,9 @@
#if defined( RD_PF_SEC_APPARC )
LIBRARY ServiceHandler.lib
#endif
+
+#ifdef BRDO_OCC_ENABLED_FF
+LIBRARY extendedconnpref.lib
+LIBRARY netmeta.lib
+#endif
// End of File
--- a/widgets/widgetapp/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -17,14 +17,14 @@
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT gcce
PRJ_EXPORTS
// export localization files
-../loc/WidgetUi.loc MW_LAYER_LOC_EXPORT_PATH(WidgetUi.loc)
+../loc/widgetui.loc MW_LAYER_LOC_EXPORT_PATH(widgetui.loc)
../inc/widgetappdefs.rh MW_LAYER_PLATFORM_EXPORT_PATH(widgetappdefs.rh)
--- a/widgets/widgetapp/inc/WidgetUiDialogsProviderProxy.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiDialogsProviderProxy.h Mon Mar 29 12:27:15 2010 +0100
@@ -25,8 +25,8 @@
// User includes
// System Includes
-#include <BrCtlDialogsProvider.h>
-#include <BrowserDialogsProvider.h>
+#include <brctldialogsprovider.h>
+#include <browserdialogsprovider.h>
#include <e32std.h>
// CONSTANTS
--- a/widgets/widgetapp/inc/WidgetUiNetworkListener.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiNetworkListener.h Mon Mar 29 12:27:15 2010 +0100
@@ -1,27 +1,37 @@
-/*
-* Copyright (c) 2008, 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
+//
+//==============================================================================
+// Name : WidgetUiNetworkListener.h
+// Part of : WidgetUI
+// Interface :
+// Description :
+// Version : %version: 5.1.1.3.3 %
+//
+// Copyright 2008, 2009 Nokia Corporation.
+// This material, including documentation and any related
+// computer programs, is protected by copyright controlled by
+// Nokia Corporation. All rights are reserved. Copying,
+// including reproducing, storing, adapting or translating, any
+// or all of this material requires the prior written consent of
+// Nokia Corporation. This material also contains confidential
+// information which may not be disclosed to others without the
+// prior written consent of Nokia Corporation.
+//==============================================================================
+//
#ifndef WIDGETUINETWORKLISTENER_H_
#define WIDGETUINETWORKLISTENER_H_
// INCLUDES
#include <in_sock.h>
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <es_enum.h>
+#else
+#include <es_enum.h>
+#include <es_enum_internal.h>
+#include <es_enum_partner.h>
+#endif
+
#include "WidgetUiWindowManager.h"
// CLASS DECLARATION
--- a/widgets/widgetapp/inc/WidgetUiObserver.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiObserver.h Mon Mar 29 12:27:15 2010 +0100
@@ -20,12 +20,12 @@
#define WIDGETUIOBSERVER_H_
// INCLUDES
-#include <BrCtlLayoutObserver.h>
-#include <BrCtlSoftkeysObserver.h>
-#include <BrCtlSpecialLoadObserver.h>
-#include <BrCtlDownloadObserver.h>
-#include <BrCtlWindowObserver.h>
-#include <BrCtlInterface.h>
+#include <brctllayoutobserver.h>
+#include <brctlsoftkeysobserver.h>
+#include <brctlspecialloadobserver.h>
+#include <brctldownloadobserver.h>
+#include <brctlwindowobserver.h>
+#include <brctlinterface.h>
#include <DocumentHandler.h>
#include <flogger.h>
@@ -287,10 +287,9 @@
* Rcognize the mime type.
* @since 3.1
* @param aFileName
- * @param aData
* @return HBufC*
*/
- HBufC* RecognizeLC( const TDesC& aFileName, const TDesC8& aData );
+ HBufC* RecognizeLC( const TDesC& aFileName );
/**
* TranslateURLToFilenameL
--- a/widgets/widgetapp/inc/WidgetUiWindow.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiWindow.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
// INCLUDES FILES
#include <e32base.h>
-#include <BrCtlDefs.h>
-#include <BrCtlInterface.h> // for MWidgetCallback
+#include <brctldefs.h>
+#include <brctlinterface.h> // for MWidgetCallback
#include <AknServerApp.h>
#include <coecntrl.h>
#include "WidgetUiObserver.h"
@@ -500,7 +500,20 @@
* @return CActiveSchedulerWait*
*/
CActiveSchedulerWait* NetworkModeWait() { return iNetworkModeWait; }
-
+
+ /**
+ * NeedToNotifyNetworkState
+ * Notifies to Widget about network state
+ * @since 7.1
+ * @param aNetworkState the online/offline state needs to be notified to widget or not
+ * @return none
+ */
+ void NeedToNotifyNetworkState(TBool aNetworkState);
+
+ TBool CanBeDeleted();
+
+ static TInt DeleteItself(TAny* aPtr);
+
protected:
@@ -594,12 +607,18 @@
//Download transaction ID
long iDlId;
TInt iClickCount;
- CFbsBitmap* iMiniviewBitmap ;
+ CFbsBitmap iMiniviewBitmap1;
+ CFbsBitmap iMiniviewBitmap2;
+ CFbsBitmap* iActiveMiniviewBitmap;
+
TTime iOOMWidgetStartTime;
TBool iWidgetLoadStarted; // Set to true when widget load starts
CJpgSaver* iJpgSaver;
CActiveSchedulerWait* iNetworkModeWait;
-
+ TBool iNeedToNotifyNetworkState;
+ TBool iConnecting;
+ TBool iDeleteItself;
+ CAsyncCallBack* iAsyncCallBack;
};
#endif //
--- a/widgets/widgetapp/inc/WidgetUiWindowManager.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiWindowManager.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,11 +21,11 @@
// INCLUDES FILES
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include <aknglobalconfirmationquery.h>
#include <coecntrl.h>
#include "WidgetUiObserver.h"
-#include "Browser_platform_variant.hrh"
+#include "browser_platform_variant.hrh"
// CONSTANTS
enum TNetworkMode
@@ -236,7 +236,15 @@
void HandleOOMEventL( TBool aForeground );
// Utility stuff.
-
+ /**
+ * ExitNow
+ * Exits the AppUi
+ * @since 5.0
+ * @param none
+ * @return none
+ */
+ void ExitNow();
+
/**
* WindowList
* Gets the list of running windows
@@ -382,6 +390,8 @@
*/
void NotifyConnecionChange(TBool aConn);
TBrCtlDefs::TCursorSettings CursorShowMode() {return iWidgetCursorMode;}
+
+ TBrCtlDefs::TEnterKeySettings EnterKeyMode() {return iWidgetEnterKeyMode;}
/**
* AnyWidgetOnHs
@@ -398,7 +408,18 @@
* @return TBool
*/
TBool AnyWidgetPublishing();
-
+
+ /**
+ * Returns a reference to the Appui of WidgetUi
+ * @return reference to CWidgetUiAppUi
+ */
+ CWidgetUiAppUi& AppUi(){ return iAppUi; }
+
+ /**
+ * Returns the count of the windows in the widget
+ * @return count of the windows
+ */
+ TInt WindowListCount(){ return iWindowList.Count(); }
#ifdef OOM_WIDGET_CLOSEALL
/**
@@ -423,7 +444,13 @@
*/
void SetLastWidgetRestartTime(TTime aStartTime){iTimeLastWidgetOpen = aStartTime;}
#endif // OOM_WIDGET_CLOSEALL
-
+ /**
+ * CloseAllWidgets
+ * Basic pre-exit routine to make sure all widgets are closed out
+ * @param none
+ * @return none
+ */
+ void CloseAllWidgets();
protected:
/**
@@ -566,6 +593,8 @@
TNetworkMode iNetworkMode; // unknown mode = 0, online mode = 1, offline mode = 2
TBool iNetworkConnected; // ETrue if there is an active network connection, else EFalse
TBrCtlDefs::TCursorSettings iWidgetCursorMode;
+ TBrCtlDefs::TEnterKeySettings iWidgetEnterKeyMode;
+
#ifdef BRDO_WRT_HS_FF
CCpsPublisher* iCpsPublisher; // Owned, interface to publish bitmap to CPS
#endif
--- a/widgets/widgetapp/inc/WidgetUiWindowView.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/inc/WidgetUiWindowView.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,7 @@
// INCLUDES
#include <aknview.h>
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
// CONSTANTS
--- a/widgets/widgetapp/src/WidgetUiApp.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiApp.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -15,12 +15,12 @@
*
*/
-
-#include "WidgetUiApp.h"
-#include "WidgetUiDocument.h"
-#include "MemoryManager.h"
-#include "widgetappdefs.rh"
-#include <eikstart.h>
+#include "WidgetUiApp.h"
+#include "WidgetUiDocument.h"
+#include <MemoryManager.h>
+#include "widgetappdefs.rh"
+#include <eikstart.h>
+#include <u32std.h>
// EXTERNAL DATA STRUCTURES
@@ -88,18 +88,48 @@
}
// -----------------------------------------------------------------------------
+// SetupThreadHeap - Called for heap creation of thread in this process.
+// This approach used to keep correct heap for pointers held in static data objects
+// when they are destructed after E32Main() by OS.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt UserHeap::SetupThreadHeap(TBool aSubThread, SStdEpocThreadCreateInfo& aInfo)
+ {
+ TInt r = KErrNone;
+ if (!aInfo.iAllocator && aInfo.iHeapInitialSize>0)
+ {
+ // new heap required
+ RHeap* pH = NULL;
+ r = CreateThreadHeap(aInfo, pH);
+ if (r == KErrNone && !aSubThread)
+ {
+ // main thread - new allocator created and set as default heap
+ MemoryManager::CreateFastAllocator();
+ }
+ }
+ else if (aInfo.iAllocator)
+ {
+ // sharing a heap
+ RAllocator* pA = aInfo.iAllocator;
+ pA->Open();
+ User::SwitchAllocator(pA);
+ }
+
+ return r;
+ }
+
+
+// -----------------------------------------------------------------------------
// E32Main
//
// -----------------------------------------------------------------------------
//
GLDEF_C TInt E32Main()
{
- RAllocator* oldAllocator = MemoryManager::SwitchToFastAllocator();
- __UHEAP_MARK;
- TInt result = EikStart::RunApplication( NewApplication );
- __UHEAP_MARKEND;
- MemoryManager::CloseFastAllocator(oldAllocator);
- return result;
+ // initialize MemmoryManager
+ MemoryManager::InitFastAllocator();
+
+ return EikStart::RunApplication(NewApplication);
}
-
+
// End of File
--- a/widgets/widgetapp/src/WidgetUiAppUi.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiAppUi.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,7 +29,7 @@
#include <e32std.h>
#include <bautils.h>
#include <oommonitorplugin.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsprovider.h>
#include <e32property.h>
#ifdef BRDO_WRT_HS_FF
@@ -166,6 +166,7 @@
{
case EEikCmdExit:
{
+ iWindowManager->CloseAllWidgets();
Exit();
break;
}
--- a/widgets/widgetapp/src/WidgetUiDialogsProviderProxy.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiDialogsProviderProxy.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,8 +25,8 @@
#include "WidgetUiWindowView.h"
// System includes
-#include <BrowserDialogsProviderObserver.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsproviderobserver.h>
+#include <browserdialogsprovider.h>
// CONSTANTS
--- a/widgets/widgetapp/src/WidgetUiNetworkListener.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiNetworkListener.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -1,20 +1,22 @@
-/*
-* Copyright (c) 2008, 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
+//
+//==============================================================================
+// Name : WidgetUiNetworkListener.cpp
+// Part of : WidgetUI
+// Interface :
+// Description :
+// Version : %version: 5.1.1.3.3 %
+//
+// Copyright 2008, 2009 Nokia Corporation.
+// This material, including documentation and any related
+// computer programs, is protected by copyright controlled by
+// Nokia Corporation. All rights are reserved. Copying,
+// including reproducing, storing, adapting or translating, any
+// or all of this material requires the prior written consent of
+// Nokia Corporation. This material also contains confidential
+// information which may not be disclosed to others without the
+// prior written consent of Nokia Corporation.
+//==============================================================================
+//
#include "WidgetUiNetworkListener.h"
--- a/widgets/widgetapp/src/WidgetUiObserver.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiObserver.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -27,7 +27,7 @@
#include <ActiveApDb.h>
#include <EscapeUtils.h>
#include <Uri16.h>
-#include <BrCtlDefs.h>
+#include <brctldefs.h>
#include "WidgetUiObserver.h"
#include "WidgetUiWindow.h"
#include "WidgetUiWindowView.h"
@@ -266,7 +266,7 @@
CleanupStack::PushL( buf );
HBufC* contentType = NULL;
TPtrC p( NULL, 0 );
- contentType = RecognizeLC( *iFileName, *buf );
+ contentType = RecognizeLC( *iFileName );
aEmbeddedLinkContent.HandleResolveComplete( *contentType, p, buf );
CleanupStack::PopAndDestroy( 2, buf ); // contentType, buf
return ETrue;
@@ -442,19 +442,25 @@
// CWidgetUiObserver::RecognizeL
// -----------------------------------------------------------------------------
//
-HBufC* CWidgetUiObserver::RecognizeLC( const TDesC& aFileName, const TDesC8& aData )
+HBufC* CWidgetUiObserver::RecognizeLC( const TDesC& aFileName )
{
TDataRecognitionResult dataType;
RApaLsSession apaSession;
TInt ret;
+
+ RFile file;
+ User::LeaveIfError( file.Open(CCoeEnv::Static()->FsSession(), aFileName, EFileRead|EFileShareAny) );
+ CleanupClosePushL( file );
CleanupClosePushL(apaSession);
User::LeaveIfError( apaSession.Connect() );
// Ask the application architecture to find the file type
- ret = apaSession.RecognizeData( aFileName, aData, dataType );
+ ret = apaSession.RecognizeData( file, dataType );
apaSession.Close();
+
CleanupStack::PopAndDestroy(1, &apaSession);
+ CleanupStack::PopAndDestroy( &file );
TPtrC8 mimeTypePtr = dataType.iDataType.Des8();
TInt len = mimeTypePtr.Length() + 1;
--- a/widgets/widgetapp/src/WidgetUiWindow.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiWindow.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
@@ -21,8 +21,8 @@
#include "WidgetUiWindowContainer.h"
#include "WidgetUiWindowManager.h"
#include "WidgetUiDialogsProviderProxy.h"
-#include "WidgetRegistryConstants.h"
-#include "Browser_platform_variant.hrh"
+#include <widgetregistryconstants.h>
+#include "browser_platform_variant.hrh"
#ifdef BRDO_WRT_HS_FF
#include "cpspublisher.h"
#endif
@@ -31,9 +31,9 @@
#include <WidgetUi.rsg>
#include <schemehandler.h>
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include "WidgetInstallerInternalCRKeys.h"
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#include <StringLoader.h>
#include <centralrepository.h>
#include <ApUtils.h>
@@ -42,7 +42,6 @@
#include <aknsdrawutils.h>
#include "SWInstWidgetUid.h"
-
// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES
@@ -121,7 +120,7 @@
iWidgetUiObserver = CWidgetUiObserver::NewL( *this );
iWidgetUiDialogsProviderProxy = CWidgetUiDialogsProviderProxy::NewL(*(iWindowManager.DialogsProvider()), NULL, *this);
-
+
#ifdef BRDO_WRT_HS_FF
iNetworkModeWait = new(ELeave) CActiveSchedulerWait();
#endif
@@ -157,6 +156,7 @@
iWidgetUiObserver /* download observer */);
//Set the cursor mode inside Widget
iEngine->SetBrowserSettingL(TBrCtlDefs::ESettingsCursorShowMode, iWindowManager.CursorShowMode());
+ iEngine->SetBrowserSettingL(TBrCtlDefs::ESettingsEnterKeyMode, iWindowManager.EnterKeyMode());
iEngine->AddLoadEventObserverL( iWidgetUiObserver );
iEngine->AddStateChangeObserverL( view );
@@ -190,11 +190,13 @@
{
SetWindowStateMiniViewL( EMiniViewNotEnabled );
}
-
+
iDlId = 0;
-
+
+ iNeedToNotifyNetworkState = EFalse;
// determine initial widget online/offline network state
DetermineNetworkState();
+ iAsyncCallBack = new (ELeave) CAsyncCallBack(TCallBack(DeleteItself,this),CActive::EPriorityUserInput);
}
// -----------------------------------------------------------------------------
@@ -219,10 +221,20 @@
delete iLeftSoftKeyLabel;
delete iWidgetUiDialogsProviderProxy;
delete iSchemeHandler;
- delete iMiniviewBitmap;
+
+ iActiveMiniviewBitmap = 0;
+ iMiniviewBitmap1.Reset();
+ iMiniviewBitmap2.Reset();
+
#ifdef BRDO_WRT_HS_FF
delete iNetworkModeWait;
#endif
+ if(iAsyncCallBack)
+ {
+ iAsyncCallBack->Cancel();
+ }
+ delete iAsyncCallBack;
+ iAsyncCallBack=NULL;
}
// -----------------------------------------------------------------------------
@@ -273,7 +285,7 @@
{
switch(widgetMiniViewState)
- {
+ {
case 0: iWidgetWindowState.miniViewState = EMiniViewNotEnabled;
break;
case 1: iWidgetWindowState.miniViewState = EMiniViewEnabled;
@@ -530,7 +542,7 @@
Engine()->MakeVisible(EFalse);// hide the active widget
}
if ( !aCurrent && (EPublishStart != WidgetMiniViewState()) )
- {
+ {
iWidgetExtension->HandleCommandL ( (TInt)TBrCtlDefs::ECommandAppBackground + (TInt)TBrCtlDefs::ECommandIdBase );
if( iWindowManager.AnyWidgetOnHs() )
{
@@ -569,7 +581,17 @@
// reset the Right Softkey
TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyRight,KNullDesC,KDummyCommand,EChangeReasonLoad));
}
-
+ if (iLeftSoftKeyLabel)
+ {
+ // restore the Left Softkey
+ TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyLeft,*iLeftSoftKeyLabel,KDummyCommand,EChangeReasonLoad));
+ }
+ else
+ {
+ // reset the Left Softkey
+ TRAP_IGNORE(iWidgetUiObserver->UpdateSoftkeyL(EKeyLeft,KNullDesC,KDummyCommand,EChangeReasonLoad));
+ }
+
// restore state
if ( !showSoftkeys )
{
@@ -612,6 +634,9 @@
{
Engine()->MakeVisible( ETrue );
}
+ PublishSnapShot();
+ if(iWidgetLoaded && iNeedToNotifyNetworkState)
+ DetermineNetworkState();
}
// -----------------------------------------------------------------------------
@@ -626,16 +651,18 @@
{
#ifdef BRDO_WRT_HS_FF
- if ( !iMiniviewBitmap )
+ if ( iCpsPublisher)
{
- iMiniviewBitmap = new CFbsBitmap();
- }
+ // Swap bitmaps
+ if(iActiveMiniviewBitmap == &iMiniviewBitmap1)
+ iActiveMiniviewBitmap = &iMiniviewBitmap2;
+ else
+ iActiveMiniviewBitmap = &iMiniviewBitmap1;
- if ( iMiniviewBitmap && iCpsPublisher)
- {
+ // Take snapshot and publish
TRAP_IGNORE(
- (iEngine->TakeSnapshotL( *iMiniviewBitmap ));
- iCpsPublisher->PublishBitmapL( *iMiniviewBitmap, *iWidgetBundleId );
+ (iEngine->TakeSnapshotL( *iActiveMiniviewBitmap ));
+ iCpsPublisher->PublishBitmapL( *iActiveMiniviewBitmap, *iWidgetBundleId );
);
}
#endif
@@ -668,15 +695,16 @@
TBool CWidgetUiWindow::CheckNetworkAccessL()
{
// if widgets in offline mode, deny network access
- if (iWindowManager.GetNetworkMode() == EOfflineMode)
+ if (iWindowManager.GetNetworkMode() == EOfflineMode && !( EMiniViewEnabled == WidgetMiniViewState() ||
+ EMiniViewNotEnabled == WidgetMiniViewState() ))
{
- // if widget is in full view, offer user the option to go to online mode
+ // if widget is in full view, offer user the option to go to online mode.The widget should be in HS else dont ask HS for prompt.
#ifdef BRDO_WRT_HS_FF
if ( WidgetFullViewState() && WidgetMiniViewState() != EPublishStart )
{
iCpsPublisher->NetworkConnectionAllowedL();
+ iNetworkModeWait->Start();
}
- iNetworkModeWait->Start();
#endif
if (iWindowManager.GetNetworkMode() == EOfflineMode)
{
@@ -684,18 +712,18 @@
User::Leave( KErrAccessDenied );
}
}
-
+
// begin info.plist (declare EAllowNetworkAccess or EAllowFullAccess ?)
RWidgetRegistryClientSession& widgetRegistry
= iWindowManager.WidgetUIClientSession();
- CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL(iUid, EAllowNetworkAccess );
+ CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL(iUid, EAllowNetworkAccess );
TInt networkAccess = *propValue;
delete propValue;
propValue = widgetRegistry.GetWidgetPropertyValueL(iUid, EAllowFullAccess );
TInt fullAccess = *propValue;
delete propValue;
-
+
if ( !( networkAccess || fullAccess ) )
{
SetNetworkAccessGrant( EDeny );
@@ -733,7 +761,7 @@
}
delete rep;
}
-
+
if ( prompt )
{
CBrowserDialogsProvider* dialogProvider
@@ -746,7 +774,7 @@
CleanupStack::PopAndDestroy( 3 );
// save prompt result for session
SetNetworkAccessGrant( grant? EAllow : EDeny );
-
+
CheckUserPermissionChanged( grant );
}
else
@@ -779,7 +807,7 @@
// 2.1. deal with access point settings
TInt ask( 1 );
TInt wmlId( KWmlNoDefaultAccessPoint );
- TInt snapId( KWmlNoDefaultSnapId );
+ TInt snapId( KWmlNoDefaultSnapId );
CRepository* rep( NULL );
TRAPD( cenrepError, rep = CRepository::NewL( KCRUidBrowser ) );
if ( KErrNone == cenrepError )
@@ -789,12 +817,12 @@
(void)rep->Get( KBrowserNGDefaultSnapId, snapId );
}
delete rep;
- if ( ask == EBrowserCenRepApSelModeDestination &&
- ( snapId != KWmlNoDefaultSnapId) )
- {
- iWindowManager.GetConnection()->SetRequestedSnap( snapId );
- iWindowManager.GetConnection()->SetConnectionType( CMManager::EDestination );
- }
+ if ( ask == EBrowserCenRepApSelModeDestination &&
+ ( snapId != KWmlNoDefaultSnapId) )
+ {
+ iWindowManager.GetConnection()->SetRequestedSnap( snapId );
+ iWindowManager.GetConnection()->SetConnectionType( CMManager::EDestination );
+ }
if ( !ask && (KWmlNoDefaultAccessPoint != wmlId) )
{
@@ -808,6 +836,13 @@
iWindowManager.GetConnection()->SetRequestedAP( iap );
);
}
+
+ if ( EBrowserCenRepApSelModeAlwaysAsk == ask )
+ {
+ //Always ask case
+ TUint32 ap( 0 );
+ iWindowManager.GetConnection()->SetRequestedAP( ap );
+ }
}
}
@@ -823,11 +858,21 @@
if ( !iWindowManager.GetConnection()->Connected() )
{
// 2.2. make a connection
- TInt connFailure = iWindowManager.GetConnection()->StartConnectionL( ETrue );
+ iConnecting=ETrue;
+ TInt connFailure = 0;
+ TRAPD(err, connFailure=iWindowManager.GetConnection()->StartConnectionL( ETrue ));
+ iConnecting=EFalse;
+ User::LeaveIfError(err);
+ if(iDeleteItself)
+ iAsyncCallBack->CallBack();
if (KErrCancel == connFailure)
{
#ifdef BRDO_WRT_HS_FF
- iCpsPublisher->NetworkConnectionCancelledL();
+ if(! (EMiniViewEnabled == WidgetMiniViewState() ||
+ EMiniViewNotEnabled == WidgetMiniViewState()) )
+ {
+ iCpsPublisher->NetworkConnectionCancelledL();
+ }
#endif
User::Leave( connFailure );
}
@@ -840,7 +885,7 @@
// kicks in and sets a EDeny.
User::Leave( connFailure );
}
- *aNewConn = ETrue;
+ *aNewConn = ETrue;
}
}
@@ -933,7 +978,7 @@
aTypeArray,
aDesArray,
paramFound );
-
+
HBufC8* contentType8 = 0;
if ( !paramFound )
{
@@ -945,7 +990,7 @@
// 16 bit buffer copied into 8 bit buffer.
contentType8->Des().Copy( contentType );
}
-
+
//Get the download Id of the transaction.
//Because, resource loader will not delete the download
//So after handling the download, it will be cleared.
@@ -954,16 +999,16 @@
aTypeArray,
aDesArray,
paramFound );
-
+
TLex lex(dlId);
- User::LeaveIfError(lex.Val(iDlId));
-
+ User::LeaveIfError(lex.Val(iDlId));
+
TDataType dataType( *contentType8 );
CAiwGenericParamList* genericParamList =
BrCtlParamList2GenericParamListL( aTypeArray, aDesArray );
CleanupStack::PushL( genericParamList );
RFile tempFile;
-
+
iWindowManager.DocHandler().SetExitObserver(this);
iWindowManager.DocHandler().OpenTempFileL( fileName, tempFile );
CleanupClosePushL( tempFile );
@@ -1119,11 +1164,11 @@
{
TNetworkState currNetState;
RWidgetRegistryClientSession& widgetRegistry = iWindowManager.WidgetUIClientSession();
- TInt inMiniView = widgetRegistry.IsWidgetInMiniView( iUid);
- CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL( iUid, EAllowNetworkAccess );
+ TInt inMiniView = !(WidgetMiniViewState()==EMiniViewEnabled || WidgetMiniViewState()==EMiniViewNotEnabled);//widgetRegistry.IsWidgetInMiniView( iUid);
+ CWidgetPropertyValue* propValue = widgetRegistry.GetWidgetPropertyValueL( iUid, EAllowNetworkAccess );
TInt netAccessWdgtProp = *propValue; // AllowNetworkAccess in the info.plist file
-
- if ( netAccessWdgtProp && ((inMiniView && (iWindowManager.GetNetworkMode() == (TInt)EOnlineMode))
+
+ if ( netAccessWdgtProp && ((inMiniView && (iWindowManager.GetNetworkMode() == (TInt)EOnlineMode))
|| (!inMiniView && iUserPermission)) )
{
if ( iWindowManager.GetNetworkConn() )
@@ -1139,7 +1184,7 @@
{
currNetState = ENetworkNotAllowed;
}
-
+
if ( iNetworkState != currNetState )
{
iNetworkState = currNetState;
@@ -1173,7 +1218,7 @@
//Check if the container rect needs change and then call setRect
if(clientRect != iWindowManager.View()->Container()->Rect())
iWindowManager.View()->Container()->SetRect(clientRect);
-
+
if (!aTextBoxUpdate)
{
// status pane always off unless in text box
@@ -1181,4 +1226,38 @@
}
}
}
+
+// -----------------------------------------------------------------------------
+// CWidgetUiWindow::NeedToNotifyNetworkState()
+// -----------------------------------------------------------------------------
+//
+void CWidgetUiWindow::NeedToNotifyNetworkState(TBool aNetworkState)
+ {
+ iNeedToNotifyNetworkState = aNetworkState;
+ }
+
+// -----------------------------------------------------------------------------
+// CWidgetUiWindow::CanBeDeleted()
+// -----------------------------------------------------------------------------
+//
+TBool CWidgetUiWindow::CanBeDeleted()
+ {
+ iDeleteItself = iConnecting;
+ return !iConnecting;
+ }
+
+// -----------------------------------------------------------------------------
+// CWidgetUiWindow::DeleteItself()
+// -----------------------------------------------------------------------------
+//
+TInt CWidgetUiWindow::DeleteItself(TAny* aPtr)
+ {
+ CWidgetUiWindow* self = (CWidgetUiWindow*)aPtr;
+ CWidgetUiWindowManager* p = &self->iWindowManager;
+ delete self;
+ if(p->WindowListCount() == 0)
+ p->ExitNow();
+ return 0;
+ }
+
// End of file
--- a/widgets/widgetapp/src/WidgetUiWindowContainer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiWindowContainer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -23,11 +23,11 @@
#include <WidgetUi.rsg>
-#include <WidgetRegistryConstants.h>
+#include <widgetregistryconstants.h>
-#include <BrCtlInterface.h>
+#include <brctlinterface.h>
#include <ApUtils.h>
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include <ActiveApDb.h>
#include <avkon.hrh>
#include <aknsdrawutils.h>
@@ -37,7 +37,7 @@
#include <AknMessageQueryDialog.h>
#include <aknnotewrappers.h>
#include <AknNoteDialog.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsprovider.h>
// EXTERNAL DATA STRUCTURES
--- a/widgets/widgetapp/src/WidgetUiWindowManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiWindowManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,27 +25,31 @@
#include "WidgetInstallerInternalCRKeys.h"
#include "SWInstWidgetUid.h"
#include "widgetappdefs.rh"
-#include "Browser_platform_variant.hrh"
+#include "browser_platform_variant.hrh"
#ifdef BRDO_WRT_HS_FF
#include "cpspublisher.h"
#endif
#include <WidgetUi.rsg>
-#include <BrCtlInterface.h>
-#include <WidgetRegistryConstants.h>
+#include <brctlinterface.h>
+#include <widgetregistryconstants.h>
#include <centralrepository.h>
#include <StringLoader.h>
#include <AknNoteDialog.h>
-#include <BrowserDialogsProvider.h>
+#include <browserdialogsprovider.h>
#include <S32FILE.H>
#include <aknnotewrappers.h>
#include "cpglobals.h" // CPS string definitions.
-#include <InternetConnectionManager.h>
+#include <internetconnectionmanager.h>
#include <ActiveApDb.h>
#include <oommonitorsession.h>
#include <aknglobalnote.h>
+#ifdef BRDO_OCC_ENABLED_FF
+#include <extendedconnpref.h>
+#endif
+
// LOCAL FUNCTION PROTOTYPES
TInt doDestructOOMNotifyTimer( TAny* ptr );
TInt doNotifyHarvester( TAny* ptr );
@@ -146,6 +150,8 @@
{
TInt strictMode;
TInt cursorMode = -1;
+ TInt enterKeyMode = -1;
+
if (cenRep->Get( KWidgetInstallerStrictMode, strictMode ) == KErrNone)
{
iStrictMode = strictMode;
@@ -154,6 +160,12 @@
{
iWidgetCursorMode = (TBrCtlDefs::TCursorSettings) cursorMode;
}
+
+ if (cenRep->Get( KWidgetEnterKeyMode, enterKeyMode ) == KErrNone)
+ {
+ iWidgetEnterKeyMode = (TBrCtlDefs::TEnterKeySettings) enterKeyMode;
+ }
+
delete cenRep;
}
@@ -161,7 +173,12 @@
iHandler = CDocumentHandler::NewL(CEikonEnv::Static()->Process());
iDb = CActiveApDb::NewL( EDatabaseTypeIAP );
+ #ifdef BRDO_OCC_ENABLED_FF
+ iConnection = CInternetConnectionManager::NewL( iDb->Database(), ETrue );
+ #else
iConnection = CInternetConnectionManager::NewL( iDb->Database(), EFalse );
+ #endif
+
#ifdef BRDO_WRT_HS_FF
iCpsPublisher = CCpsPublisher::NewL();
#endif
@@ -194,6 +211,9 @@
//
CWidgetUiWindowManager::~CWidgetUiWindowManager()
{
+ if( iDialogsProvider)
+ iDialogsProvider->CancelAll();
+ iActiveFsWindow = NULL;
iWindowList.ResetAndDestroy();
delete iNetworkListener;
@@ -237,7 +257,7 @@
wdgt_window->SetWindowStateMiniViewL( EMiniViewEnabled );
// TODO also other states are possible when we should react?
-
+
// Removing . Miniview, shall remove full view as well. For blanket permissions
// will be revoked for miniview
@@ -335,42 +355,53 @@
{
iNetworkMode = EOnlineMode;
CWidgetUiWindow* wdgt_window( GetWindow( aUid ) );
-#ifdef BRDO_WRT_HS_FF
- if ( wdgt_window->NetworkModeWait()->IsStarted() )
+ if (wdgt_window)
{
- wdgt_window->NetworkModeWait()->AsyncStop();
+#ifdef BRDO_WRT_HS_FF
+ if ( wdgt_window->NetworkModeWait()->IsStarted() )
+ {
+ wdgt_window->NetworkModeWait()->AsyncStop();
+ }
+#endif
+ if(wdgt_window->IsWidgetLoaded())
+ wdgt_window->DetermineNetworkState();
+ else
+ wdgt_window->NeedToNotifyNetworkState(ETrue);
}
-#endif
- wdgt_window->DetermineNetworkState();
}
break;
case WidgetOffline:
{
iNetworkMode = EOfflineMode;
CWidgetUiWindow* wdgt_window( GetWindow( aUid ) );
+ if (wdgt_window)
+ {
#ifdef BRDO_WRT_HS_FF
- if ( wdgt_window->NetworkModeWait()->IsStarted() )
- {
- wdgt_window->NetworkModeWait()->AsyncStop();
- }
+ if ( wdgt_window->NetworkModeWait()->IsStarted() )
+ {
+ wdgt_window->NetworkModeWait()->AsyncStop();
+ }
#endif
- // if no full view widgets open, then close the network connection
- if ( ( !FullViewWidgetsOpen() ) && ( iConnection->Connected() ) )
- {
- wdgt_window->Engine()->HandleCommandL(
- (TInt)TBrCtlDefs::ECommandIdBase +
- (TInt)TBrCtlDefs::ECommandDisconnect );
- iConnection->StopConnectionL();
+ // if no full view widgets open, then close the network connection
+ if ( ( !FullViewWidgetsOpen() ) && ( iConnection->Connected() ) )
+ {
+ TRAP_IGNORE( wdgt_window->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandCancelFetch ) );
+
+ wdgt_window->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandDisconnect );
+ iConnection->CancelConnection();
+ iConnection->StopConnectionL();
+ }
+ if(wdgt_window->IsWidgetLoaded())
+ wdgt_window->DetermineNetworkState();
+ else
+ wdgt_window->NeedToNotifyNetworkState(ETrue);
}
- wdgt_window->DetermineNetworkState();
}
- break;
- case WidgetRestart:
- {
- OpenOrCreateWindowL( aUid, LaunchMiniview );
- ResumeWidgetL( aUid );
- }
- break;
+ break;
}
if(needToNotify)
// Widget is up and running, notify that next one can be launched
@@ -598,6 +629,7 @@
TBool CWidgetUiWindowManager::RemoveFromWindowList( CWidgetUiWindow* aWidgetWindow )
{
__ASSERT_DEBUG( aWidgetWindow, User::Invariant() );
+ TBool count(EFalse);
if ( iDialogsProvider->IsDialogLaunched() )
{
return EFalse;
@@ -625,18 +657,41 @@
(TInt)TBrCtlDefs::ECommandCancelFetch ) );
if ( lastOne )
{
- TRAP_IGNORE( aWidgetWindow->Engine()->HandleCommandL(
- (TInt)TBrCtlDefs::ECommandIdBase +
- (TInt)TBrCtlDefs::ECommandDisconnect ) );
-
- delete aWidgetWindow;
- return ETrue;
+ if(aWidgetWindow->CanBeDeleted())
+ {
+ TRAP_IGNORE( aWidgetWindow->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandDisconnect ) );
+ iConnection->CancelConnection();
+ iConnection->StopConnectionL();
+ delete aWidgetWindow;
+ return ETrue;
+ }
}
else
{
- delete aWidgetWindow;
+ if(aWidgetWindow->CanBeDeleted())
+ {
+ for ( TInt i = 0; i < iWindowList.Count(); ++i )
+ {
+ CWidgetUiWindow* window( iWindowList[i] );
+ if(window->WidgetMiniViewState() == EMiniViewEnabled || window->WidgetMiniViewState() == EMiniViewNotEnabled)
+ {
+ count = ETrue;
+ break;
+ }
+ }
+ if(!count && iNetworkMode == EOfflineMode){
+ aWidgetWindow->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandDisconnect );
+ iConnection->StopConnectionL();
+ }
+ delete aWidgetWindow;
+ }
+ return EFalse;
}
- return EFalse;
+
}
// =============================================================================
@@ -734,6 +789,7 @@
if ( window == iActiveFsWindow )
{
//make the active window NULL and also CurrentWindow as False
+ iActiveFsWindow->SetCurrentWindow(EFalse);
iActiveFsWindow->SetIsCurrentWindow(EFalse);
iActiveFsWindow = NULL;
}
@@ -848,6 +904,8 @@
}
else
{
+ if(iDialogsProvider)
+ iDialogsProvider->CancelAll();
HideWindow( iActiveFsWindow );
}
}
@@ -989,6 +1047,9 @@
#ifdef BRDO_WRT_HS_FF
wdgt_window->Engine()->MakeVisible( EFalse );
wdgt_window->Engine()->SetRect( iCpsPublisher->BitmapSize());
+ //When HS comes to foreground show the latest updatd content on HS.
+ //Relayout can sometimes happen only when widget in FullView.
+ wdgt_window->PublishSnapShot();
#endif
}
}
@@ -1286,6 +1347,25 @@
}
#endif //OOM_WIDGET_CLOSEALL
+void CWidgetUiWindowManager::CloseAllWidgets()
+ {
+ TInt nWidgetsCount = iWindowList.Count();
+ for ( TInt i = (nWidgetsCount-1); i >= 0; i-- )
+ {
+ CWidgetUiWindow* window = iWindowList[i];
+ TRAP_IGNORE( window->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandCancelFetch ) );
+ if(i == 0)
+ TRAP_IGNORE( window->Engine()->HandleCommandL(
+ (TInt)TBrCtlDefs::ECommandIdBase +
+ (TInt)TBrCtlDefs::ECommandDisconnect ) );
+ iConnection->CancelConnection();
+ iConnection->StopConnectionL();
+ delete window;
+ }
+ iWindowList.Reset();
+ }
void CWidgetUiWindowManager::SendAppToBackground()
{
@@ -1314,6 +1394,12 @@
return EFalse;
}
+
+void CWidgetUiWindowManager::ExitNow()
+ {
+ iAppUi.Exit();
+ }
+
CRequestRAM::CRequestRAM(CWidgetUiWindowManager* aWidgetUiWindowManager, const TUid& aUid, TUint32 aOperation):
CActive( EPriorityStandard ),
iOperation(aOperation),
@@ -1353,6 +1439,7 @@
if(iStatus >= 0)
{
iWidgetUiWindowManager->OpenOrCreateWindowL( iUid, LaunchMiniview );
+ iWidgetUiWindowManager->GetWindow(iUid)->NeedToNotifyNetworkState(ETrue);
iWidgetUiWindowManager->ResumeWidgetL( iUid );
iWidgetUiWindowManager->GetWindow(iUid)->SetTime();
#ifdef OOM_WIDGET_CLOSEALL
@@ -1379,6 +1466,11 @@
else
{
NotifyCommandHandled();
+ TBool lastOne( iWidgetUiWindowManager->WindowListCount() == 0 );
+ if( lastOne )
+ {
+ iWidgetUiWindowManager->AppUi().Exit();
+ }
iWidgetUiWindowManager->SendAppToBackground();
iWidgetUiWindowManager->WidgetUIClientSession().SetActive( iUid, EFalse );
}
--- a/widgets/widgetapp/src/WidgetUiWindowView.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/WidgetUiWindowView.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -37,7 +37,7 @@
#include <AknSgcc.h>
#include <akntitle.h>
#include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
#ifdef RD_SCALABLE_UI_V2
#include <LayoutMetaData.cdl.h> // For Layout_Meta_Data landscape/portrait status
#include <akntoolbar.h>
@@ -229,6 +229,18 @@
{
if (!iWindowManager.ActiveWindow())
return;
+ #ifdef RD_SCALABLE_UI_V2
+ if (PenEnabled()&&(Layout_Meta_Data::IsLandscapeOrientation())&& IsEditMode())
+ {
+ TInt newResId = Cba()->IsVisible() ?
+ R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT :
+ R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT_NO_SOFTKEYS;
+
+ StatusPane()->SwitchLayoutL(newResId);
+ StatusPane()->ApplyCurrentSettingsL();
+ StatusPane()->MakeVisible(ETrue);
+ }
+ #endif
CBrCtlInterface* engine = iWindowManager.ActiveWindow()->Engine();
if( engine && (aResourceId == R_WIDGETUI_MENU || aResourceId >= R_CASCADE_MENU_1) )
{
@@ -306,7 +318,7 @@
if (resId != newResId)
{
StatusPane()->SwitchLayoutL(newResId);
- }
+ }
}
else //Portrait
{
--- a/widgets/widgetapp/src/cpspublisher.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetapp/src/cpspublisher.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -72,6 +72,7 @@
_LIT( KWRTPublisher, "wrt_publisher");
const TInt KSkinGfxInnerRectShrink = 5;
+const TUint KDisablePersist = 0x1000;
static void DoResetAndDestroy( TAny* aPtr )
{
@@ -455,7 +456,7 @@
inparam.AppendL( item );
- iCpsInterface->ExecuteCmdL( KAdd , inparam, outparam);
+ iCpsInterface->ExecuteCmdL( KAdd , inparam, outparam, KDisablePersist);
CleanupStack::PopAndDestroy(); // item
Binary file widgets/widgetinstaller/conf/widgetinstaller.confml has changed
Binary file widgets/widgetinstaller/conf/widgetinstaller_1028281F.crml has changed
--- a/widgets/widgetinstaller/data/WidgetInstallerUI.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/data/WidgetInstallerUI.rss Mon Mar 29 12:27:15 2010 +0100
@@ -26,8 +26,7 @@
#include <avkon.rh>
#include <avkon.mbg>
#include <avkon.loc>
-#include <swinstcommonui.rsg>
-#include <WidgetInstallerUI.loc>
+#include <widgetinstallerui.loc>
RESOURCE RSS_SIGNATURE { }
--- a/widgets/widgetinstaller/group/WidgetInstallerUI.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/group/WidgetInstallerUI.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
#include <bldvariant.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
// TARGET INFO
TARGET WidgetInstallerUI.dll
@@ -37,7 +37,7 @@
END
START RESOURCE ../data/WidgetInstallerUI.rss
-DEPENDS swinstcommonui.rsg
+DEPENDS avkon.rsg
HEADER
TARGETPATH Resource
#ifdef __S60_32__
@@ -62,7 +62,7 @@
USERINCLUDE ../../../Inc
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_LIBC_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
// Libraries
LIBRARY euser.lib
--- a/widgets/widgetinstaller/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -18,14 +18,14 @@
*/
#include <platform_paths.hrh>
-#include "../../../web_plat/browser_platform_api/inc/Browser_platform_variant.hrh"
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
PRJ_PLATFORMS
DEFAULT GCCE
PRJ_EXPORTS
// export localization files
-../loc/WidgetInstallerUI.loc MW_LAYER_LOC_EXPORT_PATH(WidgetInstallerUI.loc)
+../loc/widgetinstallerui.loc MW_LAYER_LOC_EXPORT_PATH(widgetinstallerui.loc)
// If EKA2 Kernel Architecture is supported, assume S60 3rd Edition Platform
@@ -33,4 +33,4 @@
../conf/widgetinstaller_1028281F.crml MW_LAYER_CRML(widgetinstaller_1028281F.crml)
PRJ_MMPFILES
-WidgetInstallerUI.mmp
\ No newline at end of file
+WidgetInstallerUI.mmp
--- a/widgets/widgetinstaller/inc/WidgetInstallerInternalCRKeys.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/inc/WidgetInstallerInternalCRKeys.h Mon Mar 29 12:27:15 2010 +0100
@@ -40,4 +40,9 @@
// The setting to define the cursor show mode inside widgets
// Valid values: 0 = not showing the cursor, 1 = cursor shown
const TUint32 KWidgetCursorShowMode = 0x00000005;
+
+// Controls whether enter key can activate a link or just has a default behavior.
+const TUint32 KWidgetEnterKeyMode = 0x00000006;
+
+
#endif
--- a/widgets/widgetinstaller/inc/WidgetUIConfigHandler.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/inc/WidgetUIConfigHandler.h Mon Mar 29 12:27:15 2010 +0100
@@ -21,8 +21,8 @@
// INCLUDES
#include <libxml2_tree.h>
-#include <WidgetRegistryConstants.h>
-#include <WidgetPropertyValue.h>
+#include <widgetregistryconstants.h>
+#include <widgetpropertyvalue.h>
// FORWARD DECLARATION
--- a/widgets/widgetinstaller/inc/WidgetUIOperationsWatcher.h Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/inc/WidgetUIOperationsWatcher.h Mon Mar 29 12:27:15 2010 +0100
@@ -28,7 +28,7 @@
#include <SWInstDefs.h>
#include <SWInstTaskManager.h>
#include <SWInstLogTaskParam.h>
-#include <WidgetRegistryClient.h>
+#include <widgetregistryclient.h>
#include <apgcli.h> // RApaLsSession
#include "cuicanceltimer.h"
#include "WidgetUIHandler.h"
--- a/widgets/widgetinstaller/src/WidgetRegistrationManager.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/src/WidgetRegistrationManager.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -21,7 +21,13 @@
#include <apgcli.h>
#include <APGICNFL.h>
#include <S32MEM.H>
-#include <WidgetRegistryConstants.h>
+#include <widgetregistryconstants.h>
+
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <apgicnflpartner.h>
+//#include <apgicnflinternal.h>
+#endif
+
// CONSTANTS
_LIT(KMBMExt, ".mbm");
--- a/widgets/widgetinstaller/src/WidgetUIConfigHandler.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/src/WidgetUIConfigHandler.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -25,7 +25,7 @@
#include "SWInstWidgetUid.h"
#include "WidgetInstallerInternalCRKeys.h"
#include <charconv.h>
-#include <WidgetRegistryConstants.h>
+#include <widgetregistryconstants.h>
// DTD
--- a/widgets/widgetinstaller/src/WidgetUIOperationsWatcher.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetinstaller/src/WidgetUIOperationsWatcher.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -29,6 +29,7 @@
#include <SWInstLogTaskParam.h>
#include <apacmdln.h>
#include <s32mem.h>
+#include <e32property.h>
#include <widgetappdefs.rh>
#include "WidgetUIOperationsWatcher.h"
@@ -60,6 +61,14 @@
// removable memory cards means that drive letters may change.
+static void NotifyCommandHandled()
+ {
+ const TUid KMyPropertyCat = { 0x10282E5A };
+ enum TMyPropertyKeys { EMyPropertyState = 109 };
+ TInt state( 3 );
+ RProperty::Set( KMyPropertyCat, EMyPropertyState , state );
+ }
+
using namespace SwiUI;
// =========================== MEMBER FUNCTIONS ===============================
@@ -206,6 +215,27 @@
if ( PromptUserForInstallL( replaceExisting )
&& PromptUserForUntrustedWidgetL( ) )
{
+ if ( replaceExisting )
+ {
+ //Runnning widget should be first closed
+ RApaLsSession apaLsSession;
+ apaLsSession.Connect();
+ TApaAppInfo info;
+ TUid aUid = TUid::Uid( *(iPropertyValues[EUid]) );
+
+ User::LeaveIfError( apaLsSession.GetAppInfo( info, aUid ) );
+ iWidgetName = info.iFullName;
+ HBufC *widgetName = iWidgetName.AllocLC();
+ if(iWidgetInHS)
+ NotifyCommandHandled();
+
+ HandleWidgetCommandL(apaLsSession, *widgetName, aUid, Deactivate);
+
+ CleanupStack::PopAndDestroy( widgetName );
+ apaLsSession.Close();
+ }
+
+
// reinitialize
delete iMembers;
iMembers = NULL;
@@ -447,21 +477,6 @@
found = ETrue;
TUid aUid = TUid::Uid( *(iPropertyValues[EUid]) );
iWidgetInHS = iRegistry.IsWidgetInMiniView( aUid );
- if ( iRegistry.IsWidgetRunning( aUid ) )
- {
- //Runnning widget should be first closed
- RApaLsSession apaLsSession;
- apaLsSession.Connect();
- TApaAppInfo info;
-
- User::LeaveIfError( apaLsSession.GetAppInfo( info, aUid ) );
- iWidgetName = info.iFullName;
- HBufC *widgetName = iWidgetName.AllocLC();
- HandleWidgetCommandL(apaLsSession, *widgetName, aUid, Deactivate);
-
- CleanupStack::PopAndDestroy( widgetName );
- apaLsSession.Close();
- }
// get original install dir from registry in case user
// decides to "overrite" to another memory location
iOriginalDir = *( iRegistry.GetWidgetPropertyValueL(
@@ -759,7 +774,6 @@
// TODO if registration steps fail does it leave inconsistent state???
- iRegistry.RegisterWidgetL( iPropertyValues );
iAppManager->RegisterWidgetL( *(iPropertyValues[EMainHTML]),
*(iPropertyValues[EBundleDisplayName]),
@@ -767,21 +781,14 @@
*(iPropertyValues[EDriveName]),
TUid::Uid( *(iPropertyValues[EUid]) ) );
+ iRegistry.RegisterWidgetL( iPropertyValues );
+
+
+
if ( iOverwriting )
{
// delete backup
- (void)iFileMgr->RmDir( iBackupDir );
- if ( iWidgetInHS )
- {
- RApaLsSession apaLsSession;
- apaLsSession.Connect();
-
- HBufC* widgetName = iWidgetName.AllocLC();
- HandleWidgetCommandL(apaLsSession, *widgetName, TUid::Uid( *(iPropertyValues[EUid]) ), WidgetRestart);
- CleanupStack::PopAndDestroy( widgetName );
-
- apaLsSession.Close();
- }
+ (void)iFileMgr->RmDir( iBackupDir );
}
if ( !iSilent )
{
--- a/widgets/widgetlauncher/group/WidgetLauncher.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetlauncher/group/WidgetLauncher.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
target widgetlauncher.exe
targettype exe
--- a/widgets/widgetlauncher/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetlauncher/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,13 +15,12 @@
*
*/
-
PRJ_PLATFORMS
-DEFAULT GCCE
+DEFAULT
PRJ_EXPORTS
// If EKA2 Kernel Architecture is supported, assume S60 3rd Edition Platform
PRJ_MMPFILES
-WidgetLauncher.mmp
\ No newline at end of file
+WidgetLauncher.mmp
--- a/widgets/widgetlauncher/src/WidgetLauncher.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetlauncher/src/WidgetLauncher.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -31,8 +31,10 @@
#include <APGTASK.H>
#include <oommonitorsession.h>
#include <e32property.h>
+#ifndef FF_OOM_MONITOR2_COMPONENT
#include <systemwarninglevels.hrh>
-#include "Browser_platform_variant.hrh"
+#endif
+#include "browser_platform_variant.hrh"
// CONSTANTS
#define KUidWidgetOOMPlugin 0x10282855
--- a/widgets/widgetpreinstaller/Group/WidgetPreInstaller.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetpreinstaller/Group/WidgetPreInstaller.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include <defaultcaps.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET WidgetPreInstaller.exe
TARGETTYPE exe
--- a/widgets/widgetrecognizer/data/10282820.rss Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetrecognizer/data/10282820.rss Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
-#include <RegistryInfo.rh>
+#include <ecom/registryinfo.rh>
RESOURCE REGISTRY_INFO r_registry
{
dll_uid = 0x10282820; // Should match the name of this file
--- a/widgets/widgetrecognizer/group/WidgetRecognizer.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetrecognizer/group/WidgetRecognizer.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -15,9 +15,8 @@
*
*/
-
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET WidgetRecognizer.DLL
TARGETTYPE PLUGIN
@@ -25,23 +24,20 @@
CAPABILITY CAP_ECOM_PLUGIN
-
SOURCEPATH ../Data
START RESOURCE 10282820.rss
TARGET WidgetRecognizer.rsc
END
-
VENDORID VID_DEFAULT
SOURCEPATH ../src
SOURCE WidgetRecognizer.cpp
USERINCLUDE ../inc
+
MW_LAYER_SYSTEMINCLUDE
-MW_LAYER_ECOM_SYSTEMINCLUDE
-
LIBRARY EUSER.LIB
LIBRARY APMIME.LIB
--- a/widgets/widgetrecognizer/group/bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetrecognizer/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -22,4 +22,4 @@
PRJ_EXPORTS
PRJ_MMPFILES
-WidgetRecognizer.mmp
\ No newline at end of file
+WidgetRecognizer.mmp
--- a/widgets/widgetrecognizer/src/WidgetRecognizer.cpp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetrecognizer/src/WidgetRecognizer.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -16,7 +16,7 @@
*/
#include "WidgetRecognizer.h"
-#include "ImplementationProxy.h"
+#include <ecom/implementationproxy.h>
// CONSTANTS
_LIT(KWidgetExtension, ".wgz");
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/data/10281FC0.rss Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ECOM registration for widgetsidchecking
+*
+*/
+
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO r_registry
+ {
+ dll_uid = 0x10281FC0; // must match the name of this file
+ interfaces =
+ {
+ INTERFACE_INFO
+ {
+ interface_uid = 0x20007D8C;
+ implementations =
+ {
+ IMPLEMENTATION_INFO
+ {
+ implementation_uid = 0x10281FC0;
+ version_no = 1;
+ display_name = "WidgetVerify";
+ default_data = "[10282821]";
+ opaque_data = "";
+ }
+ };
+ }
+ };
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/group/bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for Active Space Operator Harvesting Plugin
+*
+*/
+
+//#ifdef __PLATFORM_VERSION_52__
+
+#include <platform_paths.hrh>
+#include "../../../web_plat/browser_platform_api/inc/browser_platform_variant.hrh"
+
+#ifdef APP_SID_CHECK_SUPPORT_FF
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+../rom/widgetsidchecker.iby CORE_MW_LAYER_IBY_EXPORT_PATH(widgetsidchecker.iby)
+
+PRJ_MMPFILES
+widgetsidchecker.mmp
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/group/widgetsidchecker.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: build for widgetsidchecker
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET widgetsidchecker.dll
+CAPABILITY All -Tcb
+TARGETTYPE plugin
+
+UID 0x10009d8d 0x10281FC0
+
+
+SOURCEPATH ../src
+SOURCE widgetsidchecker.cpp
+
+USERINCLUDE ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+START RESOURCE ../data/10281FC0.rss
+target widgetsidchecker.rsc
+end
+
+LIBRARY euser.lib aplist.lib ecom.lib efsrv.lib
+LIBRARY ws32.lib apparc.lib
+library apgrfx.lib
+LIBRARY WidgetRegistryClient.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/inc/widgetsidchecker.h Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __WIDGETSIDCHECKER_H__
+#define __WIDGETSIDCHECKER_H__
+
+#include <apsidchecker.h>
+#include <WidgetRegistryClient.h>
+
+class RWidgetRegistryClientSession;
+
+NONSHARABLE_CLASS(CWidgetSidChecker) : public CAppSidChecker
+ {
+public:
+ static CWidgetSidChecker* NewL();
+ ~CWidgetSidChecker();
+
+public:
+ virtual TBool AppRegisteredAt(const TUid& aSid, TDriveUnit aDrive);
+ virtual void SetRescanCallBackL(const TCallBack &aCallback);
+
+private:
+ CWidgetSidChecker();
+ TBool AppRegisteredAtL(TUid aSid );
+ RWidgetRegistryClientSession iClientSession;
+ };
+
+#endif
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/rom/widgetsidchecker.iby Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,18 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: IBY file
+*
+*/
+
+ECOM_PLUGIN(widgetsidchecker.dll,10281FC0.rsc)
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/widgetsidchecker/src/widgetsidchecker.cpp Mon Mar 29 12:27:15 2010 +0100
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2007, 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "widgetsidchecker.h"
+
+#include <e32std.h>
+#include <e32const.h>
+#include <ecom/implementationproxy.h>
+#include <f32file.h>
+#include <w32std.h>
+#include <apgtask.h>
+//#include <eikenv.h>
+#include <s32file.h>
+
+//WidgetRegistry.EXE[10282f06]0001
+//const TUid KWidgetRegistry = { 0x10282F06 };
+//0x10282F06
+//hb
+//#include <WidgetRegistryClient.h>
+//////////////////////////////
+// ECOM Implementation Table
+//////////////////////////////
+
+
+TBool E32Dll()
+ {
+ return (ETrue);
+ }
+
+const TImplementationProxy ImplementationTable[] =
+ {
+ IMPLEMENTATION_PROXY_ENTRY(0x10281FC0, CWidgetSidChecker::NewL)
+ };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+ {
+ aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+ return ImplementationTable;
+ }
+
+//////////////////////////////
+// CWidgetSidChecker
+//////////////////////////////
+
+CWidgetSidChecker* CWidgetSidChecker::NewL()
+ {
+ CWidgetSidChecker* self = new(ELeave) CWidgetSidChecker();
+ return self;
+ }
+
+ CWidgetSidChecker::CWidgetSidChecker()
+ {
+ }
+
+
+CWidgetSidChecker::~CWidgetSidChecker()
+ {
+ iClientSession.Close();
+ }
+
+TBool CWidgetSidChecker::AppRegisteredAt(const TUid& aSid, TDriveUnit /*aDrive*/)
+ {
+ TFindProcess findProcess (_L("widgetregistry*"));
+ TFullName result;
+ if(findProcess.Next(result) == KErrNone )
+ {
+ TBool res = AppRegisteredAtL(aSid);
+ return res;
+ }
+ return EFalse;
+ }
+
+
+TBool CWidgetSidChecker::AppRegisteredAtL( TUid aSid )
+ {
+ TBuf<KMaxFileName> aWidgetBundleId;
+ TBool res = EFalse;
+
+ User::LeaveIfError( iClientSession.Connect() );
+ iClientSession.GetWidgetBundleId(aSid, aWidgetBundleId);
+ //check if the widget exists by querying to WidgetRegisrty return ETrue if exists else return EFalse
+ if(iClientSession.WidgetExistsL( aWidgetBundleId ) )
+ res = ETrue;
+ else
+ res = EFalse;
+
+ iClientSession.Disconnect();
+ return res;
+ }
+
+void CWidgetSidChecker::SetRescanCallBackL(const TCallBack &/*aCallBack*/)
+ {
+ return;
+ }
+
+// End of file
--- a/widgets/widgetstartup/Group/Bld.inf Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetstartup/Group/Bld.inf Mon Mar 29 12:27:15 2010 +0100
@@ -15,11 +15,8 @@
*
*/
-
-
PRJ_PLATFORMS
DEFAULT
PRJ_MMPFILES
-
WidgetStartup.mmp
--- a/widgets/widgetstartup/Group/WidgetStartup.mmp Wed Jan 13 15:52:45 2010 +0000
+++ b/widgets/widgetstartup/Group/WidgetStartup.mmp Mon Mar 29 12:27:15 2010 +0100
@@ -20,7 +20,7 @@
#include <defaultcaps.hrh>
#include <data_caging_paths.hrh>
#include <platform_paths.hrh>
-#include <platform/mw/Browser_platform_variant.hrh>
+#include <platform/mw/browser_platform_variant.hrh>
TARGET WidgetStartup.exe
TARGETTYPE exe