[webkit-dev] Question about WML support
巴丁-Partin
xytsoft at gmail.com
Tue Mar 23 20:17:20 PDT 2010
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++
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20100324/533cdc29/attachment.html>
More information about the webkit-dev
mailing list