Timeline
Jul 1, 2006:
- 9:06 PM Changeset in webkit [15133] by
-
- 17 edits14 adds in trunk/JavaScriptCore
Reviewed by Maciej.
- Phase 2 in the JS API.
- Added support for specifying static tables of values -- this should obviate the need for using complicated callbacks for most lookups.
- API objects are now created with classes (JSClassRef) -- in order to support static values, and in order to prevent API objects from storing their data inline, and thus falling into the oversized (read: slow and prone to giving Maciej the frowny face) heap.
- Added two specialized JSObject subclasses -- JSCallbackFunction and JSCallbackConstructor -- to allow JSFunctionMake and JSConstructorMake to continue to work with the new class model. Another solution to this problem would be to create a custom class object for each function and constructor you make. This solution is more code but also more efficient.
- Substantially beefed up the minidom example to demonstrate and test a lot of these techniques. Its output is still pretty haphazard, though.
- Gave the <kjs/ preface to some includes -- I'm told this matters to building on some versions of Linux.
- Implemented JSValueIsInstanceOf and JSValueIsObjectOfClass
- Removed GetDescription callback. Something in the class datastructure should take care of this.
- API/JSBase.h:
- API/JSCallbackConstructor.cpp: Added. (KJS::): (KJS::JSCallbackConstructor::JSCallbackConstructor): (KJS::JSCallbackConstructor::implementsConstruct): (KJS::JSCallbackConstructor::construct): (KJS::JSCallbackConstructor::setPrivate): (KJS::JSCallbackConstructor::getPrivate):
- API/JSCallbackConstructor.h: Added. (KJS::JSCallbackConstructor::classInfo):
- API/JSCallbackFunction.cpp: Added. (KJS::): (KJS::JSCallbackFunction::JSCallbackFunction): (KJS::JSCallbackFunction::implementsCall): (KJS::JSCallbackFunction::callAsFunction): (KJS::JSCallbackFunction::setPrivate): (KJS::JSCallbackFunction::getPrivate):
- API/JSCallbackFunction.h: Added. (KJS::JSCallbackFunction::classInfo):
- API/JSCallbackObject.cpp: (KJS::): (KJS::JSCallbackObject::JSCallbackObject): (KJS::JSCallbackObject::init): (KJS::JSCallbackObject::~JSCallbackObject): (KJS::JSCallbackObject::className): (KJS::JSCallbackObject::getOwnPropertySlot): (KJS::JSCallbackObject::put): (KJS::JSCallbackObject::deleteProperty): (KJS::JSCallbackObject::implementsConstruct): (KJS::JSCallbackObject::construct): (KJS::JSCallbackObject::implementsCall): (KJS::JSCallbackObject::callAsFunction): (KJS::JSCallbackObject::getPropertyList): (KJS::JSCallbackObject::toBoolean): (KJS::JSCallbackObject::toNumber): (KJS::JSCallbackObject::toString): (KJS::JSCallbackObject::inherits): (KJS::JSCallbackObject::staticValueGetter): (KJS::JSCallbackObject::staticFunctionGetter): (KJS::JSCallbackObject::callbackGetter):
- API/JSCallbackObject.h:
- API/JSCharBufferRef.cpp:
- API/JSClassRef.cpp: Added. (JSClassCreate): (JSClassRetain): (JSClassRelease):
- API/JSClassRef.h: Added. (StaticValueEntry::StaticValueEntry): (StaticFunctionEntry::StaticFunctionEntry): (JSClass::JSClass):
- API/JSContextRef.cpp: (JSContextCreate): (JSEvaluate):
- API/JSContextRef.h:
- API/JSNode.c: Added. (JSNodePrototype_appendChild): (JSNodePrototype_removeChild): (JSNodePrototype_replaceChild): (JSNodePrototype_class): (JSNode_getNodeType): (JSNode_getChildNodes): (JSNode_getFirstChild): (JSNode_finalize): (JSNode_class): (JSNode_prototype): (JSNode_new): (JSNode_construct):
- API/JSNode.h: Added.
- API/JSNodeList.c: Added. (JSNodeListPrototype_item): (JSNodeListPrototype_class): (JSNodeList_length): (JSNodeList_getProperty): (JSNodeList_finalize): (JSNodeList_class): (JSNodeList_prototype): (JSNodeList_new):
- API/JSNodeList.h: Added.
- API/JSObjectRef.cpp: (JSObjectMake): (JSFunctionMake): (JSConstructorMake): (JSPropertyEnumerator::JSPropertyEnumerator): (JSObjectCreatePropertyEnumerator): (JSPropertyEnumeratorGetNext): (JSPropertyEnumeratorRetain): (JSPropertyEnumeratorRelease):
- API/JSObjectRef.h: (JSObjectCallbacks::):
- API/JSValueRef.cpp: (JSValueIsObjectOfClass): (JSValueIsInstanceOf):
- API/JSValueRef.h:
- API/Node.c: Added. (Node_new): (Node_appendChild): (Node_removeChild): (Node_replaceChild): (Node_ref): (Node_deref):
- API/Node.h: Added.
- API/NodeList.c: Added. (NodeList_new): (NodeList_length): (NodeList_item): (NodeList_ref): (NodeList_deref):
- API/NodeList.h: Added.
- API/minidom.c: (main): (print): (createStringWithContentsOfFile):
- API/minidom.js:
- API/testapi.c: (assertEqualsAsCharacters): (MyObject_getProperty): (MyObject_class): (myConstructor_callAsConstructor): (main):
- API/testapi.js:
- JavaScriptCore.xcodeproj/project.pbxproj:
- 8:20 PM Changeset in webkit [15132] by
-
- 2 edits in trunk/WebCore
WebCore:
Reviewed by NOBODY (build fix).
- platform/gdk/TransferJobManager.cpp: (WebCore::writeCallback): Changed 'static_cat' to 'static_cast'.
- 7:50 PM Changeset in webkit [15131] by
-
- 2 edits in trunk/WebKit
WebKit:
Reviewed by NOBODY (fixed Tim's build fix).
- WebView/WebView.m: Added back missing '/' at the beginning of the file.
- 6:31 PM Changeset in webkit [15130] by
-
- 2 edits in trunk/WebKit
Reviewed by NOBODY (build fix)
- WebView/WebView.m: (-[WebView _isMIMETypeRegisteredAsPlugin:]): Changed nil to NO (typo).
- 12:13 PM Changeset in webkit [15129] by
-
- 2 edits in tags/WebKit-521.14.1/WebKit
Build fix for case-sensitive filesystems and versioning.
- 12:11 PM Changeset in webkit [15128] by
-
- 1 copy in tags/WebKit-521.14.1/WebKit
New tag part 2.
- 12:10 PM Changeset in webkit [15127] by
-
- 1 add in tags/WebKit-521.14.1
New tag.
- 12:08 PM Changeset in webkit [15126] by
-
- 1 edit in trunk/WebKit/WebKit.xcodeproj/project.pbxproj
Build fix for case-sensitive filesystems.
Jun 30, 2006:
- 10:02 PM Changeset in webkit [15125] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed and tweaked by Darin.
- Compile fixes for wx port / gcc 4.0.2
- kjs/array_object.cpp: Added missing headers.
- kjs/ExecState.h: gcc needs class prototypes before defining those classes as friend classes
- 9:39 PM Changeset in webkit [15124] by
-
- 1 edit29 adds in trunk/WebCore
Reviewed and worked over a lot by Darin.
- check in first set of GDK-specific sources
- platform/gdk/BrowserExtensionGdk.h: Added.
- platform/gdk/CookieJarGdk.cpp: Added.
- platform/gdk/CursorGdk.cpp: Added.
- platform/gdk/FontCacheGdk.cpp: Added.
- platform/gdk/FontDataGdk.cpp: Added.
- platform/gdk/FontGdk.cpp: Added.
- platform/gdk/FontPlatformData.h: Added.
- platform/gdk/FontPlatformDataGdk.cpp: Added.
- platform/gdk/FrameGdk.cpp: Added.
- platform/gdk/FrameGdk.h: Added.
- platform/gdk/GlyphMapGdk.cpp: Added.
- platform/gdk/KeyEventGdk.cpp: Added.
- platform/gdk/KeyboardCodes.h: Added.
- platform/gdk/MouseEventGdk.cpp: Added.
- platform/gdk/PageGdk.cpp: Added.
- platform/gdk/RenderThemeGdk.cpp: Added.
- platform/gdk/RenderThemeGdk.h: Added.
- platform/gdk/ScreenGdk.cpp: Added.
- platform/gdk/ScrollViewGdk.cpp: Added.
- platform/gdk/SharedTimerLinux.cpp: Added.
- platform/gdk/SystemTimeLinux.cpp: Added.
- platform/gdk/TemporaryLinkStubs.cpp: Added.
- platform/gdk/TransferJobCurl.cpp: Added.
- platform/gdk/TransferJobManager.cpp: Added.
- platform/gdk/TransferJobManager.h: Added.
- platform/gdk/WheelEventGdk.cpp: Added.
- platform/gdk/WidgetGdk.cpp: Added.
- platform/gdk/gdk-encodings.txt: Added.
- 9:24 PM Changeset in webkit [15123] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin.
- WebCoreSources.bkl: Updated for recent file changes.
- 9:23 PM Changeset in webkit [15122] by
-
- 5 edits in trunk/WebCore
Reviewed and enhanced by Darin.
Compilation fixes for Linux/Gdk.
- WebCore/platform/FontData.h: Added forward declaration of a class.
- WebCore/platform/cairo/GraphicsContextCairo.cpp: Fixed case on include.
- WebCore/bindings/js/kjs_html.cpp: Added <math.h> include.
- WebCore/css/maketokenizer: Fixed incorrect check for Linux that was already true even on Mac OS X. Added some additional includes and defines to the Linux extra generated code.
- 7:51 PM Changeset in webkit [15121] by
-
- 7 edits4 adds in trunk
WebCore:
Reviewed by Hyatt.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7204 float inserted in fixed height block via DOM not repainted
Test: fast/repaint/float-move-during-layout.html
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::repaintOverhangingFloats): Renamed repaintFloatingDescendants() to this and limited it to repainting overhanging floats. Added a boolean parameter that forces all descendant overhanging floats (that don't have their own layer) to paint.
- rendering/RenderBlock.h:
- rendering/RenderBox.cpp: (WebCore::RenderBox::repaintDuringLayoutIfMoved): Changed to paint all descendant floats.
- rendering/RenderObject.cpp: (WebCore::RenderObject::repaintOverhangingFloats):
- rendering/RenderObject.h:
LayoutTests:
Reviewed by Hyatt.
- test for http://bugzilla.opendarwin.org/show_bug.cgi?id=7204 float inserted in fixed height block via DOM not repainted
- fast/repaint/float-move-during-layout-expected.checksum: Added.
- fast/repaint/float-move-during-layout-expected.png: Added.
- fast/repaint/float-move-during-layout-expected.txt: Added.
- fast/repaint/float-move-during-layout.html: Added.
- 6:33 PM Changeset in webkit [15120] by
-
- 1 edit in trunk/Bakefiles/presets.bkl
Changes by Mike Emmel.
- 6:32 PM Changeset in webkit [15119] by
-
- 1 edit8 adds in trunk/WebKitTools
Reviewed by Darin.
- first check-in of a Gdk shell for testing WebKit
- GdkLauncher: Added.
- 6:31 PM Changeset in webkit [15118] by
-
- 5 edits in trunk/JavaScriptCore
Reviewed by Darin.
Compilation fixes for Linux/Gdk.
- JavaScriptCore/kjs/interpreter.cpp: added include of signal.h
- JavaScriptCore/kjs/ExecState.h: added missing class declaration
- JavaScriptCore/kjs/ExecState.cpp: case wrong on include of context.h
- JavaScriptCore/JavaScriptCoreSources.bkl: added Context.cpp and ExecState.cpp
- 4:47 PM Changeset in webkit [15117] by
-
- 5 edits4 adds in trunk
LayoutTests:
Reviewed by justin
- editing/execCommand/format-block-with-trailing-br-expected.checksum: Added.
- editing/execCommand/format-block-with-trailing-br-expected.png: Added.
- editing/execCommand/format-block-with-trailing-br-expected.txt: Added.
- editing/execCommand/format-block-with-trailing-br.html: Added.
WebCore:
Reviewed by justin
- editing/VisiblePosition.cpp: Removed is[Not]EqualIgnoringAffinity and made operator== use the logic that ignores affinity.
- editing/VisiblePosition.h: Ditto. (WebCore::operator==):
- editing/visible_units.cpp: (WebCore::isStartOfParagraph): Changed to compare VisiblePositions using ==. (WebCore::isEndOfParagraph): Ditto. (WebCore::isStartOfBlock): Ditto. (WebCore::isEndOfBlock): Ditto.
- 4:41 PM Changeset in webkit [15116] by
-
- 9 copies in tags/Safari-521.14
New tag.
- 4:35 PM Changeset in webkit [15115] by
-
- 8 edits in /
Versioning
- 3:32 PM Changeset in webkit [15114] by
-
- 1 edit in trunk/LayoutTests/editing/pasteboard/pasting-object.html
Fixed the test case that I just checked in.
- 3:17 PM Changeset in webkit [15113] by
-
- 3 edits4 adds in trunk
LayoutTests:
Reviewed by levi
- editing/pasteboard/pasting-object-expected.checksum: Added.
- editing/pasteboard/pasting-object-expected.png: Added.
- editing/pasteboard/pasting-object-expected.txt: Added.
- editing/pasteboard/pasting-object.html: Added.
WebCore:
Reviewed by levi
- editing/htmlediting.cpp: (WebCore::canHaveChildrenForEditing): Don't insert children into object tags while editing.
- 12:43 PM Changeset in webkit [15112] by
-
- 22 edits4 adds in trunk
LayoutTests:
Reviewed by harrison
Added:
- editing/selection/skip-non-editable-1-expected.txt: Added.
- editing/selection/skip-non-editable-1.html: Added.
- editing/selection/skip-non-editable-2-expected.txt: Added.
- editing/selection/skip-non-editable-2.html: Added.
Equivalent render tree:
- editing/execCommand/format-block-with-braces-expected.txt:
Fixes:
- editing/selection/iframe-expected.checksum:
- editing/selection/iframe-expected.png:
- editing/selection/iframe-expected.txt:
- editing/selection/inline-table-expected.checksum:
- editing/selection/inline-table-expected.png:
- editing/selection/inline-table-expected.txt:
- editing/selection/move-between-blocks-no-001-expected.checksum:
- editing/selection/move-between-blocks-no-001-expected.png:
- editing/selection/move-between-blocks-no-001-expected.txt:
- editing/selection/select-box-expected.checksum:
- editing/selection/select-box-expected.png:
- editing/selection/select-box-expected.txt:
WebCore:
Reviewed by harrison
<rdar://problem/4598309
Caret gets stuck when it hits non editable content within an editable body
<http://bugzilla.opendarwin.org/show_bug.cgi?id=9510>
Caret will jump out of an editable region
- dom/Position.cpp: (WebCore::Position::upstream): Don't move into a new editable region so that candidates that that straddle an editable/non-editable boundary will correspond to different VisiblePositions. (WebCore::Position::downstream): Ditto.
- editing/SelectionController.cpp: (WebCore::SelectionController::modifyMovingRightForward): Use VisiblePosition::next(true) (WebCore::SelectionController::modifyMovingLeftBackward): Use VisiblePosition::previous(true)
- editing/VisiblePosition.cpp: (WebCore::VisiblePosition::next): Added code to jump to the next editable region as long as it has the same highest editable root. (WebCore::VisiblePosition::previous): Ditto.
- editing/VisiblePosition.h:
- editing/htmlediting.cpp: (WebCore::highestEditableRoot): Added, returns the highest editable root of a node if that node is in editable content, otherwise 0.
- editing/htmlediting.h:
- 12:09 PM Changeset in webkit [15111] by
-
- 3 edits2 adds in trunk
WebCore:
Reviewed by Darin.
- Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9358 REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer (value == constrainValue(value)) when deleting all text
Test: editing/deleting/delete-all-text-in-text-field-assertion.html
Bug 9661 filed to fix the follow-up issue:
http://bugzilla.opendarwin.org/show_bug.cgi?id=9661
textContent returns "\n" for a <br> even if it is collapsed
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueFromRenderer): Work around "\n" value when all characters are deleted from a text field.
LayoutTests:
Reviewed by Darin.
- Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9358 REGRESSION: Assertion failure in HTMLInputElement::setValueFromRenderer (value == constrainValue(value)) when deleting all text
- editing/deleting/delete-all-text-in-text-field-assertion-expected.txt: Added.
- editing/deleting/delete-all-text-in-text-field-assertion.html: Added.
- 11:56 AM Changeset in webkit [15110] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin.
Only enable shouldCloseWithWindow when ObjC GC is enabled.
This maintains backwards compatibility with applications
that expect a WebView to be usable after the window closes.
- WebView/WebView.m: (-[WebViewPrivate init]):
- 10:53 AM Changeset in webkit [15109] by
-
- 2 edits in trunk/WebCore
Reviewed by Tim Omernick
<rdar://problem/4609481> Crash calling -[WebScriptObject valueForKey:] when JS disabled
- bridge/mac/FrameMac.mm: (WebCore::FrameMac::executionContextForDOM): Early return if JS is not enabled.
- 10:35 AM Changeset in webkit [15108] by
-
- 2 edits in trunk/WebKit
Reviewed by Anders.
Call _close in dealloc to ensure we cleanup for backwards
compatibility. This will safeguard and cleanup even if the
application doesn't use the new close API yet, like Mail.
- WebView/WebView.m: (-[WebView dealloc]):
- 7:05 AM Changeset in webkit [15107] by
-
- 2 edits in trunk/WebCore
Reviewed by Tim H.
- fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9664 REGRESSION (r15106): Crash in fast/events/mouseover-mouseout2.html
- page/FrameView.cpp: (WebCore::FrameView::handleMouseMoveEvent): Added a check that oldSubframe is still a subframe of the view's frame before passing the event to it.
- 12:29 AM Changeset in webkit [15106] by
-
- 23 edits in trunk
WebCore:
Reviewed by Darin.
<rdar://problem/3694163> -[KWQPageState finalize] is incorrect; design change needed
<rdar://problem/3694165> -[WebCoreFrameBridge finalize] is incorrect; design change needed
Added close methods that need to be called before these
objects can be released. This ensures proper tear-down under GC.
- WebCore.xcodeproj/project.pbxproj:
- bridge/mac/WebCoreFrameBridge.h:
- bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge dealloc]): (-[WebCoreFrameBridge finalize]): (-[WebCoreFrameBridge close]):
- bridge/mac/WebCorePageBridge.h:
- bridge/mac/WebCorePageBridge.mm: (-[WebCorePageBridge setMainFrame:]): (-[WebCorePageBridge dealloc]): (-[WebCorePageBridge finalize]): (-[WebCorePageBridge close]): (-[WebCorePageBridge mainFrame]): (-[WebCorePageBridge setGroupName:]): (-[WebCorePageBridge groupName]):
- kwq/KWQPageState.h:
- kwq/KWQPageState.mm: (-[KWQPageState dealloc]): (-[KWQPageState finalize]): (-[KWQPageState close]):
WebKit:
Reviewed by Darin.
<rdar://problem/4484405> WebKit leaks, improper tear-down
<rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
<rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
<rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
Adds a close method to WebView, this needs to be called when the
WebView is no longer needed. To make this easier for the common cases
there is now an "auto close" on WebView that listens to the view's
parent window. If the parent window closes and the WebView has no
hostWindow then the WebView is automatically closed if autoClose is YES.
To manage WebView closing yourself call setAutoClose: and pass NO.
When a WebView closes it will tear-down and not be usable anymore.
Close will will called on various other internal objects as a part
of this, to ensure proper tear-down in GC without relying on finalize.
- History/WebBackForwardList.m: (-[WebBackForwardList dealloc]): (-[WebBackForwardList finalize]): (-[WebBackForwardList _close]):
- History/WebHistoryItem.m: (+[WebHistoryItem _closeObjectsInPendingPageCaches]): (+[WebHistoryItem _releaseAllPendingPageCaches]):
- History/WebHistoryItemPrivate.h:
- WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge close]): (-[WebFrameBridge saveDocumentToPageCache:]): (-[WebFrameBridge canGoBackOrForward:]):
- WebView/WebFrame.m: (-[WebFrame _detachFromParent]): (-[WebFrame dealloc]): (-[WebFrame finalize]):
- WebView/WebFrameView.m: (-[WebFrameView _setWebFrame:]): (-[WebFrameView finalize]):
- WebView/WebHTMLView.m: (-[WebHTMLView close]): (-[NSArray dealloc]): (-[NSArray finalize]):
- WebView/WebHTMLViewInternal.h:
- WebView/WebHTMLViewPrivate.h:
- WebView/WebScriptDebugDelegate.m: (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]): (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]): (-[WebScriptCallFrame enteredFrame:sourceId:line:]): (-[WebScriptCallFrame hitStatement:sourceId:line:]): (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
- WebView/WebScriptDebugDelegatePrivate.h:
- WebView/WebView.m: (-[WebViewPrivate init]): (-[WebView _close]): (-[WebView dealloc]): (-[WebView finalize]): (-[WebView viewWillMoveToWindow:]): (-[WebView _windowWillClose:]): (-[WebView setPreferencesIdentifier:]): (-[WebView mainFrame]): (-[WebView setHostWindow:]): (-[WebView searchFor:direction:caseSensitive:wrap:]): (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): (-[WebView close]): (-[WebView setAutoClose:]): (-[WebView autoClose]): (-[WebView _frameViewAtWindowPoint:]):
- WebView/WebViewPrivate.h:
WebKitTools:
Reviewed by Darin.
Need to call window close so WebView tears-down completly.
- DumpRenderTree/DumpRenderTree.m: (main): call [window close]