mjs [Tue, 24 Aug 2004 02:50:42 +0000 (02:50 +0000)]
Reviewed by Kevin.
- remove annoying ERROR spew and replace with comment
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView validAttributesForMarkedText]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 24 Aug 2004 01:19:30 +0000 (01:19 +0000)]
Reviewed by Richard.
- a bit of code cleanup
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _stringWithData:]): Call textEncodingName instead of
copying it's code.
(-[WebDataSource textEncodingName]): Tweak formatting.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 24 Aug 2004 00:12:25 +0000 (00:12 +0000)]
Fixed build.
* WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 23 Aug 2004 23:36:44 +0000 (23:36 +0000)]
Fixed: <rdar://problem/
3674867> use new Security framework SPI's to reenable cert acquisition
Reviewed by john.
* WebCoreSupport.subproj/WebKeyGeneration.cpp:
* WebCoreSupport.subproj/WebKeyGeneration.h:
* WebCoreSupport.subproj/WebKeyGenerator.h:
* WebCoreSupport.subproj/WebKeyGenerator.m:
(-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
(-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
* WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
(gnrAddContextAttribute):
(gnrGetSubjPubKey):
(gnrNullAlgParams):
(gnrSign):
(gnrFreeCssmData):
(nssArraySize):
(signedPublicKeyAndChallengeString):
(addCertificateToKeychainFromData):
(addCertificatesToKeychainFromData):
* WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Aug 2004 23:02:24 +0000 (23:02 +0000)]
Get rid of stray conflict markers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Mon, 23 Aug 2004 21:17:38 +0000 (21:17 +0000)]
Reviewed by Maciej.
- fixed rdar://problem/
3681094> Crash in KJS::WindowFunc::tryCall
with application/xhtml+xml Content-Type
* khtml/ecma/kjs_window.cpp:
(WindowFunc::tryCall): since this is an xml document, we get the
domain from the xmlDocImpl(), not docImpl().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 23 Aug 2004 19:05:15 +0000 (19:05 +0000)]
bump all version numbers to 160u, since I just submitted WebBrowser-159
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Aug 2004 18:06:37 +0000 (18:06 +0000)]
Reviewed by Darin.
<rdar://problem/
3771426> assertion failed due to reentering dispatchImageLoadEventsNow
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::dispatchImageLoadEventsNow): Avoid re-entering this
function, since it uses a data member for the copy of the list of events
to be dispatched.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 23 Aug 2004 17:52:11 +0000 (17:52 +0000)]
Reviewed by Darin.
<rdar://problem/
3770306> XMLHttpRequest does not honor character set encoding
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::slotData): Get encoding from the transfer job.
* kwq/KWQKJobClasses.h:
* kwq/KWQKJobClasses.mm:
(KIO::TransferJobPrivate::TransferJobPrivate): Added retrievedCharset
flag.
(KIO::TransferJob::retrieveCharset): New method, gets the charset
from the response.
(KIO::TransferJob::queryMetaData): Handle charset.
(KIO::TransferJob::emitReceivedResponse): Clear retreivedCharset flag.
* kwq/KWQLoader.h:
* kwq/KWQLoader.mm:
(KWQResponseTextEncodingName): New function, gets the encoding from the response.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 23 Aug 2004 17:44:03 +0000 (17:44 +0000)]
Apply leo's fix to marquees.
Reviewed by hyatt
* khtml/rendering/render_layer.cpp:
(Marquee::start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 23 Aug 2004 16:12:00 +0000 (16:12 +0000)]
Reviewed by Maciej.
- added an ascii() member function to DOMString and DOMStringImpl to help debugging
* khtml/dom/dom_string.h: Add ascii member function for debugging.
* khtml/dom/dom_string.cpp: (DOM::DOMString::ascii): Added. Calls through to DOMStringImpl::ascii.
* khtml/xml/dom_stringimpl.h: Add ascii member function for debugging.
* khtml/xml/dom_stringimpl.cpp: (DOM::DOMStringImpl::ascii): Added. Makes a new buffer and puts
a simple ASCII version in it. Maybe make it better about characters outside the 0x20-0x7E range
some day, but for now this is way better than what we had before.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Sat, 21 Aug 2004 00:58:24 +0000 (00:58 +0000)]
Divorce the notion of a marquee being stopped from JS from the notion of being suspended by the back/forward cache.
* khtml/ecma/kjs_html.cpp:
(KJS::HTMLElementFunction::tryCall):
* khtml/rendering/render_layer.cpp:
(m_direction):
(Marquee::start):
(Marquee::stop):
(Marquee::updateMarqueePosition):
* khtml/rendering/render_layer.h:
(khtml::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 20 Aug 2004 23:37:47 +0000 (23:37 +0000)]
Fix layout tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 20 Aug 2004 23:12:11 +0000 (23:12 +0000)]
Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
Reviewed by darin
* Misc.subproj/WebUnicode.m:
(_unicodeDirection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 20 Aug 2004 23:09:09 +0000 (23:09 +0000)]
Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 20 Aug 2004 21:57:16 +0000 (21:57 +0000)]
WebKit:
Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.
Reviewed by Hyatt.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge getAppletInView:]):
WebCore:
Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.
Reviewed by Hyatt.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getAppletInstanceForView):
* kwq/WebCoreBridge.mm:
(rootForView):
(-[WebCoreBridge executionContextForView:]):
JavaScriptCore:
Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.
Reviewed by Hyatt.
* JavaScriptCore.pbproj/project.pbxproj:
* bindings/c/c_instance.h:
(KJS::Bindings::CInstance::setExecutionContext):
(KJS::Bindings::CInstance::executionContext):
* bindings/jni/jni_instance.cpp:
(JavaInstance::JavaInstance):
(JavaInstance::invokeMethod):
(JavaInstance::setExecutionContext):
(JavaInstance::executionContext):
* bindings/jni/jni_instance.h:
* bindings/jni/jni_jsobject.cpp:
(JSObject::convertJObjectToValue):
* bindings/jni/jni_runtime.cpp:
(JavaField::JavaField):
(JavaArray::convertJObjectToArray):
(JavaField::valueFromInstance):
(JavaArray::JavaArray):
(JavaArray::valueAt):
* bindings/jni/jni_runtime.h:
(KJS::Bindings::JavaArray::operator=):
(KJS::Bindings::JavaArray::executionContext):
* bindings/jni/jni_utility.h:
* bindings/objc/objc_instance.h:
(KJS::Bindings::ObjcInstance::setExecutionContext):
(KJS::Bindings::ObjcInstance::executionContext):
* bindings/runtime.cpp:
(Instance::createBindingForLanguageInstance):
* bindings/runtime.h:
* bindings/runtime_root.h:
(KJS::Bindings::RootObject::nativeHandle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 20 Aug 2004 21:15:22 +0000 (21:15 +0000)]
Reviewed by Darin.
More text paint cleanup. Separated the background and foreground
passes instead of doing a weird for loop thing. Eliminated
redundant if conditions. Added comments.
* khtml/rendering/render_text.cpp:
(RenderText::paint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 20 Aug 2004 20:19:53 +0000 (20:19 +0000)]
Reviewed by Darin
* khtml/css/css_computedstyle.cpp:
(DOM::): Changed CopyProperties constant to InheritableProperties. This reflects the
name change of copy() to copyInheritableProperties()
(DOM::CSSComputedStyleDeclarationImpl::copyInheritableProperties: Renamed from copy().
Now just copies those properties which can be inherited.
(DOM::CSSComputedStyleDeclarationImpl::diff): Add a couple null checks.
* khtml/css/css_computedstyle.h: copyInheritableProperties name change. No longer needs to be virtual.
* khtml/css/css_valueimpl.cpp: Removed unneeded copy() function from CSSStyleDeclarationImpl.
* khtml/css/css_valueimpl.h: Ditto.
* khtml/editing/htmlediting.cpp:
(khtml::EditCommand::typingStyle): Added.
(khtml::EditCommand::setTypingStyle): Added.
* khtml/editing/htmlediting.h:
* khtml/editing/htmlediting_impl.cpp:
(khtml::StyleChange::currentlyHasStyle): Fix leak of computed style used in this function.
(khtml::EditCommandImpl::EditCommandImpl): Initialize m_typingStyle.
(khtml::EditCommandImpl::~EditCommandImpl): Deref m_typingStyle.
(khtml::EditCommandImpl::assignTypingStyle): New helper used in setting typing style.
(khtml::EditCommandImpl::setTypingStyle): New setter.
(khtml::DeleteSelectionCommandImpl::doApply): Use new method for managing typing style.
* khtml/editing/htmlediting_impl.h:
(khtml::EditCommandImpl::typingStyle): New accessor.
* khtml/khtml_part.cpp:
(KHTMLPart::appliedEditing): Restores typing style from command after setting selection.
(KHTMLPart::applyStyle): Does a diff between the current style and the style of the caret.
* khtml/khtml_part.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::computedStyle): Now returns a CSSComputedStyleDeclarationImpl instead of a plain
CSSStyleDeclarationImpl.
* khtml/xml/dom_position.h:
* layout-tests/editing/style/style-
3681552-fix-002-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 20 Aug 2004 18:44:42 +0000 (18:44 +0000)]
Get rid of weird chars in bug titles from last checkin (maybe nb spaces?)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 20 Aug 2004 18:29:07 +0000 (18:29 +0000)]
WebCore:
3655407 - Editing:�complete:�ethod�nimplemented�WebKit�diting�PI)
One new support routine here.
Reviewed by John
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge caretRectAtNode:offset:]): New routine.
(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
Fixed former misleading method name.
WebKit:
3655407 - Editing:�complete:�ethod�nimplemented�WebKit�diting�PI)
This feature is mostly implemented. The only loose ends I know of are:
3769654 - text insertions done via complete: should preserve case of full replacement string
3769652 - positioning of complete: popup window wrong for right-to-left languages
Reviewed by John
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLViewPrivate dealloc]): Free new object.
(-[WebHTMLView menuForEvent:]): Bail on completion session.
(-[WebHTMLView windowDidResignKey:]): Ditto.
(-[WebHTMLView windowWillClose:]): Ditto.
(-[WebHTMLView mouseDown:]): Ditto.
(-[WebHTMLView resignFirstResponder]): Ditto.
(-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event.
Give the CompleteController a crack at the key event.
(-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename
(-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing.
(-[WebHTMLView checkSpelling:]): Add ERROR().
(-[WebHTMLView showGuessPanel:]): Add ERROR().
(-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
(-[WebHTMLView ignoreSpelling:]): Add ERROR().
(-[WebTextCompleteController initWithHTMLView:]):
(-[WebTextCompleteController dealloc]):
(-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
(-[WebTextCompleteController _buildUI]): Make popup window.
(-[WebTextCompleteController _placePopupWindow:]): Position popup window.
(-[WebTextCompleteController doCompletion]): Lookup matches, display window.
(-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session.
(-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up.
(-[WebTextCompleteController _reflectSelection]): Handle choice in popup.
(-[WebTextCompleteController tableAction:]): Handle double click in popup
(-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches.
(-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto.
(-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change.
* WebView.subproj/WebHTMLViewInternal.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 20 Aug 2004 16:57:07 +0000 (16:57 +0000)]
I neglected to add these files on my previous checkin
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 20 Aug 2004 16:55:47 +0000 (16:55 +0000)]
Reviewed by Trey
Fix for this bug:
<rdar://problem/
3768378> crash typing newline in Blot
* khtml/editing/htmlediting_impl.cpp:
(khtml::InputNewlineCommandImpl::doApply): Adding an assert in a recent change
showed up that inserting newlines that was not being handled correctly for the
case described in the bug. I added a new case to handle inserting BR's when
at the caret max offset for a node, and this new code runs instead of the
fall-through case that should not have been running and triggered the assert.
* layout-tests/editing/inserting/insert-br-case2-expected.txt: Regenerated results.
* layout-tests/editing/inserting/insert-br-case6-expected.txt: Added.
* layout-tests/editing/inserting/insert-br-case6.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 20 Aug 2004 16:53:59 +0000 (16:53 +0000)]
Fixing: Spellchecker called once or twice for every char typed.
Reviewed by Ken
* khtml/khtml_part.cpp:
(KHTMLPart::setSelection): Don't do any spell checking if we're typing (it's done
elsewhere, in markMisspellingsAfterTyping)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 20 Aug 2004 16:06:33 +0000 (16:06 +0000)]
* English.lproj/StringsNotToBeLocalized.txt:
checked this in; the only difference is that
the strings were out of order.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 20 Aug 2004 03:26:06 +0000 (03:26 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3549369> Crash at www.e1.ru in HTMLTokenizer::notifyFinished
Probably also fixed the following likely duplicates:
<rdar://problem/
3503938> Safari crashed opening many tabs (HTMLTokenizer::notifyFinished(khtml::CachedObject*))
<rdar://problem/
3566332> CrashTracer: ..405 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
<rdar://problem/
3703964> CrashTracer: ...86 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
<rdar://problem/
3703969> CrashTracer: ..234 crashes at com.apple.WebCore: HTMLTokenizer::notifyFinished + 0x1c8
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::open): call setParsing(true), because we need to know we are once again
parsing when we re-open a document that has previously completed loading.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 20 Aug 2004 02:21:32 +0000 (02:21 +0000)]
Reviewed by Dave and Darin.
* khtml/rendering/render_text.cpp:
(RenderText::paint): Split apple and non-apple code paths to allow further cleanup.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7305
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 20 Aug 2004 00:38:01 +0000 (00:38 +0000)]
Reviewed by Dave.
- fixed <rdar://problem/
3767274> crash in partForWidget inside setFocus (test page attached)
* kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Remove code to do position
the widget; no longer needed since we reworked how widgets get their positions.
* kwq/KWQWidget.mm: (QWidget::setFocus): Ditto. This was the one that caused the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 20 Aug 2004 00:11:34 +0000 (00:11 +0000)]
Continue to call old pollForAppletInView: in Tiger until
we get an plugin that supports the new API.
Reviewed by Chris.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge getAppletInView:]):
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 19 Aug 2004 23:23:33 +0000 (23:23 +0000)]
Fix crash when text is contained inside a table-colgroup.
Reviewed by john
* khtml/xml/dom_textimpl.cpp:
(TextImpl::rendererIsNeeded):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Thu, 19 Aug 2004 23:17:26 +0000 (23:17 +0000)]
Unexpected errors hit while finding word boundaries, leading to crash.
Reviewed by Ken.
* kwq/KWQTextUtilities.cpp:
(KWQFindWordBoundary): Don't call UCFindTextBreak with edge cases it thinks
are param errors, and pass correct mask for forward case. Also fix off-by-one
crashers in fallback code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 19 Aug 2004 22:50:30 +0000 (22:50 +0000)]
Make XSLT imports/includes work. This code has to be turned off until the newer version of libxslt is
available.
Reviewed by kocienda
* khtml/css/css_ruleimpl.cpp:
(CSSImportRuleImpl::init):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::~DocumentImpl):
(DocumentImpl::applyXSLTransform):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::setTransformSource):
(DOM::DocumentImpl::transformSource):
* khtml/xml/dom_xmlimpl.cpp:
(DOM::ProcessingInstructionImpl::checkStyleSheet):
* khtml/xml/xml_tokenizer.cpp:
(khtml::matchFunc):
(khtml::openFunc):
(khtml::readFunc):
(khtml::writeFunc):
(khtml::createQStringParser):
(khtml::XMLTokenizer::setTransformSource):
* khtml/xsl/xsl_stylesheetimpl.cpp:
(DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
(DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl):
(DOM::XSLStyleSheetImpl::isLoading):
(DOM::XSLStyleSheetImpl::clearDocuments):
(DOM::XSLStyleSheetImpl::parseString):
(DOM::XSLStyleSheetImpl::loadChildSheets):
(DOM::XSLStyleSheetImpl::loadChildSheet):
(DOM::XSLImportRuleImpl::parentStyleSheet):
(DOM::XSLStyleSheetImpl::compileStyleSheet):
(DOM::XSLStyleSheetImpl::locateStylesheetSubResource):
(DOM::XSLImportRuleImpl::XSLImportRuleImpl):
(DOM::XSLImportRuleImpl::~XSLImportRuleImpl):
(DOM::XSLImportRuleImpl::setStyleSheet):
(DOM::XSLImportRuleImpl::isLoading):
(DOM::XSLImportRuleImpl::loadSheet):
* khtml/xsl/xsl_stylesheetimpl.h:
(DOM::XSLStyleSheetImpl::setOwnerDocument):
(DOM::XSLStyleSheetImpl::setDocument):
(DOM::XSLStyleSheetImpl::markAsProcessed):
(DOM::XSLStyleSheetImpl::processed):
(DOM::XSLImportRuleImpl::href):
(DOM::XSLImportRuleImpl::styleSheet):
(DOM::XSLImportRuleImpl::isImportRule):
* khtml/xsl/xslt_processorimpl.cpp:
(DOM::m_sourceDocument):
(DOM::stylesheetLoadFunc):
(DOM::XSLTProcessorImpl::transformDocument):
* khtml/xsl/xslt_processorimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 19 Aug 2004 21:00:11 +0000 (21:00 +0000)]
set version to Safari 2.0, (v159u) for tip of tree.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 19 Aug 2004 20:54:53 +0000 (20:54 +0000)]
Safari-158 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 19 Aug 2004 17:34:06 +0000 (17:34 +0000)]
Fixed typo in comment.
* Misc.subproj/WebIconDatabase.m:
(-[WebIconDatabase _updateFileDatabase]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 19 Aug 2004 17:33:36 +0000 (17:33 +0000)]
Fixed: <rdar://problem/
3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
Reviewed by trey.
* Misc.subproj/WebIconDatabase.m:
(-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 19 Aug 2004 16:21:29 +0000 (16:21 +0000)]
- initialize deletedElementIndex to make the compiler happy
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Thu, 19 Aug 2004 00:30:38 +0000 (00:30 +0000)]
3765958 - downstreamPosition() can hit infinite loop when at end of doc
The problem was that I had a position that was after the maximum position in the text
node, because it was the old caret position before a backspace was processed. Later
I happened to call downstream() on that position, and hit the bug. Fix is to consider
a position past the end point of its node if it is *greater than* or equal to its max offset.
Reviewed by Ken.
* khtml/xml/dom_positioniterator.cpp:
(DOM::PositionIterator::atEnd):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7290
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 19 Aug 2004 00:15:47 +0000 (00:15 +0000)]
Make the header overlap the footer in the zero-line case. Changes to Emerson's template will ensure the
header draws over the footer.
Reviewed by darin
* khtml/rendering/render_block.cpp:
(khtml::getHeightForLineCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7289
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 18 Aug 2004 23:34:39 +0000 (23:34 +0000)]
WebKit:
Replace horrible pollForAppletInView: with new
webPlugInGetApplet. The details of how the applet instance
is provided now belong to the Java team. Yeh.
Reviewed by Chris.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge getAppletInView:]):
WebCore:
Replace horrible pollForAppletInView: with new
webPlugInGetApplet. The details of how the applet instance
is provided now belong to the Java team. Yeh.
Reviewed by Chris.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::getAppletInstanceForView):
* kwq/WebCoreBridge.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7288
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 18 Aug 2004 18:19:40 +0000 (18:19 +0000)]
Fixed: <rdar://problem/
3692199> 8A146: Safari crashes in toHTMLWithOptions, selection with no renderer (various sites)
Reviewed by trey.
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::toHTML): renamed, don't assume that nodes of the range had renderers, use the common ancestor of the range as the root
* khtml/xml/dom2_rangeimpl.h:
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::recursive_toHTML): renamed, removed code that determines whether to include the root in the HTML, leave this up to the caller
* khtml/xml/dom_nodeimpl.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge markupStringFromNode:nodes:]): call renamed methods
(-[WebCoreBridge markupStringFromRange:nodes:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7287
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 18 Aug 2004 17:43:35 +0000 (17:43 +0000)]
Reviewed by me
* khtml/css/css_valueimpl.cpp:
(CSSStyleDeclarationImpl::copy): Roll back silly last minute change that broke this code.
Note to self: read code before making changes to it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7286
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 18 Aug 2004 17:34:22 +0000 (17:34 +0000)]
Coded by Darin and Ken
* khtml/css/css_computedstyle.cpp: Added CopyProperties static array. This contains
the properties we implement that we also want to copy in the new
CSSComputedStyleDeclarationImpl::copy described below.
(DOM::CSSComputedStyleDeclarationImpl::copy): New function. In this class, copies the
computed values of all the properties listed in CopyProperties. In essence, this makes
a freeze-dired version of a computed style.
(DOM::CSSComputedStyleDeclarationImpl::diff): Removes every property from the passed-in
CSSStyleDeclarationImpl that is also in the computed style.
* khtml/css/css_computedstyle.h:
* khtml/css/css_valueimpl.cpp:
(CSSStyleDeclarationImpl::copy): New function. In this class, the copy operation is
straightforward. Returns a copy that will be unchanged when the original changes.
* khtml/css/css_valueimpl.h:
(DOM::CSSStyleDeclarationImpl::values): Added a accessor suitable for use when the
CSSStyleDeclarationImpl is const.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7285
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 18 Aug 2004 03:13:30 +0000 (03:13 +0000)]
Change some tabs to spaces.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7284
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 18 Aug 2004 01:16:50 +0000 (01:16 +0000)]
Fixed <rdar://problem/
3759093> Need PDF context menu: "Open in Preview" or other external app
Added support for "Open with ..." in PDF view.
Reviewed by Chris and Trey.
* ChangeLog:
* English.lproj/Localizable.strings:
* English.lproj/StringsNotToBeLocalized.txt:
* WebView.subproj/WebPDFView.h:
* WebView.subproj/WebPDFView.m:
(-[WebPDFView initWithFrame:]):
(-[WebPDFView dealloc]):
(applicationInfoForMIMEType):
(-[WebPDFView path]):
(-[WebPDFView menuForEvent:]):
(-[WebPDFView setDataSource:]):
(-[WebPDFView layout]):
(-[WebPDFView viewDidMoveToHostWindow]):
(-[WebPDFView openWithFinder:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7283
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 18 Aug 2004 00:09:46 +0000 (00:09 +0000)]
Reviewed by Darin.
<rdar://problem/
3703768> CrashTracer: ...50 crashes at com.apple.WebCore: KHTMLPart::xmlDocImpl const + 0
* khtml/khtmlview.cpp:
(KHTMLView::viewportMouseMoveEvent): Add a nil check and an
assertion for m_part being null. It seems impossible for this to
happen, so we want to debug it ourselves, but in the meantime,
let's try to avoid causing crashes for our users.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7282
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 18 Aug 2004 00:07:10 +0000 (00:07 +0000)]
Reviewed by Adele.
- fixed <rdar://problem/
3746676> SAP WebDynpro app hangs inside JavaScript property map hash table code (deleted sentinel problem)
* kjs/property_map.h: Added some private functions.
* kjs/property_map.cpp:
(KJS::PropertyMap::clear): Set sentinelCount to 0.
(KJS::PropertyMap::put): Complete search for the element before choosing to use the deleted-element sentinel.
Also keep sentinel count up to date when we destroy a sentinel by overwriting with a new added element.
(KJS::PropertyMap::expand): Added. Calls rehash with a size 2x the old size, or 16.
(KJS::PropertyMap::rehash): Added. Refactored the rehash code into a separate function.
(KJS::PropertyMap::remove): Add one to sentinelCount, and rehash if 1/4 or more of the elements are
deleted-element sentinels.
(KJS::PropertyMap::checkConsistency): Check the sentinelCount.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7281
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 17 Aug 2004 23:19:59 +0000 (23:19 +0000)]
Code change by Eric Albert, reviewd by me.
<rdar://problem/
3571960> washingtonpost.com claims I don't have cookies enabled and won't let me read articles
* kjs/date_object.cpp:
(timetUsingCF): Clamp time to LONG_MAX (getting rid of time_t
entirely would be even better, but is not required to fix this bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7280
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 17 Aug 2004 22:14:06 +0000 (22:14 +0000)]
JNI needs both the jmethodID and return type. Changed API to
pass both.
Reviewed by Chris.
* Plugins.subproj/WebJavaPlugIn.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7279
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 17 Aug 2004 22:03:28 +0000 (22:03 +0000)]
Fix the line truncation function for Emerson so that at the far left setting of the slider, only the header
is visible.
Reviewed by darin
* khtml/rendering/render_block.cpp:
(khtml::getHeightForLineCount):
* khtml/rendering/render_flexbox.cpp:
(khtml::RenderFlexibleBox::layoutVerticalBox):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7278
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 17 Aug 2004 21:53:45 +0000 (21:53 +0000)]
Reviewed by Hyatt
Rewrite of the command that deletes a selection. I deleted great
big swaths of bug-ridden code to accomplish this and replaced it
with code that is much cleaner and smarter.
Also, renamed equivalentUpstreamPosition and equivalentDownstreamPosition to
upstream to downstream, respectively.
Added a couple of new helper methods.
* khtml/editing/htmlediting.cpp: DeleteCollapsibleWhitespaceCommand and
RemoveNodeAndPruneCommand now obsolete. A huge win.
* khtml/editing/htmlediting.h: Ditto.
* khtml/editing/htmlediting_impl.cpp:
(khtml::debugPosition): Fix printf which had a placeholder, but no argument passed in the varargs.
(khtml::CompositeEditCommandImpl::deleteUnrenderedText): New helper. Much simplified and cleaner
version of
(khtml::ApplyStyleCommandImpl::doApply): upstream/downstream name change
(khtml::ApplyStyleCommandImpl::nodeFullySelected): upstream/downstream name change
(khtml::DeleteSelectionCommandImpl::doApply): upstream/downstream name change
(khtml::DeleteTextCommandImpl::DeleteTextCommandImpl): Add an assert to check that the
passed offset is less than the length of the text node.
(khtml::InputNewlineCommandImpl::insertNodeAfterPosition): upstream/downstream name change
(khtml::InputNewlineCommandImpl::insertNodeBeforePosition): upstream/downstream name change
(khtml::InputNewlineCommandImpl::doApply): upstream/downstream name change
(khtml::InputTextCommandImpl::prepareForTextInsertion): upstream/downstream name change
(khtml::InputTextCommandImpl::execute): upstream/downstream name change
(khtml::InputTextCommandImpl::insertSpace): upstream/downstream name change
(khtml::ReplaceSelectionCommandImpl::doApply): upstream/downstream name change
(khtml::TypingCommandImpl::issueCommandForDeleteKey): upstream/downstream name change
(khtml::TypingCommandImpl::deleteKeyPressed):
* khtml/editing/htmlediting_impl.h:
* khtml/xml/dom_position.cpp:
(DOM::Position::previousWordBoundary):
(DOM::Position::nextWordBoundary):
(DOM::Position::upstream):
(DOM::Position::downstream):
(DOM::Position::inRenderedText): Add null check.
(DOM::Position::isRenderedCharacter): New helper.
(DOM::isWS): New helper in this file.
(DOM::Position::leadingWhitespacePosition): New helper. Factored out from htmlediting_impl.cpp.
(DOM::Position::trailingWhitespacePosition): Ditto.
(DOM::Position::debugPosition): Add null check.
* khtml/xml/dom_position.h:
* khtml/xml/dom_selection.cpp:
(DOM::Selection::toRange): upstream/downstream name change
(DOM::Selection::validate): upstream/downstream name change
(DOM::Selection::debugPosition): upstream/downstream name change
* layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Updated tests with new expected results.
* layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
* layout-tests/editing/deleting/delete-selection-001-expected.txt: Ditto.
* layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt: Ditto.
* layout-tests/editing/inserting/insert-br-case1-expected.txt: Ditto.
* layout-tests/editing/inserting/insert-br-case2-expected.txt: Ditto.
* layout-tests/editing/style/style-
3681552-fix-002-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7277
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 17 Aug 2004 21:41:11 +0000 (21:41 +0000)]
Various spelling fixes.
Reviewed by Ken.
* khtml/khtml_part.cpp:
(KHTMLPart::setSelection): No misspellings in the spelling code comments
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::removeMarker): Repaint if doc changes. Sometimes the markers
were not being erased when you clicked in a word.
* khtml/xml/dom_position.cpp:
(DOM::Position::previousWordBoundary): Small optimization. Bail after first
try if the second try will not come out any different.
(DOM::Position::nextWordBoundary): Ditto
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::markMisspellingsInSelection): Comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7276
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 17 Aug 2004 20:42:47 +0000 (20:42 +0000)]
Added a bug number to the textarea bug fix check-in,
so I can look it up here in ChangeLog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7275
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 17 Aug 2004 20:41:15 +0000 (20:41 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3689700> crash loading page; stoxx.com (works in IE and Firefox)
* khtml/khtml_part.h: Make completeURL public.
* kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Complete the base URL
before passing it across the bridge. This sidesteps the crashing bug in CFURL, filed as
'<rdar://problem/
3764632> CFURLCreateAbsoluteURLWithBytes crashes if passed the string "../.."'
and also is obviously correct behavior that may fix other sites too.
- fixed <rdar://problem/
3547725> Crashes at csuohio.edu, list box vs. mouse event problem (Spoof No Fix)
* kwq/KWQListBox.mm:
(QListBox::~QListBox): Nil out the pointer from the KWQTableView back to the widget by calling
a new detach method.
(-[KWQTableView detach]): Set the pointer to the QListBox to 0. Also set the delegate and data
source to nil, so we don't need nil checks in delegate and data source methods.
(-[KWQTableView mouseDown:]): Add nil check.
(-[KWQTableView keyDown:]): Add nil check.
(-[KWQTableView keyUp:]): Add nil check.
(-[KWQTableView becomeFirstResponder]): Add nil check.
(-[KWQTableView resignFirstResponder]): Add nil check.
(-[KWQTableView canBecomeKeyView]): Add nil check.
(-[KWQTableView tableViewSelectionDidChange:]): Add nil checks, even though this is a delegate
callback, to handle cases where calls to JavaScript result in the QListBox going away partway
through.
(-[KWQTableView drawRow:clipRect:]): Add nil check.
(-[KWQTableView _accessibilityTableCell:tableColumn:]): Add nil check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7274
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 17 Aug 2004 19:55:27 +0000 (19:55 +0000)]
Fix ASSERT in spelling marker management.
Reviewed by John.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::shiftMarkers): Use assert instead of ASSERT.
Tweak test to allow for a start position of 0.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7273
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 17 Aug 2004 19:48:29 +0000 (19:48 +0000)]
WebCore:
3764147 - failure of subframe to load leaves links in parent doc broken
Reviewed by Maciej.
* khtml/khtml_part.cpp:
(KHTMLPart::childBegin): New method to mark part as not complete.
(KHTMLPart::processObjectRequest): Mark child part imcomplete, so if we
later get a failure on load it won't think it's already complete and do nothing.
* khtml/khtml_part.h:
WebKit:
3764147 - failure of subframe to load leaves links in parent doc broken
Reviewed by Maciej.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _receivedMainResourceError:complete:]):
Need to call [bridge end] in the case of an error, so WC can clean up.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7272
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 17 Aug 2004 19:05:12 +0000 (19:05 +0000)]
set version number to '158u'. the tree is open
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7271
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Tue, 17 Aug 2004 18:59:48 +0000 (18:59 +0000)]
Safari-157 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7269
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 17 Aug 2004 04:53:54 +0000 (04:53 +0000)]
Fix project so that OTHER_LDFLAGS in the project also links dynamically to libxslt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7268
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 17 Aug 2004 02:10:37 +0000 (02:10 +0000)]
Fix the #define. I had it all backwards.
* WebCorePrefix.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7267
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 17 Aug 2004 01:54:55 +0000 (01:54 +0000)]
Land initial support for XSLT using xml-stylesheet PIs.
* WebCore.pbproj/project.pbxproj:
* khtml/khtml_part.cpp:
(KHTMLPart::replaceDocImpl):
* khtml/khtml_part.h:
* khtml/khtmlview.h:
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::~DocumentImpl):
(DocumentImpl::recalcStyleSelector):
(DocumentImpl::applyXSLTransform):
(DocumentImpl::setTransformSourceDocument):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::setTransformSource):
(DOM::DocumentImpl::transformSource):
(DOM::DocumentImpl::transformSourceDocument):
* khtml/xml/dom_xmlimpl.cpp:
(DOM::ProcessingInstructionImpl::checkStyleSheet):
* khtml/xml/dom_xmlimpl.h:
(DOM::ProcessingInstructionImpl::isXSL):
* khtml/xml/xml_tokenizer.cpp:
(khtml::matchFunc):
(khtml::openFunc):
(khtml::createQStringParser):
(khtml::XMLTokenizer::processingInstruction):
(khtml::XMLTokenizer::finish):
(khtml::XMLTokenizer::setTransformSource):
* khtml/xml/xml_tokenizer.h:
(khtml::Tokenizer::setTransformSource):
* khtml/xml/xsl_stylesheetimpl.cpp: Removed.
* khtml/xml/xsl_stylesheetimpl.h: Removed.
* khtml/xsl/xsl_stylesheetimpl.cpp: Added.
(DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
(DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl):
(DOM::XSLStyleSheetImpl::isLoading):
(DOM::XSLStyleSheetImpl::checkLoaded):
(DOM::XSLStyleSheetImpl::docLoader):
(DOM::XSLStyleSheetImpl::parseString):
* khtml/xsl/xsl_stylesheetimpl.h: Added.
(DOM::XSLStyleSheetImpl::isXSLStyleSheet):
(DOM::XSLStyleSheetImpl::type):
(DOM::XSLStyleSheetImpl::ownerDocument):
(DOM::XSLStyleSheetImpl::document):
(DOM::XSLStyleSheetImpl::clearDocument):
* khtml/xsl/xslt_processorimpl.cpp: Added.
(DOM::m_sourceDocument):
(DOM::XSLTProcessorImpl::~XSLTProcessorImpl):
(DOM::XSLTProcessorImpl::transformDocument):
(DOM::bufferWrite):
(DOM::XSLTProcessorImpl::addToResult):
(DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
* khtml/xsl/xslt_processorimpl.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7266
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 16 Aug 2004 23:06:41 +0000 (23:06 +0000)]
Fix build.
* khtml/khtml_part.cpp:
(KHTMLPart::isImmediateRedirectPending):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7265
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 16 Aug 2004 22:26:32 +0000 (22:26 +0000)]
Fixed <rdar://problem/
3704339> Context2D forces integer positions in drawImage
Use floats instead of ints to draw images.
Reviewed by Ken.
* khtml/ecma/kjs_html.cpp:
(KJS::Context2DFunction::tryCall):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::drawPixmap):
(QPainter::drawFloatPixmap):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7264
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Mon, 16 Aug 2004 22:21:01 +0000 (22:21 +0000)]
Reviewed by Darin.
- fixed <rdar://problem/
3752509> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)
(actually the previous fix for this bug was mostly correct, but
this additional change is needed to avoid the regression in
<rdar://problem/
3751025> REGRESSION: website rejects Safari 125.9
as "need to upgrade to IE 6", but didn't reject 125.8
So if merging for a software update, make sure to include both
this and the previous fix.
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::write): When there is an immediate reidrect pending,
make sure to stop tokenizing, because we need to make sure no further
script tags are processed beyond the one that triggered the redirect.
* khtml/khtml_part.cpp:
(KHTMLPart::isImmediateRedirectPending): New method to allow
checking if a redirect is pending.
* khtml/khtml_part.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7263
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 16 Aug 2004 21:17:53 +0000 (21:17 +0000)]
Fixed <rdar://problem/
3581092> cash in KJS::Bindings::JSObject::eval at tcvetantcvetkov.com
Adds bullet proofing to protect against evaluation of bogus JS in all the flavors of bindings (Java, C, and ObjC).
Reviewed by Chris.
* bindings/NP_jsobject.cpp:
(NPN_Evaluate):
* bindings/jni/jni_jsobject.cpp:
(JSObject::eval):
* bindings/objc/WebScriptObject.mm:
(-[WebScriptObject evaluateWebScript:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7262
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 16 Aug 2004 20:56:16 +0000 (20:56 +0000)]
Fix the blank textarea problem by ensuring that any change to a <textarea>'s DOM children causes the form control
to resync with the DOM. This behavior matches WinIE.
Reviewed by kocienda
* khtml/html/html_formimpl.cpp:
(HTMLTextAreaElementImpl::childrenChanged):
* khtml/html/html_formimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7261
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Mon, 16 Aug 2004 03:41:56 +0000 (03:41 +0000)]
WebKit:
More changes to np headers.
Reviewed by Darin.
* Plugins.subproj/WebNetscapePluginPackage.m:
(-[WebNetscapePluginPackage load]):
* Plugins.subproj/npapi.h:
* Plugins.subproj/npfunctions.h:
* Plugins.subproj/npruntime.h:
JavaScriptCore:
More updates to np headers. Implemented new NPN functions.
Reviewed by Darin.
* bindings/NP_jsobject.cpp:
(NPN_HasProperty):
(NPN_HasMethod):
* bindings/npapi.h:
* bindings/npruntime.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7260
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 13 Aug 2004 22:04:17 +0000 (22:04 +0000)]
Back out accidental bad change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7259
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 13 Aug 2004 21:58:24 +0000 (21:58 +0000)]
top level:
Reviewed by Ken.
* Makefile.am: Remove WebKitExamples for now, until it actually works to
include it in a recursive make.
WebKit:
Reviewed by NOBODY (OOPS!).
* Plugins.subproj/npapi.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7258
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 13 Aug 2004 21:26:15 +0000 (21:26 +0000)]
3761794 Slider doesn't call onmouseup handler
Reviewed by Hyatt
* khtml/rendering/render_form.cpp:
(RenderSlider::RenderSlider): Listen for signal.
(RenderSlider::slotClicked): Pass to superclass.
* khtml/rendering/render_form.h:
* kwq/KWQSlider.h:
* kwq/KWQSlider.mm:
(-[KWQSlider mouseDown:]): Generate mouseUp and clicked events,
since AK consumes the mouseUp event in a modal tracking loop.
(QSlider::QSlider): Make signal.
(QSlider::clicked): Send signal.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7257
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 13 Aug 2004 17:45:12 +0000 (17:45 +0000)]
Reviewed by Chris.
- fixed <rdar://problem/
3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
* Plugins.subproj/WebBaseNetscapePluginStream.m:
(CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
This has many advantages; the big one that fixes the bug is that it gives the mangled names
that work even for files that have names that can't otherwise be encoded in Carbon-style
path names. I didn't write this from scratch: I started with the method in Foundation
and just changed it to use FSSpec.
(-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
CarbonPathFromPOSIXPath instead.
* Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
I think we are going to have some trouble with this; I'd like to take that out.
* English.lproj/StringsNotToBeLocalized.txt: Updated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7256
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 13 Aug 2004 17:13:29 +0000 (17:13 +0000)]
WebCore:
3761329 - query result links all dead in ingrammicro.com (sometimes)
3761328 - links in some docs dead when doc is loaded from WebArchive
Make sure to get part to completed state when end is called,
even if we have no doc. See WebKit changelog for more info.
Reviewed by Richard and Darin.
* khtml/khtml_part.cpp:
(KHTMLPart::end):
WebKit:
3761329 - query result links all dead in ingrammicro.com (sometimes)
3761328 - links in some docs dead when doc is loaded from WebArchive
Nasty problem. It turns out that these result pages are a parent frame with two child
frames. One of the child frames is a 1 or 2 byte text document. When the text child
is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
out we never send [bridge end] from WebKit. That mistake results in checkCompleted not
being called enough in the part, and we never realize the load is done. WebCore does
not allow redirects to happen until the entire load is complete, and the links on this
results page are actually little pieces of JS that set location to a generated URL. Since
redirects are not allowed these links all silently fail to do anything, and the doc never
achieves a completed state where they will work.
Solution is to make sure we always call [bridge end] from the DataSource instead of only
the HTML rep doing it.
Reviewed by Richard and Darin.
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs.
* WebView.subproj/WebHTMLRepresentation.m:
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7255
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Fri, 13 Aug 2004 16:57:01 +0000 (16:57 +0000)]
3761098 - red dotted underline for misspelled words shows up in drag image
Reviewed by Ken
* khtml/rendering/render_text.cpp:
(RenderText::paint): Don't draw misspelling when creating selection image.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7254
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 13 Aug 2004 16:50:08 +0000 (16:50 +0000)]
- fix build so we can compile again
* bindings/npapi.h: Added. Richard forgot to check this in. The one I'm checking in here
is good enough so that we can compile, but it's only a stopgap measure, because I think
Richard has a newer one he wants to check in.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7253
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 13 Aug 2004 01:31:22 +0000 (01:31 +0000)]
WebKit:
Bring npruntime.h and friends closer to compliance with
latest spec.
Reviewed by Maciej.
* Plugins.subproj/npapi.h:
* Plugins.subproj/npfunctions.h:
* Plugins.subproj/npruntime.h:
(_NPString::):
(_NPString::_NPVariant::):
* copy-webcore-files-to-webkit:
WebCore:
Bring npruntime.h and friends closer to compliance with
latest spec.
Reviewed by Maciej.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::windowScriptNPObject):
JavaScriptCore:
Bring npruntime.h and friends closer to compliance with
latest spec.
Reviewed by Maciej.
* JavaScriptCore.pbproj/project.pbxproj:
* bindings/NP_jsobject.cpp:
(jsAllocate):
(_NPN_CreateScriptObject):
(NPN_Call):
(NPN_Evaluate):
(NPN_GetProperty):
(NPN_SetProperty):
(NPN_RemoveProperty):
* bindings/NP_jsobject.h:
* bindings/c/c_instance.cpp:
(CInstance::invokeMethod):
* bindings/c/c_utility.cpp:
(convertNPVariantToValue):
* bindings/npruntime.cpp:
(NPN_IdentifierIsString):
(NPN_VariantIsVoid):
(NPN_VariantIsNull):
(NPN_VariantIsUndefined):
(NPN_VariantIsBool):
(NPN_VariantIsInt32):
(NPN_VariantIsDouble):
(NPN_VariantIsString):
(NPN_VariantIsObject):
(NPN_VariantToBool):
(NPN_VariantToString):
(NPN_VariantToInt32):
(NPN_VariantToDouble):
(NPN_VariantToObject):
(NPN_InitializeVariantAsVoid):
(NPN_InitializeVariantAsNull):
(NPN_InitializeVariantAsUndefined):
(NPN_InitializeVariantWithBool):
(NPN_InitializeVariantWithInt32):
(NPN_InitializeVariantWithDouble):
(NPN_InitializeVariantWithString):
(NPN_InitializeVariantWithStringCopy):
(NPN_InitializeVariantWithObject):
(NPN_InitializeVariantWithVariant):
(NPN_ReleaseVariantValue):
(NPN_CreateObject):
* bindings/npruntime.h:
(_NPString::):
(_NPString::_NPVariant::):
* bindings/npruntime_priv.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7252
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 13 Aug 2004 00:43:52 +0000 (00:43 +0000)]
Reviewed by Richard.
<rdar://problem/
3245706> URLs with backslashes instead of slashes work on WinIE; should work on Safari (SAP)
<rdar://problem/
3506429> <BASE> tag containing backslash is breaking images with absolute URLs
* kwq/KWQKURL.mm:
(substituteBackslashes): Helper method
(KURL::KURL): If the URL contains any backslashes, substitute all
that appear before the query or fragment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7251
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 13 Aug 2004 00:25:53 +0000 (00:25 +0000)]
Fixed: <rdar://problem/
3761097> should be able to option-drag selection so HTML can be copied within a page
Reviewed by rjw.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _isMoveDrag]): new, take into account the option key
(-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
(-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7250
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 12 Aug 2004 23:58:03 +0000 (23:58 +0000)]
Reviewed by Chris
Fix for this bug:
<rdar://problem/
3761014> command-down-arrow takes you to start of document instead of end of document
* khtml/xml/dom_selection.cpp:
(DOM::Selection::modifyExtendingRightForward): Code used to assume, incorrectly, that index 1 of the
document element was beyond the last node in the document. But this is not true, since the document
element is the HTML element (generally). Instead, move to the index equal to the number of children
of the document element. This puts us past everything.
(DOM::Selection::modifyMovingRightForward): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7249
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 12 Aug 2004 23:28:33 +0000 (23:28 +0000)]
Reviewed by Trey
Fix for this bug:
<rdar://problem/
3695446> shift-down-arrow on last line of editable text should select to end of document
Detect when current position is on first or last line and move to the
start or end of that line, respectively.
* khtml/xml/dom_position.cpp:
(DOM::Position::previousLinePosition)
(DOM::Position::nextLinePosition)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7248
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 12 Aug 2004 23:19:23 +0000 (23:19 +0000)]
Quick fix for
3760903. The real fix is described in
3760920. Needed
by Java plugin guys so they can be unblocked for feature freeze.
Reviewed by Chris.
* WebView.subproj/WebFrame.m:
(-[WebFrame _reloadForPluginChanges]):
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView addSubview:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7247
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 12 Aug 2004 23:04:52 +0000 (23:04 +0000)]
WebKit:
Fixed: <rdar://problem/
3760898> error pages in subframes attempt to load appledata URLs when reloaded
Reviewed by darin.
* WebView.subproj/WebFrame.m:
(-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
WebBrowser:
Fixed:
<rdar://problem/
3760743> "Save As.." and "View Source" context menu items should be omitted from error pages
<rdar://problem/
3760892> PARENTAL: buttons in parental control error page do nothing when in subframes
Reviewed by darin
* BrowserWebController.m:
(-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]): handle subframes for error page schemes
* ContextMenuHandler.m:
(-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): omit menu item in error pages
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7246
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 12 Aug 2004 23:04:11 +0000 (23:04 +0000)]
Reviewed by Adele.
- fixed 3 problems with parse functions that I just wrote, fixing 3 more Mozilla JavaScript tests
* kjs/function.cpp:
(KJS::parseDigit): Fix typo, 'Z' instead of 'z', that prevented lowercase hex digits from working.
(KJS::parseInt): Add octal support. Specification says it's optional, but I guess not.
(KJS::parseFloat): Fix check for "0x" in parseFloat to return 0 rather than NaN. Also add code
to skip leading "+" or "-".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7245
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 12 Aug 2004 22:57:00 +0000 (22:57 +0000)]
back to 157u, 2.0 for TOT. the tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7244
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 12 Aug 2004 22:47:47 +0000 (22:47 +0000)]
Safari-156 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7242
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 12 Aug 2004 20:53:34 +0000 (20:53 +0000)]
Reviewed by Darin
Some consolidation in style application code.
* khtml/editing/htmlediting_impl.cpp:
(khtml::StyleChange::StyleChange): Made this a full-on class and added a couple of
members and a constructors to make a StyleChange from a CSSStyleDeclarationImpl, as
well as from a CSSStyleDeclarationImpl and a Position.
(khtml::StyleChange::init): Common init function for StyleChange constructors.
(khtml::StyleChange::currentlyHasStyle): Moved this here from ApplyStyleCommandImpl.
(khtml::CompositeEditCommandImpl::applyTypingStyle): Tweak to adjust to new StyleChange
interface.
(khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Ditto.
* khtml/editing/htmlediting_impl.h:
(khtml::StyleChange::StyleChange):
(khtml::StyleChange::cssStyle): New accessor.
(khtml::StyleChange::applyBold): Ditto.
(khtml::StyleChange::applyItalic): Ditto.
* khtml/xml/dom_position.cpp:
(DOM::Position::computedStyle): New helper.
* khtml/xml/dom_position.h: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7241
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 12 Aug 2004 17:34:56 +0000 (17:34 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3751098> HTML email has one set of SPAN tags per character in the message
Progress on this bug:
<rdar://problem/
3755562> Typing styles do not use same tag application conventions as font and color panel
* khtml/editing/htmlediting_impl.cpp:
(khtml::CompositeEditCommandImpl::applyTypingStyle): Name changed from createTypingStyleElement.
Also, interface changed to take the node to which the typing style is to be applied.
This makes it easier to apply what may be up to three levels of nested tags to get the
desired style (<B>, <I>, and <SPAN STYLE="">).
Also, Borrow some of the style change smarts from ApplyStyleCommandImpl to use bold and
italic tags for applying styles when that is apprpriate. This creates on opportunity to
factor the code to do this so that this function and the ApplyStyleCommandImpl class can
share the implementation. I will follow up with a change to do that after landing this
change. Some future code factoring could be done here to bring together some similar code
into one place.
(khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Add comment about code factoring work.
(khtml::ApplyStyleCommandImpl::computeStyleChange): StyleChange struct no longer a member of the
ApplyStyleCommandImpl class. CompositeEditCommandImpl needs it now in its applyTypingStyle()
function.
(khtml::InputNewlineCommandImpl::doApply): Pass along node to style to applyTypingStyle.
(khtml::InputTextCommandImpl::prepareForTextInsertion): Ditto.
* khtml/editing/htmlediting_impl.h:
(khtml::StyleChange::StyleChange): Pull this struct out of ApplyStyleCommandImpl so
CompositeEditCommandImpl can use it.
* khtml/khtml_part.cpp:
(KHTMLPart::notifySelectionChanged): Always clear typing style when the selection
changes, not only when closing typing. This fixes
3751098.
These three tests actually had results that treated the buggy behavior as correct!
* layout-tests/editing/style/style-
3681552-fix-001-expected.txt
* layout-tests/editing/style/style-
3681552-fix-002-expected.txt
* layout-tests/editing/style/typing-style-002-expected.txt
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7240
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 12 Aug 2004 17:21:29 +0000 (17:21 +0000)]
Reviewed by Ken.
- fixed 43 Mozilla JavaScript tests
* kjs/date_object.h: Change parseDate and timeClip to take and return doubles.
* kjs/date_object.cpp:
(DateObjectImp::construct): Change to use a timeClip function that takes and returns a double rather
than constructing a number object to pass to it.
(DateObjectFuncImp::call): Change to use a parseDate function that returns a double.
(KJS::parseDate): Change to return a double instead of creating the Number object here.
(KJS::timeClip): Implement this as specified in the language standard.
* kjs/error_object.cpp: (NativeErrorImp::NativeErrorImp): Set the DontDelete, ReadOnly, and DontEnum
flags on the prototype property.
* kjs/function.cpp:
(KJS::FunctionImp::get): Return null rather than undefined for arguments when the function is not
currently in scope.
(KJS::isStrWhiteSpace): Added. Matches specification for StrWhiteSpace. Could move it to some utility
file later.
(KJS::parseDigit): Added. Helper function for parseInt.
(KJS::parseInt): Added. Integer parser that puts result in a double so we're not limited to what
strtoll can handle. Also matches standard more closely.
(KJS::parseFloat): Added. Handles "0x" properly and passes flag to make empty string turn into NaN
instead of 0.
(KJS::GlobalFuncImp::call): Use the new parseInt and parseFloat.
* kjs/function_object.cpp: (FunctionPrototypeImp::FunctionPrototypeImp): Add a length property.
* kjs/lexer.h: Added error flag and sawError() function for detecting errors.
* kjs/lexer.cpp:
(Lexer::setCode): Clear error state.
(Lexer::lex): Set error state if the lexer encounters an error
* kjs/internal.cpp:
(NumberImp::toString): Roll in change from KDE version to special case 0 so we handle -0 correctly.
(Parser::parse): Use new lexer error method so those errors are treated like parser errors.
* kjs/math_object.cpp: (MathFuncImp::call): Change min and max to treat -0 as less than +0.
Change round to round values between -0.5 and -0 to -0 instead of +0.
* kjs/nodes.h: Add evaluateReference function to GroupNode.
* kjs/nodes.cpp: (GroupNode::evaluateReference): Pass references through groups (parenthesized
expressions) properly so that expressions like "delete (x.y)" work. Before, the parentheses
would change x.y into a value that can't be deleted as a side effect.
* kjs/string_object.cpp: Change parameter count for indexOf and lastIndexOf from 2 to 1 to match
the specification.
* kjs/testkjs.cpp: Rolled in changes from KDE to add a "quit" function to the test tool and
get rid of the fixed size limit for code.
* kjs/ustring.cpp: (KJS::UString::substr): Added optimized case for substr(0, length) so it just
returns the string without creating a new Rep, since I'm using substr in a place where it will
often be passed a 0.
* tests/mozilla/ecma/String/15.5.4.11-1.js: Fixed one wrong entry in the Unicode table I added to
the other day that was making a couple tests fail.
* tests/mozilla/ecma/String/15.5.4.12-1.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.12-2.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.12-3.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.12-4.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.12-5.js: Ditto.
* kjs/string_object.lut.h: Regenerated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7239
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 12 Aug 2004 16:45:53 +0000 (16:45 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3740485> Repro crash involving replacing content that includes form field
* kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Since this function calls selectText: which has a side
effect of making the text field be first responder, call to bridge first to make it first responder.
The bridge version lets WebHTMLView know we are changing the responder, avoiding some unpleasantness
because it sets the "changing focus programmatically" flag. Without that flag set, we were getting
an additional setFocusNode(0) call, which is unnecessary and incorrect.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7238
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 12 Aug 2004 16:39:08 +0000 (16:39 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3758756> copying text selected with down arrow results in all text to end of document
* khtml/xml/dom2_rangeimpl.h: Make startNode and pastEndNode public.
* khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::pastEndNode): Fix bug where this would return
one node too far in the case where the end container was not a text node.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::recursive_toHTMLWithOptions): Rewrite loop, using startNode and pastEndNode,
to fix bug where it would run past the end node, including too many nodes in the generated
HTML. Nice side benefit: easier to read the code.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7237
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 12 Aug 2004 03:17:50 +0000 (03:17 +0000)]
- fixed a tiny problem with the UTF-16 PCRE check-in
* pcre/maketables.c: (pcre_maketables): Fix mistake in table-generating code that sometimes caused
the ctype_meta flag to get set in items that should not have it.
* pcre/chartables.c: Regenerated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7236
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adele [Thu, 12 Aug 2004 00:36:43 +0000 (00:36 +0000)]
Reviewed by me, bug fix by Darin.
- fixed <rdar://problem/
3736477> Pages don't load if hard drive is named with non-ASCII Symbol
* Plugins.subproj/WebBaseNetscapePluginStream.m:
(-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
ever fail due to encoding problems even though this string should always be ASCII.
(-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
can, so we need to use this instead of cString which can fail depending on characters and encoding.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7235
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 11 Aug 2004 23:39:03 +0000 (23:39 +0000)]
Fixed: <rdar://problem/
3758216> PARENTAL: buttons on parental controls page only work once
Reviewed by john.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::submitForm): prevent a form from being submitted more than once only if it uses a scheme of http or https
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7234
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 11 Aug 2004 21:35:06 +0000 (21:35 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3715878> 8A162: connect.apple.com password field showed in cleartext
* kwq/KWQTextField.mm: (-[KWQSecureTextField textDidEndEditing:]):
Enhanced workaround for shifting focus from one secure text field to another so that it works
even for the case of shifting focus from a secure text field back to itself.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7233
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 11 Aug 2004 20:11:49 +0000 (20:11 +0000)]
Reviewed by me
Missed adding this file before.
* kwq/KWQTextUtilities.mm: Added.
(KWQFindNextWordFromIndex):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7232
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 11 Aug 2004 17:55:34 +0000 (17:55 +0000)]
Reviewed by Trey
Efficiency improvements on string manipulations in these two new function
implementations. Use the versions of QString append/prepend that take
(QChar *c, uint length) instead of creating new strings each time.
* khtml/xml/dom_position.cpp:
(DOM::Position::previousWordPosition): Changed, as described above.
(DOM::Position::nextWordPosition): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7231
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 11 Aug 2004 17:27:42 +0000 (17:27 +0000)]
Reviewed by Darin
Fix for this bug:
<rdar://problem/
3675812> Moving a word at a time does not use the correct conception of "word"
I have implemented versions of previousWordPosition and nextWordPosition that are now
different than previousWordBoundary and nextWordBoundary. The behavior of the new
functions attempts to match what Cocoa does as closely as it can. Let the bug filing begin!
* WebCore.pbproj/project.pbxproj: Added KWQTextUtilities.mm
* khtml/misc/helper.cpp:
(khtml::nextWordFromIndex): Glue to call through to KWQFindNextWordFromIndex.
* khtml/misc/helper.h: Declare the function above.
* khtml/misc/khtml_text_operations.cpp: Added SimplifiedBackwardsTextIterator class.
(khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): New
(khtml::SimplifiedBackwardsTextIterator::advance): Ditto.
(khtml::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
(khtml::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
(khtml::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
(khtml::SimplifiedBackwardsTextIterator::exitNode): Ditto.
(khtml::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
(khtml::SimplifiedBackwardsTextIterator::range): Ditto.
* khtml/misc/khtml_text_operations.h:
(khtml::SimplifiedBackwardsTextIterator::atEnd): Ditto.
(khtml::SimplifiedBackwardsTextIterator::length): Ditto.
(khtml::SimplifiedBackwardsTextIterator::characters): Ditto.
* khtml/xml/dom_position.cpp:
(DOM::Position::previousWordBoundary): Updated to gather appropriate text and call through to
AppKit to perform the same calculations NSText uses.
(DOM::Position::nextWordBoundary): Ditto.
(DOM::Position::previousWordPosition): Unrelated change to fix case where the function could get "stuck".
(DOM::Position::nextWordPosition): Ditto
(DOM::Position::equivalentDeepPosition): Changed to look backwards if the position's offset is equal
to the number of child nodes it has. This handles more cases correctly, like when the position is
gives as one beyond the end of a document element's last child.
* kwq/KWQTextUtilities.h: Declared KWQFindNextWordFromIndex.
* kwq/KWQTextUtilities.mm: Added.
(KWQFindNextWordFromIndex): New function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7230
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 11 Aug 2004 16:45:12 +0000 (16:45 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3732702> crash in CSSComputedStyleDeclarationImpl running devtools.com editing sample code
* khtml/khtml_part.cpp:
(KHTMLPart::selectionComputedStyle): Added a null check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7229
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 11 Aug 2004 06:26:32 +0000 (06:26 +0000)]
Reviewed by Trey.
- fixed <rdar://problem/
3710123> Loading iframe that replaces content in the parent document crashes Safari
I fixed three problems:
1) script interpreter destroyed while it was interpreting scripts, caused random havoc
2) code trying to get to view after view was detached from part, caused nil-deref
3) signals sent to parent after child was no longer in the parent's frames list, caused nil-deref
Now the test page works fine. Hope the real sites do too.
* khtml/khtml_part.h: Add connectChild and disconnectChild helper functions (private).
* khtml/khtml_part.cpp:
(KHTMLPart::clear): Call disconnectChild on each frame as we detach it (see below).
(KHTMLPart::end): Ref the part at the start, and deref the part at the end, of this function.
Otherwise, we can end up destroying the part, and hence the interpreter, inside a script that
the interpreter itself is running.
(KHTMLPart::slotFinishedParsing): Add another check for a nil m_view, after the call to
checkCompleted.
(KHTMLPart::checkCompleted): Remove bogus if statement with empty body.
(KHTMLPart::processObjectRequest): Call disconnectChild to disconnect the child <-> parent signals of the
old child that the new one is replacing, and connectChild to connect the signals (nicer factoring).
(KHTMLPart::slotChildCompleted): Fixed up a confusing boolean if/expression to be simpler. Not related to
the bug fix, but an earlier version of the fix had changes in this function.
(KHTMLPart::connectChild): Added. Connects the appropriate signals for a child frame.
(KHTMLPart::disconnectChild): Added. Disconnects the same signals that connectChild connects.
* kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Added a call to disconnectChild before removing the
child from the frames list.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7228
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 11 Aug 2004 02:51:46 +0000 (02:51 +0000)]
Fixed <rdar://problem/
3674747> Need to implement invokeUndefinedMethodFromWebScript:withArguments:
The following WebScripting methods are now supported on bound
objects:
- (id)invokeUndefinedMethodFromWebScript:(NSString *)name withArguments:(NSArray *)args;
- (void)setValue:(id)value forUndefinedKey:(NSString *)key
- (id)valueForUndefinedKey:(NSString *)key
Reviewed by Chris.
* bindings/c/c_class.cpp:
(CClass::fieldNamed):
* bindings/c/c_class.h:
* bindings/jni/jni_class.cpp:
(JavaClass::fieldNamed):
* bindings/jni/jni_class.h:
* bindings/objc/objc_class.h:
(KJS::Bindings::ObjcClass::isa):
* bindings/objc/objc_class.mm:
(ObjcClass::methodsNamed):
(ObjcClass::fieldNamed):
(ObjcClass::fallbackObject):
* bindings/objc/objc_instance.h:
* bindings/objc/objc_instance.mm:
(ObjcInstance::invokeMethod):
(ObjcInstance::setValueOfField):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfField):
(ObjcInstance::getValueOfUndefinedField):
* bindings/objc/objc_runtime.h:
(KJS::Bindings::ObjcField::~ObjcField):
(KJS::Bindings::ObjcField::ObjcField):
(KJS::Bindings::ObjcField::operator=):
(KJS::Bindings::FallbackObjectImp::classInfo):
* bindings/objc/objc_runtime.mm:
(ObjcField::ObjcField):
(ObjcField::name):
(ObjcField::type):
(ObjcField::valueFromInstance):
(ObjcField::setValueToInstance):
(FallbackObjectImp::FallbackObjectImp):
(FallbackObjectImp::get):
(FallbackObjectImp::put):
(FallbackObjectImp::canPut):
(FallbackObjectImp::implementsCall):
(FallbackObjectImp::call):
(FallbackObjectImp::hasProperty):
(FallbackObjectImp::deleteProperty):
(FallbackObjectImp::defaultValue):
* bindings/runtime.h:
(KJS::Bindings::Class::fallbackObject):
(KJS::Bindings::Instance::getValueOfUndefinedField):
(KJS::Bindings::Instance::setValueOfUndefinedField):
* bindings/runtime_object.cpp:
(RuntimeObjectImp::get):
(RuntimeObjectImp::put):
(RuntimeObjectImp::canPut):
(RuntimeObjectImp::hasProperty):
* bindings/testbindings.mm:
(-[MyFirstInterface valueForUndefinedKey:]):
(-[MyFirstInterface setValue:forUndefinedKey:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7227
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 11 Aug 2004 00:21:04 +0000 (00:21 +0000)]
WebCore:
Reviewed by Trey.
WebCore part of:
- made basic marked text highlighting work to complete basic level of <rdar://problem/
3704359> input method support not yet implemented for HTML editing
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setMarkedDOMRange:]): Added this new call to support storing
a marked range in WebCore. The provided DOMRange must start and end in the same
node, which must be a text node.
(-[WebCoreBridge markedDOMRange]): New call to get the marked range.
(-[WebCoreBridge clearMarkedDOMRange]): New call to clear the marked range.
* kwq/WebCoreBridge.h: Prototype new methods.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::markedRange): Implementation of WebCore call above.
(KWQKHTMLPart::setMarkedRange): Implementation of WebCore call above -
store the marked range, and repaint new and old nodes if needed.
(KWQKHTMLPart::clear): Clear marked range.
* kwq/KWQKHTMLPart.h: Prototype new methods.
* khtml/rendering/render_text.cpp:
(InlineTextBox::paintMarkedTextBackground): New method to paint the background
for marked text, modeled on paintSelection.
(RenderText::paint): Optionally handle painting marked text
background as well as selection background in the marked text
pass.
* khtml/rendering/render_text.h: Prototype new method.
WebKit:
Reviewed by Trey.
WebKit part of:
- made basic marked text highlighting work to complete basic level of <rdar://problem/
3704359> input method support not yet implemented for HTML editing
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
(-[WebHTMLView hasMarkedText]): Likewise.
(-[WebHTMLView unmarkText]): Likewise.
(-[WebHTMLView _selectMarkedText]): Likewise.
(-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
(-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
(-[WebHTMLView _updateSelectionForInputManager]): Likewise.
(-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
of private _selectMarkedDOMRange: method, which would now be trivial.
* WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7226
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 10 Aug 2004 21:35:09 +0000 (21:35 +0000)]
JavaScriptCore:
Reviewed by Dave.
- switch PCRE to do UTF-16 directly instead of converting to/from UTF-8 for speed
* pcre/pcre.h: Added PCRE_UTF16 switch, set to 1. Added pcre_char typedef, which is char
or uint16_t depending on the mode, and used appropriate in the 7 public functions
that need to use it.
* pcre/pcre.c: Add UTF-16 support to all functions.
* pcre/study.c: Ditto.
* pcre/internal.h: Added ichar typedef, which is unsigned char or uint16_t depending on
the mode. Changed declarations to use symbolic constants and typedefs so we size
things to ichar when needed.
* pcre/maketables.c: (pcre_maketables): Change code to make tables that are
sized to 16-bit characters instead of 8-bit.
* pcre/get.c:
(pcre_copy_substring): Use pcre_char instead of char.
(pcre_get_substring_list): Ditto.
(pcre_free_substring_list): Ditto.
(pcre_get_substring): Ditto.
(pcre_free_substring): Ditto.
* pcre/dftables.c: (main): Used a bit more const, and use ICHAR sizes instead
of hard-coding 8-bit table sizes.
* pcre/chartables.c: Regenerated.
* kjs/ustring.h: Remove functions that convert UTF-16 to/from UTF-8 offsets.
* kjs/ustring.cpp: Change the shared empty string to have a unicode pointer that
is not null. The null string still has a null pointer. This prevents us from
passing a null through to the regular expression engine (which results in a null
error even when the string length is 0).
* kjs/regexp.cpp:
(KJS::RegExp::RegExp): Null-terminate the pattern and pass it.
(KJS::RegExp::match): Use the 16-bit string directly, no need to convert to UTF-8.
WebCore:
Reviewed by Dave.
- switch PCRE to do UTF-16 directly instead of converting to/from UTF-8 for speed
* kwq/KWQRegExp.mm:
(QRegExp::KWQRegExpPrivate::compile): Null-terminate the pattern and pass it.
(QRegExp::match): Use the 16-bit string directly, no need to convert to UTF-8.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7223
268f45cc-cd09-0410-ab3c-
d52691b4dbfc