Fixed Nabi Issues
[apps/osp/Internet.git] / src / IntMainForm.cpp
index 4bc10dc..47908fd 100644 (file)
@@ -144,9 +144,10 @@ static const int WIDTH_CONTEXT_MENU_BUTTON_PORTRAIT = 336;
 static const int WIDTH_CONTEXT_MENU_BUTTON_LANDSCAPE = 800;
 static const int HEIGHT_CONTEXT_MENU_BUTTON = 72;
 
+static const wchar_t* APPCONTROL_OPERATION_ID_IMAGE_VIEWER = L"http://tizen.org/appcontrol/operation/view";
 MainForm::MainForm(void)
 {
-       //__isLongPressedDone = false;
+       __isLongPressedDone = false;
        __pHistory = null;
        __pAddressbar = null;
        //      __pMostVisitedSitesPanel = null;
@@ -212,7 +213,7 @@ MainForm::MainForm(void)
        __pStopBtn = null;
        __pClearBtn = null;
        __pReaderBtn = null;
-       __isWebKeypadOpened = false;
+       __isKeypadOpened = false;
        __fontSize = 44;
        __pNotification = null;
 }
@@ -611,6 +612,11 @@ MainForm::InitFooter(void)
 
                __pMultiWindowButton->AddActionEventListener(*this);
                __pMultiWindowButton->SetActionId(IDA_MULTIWINDOWBTN_CLICKED);
+               if(pPressedBitmap)
+               {
+                       delete pPressedBitmap;
+                       pPressedBitmap = null;
+               }
        }
 
        if (__pMoreButton)
@@ -640,6 +646,7 @@ MainForm::InitFooter(void)
        __pFooterUrlField->SetKeypadAction(KEYPAD_ACTION_GO);
        __pFooterUrlField->AddKeypadEventListener(*this);
        __pFooterUrlField->SetPropagatedTouchEventListener(this);
+       __pFooterUrlField->AddFocusEventListener(*this);
 
        if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_MOST_VISITED_SITES")) == 0)
        {
@@ -647,7 +654,7 @@ MainForm::InitFooter(void)
        }
        else if (SettingPresentationModel::GetInstance()->GetHomepage().CompareTo((L"IDS_BR_BODY_BLANK_PAGE")) == 0)
        {
-               __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_ABOUT_C_BLANK"));
+               __pFooterUrlField->SetGuideText(CommonUtil::GetString(L"IDS_BR_BODY_BLANK_PAGE"));
        }
        else
        {
@@ -748,6 +755,7 @@ MainForm::InitOptionMenu()
 
        if (__pOptionMenu != null)
        {
+               __pOptionMenu->SetFocusable(true);
                __pOptionMenu->Invalidate(true);
                return r;
        }
@@ -756,6 +764,7 @@ MainForm::InitOptionMenu()
        r = __pOptionMenu->Construct();
        TryCatch(!IsFailed(r),,"Contextmenu creation failed with%s",GetErrorMessage(r));
 
+       __pOptionMenu->SetFocusable(true);
        isPrivateBrowsing = SettingPresentationModel::GetInstance()->GetPrivateOn();
 
 
@@ -816,6 +825,7 @@ result MainForm::InitImageContextMenu(Tizen::Graphics::Point p)
        __pImageMenu->SetMaxVisibleItemsCount(4);
        __pImageMenu->AddActionEventListener(*this);
        SetControlAlwaysOnTop(*__pImageMenu, true);
+       __pImageMenu->SetFocusable(true);
 
        CATCH: return r;
 }
@@ -844,14 +854,15 @@ MainForm::InitImageLinkContextMenu(Tizen::Graphics::Point p)
        r = __pImageMenu->Construct(p, CONTEXT_MENU_STYLE_LIST, direction);
        TryCatch(!IsFailed(r),, "Context image menu creation failed with%s",GetErrorMessage(r));
 
-       r = __pImageMenu->AddItem("Open in new window"/*CommonUtil::GetString(L"IDS_BR_OPT_COPY_IMAGE")*/,IDA_HYPERLINK_OPEN_CLICKED);
-       r = __pImageMenu->AddItem("Copy link URL"/*CommonUtil::GetString(L"IDS_DLNA_BODY_SHARE_IMAGE_ABB")*/,IDA_HYPERLINK_COPY_LINK_CLICKED);
+       r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_BODY_OPEN_IN_NEW_WINDOW"),IDA_HYPERLINK_OPEN_CLICKED);
+       r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_COPY_LINK_URL"),IDA_HYPERLINK_COPY_LINK_CLICKED);
        //r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SAVE_IMAGE"),IDA_HYPERLINK_SAVE_IMAGE_CLICKED);
        r = __pImageMenu->AddItem(CommonUtil::GetString(L"IDS_BR_OPT_SHARE"),IDA_HYPERLINK_SHARE_IMAGE_CLICKED);
 
        __pImageMenu->SetMaxVisibleItemsCount(3);
        __pImageMenu->AddActionEventListener(*this);
        SetControlAlwaysOnTop(*__pImageMenu, true);
+       __pImageMenu->SetFocusable(true);
 
        CATCH: return r;
 
@@ -900,6 +911,7 @@ MainForm::InitSelectTextContextMenu(Point p, bool pasteOption, bool onlyPasteOpt
        __pImageMenu->SetMaxVisibleItemsCount(3);
        __pImageMenu->AddActionEventListener(*this);
        SetControlAlwaysOnTop(*__pImageMenu, true);
+       __pImageMenu->SetFocusable(true);
 
        CATCH: return r;
 
@@ -948,6 +960,7 @@ MainForm::InitSelectTextContextMenuF(FloatPoint p, bool pasteOption, bool onlyPa
        __pImageMenu->SetMaxVisibleItemsCount(3);
        __pImageMenu->AddActionEventListener(*this);
        SetControlAlwaysOnTop(*__pImageMenu, true);
+       __pImageMenu->SetFocusable(true);
 
        CATCH: return r;
 
@@ -980,6 +993,11 @@ MainForm::InitFindWordPanel(void)
                                delete pBitmap;
                        }
                }
+               if(__pAddressbar)
+                       __pAddressbar->SetShowState(false);
+
+               if(__isKeypadOpened == false)
+                       __pFooterPanel->SetShowState(true);
                return r;
        }
 
@@ -1130,6 +1148,12 @@ MainForm::InitFindWordPanel(void)
        __pFindWordEditFieldRightToLeft->AddKeypadEventListener(*this);
        __pFindWordEditFieldRightToLeft->SetOverlayKeypadCommandButtonVisible(false);
        __pFindWordEditFieldRightToLeft->SetColor(EDIT_STATUS_HIGHLIGHTED, Color(0x00, 0x00, 0x00, 0x00));
+
+       if(__pAddressbar)
+               __pAddressbar->SetShowState(false);
+
+       if(__isKeypadOpened == false)
+               __pFooterPanel->SetShowState(true);
        return r;
 }
 
@@ -1165,7 +1189,7 @@ MainForm::CreateItem (int index, int itemWidth)
        if (pageURL.GetLength() == 0)
        {
                String nourl;
-               pAppResource->GetString(L"IDS_BR_BODY_ABOUT_C_BLANK", nourl);
+               pAppResource->GetString(L"IDS_BR_BODY_BLANK_PAGE", nourl);
                pageURL = L"<"+ nourl +">";
 
        }
@@ -1199,7 +1223,7 @@ MainForm::CreateItem (int index, int itemWidth)
        if ( pListIconImage != NULL)
        {
                listImageRect.SetBounds(screenBounds.x + 16, screenBounds.y + 28  + (__fontSize - 44)/2 , 72, 72);
-               pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 60  + (__fontSize - 44));
+               pagetTitleRect.SetBounds(listImageRect.x + 72 + 16,10, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 72  + (__fontSize - 44));
                pageURLRect.SetBounds(pagetTitleRect.x, pagetTitleRect.y + pagetTitleRect.height, screenBounds.width - 2 * pListIconImage->GetWidth() - 120, 48);
 
 
@@ -1281,6 +1305,7 @@ MainForm::GetItemCount (void)
 void
 MainForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
 {
+       AppLog("MainForm::OnListViewContextItemStateChanged called");
        if(__pMostVisitedSites != null)
        {
                History* pHistory = static_cast < History* >(__pMostVisitedSites->GetAt(index));
@@ -1326,8 +1351,12 @@ MainForm::OnTerminating(void)
        if(__pWebViewer)
        {
                __pWebViewer->RemoveTouchEventListener(*this);
+               __pWebViewer->SetWebUiEventListenerF(null);
+               __pWebViewer->SetWebKeypadEventListener(null);
+               __pWebViewer->SetTextSearchListener(null);
        }
 
+
        if (__pItemContext)
        {
                delete __pItemContext;
@@ -1358,6 +1387,11 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
        {
        case IDA_BACKBTN_CLICKED:
        {
+               if(__pImageMenu && __pImageMenu->GetShowState() == true)
+               {
+                       AppLog("Hiding the menu");
+                       __pImageMenu->SetShowState(false);
+               }
                if (__pWebViewer && __pWebViewer->CanGoBack())
                {
                        __pWebViewer->GoBack();
@@ -1368,6 +1402,21 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                        pApp = UiApp::GetInstance();
                        if (pApp != null)
                        {
+                               RemoveOrientationEventListener(*this);
+
+                               if(__pAddressbar)
+                               {
+                                       __pAddressbar->SetAddressbarEventListener(null);
+                               }
+
+                               if(__pWebViewer)
+                               {
+                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                       __pWebViewer->SetTextSearchListener(null);
+                                       __pWebViewer->SetLoadingListener(null);
+                               }
                                r = pApp->Terminate();
                                if (IsFailed(r))
                                {
@@ -1392,6 +1441,21 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                pApp = UiApp::GetInstance();
                                if (pApp != null)
                                {
+                                       RemoveOrientationEventListener(*this);
+
+                                       if(__pAddressbar)
+                                       {
+                                               __pAddressbar->SetAddressbarEventListener(null);
+                                       }
+
+                                       if(__pWebViewer)
+                                       {
+                                               __pWebViewer->RemoveTouchEventListener(*this);
+                                               __pWebViewer->SetWebUiEventListenerF(null);
+                                               __pWebViewer->SetWebKeypadEventListener(null);
+                                               __pWebViewer->SetTextSearchListener(null);
+                                               __pWebViewer->SetLoadingListener(null);
+                                       }
                                        r = pApp->Terminate();
                                        if (IsFailed(r))
                                        {
@@ -1412,6 +1476,21 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                        pApp = UiApp::GetInstance();
                                        if (pApp != null)
                                        {
+                                               RemoveOrientationEventListener(*this);
+
+                                               if(__pAddressbar)
+                                               {
+                                                       __pAddressbar->SetAddressbarEventListener(null);
+                                               }
+
+                                               if(__pWebViewer)
+                                               {
+                                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                                       __pWebViewer->SetTextSearchListener(null);
+                                                       __pWebViewer->SetLoadingListener(null);
+                                               }
                                                r = pApp->Terminate();
                                                if (IsFailed(r))
                                                {
@@ -1450,6 +1529,22 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                                        pApp = UiApp::GetInstance();
                                                        if (pApp != null)
                                                        {
+
+                                                               RemoveOrientationEventListener(*this);
+
+                                                               if(__pAddressbar)
+                                                               {
+                                                                       __pAddressbar->SetAddressbarEventListener(null);
+                                                               }
+
+                                                               if(__pWebViewer)
+                                                               {
+                                                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                                                       __pWebViewer->SetTextSearchListener(null);
+                                                                       __pWebViewer->SetLoadingListener(null);
+                                                               }
                                                                r = pApp->Terminate();
                                                                return;
                                                        }
@@ -1497,7 +1592,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                if(__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
                {
                        __pFindWordEditField->SetFocus();
-                       __pFindWordCountLabel->SetShowState(false);
+//                     __pFindWordCountLabel->SetShowState(false);
                }
                else
                {
@@ -1621,7 +1716,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                if (__pNotification != null)
                                {
                                        __pNotification->SetText(message);
-                                       __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
+                                       __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
                                        __pNotification->ShowNotification();
                                }
                        }
@@ -1651,7 +1746,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                if (__pNotification != null)
                                {
                                        __pNotification->SetText(message);
-                                       __pNotification->SetPositionDiff(__pFooterPanel->GetHeight());
+                                       __pNotification->SetPositionDiff(__pFooterPanel->GetHeight() - 12);
                                        __pNotification->ShowNotification();
                                        pBitmap = AppResource::GetInstance()->GetBitmapN(IDB_ICON_BOOKMARK_ON_TEMP);
                                }
@@ -1955,7 +2050,8 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                __pFindWordCountLabel->SetText(L"0/0");
                __pWebViewer->SearchText(L"aaaabbbbcccc",true);
                AppLog("akjshdasd 1");
-               __pFooterPanel->SetShowState(true);
+               if(__isKeypadOpened == false)
+                       __pFooterPanel->SetShowState(true);
                ShowFindWordPanel(false);
        }
        break;
@@ -1989,7 +2085,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                __currentSearchStr = L"";
                __pFindWordNext->SetEnabled(false);
                __pFindWordPrev->SetEnabled(false);
-               __pFindWordCountLabel->SetShowState(false);
+//             __pFindWordCountLabel->SetShowState(false);
                __pFindWordControl->Invalidate(true);
        }
        break;
@@ -2002,7 +2098,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                __currentSearchStr = L"";
                __pFindWordNext->SetEnabled(false);
                __pFindWordPrev->SetEnabled(false);
-               __pFindWordCountLabelRightToLeft->SetShowState(false);
+//             __pFindWordCountLabelRightToLeft->SetShowState(false);
                __pFindWordControl->Invalidate(true);
        }
        break;
@@ -2376,6 +2472,7 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                {
                        String idElement = __pHitElementResult->GetAttributeValue(L"id");
                        String nameElement = __pHitElementResult->GetAttributeValue(L"name");
+                       String tagElement  = __pHitElementResult->GetTagName();
                        AppLog("MainForm::IDA_PASTE_TEXT_CLICKED id is %ls",idElement.GetPointer());
 
                        String script;
@@ -2399,6 +2496,16 @@ MainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
                                script.Append(*pString);
                                script.Append("\");");
                        }
+                       else//adding for twitter post page
+                       {
+                               script = L"function insertAtCursor(myField, myValue) {  if (document.selection) {   document.getElementsByTagName(myField)[0].focus();   sel = document.selection.createRange();   sel.text = myValue;  }   else if (myField.selectionStart || myField.selectionStart == '0'){   var startPos = myField.selectionStart;   var endPos = myField.selectionEnd;   myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length);   } else {    document.getElementsByTagName(myField)[0].value += myValue;   }  } ";
+                               script.Append("insertAtCursor(document.getElementsByTagName('");
+                               script.Append(tagElement);
+                               script.Append("')[0],");
+                               script.Append("\"");
+                               script.Append(*pString);
+                               script.Append("\");");
+                       }
                        AppLog("MainForm::OnTouchLongPressed script is %ls",script.GetPointer());
                        String* pStr = __pWebViewer->EvaluateJavascriptN(script);
                        delete pStr;
@@ -2479,6 +2586,11 @@ void
 MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
 {
        result r = E_FAILURE;
+       if(__pImageMenu && __pImageMenu->GetShowState() == true)
+       {
+               AppLog("Hiding the menu");
+               __pImageMenu->SetShowState(false);
+       }
        if (__pWebViewer && __pWebViewer->CanGoBack())
        {
                __pWebViewer->GoBack();
@@ -2489,6 +2601,21 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
                pApp = UiApp::GetInstance();
                if (pApp != null)
                {
+                       RemoveOrientationEventListener(*this);
+
+                       if(__pAddressbar)
+                       {
+                               __pAddressbar->SetAddressbarEventListener(null);
+                       }
+
+                       if(__pWebViewer)
+                       {
+                               __pWebViewer->RemoveTouchEventListener(*this);
+                               __pWebViewer->SetWebUiEventListenerF(null);
+                               __pWebViewer->SetWebKeypadEventListener(null);
+                               __pWebViewer->SetTextSearchListener(null);
+                               __pWebViewer->SetLoadingListener(null);
+                       }
                        r = pApp->Terminate();
                        if (IsFailed(r))
                        {
@@ -2513,6 +2640,21 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
                        pApp = UiApp::GetInstance();
                        if (pApp != null)
                        {
+                               RemoveOrientationEventListener(*this);
+
+                               if(__pAddressbar)
+                               {
+                                       __pAddressbar->SetAddressbarEventListener(null);
+                               }
+
+                               if(__pWebViewer)
+                               {
+                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                       __pWebViewer->SetTextSearchListener(null);
+                                       __pWebViewer->SetLoadingListener(null);
+                               }
                                r = pApp->Terminate();
                                if (IsFailed(r))
                                {
@@ -2533,6 +2675,21 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
                                pApp = UiApp::GetInstance();
                                if (pApp != null)
                                {
+                                       RemoveOrientationEventListener(*this);
+
+                                       if(__pAddressbar)
+                                       {
+                                               __pAddressbar->SetAddressbarEventListener(null);
+                                       }
+
+                                       if(__pWebViewer)
+                                       {
+                                               __pWebViewer->RemoveTouchEventListener(*this);
+                                               __pWebViewer->SetWebUiEventListenerF(null);
+                                               __pWebViewer->SetWebKeypadEventListener(null);
+                                               __pWebViewer->SetTextSearchListener(null);
+                                               __pWebViewer->SetLoadingListener(null);
+                                       }
                                        r = pApp->Terminate();
                                        if (IsFailed(r))
                                        {
@@ -2571,6 +2728,21 @@ MainForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
                                                pApp = UiApp::GetInstance();
                                                if (pApp != null)
                                                {
+                                                       RemoveOrientationEventListener(*this);
+
+                                                       if(__pAddressbar)
+                                                       {
+                                                               __pAddressbar->SetAddressbarEventListener(null);
+                                                       }
+
+                                                       if(__pWebViewer)
+                                                       {
+                                                               __pWebViewer->RemoveTouchEventListener(*this);
+                                                               __pWebViewer->SetWebUiEventListenerF(null);
+                                                               __pWebViewer->SetWebKeypadEventListener(null);
+                                                               __pWebViewer->SetTextSearchListener(null);
+                                                               __pWebViewer->SetLoadingListener(null);
+                                                       }
                                                        r = pApp->Terminate();
                                                        return;
                                                }
@@ -2603,11 +2775,10 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
        MultipleWindowPresentationModel::GetInstance()->GetValue(SELECTED_SCENE_ID, &pValue);
        pSelectedScene = (String*) pValue;
 
-       // removed because some times crash is happening here
-       /*if (pSelectedScene != null)
+       if (pSelectedScene != null)
        {
                delete pSelectedScene;
-       }*/
+       }
        MultipleWindowPresentationModel::GetInstance()->SetValue(SELECTED_SCENE_ID, null);
        String* selectedSceneID = new(std::nothrow) String(currentSceneId);
        AppLogDebug("current scene id is %ls", currentSceneId.GetPointer());
@@ -2633,12 +2804,6 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
                __pWindowInfo = dynamic_cast< WindowInfo* >(pArgs->GetAt(0));
        }
 
-       if (selectedSceneID)
-       {
-               delete selectedSceneID;
-               selectedSceneID = null;
-       }
-
        InitFooter();
        InitAddressbar();
 
@@ -2658,7 +2823,11 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
        }
        else if(__pWindowInfo != null)
        {
-               if(__pWindowInfo->pageUrl.GetLength() > 0 &&previousSceneId != IDSCN_BRIGHTNESS && previousSceneId != IDSCN_HISTORY_LIST && previousSceneId != IDSCN_MULTIPLE_WINDOW && previousSceneId != IDSCN_MULTIPLE_WINDOW_GRID && previousSceneId != IDSCN_BOOKMARK_VIEW && previousSceneId != IDSCN_SETTINGS && previousSceneId != IDSCN_MAIN_VIEW)
+               if(__pWindowInfo->pageUrl.GetLength() > 0 &&previousSceneId != IDSCN_BRIGHTNESS && previousSceneId != IDSCN_HISTORY_LIST && previousSceneId != IDSCN_MULTIPLE_WINDOW && previousSceneId != IDSCN_MULTIPLE_WINDOW_GRID && previousSceneId != IDSCN_BOOKMARK_VIEW && previousSceneId != IDSCN_SETTINGS && previousSceneId.Contains(IDSCN_MAIN_VIEW) == false)
+               {
+                       LoadUrl(__pWindowInfo->pageUrl);
+               }
+               else if(__pWindowInfo->pageUrl.GetLength() > 0 && __pWindowInfo->isAppcontrolTriggered == true)
                {
                        LoadUrl(__pWindowInfo->pageUrl);
                }
@@ -2745,6 +2914,7 @@ MainForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
                delete pBitmap;
        }
 
+       RelayoutControls(false);
        AppLog("ABC: OnSceneActivatedN started exit");
 
 }
@@ -2789,6 +2959,8 @@ MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
        WindowInfo::pFormCanvasBitmap->Construct(*pCanvas,Rectangle(0,0,GetClientAreaBounds().width,GetClientAreaBounds().height - __pFooterPanel->GetHeight()));
        delete pCanvas;
        delete pWebCanvas;
+       if(__pAddressbar)
+               __pAddressbar->SetShowState(false);
        AppLog("Coming here");
 }
 
@@ -2941,6 +3113,7 @@ void
 MainForm::OnKeypadOpened(Tizen::Ui::Control& source)
 {
        AppLog("XYZ::MainForm::OnKeypadOpened");
+       __isKeypadOpened = true;
        __pFooterPanel->SetShowState(false);
 
 }
@@ -2949,6 +3122,7 @@ void
 MainForm::OnKeypadClosed(Tizen::Ui::Control& source)
 {
        AppLog("XYZ::MainForm::OnKeypadClosed");
+       __isKeypadOpened = false;
        __pFooterPanel->SetShowState(true);
        RelayoutControls(true);
 }
@@ -3265,6 +3439,56 @@ MainForm::LoadUrl(String& url)
 }
 
 void
+MainForm::OnFocusGained(const Tizen::Ui::Control& source)
+{
+       AppLog("MainForm::OnFocusGained");
+       if(__pFooterPanel)
+       {
+               __pFooterPanel->SetShowState(false);
+       }
+
+       if(__pAddressbar)
+       {
+               __pAddressbar->SetShowState(true);
+               __pAddressbar->SetAddressbarURLFocus();
+       }
+       if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
+       {
+               __currentSearchStr = L"";
+               __currentWordIndex = 0;
+               __maxOccurrances = 0;
+
+               if (__pFindWordPanelLeftToRight && __pFindWordPanelLeftToRight->GetShowState() == true)
+               {
+                       __pFindWordEditField->SetText(L"");
+                       __pFindWordEditField->HideKeypad();
+                       __pFindWordControl->SetShowState(false);
+                       __pFindWordCountLabel->SetText(L"0/0");
+               }
+               else if(__pFindWordPanelRightToLeft && __pFindWordPanelRightToLeft->GetShowState() == true)
+               {
+                       __pFindWordEditFieldRightToLeft->SetText(L"");
+                       __pFindWordEditFieldRightToLeft->HideKeypad();
+                       __pFindWordControl->SetShowState(false);
+                       __pFindWordCountLabelRightToLeft->SetText(L"0/0");
+               }
+
+               __pFindWordNext->SetEnabled(false);
+               __pFindWordPrev->SetEnabled(false);
+
+               __pWebViewer->SearchText(L"aaaabbbbcccc",true);
+               __pFindWordControl->SetShowState(false);
+       }
+       RelayoutControls(false);
+}
+
+void
+MainForm::OnFocusLost(const Tizen::Ui::Control& source)
+{
+       AppLog("MainForm::OnFocusLost called");
+}
+
+void
 MainForm::OnStopClicked(Addressbar& addBar)
 {
        AppLogDebug("MainForm::OnStopClicked called");
@@ -3280,8 +3504,13 @@ MainForm::OnStopClicked(Addressbar& addBar)
 void
 MainForm::OnBackClicked(/*const Addressbar& addBar*/)
 {
-//     AppLog("MainForm::OnBackClicked");
+       //      AppLog("MainForm::OnBackClicked");
        result r = E_FAILURE;
+       if(__pImageMenu && __pImageMenu->GetShowState() == true)
+       {
+               AppLog("Hiding the menu");
+               __pImageMenu->SetShowState(false);
+       }
 
        if (__pWebViewer && __pWebViewer->CanGoBack())
        {
@@ -3293,6 +3522,24 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/)
                pApp = UiApp::GetInstance();
                if (pApp != null)
                {
+
+                       RemoveOrientationEventListener(*this);
+
+                       if(__pAddressbar)
+                       {
+                               __pAddressbar->SetAddressbarEventListener(null);
+                       }
+
+                       if(__pWebViewer)
+                       {
+                               __pWebViewer->RemoveTouchEventListener(*this);
+                               __pWebViewer->SetWebUiEventListenerF(null);
+                               __pWebViewer->SetWebKeypadEventListener(null);
+                               __pWebViewer->SetTextSearchListener(null);
+                               __pWebViewer->SetLoadingListener(null);
+                       }
+
+
                        r = pApp->Terminate();
                        if (IsFailed(r))
                        {
@@ -3317,6 +3564,23 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/)
                        pApp = UiApp::GetInstance();
                        if (pApp != null)
                        {
+                               RemoveOrientationEventListener(*this);
+
+                               if(__pAddressbar)
+                               {
+                                       __pAddressbar->SetAddressbarEventListener(null);
+                               }
+
+                               if(__pWebViewer)
+                               {
+                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                       __pWebViewer->SetTextSearchListener(null);
+                                       __pWebViewer->SetLoadingListener(null);
+                               }
+
+
                                r = pApp->Terminate();
                                if (IsFailed(r))
                                {
@@ -3337,6 +3601,23 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/)
                                pApp = UiApp::GetInstance();
                                if (pApp != null)
                                {
+                                       RemoveOrientationEventListener(*this);
+
+                                       if(__pAddressbar)
+                                       {
+                                               __pAddressbar->SetAddressbarEventListener(null);
+                                       }
+
+                                       if(__pWebViewer)
+                                       {
+                                               __pWebViewer->RemoveTouchEventListener(*this);
+                                               __pWebViewer->SetWebUiEventListenerF(null);
+                                               __pWebViewer->SetWebKeypadEventListener(null);
+                                               __pWebViewer->SetTextSearchListener(null);
+                                               __pWebViewer->SetLoadingListener(null);
+                                       }
+
+
                                        r = pApp->Terminate();
                                        if (IsFailed(r))
                                        {
@@ -3373,6 +3654,23 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/)
                                        pApp = UiApp::GetInstance();
                                        if (pApp != null)
                                        {
+                                               RemoveOrientationEventListener(*this);
+
+                                               if(__pAddressbar)
+                                               {
+                                                       __pAddressbar->SetAddressbarEventListener(null);
+                                               }
+
+                                               if(__pWebViewer)
+                                               {
+                                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                                       __pWebViewer->SetTextSearchListener(null);
+                                                       __pWebViewer->SetLoadingListener(null);
+                                               }
+
+
                                                r = pApp->Terminate();
                                                return;
                                        }
@@ -3383,6 +3681,23 @@ MainForm::OnBackClicked(/*const Addressbar& addBar*/)
                                        pApp = UiApp::GetInstance();
                                        if (pApp != null)
                                        {
+                                               RemoveOrientationEventListener(*this);
+
+                                               if(__pAddressbar)
+                                               {
+                                                       __pAddressbar->SetAddressbarEventListener(null);
+                                               }
+
+                                               if(__pWebViewer)
+                                               {
+                                                       __pWebViewer->RemoveTouchEventListener(*this);
+                                                       __pWebViewer->SetWebUiEventListenerF(null);
+                                                       __pWebViewer->SetWebKeypadEventListener(null);
+                                                       __pWebViewer->SetTextSearchListener(null);
+                                                       __pWebViewer->SetLoadingListener(null);
+                                               }
+
+
                                                r = pApp->Terminate();
                                                return;
                                        }
@@ -3444,15 +3759,6 @@ MainForm::OnAddressBarFocusLost(const Addressbar& addBar, bool addressbarKeyPadS
        int Height = GetClientAreaBounds().height;
        AppLog("MainForm::OnAddressBarFocusLost height is %d",Height);
 
-       if(__pAddressbar)
-               __pAddressbar->SetShowState(false);
-
-               if (__pFooterPanel != null && addressbarKeyPadState == false)
-               {
-                       AppLog("akjshdasd 3");
-                       __pFooterPanel->SetShowState(true);
-               }
-
        RelayoutControls(false);
 }
 
@@ -3618,6 +3924,11 @@ MainForm::UpdateFavicon(void)
                                        __pAddressbar->SetFaviconBitmap(*pDefaultBmp);
                                }
                        }
+                       if(pBitmap)
+                       {
+                               delete pBitmap;
+                               pBitmap = null;
+                       }
                }
                delete tempPath;
        }
@@ -3726,6 +4037,8 @@ MainForm::OnWebDataReceived(const Tizen::Base::String& mime,
 void
 MainForm::OnWebPageBlockSelected(Web& source, FloatPoint& startPoint, FloatPoint& endPoint)
 {
+       if(__isLongPressedDone == false)
+               return;
        AppLog("MainForm::OnWebPageBlockSelected");
        if (__pHitElementResult != null)
        {
@@ -3879,6 +4192,7 @@ MainForm::RelayoutControls(bool showAddressbar,bool relayoutFooter)
                else
                {
                        __pWebViewer->SetBounds(0, __webControlPosition.y, GetClientAreaBounds().width, __webControlHeight + 12);
+                       AppLog("xyz:: MainForm::RelayoutControls called __webControlHeight %d",__webControlHeight);
                        __pWebViewer->Invalidate(false);
                }
        }
@@ -3918,7 +4232,7 @@ MainForm::ShowFindWordPanel(bool show , bool isTouchPressed)
                        __pFindWordPanelRightToLeft->SetShowState(true);
 
                        __pFindWordClear->SetShowState(false);
-                       __pFindWordCountLabel->SetShowState(false);
+//                     __pFindWordCountLabel->SetShowState(false);
                        __pFindWordEditField->SetShowState(false);
 
                        __pFindWordClearRightToLeft->SetShowState(true);
@@ -4158,7 +4472,7 @@ void
 MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
 {
        AppLog("xyz::MainForm::OnWebKeypadWillOpen");
-       __isWebKeypadOpened = true;
+       __isKeypadOpened = true;
        __pFooterPanel->SetShowState(false);
        //      OnAddressBarKeypadOpened(*__pAddressbar);
 }
@@ -4166,6 +4480,7 @@ MainForm::OnWebKeypadWillOpen(Tizen::Web::Controls::Web& source)
 void
 MainForm::OnWebKeypadOpened(Tizen::Web::Controls::Web& source)
 {
+       __isKeypadOpened = true;
        AppLog("xyz::MainForm::OnWebKeypadOpened");
 
        if(__pFindWordControl && __pFindWordControl->GetShowState() == true)
@@ -4213,7 +4528,7 @@ MainForm::OnWebKeypadClosed(Tizen::Web::Controls::Web& source)
        __pFooterPanel->SetShowState(true);
 //     OnAddressBarKeypadClosed(*__pAddressbar);
        RelayoutControls(false);
-       __isWebKeypadOpened = false;
+       __isKeypadOpened = false;
 }
 
 void
@@ -4315,9 +4630,9 @@ void MainForm::OnTouchLongPressed(const Tizen::Ui::Control& source, const Tizen:
 
 
 
-               //__isLongPressedDone = true;
+               __isLongPressedDone = true;
                result r =__pWebViewer->SetBlockSelectionPosition(currentPosition);
-               if (((tagName.CompareTo(L"INPUT") == 0)  || tagName.CompareTo(L"TEXTAREA") == 0) && innerHtml.GetLength() == 0 /*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.CompareTo(L"") == 0 && r == E_INVALID_ARG)
+               if (((tagName.CompareTo(L"INPUT") == 0)  || tagName.CompareTo(L"TEXTAREA") == 0) && innerHtml.GetLength() == 0  && type.CompareTo(L"submit") !=0/*&& __isWebKeypadOpened == true*/ && __currentSelectedStr.CompareTo(L"") == 0 && r == E_INVALID_ARG)
                {
                        AppLog("MainForm::OnWebPageBlockSelected show paste option");
 
@@ -4344,6 +4659,10 @@ MainForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphic
        {
                __pAddressbar->SetShowState(false);
        }
+       if(__pFooterPanel && __isKeypadOpened == false)
+       {
+               __pFooterPanel->SetShowState(true);
+       }
 
        // Not reuired now.
        /*HitElementResult* pHitElement = __pWebViewer->GetElementByPointN(currentPosition);
@@ -4395,13 +4714,14 @@ MainForm::OnTouchReleased(Tizen::Ui::Control& source, const Tizen::Ui::TouchEven
                __pWebViewer->SearchText(L"aaaabbbbcccc",true);
                __pFindWordControl->SetShowState(false);
        }
+       AppLog("__pAddressbar->GetShowState() %d",__pAddressbar->GetShowState());
        if(__pAddressbar->GetShowState() == false)
        {
                __pAddressbar->SetAddressbarURLFocus();
                __pFooterPanel->SetShowState(false);
        }
 
-       return true;
+       return false;
 }
 
 bool
@@ -4450,6 +4770,20 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori
 
 //     if(__pFindWordControl != null)
 //             ShowFindWordPanel(__pFindWordControl->GetShowState(), false);
+
+       if(__pOptionMenu && __pOptionMenu->GetShowState() == true)
+       {
+               if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE)
+               {
+                       AppLog(" Orientation landscape");
+                       __pOptionMenu->SetMaxVisibleItemsCount(5);
+               }
+               else
+               {
+                       AppLog(" Orientation potrait");
+                       __pOptionMenu->SetMaxVisibleItemsCount(6);
+               }
+       }
        if(__pNotification && __pNotification->GetShowState() == true)
        {
                __pNotification->SetShowState(false);
@@ -4487,8 +4821,8 @@ MainForm::OnOrientationChanged (const Tizen::Ui::Control &source, Tizen::Ui::Ori
        }
 
 
-       if(__pOptionMenu != null)
-               __pOptionMenu->SetShowState(false);
+//     if(__pOptionMenu != null)
+//             __pOptionMenu->SetShowState(false);
 
        if( GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
        {
@@ -4776,7 +5110,7 @@ MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics
                AppLog("MainForm::OnTouchPressed %d",__pFindWordControl->GetShowState());
 //             ShowFindWordPanel(__pFindWordControl->GetShowState(), true);
        }
-       //__isLongPressedDone = false;
+       __isLongPressedDone = false;
 
 
 
@@ -4830,7 +5164,13 @@ MainForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics
                delete pList;
        }
        if(__pAddressbar)
+       {
                __pAddressbar->SetShowState(false);
+       }
+       if(__pFooterPanel && __isKeypadOpened == false)
+       {
+               __pFooterPanel->SetShowState(true);
+       }
        RelayoutControls(false);
        return;
 }
@@ -4839,7 +5179,7 @@ void
 MainForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
 {
 //     __currentWordIndex = 0;
-       //__isLongPressedDone = false;
+       __isLongPressedDone = false;
 
 }
 
@@ -4871,7 +5211,10 @@ MainForm::OnTextValueChanged (const Tizen::Ui::Control &source)
                }
                else
                {
-                       __pFindWordCountLabel->SetShowState(false);
+//                     __pFindWordCountLabel->SetShowState(false);
+                       __pFindWordCountLabel->SetBounds(__pFindWordCountLabel->GetX(),__pFindWordCountLabel->GetY(),84,__pFindWordCountLabel->GetHeight());
+                       __pFindWordEditField->SetBounds(__pFindWordEditField->GetX(),__pFindWordEditField->GetY(),214+80,__pFindWordEditField->GetHeight());
+
                }
                __pFindWordNext->SetEnabled(false);
                __pFindWordPrev->SetEnabled(false);
@@ -4970,7 +5313,7 @@ MainForm::InitMostVisitedSitesView(Tizen::Ui::OrientationStatus orientationStatu
        }
        __pMostVisitedListView->SetItemProvider(*this);
        __pMostVisitedListView->AddListViewItemEventListener(*this);
-       __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_RECENTLY_VISITED_SITES"));
+       __pMostVisitedListView->SetTextOfEmptyList(CommonUtil::GetString(L"IDS_BR_BODY_NO_VISITED_SITES"));
        AddControl(__pMostVisitedListView);
        __pMostVisitedListView->UpdateList();
 
@@ -5043,20 +5386,21 @@ void MainForm::UpdateImageContent(ByteBuffer* aBuffer, String imageName)
        contentPath.Append(imageName);
        contentPath.Append(".jpg");
        contentId = contentManager.CreateContent(*aBuffer, contentPath);
-       ShowIndicatorNotification(L"Download Complete");
+       ShowIndicatorNotification(L"Download Complete",contentPath);
        AppLog("Content manager update content result %s" ,GetErrorMessage(GetLastResult()));
 }
 
 void
-MainForm::ShowIndicatorNotification(const String& messageText)
+MainForm::ShowIndicatorNotification(const String& messageText, const String& contentPath)
 {
        AppLogDebug("ENTER");
 
        NotificationRequest request;
        request.SetAlertText(messageText);
        request.SetTitleText(L"");
-       request.SetAppMessage(L"AppMessage");
-
+       request.SetAppMessage(contentPath);
+       request.SetOngoingActivityType(ONGOING_ACTIVITY_TYPE_TEXT);
+       request.SetNotificationStyle(NOTIFICATION_STYLE_THUMBNAIL);
        Tizen::App::App* pApp = Tizen::App::App::GetInstance();
        String homePath = pApp->GetAppRootPath();
        String iconPath = homePath + L"res/screen-density-xhigh/Notification_download_complete.png";
@@ -5066,7 +5410,6 @@ MainForm::ShowIndicatorNotification(const String& messageText)
        Tizen::Shell::NotificationManager notiMgr;
        notiMgr.Construct();
        notiMgr.Notify(request);
-
        AppLogDebug("EXIT: %s", GetErrorMessage(GetLastResult()));
        return;
 }
@@ -5356,6 +5699,10 @@ MainForm::OnUserEventReceivedN (RequestId requestId, Tizen::Base::Collection::IL
                {
                        __pWebViewer->Pause();
                }
+               if(__pImageMenu)
+               {
+                       __pImageMenu->SetShowState(false);
+               }
                if(__pAddressbar != null)
                {
                        __pAddressbar->SendUserEvent(BACK_GROUND_APP_EVENT,NULL);
@@ -5383,8 +5730,8 @@ MainForm::AddressBarCancelledClicked(const Addressbar& addBar)
        if (__pAddressbar)
                __pAddressbar->SetShowState(false);
 
-       //AppLog("akjshdasd 5");
-       //__pFooterPanel->SetShowState(true);
+       AppLog("akjshdasd 5");
+       __pFooterPanel->SetShowState(true);
 
        if(__pWebViewer)
                __pWebViewer->SetFocus();
@@ -5405,7 +5752,7 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
 {
        AppLog("MainForm::OnFormMenuRequested called");
        InitOptionMenu();
-       if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer->GetShowState() == true)
+       if (__pWindowInfo != NULL && __pWindowInfo->pageUrl != NULL && __pWebViewer && __pWebViewer->GetShowState() == true)
        {
                int bookmarkCount=0;
                bool exist = false;
@@ -5415,7 +5762,7 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
                result r = E_SUCCESS;
                Bitmap* pBitmap = null;
                String lastChar = L"";
-               if(url.SubString(url.GetLength()-1,lastChar));
+//             if(url.SubString(url.GetLength()-1,lastChar));
 //             if(lastChar == L"/")
 //             {
 //                     bool exist1 = false;
@@ -5484,7 +5831,12 @@ MainForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
                delete pBitmap;
        }
        AppLogDebug("ONACTION_PERFORMED:IDA_MOREBTN_CLICKED end");
-       __pOptionMenu->SetShowState(true);
+       if(__pAddressbar)
+               __pAddressbar->SetShowState(false);
+       SetFocus();
+       __pFooterPanel->SetShowState(true);
+       result r = __pOptionMenu->SetShowState(true);
+       AppLog("ajsghd %s",GetErrorMessage(r));
        __pOptionMenu->Invalidate(true);
        __pOptionMenu->Show();