Is that anyone working with WML in webkit? 
I use webkit to open the wml page, meet a fata error. 
In file:"WebCore\rendering\RenderTextControlSingleLine.cpp",the 
"inputElement()" return NULL value,that cause "inputElement()->isSearchField()" 
access memory error. 
I trace into "InputElement.cpp", find that in 
"toInputElement()":"element->hasTagName(WMLNames::inputTag)",the "hasTagName()" 
return "false". 


Related wml code is:
"<input type="text" name="search_phone" emptyok="true" value="" />"


And the current node("element") is "input".


Folloing is the call tack:
WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded()  Line443 + 0x14 
Bytes     C++
WebCore::RenderTextControlSingleLine::updateFromElement()  Line473      C++
WebCore::WMLInputElement::attach()  Line236 + 0x26 Bytes        C++
WebCore::XMLTokenizer::startElementNs(const unsigned char * 
xmlLocalName=0x0be22a83, const unsigned char * xmlPrefix=0x00000000, const 
unsigned char * xmlURI=0x00000000, int nb_namespaces=0, const unsigned char * * 
libxmlNamespaces=0x00000000, int nb_attributes=4, int nb_defaulted=0, const 
unsigned char * * libxmlAttributes=0x0be23ed0)  Line766 + 0x26 Bytes C++
WebCore::startElementNsHandler(void * closure=0x0bdabc48, const unsigned char * 
localname=0x0be22a83, const unsigned char * prefix=0x00000000, const unsigned 
char * uri=0x00000000, int nb_namespaces=0, const unsigned char * * 
namespaces=0x00000000, int nb_attributes=4, int nb_defaulted=0, const unsigned 
char * * libxmlAttributes=0x0be23ed0)  Line1001        C++
xmlParseStartTag2(_xmlParserCtxt * ctxt=0x0bdabc48, const unsigned char * * 
pref=0x0eb3d5d8, const unsigned char * * URI=0x0eb3d5cc, int * tlen=0x0eb3d650) 
 Line9002 + 0x37 Bytes      C
xmlParseTryOrFinish(_xmlParserCtxt * ctxt=0x0bdabc48, int terminate=0)  
Line10714 + 0x1b Bytes  C
xmlParseChunk(_xmlParserCtxt * ctxt=0x0bdabc48, const char * chunk=0x18a2b5ca, 
int size=2614, int terminate=0)  Line11446 + 0xd Bytes   C
WebCore::XMLTokenizer::doWrite(const WebCore::String & parseString={...})  
Line628 + 0x22 Bytes C++
WebCore::XMLTokenizer::write(const WebCore::SegmentedString & s={...}, bool 
__formal=true)  Line107 + 0x18 Bytes        C++
WebCore::FrameLoader::write(const char * str=0x0be108db, int len=1419, bool 
flush=false)  Line1035 + 0x27 Bytes C++
WebCore::FrameLoader::addData(const char * bytes=0x0be108db, int length=1419)  
Line1824 C++
WebKit::FrameLoaderClient::committedLoad(WebCore::DocumentLoader * 
loader=0x187fab80, const char * data=0x0be108db, int length=1419)  Line205   C++
WebCore::FrameLoader::committedLoad(WebCore::DocumentLoader * 
loader=0x187fab80, const char * data=0x0be108db, int length=1419)  Line3626 + 
0x26 Bytes  C++
WebCore::DocumentLoader::commitLoad(const char * data=0x0be108db, int 
length=1419)  Line363     C++
WebCore::DocumentLoader::receivedData(const char * data=0x0be108db, int 
length=1419)  Line375   C++
WebCore::FrameLoader::receivedData(const char * data=0x0be108db, int 
length=1419)  Line2429     C++
WebCore::MainResourceLoader::addData(const char * data=0x0be108db, int 
length=1419, bool allAtOnce=false)  Line149      C++
WebCore::ResourceLoader::didReceiveData(const char * data=0x0be108db, int 
length=1419, __int64 lengthReceived=0, bool allAtOnce=false)  Line257 + 0x1c 
Bytes    C++
WebCore::MainResourceLoader::didReceiveData(const char * data=0x0be108db, int 
length=1419, __int64 lengthReceived=0, bool allAtOnce=false)  Line351     C++
WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle * 
__formal=0x18850ff0, const char * data=0x0be108db, int length=1419, int 
lengthReceived=0)  Line411 + 0x1f Bytes       C++
WebCore::writeCallback(void * ptr=0x0be108db, unsigned int size=1, unsigned int 
nmemb=1419, void * data=0x18850ff0)  Line144 + 0x31 Bytes       C++
Curl_client_write(connectdata * conn=0x0bda7848, int type=1, char * 
ptr=0x0be108db, unsigned int len=1419)  Line418 + 0x21 Bytes        C
readwrite_data(SessionHandle * data=0x0be10310, connectdata * conn=0x0bda7848, 
SingleRequest * k=0x0be10324, int * didwhat=0x0eb3ea58, char * done=0x0eb3ebc3) 
 Line690 + 0x16 Bytes    C
Curl_readwrite(connectdata * conn=0x0bda7848, char * done=0x0eb3ebc3)  Line1683 
+ 0x19 Bytes    C
multi_runsingle(Curl_multi * multi=0x0bd89860, Curl_one_easy * easy=0x0bda5230) 
 Line1298 + 0x10 Bytes  C
curl_multi_perform(void * multi_handle=0x0bd89860, int * 
running_handles=0x0eb3ee98)  Line1516 + 0xd Bytes      C
WebCore::ResourceHandleManager::downloadTimerCallback(WebCore::Timer<WebCore::ResourceHandleManager>
 * timer=0x16d2fec0)  Line302 + 0x13 Bytes  C++
WebCore::Timer<WebCore::ResourceHandleManager>::fired()  Line93 + 0x37 Bytes    
C++
WebCore::ThreadTimers::fireTimers(double fireTime=1269398709.1910868, const 
WTF::Vector<WebCore::TimerBase *,0> & firingTimers={...})  Line113 + 0xf Bytes  
    C++
WebCore::ThreadTimers::sharedTimerFiredInternal()  Line145      C++
WebCore::ThreadTimers::sharedTimerFired()  Line125      C++
WebCore::WebKitTimer::onnotify()  Line65 + 0x8 Bytes    C++
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to