[webkit-dev] Question about WML support

tonikitoo (Antonio Gomes) tonikitoo at gmail.com
Wed Mar 24 09:02:42 PDT 2010


Hi

It sounds like a bug. Please file one in bugs.webkit.org , preferable
with test case and detailed steps to reproduce, specifying also which
port and platform are you running.

2010/3/23 巴丁-Partin <xytsoft at gmail.com>:
> 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
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
>



-- 
--Antonio Gomes


More information about the webkit-dev mailing list