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
darin [Tue, 10 Aug 2004 18:43:51 +0000 (18:43 +0000)]
Reviewed by Maciej.
- fixed 28 Mozilla JavaScript tests
* kjs/array_object.cpp: (ArrayProtoFuncImp::call): Check for undefined rather than
checking the number of arguments for the join method.
* kjs/lexer.cpp: (Lexer::lex): Parse hexadecimal and octal constants in doubles rather
than integers, so we aren't limited to 32 bits.
* kjs/math_object.cpp: (MathFuncImp::call): Get rid of many unneeded special cases in
the implementation of the pow operation. Also simplied a case that was handling positive
and negative infinity separately.
* kjs/nodes.cpp: (ShiftNode::evaluate): Keep the result of shifts in a double instead of
putting them in a long, so that unsigned shift will work properly.
* kjs/number_object.cpp: Add the DontDelete and ReadOnly flags to the numeric constants.
* kjs/operations.cpp:
(KJS::isPosInf): Added an implementation inside APPLE_CHANGES that does not depend on the
sign of isinf; our isinf function returns +1 even for negative infinity.
(KJS::isNegInf): And again.
(KJS::relation): Put in a nice simple implementation of comparison inside APPLE_CHANGES.
Our floating point already handles the various infinity cases correctly.
* kjs/regexp_object.cpp:
(RegExpProtoFuncImp::call): Add missing return before Null() in Exec method.
(RegExpObjectImp::arrayOfMatches): Put undefined rather than an empty string into the
array in cases where we did not match.
(RegExpObjectImp::construct): Set the DontDelete, ReadOnly, and DontEnum flags for
"global", "ignoreCase", "multiline", and "source".
* kjs/string_object.cpp: (StringProtoFuncImp::call): For the match method, turn a null
string into undefined rather than an empty string. For the slice method, handle an
undefined parameter for the limit properly as decribed in the specification, and add
the limit to one case that didn't have the limit at all. For the methods that generate
HTML strings, use lowercase tags instead of uppercase.
* kjs/ustring.cpp:
(KJS::UChar::toLower): Use u_tolower from the ICU library.
(KJS::UChar::toUpper): Use u_toupper from the ICU library.
(KJS::UString::append): Fix some math that caused a buffer overflow.
(KJS::convertUTF16OffsetsToUTF8Offsets): Ignore negative numbers (-1 is used as a special
flag) rather than converting them all to 0.
(KJS::convertUTF8OffsetsToUTF16Offsets): Ditto.
* tests/mozilla/jsDriver.pl: Fixed the relative links to point to our actual test files.
* tests/mozilla/ecma/String/15.5.4.11-1.js: Fixed the Unicode table in this test to match
the Unicode specification in a few cases where it was wrong before.
* tests/mozilla/ecma/String/15.5.4.11-2.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.11-3.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.11-5.js: Ditto.
* tests/mozilla/ecma/String/15.5.4.11-6.js: Ditto.
* 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.
* JavaScriptCore.pbproj/project.pbxproj: Link to libicu.
* kjs/number_object.lut.h: Regenerated.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7222
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 10 Aug 2004 18:14:25 +0000 (18:14 +0000)]
Reviewed by Ken.
- change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
"NS and CF retain counts are separate" mental model, rather than the "think about
how garbage collection works" one
* Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
* Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
* Misc.subproj/WebNSURLExtras.m:
(+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
(-[NSURL _web_URLWithLowercasedScheme]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7221
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 10 Aug 2004 18:09:25 +0000 (18:09 +0000)]
Reviewed by Ken.
- minor cleanup
* khtml/editing/jsediting.cpp: Capitalize command names to match Windows.
The dictionary lookup is case insensitive.
* kwq/KWQFoundationExtras.h: Remove inaccurate comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7220
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 10 Aug 2004 17:48:54 +0000 (17:48 +0000)]
3757094 - crash spell checking after a paste
Reviewed by Ken
* khtml/rendering/render_text.cpp:
(InlineTextBox::paintSelection): Add nil check.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7219
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 10 Aug 2004 16:34:46 +0000 (16:34 +0000)]
3756195 - spell checking leaves misspelling marker behind after bad word is deleted
... and other follow-on spell check fixes
Reviewed by Ken
* khtml/rendering/render_text.cpp:
(InlineTextBox::paintMarker): Close inspection shows we were drawing the
misspelling marker one pixel lower than AK, and one pixel outside the selection
rect we draw, in the case of Times-16. So move it up one. Still not an exact
match for AK, but less bad.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::removeMarker): Track whether we make any changes, so we only
repaint if something actually changed.
(DocumentImpl::removeAllMarkers): New utility.
(DocumentImpl::removeAllMarkers): Use clear() instead of (errant)
hand-rolled loop to empty array.
(DocumentImpl::shiftMarkers): Track whether we make any changes, so we only
repaint if something actually changed.
* khtml/xml/dom_docimpl.h:
* khtml/xml/dom_textimpl.cpp:
(CharacterDataImpl::deleteData): Along with shifting existing markers around,
remove any markers in the deleted range. Fixes
3756195.
(CharacterDataImpl::replaceData): Ditto for the replaced range.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::updateSpellChecking): comment
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7218
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 10 Aug 2004 06:30:28 +0000 (06:30 +0000)]
3756599 - REGRESSION: hit assertion in KWQPageState invalidate
By inspection I found a flaw in the recently added logic, although
I have no steps to repro. My theoretical explanation is that we would
get two errors and go through _receivedMainResourceError: twice, which
would cause the pageState to be invalidated twice, which is the only
way I can see to hit the assert.
Reviewed by Darin
* WebView.subproj/WebFrame.m:
(-[WebFrame _receivedMainResourceError:]): Clear the pageState out
of the history item after it's been invalidated by WebCore.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7217
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 10 Aug 2004 03:05:37 +0000 (03:05 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3753467> REGRESSION (137-138): reproducible buffer overrun in UString manipulation code
* kjs/ustring.cpp: (KJS::UString::append): Fix incorrect size computation. Without it
we get a buffer overflow.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7216
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 10 Aug 2004 00:33:19 +0000 (00:33 +0000)]
Inspired by Trey we have a much better approach for conditionally
linking Quart.framework. Instead of multiple targets we use
`` to invoke some inline script to extend COMMON_LDFLAGS as
necessary. Thanks Trey!
Reviewed by Trey.
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7214
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Tue, 10 Aug 2004 00:11:37 +0000 (00:11 +0000)]
Hookup UI for "Continuous Spelling" menu item.
Reviewed by Richard.
* WebView.subproj/WebView.m:
(-[WebView validateUserInterfaceItem:]): Enable and check the
menu item to reflect our state.
(-[WebView toggleContinuousSpellChecking:]): Change type to
IBAction, just cosmetic.
* WebView.subproj/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7213
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
trey [Mon, 9 Aug 2004 22:00:59 +0000 (22:00 +0000)]
WebCore:
3745023 - Safari crashes trying to access anchor while downloading
I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.
The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.
Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.
Reviewed by Richard
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge didNotOpenURL:pageCache:]): Invalidate the pageCache state
when a load doesn't get off the ground.
WebKit:
3745023 - Safari crashes trying to access anchor while downloading
I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.
The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.
Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.
Reviewed by Richard
* WebView.subproj/WebDataSource.m:
(-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the
main work (since it has access to the pageCache state). Also renamed to make
it clear that this is about an error for the main resource.
* WebView.subproj/WebDataSourcePrivate.h:
* WebView.subproj/WebFrame.m:
(-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as
the DataSource used to, but now pass the pageCache state along too.
* WebView.subproj/WebFramePrivate.h:
* WebView.subproj/WebMainResourceClient.m:
(-[WebMainResourceClient receivedError:]): Call renamed method.
(-[WebMainResourceClient cancelWithError:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7212
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Sun, 8 Aug 2004 20:44:11 +0000 (20:44 +0000)]
Reviewed by vicki (changes by rjw)
- make "weak" linking with Quartz work with buildit
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7211
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sat, 7 Aug 2004 00:25:28 +0000 (00:25 +0000)]
WebCore:
Reviewed by Maciej
Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.
* khtml/editing/htmlediting_impl.cpp:
(khtml::EditCommandImpl::markMisspellingsInSelection): Basically, a one-liner convenience to
make the call over to the KWQKHTMLPart.
(khtml::ReplaceSelectionCommandImpl::doApply): Did some rearranging of code so that the
inserted content can be spell-checked. The function is basically the same, except for
the addition of calls to markMisspellingsInSelection.
(khtml::TypingCommandImpl::markMisspellingsAfterTyping): New function. Takes a look at the
selection that results after typing and determines whether it needs to spellcheck.
Since the word containing the current selection is never marked, this does a check to
see if typing made a new word that is not in the current selection. Basically, you
get this by being at the end of a word and typing a space.
(khtml::TypingCommandImpl::typingAddedToOpenCommand): Call markMisspellingsAfterTyping.
* khtml/editing/htmlediting_impl.h: Add new function declarations.
* khtml/khtml_part.cpp:
(KHTMLPart::setSelection): Since spell checks are updated when the selection changes,
and every selection change passes through here, this is a good place to put the call
to the spellchecker.
* khtml/rendering/render_text.cpp:
(InlineTextBox::paintMarker): Remove temporary misspelling line drawing code. Replace with
call that does AppKit-style drawing. Fix up some comments.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::addMarker): Repaint the node that had the marker added. This makes it show
up on setting it.
(DocumentImpl::removeMarker): Ditto.
(DocumentImpl::removeAllMarkers): New function. Convenience for clearing all markers.
Used when not in continuous spellchecking mode.
(DocumentImpl::shiftMarkers): Moves markers in response to changes in a node's contents.
This shifts the marker offsets by a given amount. This keeps the markers in the right
place when a user types in a node with markers already set on it.
* khtml/xml/dom_docimpl.h: Added new functions. Removed unnecessary enum qualifier from some
declarations.
* khtml/xml/dom_position.cpp:
(DOM::Position::previousWordBoundary): This function was susceptible to endless loops...and
needlessly so. Basically, if the current position is at a word boundary, run the code again
to find the previous word boundary.
(DOM::Position::nextWordBoundary): Same as above, but for next word boundary.
* khtml/xml/dom_textimpl.cpp:
(CharacterDataImpl::setData): Call shiftMarkers to update markers when this node changes.
(CharacterDataImpl::insertData): Ditto.
(CharacterDataImpl::deleteData): Ditto.
(CharacterDataImpl::replaceData): Ditto.
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::advanceToNextMisspelling):
(KWQKHTMLPart::markMisspellingsInSelection):
(KWQKHTMLPart::updateSpellChecking):
(KWQKHTMLPart::respondToChangedSelection):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::drawLineForMisspelling): New function. Call over to WebKit to do the drawing.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Pass markMisspellings flag to
setSelection call.
* kwq/WebCoreTextRenderer.h:
WebKit:
Reviewed by Maciej
Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
AppKit-style misspelling underline.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7210
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 6 Aug 2004 18:50:50 +0000 (18:50 +0000)]
156u, Safari 2.0 for TOT. The tree is open!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7209
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Fri, 6 Aug 2004 18:45:35 +0000 (18:45 +0000)]
Safari-155 stamp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7208
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 6 Aug 2004 03:18:41 +0000 (03:18 +0000)]
* WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
All inside #if 0.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7207
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 6 Aug 2004 01:05:23 +0000 (01:05 +0000)]
Fixed part of
3674747. The QT guys need this for feature freeze.
This patch implements support for the
- (id)invokeUndefinedMethodFromWebScript:(NSString *)name withArguments:(NSArray *)args
method of objects bound to JavaScript.
Reviewed by John.
* ChangeLog:
* bindings/objc/objc_class.mm:
(ObjcClass::methodsNamed):
(ObjcClass::fieldNamed):
* bindings/objc/objc_instance.mm:
(ObjcInstance::invokeMethod):
* bindings/objc/objc_runtime.h:
(KJS::Bindings::ObjcMethod::~ObjcMethod):
(KJS::Bindings::ObjcMethod::isFallbackMethod):
(KJS::Bindings::ObjcMethod::javaScriptName):
* bindings/objc/objc_runtime.mm:
(ObjcMethod::ObjcMethod):
(ObjcMethod::getMethodSignature):
(ObjcMethod::setJavaScriptName):
* bindings/testbindings.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7206
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Thu, 5 Aug 2004 21:54:45 +0000 (21:54 +0000)]
Fix for
3752542, stack overflow that crashes Safari at dr.dk. This bug is a regression caused by a fix that
attempted to repair <caption> behavior to make it behave like Panther. This fix was incorrect, and in addition
even our <caption> behavior on Panther was incorrect.
The patch that fixes this bug also makes <caption> handling work when <caption>s are contained inside a <td>, a <tr>,
a <th>, or various table section tags (<tbody>, <tfoot>, <thead>). The <caption> is pulled out and inserted just before
the relevant ancestor table section. This behavior matches other browsers.
Reviewed by mjs
* khtml/html/htmlparser.cpp:
(KHTMLParser::insertNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7202
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 5 Aug 2004 21:52:32 +0000 (21:52 +0000)]
WebKit:
Fixed unnecessary import of NSURLFileTypeMappings.
* WebView.subproj/WebMainResourceClient.m:
WebBrowser:
Fixed unnecessary import of NSURLFileTypeMappings.
* BrowserWebController.m:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7201
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 5 Aug 2004 19:27:30 +0000 (19:27 +0000)]
Make builds conditionally include -framework Quartz.
Reviewed by Chris.
* WebKit.pbproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7200
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Thu, 5 Aug 2004 00:18:08 +0000 (00:18 +0000)]
add a layout test for
3649789
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7194
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Wed, 4 Aug 2004 23:58:34 +0000 (23:58 +0000)]
Reviewed by mjs.
- fix <rdar://problem/
3649789> SAP WebGUI has problems loading first page because of parse error
* kjs/lexer.cpp:
(Lexer::lex): if the current character is a '\' and the next character is a line terminator,
go to the next line and continue parsing the string (instead of failing). This matches
behavior in Mac IE and Mozilla.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7193
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 4 Aug 2004 22:05:48 +0000 (22:05 +0000)]
The top-level XSL sheet is now loaded and shows up in the activity window. It is not yet parsed.
Reviewed by kocienda
* WebCore.pbproj/project.pbxproj:
* khtml/css/css_base.h:
(DOM::StyleBaseImpl::isXSLStyleSheet):
* khtml/css/css_stylesheetimpl.cpp:
(CSSStyleSheetImpl::CSSStyleSheetImpl):
* khtml/css/css_stylesheetimpl.h:
(DOM::StyleSheetImpl::isLoading):
* khtml/misc/loader.cpp:
* khtml/xml/dom_xmlimpl.cpp:
(DOM::ProcessingInstructionImpl::ProcessingInstructionImpl):
(DOM::ProcessingInstructionImpl::checkStyleSheet):
(DOM::ProcessingInstructionImpl::sheet):
(DOM::ProcessingInstructionImpl::isLoading):
(DOM::ProcessingInstructionImpl::setStyleSheet):
* khtml/xml/dom_xmlimpl.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7192
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 4 Aug 2004 20:25:16 +0000 (20:25 +0000)]
Add XSL Stylesheets to the WebCore cache.
Reviewed by kocienda
* khtml/misc/loader.cpp:
(CachedXSLStyleSheet::CachedXSLStyleSheet):
(CachedXSLStyleSheet::ref):
(CachedXSLStyleSheet::deref):
(CachedXSLStyleSheet::data):
(CachedXSLStyleSheet::checkNotify):
(CachedXSLStyleSheet::error):
(DocLoader::requestXSLStyleSheet):
(Cache::requestXSLStyleSheet):
(Cache::getStatistics):
* khtml/misc/loader.h:
(khtml::CachedObject::):
(khtml::CachedXSLStyleSheet::sheet):
(khtml::CachedXSLStyleSheet::schedule):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7191
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 4 Aug 2004 16:50:33 +0000 (16:50 +0000)]
- fixed broken Deployment build
* Carbon.subproj/HIWebView.m: (Click):
Remove code that checks err variable before setting it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7190
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Wed, 4 Aug 2004 00:30:27 +0000 (00:30 +0000)]
First cut at dirt simple PDF support. This feature
depends on Quartz.framework (parent of PDFKit), which only exists
on Tiger. So, we "weak" link against Quartz.
We do very basic PDF rendering. Coming up are support for
"Find..." and linearized PDF (incremental). Linearized PDF
support will require API changes in PDFKit.
No UI is added to Safari, yet.
Reviewed by John.
* WebKit.pbproj/project.pbxproj:
* WebView.subproj/WebDataSource.m:
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
* WebView.subproj/WebFrameView.m:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView.subproj/WebPDFRepresentation.h: Added.
* WebView.subproj/WebPDFRepresentation.m: Added.
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
(-[WebPDFRepresentation canProvideDocumentSource]):
(-[WebPDFRepresentation documentSource]):
(-[WebPDFRepresentation title]):
* WebView.subproj/WebPDFView.h: Added.
* WebView.subproj/WebPDFView.m: Added.
(-[WebPDFView initWithFrame:]):
(-[WebPDFView setDataSource:]):
(-[WebPDFView dataSourceUpdated:]):
(-[WebPDFView setNeedsLayout:]):
(-[WebPDFView layout]):
(-[WebPDFView viewWillMoveToHostWindow:]):
(-[WebPDFView viewDidMoveToHostWindow]):
Copied fix from Jaguar carbon/cocoa work.
Reviewed by Darin (Jaguar version)
* Carbon.subproj/CarbonWindowAdapter.h:
* Carbon.subproj/CarbonWindowAdapter.m:
(-[CarbonWindowAdapter relinquishFocus]):
* Carbon.subproj/HIWebView.m:
(Click):
(OwningWindowChanged):
(WindowHandler):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7189
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 3 Aug 2004 23:58:15 +0000 (23:58 +0000)]
Add the text/xsl MIME type as one that can be displayed.
Reviewed by john
* WebView.subproj/WebDataSource.m:
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
* WebView.subproj/WebFrameView.m:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7188
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 3 Aug 2004 23:40:49 +0000 (23:40 +0000)]
Reviewed by Hyatt
Changes to improve our handling of object tags during editing, including
fixing this bug:
<rdar://problem/
3744533> Problem editing <OBJECT> elements displayed by WebPlugIns
Part of the fix for this bug involves removing the close() function from render objects.
It was decided that this code was no longer needed, as the work it did could be moved
to other, more modern, places.
Fixed this bug:
<rdar://problem/
3748537> crash due to nil node passed into parentNode in computeTypingStyle deleting text
Finally, I filed and fixed this bug I discovered while fixing the one above:
<rdar://problem/
3749338> Select-all + delete leaves editing view without blinking caret
* khtml/editing/htmlediting_impl.cpp:
(khtml::DeleteSelectionCommandImpl::computeTypingStyle): Fix for
3748537. Put in some more null
checks. Bail, returning 0 for typing style if any null checks yield a null.
(khtml::DeleteSelectionCommandImpl::doApply): Fix for
3749338. A removeNodeAndPrune call may wind
up deleting the node where we calculated that we wanted to put the selection after deleting.
If this happens, move this ending selection to a sensible alternative.
(khtml::RemoveNodeAndPruneCommandImpl::doApply): Call previousNodeConsideringAtomicNodes instead
of traversePreviousNode when doing the prune.
* khtml/html/html_objectimpl.cpp:
(HTMLObjectElementImpl::attach): Part of the fix for
3744533.
(HTMLObjectElementImpl::recalcStyle): Change old strcmp check for type of renderer to be a call
to canRenderImageType.
(HTMLObjectElementImpl::childrenChanged): New function. Helps to keep object tags up to date
as their children change. This also will help to make object tags respond properly to having their
params changed by DOM calls.
* khtml/html/html_objectimpl.h: Cosmetic change.
* khtml/html/htmlparser.cpp:
(KHTMLParser::insertNode): Remove call to obsolete closeRenderer() function.
(KHTMLParser::popOneBlock): Ditto.
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::makeChildrenNonInline): Remove call to obsolete close() function.
* khtml/rendering/render_container.cpp:
(RenderContainer::updatePseudoChild): Ditto.
* khtml/rendering/render_form.cpp: Remove obsolete close() function.
* khtml/rendering/render_form.h: Ditto.
* khtml/rendering/render_frames.cpp: Ditto.
* khtml/rendering/render_frames.h: Ditto.
* khtml/rendering/render_inline.cpp:
(RenderInline::splitFlow): Remove calls to obsolete close() function.
* khtml/rendering/render_object.h: Remove obsolete close() function.
* khtml/rendering/render_table.cpp:
(RenderTableCell::layout): Ditto.
* khtml/rendering/render_table.h: Ditto.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::closeInternal): Remove call to obsolete close() function.
* khtml/xml/dom_nodeimpl.cpp: Remove obsolete m_rendererNeedsClose initialization.
(NodeImpl::NodeImpl): Remove obsolete closeRenderer() function.
(NodeImpl::attach): Remove call to obsolete close() function.
(NodeImpl::isAtomicNode): New function. Helps to fix
3744533. Determines if a node should
be treated as an atomic node for the purposes of editing.
(NodeImpl::previousNodeConsideringAtomicNodes): New helper to traverse tree taking atomic nodes
into account.
(NodeImpl::nextNodeConsideringAtomicNodes): Ditto.
(NodeImpl::previousLeafNode): Now calls nextNodeConsideringAtomicNodes to iterate. This helps to
prevent deleting PARAM tag portions of object tags erroneously.
(NodeImpl::nextLeafNode): Ditto.
* khtml/xml/dom_nodeimpl.h: Removed m_rendererNeedsClose bit. Added declarations for new functions.
* khtml/xml/dom_position.cpp:
(DOM::Position::equivalentDeepPosition): Now takes atomic nodes into account as it drills down into the
tree.
* khtml/xml/xml_tokenizer.cpp:
(khtml::XMLTokenizer::endElement): Remove call to obsolete closeRenderer() function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7187
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 3 Aug 2004 23:22:06 +0000 (23:22 +0000)]
Add the deprecated text/xsl MIME type (introduced by Internet Explorer 5) as an acceptable MIME type for XML
documents.
Reviewed by john
* khtml/ecma/xmlhttprequest.cpp:
(KJS::XMLHttpRequest::getValueProperty):
* khtml/khtml_part.cpp:
(KHTMLPart::begin):
* khtml/misc/loader.cpp:
(CachedXBLDocument::CachedXBLDocument):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7186
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Tue, 3 Aug 2004 22:45:51 +0000 (22:45 +0000)]
Reviewed by Darin.
Rolled in changes from the latest KJS sources that support additional
Number.prototype functions.
Specifically this patch covers the follow parts of the ECMA 3 spec:
15.7.4.5, 15.7.4.6, and 15.7.4.7
Fixes:
<rdar://problem/
3663716> missing Number.toFixed (and toPrecision, toExponential)
<rdar://problem/
3749492> missing Number.toPrecision prototype implementation
<rdar://problem/
3749591> missing Number.toExponential prototype implementation
* kjs/identifier.h: Added toFixed, toPrecision, and toExponential to the
list of supported identifiers (a macro).
* kjs/number_object.cpp: Implemented support for toFixed(), toPrecision(),
and toExponential().
(NumberPrototypeImp::NumberPrototypeImp):
(NumberProtoFuncImp::call):
* kjs/number_object.h: Added property names for toFixed, toPrecision,
and toExponential.
(KJS::NumberProtoFuncImp::):
* tests/mozilla/expected.html: Update results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7185
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 3 Aug 2004 22:37:23 +0000 (22:37 +0000)]
Reviewed by Ken.
- implemented enough of the NSTextInput protocol and added the
proper calls to NSInputManager to allow input methods to
work. However, the text is not marked yet.
* WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
marked range.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView markedRange]): Implemented
(-[WebHTMLView conversationIdentifier]): Implemented
(-[WebHTMLView hasMarkedText]): Implemented
(-[WebHTMLView unmarkText]): Implemented
(-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
not yet handle attributes in attributed strings
(-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
the marked text when set.
(-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
(-[WebHTMLView _setMarkedDOMRange:]): hitto.
(-[WebHTMLView _selectRangeInMarkedText:]): ditto
(-[WebHTMLView _discardMarkedText]): ditto
(-[WebHTMLView _selectionIsInsideMarkedText]): ditto
(-[WebHTMLView _updateSelectionForInputManager]): ditto
- did a bit of refactoring while I was in here.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
helper method to simplify the common case of calling the shouldInsertText: delegate
(-[WebHTMLView pasteAsPlainText:]): use it
(-[WebHTMLView insertTab:]): ditto
(-[WebHTMLView insertNewline:]): ditto
(-[WebHTMLView _changeWordCaseWithSelector:]): ditto
(-[WebHTMLView _changeSpellingToWord:]): ditto
(-[WebHTMLView _selectionChanged]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7184
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 3 Aug 2004 21:56:33 +0000 (21:56 +0000)]
Fixed: <rdar://problem/
3572737> Images not resizing at bmx-test.com (spoof nofix)
Reviewed by darin.
* WebCoreSupport.subproj/WebImageRendererFactory.m:
(-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7183
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Tue, 3 Aug 2004 21:41:23 +0000 (21:41 +0000)]
Reviewed by Ken.
- remove assertions that asserted text is non-empty, just avoid
doing anything for the empty case; this is needed because input
methods like to insert empty text in various cases.
* khtml/editing/htmlediting_impl.cpp:
(khtml::InsertTextCommandImpl::InsertTextCommandImpl):
(khtml::InsertTextCommandImpl::doApply):
(khtml::InsertTextCommandImpl::doUnapply):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7182
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 3 Aug 2004 18:28:43 +0000 (18:28 +0000)]
Reviewed by Ken.
- added support for copying RegExp objects so 7 more Mozilla regexp tests pass
* kjs/regexp_object.cpp: (RegExpObjectImp::construct): Check for case where
we are supposed to just copy the regular expression object, and do so.
Also tighten up arguments check to handle case where an actual "undefined"
is passed rather than just omitting an argument.
* tests/mozilla/expected.html: Update results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7181
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 3 Aug 2004 18:09:44 +0000 (18:09 +0000)]
WebCore:
Reviewed by Ken.
- fixed <rdar://problem/
3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
* khtml/xml/dom2_rangeimpl.h: Added text function. Like innerText, but on a range.
* khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::text): Added.
* kwq/DOM.mm: (-[DOMRange _text]): Added. Calls DOM::RangeImpl::text.
* kwq/DOMPrivate.h: Added.
* WebCore.pbproj/project.pbxproj: Added DOMPrivate.h, an internal header (private in WebKit, internal here).
WebKit:
Reviewed by Ken.
- fixed <rdar://problem/
3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
* DOM.subproj/DOMPrivate.h: Added.
* WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
* copy-webcore-files-to-webkit: Added DOMPrivate.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7180
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 2 Aug 2004 23:49:02 +0000 (23:49 +0000)]
* tests/mozilla/.cvsignore: Added.
* tests/mozilla/expected.html: Update results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7179
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 2 Aug 2004 23:47:18 +0000 (23:47 +0000)]
Reviewed by Ken.
- fixed RegExp.toString so 3 more Mozilla regexp tests pass
* kjs/regexp_object.cpp: (RegExpProtoFuncImp::call):
Append the flags here so more tests paseed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7178
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vicki [Mon, 2 Aug 2004 23:43:26 +0000 (23:43 +0000)]
Fix the install path so that WebCore will build again in B&I. Looks like some changes to the project file were accidentally committed (I saw "INSTALL_PATH_MODIFIED_BY_SCRIPT_DO_NOT_COMMIT").
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7176
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 2 Aug 2004 23:38:57 +0000 (23:38 +0000)]
Reviewed by Ken.
- fixed a couple things making 5 Mozilla regexp tests pass
* kjs/regexp_object.cpp: (RegExpProtoFuncImp::call): Implement toString
for the prototype.
(RegExpObjectImp::construct): Fix bug where the string "undefined" would
be used as the flags string when no parameter was passed.
* kjs/regexp_object.h: (KJS::RegExpPrototypeImp::classInfo):
Added a class info object for RegExp prototype so it can return
a string instead of raising an exception when converting to a string.
* tests/mozilla/expected.html: Update results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7175
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 2 Aug 2004 22:31:00 +0000 (22:31 +0000)]
WebCore:
Reviewed by Darin.
WebCore part of fix for <rdar://problem/
3631868> NSToolbar adoption:
Tab key should cycle around toolbar and page content
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge nextKeyViewInsideWebFrameViews]):
Made this method start looking from the current focus node. This won't
affect any existing callers because there were no existing callers.
(-[WebCoreBridge previousKeyViewInsideWebFrameViews]):
ditto
WebKit:
Reviewed by Darin.
WebKit part of fix for <rdar://problem/
3631868> NSToolbar adoption:
Tab key should cycle around toolbar and page content
* WebView.subproj/WebHTMLView.m:
removed overrides of nextKeyView and previousKeyView
(-[WebHTMLView nextValidKeyView]):
call super only if we can't move the focus within the frame hierarchy
(-[WebHTMLView previousValidKeyView]):
ditto
* WebView.subproj/WebHTMLViewInternal.h:
removed nextKeyViewAccessShouldMoveFocus ivar
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7174
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 2 Aug 2004 22:15:10 +0000 (22:15 +0000)]
Create a #define for XSLT support that at the moment will only be enabled on Tiger.
Reviewed by kocienda
* WebCorePrefix.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7173
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 2 Aug 2004 21:44:42 +0000 (21:44 +0000)]
Reviewed by Kevin.
- fix crashes in mozilla tests due to mishandling NaN
* kjs/array_object.cpp: (ArrayProtoFuncImp::call): Rerranged range checks after
calls to toInteger so that NaN will get turned into something that fits in an integer.
These were the ones John already fixed, but his fix used isnan and the new fix is
more efficient.
* kjs/number_object.cpp: (NumberProtoFuncImp::call): Rearranged radix range checks
after a call to toInteger to handle NaN properly. Also removed separate check
for undefined that's not needed.
* kjs/string_object.cpp: (StringProtoFuncImp::call): More of the same kinds of changes
as in the above two files, but for a lot more functions. Also changed one place with
an explicit check for undefined to instead just check isNaN.
* tests/mozilla/run-mozilla-tests: Changed to invoke jst using $SYMROOTS for people
like me who don't keep $SYMROOTS in their $PATH.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7171
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 2 Aug 2004 18:38:57 +0000 (18:38 +0000)]
Tests:
Reviewed by John
Remove special code that placed the caret when the document loads.
This is now handled by WebKit in a more generalized way.
* Blot/Blot.xcode/project.pbxproj:
* Blot/BlotDocument.m:
(-[BlotDocument webView:didFinishLoadForFrame:]):
WebKit:
Reviewed by John
Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
Do some work to make caret blinking in newly-created editable WebView's that are
similar in structure to Blot more "automatic".
* Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
* Misc.subproj/WebNSViewExtras.m:
(-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
(-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of
firstResponderIsSelfOrDescendantView.
(-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML
document to be available on the WebCore side, but it is not at the time this code is running.
However, it will be there on the next crank of the run loop. Doing this helps to make a
blinking caret appear in a new, empty window "automatic".
(-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change.
* WebView.subproj/WebView.m:
(-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7170
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 2 Aug 2004 18:04:45 +0000 (18:04 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3747945> Deleting replaced element can cause crash
* khtml/xml/dom_selection.cpp:
(DOM::Selection::layoutCaret): The crux of the problem is that
the caret drawing code tries to draw the caret at the image
offset after it has been removed from the document. So, make
sure the start node for the selection is in the document before
trying to lay out the caret using that node.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7169
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Sat, 31 Jul 2004 17:32:45 +0000 (17:32 +0000)]
Reviewed by John
<rdar://problem/
3745498> HTMLCompose: Can't edit new empty message (and typing eventually crashes)
<rdar://problem/
3746408> HTMLCompose: cannot type in message body of new messages (and tabbing causes a crash.)
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setDisplaysWithFocusAttributes): Add in some smarts to look around for
a good place to put the caret if focus is turning "on", the part is contentEditable,
and it does not currently have a selection. This has the effect of flashing the caret
in a contentEditable view automatically without requiring the programmer to set a
selection explicitly. This also fixes the bug listed above. Both are cases where the
bad behavior happened since the editing code tried to process input without an active
selection. I always took the extra step of setting the selection explicitly when
opening new windows in programs like Blot, but it seems silly to require developers to
do this in general. With this patch, they no longer need to.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7168
268f45cc-cd09-0410-ab3c-
d52691b4dbfc