[webkit-dev] Webkit (Mobile Safari) issues in the iPhone

Diego Taylor diego.taylor at gmail.com
Wed Oct 15 15:21:16 PDT 2008


I am aware that this mailing list is not specifically oriented to the
Apple's iphone mobile safari implementation, but I am confident that some
people on this list can give me some hints on how to solve this issue.

In a nutshell I have issues updating the DOM. I have a rich text edit and to
simulate the text selection I have enclosed the text in a tag with a
background colour.
All this is done in javascript but if i do not send (after it in
Objective-C) a setSelectionToStart message to the text view It comes back
with something like this (the same issue can occur in some few places but
always ends in the same place):

#0  0x3272e30f in std::__push_heap<WebCore::TimerHeapIterator, int,
WebCore::TimerHeapElement> ()
#1  0x327389d6 in std::__adjust_heap<WebCore::TimerHeapIterator, int,
WebCore::TimerHeapElement> ()
#2  0x32738978 in WebCore::TimerBase::heapPopMin ()
#3  0x326b5acc in WebCore::TimerBase::setNextFireTime ()
#4  0x326b58c1 in WebCore::TimerBase::stop ()
#5  0x32739fde in WebCore::FrameView::layout ()
#6  0x3275cea7 in WebCore::Frame::forceLayout ()
#7  0x3275ce4c in -[WebCoreFrameBridge forceLayoutAdjustingViewSize:] ()
#8  0x32de6cbd in -[WebHTMLView
layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:] ()
#9  0x32de6b34 in -[WebHTMLView layout] ()
#10 0x32a7caae in WKViewLayout ()
#11 0x30bc16d0 in -[UIWebDocumentView layoutBeforeDraw] ()
#12 0x30ae23e9 in -[UITiledView layoutSubviews] ()
#13 0x30bbb66c in -[UIWebDocumentView layoutSubviews] ()
#14 0x31e87278 in -[CALayer layoutSublayers] ()
#15 0x31e871a8 in CALayerLayoutIfNeeded ()
#16 0x31e9f639 in -[CALayer layoutIfNeeded] ()
#17 0x31e9e92d in -[CALayer renderInContext:] ()
#18 0x30b6ff5c in -[UITextLoupe drawRect:] ()
#19 0x30a82df1 in -[UIView(CALayerDelegate) drawLayer:inContext:] ()
#20 0x31e951fe in -[CALayer drawInContext:] ()
#21 0x31e951a7 in backing_callback ()
#22 0x31e94db7 in CABackingStoreUpdate ()
#23 0x31e9442e in -[CALayer _display] ()
#24 0x31e887d1 in CALayerDisplayIfNeeded ()
#25 0x31e86b3f in CAContextCommitTransaction ()
#26 0x31e86853 in CATransactionCommit ()
#27 0x95aea9c2 in __CFRunLoopDoObservers ()
#28 0x95aec424 in CFRunLoopRunSpecific ()
#29 0x95aeccf8 in CFRunLoopRunInMode ()
#30 0x31699d38 in GSEventRunModal ()
#31 0x31699dfd in GSEventRun ()
#32 0x30a5dadb in -[UIApplication _run] ()
#33 0x30a68ce4 in UIApplicationMain ()

Since I am using DOMRange's and selection(s), the issue seems to be related
to this, but I thought the issue was solved, and with more "complex" DOM
manipulations it is happening again. It's worth adding that I am doing these
changes while some UI events are happenning (e.g: touches), but if I
simulate the same process steps in another way (pressing a button for each
DOM manipulation) it doesn't happen. IMHO it may be related with some
sync/event/layout issue but don't know yet the WebKit internals.

If somebody can shed me some light on it, I would be very grateful.

Thank you,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.webkit.org/pipermail/webkit-dev/attachments/20081015/d5f226b3/attachment.html 

More information about the webkit-dev mailing list