mjs [Fri, 15 Apr 2005 01:26:26 +0000 (01:26 +0000)]
Reviewed by Richard.
<rdar://problem/
4089734> JavaScript iBench can be sped up ~10% with custom allocator
- use custom single-threaded malloc for all non-GC JavaScriptCore
allocations, for a 9.1% speedup on JavaScript iBench
* JavaScriptCore.pbproj/project.pbxproj:
* kjs/collector.cpp:
(KJS::Collector::allocate): Use dlmalloc to allocate the collector blocks.
(KJS::Collector::collect): And dlfree to free it.
* kjs/fast_malloc.cpp: Added, just the standard dlmalloc here.
* kjs/fast_malloc.h: Added. Declarations for the functions. Also added a handy
macro to give a class custom operator new/delete
* kjs/identifier.cpp:
(KJS::Identifier::add): Use dlmalloc/dlfree.
* kjs/nodes.h: make nodes KJS_FAST_ALLOCATED.
* kjs/property_map.cpp:
(KJS::PropertyMap::~PropertyMap): Use dlmalloc/dlfree.
(KJS::PropertyMap::rehash): ditto
* kjs/scope_chain.h:
* kjs/ustring.cpp:
(KJS::UString::Rep::createCopying): New named constructor that copies a passed-in
buffer, to hide allocation details from webcore.
(KJS::UString::UString): use createCopying when appropriate.
(KJS::UString::Rep::destroy): Use dlmalloc/dlfree.
(KJS::UString::expandedSize): likewise
(KJS::UString::expandCapacity): likewise
(KJS::UString::expandPreCapacity): likewise
(KJS::UString::spliceSubstringsWithSeparators): likewise
(KJS::UString::append): likewise
(KJS::UString::operator=): likewise
(KJS::UString::detach): likewise
* kjs/ustring.h: make UString and UString::Rep KJS_FAST_ALLOCATED.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 14 Apr 2005 18:33:54 +0000 (18:33 +0000)]
3258403 and
3258402 can now be fixed. min/max-width/height support is now complete. This patch makes them
work for positioned elements and enables us to pass row one of the Acid2 test.
* khtml/rendering/render_box.cpp:
(RenderBox::calcAbsoluteHorizontal):
(RenderBox::calcAbsoluteHorizontalValues):
(RenderBox::calcAbsoluteVertical):
(RenderBox::calcAbsoluteVerticalValues):
* khtml/rendering/render_box.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 14 Apr 2005 17:19:50 +0000 (17:19 +0000)]
Reviewed by Chris.
* WebView.subproj/WebBaseResourceHandleDelegate.m:
(-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
Beefed up assertion that's been bugging me and Chris to include
the two troublemaking values.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 12 Apr 2005 22:49:41 +0000 (22:49 +0000)]
Working on the Acid2 test, Row 1.
Improve checkChild for the DTD so that it knows what mode a document is in. This allows it to adhere more
strictly to the actual DTD in strict mode and almost strict mode.
Change the <table>-inside-<p> check so that <table> is disallowed inside <p> in
strict mode and almost strict mode. This matches Firefox behavior, which allows <table>
inside <p> only in quirks mode.
* khtml/html/dtd.cpp:
(DOM::checkChild):
* khtml/html/dtd.h:
* khtml/html/htmlparser.cpp:
(KHTMLParser::insertNode):
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::parseTag):
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::childAllowed):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 12 Apr 2005 22:37:18 +0000 (22:37 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3760895> Request for including an implementation of the elementFromPoint function
* khtml/dom/dom_doc.cpp:
(DOM::Document::elementFromPoint):
* khtml/dom/dom_doc.h:
* khtml/ecma/kjs_dom.cpp:
(DOMDocumentProtoFunc::tryCall):
* khtml/ecma/kjs_dom.h:
(KJS::DOMDocument::):
* khtml/ecma/kjs_dom.lut.h:
(KJS::):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::elementFromPoint):
* khtml/xml/dom_docimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 12 Apr 2005 22:18:35 +0000 (22:18 +0000)]
Reviewed by John.
<rdar://problem/
4086819> Avoid using protect count hash table so much for 5.6% JS iBench speedup
- Avoid using protected values hash for the two most common cases
- Bump up ListImp high water mark, new testing shows 508 ListImps are
created during JS iBench.
Net result is a 5.6% speedup on JavaScript iBench
* kjs/collector.cpp:
(KJS::Collector::collect): mark protected lists as appropriate.
* kjs/context.h:
* kjs/list.cpp:
(KJS::ListImp::markValues): Moved implementation from List::markValues
(KJS::List::markProtectedLists): Implemented - scan pool and overflow
list.
(KJS::allocateListImp): link lists outside the pool into a separate
doubly linked list to be able to mark protected lists
(KJS::deallocateListImp): do the corresponding delinking
(KJS::List::derefValues): do nothing in conservative GC mode
(KJS::List::refValues): do nothing in conservative GC mode
(KJS::List::markValues): call ListImp version
(KJS::List::append):
* kjs/list.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9003
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 12 Apr 2005 22:11:45 +0000 (22:11 +0000)]
Beginning of work to support the Acid2 CSS test put forward by the Web Standards Project. Fix
our handling of the rel attribute on <link> elements to do a proper tokenization so that stylesheets
can be recognized even when other keywords are present in the rel attribute.
* khtml/html/html_headimpl.cpp:
(HTMLLinkElementImpl::HTMLLinkElementImpl):
(HTMLLinkElementImpl::parseHTMLAttribute):
(HTMLLinkElementImpl::tokenizeRelAttribute):
(HTMLLinkElementImpl::process):
* khtml/html/html_headimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9002
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 12 Apr 2005 15:56:17 +0000 (15:56 +0000)]
Left out an #import in previous checkin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 12 Apr 2005 15:53:17 +0000 (15:53 +0000)]
- fixed these two bugs (I also fixed these on the experimental-ui-branch)
<rdar://problem/
3154293> Find Next should not scroll page if the next target is already visible
<rdar://problem/
3121828> scrollToVisible on find cuts off the left part of the view due to needless horiz. scroll
Reviewed by Chris.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::jumpToSelection):
Trey had written code to address these issues, but left it commented out due to other
problems. The other problems no longer occur, so I uncommented Trey's code, and then
discovered that I could make it behave more like TextEdit with many fewer lines of
code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@9000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 9 Apr 2005 00:05:24 +0000 (00:05 +0000)]
Reviewed by Dave Hyatt.
<rdar://problem/
4084106> Remove NSAccessibilityForegroundColorTextAttributeWrapper
* kwq/KWQAccObject.mm:
(AXAttributeStringSetStyle):
Use NSAccessibilityForegroundColorTextAttribute directly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Apr 2005 23:41:18 +0000 (23:41 +0000)]
Fix for
4077106, make sure that mouse wheeling in overflow sections uses 40 rather than 10 as the base line
step.
Reviewed by darin
* khtml/rendering/render_layer.cpp:
(RenderLayer::positionScrollbars):
* kwq/KWQScrollBar.mm:
(QScrollBar::scroll):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Apr 2005 23:38:25 +0000 (23:38 +0000)]
Fix for
4077106, wheel scroll amount smaller in Tiger. All along wheeling should have been 4x the default
line height of 10 (just as arrow keys did). Scroll arrows should have done this too for scroll views (they did
already for overflow sections). This patch puts the override into the scrollview itself, and removes the
multipliers in the private frame methods.
Reviewed by darin
* WebView.subproj/WebFrameView.m:
(-[WebFrameView _verticalKeyboardScrollDistance]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _horizontalKeyboardScrollDistance]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 5 Apr 2005 06:01:45 +0000 (06:01 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3871669> no focus or blur methods on HTML button elements
* khtml/dom/html_form.cpp:
(HTMLButtonElement::focus):
(HTMLButtonElement::blur):
* khtml/dom/html_form.h:
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElementFunction::tryCall):
* khtml/ecma/kjs_html.h:
(KJS::HTMLElement::):
* khtml/ecma/kjs_html.lut.h:
(KJS::):
* khtml/html/html_formimpl.cpp:
(DOM::HTMLButtonElementImpl::blur):
(DOM::HTMLButtonElementImpl::focus):
* khtml/html/html_formimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 1 Apr 2005 20:42:27 +0000 (20:42 +0000)]
WebKit-312.1 stamp for <rdar://problem/
4070729>
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 1 Apr 2005 01:07:16 +0000 (01:07 +0000)]
Fixed: <rdar://problem/
4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
Reviewed by rjw.
* WebView.subproj/WebBaseResourceHandleDelegate.m:
(-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 29 Mar 2005 19:47:40 +0000 (19:47 +0000)]
versioning for SUPanWheat WebCore submission, WebCore-315
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 28 Mar 2005 23:21:25 +0000 (23:21 +0000)]
versioning for WebCore-415
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8983
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 28 Mar 2005 21:46:39 +0000 (21:46 +0000)]
Reviewed by Darin.
<rdar://problem/
4069161> REGRESSION (8A416-8A419): Safari crash bringing up context menu for non-HTML content in a frame
* kwq/KWQAccObject.mm:
(-[KWQAccObject rendererForView:]):
Nil-check node variable instead of rechecking document variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8982
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 28 Mar 2005 02:15:42 +0000 (02:15 +0000)]
versioning for WebCore-413
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 28 Mar 2005 01:50:25 +0000 (01:50 +0000)]
Reviewed by me, fix by Kida-san.
- fixed <rdar://problem/
4067474> 8A424: Safari immediately quit by Cmd+Ctrll+'D'
* kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]):
Added nil check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8979
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 25 Mar 2005 00:14:21 +0000 (00:14 +0000)]
versioning for tip of tree, Safari 2.0 (412+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8978
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 25 Mar 2005 00:05:23 +0000 (00:05 +0000)]
versioning for SUPanWheat, Safari 1.3 (312)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8976
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 24 Mar 2005 23:59:26 +0000 (23:59 +0000)]
Safari-412 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8974
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 24 Mar 2005 22:58:01 +0000 (22:58 +0000)]
Fixed <rdar://problem/
4052683> After adding/removing stocks from Stocks Widget, stock areas went blank
The request was being collected before firing it's load handler.
We now gc protect the request while it's loading.
Reviewed by Maciej.
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::send):
(KJS::XMLHttpRequest::abort):
(KJS::XMLHttpRequest::slotFinished):
(KJS::XMLHttpRequestProtoFunc::tryCall):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8973
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 24 Mar 2005 03:39:23 +0000 (03:39 +0000)]
versioning for TOT, Safari 2.0 (411+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8972
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 24 Mar 2005 03:31:34 +0000 (03:31 +0000)]
versioning for SUPanWheat, Safari 1.3 (311)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 24 Mar 2005 03:24:08 +0000 (03:24 +0000)]
Safari-411 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 24 Mar 2005 03:03:02 +0000 (03:03 +0000)]
Use Patti Yeh's hack to determine the appropriate rectangle
to place the "associated word" window.
If there is no marked text firstRectForCharacterRange: will
use the selected range to determine the returned rectangle,
ignoring the input range. This is the fix from
4029491 that I previously backed out.
Reviewed by Vicki.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView firstRectForCharacterRange:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 24 Mar 2005 01:47:25 +0000 (01:47 +0000)]
Further fix for
4053515.
Covered cases where text position doesn't lie inside a
text node.
Reviewed by Richard.
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::setRangeFromLocationAndLength):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8966
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 23 Mar 2005 23:55:41 +0000 (23:55 +0000)]
Fixed <rdar://problem/
4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
Stop collecting subresource responses after the document
had loaded, not after it has been opened.
Reviewed by Chris.
* WebView.subproj/WebFrame.m:
(-[WebFrame _setState:]):
(-[WebFrame _opened]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8965
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 23 Mar 2005 22:09:34 +0000 (22:09 +0000)]
WebKit:
Reviewed by Darin.
<rdar://problem/
4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
* Plugins.subproj/WebPluginContainerCheck.h: Added.
* Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
an async plugin navigation check.
(+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
(-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
(-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
be bad to deallocate this object while request is still outstanding.
(-[WebPluginContainerCheck dealloc]): Ditto.
(-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
policy check.
(-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
check.
(-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
dictionary.
(-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
the app decide if this load is allowed.
(-[WebPluginContainerCheck start]): Start the check.
(-[WebPluginContainerCheck cancel]): Cancel a check in progress.
* Plugins.subproj/WebPluginController.h:
* Plugins.subproj/WebPluginController.m:
(-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
(-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
this new SPI method.
(-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
all outstanding requests when destroying all plugins.
(-[WebPluginController destroyAllPlugins]): Call above helper.
(-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
(-[WebPluginController bridge]): New helper method.
(-[WebPluginController webView]): New helper method.
* WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
type WebNavigationTypePlugInRequest.
* WebKit.pbproj/project.pbxproj: Add new files.
* WebView.subproj/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
WebBrowser:
Reviewed by Darin.
<rdar://problem/
4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
* BrowserWebController.m:
(-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]): In
case this is a plugin load request, accept it early to avoid throwing up UI or
causing external loads.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 23 Mar 2005 19:49:41 +0000 (19:49 +0000)]
WebCore:
Fixed <rdar://problem/
4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
We now use actual document NSRanges to represent both marked text
ranges and selection ranges.
Reviewed by Ken.
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::rangeLength):
(khtml::TextIterator::setRangeFromLocationAndLength):
* khtml/editing/visible_text.h:
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge convertToNSRange:DOM::]):
(-[WebCoreBridge DOM::convertToDOMRange:]):
(-[WebCoreBridge selectNSRange:]):
(-[WebCoreBridge markedTextDOMRange]):
(-[WebCoreBridge markedTextNSRange]):
WebKit:
Fixed <rdar://problem/
4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
We now use actual document NSRanges to represent both marked text
ranges and selection ranges.
Reviewed by Ken Kocienda.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView validAttributesForMarkedText]):
(-[WebHTMLView firstRectForCharacterRange:]):
(-[WebHTMLView selectedRange]):
(-[WebHTMLView markedRange]):
(-[WebHTMLView _selectMarkedText]):
(-[WebHTMLView setMarkedText:selectedRange:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8963
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Wed, 23 Mar 2005 02:42:58 +0000 (02:42 +0000)]
Reviewed by Vicki.
Fixed <rdar://problem/
4062336> REGRESSION (406-407): HTML submenus not working at hrweb.apple.com after going back
Rolled out the fix for <rdar://problem/
4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken
We clearly need a better solution to
4041374. We can't indiscriminately remove event listeners in closeURL() after-all. Since event listeners are registered in a <script> tag, which is evaluated and executed at page load time, this becomes a problem since we don't reevaluate a page's <script> that is in the back/forward cache. Thus once you leave the page, the listeners are gone for good. This is the problem.
* khtml/khtml_part.cpp:
(KHTMLPart::closeURL):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::detach):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8962
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 23 Mar 2005 02:03:04 +0000 (02:03 +0000)]
- roll the fix for <rdar://problem/
4060266> back in, since its
now approved by CCC (and move the Safari-410 release marker)
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::handleTextBox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8959
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 23 Mar 2005 01:50:41 +0000 (01:50 +0000)]
versioning for TOT, Safari 2.0 (410+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8958
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 23 Mar 2005 01:45:20 +0000 (01:45 +0000)]
versioning for SUPanWheat, Safari 1.3 (310)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8957
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 23 Mar 2005 01:39:37 +0000 (01:39 +0000)]
Safari-410 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8956
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 23 Mar 2005 01:32:40 +0000 (01:32 +0000)]
- roll out the fix for <rdar://problem/
4060266> since it was denied by CCC
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::handleTextBox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8955
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 22 Mar 2005 22:12:55 +0000 (22:12 +0000)]
Reviewed by Darin.
<rdar://problem/
4060266> Double-clicking in Dictionary.app doesn't work for some words (coming just after style change)
* khtml/editing/visible_text.cpp:
(khtml::TextIterator::handleTextBox):
Complete the check of whether to emit space for collapsed space.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8954
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 22 Mar 2005 17:59:24 +0000 (17:59 +0000)]
Reviewed by John.
<rdar://problem/
4061443> REGRESSION (8A420-8A421): Pasting in the Stickies widget is broken again
* khtml/editing/htmlediting.cpp:
(khtml::positionBeforeContainingSpecialElement):
(khtml::positionAfterContainingSpecialElement):
Return unchanged Position rather than a null or non-editable one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8953
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 22 Mar 2005 13:10:41 +0000 (13:10 +0000)]
* English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8952
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 21 Mar 2005 03:18:51 +0000 (03:18 +0000)]
Versioning for TOT, Safari 2.0 (409+).
The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8951
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 21 Mar 2005 03:12:47 +0000 (03:12 +0000)]
versioning for SUPanWheat, Safari 1.3 (309)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8949
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 21 Mar 2005 03:06:00 +0000 (03:06 +0000)]
Safari-409 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8947
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 21 Mar 2005 00:33:59 +0000 (00:33 +0000)]
Reviewed by me
I made an error in this test earlier. It was not testing what I intended. Fixed.
* layout-tests/editing/unsupported-content/list-delete-001-expected.txt
* layout-tests/editing/unsupported-content/list-delete-001.html
New tests:
* layout-tests/editing/unsupported-content/table-delete-001-expected.txt: Added.
* layout-tests/editing/unsupported-content/table-delete-001.html: Added.
* layout-tests/editing/unsupported-content/table-delete-002-expected.txt: Added.
* layout-tests/editing/unsupported-content/table-delete-002.html: Added.
* layout-tests/editing/unsupported-content/table-delete-003-expected.txt: Added.
* layout-tests/editing/unsupported-content/table-delete-003.html: Added.
* layout-tests/editing/unsupported-content/table-type-after-expected.txt: Added.
* layout-tests/editing/unsupported-content/table-type-after.html: Added.
* layout-tests/editing/unsupported-content/table-type-before-expected.txt: Added.
* layout-tests/editing/unsupported-content/table-type-before.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8946
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 21 Mar 2005 00:27:47 +0000 (00:27 +0000)]
Reviewed by Darin.
<rdar://problem/
4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
* Plugins.subproj/WebPluginContainerPrivate.h: Added.
* Plugins.subproj/WebPluginController.m:
(-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
(-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8945
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 20 Mar 2005 23:48:17 +0000 (23:48 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3923903> REGRESSION (164-165): Repro Safari crash in khtml::RenderLayer::scrollToOffset
* khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset): Check canvas for nil.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8944
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sun, 20 Mar 2005 21:31:25 +0000 (21:31 +0000)]
Reviewed by Darin.
<rdar://problem/
4055127> Dictionary pop-up panel misplaced at beginning of text blocks (breaks double-clicking in Dictionary.app)
SimplifiedBackwardsTextIterator::advance() needed to not limit to textnodes
when checking whether moving back across block boundaries
VisibleUnits previousBoundary() needed to INIT_DOWN when creating result VisiblePosition
All editing tests pass.
* khtml/editing/visible_text.cpp:
(khtml::SimplifiedBackwardsTextIterator::advance):
* khtml/editing/visible_units.cpp:
(khtml::previousBoundary):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8943
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 20 Mar 2005 21:18:26 +0000 (21:18 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
4059914> when you select all of a frame's content, need to select the frame in the parent document so it can be easily deleted
* khtml/khtml_part.h: Added selectFrameElementInParentIfFullySelected.
* khtml/khtml_part.cpp:
(isFrame): Added.
(KHTMLPart::setFocusNodeIfNeeded): Changed to not set focus to a frame; was not what this function was
intended to do, and caused trouble when trying to select a frame element.
(KHTMLPart::khtmlMouseReleaseEvent): Call selectFrameElementInParentIfFullySelected.
(KHTMLPart::selectAll): Call selectFrameElementInParentIfFullySelected.
(KHTMLPart::selectFrameElementInParentIfFullySelected): Added. Selects the frame element in the parent
if a frame is entirely selected, which makes it easier to delete or replace the frame and is consistent
with the changes Maciej made recently for other elements.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Call selectFrameElementInParentIfFullySelected.
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Call selectFrameElementInParentIfFullySelected.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8942
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 20 Mar 2005 20:19:04 +0000 (20:19 +0000)]
Reviewed by me, code change by Ken.
- fixed <rdar://problem/
4059852> Deleting from first element of list makes content jump to wrong place
* khtml/editing/htmlediting.cpp:
(khtml::isListStructureNode): Added.
(khtml::DeleteSelectionCommand::moveNodesAfterNode): Check for list nodes as well as table nodes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8941
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sun, 20 Mar 2005 17:36:05 +0000 (17:36 +0000)]
Reviewed by me
Added tests to cover new "unsupported content" editing code.
* layout-tests/editing/unsupported-content/list-delete-001-expected.txt: Added.
* layout-tests/editing/unsupported-content/list-delete-001.html: Added.
* layout-tests/editing/unsupported-content/list-delete-002-expected.txt: Added.
* layout-tests/editing/unsupported-content/list-delete-002.html: Added.
* layout-tests/editing/unsupported-content/list-delete-003-expected.txt: Added.
* layout-tests/editing/unsupported-content/list-delete-003.html: Added.
* layout-tests/editing/unsupported-content/list-type-after-expected.txt: Added.
* layout-tests/editing/unsupported-content/list-type-after.html: Added.
* layout-tests/editing/unsupported-content/list-type-before-expected.txt: Added.
* layout-tests/editing/unsupported-content/list-type-before.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8940
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sun, 20 Mar 2005 16:26:24 +0000 (16:26 +0000)]
Reviewed by Maciej
Fix for this bug:
<rdar://problem/
4059578> Entire list deleted, and caret disappears, when delete key hit at end of list
The problem is that a new case in the delete code did not consider when the
downstream end node of the selection might be an ancestor of the upstream start
node. That is the case in this bug. The downstream end is the body element, and
this line of code would delete all the children of the downstream end:
removeChildrenInRangePreservingPosition(m_downstreamEnd.node(), 0,
m_downstreamEnd.offset(), m_upstreamStart);
The fix is to check for this "is ancestor" case, and do some tree logic to find
the right offset of the downstream end node for the call to
removeChildrenInRangePreservingPosition().
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::handleGeneralDelete): Fixed as described.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8939
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sun, 20 Mar 2005 04:58:41 +0000 (04:58 +0000)]
Reviewed by Maciej.
<rdar://problem/
4059479> Misspelling underline does underline the whole word, could go farther to the right
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer misspellingLinePatternGapWidth]):
(-[WebTextRenderer drawLineForMisspelling:withWidth:]):
Consider that the last pixel in the underline dot pattern is transparent.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8938
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sun, 20 Mar 2005 02:22:59 +0000 (02:22 +0000)]
Reviewed by Maciej
Fix for this bug:
<rdar://problem/
4059384> Cannot place insertion point correctly in editable text that avoids floating elements
Note: I strongly suspect this bug blocks a complete solution to this other Tiger/P2:
<rdar://problem/
4055748> AX: Dictionary pop-up panel shows at wrong place on specific parts of particular pages
* khtml/rendering/render_text.cpp:
(RenderText::caretRect): Change the y-coordinate used to calculate the available width for a line. Height is wrong.
Top of the box containing the text where the click is done is correct. Also, add in the x-offset for the start
of the text box when calculating the available width. If this text box is avoiding a float at the y-coordinate
for the relevant box, failure to add in the amount of float-avoidance will make the text at the coordinates
greater than end-of-line minus float-avoidance ineligible for caret placement.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8937
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sun, 20 Mar 2005 00:58:28 +0000 (00:58 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
4057594> REGRESSION (125-406): Unrepro crash in HTMLTokenizer::allDataProcessed after hitting Back button
* khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::allDataProcessed):
To get the part safely after calling end, save a guarded pointer to the view.
The old way could end trying to call a virtual function a part that was destroyed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sat, 19 Mar 2005 22:36:50 +0000 (22:36 +0000)]
Reviewed by Darin.
<rdar://problem/
4053506> Pasting Tables and Cells in Mail does not allow editing before or after
<rdar://problem/
4005954> REGRESSION (Mail): After copy/paste of content containing list element cannot go back to entering text at left side of page
* khtml/editing/htmlediting.cpp:
(khtml::maxDeepOffset):
(khtml::CompositeEditCommand::removeFullySelectedNodePreservingPosition):
(khtml::CompositeEditCommand::removeChildrenInRangePreservingPosition):
(khtml::CompositeEditCommand::removeNodePreservingPosition):
(khtml::CompositeEditCommand::insertBlockPlaceholder):
(khtml::CompositeEditCommand::appendBlockPlaceholder):
(khtml::CompositeEditCommand::forceBlockPlaceholder):
(khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded):
(khtml::isSpecialElement):
(khtml::isFirstVisiblePositionInSpecialElementInFragment):
(khtml::positionBeforePossibleContainingSpecialElement):
(khtml::positionAfterPossibleContainingSpecialElement):
(khtml::ApplyStyleCommand::applyInlineStyle):
(khtml::DeleteSelectionCommand::initializePositionData):
(khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
(khtml::DeleteSelectionCommand::handleGeneralDelete):
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
(khtml::DeleteSelectionCommand::doApply):
(khtml::InsertParagraphSeparatorCommand::doApply):
(khtml::ReplacementFragment::ReplacementFragment):
(khtml::ReplaceSelectionCommand::doApply):
* khtml/editing/htmlediting.h:
* khtml/editing/visible_position.cpp:
(khtml::isRenderedBR):
(khtml::VisiblePosition::initDownstream):
(khtml::isLastVisiblePositionInBlock):
* khtml/rendering/render_line.cpp:
(khtml::RootInlineBox::closestLeafChildForXPos):
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::isBlockFlowOrTable):
(NodeImpl::isEditableBlock):
(NodeImpl::enclosingBlockFlowOrTableElement):
* khtml/xml/dom_nodeimpl.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::upstream):
(DOM::Position::downstream):
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
* layout-tests/editing/deleting/delete-select-all-001-expected.txt:
* layout-tests/editing/deleting/delete-select-all-003-expected.txt:
* layout-tests/editing/inserting/insert-
3786362-fix-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 19 Mar 2005 19:34:56 +0000 (19:34 +0000)]
Reviewed by Maciej (a while back).
- fixed <rdar://problem/
4059323> local-file security check is allowing plug-in streams, but must not
* Plugins.subproj/WebNetscapePluginStream.m:
(-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
For plug-in streams it's too risky, and leaves a serious security hole open.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8934
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Sat, 19 Mar 2005 17:09:07 +0000 (17:09 +0000)]
Reviewed by Ken and John.
- fixed <rdar://problem/
4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
if isTypingAction is YES.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Sat, 19 Mar 2005 16:21:57 +0000 (16:21 +0000)]
Reviewed by Darin.
- fixed <rdar://problem/
4058740> Crash (nil-deref) editing Mail reply
message in KWQKHTMLPart::fontForSelection (MailViewer-723)
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::fontForSelection):
Add nil check to loop. It shouldn't be necessary, but this crash trace seems to be
running into it. We're not completely certain, but the check is harmless at worst.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 19 Mar 2005 16:07:18 +0000 (16:07 +0000)]
Reviewed by me (written by Patti Yeh).
<rdar://problem/
4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView firstRectForCharacterRange:]):
Use selected range if there is no marked range.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Sat, 19 Mar 2005 02:19:51 +0000 (02:19 +0000)]
versioning for TOT, Safari 2.0 (408+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Sat, 19 Mar 2005 02:12:28 +0000 (02:12 +0000)]
versioning for SUPanWheat, Safari 1.3 (308)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Sat, 19 Mar 2005 02:07:09 +0000 (02:07 +0000)]
Safari-408 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8926
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 19 Mar 2005 00:56:35 +0000 (00:56 +0000)]
Reviewed by Darin.
<rdar://problem/
3584942> AX: Safari Accessibility parent-child mismatch
* WebView.subproj/WebFrameView.m:
(-[WebFrameView webCoreBridge]):
New to conform to WebCoreBridgeHolder protocol.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8925
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 19 Mar 2005 00:53:57 +0000 (00:53 +0000)]
Reviewed by Darin.
<rdar://problem/
3584942> AX: Safari Accessibility parent-child mismatch
Also changed WebKit.
* kwq/KWQAccObject.mm:
(-[KWQAccObject rendererForView:]):
New to cover both the WebCore and WebKit NSViews.
(-[KWQAccObject _accessibilityParentForSubview:]):
Use rendererForView.
* kwq/WebCoreFrameView.h:
Add WebCoreBridgeHolder protocol to get access to WebKit NSViews.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8924
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 19 Mar 2005 00:34:07 +0000 (00:34 +0000)]
Reviewed by Darin, Ken.
<rdar://problem/
3735625> AX: add AXPress action if an element has an onclick handler
* khtml/dom/html_form.cpp:
(HTMLInputElement::click):
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::click):
(HTMLElementImpl::accessKeyAction):
* khtml/html/html_elementimpl.h:
* khtml/html/html_formimpl.cpp:
(DOM::HTMLFormElementImpl::submitClick):
(DOM::HTMLButtonElementImpl::click):
(DOM::HTMLButtonElementImpl::accessKeyAction):
(DOM::HTMLInputElementImpl::click):
(DOM::HTMLInputElementImpl::accessKeyAction):
(DOM::HTMLInputElementImpl::defaultEventHandler):
(DOM::HTMLLabelElementImpl::accessKeyAction):
(DOM::HTMLSelectElementImpl::accessKeyAction):
(DOM::HTMLTextAreaElementImpl::accessKeyAction):
* khtml/html/html_formimpl.h:
* khtml/html/html_inlineimpl.cpp:
(HTMLAnchorElementImpl::defaultEventHandler):
(HTMLAnchorElementImpl::accessKeyAction):
* khtml/html/html_inlineimpl.h:
* khtml/rendering/render_form.cpp:
(RenderFileButton::click):
* khtml/rendering/render_form.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::defaultEventHandler):
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::accessKeyAction):
* kwq/DOMHTML.mm:
(-[DOMHTMLInputElement click]):
* kwq/KWQButton.h:
* kwq/KWQButton.mm:
(QButton::click):
* kwq/KWQFileButton.h:
* kwq/KWQFileButton.mm:
(KWQFileButton::click):
Add accessKeyAction parameter about whether to limit to HTMLElementImpl subclasses that JavaScript wants, or to apply to others as well.
Add click() parameter about whether to send the mousedown and mouseup events in addition to the click event.
* kwq/KWQAccObject.mm:
(-[KWQAccObject mouseButtonListener]):
Locate a mousedown, mouseup, or click handler in the current element and its ancestors.
(-[KWQAccObject actionElement]):
(-[KWQAccObject accessibilityIsIgnored]):
(-[KWQAccObject accessibilityPerformAction:]):
Consider mouseButtonListener.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8923
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 18 Mar 2005 22:56:39 +0000 (22:56 +0000)]
Fixed <rdar://problem/
4057004> Data from XMLHTTPRequest is never dealloced
WebDataSource keeps an array of all the NSURLResponses associated
with the load for a page. This is used to playback delegate messages
when loading from the page cache. However, after the document
has completed it's initial load, we continue to keep track of responses.
So, this has the consequence of keeping all the responses for a page
around for the life of the page. NSURLResponses are now very
heavy. They indirectly reference the resource data (via the
download assessment dictionary). This fix will keep
references to responses around for those resources loaded during initial
page load, but not after that point.
Reviewed by Ken.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _addResponse:]):
(-[WebDataSource _stopRecordingResponses]):
* WebView.subproj/WebDataSourcePrivate.h:
* WebView.subproj/WebFrame.m:
(-[WebFrame _opened]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8922
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 18 Mar 2005 20:41:58 +0000 (20:41 +0000)]
Reviewed by Darin.
- fixed <rdar://problem/
4002164> maps that include start and end
location don't print right from maps.google.com
I thought I checked this in yesterday but a ChangeLog conflict aborted my checkin
without me noticing.
* khtml/rendering/render_style.cpp:
(RenderStyle::diff):
flag name changed from _should_correct_text_color to _force_backgrounds_to_white
* khtml/rendering/render_style.h:
(khtml::RenderStyle::InheritedFlags::operator==):
flag name changed from _should_correct_text_color to _force_backgrounds_to_white
(khtml::RenderStyle::setBitDefaults):
ditto
(khtml::RenderStyle::forceBackgroundsToWhite):
ditto, and method name changed too
(khtml::RenderStyle::setForceBackgroundsToWhite):
ditto
* khtml/rendering/render_text.cpp:
(InlineTextBox::paint):
updated for name change; also, compare text against white instead of current bg color
because we no longer actually modify the bg color (previously we would always set
the bg color to white, so the result is the same)
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::recalcStyle):
updated for name change
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge styleSheetForPrinting]):
removed this method
(-[WebCoreBridge reapplyStylesForDeviceType:]):
removed the code that called styleSheetForPrinting; we no longer use a stylesheet
for this behavior.
* khtml/rendering/render_box.cpp:
(RenderBox::paintBackgroundExtended):
If forceBackgroundsToWhite flag is set, convert background images and
background colors to white background color with no background image.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8921
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 18 Mar 2005 17:49:06 +0000 (17:49 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
existing documents which will have a body or frameset of their own.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8920
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 18 Mar 2005 17:32:52 +0000 (17:32 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
4056718> Pasting quotes the entire message
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply): After pasting, nodes are moved to the block containing
the end of the pasted content in certain cases. This move logic used to stop once it moved all the
siblings of the node following the last node of the pasted-in content. This means that block elements
could get moved, and if the pasted-in content included a mail blockquote, this could result in
one quote level getting added. The fix is to stop the move of nodes once a <br>, block element, or
<table> is seen. This only affected one of the many test cases we have for such scenarios, and
the change to that result makes sense given the code change.
* layout-tests/editing/pasteboard/paste-text-003-expected.txt: This test result changed in a way that
adequately tests the behavior change, so I did not add a new test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8919
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 18 Mar 2005 15:56:56 +0000 (15:56 +0000)]
Reviewed by Harrison
Fix for this bug:
<rdar://problem/
4051809> 8A413: Cursor-up in a mail message sometimes gets stuck (with specific reproducible case)
* khtml/rendering/render_text.cpp:
(RenderText::positionForCoordinates): Consider two lines: line-above and line-below. If the caret position in line-below
was at an x coordinate between half way through the x coordinate of the last character on the line-above and the
end of that same character, this bug would happen since the positioning code would assume that it could create a
VisiblePosition with a DOWNSTREAM affinity. Now, I check to see if the character position on the line-above is the
last character on that line, and if it is, I use UPSTREAM as the affinity.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8918
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 17 Mar 2005 22:59:48 +0000 (22:59 +0000)]
versioning for TOT, Safari 2.0 (407+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8917
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 17 Mar 2005 22:48:27 +0000 (22:48 +0000)]
versioning for Safari 1.3 (307) on SUPanWheat
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8915
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 17 Mar 2005 22:41:31 +0000 (22:41 +0000)]
Safari-407 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8913
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 17 Mar 2005 21:43:30 +0000 (21:43 +0000)]
Fixed <rdar://problem/
4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (theregister.co.uk, www.titantalk.com)
Anothe side effect of lazy loading of image meta data. We now
don't cache image size until size meta data is actually available.
Reviewed by Darin.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData size]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8912
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 17 Mar 2005 19:09:58 +0000 (19:09 +0000)]
Reviewed by Darin, Ken.
* khtml/editing/htmlediting.cpp:
(khtml::EditCommandPtr::setEndingSelection):
Fixed typo so that it calls setEndingSelection rather than setStartingSelection.
Commented out this unused method, tho, since this is late in Tiger. Proved unused by successful build after temporarily removing method declaration or implemenation.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8911
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Thu, 17 Mar 2005 17:57:33 +0000 (17:57 +0000)]
Reviewed by mjs.
Fixed <rdar://problem/
4046665> REGRESSION (403-405): mypage.apple.com login does not work (hits assertion in Development build)
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Check always came back false when callers would send a nil NSURL to this method. Now we allow the empty url cases, eg., <frame src="">
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8910
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 17 Mar 2005 02:46:53 +0000 (02:46 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
4045203> REGRESSION (125-188): Redundant JS imports crash Safari
* khtml/html/htmltokenizer.h: Take inWRite bool out of NDEBUG ifdef.
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::HTMLTokenizer): Take inWrite bool management code out of NDEBUG ifdef.
(khtml::HTMLTokenizer::write): Ditto. Don't call end if inWrite is true, since it will be called
when you return to the body of the outer write() call.
(khtml::HTMLTokenizer::allDataProcessed): Don't call end() if inWrite is true for the same reason.
(khtml::HTMLTokenizer::finish): Ditto.
* kwq/KWQWidget.mm: (QWidget::getOuterView): Removed bogus assertion that has been vexing us of late.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8909
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 17 Mar 2005 02:30:13 +0000 (02:30 +0000)]
Reviewed by me (written by Patti Yeh).
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
Use LeftWordIfOnBoundary instead of RightWordIfOnBoundary.
(-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
Use RightWordIfOnBoundary instead of LeftWordIfOnBoundary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8908
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 17 Mar 2005 02:09:02 +0000 (02:09 +0000)]
Reviewed by Maciej.
<rdar://problem/
4054590> AX: Dictionary panel does not work when page is scrolled on Safari
* kwq/KWQAccObject.mm:
(-[KWQAccObject doAXTextMarkerForPosition:]):
Add in the view's contentsX and contentsY to the point.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8907
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 17 Mar 2005 01:32:55 +0000 (01:32 +0000)]
Reviewed by Maciej.
<rdar://problem/
4048506> Deleting from beginning of editable div deletes other document elements
Also changed WebCore.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _shouldDeleteRange:]):
Added call to new bridge method canDeleteRange.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8906
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 17 Mar 2005 01:31:03 +0000 (01:31 +0000)]
Reviewed by Maciej.
<rdar://problem/
4048506> Deleting from beginning of editable div deletes other document elements
Also changed WebKit.
* khtml/editing/visible_units.h:
* khtml/editing/visible_units.cpp:
(khtml::startOfEditableContent):
(khtml::endOfEditableContent):
(khtml::inSameEditableContent):
(khtml::isStartOfEditableContent):
(khtml::isEndOfEditableContent):
New.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge canDeleteRange:]):
New.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8905
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jens [Wed, 16 Mar 2005 18:30:25 +0000 (18:30 +0000)]
[
4025212] search not performed correctly; united.com. Fixed bug inherited from KJS that caused unescape() of an empty string to return a messed-up String object that would sometimes act like the value 'null'.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8904
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 16 Mar 2005 16:36:00 +0000 (16:36 +0000)]
WebCore:
Reviewed by Darin
Fix for this bug:
<rdar://problem/
4042935> undo doesn't work properly during inline input
* kwq/WebCoreBridge.h: Declare new method below.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge replaceMarkedTextWithText:]): New method. Wraps calls to TypingCommand::deleteKeyPressed and
TypingCommand::insertText to map the way that international text input works onto the typing undo system.
WebKit:
Reviewed by Darin
Fix for this bug:
<rdar://problem/
4042935> undo doesn't work properly during inline input
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of
-[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in
order to provide a better mapping of international text input onto the typing command/undo design.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8903
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Wed, 16 Mar 2005 14:43:13 +0000 (14:43 +0000)]
Reviewed by Darin.
<rdar://problem/
4044336> REGRESSION (8A398-8A409): Option-Delete also deletes space to left of deleted word
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::initializePositionData):
- skip smart delete if the selection to delete already starts or ends with whitespace
* khtml/khtml_part.cpp:
(KHTMLPart::handleMousePressEventDoubleClick):
- preserve selection on double-click when range is already selected
* khtml/xml/dom_position.cpp:
(DOM::Position::leadingWhitespacePosition):
(DOM::Position::trailingWhitespacePosition):
- fix considerNonCollapsibleWhitespace action (logic was reversed)
- add non-breaking space to the non-collapsable ones
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
(-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
- these methods do not set the selection, so remove calls to setSelectionGranularity
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]):
- set the granularity back to character
- the one exception is that we need to keep word granularity
to preserve smart delete behavior when extending by word
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8902
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 16 Mar 2005 03:23:42 +0000 (03:23 +0000)]
Removed conflict marker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8901
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 16 Mar 2005 03:19:17 +0000 (03:19 +0000)]
Reviewed by John.
<rdar://problem/
4053266> Pressing return a few times right after a link makes the new blank lines part of the link
* khtml/editing/htmlediting.cpp:
(khtml::InsertLineBreakCommand::doApply): Use
positionOutsideContainingSpecialElement in the right two places.
(khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
- move all these helper functions higher in the file
* khtml/editing/htmlediting.cpp:
(khtml::isSpecialElement):
(khtml::isFirstVisiblePositionInSpecialElement):
(khtml::positionBeforeNode):
(khtml::positionBeforeContainingSpecialElement):
(khtml::maxRangeOffset):
(khtml::isLastVisiblePositionInSpecialElement):
(khtml::positionAfterNode):
(khtml::positionAfterContainingSpecialElement):
(khtml::positionOutsideContainingSpecialElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8900
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 16 Mar 2005 02:02:33 +0000 (02:02 +0000)]
Fixed <rdar://problem/
4053658> Crash getting direction at maps.google.com
Add non nil style() check.
Reviewed by Dave Harrison.
* khtml/rendering/render_table.cpp:
(RenderTableCell::collapsedRightBorder):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8899
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Wed, 16 Mar 2005 01:40:31 +0000 (01:40 +0000)]
Reviewed by John
Fixed: <rdar://problem/
4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken
The reason why UNLOAD_EVENT wouldn't dispatch was because the code would delete all event listeners at the detach() phase which is prior to closeURL().
This fixes a recent regression from:
<rdar://problem/
3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow
* khtml/khtml_part.cpp:
(KHTMLPart::closeURL): After dispatching event handlers, go ahead and remove them from the DOM.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::detach): Took out the call to removeAllEventListenersFromAllNodes(). If we remove all event listeners here then when KHTMLPart::closeURL() checks for even listeners, it will never have any because they'll already be gone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8898
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 16 Mar 2005 00:00:39 +0000 (00:00 +0000)]
Fixed <rdar://problem/
4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
If client mutates request use new Foundation SPI to address remove applewebdata properties from request.
Reviewed by Ken Kocienda.
* WebView.subproj/WebBaseResourceHandleDelegate.m:
(-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
* WebView.subproj/WebDataProtocol.h:
* WebView.subproj/WebDataProtocol.m:
(+[NSURLRequest _webDataRequestPropertyKey]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8897
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 15 Mar 2005 23:52:26 +0000 (23:52 +0000)]
Fixed <rdar://problem/
4053276> WebScripting protocol in WebKit cannot convert Boolean in Javascript to BOOL in Objective-C
Added JavaScript boolean to type that can be converted to
ObjC scalar parameters.
Reviewed by Ken Kocienda.
* bindings/objc/objc_utility.mm:
(KJS::Bindings::convertValueToObjcValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8896
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 15 Mar 2005 23:27:44 +0000 (23:27 +0000)]
Reviewed by Vicki
Fox for this bug:
<rdar://problem/
4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.
The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not. The code changes below all add this new argument with the
appropriate value for closeTyping.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
(-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
(-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
(-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
(-[WebHTMLView transpose:]): Passes YES for closeTyping.
(-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
(-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
* WebView.subproj/WebView.m:
(-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8895
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 15 Mar 2005 23:27:37 +0000 (23:27 +0000)]
Reviewed by Vicki
Fox for this bug:
<rdar://problem/
4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. A change on 27 Jan in WebKit to change the way delete
keystrokes are handled made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.
The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not.
* kwq/WebCoreBridge.h: Changed header accordingly to change method shown below.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Added closeTyping argument to this method.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8894
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 15 Mar 2005 22:27:31 +0000 (22:27 +0000)]
Reviewed by Vicki.
- fixed <rdar://problem/
4052246> crash in KWQKHTMLPart::createPart() trying to display local file in frame
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::createPart):
Check part for nil before trying to ref. This was probably a longstanding code flaw revealed by
the recent security fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8893
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Tue, 15 Mar 2005 21:44:32 +0000 (21:44 +0000)]
Reviewed by Ken and Maciej.
New fix for <rdar://problem/
3667701> crash in KHTMLPart::jScriptEnabled()
The tokenizer has buffers which mean parsing can continue even after loading is supposed to be stopped. If the loading process was aborted, the tokenizer should abort, too.
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::HTMLTokenizer): Initialize loadStopped to false.
(khtml::HTMLTokenizer::write): Go ahead and bail out if loadStopped is true.
(khtml::HTMLTokenizer::processToken):
* khtml/html/htmltokenizer.h: Added loadStopped flag. Changed the view pointer from a standard pointer to a QGuardedPtr. This fixes the crash. Now the tokenizer's handle to the view will now automatically nil-out and never dangle.
* khtml/khtml_part.cpp:
(KHTMLPart::closeURL): Notify the tokenizer to stop parsing.
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::XMLTokenizer): Initialize loadStopped to false.
* khtml/xml/xml_tokenizer.h:
(khtml::Tokenizer::stopParsing): Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8892
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 15 Mar 2005 04:00:59 +0000 (04:00 +0000)]
Fix <rdar://problem/
4051389> 8A413: gifs animating too fast
Reviewed by Maciej.
Match Mozilla's policy for minimum frame duration, which is somewhat odd:
<= 0.01 sec use .1 sec, otherwise use specified duration.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _frameDurationAt:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8891
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 15 Mar 2005 02:06:19 +0000 (02:06 +0000)]
Reviewed by Darin, Maciej.
<rdar://problem/
4046103> REGRESSION (Mail): clicking after style change sets insertion point incorrectly
Also fixes crash by adding nil check.
* khtml/editing/htmlediting.cpp:
(khtml::MoveSelectionCommand::doApply):
Check the node for nil.
* khtml/khtml_part.cpp:
(KHTMLPart::khtmlMouseReleaseEvent):
Use the node from the event rather than from the selection.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8890
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 15 Mar 2005 01:45:23 +0000 (01:45 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
4049776> Seed: Mail: Disable spellcheck leaves red artifacts
* WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
* WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
Calls unmarkAllMisspellings on the bridge and self and all subframes.
* WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8889
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 15 Mar 2005 01:05:23 +0000 (01:05 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
4049776> Seed: Mail: Disable spellcheck leaves red artifacts
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl): Set markers list to be "auto-delete" so they don't all leak.
(DocumentImpl::removeMarker): Remove markers list for a node when the last marker is removed
for that node. Otherwise, we can have empty marker lists for each node forever until the
document goes away.
(DocumentImpl::removeAllMarkers): Added code to dirty the markers.
(DocumentImpl::shiftMarkers): Remove unneeded empty check.
* kwq/WebCoreBridge.h: Added unmarkAllMisspellings for WebKit.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge unmarkAllMisspellings]): Added. Calls removeAllMarkers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8888
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 15 Mar 2005 00:50:45 +0000 (00:50 +0000)]
WebKit:
Fixed <rdar://problem/
4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
The Acrobat application triggers loads of new documents in it's policy delegate. This
ultimately causes the WebHTMLView to be released before their event handlers have
returned. To bullet proof against this case we retain/release self before passing
the event on for further handling.
Reviewed by Maciej.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView scrollWheel:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView performKeyEquivalent:]):
WebCore:
Fixed <rdar://problem/
4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
A document may be deleted as a consequence of handling an event,
as was the case with Acrobat.app. Ensure that the document is still valid
before passing the event on for further handling.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::dispatchUIEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8887
268f45cc-cd09-0410-ab3c-
d52691b4dbfc