bool ViewNavigationDelegate::ClickElementById(const char* id) { EAW_ASSERT(id); if(!id || !id[0]) return false; IOverlayInputClient* pOverlayInputClient = mView->GetOverlayInputClient(); if(pOverlayInputClient) pOverlayInputClient->OnFocusChangeEvent(false); bool elementClicked = false; WebCore::Frame* pFrame = mView->GetFrame(); while(pFrame) { WebCore::Document* document = pFrame->document(); EAW_ASSERT(document); if (document) { WebCore::Element* element = document->getElementById(id); if (element && element->isHTMLElement()) { WebCore::HTMLElement* htmlElement = (WebCore::HTMLElement*)element; htmlElement->click(); elementClicked = true; } } if(elementClicked) break; pFrame = pFrame->tree()->traverseNext(); } return elementClicked; }