mjs [Tue, 15 Feb 2005 23:48:00 +0000 (23:48 +0000)]
Reviewed by Darin.
<rdar://problem/
3942428> reproducible crash loading cbs.sportsline.com
This change reverts the fix for <rdar://problem/
3805311>, and
re-fixes it in a different (better) way. Instead of preventing
programmatic open from setting the parsing flag, instead make sure
that programmatic close resets it.
* khtml/khtml_part.cpp:
(KHTMLPart::openURL):
(KHTMLPart::didExplicitOpen):
(KHTMLPart::closeURL):
(KHTMLPart::begin):
(KHTMLPart::end):
(KHTMLPart::endIfNotLoading):
(KHTMLPart::slotFinishedParsing):
(KHTMLPart::checkEmitLoadEvent):
* khtml/khtml_part.h:
* khtml/khtmlpart_p.h:
(KHTMLPartPrivate::KHTMLPartPrivate):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::open):
(DocumentImpl::implicitOpen):
(DocumentImpl::close):
(DocumentImpl::implicitClose):
* khtml/xml/dom_docimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 15 Feb 2005 23:41:53 +0000 (23:41 +0000)]
Reviewed by Maciej.
<rdar://problem/
3933665> smart delete seems to delete too much after expanding selection with arrow keys
Fixed by updating the selection granularity. Only byWord granularity enables smart delete, but in this
case the granularity changed from byWord to byCharacter.
* khtml/khtml_part.cpp:
(KHTMLPart::setSelectionGranularity):
* khtml/khtml_part.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
(-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 15 Feb 2005 23:31:40 +0000 (23:31 +0000)]
Reviewed by Darin.
(continued) <rdar://problem/
4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
This was supposed have been committed yesterday with the other part of the fix, but was not.
* khtml/editing/visible_units.cpp:
(khtml::endOfWord):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 15 Feb 2005 22:53:42 +0000 (22:53 +0000)]
Fixed <rdar://problem/
3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
Lie about Osaka-Mono. Treat it as fixed pitch, even though,
strictly speaking it isn't. (Similar to what we do with
Courier New.)
Reviewed by David Harrison.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer _computeWidthForSpace]):
* WebCoreSupport.subproj/WebTextRendererFactory.h:
* WebCoreSupport.subproj/WebTextRendererFactory.m:
(-[NSFont _web_isFakeFixedPitch]):
(-[WebTextRendererFactory isFontFixedPitch:]):
(-[WebTextRendererFactory fontWithFamily:traits:size:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 15 Feb 2005 17:01:57 +0000 (17:01 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3951178> REGRESSION (Mail): blank line lost after pasting as quotation
Problem was that the blank line after the selection was getting deleted incorrectly since the
paste code thought this was an unneeded placeholder rather than a placeholder outside of the
selection.
* khtml/editing/htmlediting.cpp:
(khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Now calls findBlockPlaceholder.
(khtml::CompositeEditCommand::findBlockPlaceholder): Moved finding code formerly in
removeBlockPlaceholderIfNeeded to this new helper.
(khtml::ReplaceSelectionCommand::doApply): Do not delete placeholder up front. Call
findBlockPlaceholder, and delete it later if needed in the already-existing cleanup step.
* khtml/editing/htmlediting.h: Add new function.
New layout test.
* layout-tests/editing/pasteboard/paste-text-017-expected.txt: Added.
* layout-tests/editing/pasteboard/paste-text-017.html: Added.
Result changed for the better.
* layout-tests/editing/pasteboard/paste-text-011-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Tue, 15 Feb 2005 01:52:35 +0000 (01:52 +0000)]
Reviewed by Darin.
<rdar://problem/
4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
* khtml/editing/visible_text.cpp:
(khtml::SimplifiedBackwardsTextIterator::advance):
Add BR in for <rdar://problem/
3917929> fix only if leaving a visible text node.
* khtml/editing/visible_units.cpp:
(khtml::endOfWord):
Do not move left over a paragraph boundary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 14 Feb 2005 21:09:29 +0000 (21:09 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
* khtml/html/html_formimpl.cpp:
(DOM::FormDataList::begin): Updated to use a list of FormDataListItem instead of QCString.
(DOM::FormDataList::end): Ditto.
(DOM::HTMLFormElementImpl::formData): Same here, and also use appendFile rather than appendData
when we encounter a path name rather than data.
(DOM::HTMLInputElementImpl::appendFormData): Use appendFile here rather than reading the file
in; the reading now happens inside WebKit.
(DOM::FormDataList::appendString): Updated for FormDataListItem.
(DOM::FormDataList::appendFile): Added.
* ForwardingHeaders/kfileitem.h: Emptied out the file; no longer includes KWQKFileItem.h.
* ForwardingHeaders/netaccess.h: Emptied out the file; no longer includes KWQKIONetAccess.h.
* kwq/KWQKFileItem.h: Removed.
* kwq/KWQKFileItem.mm: Removed.
* kwq/KWQKIONetAccess.h: Removed.
* kwq/KWQKIONetAccess.mm: Removed.
* WebCore.pbproj/project.pbxproj: Removed the 4 files above.
- small unrelated fix (not reviewed by John)
* khtml/ecma/kjs_window.cpp: (Window::isSafeScript): Put some logging code outside if statements so it works all the time.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 14 Feb 2005 20:06:55 +0000 (20:06 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
* WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
stream to an NSMutableURLRequest.
* WebView.subproj/WebFormDataStream.m: Added implementation here.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
Use webSetHTTPBody.
* WebCoreSupport.subproj/WebSubresourceClient.m:
(+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
Use webSetHTTPBody.
* WebView.subproj/WebFrame.m:
(-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
(-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
* English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 14 Feb 2005 18:19:18 +0000 (18:19 +0000)]
Reviewed by Darin.
<rdar://problem/
4004305> REGRESSION (Mail): Command-right-arrow on wrapped text goes to end of previous line
Fixed nextLinePosition to calculate affinity rather than take it as a parameter. Propagated the parameter change out to related methods.
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::initializePositionData):
(khtml::InsertLineBreakCommand::doApply):
(khtml::InsertParagraphSeparatorCommand::doApply):
(khtml::InsertTextCommand::input):
(khtml::ReplaceSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes):
* khtml/editing/selection.cpp:
(khtml::Selection::modifyExtendingRightForward):
(khtml::Selection::modifyMovingRightForward):
(khtml::Selection::modifyExtendingLeftBackward):
(khtml::Selection::modifyMovingLeftBackward):
(khtml::Selection::modify):
(khtml::Selection::validate):
* khtml/editing/visible_position.cpp:
(khtml::visiblePositionsOnDifferentLines):
* khtml/editing/visible_units.cpp:
(khtml::rootBoxForLine):
(khtml::startOfLine):
(khtml::endOfLine):
(khtml::inSameLine):
(khtml::isStartOfLine):
(khtml::isEndOfLine):
(khtml::previousLinePosition):
(khtml::nextLinePosition):
(khtml::previousSentencePosition):
(khtml::nextSentencePosition):
(khtml::previousParagraphPosition):
(khtml::nextParagraphPosition):
* khtml/editing/visible_units.h:
* khtml/khtml_events.cpp:
(khtml::MouseEvent::offset):
* khtml/khtml_part.cpp:
(KHTMLPart::isPointInsideSelection):
(KHTMLPart::selectClosestWordFromMouseEvent):
(KHTMLPart::handleMousePressEventTripleClick):
(KHTMLPart::handleMousePressEventSingleClick):
(KHTMLPart::handleMouseMoveEventSelection):
(KHTMLPart::khtmlMouseReleaseEvent):
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::positionForCoordinates):
* khtml/rendering/render_block.h:
* khtml/rendering/render_br.cpp:
(RenderBR::positionForCoordinates):
* khtml/rendering/render_br.h:
* khtml/rendering/render_container.cpp:
(RenderContainer::positionForCoordinates):
* khtml/rendering/render_container.h:
* khtml/rendering/render_inline.cpp:
(RenderInline::positionForCoordinates):
* khtml/rendering/render_inline.h:
* khtml/rendering/render_object.cpp:
(RenderObject::caretRect):
(RenderObject::positionForCoordinates):
* khtml/rendering/render_object.h:
* khtml/rendering/render_replaced.cpp:
(RenderReplaced::positionForCoordinates):
* khtml/rendering/render_replaced.h:
* khtml/rendering/render_text.cpp:
(RenderText::positionForCoordinates):
* khtml/rendering/render_text.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::previousCharacterPosition):
(DOM::Position::nextCharacterPosition):
(DOM::Position::leadingWhitespacePosition):
(DOM::Position::trailingWhitespacePosition):
* khtml/xml/dom_position.h:
* kwq/KWQAccObject.mm:
(-[KWQAccObject value]):
(-[KWQAccObject accessibilityAttributeValue:]):
(-[KWQAccObject doAXLineForTextMarker:]):
(-[KWQAccObject doAXTextMarkerRangeForLine:]):
(-[KWQAccObject doAXTextMarkerForPosition:]):
(-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
(-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
(-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
* kwq/KWQKHTMLPart.mm:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge _visiblePositionForPoint:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Sun, 13 Feb 2005 04:08:13 +0000 (04:08 +0000)]
Reviewed by Ken and John.
Re-fixed a specific case of the following:
<rdar://problem/
3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
Oddly, Cmd-B, Cmd-U, type some text, return, Cmd-U, Cmd-B, type
some text, worked fine. But hitting the second Cmd-B before the
second Cmd-U still failed to remove underlining. The reason for
this is that our code to compute the style of the current position
did not work when you had a typing style and were positioned right
at a <br> element. For various reasons, this did not show up for
bold and italic, since those are handled through the font manager.
The following change fixes this - for elements that can't have
children, we add the dummy span after the element of interest,
rather than as a child of it.
* khtml/khtml_part.cpp:
(KHTMLPart::selectionComputedStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sat, 12 Feb 2005 01:51:47 +0000 (01:51 +0000)]
Fixed <rdar://problem/
4002505> 8A378: Endlessly animating gif's on entropy.ch
If animated images had no loop count property we were incorrectly
looping forver. Note, that in the course of fixing this bug
I found that ImageIO is incorrectly NOT reporting the loop count
for a whole class of animated GIFs.
Reviewed by Ken Kocienda.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _repetitionCount]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 12 Feb 2005 01:03:34 +0000 (01:03 +0000)]
Reviewed by Darin.
<rdar://problem/
3978980> Double Clicking on a line in Mail selected the entire body
* khtml/editing/visible_units.cpp:
(khtml::startOfWord):
(khtml::endOfWord):
Pay attention to being at the end of a paragraph.
(khtml::previousLinePosition):
(khtml::nextLinePosition):
(khtml::endOfParagraph):
Use DOWNSTREAM per recent affinity changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8586
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Sat, 12 Feb 2005 00:58:13 +0000 (00:58 +0000)]
WebCore:
Fixed <rdar://problem/
3985118> DOM objects not being marshaled on JS->native calls
Re-factored how 'native' wrappers for JS objects are created. The interpreter now
creates these wrappers. The WebCore subclass of the interpreter now overrides
createLanguageInstanceForValue() and creates a DOM ObjC wrapper for DOM objects.
* WebCore.pbproj/project.pbxproj:
* khtml/ecma/kjs_binding.cpp:
(ScriptInterpreter::createLanguageInstanceForValue):
* khtml/ecma/kjs_binding.h:
* kwq/DOMUtility.mm: Added.
(KJS::ScriptInterpreter::createObjcInstanceForValue):
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getAppletInstanceForView):
(getInstanceForView):
(KWQKHTMLPart::getEmbedInstanceForView):
(KWQKHTMLPart::getObjectInstanceForView):
JavaScriptCore:
Fixed <rdar://problem/
3985118> DOM objects not being marshaled on JS->native calls
Re-factored how 'native' wrappers for JS objects are created. The interpreter now
creates these wrappers. The WebCore subclass of the interpreter now overrides
createLanguageInstanceForValue() and creates a DOM ObjC wrapper for DOM objects.
Reviewed by Ken.
* bindings/c/c_utility.cpp:
(convertValueToNPVariant):
* bindings/jni/jni_instance.cpp:
(JavaInstance::invokeMethod):
* bindings/jni/jni_runtime.cpp:
(JavaField::valueFromInstance):
(JavaArray::valueAt):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject _setExecutionContext:KJS::Bindings::]):
(+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
* bindings/objc/WebScriptObjectPrivate.h:
* bindings/objc/objc_utility.h:
* bindings/objc/objc_utility.mm:
(KJS::Bindings::convertObjcValueToValue):
(KJS::Bindings::createObjcInstanceForValue):
* bindings/runtime.cpp:
(Instance::createBindingForLanguageInstance):
(Instance::createRuntimeObject):
(Instance::createLanguageInstanceForValue):
* bindings/runtime.h:
* kjs/interpreter.cpp:
(Interpreter::createLanguageInstanceForValue):
* kjs/interpreter.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 11 Feb 2005 23:50:09 +0000 (23:50 +0000)]
Fixed: <rdar://problem/
3937352> Quote level not maintained when copied and pasted within a Mail message
Reviewed by harrison.
* khtml/editing/markup.cpp:
(khtml::isMailBlockquote): new
(khtml::createMarkup): retain the Mail quote level by including all ancestor mail block quotes
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::positionForCoordinates): default to downstream for the affinity since the affinity is only upstream when the cursor is clicked to the right of a wrapped line
* khtml/rendering/render_text.cpp:
(RenderText::positionForCoordinates): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Fri, 11 Feb 2005 23:22:33 +0000 (23:22 +0000)]
Reviewed by Darin.
fix for <rdar://problem/
4004004> no need to add body element for xml documents
In the fix for <rdar://problem/
3758785> we decided to add a body element when closing a document
to ensure that the onload handler would fire. This is unnecessary for xml documents,
so now we also check to see if we're dealing with an html document before adding the body element.
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::close):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Fri, 11 Feb 2005 22:59:07 +0000 (22:59 +0000)]
Reviewed by Darin.
* layout-tests/apple-only/base/www.excite.com/index-expected.txt: updates tests because of custom tag change.
* layout-tests/apple-only/base/www.msnbc.com/index-expected.txt:
* layout-tests/apple-only/base/www.time.com/index-expected.txt:
* layout-tests/apple-only/base/www.travelocity.com/index-expected.txt:
* layout-tests/apple-only/base/www.zdnet.com/index-expected.txt:
* layout-tests/fast/overflow/003-expected.txt:
* layout-tests/fast/js/window-object-cross-frame-calls-expected.txt: updated test because of added Body (see rdar://problem/
3758785)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8582
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 11 Feb 2005 22:47:07 +0000 (22:47 +0000)]
versioning for TOT, Safari 2.0 (186+)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 11 Feb 2005 22:22:38 +0000 (22:22 +0000)]
Safari-186 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 11 Feb 2005 19:59:10 +0000 (19:59 +0000)]
Reviewed by Darin.
- fix deployment build on Panther
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
(-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 11 Feb 2005 17:05:32 +0000 (17:05 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3915449> paths are relative to the old src URL after document.open, which is supposed to clear the document, including the URL
* khtml/xml/dom_docimpl.h: Added a new openInternal function for use by KHTMLPart.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::open): Changed to do everything we did before, but also clear the URL and set the
base URL based on the enclosing document. This is the basic JavaScript/DOM operation of opening a
document, which is supposed to clear the document, including the URL. In the long run we might want
to do even more document "resetting and clearing" in here, but this URL clearing is what's needed
now to fix the most important problem.
(DocumentImpl::openInternal): Moved the old open code in here, except for the "parsing" check, which
is unnecessary and inappropriate in the one place we call this.
* khtml/khtml_part.cpp: (KHTMLPart::begin): Call openInternal instead of open.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Fri, 11 Feb 2005 01:38:31 +0000 (01:38 +0000)]
Reviewed by Richard.
<rdar://problem/
3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
(-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
(-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
(-[WebHTMLView selectToMark:]):
(-[WebHTMLView swapWithMark:]):
(-[WebHTMLView transpose:]):
(-[WebHTMLView _selectMarkedText]):
(-[WebHTMLView _selectRangeInMarkedText:]):
Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/
3937447>.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 11 Feb 2005 00:35:54 +0000 (00:35 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3992092> 8A374: Mail crash while pasting - RemoveNodeCommand
* khtml/editing/htmlediting.cpp:
(khtml::ReplaceSelectionCommand::doApply): Code tried to remove a node that was no longer in
the document. We try to do a good job of detecting all these cases, and generally do. This
one was missed. Fixed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 23:50:51 +0000 (23:50 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
4002084> Setting ResourceLoadDelegate to nil can cause a crash
* WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
Set booleans to either YES or NO, rather than setting them only in the YES case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 23:48:08 +0000 (23:48 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
"action" style methods in this class that don't always want to be valid. For the ones where state
makes sense, added the state-checking code too for the menu item case.
(-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
would work fine on a non-editable selection.
(-[WebHTMLView swapWithMark:]): Ditto.
(-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 23:47:48 +0000 (23:47 +0000)]
Reviewed by Harrison.
- added support needed to fix <rdar://problem/
3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
* kwq/WebCoreBridge.h: Added selectionHasStyle: method.
* kwq/WebCoreBridge.mm: (-[WebCoreBridge selectionHasStyle:]): Added. Calls selectionHasStyle on the part.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 22:51:39 +0000 (22:51 +0000)]
Reviewed by Harrison.
- fixed <rdar://problem/
3990484> cursor changes to I-beam when moving over text in widgets, even when selection off via CSS
* khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Changed code to check canSelect when deciding
whether to show an I-beam cursor.
* khtml/rendering/render_object.h: Added canSelect.
* khtml/rendering/render_object.cpp:
(selectStartNode): Added. Helper function with the guts of shouldSelect.
(RenderObject::canSelect): Added. Like shouldSelect, but does not call the "start selecting" event handler.
(RenderObject::shouldSelect): Refactored to use selectStartNode.
* khtml/css/cssvalues.c: Regnerated with newer gperf.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 Feb 2005 22:30:56 +0000 (22:30 +0000)]
Fix for
3867759, .mac regression where scrollers don't show up. Make sure you can set the .width and
.height properties on the Image object.
Reviewed by John Sullivan
* khtml/ecma/kjs_html.cpp:
(ImageConstructorImp::construct):
(Image::getValueProperty):
(Image::putValue):
(Image::Image):
* khtml/ecma/kjs_html.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 10 Feb 2005 22:25:28 +0000 (22:25 +0000)]
Reviewed by Chris
Fix for this bug:
<rdar://problem/
3965158> Drag-n-drop within a rich text message sometimes changes the color of the dragged text
This change fixes the bug....and much more. Now, for the first time, the paste code can do "smart merging"
or "smooshing" of styles during its operation. Since this new code is actively, rather than passively
working with styles, it fixes the bug, and lays the groundwork for similar work we need to do to
preserve quote levels in Mail.
* khtml/css/css_valueimpl.cpp:
(DOM::CSSMutableStyleDeclarationImpl::clear): New method.
(DOM::CSSMutableStyleDeclarationImpl::removeBlockProperties): Ditto.
(DOM::CSSMutableStyleDeclarationImpl::removePropertiesInSet): Ditto.
(DOM::operator==): Add operator for CSSProperty.
* khtml/css/css_valueimpl.h: Declare new functions.
* khtml/editing/htmlediting.cpp:
(khtml::isEmptyStyleSpan): Improved the test in this function, rolling together the old implementation
with some code that did this work inline elsewhere. Sum of the parts is better than either test was by itself.
(khtml::isStyleSpan): Check for ID_SPAN.
(khtml::ApplyStyleCommand::removeCSSStyle): Call isEmptyStyleSpan. This was the place with an inline implementation before.
(khtml::ReplacementFragment::ReplacementFragment): Now takes a DocumentImpl argument. No longer does a "default style"
check, but rather calls functions which do a similar check to that, and much more.
(khtml::ReplacementFragment::~ReplacementFragment): Deref document, and computed styles.
(khtml::ReplacementFragment::styleForNode): New helper. Looks up and returns computed style for a node.
(khtml::ReplacementFragment::removeNodePreservingChildren): New helper.
(khtml::ReplacementFragment::computeStylesForNodes): New function which computes the "desired" style for
every node in the fragment. This information is used later after paste is done as a reference for testing
what styles need to be added, and which can be removed as redundant, from all the nodes inserted by the
replacement code.
(khtml::ReplacementFragment::removeStyleNodes): Clears out all style nodes from the fragment. They are
no longer needed after the call to computeStylesForNodes(),
(khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): Add a document to the call to initialize the
command's ReplacementFragment.
(khtml::ReplaceSelectionCommand::doApply): Call applyStyleToInsertedNodes() after inserting nodes to make
styles come out right.
(khtml::ReplaceSelectionCommand::applyStyleToInsertedNodes): This is the "style smooshing" function. It
computes the styles that need to be added to each node inserted, comparing the style it gets from just
being inserted into its correct destination with the computed "desired style" done in the
ReplacementFragment constructor. It then adds in all the necessary styles, and will also remove redundant styles.
* khtml/editing/htmlediting.h: Update declarations and member variables as needed.
* khtml/editing/markup.cpp:
(khtml::startMarkup): Add additional style annotations to the markup we generate, so that paste code can preserve it.
(khtml::markup): Ditto.
(khtml::createMarkup): Ditto.
These test results are subtly better with this change. They no longer have an unneeded empty span.
Visually the same as before.
* layout-tests/editing/style/remove-underline-across-paragraph-expected.txt
* layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt
* layout-tests/editing/style/remove-underline-expected.txt
* layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt
New tests:
* layout-tests/editing/style/smoosh-styles-001-expected.txt
* layout-tests/editing/style/smoosh-styles-002-expected.txt
* layout-tests/editing/style/smoosh-styles-001.html
* layout-tests/editing/style/smoosh-styles-002.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 21:29:32 +0000 (21:29 +0000)]
Reviewed by Adele.
- fixed <rdar://problem/
3974988> WebHTMLView drops scroll wheel events when deltas are 0
* kwq/WebCoreScrollView.m: (-[WebCoreScrollView autoforwardsScrollWheelEvents]): Added, for Tiger only.
For Tiger, removed the override of scrollWheel:, which doesn't work quite right because of how the
delta attributes return all 0 for newfangled scrolling events from the new trackpads.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 19:46:10 +0000 (19:46 +0000)]
"Reviewed" by Richard (he told me the file was obsolete).
- got rid of an obsolete file
* bindings/npsap.h: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 10 Feb 2005 19:45:30 +0000 (19:45 +0000)]
"Reviewed" by Richard (he told me the file was obsolete).
- got rid of an obsolete file
* Plugins.subproj/npsap.h: Removed.
* copy-webcore-files-to-webkit: Removed npsap.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 10 Feb 2005 19:12:24 +0000 (19:12 +0000)]
Reviewed by Darin.
<rdar://problem/
3991532> REGRESSION (Mail): Triple-click on trailing blank line should select previous line but doesn't
* khtml/css/cssvalues.c:
(hash_val):
(findValue):
* khtml/editing/selection.cpp:
(khtml::Selection::validate):
Do moral equiavalent of LeftWordIfOnBoundary for PARAGRAPH.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 10 Feb 2005 19:03:36 +0000 (19:03 +0000)]
Reviewed by Darin.
<rdar://problem/
3991848> Double-click on first character selects wrong item
* khtml/editing/selection.cpp:
(khtml::Selection::validate):
Honor the fact that clicking on a character positions the cursor on the left side of the character.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 Feb 2005 10:21:00 +0000 (10:21 +0000)]
Fix for
3980778, repro crash in RootInlineBox::paint. Make sure that when merging blocks we dirty them for layout
up front. That way as we do the merge, we dont attempt to examine the lines in dirtyLinesForChangedChild.
Reviewed by mjs
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::removeChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8560
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 Feb 2005 09:55:35 +0000 (09:55 +0000)]
Fix for
3987010, fix a bug that caused the self-collapsing-block-cleared-float bit to never get set correctly.
Reviewed by mjs
* khtml/rendering/render_block.h:
(khtml::RenderBlock::MarginInfo::setSelfCollapsingBlockClearedFloat):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 10 Feb 2005 09:34:27 +0000 (09:34 +0000)]
Fix for
3992440, text not wrapping correctly on half moon bay web site. Refine an incorrect optimization I
added to be less restrictive.
Reviewed by mjs
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::layoutBlockChildren):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8558
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Thu, 10 Feb 2005 08:40:56 +0000 (08:40 +0000)]
Reviewed by Darin.
<rdar://problem/
3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow
I fixed this by removing all event listeners for a document, it's
children, and any disconnected nodes that used to be in the
document at document detach time. Mozilla temporarily disables
event listeners on such nodes, but re-enables them if you
re-parant a node into a new document. However, in WebCore, you
can't re-parent a node into another document, so there is no
observable change in behavior.
We have to do this to break the possible reference cycles between
event listeners and the dom nodes they are attached to (e.g. via
scope chain, as in this case).
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::detach):
(DocumentImpl::removeAllEventListenersFromAllNodesx):
(DocumentImpl::registerDisconnectedNodeWithEventListeners):
(DocumentImpl::unregisterDisconnectedNodeWithEventListeners):
(DocumentImpl::removeAllDisconnectedNodeEventListeners):
* khtml/xml/dom_docimpl.h:
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::~NodeImpl):
(NodeImpl::addEventListener):
(NodeImpl::removeEventListener):
(NodeImpl::removeAllEventListeners):
(NodeImpl::removeHTMLEventListener):
(NodeImpl::insertedIntoDocument):
(NodeImpl::removedFromDocument):
* khtml/xml/dom_nodeimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 10 Feb 2005 00:39:49 +0000 (00:39 +0000)]
Fixed: <rdar://problem/
3999213> Sometimes 2 Windows Media Player plugin instances are loaded
Reviewed by hyatt.
* khtml/html/html_objectimpl.cpp:
(HTMLObjectElementImpl::attach): Set needWidgetUpdate to false before calling updateWidget because updateWidget may cause this method or another method (which also calls updateWidget) to be called.
(HTMLObjectElementImpl::recalcStyle): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8556
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 10 Feb 2005 00:33:55 +0000 (00:33 +0000)]
Fixed <rdar://problem/
4000073> non-screen font error on worldofwarcraft.com
Reviewed by John Sullivan.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer _smallCapsFont]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Thu, 10 Feb 2005 00:30:06 +0000 (00:30 +0000)]
Reviewed by Darin.
<rdar://problem/
3937447> Mail-689: Arrow key navigation in new message body stops working when a line ends with a bold word
Added affinity to VisiblePosition. Changed Selection code to use affinity more.
(Partial) <rdar://problem/
3982096> editing/pasteboard/paste-text-007 is failing
Changed ReplaceSelectionCommand to also pay attention to the top children of the incoming fragment, not just the very last node inserted, when deciding whether to insert a paragraph for the Apple interchange newline.
* khtml/ecma/kjs_window.cpp:
(SelectionFunc::tryCall):
* khtml/editing/htmlediting.cpp:
(khtml::EditCommandPtr::setStartingSelection):
(khtml::EditCommandPtr::setEndingSelection):
(khtml::EditCommand::setStartingSelection):
(khtml::EditCommand::setEndingSelection):
(khtml::CompositeEditCommand::deleteInsignificantTextDownstream):
(khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
(khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
(khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
(khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(khtml::ApplyStyleCommand::joinChildTextNodes):
(khtml::DeleteSelectionCommand::initializePositionData):
(khtml::DeleteSelectionCommand::handleGeneralDelete):
(khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
(khtml::DeleteSelectionCommand::doApply):
(khtml::InsertLineBreakCommand::doApply):
(khtml::InsertParagraphSeparatorCommand::doApply):
(khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
(khtml::InsertTextCommand::input):
(khtml::MoveSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
(khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
(khtml::ReplaceSelectionCommand::doApply):
(khtml::ReplaceSelectionCommand::completeHTMLReplacement):
(khtml::ReplaceSelectionCommand::updateNodesInserted):
(khtml::TypingCommand::deleteKeyPressed):
(khtml::TypingCommand::forwardDeleteKeyPressed):
(khtml::TypingCommand::markMisspellingsAfterTyping):
* khtml/editing/htmlediting.h:
* khtml/editing/selection.cpp:
(khtml::Selection::Selection):
(khtml::Selection::init):
(khtml::Selection::moveTo):
(khtml::Selection::modifyExtendingRightForward):
(khtml::Selection::modifyMovingRightForward):
(khtml::Selection::modifyExtendingLeftBackward):
(khtml::Selection::modifyMovingLeftBackward):
(khtml::Selection::modify):
(khtml::Selection::xPosForVerticalArrowNavigation):
(khtml::Selection::clear):
(khtml::Selection::setBase):
(khtml::Selection::setExtent):
(khtml::Selection::setBaseAndExtent):
(khtml::Selection::layout):
(khtml::Selection::validate):
* khtml/editing/selection.h:
(khtml::Selection::startAffinity):
(khtml::Selection::endAffinity):
(khtml::Selection::baseAffinity):
(khtml::Selection::extentAffinity):
(khtml::operator==):
* khtml/editing/text_affinity.h:
(khtml::):
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::VisiblePosition):
(khtml::VisiblePosition::init):
(khtml::VisiblePosition::initUpstream):
(khtml::VisiblePosition::initDownstream):
(khtml::VisiblePosition::next):
(khtml::VisiblePosition::previous):
(khtml::startVisiblePosition):
(khtml::endVisiblePosition):
* khtml/editing/visible_position.h:
(khtml::VisiblePosition::):
(khtml::VisiblePosition::VisiblePosition):
(khtml::VisiblePosition::affinity):
(khtml::VisiblePosition::setAffinity):
(khtml::operator==):
* khtml/editing/visible_units.cpp:
(khtml::previousBoundary):
(khtml::nextBoundary):
(khtml::startOfLine):
(khtml::endOfLine):
(khtml::previousLinePosition):
(khtml::nextLinePosition):
(khtml::startOfParagraph):
(khtml::endOfParagraph):
(khtml::previousParagraphPosition):
(khtml::nextParagraphPosition):
(khtml::startOfBlock):
(khtml::endOfBlock):
(khtml::startOfDocument):
(khtml::endOfDocument):
* khtml/editing/visible_units.h:
* khtml/khtml_part.cpp:
(KHTMLPart::findTextNext):
(KHTMLPart::selectClosestWordFromMouseEvent):
(KHTMLPart::handleMousePressEventTripleClick):
(KHTMLPart::handleMousePressEventSingleClick):
(KHTMLPart::handleMouseMoveEventSelection):
(KHTMLPart::khtmlMouseReleaseEvent):
(KHTMLPart::selectAll):
(KHTMLPart::computeAndSetTypingStyle):
(KHTMLPart::selectionComputedStyle):
* khtml/rendering/render_br.cpp:
(RenderBR::positionForCoordinates):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::updateSelection):
* khtml/xml/dom_nodeimpl.cpp:
(NodeBaseImpl::setFocus):
* khtml/xml/dom_position.cpp:
(DOM::Position::previousCharacterPosition):
(DOM::Position::nextCharacterPosition):
* khtml/xml/dom_position.h:
* kwq/KWQAccObject.mm:
(-[KWQAccObject value]):
(-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]):
(-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]):
(-[KWQAccObject accessibilityAttributeValue:]):
(-[KWQAccObject doAXLineForTextMarker:]):
(-[KWQAccObject doAXTextMarkerRangeForLine:]):
(-[KWQAccObject doAXTextMarkerForPosition:]):
(-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]):
(-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]):
(-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
(-[KWQAccObject doAXNextLineEndTextMarkerForTextMarker:]):
(-[KWQAccObject doAXPreviousLineStartTextMarkerForTextMarker:]):
(-[KWQAccObject doSetAXSelectedTextMarkerRange:]):
* kwq/KWQAccObjectCache.mm:
(KWQAccObjectCache::textMarkerForVisiblePosition):
(KWQAccObjectCache::visiblePositionForTextMarker):
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::findString):
(KWQKHTMLPart::advanceToNextMisspelling):
(KWQKHTMLPart::styleForSelectionStart):
(KWQKHTMLPart::baseWritingDirectionForSelectionStart):
(KWQKHTMLPart::setSelectionFromNone):
(KWQKHTMLPart::respondToChangedSelection):
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setSelectedDOMRange:affinity:]):
(-[WebCoreBridge selectionAffinity]):
(-[WebCoreBridge setMarkDOMRange:]):
(-[WebCoreBridge _visiblePositionForPoint:]):
(-[WebCoreBridge moveDragCaretToPoint:]):
(-[WebCoreBridge editableDOMRangeForPoint:]):
(-[WebCoreBridge ensureSelectionVisible]):
(-[WebCoreBridge rangeOfCharactersAroundCaret]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8554
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 9 Feb 2005 21:52:28 +0000 (21:52 +0000)]
Fixed: <rdar://problem/
3985211> Seed: Mail: Drag-and-drop destination indicator / insertion point disappears
Reviewed by kocienda.
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::paintCaret): new
(khtml::RenderBlock::paintObject): call paintCaret for the cursor caret and the drag caret
* khtml/rendering/render_block.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 8 Feb 2005 23:41:31 +0000 (23:41 +0000)]
Versioning for TOT, Safari 2.0 (185+). The tree is open.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 8 Feb 2005 23:31:13 +0000 (23:31 +0000)]
Safari-185 stamp (can't use 184 b/c of the "4", of course)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 8 Feb 2005 17:33:18 +0000 (17:33 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3996344> Entire document content is deleted when only the first paragraph was supposed to be
Problem stems from my attempt to fix this bug: <rdar://problem/
3986155> Insertion point goes
to beginning of doc after deleting.
I added an "optimization" that proved to do more harm than good. So, basically, the fix is to remove code.
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::handleGeneralDelete)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 8 Feb 2005 16:53:20 +0000 (16:53 +0000)]
Reviewed by Kevin.
- fixed <rdar://problem/
3890352> REGRESSION (125-170, Panther-only): pasted textarea contents disappear (exception in NSText)
* kwq/KWQTextArea.mm: (-[KWQTextArea tile]): Don't resize the text view immediately here.
Use performWithDelay to defer it to avoid the re-entrancy that bothers the Panther version
of NSTextView. On Tiger, leave the code alone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 8 Feb 2005 16:52:54 +0000 (16:52 +0000)]
Reviewed by NOBODY (OOPS!).
- fixed <rdar://problem/
3890352> REGRESSION (125-170, Panther-only): pasted textarea contents disappear (exception in NSText)
* kwq/KWQTextArea.mm: (-[KWQTextArea tile]): Don't resize the text view immediately here.
Use performWithDelay to defer it to avoid the re-entrancy that bothers the Panther version
of NSTextView. On Tiger, leave the code alone.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Tue, 8 Feb 2005 01:33:11 +0000 (01:33 +0000)]
Reviewed by Darin.
Fix for <rdar://problem/
3993628> REGRESSION (180-181): Logitelnet bank's website doesn't work
This fixes an oversight in the fix for <rdar://problem/
3964286>.
We're now making sure there is a document before calling checkCompleted in slotLoaderRequestDone.
That function is called even when other parts finish loads of their subresources, so we could end
up calling checkCompleted before we had a document. We also looked over all the other calls to
checkCompleted to convince ourselves no other call sites had a similar issue.
* khtml/khtml_part.cpp: (KHTMLPart::slotLoaderRequestDone): Check if doc is nil before calling
checkCompleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8539
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 7 Feb 2005 22:42:17 +0000 (22:42 +0000)]
Fixed: <rdar://problem/
3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
(-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 7 Feb 2005 21:09:58 +0000 (21:09 +0000)]
Reviewed by Ken.
<rdar://problem/
3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 7 Feb 2005 16:32:45 +0000 (16:32 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3953302> Replacing quoted text ends up with blue-colored text that is not quoted
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::doApply): Removed special case delete code for select all. It was
causing as many bugs as it fixed. What's more, the design concept is a bit shaky. By removing
this special case, the bug goes away.
* khtml/editing/htmlediting.h: Remove declaration.
Test results using selectAll() updated to reflect changed behavior.
* layout-tests/editing/deleting/delete-
3775172-fix-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-
3654864-fix-expected.txt:
* layout-tests/editing/inserting/insert-
3775316-fix-expected.txt:
* layout-tests/editing/inserting/insert-
3851164-fix-expected.txt:
* layout-tests/editing/inserting/insert-
3907422-fix-expected.txt:
* layout-tests/editing/pasteboard/paste-text-015-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 16:26:19 +0000 (16:26 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3994164> setting a new style attribute with setAttribute("style") doesn't blow away the old style
* khtml/css/css_valueimpl.h: Renamed parseProperty to parseDeclaration, since it's used to parse
an entire style declaration, not a single property.
* khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::parseDeclaration): Renamed,
and added code to clear m_values.
* khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Call function by its
new name, and remove some unnecessary comments.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:44:25 +0000 (06:44 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3993722> need oncut and onpaste handlers implemented for <textarea> (needed for widgets)
* kwq/KWQTextArea.mm:
(-[KWQTextAreaTextView dispatchHTMLEvent:]): Added.
(-[KWQTextAreaTextView cut:]): Dispatch "before cut" and "cut" events.
(-[KWQTextAreaTextView copy:]): Dispatch "before copy" and "copy" events.
(-[KWQTextAreaTextView paste:]): Dispatch "before paste" and "paste" events.
(-[KWQTextAreaTextView pasteAsPlainText:]): Ditto.
(-[KWQTextAreaTextView pasteAsRichText:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:37:51 +0000 (06:37 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3943038> <input type=search> that is focused in onload handler doesn't have a visible editor
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::setFocusNode): Always update layout before giving focus to a widget.
This prevents the bad case where we give a widget focus before it has been positioned or sized, causing us to
exercise edge cases AppKit doesn't handle well.
* kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Remove workaround code I added
to fix bug
3943049. Updating the layout fixes the same problem in a cleaner, safer way, and solves another problem,
with the way the clip view is set up.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:31:18 +0000 (06:31 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3425232> textarea won't trigger onchange action when clicking to new field
* khtml/rendering/render_form.h: Added new m_dirty data member.
* khtml/rendering/render_form.cpp:
(RenderTextArea::RenderTextArea): Initialize m_dirty to false.
(RenderTextArea::detach): Call value() on the DOM element to cause it to fetch the value from this object.
(RenderTextArea::handleFocusOut): Ditto. Also send the onchange event based only on the m_dirty flag.
(RenderTextArea::updateFromElement): Clear the m_dirty flag if the edited value is blown away by a value
that comes from the DOM element. Remove code to clear the element's m_dirtyvalue flag; that's an unnecessary
optimization, and ideally we'll stop having code in the render object that knows about that flag later.
(RenderTextArea::slotTextChanged): Set the m_dirty flag.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:26:04 +0000 (06:26 +0000)]
Reviewed by Maciej.
- re-fixed <rdar://problem/
3760910> please add support for custom tag names in HTML
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::tagId): Use ID_LAST_TAG + 1 for the ID of the first assigned tag ID. Before we'd use ID_LAST_TAG,
which resulted in the same number being used for ID_COMMENT and the first custom tag.
(DocumentImpl::tagName): Use ID_LAST_TAG + 1, as above.
(DocumentImpl::namespaceURI): Change a < ID_LAST_TAG to <= ID_LAST_TAG in the same spirit as above.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:18:44 +0000 (06:18 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3986639> Crash occurs after choosing Undo Typing from the Edit menu
* kwq/KWQTextArea.mm: (-[KWQTextArea viewWillMoveToWindow:]): Remove actions from undo manager when the view is
removed from the window. Unfortunately, to do this the code has to know that the target of NSTextView actions
will be the text storage object, but given the NSText architecture, that's pretty clear.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 7 Feb 2005 06:13:54 +0000 (06:13 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
* WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
* English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
item rather than a file-independent one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Sun, 6 Feb 2005 20:19:57 +0000 (20:19 +0000)]
WebCore:
Fixed: <rdar://problem/
3991974> REGRESSION: www.jabra.com world location screen does not work
Reviewed by hyatt.
* kwq/KWQKJavaAppletWidget.mm:
(KJavaAppletWidget::KJavaAppletWidget): fallback to the document's base URL if there is no baseURL attribute
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge baseURL]): new
WebKit:
Fixed: <rdar://problem/
3991974> REGRESSION: www.jabra.com world location screen does not work
Reviewed by hyatt.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Sat, 5 Feb 2005 01:49:09 +0000 (01:49 +0000)]
Reviewed by Darin.
Rolled out Ken's accidental checkin when committing <rdar://problem/
3986155> fix yesterday.
* khtml/editing/selection.cpp:
(khtml::Selection::validate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Sat, 5 Feb 2005 01:45:23 +0000 (01:45 +0000)]
Reviewed by Darin.
Fix for <rdar://problem/
3758785> Safari no longer works at BankOfAmerica online banking for military users
When closing the document, if a body doesn't exist we now create one. This bug was preventing the onload handler from
firing in cases where there wasn't a body. In the BankOfAmerica case, the page was just a bit of script where the onload
handler redirected to the correct page.
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::close):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 4 Feb 2005 22:41:01 +0000 (22:41 +0000)]
Fixed: <rdar://problem/
3802781> rtf->html pasteboard conversion using xhtml
Reviewed by kocienda.
* WebView.subproj/WebHTMLView.m:
(+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
(-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 4 Feb 2005 22:18:43 +0000 (22:18 +0000)]
Reviewed by Chris
Fix for this bug:
<rdar://problem/
3986155> Insertion point goes to beginning of doc after deleting
* khtml/editing/htmlediting.cpp:
(khtml::DeleteSelectionCommand::setStartNode): New convenience to handle reference counting when setting.
(khtml::DeleteSelectionCommand::handleGeneralDelete): This contains the crux of the bug fix. Improve tests
that detect when a selected node needs to be retained, rather than deleted, to preserve the intent of the user.
This has the side effect of causing the insertion point placement code to succeed rather than fail. Before
this fix, the failure of the insertion point placement code caused the insertion point to jump to the start
of the document, which is the symptom that can be perceived by users when editing.
* khtml/editing/htmlediting.h: Add setStartNode declaration.
* khtml/editing/visible_units.cpp:
(khtml::startOfBlock): This function had a stubbed-in non-tested implementation. Implement and
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-001.html: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-002-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-002.html: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-003.html: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-004.html: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-005-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-005.html: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-006-expected.txt: Added.
* layout-tests/editing/deleting/delete-at-paragraph-boundaries-006.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 4 Feb 2005 18:45:37 +0000 (18:45 +0000)]
Move the Safari-183 marker in the ChangeLog, since we're going to include <rdar://problem/
3972905> in today's Safari-183 submission
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 4 Feb 2005 18:25:41 +0000 (18:25 +0000)]
Fixed: <rdar://problem/
3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 4 Feb 2005 01:44:27 +0000 (01:44 +0000)]
Fixed: <rdar://problem/
3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
Reviewed by darin.
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
(-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 4 Feb 2005 01:41:27 +0000 (01:41 +0000)]
Fixed <rdar://problem/
3972905> CrashTracer: ...36 crashes at com.apple.WebCore: khtml::CSSStyleSelector::applyDeclarations + 120
Revert to old (and correct) behavior of returning runtime object
when passed as a parameter, rather than it's corresponding DOM
object.
Reviewed by Chris.
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 4 Feb 2005 00:02:31 +0000 (00:02 +0000)]
Fixed: <rdar://problem/
3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
Reviewed by adele.
* WebView.subproj/WebTextView.m:
(+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 3 Feb 2005 23:57:26 +0000 (23:57 +0000)]
versioning for TOT, Safari 2.0 (183+)
The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 3 Feb 2005 23:46:13 +0000 (23:46 +0000)]
Safari-183 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 3 Feb 2005 22:22:27 +0000 (22:22 +0000)]
Fixed <rdar://problem/
3987419> Stocks and Weather leak what appears to XMLHTTPRequest results
XMLHTTPRequests were causing massive leaks. _webcore_initWithHeaderString: did funky things with
self replacement. Re-wrote to use more traditional factory constructor avoiding self replacement.
Reviewed by David Harrison.
* kwq/KWQLoader.mm:
(+[NSDictionary _webcore_dictionaryWithHeaderString:]):
(KWQServeRequest):
(KWQServeSynchronousRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 22:09:13 +0000 (22:09 +0000)]
* English.lproj/StringsNotToBeLocalized.txt: updated
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 21:59:47 +0000 (21:59 +0000)]
Fixed: <rdar://problem/
3989611> Evite style "add vCalendar to calendar" do not work
Reviewed by adele.
* WebView.subproj/WebTextView.m:
(+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 19:56:18 +0000 (19:56 +0000)]
Fixed: <rdar://problem/
3938763> Cannot view Windows Media Player videos (soundtrack is played twice with delay)
Reviewed by hyatt.
* khtml/html/html_objectimpl.cpp:
(HTMLObjectElementImpl::attach): set needWidgetUpdate to false right after calling updateWidget because dispatchHTMLEvent can end up calling this method again
(HTMLObjectElementImpl::recalcStyle): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 3 Feb 2005 18:17:00 +0000 (18:17 +0000)]
Reviewed by Darin.
- fix deployment build breakage on Panther
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView toggleBaseWritingDirection:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8511
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 3 Feb 2005 01:44:46 +0000 (01:44 +0000)]
Reviewed by Chris.
- WebKit part of fix for <rdar://problem/
3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
iFrame involved
This also fixes the problems with printing from GMail, yay!
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
Don't adjust margins for header/footer here, because this is called for each subframe.
(-[WebHTMLView knowsPageRange:]):
Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
Also, round the page height to an integer here (noticed in passing).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Thu, 3 Feb 2005 01:44:11 +0000 (01:44 +0000)]
Reviewed by Chris.
- WebCore part of fix for <rdar://problem/
3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
iFrame involved
This also fixes the problems with printing from GMail, yay!
* khtml/rendering/render_flow.cpp:
(RenderFlow::paintLines):
If the current line is taller than the entire page height (e.g. tall iFrame), don't try
to avoid splitting it across pages.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
Handle error cases in a more obvious manner; this will cause future problems like this
to print a blank page and complain to the console on debug builds, rather than print a
zillionty mostly-blank pages.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 00:47:31 +0000 (00:47 +0000)]
Fixed: <rdar://problem/
3960304> can't load a particular applet (at escape.de) unless it's the first applet to be loaded
Reviewed by hyatt.
* khtml/rendering/render_frames.cpp:
(RenderPartObject::updateWidget): when getting the MIME type from the PARAM tag, make sure the MIME type is the text from the left of the semi-colon if there is one. We do this elsewhere as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 3 Feb 2005 00:14:52 +0000 (00:14 +0000)]
Fixed: <rdar://problem/
3986546> Cut, delete, and paste menu items are active when a image is opened in window
Reviewed by john.
* WebView.subproj/WebView.m:
(-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item
(-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
(-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
(-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 2 Feb 2005 22:01:43 +0000 (22:01 +0000)]
WebCore:
Fixed: <rdar://problem/
3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
Reviewed by rjw.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::sendContextMenuEvent): check if SPI to always enable selecting closest word is enabled
* kwq/WebCoreBridge.h:
WebKit:
Fixed: <rdar://problem/
3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
Reviewed by rjw.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge selectWordBeforeMenuEvent]): new
* WebView.subproj/WebView.m:
(-[WebView _selectWordBeforeMenuEvent]): new SPI
(-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 2 Feb 2005 21:31:22 +0000 (21:31 +0000)]
Fixed: <rdar://problem/
3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
Reviewed by rjw.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:53:24 +0000 (19:53 +0000)]
Reviewed by me
* khtml/editing/markup.cpp:
(khtml::createMarkup): Removed debug spam I committed earlier in error.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:23:36 +0000 (19:23 +0000)]
Missed adding changelog comments for one of a batch of fixes I landed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:09:45 +0000 (19:09 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
new feature that allows callers to force all properties in a style to be applied as block styles.
(-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
(-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 2 Feb 2005 19:09:36 +0000 (19:09 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
Since base writing direction is a paragraph-level property in AppKit, and we use the CSS direction
property in WebCore, which can be applied to inline elements as well as blocks, a new notion has
been added to the WebCore apply style logic. It is now possible to force all properties in a
style declaration to be applied as though they were block properties.
* khtml/editing/htmlediting.cpp:
(khtml::ApplyStyleCommand::ApplyStyleCommand): Add an enum and a flag to this command that controls whether to force all
properties in the style to be applied as block styles. Default is "no", retaining previous behavior.
(khtml::ApplyStyleCommand::doApply): Switch on new flag to apply styles as before, or force all preoperties to be applied
as block styles.
* khtml/editing/htmlediting.h:
(khtml::ApplyStyleCommand::): Add an enum and a flag, as above.
* khtml/khtml_part.cpp:
(KHTMLPart::applyParagraphStyle): New method to force application of all style properties as block styles.
* khtml/khtml_part.h: Update header declarations.
* kwq/KWQKHTMLPart.h: Update header declarations.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::baseWritingDirectionForSelectionStart): Accessor to help WebKit do a toggle operation on
writing direction.
* kwq/WebCoreBridge.h: Update header declarations.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge applyParagraphStyle:withUndoAction:]): New method to force application of all style properties as block styles.
(-[WebCoreBridge baseWritingDirectionForSelectionStart]): Accessor to help WebKit do a toggle operation on
writing direction.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8501
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 2 Feb 2005 02:51:58 +0000 (02:51 +0000)]
Fixed <rdar://problem/
3985535> QT Plug-in JavaScript support now fails in <embed> tag only case
Reviewed by Maciej.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLDocument::tryGet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8500
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 2 Feb 2005 02:13:43 +0000 (02:13 +0000)]
Fixed <rdar://problem/
3977727> WebKit should use new SPI to support faster GIF rendering
Note: This REQUIRES build >= 3A362 when building on Tiger.
Reviewed by John.
* WebCoreSupport.subproj/WebImageData.m:
(-[WebImageData _imageSourceOptions]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Wed, 2 Feb 2005 01:54:18 +0000 (01:54 +0000)]
Written by Darin, reviewed and tested by me
- fixed <rdar://problem/
3969684> Panther-only: extra blank lines between
pasted content from Blot
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::attributedString):
don't emit paragraph breaks if the margins are tiny; matches what
we do for plain-text conversion
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 2 Feb 2005 01:06:52 +0000 (01:06 +0000)]
versioning for TOT, Safari 2.0 (182+)
the tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 2 Feb 2005 00:50:15 +0000 (00:50 +0000)]
Safari-182 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8495
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 1 Feb 2005 23:06:59 +0000 (23:06 +0000)]
Additional part of last checkin that I missed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 1 Feb 2005 22:28:11 +0000 (22:28 +0000)]
WebKit:
Added new SPI for <rdar://problem/
3967063> need spi on WebView to turn of lcd text for Dashboard
Reviewed by Chris.
* WebCoreSupport.subproj/WebTextRenderer.m:
(_drawGlyphs):
* WebView.subproj/WebView.m:
(-[WebView drawRect:]):
(-[WebView _dashboardBehavior:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
WebBrowser:
Used new SPI (from <rdar://problem/
3967063> need spi on WebView to turn of lcd text for Dashboard)
Reviewed by Chris.
* EtchedStringButtonCell.m:
(-[EtchedStringButtonCell drawInteriorWithFrame:inView:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 1 Feb 2005 21:23:02 +0000 (21:23 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3985160> Deficiencies in pasting architecture blocking progress on other bugs
* khtml/editing/html_interchange.h: Move style span text used to mark element added to
add style to this header.
* khtml/editing/htmlediting.cpp:
(khtml::styleSpanClassString): Change to use constant moved to html_interchange.h.
(khtml::isStyleSpan): New helper function. Checks if this is a span we added to apply style.
(khtml::CompositeEditCommand::insertNodeBefore): Added an assert to check that the node
we are inserting before is not the body.
(khtml::CompositeEditCommand::insertNodeAfter): Ditto, but check is for after.
(khtml::ReplacementFragment::ReplacementFragment): Added code to process the "default style"
that is added by the copy code.
(khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): first and last nodes inserted are
now member variables instead of function locals. Initialize them here.
(khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): Deref first and last nodes inserted
if necessary.
(khtml::ReplaceSelectionCommand::doApply): Change design to fix the bug. Major change is to
separate out the code that inserts nodes into the tree so additional styling checks can
be done in a centralized way. Also got rid of the notion of "merging into the end block." That
concept was just wrong.
(khtml::ReplaceSelectionCommand::completeHTMLReplacement): Tweak interface now that first and
last nodes inserted are member variables.
(khtml::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): New helper used
by replace code to do the stated DOM operation and update state internal to the command.
This will also be a catch point to handle the kinds of additional style checks needed to
make paste work right.
(khtml::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): Ditto.
(khtml::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted): Ditto.
(khtml::ReplaceSelectionCommand::updateNodesInserted): Ditto.
* khtml/editing/htmlediting.h: Update declarations as needed.
* khtml/editing/markup.cpp:
(khtml::createMarkup): Adds a "default style" span to the content written to the pasteboard.
This will help us to fix some of the bugs blocked by the bug above.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::lastDescendent): New helper.
* khtml/xml/dom_nodeimpl.h: Ditto.
* khtml/xml/dom_position.cpp:
(DOM::Position::upstream): Fixed a bug which would allow the upstream position returned to be
in unrendered content.
(DOM::Position::downstream): Ditto.
* layout-tests/editing/deleting/delete-
3775172-fix-expected.txt: Ending positions tweaked due to
changes in upstream() and downstream() functions.
* layout-tests/editing/inserting/insert-
3851164-fix-expected.txt: Ditto
* layout-tests/editing/inserting/insert-
3907422-fix-expected.txt: Ditto
* layout-tests/editing/selection/extend-by-character-006-expected.txt: Ditto
* layout-tests/editing/pasteboard/paste-text-003-expected.txt: Changed what we expect, given
new behavior of paste code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 1 Feb 2005 01:20:56 +0000 (01:20 +0000)]
Reviewed by Dave Hyatt.
- fixed <rdar://problem/
3983097> Tabbing on RSS pages gets stuck in search field
with "full keyboard navigation" off
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(QSlider::focusPolicy):
Implemented this method for KWQSlider. It is needed for our widget subclasses that
can become focused in some situations. I missed this when fixing
3949203 because
it only comes into play when tab-to-controls is on, and because the other relevant
methods are objective-C methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 1 Feb 2005 00:40:40 +0000 (00:40 +0000)]
Fixed: <rdar://problem/
3949806> REGRESSION: Source window fails to refresh correctly on reload
The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
Reviewed by darin.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _setData:]): moved within file
(-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
* WebView.subproj/WebDataSourcePrivate.h:
* WebView.subproj/WebMainResourceClient.m:
(-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 1 Feb 2005 00:04:34 +0000 (00:04 +0000)]
Fixed: <rdar://problem/
3946285> Seed: Safari crashed by selecting all at internet-moebel.com
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
(-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
(-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:52:28 +0000 (23:52 +0000)]
Reviewed by Darin.
<rdar://problem/
3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView maintainsInactiveSelection]):
Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:16:39 +0000 (23:16 +0000)]
Reviewed by Darin.
<rdar://problem/
3964164> AXWebArea needs to unregister on going invisible
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::detach):
Detach the AX UIElement for the AXWebArea.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8487
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 23:08:26 +0000 (23:08 +0000)]
Reviewed by Darin
<rdar://problem/
3850876> AX: button exposed as only an AXImage at http://appleseed.apple.com/ site (<input type=image>)
* khtml/rendering/render_form.h:
(khtml::RenderImageButton::isImageButton):
New.
* khtml/rendering/render_image.h:
(khtml::RenderImage::isImageButton):
New.
* kwq/KWQAccObject.mm:
(-[KWQAccObject isImageButton]):
(-[KWQAccObject actionElement]):
(-[KWQAccObject role]):
(-[KWQAccObject accessibilityActionNames]):
(-[KWQAccObject accessibilityPerformAction:]):
Represent RenderImageButton elements as buttons instead of images.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison [Mon, 31 Jan 2005 20:12:49 +0000 (20:12 +0000)]
Prevent nil dereference in debug code.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::displayTree):
Stop when parent is 0, too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 31 Jan 2005 19:14:35 +0000 (19:14 +0000)]
Reviewed by Dave Hyatt.
- fixed <rdar://problem/
3949203> cannot tab to, within, or out of the RSS sidebar
* kwq/KWQSlider.mm:
(-[KWQSlider becomeFirstResponder]):
(-[KWQSlider resignFirstResponder]):
(-[KWQSlider nextKeyView]):
(-[KWQSlider previousKeyView]):
(-[KWQSlider canBecomeKeyView]):
(-[KWQSlider nextValidKeyView]):
(-[KWQSlider previousValidKeyView]):
Copied these methods from KWQButton. The lack of special handling for first-responder-ness
here was causing the focus to get "stuck" on the RSS page's slider widget. Added FIXME
about how it would be nice to share more of this code rather than replicating it in each
KWQ widget subclass.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc