Timeline
Mar 2, 2004:
- 4:42 PM Changeset in webkit [6159] by
-
- 10 edits in trunk
Tests:
Reviewed by me
- Blot/BlotDocument.m: (-[BlotDocument webView:didFinishLoadForFrame:]): Remove error out parameter from DOM call.
WebCore:
Reviewed by Darin and me. Coding by Darin and me.
1) Fix some places that were calling [self class], in at
least one case calling a method not defined on the class
(not gonna work).
2) Add underscore prefix for all non-API method names.
3) Make DOMObject refuse to init, which might prevent
problems where people get confused and think they can
subclass or instantiate it or its subclasses.
4) Use some C++ mojo to replace NSStringToDOMString and
DOMStringToNSString with type conversions built into the
DOMString class.
5) Removed NSError out parameters from the API. Methods
now throw NSExceptions.
6) Exception code local variables now initialized before
passing to khtml DOM impl calls.
7) Various other cleanups and tweaks.
- khtml/dom/dom_string.h
- khtml/xml/dom_atomicstring.h
- kwq/DOM.h
- kwq/DOM.mm
- kwq/DOMInternal.h
- kwq/KWQKHTMLPart.mm
- kwq/WebCoreBridge.mm
WebKit:
Reviewed by NOBODY (OOPS!).
- DOM.subproj/DOM.h: Checked in header copied over from WebCore.
- 4:20 PM Changeset in webkit [6158] by
-
- 3 edits in trunk/JavaScriptCore
Removed retain/release from NP_Class. Classes will not be allowed to implement their
own customer retain/release scheme.
Reviewed by Chris.
- bindings/NP_runtime.cpp: (NP_RetainObject): (NP_ReleaseObject):
- 4:17 PM Changeset in webkit [6157] by
-
- 14 edits6 adds in trunk
WebKit:
Added WebJavaScriptObject API. The location of this file may
change.
Reviewed by Chris.
- Plugins.subproj/NP_objc.h: Added.
- WebKit.pbproj/project.pbxproj:
WebCore:
Added NP_SAP API. This API includes the new entry points
used to bind native interfaces to JavaScript. It's final location
may change.
Made changes to KWQKHTMLPart.mm to reflect changes in names
on RootObject.
Reviewed by Chris.
- WebCore.pbproj/project.pbxproj:
- khtml/ecma/NP_SAP.h: Added.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::cleanupPluginRootObjects):
- kwq/WebCoreBridge.mm:
C binding API. Partial implementation.
Completed ObjectiveC bindings (not based on the C API). These will re-implemented over the C binding API, but I wanted to get this code in the tree.
Factored root object reference counting scheme. It is now useful independent
of LiveConnect.
Reviewed by Chris.
- JavaScriptCore.pbproj/project.pbxproj:
- bindings/NP_runtime.cpp: Added. (NP_IdentifierFromUTF8): (NP_GetIdentifiers): (NP_UTF8FromIdentifier): (NP_CreateObject): (NP_RetainObject): (NP_ReleaseObject): (NP_IsKindOfClass): (NP_SetException): (NP_Call): (NP_Evaluate): (NP_GetProperty): (NP_SetProperty): (NP_RemoveProperty): (NP_ToString): (NP_GetPropertyAtIndex): (NP_SetPropertyAtIndex): (NP_CreateNumberWithInt): (NP_CreateNumberWithFloat): (NP_CreateNumberWithDouble): (NP_IntFromNumber): (NP_FloatFromNumber): (NP_DoubleFromNumber): (NP_CreateStringWithUTF8): (NP_CreateStringWithUTF16): (NP_UTF8FromString): (NP_UTF16FromString): (NP_CreateBoolean): (NP_BoolFromBoolean): (NP_GetNull): (NP_GetUndefined): (NP_CreateArray): (NP_CreateArrayV): (NP_ObjectAtIndex):
- bindings/NP_runtime.h: Added.
- bindings/jni/jni_jsobject.cpp: (JSObject::invoke): (JSObject::finalize): (JSObject::createNative): (JSObject::convertValueToJObject):
- bindings/jni/jni_jsobject.h:
- bindings/objc/objc_jsobject.h:
- bindings/objc/objc_jsobject.mm: (rootForView): (windowJavaScriptObject): (-[JavaScriptObject initWithObjectImp:KJS::root:Bindings::]): (-[JavaScriptObject dealloc]): (-[JavaScriptObject _convertValueToObjcValue:KJS::]): (-[JavaScriptObject call:arguments:]): (-[JavaScriptObject evaluate:]): (-[JavaScriptObject getMember:]): (-[JavaScriptObject setMember:value:]): (-[JavaScriptObject removeMember:]): (-[JavaScriptObject toString]): (-[JavaScriptObject getSlot:]): (-[JavaScriptObject setSlot:value:]):
- bindings/objc/objc_utility.h:
- bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue):
- bindings/runtime_root.cpp: Added. (getReferencesByRootDictionary): (getReferencesDictionary): (KJS::Bindings::findReferenceDictionary): (KJS::Bindings::rootForImp): (KJS::Bindings::addNativeReference): (KJS::Bindings::removeNativeReference): (completedJavaScriptAccess): (initializeJavaScriptAccessLock): (lockJavaScriptAccess): (unlockJavaScriptAccess): (RootObject::dispatchToJavaScriptThread): (performJavaScriptAccess): (RootObject::setFindRootObjectForNativeHandleFunction): (RootObject::removeAllNativeReferences):
- bindings/runtime_root.h: Added. (KJS::Bindings::RootObject::RootObject): (KJS::Bindings::RootObject::~RootObject): (KJS::Bindings::RootObject::setRootObjectImp): (KJS::Bindings::RootObject::rootObjectImp): (KJS::Bindings::RootObject::setInterpreter): (KJS::Bindings::RootObject::interpreter): (KJS::Bindings::RootObject::findRootObjectForNativeHandleFunction): (KJS::Bindings::RootObject::runLoop): (KJS::Bindings::RootObject::performJavaScriptSource):
- 1:15 PM Changeset in webkit [6156] by
-
- 3 edits in trunk/WebCore
Reviewed by Darin.
<rdar://problem/3549201>: repro crash in KHTMLPart::begin inside JavaScript code (gmpartsdirect.com)
Added some null checks. I am not sure why this page attaches a
document that has no view, but these changes make it work
perfectly.
- khtml/khtml_part.cpp: (KHTMLPart::begin): Add check for null view before use. * khtml/xml/dom_docimpl.cpp: (DocumentImpl::close): ditto (DocumentImpl::recalcStyle): Add check for null paint device.
- 12:00 PM Changeset in webkit [6155] by
-
- 2 edits in trunk/WebKit
Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
Reviewed by darin.
- WebView.subproj/WebDataSource.m: (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.
- 10:07 AM Changeset in webkit [6154] by
-
- 3 edits in trunk
Change version number from '130' to '131u'. The tree is open.
- 9:27 AM Changeset in webkit [6153] by
-
- 6 edits in trunk
Safari-130 stamp
- 9:03 AM Changeset in webkit [6152] by
-
- 8 edits in trunk
WebCore:
Reviewed by me
Rollout last night's checkin. The tree was closed.
- kwq/DOM.h
- kwq/DOM.mm
- kwq/DOMInternal.h
- kwq/KWQKHTMLPart.mm
- kwq/WebCoreBridge.mm
WebKit:
Reviewed by me
- DOM.subproj/DOM.h: Rollout last night's checkin. The tree was closed.
Mar 1, 2004:
- 6:59 PM Changeset in webkit [6151] by
-
- 5 edits in trunk/WebKit
Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
deliverResource was being called after it had already been called in setDefersCallbacks:.
Reviewed by rjw.
- WebView.subproj/WebBaseResourceHandleDelegate.h:
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay
- 6:52 PM Changeset in webkit [6150] by
-
- 8 edits in trunk
WebCore:
Reviewed by me, changes by Darin.
Yet another pass at the DOM API, this one by
Darin to simplify the internal structure of the
implementation. Little has changed in the API;
much has changed in the implementation, particularly
with regard to object creation and data storage and
the class hierarchy.
- kwq/DOM.h
- kwq/DOM.mm
- kwq/DOMInternal.h
- kwq/KWQKHTMLPart.mm
- kwq/WebCoreBridge.mm
WebKit:
Reviewed by me
- DOM.subproj/DOM.h: Checked in header copied over from WebCore.
- 4:39 PM Changeset in webkit [6149] by
-
- 2 edits in trunk/WebKit
Reviewed by me
- DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon... Backed out an unintended change to thsi file.
- 4:37 PM Changeset in webkit [6148] by
-
- 3 edits in trunk/WebKit
Reviewed by me
- copy-webcore-files-to-webkit: Dumb typing error on my part in making my previous quick fix. This quick fix works.
- 4:27 PM Changeset in webkit [6147] by
-
- 2 edits in trunk/WebKit
Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
- WebKit.pbproj/project.pbxproj:
- 4:21 PM Changeset in webkit [6146] by
-
- 2 edits in trunk/WebKit
Reviewed by me
- copy-webcore-files-to-webkit: Made this file buildit-compliant
- 4:04 PM Changeset in webkit [6145] by
-
- 3 edits in trunk/WebKit
Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway.
Reviewed by rjw.
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource
- 3:55 PM Changeset in webkit [6144] by
-
- 3 edits in trunk/WebKit
Reviewed by darin.
- Misc.subproj/WebIconLoader.m: (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
- WebKit.pbproj/project.pbxproj:
- 2:39 PM Changeset in webkit [6143]
-
- 5 copies3 deletes in tags/JavaScriptCore-125~3
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125~3'.
- 2:39 PM Changeset in webkit [6142] by
-
- 2 edits in branches/SUPanFeldspar-branch/JavaScriptCore
- versioning change for JavaScriptCore-125.3
- 2:37 PM Changeset in webkit [6141] by
-
- 2 edits in branches/SUPanFeldspar-branch/JavaScriptCore
- roll this change onto the SUPanFeldspar branch
2004-02-02 Darin Adler <Darin Adler>
Reviewed by Maciej.
- fixed <rdar://problem/3546613>: array of negative size leads to crash (test page at oscar.the-rileys.net)
- kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): If the length is greater than 10,000, don't allocate an array until we start putting values in. This prevents new Array(2147483647) from causing trouble. (ArrayObjectImp::construct): Check number as described in specification, and raise a range error if the number is out of range. This prevents new Array(-1) from causing trouble.
- 2:23 PM Changeset in webkit [6140] by
-
- 2 edits in trunk/WebCore
Reviewed by NOBODY (OOPS!).
- fixed <rdar://problem/3567047>: REGRESSION: repro crash inside KJS (dispatchToBoolean) at www.thedonnas.com
- fixed <rdar://problem/3550461>: REGRESSION: repro crash in JavaScript at www.alaska.com
- khtml/ecma/kjs_window.cpp: (Window::getListener): Return Null() when the listener object is null, indicating the code failed to parse. Otherwise we return a bad value which can later crash the JS interpreter.
- 2:22 PM Changeset in webkit [6139] by
-
- 16 edits in trunk/WebKit
- Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
- Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.
Reviewed by kocienda.
- Misc.subproj/WebIconLoader.h:
- Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars (-[WebIconLoader URL]): call renamed request ivar (-[WebIconLoader startLoading]): call loadWithRequest (-[WebIconLoader stopLoading]): call cancel (-[WebIconLoader didFinishLoading]):
- Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
- WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient didReceiveResponse:]): ditto (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto (-[WebSubresourceClient didFinishLoading]): ditto (-[WebSubresourceClient didFailWithError:]): ditto
- WebKit.pbproj/project.pbxproj:
- WebView.subproj/WebBaseResourceHandleDelegate.h:
- WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView (-[WebBaseResourceHandleDelegate cancelledError]): tweak
- WebView.subproj/WebDataSource.m: (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
- WebView.subproj/WebResource.m: (-[WebResource _response]): new, factored out from _cachedResponseRepresentation (-[WebResource _cachedResponseRepresentation]): call _response
- WebView.subproj/WebResourcePrivate.h:
- WebView.subproj/WebView.m: (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto (-[WebView _completeProgressForConnectionDelegate:]): ditto
- WebView.subproj/WebViewPrivate.h:
- 12:03 PM Changeset in webkit [6138] by
-
- 2 edits in trunk/WebCore
Reviewed by Vicki.
- fixed Tiger build
- kwq/KWQXmlSimpleReader.mm: (QXmlSimpleReader::parse): Changed SAX structure initialization code so it compiles with both the newer and older libxml. Not sure this will work right with namespaces with the new libxml; we'll have to test.
- 9:30 AM Changeset in webkit [6137] by
-
- 5 edits in trunk/WebCore
Reviewed by me, as suggested by Darin
- khtml/misc/htmlattrs.c: (getAttrName): Generated code no longer has extraneous semicolon.
- khtml/misc/htmltags.c: Generated code no longer has extraneous semicolon. (getTagName):
- khtml/misc/makeattrs: Removed extraneous semicolon from end of file.
- khtml/misc/maketags: Ditto.
- 9:24 AM Changeset in webkit [6136] by
-
- 2 edits in trunk/WebCore
Reviewed by me
- kwq/DOMInternal.h: Replaced tabs with spaces.
- 9:04 AM Changeset in webkit [6135] by
-
- 29 edits1 add2 deletes in trunk
Tests:
Reviewed by Darin
Changed all Objective-C DOM classes from protocols to classes
- Blot/BlotDocument.m: (-[BlotDocument webView:didFinishLoadForFrame:]):
WebCore:
Reviewed by Darin
Changed all Objective-C DOM classes from protocols to classes, using
a class cluster-like approach.
- WebCore.pbproj/project.pbxproj:
- khtml/dom/html_object.cpp: Put code in DOM namespace.
- khtml/html/html_headimpl.cpp: Pull in entire DOM namespace in using directive to make up for the removal of it from htmlattrs.
- khtml/html/htmltokenizer.cpp: Add using directives for the DOM classes used.
- khtml/misc/htmlattrs.c: (getAttrName):
- khtml/misc/htmlattrs.h:
- khtml/misc/htmltags.c: (getTagName):
- khtml/misc/makeattrs: Some changes here to avoid pulling in the entire DOM namespace. Explicitly use DOM namespace scoping for DOMString.
- khtml/misc/maketags: Explicitly use DOM namespace scoping for DOMString.
- khtml/rendering/render_form.cpp: Pull in entire DOM namespace in using directive to make up for the removal of it from htmlattrs.
- kwq/DOM-compat.h:
- kwq/DOM.h:
- kwq/DOM.mm: Added.
- kwq/WebCoreDOM.h: Removed.
- kwq/WebCoreDOM.mm: Removed.
WebKit:
Reviewed by Darin
Changed all Objective-C DOM classes from protocols to classes.
- DOM.subproj/DOM-compat.h:
- DOM.subproj/DOM.h:
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]): (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- WebView.subproj/WebFormDelegate.h:
- WebView.subproj/WebFormDelegate.m: (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
- WebView.subproj/WebFrame.m: (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): (-[WebFormState initWithForm:values:sourceFrame:]): (-[WebFormState form]):
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebHTMLRepresentation.h:
- WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation DOMDocument]): (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]): (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): (-[WebHTMLRepresentation elementWithName:inForm:]): (-[WebHTMLRepresentation elementForView:]): (-[WebHTMLRepresentation elementDoesAutoComplete:]): (-[WebHTMLRepresentation elementIsPassword:]): (-[WebHTMLRepresentation formForElement:]): (-[WebHTMLRepresentation controlsInForm:]): (-[WebHTMLRepresentation searchForLabels:beforeElement:]): (-[WebHTMLRepresentation matchLabels:againstElement:]):
WebBrowser:
Reviewed by Darin
Changed all Objective-C DOM classes from protocols to classes.
- BrowserWebController.m: (-[FormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
- Debug/SnippetController.m: (lastNode): (-[SnippetController loadComplete]):
- FormCompletionController.h:
- FormCompletionController.m: (+[FormCompletionController loginInfoForForm:inFrame:]): (+[FormCompletionController _frame:sourceFrame:willSubmitLoginForm:withValues:formInfo:submissionListener:]): (+[FormCompletionController _frame:sourceFrame:willSubmitRegularForm:withValues:]): (+[FormCompletionController frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): (+[FormCompletionController currentFormInFrame:]): (+[FormCompletionController currentFrameAndForm:inWebView:]): (+[FormCompletionController autoFillInWebView:]): (+[FormCompletionController autoFillPasswordInFrame:]): (-[FormCompletionController initWithSourceField:frame:]): (-[FormCompletionController maxStringLength]): (+[AutoFillController autoFillerForFrame:form:create:]): (+[AutoFillController abMatchInFrame:form:fieldName:]): (+[AutoFillController isContinuationField:inFrame:form:]): (+[AutoFillController recordABMatch:inFrame:form:fieldName:]): (+[AutoFillController clearAutoFilledView:inFrame:form:]): (-[AutoFillController _fieldNameForAutoFillOfView:rep:]): (fieldLooksLikeContinuation): (-[AutoFillController _reflectMultiFieldMatch:inViews:currIndex:fieldName:]): (-[FormToABBinder abPointerForView:rep:useFieldName:foundByPageScan:]):
- Test/AutoFillTest.m: (+[AutoFillTest _dumpFormState:]):
Feb 27, 2004:
- 4:23 PM Changeset in webkit [6134]
-
- 4 copies3 deletes in tags/JavaScriptCore-125~2
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-125~2'.
- 4:23 PM Changeset in webkit [6133] by
-
- 2 edits in branches/Safari-1-2-branch/JavaScriptCore
- update version number for Feldspar changes (JavaScriptCore 125.2)
- 4:09 PM Changeset in webkit [6132] by
-
- 2 edits in branches/Safari-1-2-branch/JavaScriptCore
- roll this change onto the Safari-1-2-branch, for SUPanFeldspar
2004-02-02 Darin Adler <Darin Adler>
Reviewed by Maciej.
- fixed <rdar://problem/3546613>: array of negative size leads to crash (test page at oscar.the-rileys.net)
- kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): If the length is greater than 10,000, don't allocate an array until we start putting values in. This prevents new Array(2147483647) from causing trouble. (ArrayObjectImp::construct): Check number as described in specification, and raise a range error if the number is out of range. This prevents new Array(-1) from causing trouble.
- 3:01 PM Changeset in webkit [6131]
-
- 5 copies2 deletes in tags/JavaScriptCore-85~6
This commit was manufactured by cvs2svn to create tag
'JavaScriptCore-85~6'.
- 3:01 PM Changeset in webkit [6130] by
-
- 2 edits in branches/Safari-1-0-branch/JavaScriptCore
- bump the JavaScriptCore version number from 85.5 to 85.6
- 2:55 PM Changeset in webkit [6129] by
-
- 2 edits in trunk/WebCore
Reviewed by John.
<rdar://problem/3514733>: nil-deref in createHTMLEventListener at skiset.com
<rdar://problem/3510676>: nil-deref of view in DocumentImpl::createHTMLEventListener at kirotv.com
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLEventListener): Don't create the listener if there is no part. Also, get the part when going through the view. This prevents problems when handlers are set or removed from the onUnload handler.
- 2:50 PM Changeset in webkit [6128] by
-
- 3 edits in trunk/WebKit
WebKit:
- WebKit changes to allow performance improvements to bookmarks
Reviewed by Darin.
- History.subproj/WebHistoryItemPrivate.h: added notificationsSuppressed/setNotificationsSuppressed, and setURLString
- History.subproj/WebHistoryItem.m: (-[WebHistoryItem setNotificationsSuppressed:]): setter for new flag. When this flag is set, making changes to the WebHistoryItem will not cause WebHistoryChanged notifications to be sent. This is a big speedup for reading bookmarks from disk, since currently each WebBookmarkLeaf object keeps around a WebHistoryItem object that isn't really part of history and thus doesn't need to send notifications about history changing. (-[WebHistoryItem notificationsSuppressed]): getter for new flag (-[WebHistoryItem setURLString:]): new method, extracted from guts of setURL:; this allows callers (though currently only callers at Apple) that have a URL string in hand to set it directly on the WebHistoryItem rather than converting to a URL and back, both relatively slow operations. Also, doesn't sent a notification if notifications are suppressed. (-[WebHistoryItem setURL:]): now calls extracted method (-[WebHistoryItem setAlternateTitle:]): doesn't send notification if notifications are suppressed (-[WebHistoryItem setOriginalURLString:]): ditto (-[WebHistoryItem setTitle:]): ditto (-[WebHistoryItem _setLastVisitedTimeInterval:]): ditto
WebBrowser:
- A number of performance improvements to importing bookmarks. Some but not all of them also apply to reading our native bookmarks from disk. When I started this, importing bookmarks from Netscape's HTML format was actually slower than importing bookmarks from our property list format, hard though that might be to imagine. Now importing the HTML format takes about half the time it used to, and now it's about 40% faster than importing the property list format, at least with my 33,000 bookmark sample file (and importing our property list format also sped up).
Reviewed by Darin.
- BookmarksController.m: (-[BookmarksController mergeBuiltInBookmarksIfNecessary]): added count to timing log message (-[BookmarksController exportBookmarks:]): added timing log message (-[BookmarksController importFavoritesFrom:intoBookmarksFolder:settingPrefKey:]): added count to timing log message, and commented-out calls to start & stop sampling for the next time someone works on this. Also, in the case where we're importing from a user-chosen file instead of automatically, bypass the merging code because the merging code is unnecessarily complicated for the "just shlurp this pile o' bookmarks into a new folder" case.
- BookmarksViewController.m: (-[BookmarksViewController changeAddressForBookmark:to:]): Use bestURLStringForUserTypedString here (when user manually edits a URL in the outline view) so that we don't have to use it in the general case of setting a bookmark's URL string, since it's slow. When programmatically setting a bookmark's URL string we can often just use an existing string as-is.
- FormCompletionController.m: (+[FormCompletionController _saveCompletionDB:]): Fix the way an #ifdef was declared so it compiles in a deployment build that has LOG_DISABLED set to 0.
- WebBookmarkGroupPrivate.h:
- WebBookmarkGroup.m: (-[WebBookmarkGroup _bookmarkChild:wasAddedToParent:]): added this private-ish helper method to avoid creating an array in the case where we aren't even going to use it because notifications are suppressed (-[WebBookmarkGroup _bookmarkChild:wasRemovedFromParent:]): ditto
- WebBookmarkImporter.m: (-[WebBookmarkImporter unescapeHTML:]): bail out early if there's no ampersand at all in the string (the normal case), to avoid creating a mutable string
- WebBookmarkLeaf.m: (-[WebBookmarkLeaf init]): suppress notifications on our private WebHistoryItem (-[WebBookmarkLeaf setURLString:]): call the new setURLString: method on our private WebHistoryItem instead of converting to a URL and then calling setURL: (which then converts back to a string)
- WebBookmarkList.m: (-[WebBookmarkList removeChild:]): call new -[WebBookmarkGroup _bookmarkChild:wasRemovedFromParent:] so we don't have to create an NSArray here (-[WebBookmarkList insertChild:atIndex:]): call new -[WebBookmarkGroup _bookmarkChild:wasAddedToParent:] so we don't have to create an NSArray here
- 2:48 PM Changeset in webkit [6127] by
-
- 2 edits in branches/Safari-1-0-branch/JavaScriptCore
- roll this change onto the Safari-1-0-branch, for Safari 1.0.3
2004-02-02 Darin Adler <Darin Adler>
Reviewed by Maciej.
- fixed <rdar://problem/3546613>: array of negative size leads to crash (test page at oscar.the-rileys.net)
- kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): If the length is greater than 10,000, don't allocate an array until we start putting values in. This prevents new Array(2147483647) from causing trouble. (ArrayObjectImp::construct): Check number as described in specification, and raise a range error if the number is out of range. This prevents new Array(-1) from causing trouble.
- 1:25 AM Changeset in webkit [6126] by
-
- 2 edits in trunk/WebCore
Reviewed by Dave.
- fixed <rdar://problem/3571356>: REGRESSION: Crash in isPointInsideSelection clicking on link in Apple web directory frame
- khtml/khtml_part.cpp: (KHTMLPart::isPointInsideSelection): Don't crash if innerNode is NULL, as this can happen mousing over a frame that's in the process of loading and currently empty. Since such a frame obviously can't be inside the selection, this seems like a good enough fix.