Timeline



Jul 3, 2006:

7:35 PM Changeset in webkit [15149] by ggaren
  • 13 edits in trunk/JavaScriptCore

Reviewed by Darin.


  • Refined value conversions in the API:
    • failed toNumber returns NaN
    • failed toObject returns NULL
    • failed toString returns empty string


  • Refined excpetion handling in the API:
    • failed value conversions do not throw exceptions
    • uncaught exceptions in JSEvaluate, JSObjectCallAsFunction, and JSObjectCallAsConstructor are returned through a JSValueRef* exception argument
    • removed JSContextHasException, because JSContextGetException does the same job


  • API/JSBase.h:
  • API/JSCharBufferRef.cpp: (JSValueCopyStringValue):
  • API/JSContextRef.cpp: (JSEvaluate):
  • API/JSContextRef.h:
  • API/JSNodeList.c: Added test code demonstrating how you would use toNumber, and why you probably don't need toUInt32, etc. (JSNodeListPrototype_item): (JSNodeList_getProperty):
  • API/JSObjectRef.cpp: (JSValueToObject): (JSObjectCallAsFunction): (JSObjectCallAsConstructor):
  • API/JSObjectRef.h:
  • API/JSValueRef.cpp: (JSValueToNumber):
  • API/JSValueRef.h:
  • API/minidom.c: (main):
  • API/testapi.c: (main): Added tests for new rules, and call to JSGCProtect to fix Intel crash
  • JavaScriptCore.exp:
6:42 PM Changeset in webkit [15148] by darin
  • 2 edits in trunk/JavaScriptCore
  • Rolled out HashMap implementation of NPRuntime, at least temporarily.

Fixes hang in the bindings section of layout tests seen on the
buildbot.

This code was using HashMap<const char*, PrivateIdentifier*>.
But that hashes based on pointer identity, not string value.
The default hash for any pointer type is to hash based on the pointer.
And WTF doesn't currently have a string hash for char*.
We'll need to fix that before re-landing this patch.

(Formatting was also incorrect -- extra spaces in parentheses.)

  • bindings/npruntime.cpp: Rolled out last change.
11:46 AM Changeset in webkit [15147] by thatcher
  • 1 edit in trunk/WebKit/Misc/WebNSDataExtras.m

Build fix.

10:36 AM Changeset in webkit [15146] by ggaren
  • 3 edits in trunk/JavaScriptCore

Reviewed, tweaked, landed by ggaren.

  • Port NPRuntime from CFDictionary to HashMap.
  • bindings/npruntime.cpp: (getStringIdentifierDictionary): (getIntIdentifierDictionary): (_NPN_GetStringIdentifier): (_NPN_GetIntIdentifier):
  • bindings/npruntime.h:
1:27 AM Changeset in webkit [15145] by thatcher
  • 3 edits in trunk/WebKitTools/Drosera/English.lproj/MainMenu.nib

Forgot the NIB file change for step over and step out.

1:20 AM Changeset in webkit [15144] by thatcher
  • 7 edits
    1 add in trunk/WebKitTools

Reviewed by Eric.

Bug 9631: [Drosera] Add "Step Over" and "Step Out"
http://bugzilla.opendarwin.org/show_bug.cgi?id=9631


Adds step over and step out. Along with a little code cleanup
that was minor enough to piggyback on this fix.

  • Drosera/DebuggerDocument.h:
  • Drosera/DebuggerDocument.m: (-[DebuggerDocument stepOver:]): (-[DebuggerDocument stepOut:]): (-[DebuggerDocument windowDidLoad]): (-[DebuggerDocument windowWillClose:]): (-[DebuggerDocument toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:]): (-[DebuggerDocument toolbarDefaultItemIdentifiers:]): (-[DebuggerDocument toolbarAllowedItemIdentifiers:]): (-[DebuggerDocument validateUserInterfaceItem:]):
  • Drosera/Drosera.xcodeproj/project.pbxproj:
  • Drosera/debugger.html:
  • Drosera/debugger.js:
  • Drosera/viewer.css:
1:03 AM Changeset in webkit [15143] by thatcher
  • 2 edits in trunk/WebKitTools

Reviewed by Eric.

Bug 9628: [Drosera] Split Views acting oddly
http://bugzilla.opendarwin.org/show_bug.cgi?id=9628


Only update the last X or Y coordinate if the new
size was not constrained. Also adds the resize cursor to
the body during the drag incase there is a constrained
over drag off of the resizer element.

  • Drosera/debugger.js:
12:42 AM Changeset in webkit [15142] by thatcher
  • 2 edits in tags/WebKit-521.14.2/WebKit

Build fix and versioning.

12:37 AM Changeset in webkit [15141] by thatcher
  • 1 copy in tags/WebKit-521.14.2

New tag.

Jul 2, 2006:

4:36 PM Changeset in webkit [15140] by ggaren
  • 5 edits in trunk/WebCore

Reviewed and landed by ggaren.

  • platform/gdk/TransferJobManager.cpp Fixed broken dowload logic
  • platform/gdk/ScrollViewGdk.cpp Add comment that scrollbarSize is a temporary variable
  • Projects/gdk/webcore-gdk.bkl Defined NDEBUG build executable is miscompiled otherwise
  • WebCoreSources.bkl added icon/SiteIcon.cpp editing/IndentOutdentCommand.cpp html/HTMLViewSourceDocument.cpp
11:17 AM Changeset in webkit [15139] by ggaren
  • 2 edits in trunk/JavaScriptCore

Reviewed by Adele.


6:05 AM Changeset in webkit [15138] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Alexy Proskuryakov. Patch by Mark Rowe.

Bug 9692: Warning about Safari extensions on every launch is obnoxious
http://bugzilla.opendarwin.org/show_bug.cgi?id=9692

  • WebKitLauncher/WebKitNightlyEnabler.m: (myApplicationWillTerminate): Note that we are exiting cleanly. (cleanUpAfterOurselves): Install bundle load tracking only if we failed to exit cleanly on our last invocation. This doesn't play nicely with multiple concurrent instances of WebKit.app so it can be disabled via defaults write com.apple.Safari WKNEShouldMonitorShutdowns -bool NO.
5:23 AM Changeset in webkit [15137] by ddkilzer
  • 2 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Alexy Proskuryakov. Patch by Mark Rowe.

Bug 9654: Refresh Loop when accessing feed URLs
http://bugzilla.opendarwin.org/show_bug.cgi?id=9654

  • WebKitLauncher/Info.plist: Don't claim to handle feed:// URLs.
5:02 AM Changeset in webkit [15136] by ddkilzer
  • 3 edits in trunk/WebKitTools

WebKitTools:

Reviewed by Timothy Hatcher. Patch by Mark Rowe.

Bug 9689: Nightly builds should warn a user about potential problems when using
"Safari extensions"
http://bugzilla.opendarwin.org/show_bug.cgi?id=9689

  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
  • WebKitLauncher/WebKitNightlyEnabler.m: (myBundleDidLoad): Keep track of if any bundles that are loaded. (myApplicationWillFinishLaunching): Notify user if any bundles are loaded. (cleanUpAfterOurselves): Register for NSBundleDidLoadNotification and NSApplicationWillFinishLaunchingNotification notifications so that we can track bundle loads and notify the user at launch completion.
4:59 AM Changeset in webkit [15135] by ddkilzer
  • 4 edits in trunk/WebCore

WebCore:

Reviewed by Timothy Hatcher. Build fix for Linux. Patch by Shawn Stricker.

  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::setDrawable): Changed SCROLLBAR_SIZE to scrollbarSize.
  • platform/gdk/TemporaryLinkStubs.cpp: (Image::drawTiled): Added missing parameter to argument list.
  • platform/gdk/TransferJobManager.cpp: (WebCore::writeCallback): Added missing parenthesis to static_cast.
4:39 AM Changeset in webkit [15134] by ddkilzer
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Darin. Patch by Mitz.

Replaced the requestingScript state bit added in the fix for bug 9317
with a m_requestingScript bool that is set before and restored
after calling ref() on a CachedScript.


Test: fast/tokenizer/nested-cached-scripts.html

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::HTMLTokenizer): (WebCore::HTMLTokenizer::begin): (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h: (WebCore::HTMLTokenizer::State::):

LayoutTests:

Reviewed by Darin. Patch by Mitz.

  • fast/tokenizer/nested-cached-scripts-expected.txt: Added.
  • fast/tokenizer/nested-cached-scripts.html: Added.
  • fast/tokenizer/resources/nested-1.js: Added.
  • fast/tokenizer/resources/nested-2.js: Added.

Jul 1, 2006:

9:06 PM Changeset in webkit [15133] by ggaren
  • 17 edits
    14 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 ddkilzer
  • 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 ddkilzer
  • 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 tomernic
  • 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 thatcher
  • 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 thatcher
  • 1 copy in tags/WebKit-521.14.1/WebKit

New tag part 2.

12:10 PM Changeset in webkit [15127] by thatcher
  • 1 add in tags/WebKit-521.14.1

New tag.

12:08 PM Changeset in webkit [15126] by thatcher
  • 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 darin
  • 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 darin
  • 1 edit
    29 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 darin
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • WebCoreSources.bkl: Updated for recent file changes.
9:23 PM Changeset in webkit [15122] by darin
  • 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 ddkilzer
  • 7 edits
    4 adds in trunk

WebCore:

Reviewed by Hyatt.

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.

  • 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 darin
  • 1 edit in trunk/Bakefiles/presets.bkl

Changes by Mike Emmel.

6:32 PM Changeset in webkit [15119] by darin
  • 1 edit
    8 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 darin
  • 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 lweintraub
  • 5 edits
    4 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 thatcher
  • 9 copies in tags/Safari-521.14

New tag.

4:35 PM Changeset in webkit [15115] by thatcher
  • 8 edits in /

Versioning

3:32 PM Changeset in webkit [15114] by justing
  • 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 justing
  • 3 edits
    4 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 justing
  • 22 edits
    4 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 ddkilzer
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Darin.

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.

  • 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 thatcher
  • 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 harrison
  • 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 thatcher
  • 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 thatcher
  • 2 edits in trunk/WebCore

Reviewed by Tim H.

  • 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 thatcher
  • 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]

Jun 29, 2006:

11:36 PM Changeset in webkit [15105] by ddkilzer
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Hyatt.

Note: patch originally from Mitz, spruced up by Weinig.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteVerticalValues):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout):

LayoutTests:

Reviewed by Hyatt.

Note: test case originally from Mitz.

  • fast/table/absolute-table-at-bottom-expected.checksum: Added.
  • fast/table/absolute-table-at-bottom-expected.png: Added.
  • fast/table/absolute-table-at-bottom-expected.txt: Added.
  • fast/table/absolute-table-at-bottom.html: Added.
10:56 PM Changeset in webkit [15104] by kdecker
  • 2 edits in trunk/WebKit

Reviewed by mjs and timo.


Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard

  • WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the Dashboard, but was removed in r.14028 on 2006-04-23.
10:35 PM Changeset in webkit [15103] by ddkilzer
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Justin.

  • editing/CompositeEditCommand.cpp: Added sanity checking to prevent modifying nodes outside of where we should be (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):

LayoutTests:

Reviewed by Justin.

  • editing/pasteboard/paste-table-002.html: Added.
  • editing/pasteboard/paste-table-002-expected.checksum: Added.
  • editing/pasteboard/paste-table-002-expected.png: Added.
  • editing/pasteboard/paste-table-002-expected.txt: Added.
9:45 PM Changeset in webkit [15102] by beidson
  • 5 edits in trunk/WebCore

Reviewed by Levi.

In addition to a few small details, logging changes, and style cleanups, this is a stop-gap hack
for a problem in SQLite's blob handling. Querying for a blob in a void* form is reproducibly
returning a corrupt buffer. The temporary solution is to query for the blob as "quoted text" and
manually convert the return string into a character buffer.

  • icon/IconDatabase.cpp: (WebCore::IconDatabase::recreateDatabase): (WebCore::IconDatabase::createPrivateTables):

(WebCore::hexToUnsignedChar): These two functions are the text-to-character-data converters for the time being
(WebCore::hexStringToVector):

(WebCore::IconDatabase::imageDataForIconID):
(WebCore::IconDatabase::imageDataForIconURL):
(WebCore::IconDatabase::imageDataForPageURL):
(WebCore::IconDatabase::iconForPageURL):
(WebCore::IconDatabase::hasIconForIconURL):

  • icon/IconDatabase.h: changes the icon data accessors to return a Vector<unsigned char> instead of void*
  • icon/SQLStatement.cpp: (WebCore::SQLStatement::columnCount): (WebCore::SQLStatement::getColumnBlob):
  • icon/SiteIcon.cpp: (SiteIcon::getImage):
9:39 PM Changeset in webkit [15101] by ddkilzer
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin.

Test: fast/table/rtl-cell-display-none-assert.html

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): Corrected the index used as the last index in the columnPos vector.

LayoutTests:

Reviewed by Darin.

  • fast/table/rtl-cell-display-none-assert-expected.checksum: Added.
  • fast/table/rtl-cell-display-none-assert-expected.png: Added.
  • fast/table/rtl-cell-display-none-assert-expected.txt: Added.
  • fast/table/rtl-cell-display-none-assert.html: Added.
9:31 PM Changeset in webkit [15100] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Kevin Decker.

<rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]

  • Plugins/WebPluginDatabase.m: (+[WebPluginDatabase setAdditionalWebPlugInPaths:]): One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here. For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI, we need to save a copy of the additional paths and not cause a refresh of the plugin DB at this time. (-[WebPluginDatabase _plugInPaths]): Include additionalWebPlugInPaths if this is the global DB. (-[WebPluginDatabase refresh]): Call -_plugInPaths to get the modified array of paths. This is similar to what the old code (before we had per-WebView plugin search paths).
9:24 PM Changeset in webkit [15099] by ddkilzer
  • 1 edit
    14 adds in trunk/WebKitTools

WebKitTools:

Reviewed by Darin.

Bug 9615: Buildbot configuration should be in SVN repository
http://bugzilla.opendarwin.org/show_bug.cgi?id=9615

Import BuildBot configuration files as used by build.webkit.org.
auth.py has been stubbed out so that slave passwords are not disclosed.

  • BuildSlaveSupport/build.webkit.org-config/Makefile: Added.
  • BuildSlaveSupport/build.webkit.org-config/buildbot.css: Added.
  • BuildSlaveSupport/build.webkit.org-config/buildbot.tac: Added.
  • BuildSlaveSupport/build.webkit.org-config/master.cfg: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/init.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/auth.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/basesteps.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/builders.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/factories.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/schedulers.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/status.py: Added.
  • BuildSlaveSupport/build.webkit.org-config/webkit/steps.py: Added.
9:20 PM Changeset in webkit [15098] by ddkilzer
  • 6 edits
    1 add in trunk/WebKitTools

WebKitTools:

Reviewed by Darin.

Bug 9614: Nightly builds should notify user if a newer build is available
http://bugzilla.opendarwin.org/show_bug.cgi?id=9614

  • BuildSlaveSupport/build-launcher-app: Write revision number to WebKit.app's VERSION file.
  • BuildSlaveSupport/build-launcher-dmg: Pass revision number to server-side nightly maintenance script so it can keep track of the latest revision.
  • Scripts/run-webkit-tests: Pass build-dumprendertree's exit status through correctly.
  • WebKitLauncher/VERSION: Added. Placeholder for SVN revision number
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
  • WebKitLauncher/start.html: Retrieve revision number from VERSION file, and pass it through to the nightly start page.
7:56 PM Changeset in webkit [15097] by darin
  • 6 edits
    2 adds in trunk/WebCore

Reviewed by Anders.

  • manual-tests/modal-dialog.html: Added.
  • manual-tests/show-modal-dialog-test.html: Added.
  • page/Frame.cpp: (WebCore::Frame::clear): Call KJSProxy::clear with the clearWindowProperties parameter instead of not calling it at all when clearWindowProperties is false.
  • bindings/js/kjs_proxy.h: Add boolean clearWindowProperties parameter.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::clear): Pass clearWindowProperties variable through to Window::clear instead of not calling it at all.
  • bindings/js/kjs_window.h: Add boolean clearWindowProperties parameter.
  • bindings/js/kjs_window.cpp: (KJS::Window::clear): If clearWindowProperties is false, do only the returnValue work, not the rest of the work.
  • manual-tests/modal-dialog.html: Added.
  • manual-tests/show-modal-dialog-test.html: Added.
4:32 PM Changeset in webkit [15096] by mjs
  • 3 edits in trunk/JavaScriptCore

Reviewed by Geoff.


  • add headerdoc comments to some of the new JS API headers
  • API/JSBase.h:
  • API/JSValueRef.h:
4:18 PM Changeset in webkit [15095] by bdakin
  • 17 edits
    5 adds in trunk

Reviewed by Hyatt.

Fix for <rdar://problem/4450615> Add composite mode to background
styles

-webkit-background-composite will set a composite mode on a
background image.

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSPropertyNames.in: Add -webkit-background-composite
  • css/CSSValueKeywords.in: Add all possible values (clear, copy, source-over, source-in, source-out, source-atop, destination-over, destination-in, destination-out, destination-atop, xor, plus- darker, highlight, and plus-lighter)
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseBackgroundProperty):
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundComposite):
  • css/cssstyleselector.h:
  • platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawTiledImage):
  • platform/GraphicsContext.h: drawTiledImage() now takes a composite operator.
  • platform/Image.h: drawTiled() now takes a composite operator.
  • platform/cairo/ImageCairo.cpp: (WebCore::Image::drawTiled): Set the composite operator.
  • platform/mac/ImageMac.mm: (WebCore::Image::drawTiled): Set the composite operator.
  • platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended): Send the composite operator in the render style over to the graphics context.
  • rendering/render_style.cpp: (WebCore::BackgroundLayer::BackgroundLayer): (WebCore::BackgroundLayer::operator=): (WebCore::BackgroundLayer::operator==): (WebCore::BackgroundLayer::fillUnsetProperties): (WebCore::BackgroundLayer::cullEmptyLayers):
  • rendering/render_style.h: (WebCore::BackgroundLayer::backgroundComposite): (WebCore::BackgroundLayer::isBackgroundCompositeSet): (WebCore::BackgroundLayer::setBackgroundComposite): (WebCore::BackgroundLayer::clearBackgroundComposite): (WebCore::RenderStyle::backgroundComposite): (WebCore::RenderStyle::initialBackgroundComposite):
12:28 PM Changeset in webkit [15094] by tomernic
  • 3 edits in trunk/WebKit

Reviewed by John Sullivan.

WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
-_setTransientProperty:forKey:.
For now, these properties do not persist with the rest of the history data. They are intended to hold transient
per-history-item state, which is something that was until now difficult for a WebKit client app to do.


  • History/WebHistoryItemPrivate.h:
  • History/WebHistoryItem.m: (-[WebHistoryItemPrivate dealloc]): (-[WebHistoryItem _transientPropertyForKey:]): (-[WebHistoryItem _setTransientProperty:forKey:]):
11:18 AM Changeset in webkit [15093] by thatcher
  • 6 edits in trunk/WebKit

Reviewed by Harrison.

Smart insert and delete, continuous spell checking and autoscroll
can now be used for any WebView, not just editable ones. All of
these make sense for documents that might contain content editable
areas or our new text fields. Autoscroll is usefull for dragging
for file input controls also.

Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
WebHTMLView's _interceptEditingKeyEvent now uses WebView's
tabKeyCyclesThroughElements state to determine whether or not
to process tab key events. The idea here is that tabKeyCyclesThroughElements
will be YES when this WebView is being used in a browser, and we
desire the behavior where tab moves to the next element in tab order.
If tabKeyCyclesThroughElements is NO, it is likely that the WebView
is being embedded as the whole view, as in Mail, and tabs should input
tabs as expected in a text editor. Using Option-Tab always cycles
through elements.

  • WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  • WebView/WebHTMLView.m: (-[NSArray _interceptEditingKeyEvent:]):
  • WebView/WebView.m: (-[WebViewPrivate init]): (-[WebView _autoscrollForDraggingInfo:timeDelta:]): (-[WebView _shouldAutoscrollForDraggingInfo:]): (-[WebView validateUserInterfaceItem:]): (-[WebView toggleSmartInsertDelete:]): (-[WebView toggleContinuousSpellChecking:]): (-[WebView setTabKeyCyclesThroughElements:]): (-[WebView tabKeyCyclesThroughElements]):
  • WebView/WebViewPrivate.h:
8:28 AM Changeset in webkit [15092] by ddkilzer
  • 6 edits in trunk/WebCore

WebCore:

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=9649
The no-svg build broke after r15091

  • bindings/objc/DOMInternal.h: Added #if XPATH_SUPPORT/#endif.
  • bindings/objc/DOMInternal.mm: Ditto. (raiseDOMException):
  • bindings/objc/DOMXPath.h: Ditto.
  • bindings/objc/DOMXPath.mm: Ditto.
  • bindings/objc/DOMXPathInternal.h: Ditto.
12:54 AM Changeset in webkit [15091] by andersca
  • 6 edits
    3 adds in trunk

WebCore:

2006-06-29 Anders Carlsson <acarlsson@apple.com>

Reviewed by Tim O.

<rdar://problem/4599760> Objective-C XPath support


  • WebCore.xcodeproj/project.pbxproj: Add files.


  • bindings/objc/DOMInternal.h:
  • bindings/objc/DOMInternal.mm: (raiseDOMException): Handle XPath exceptions


  • bindings/objc/DOMXPath.h: Added. (-[DOMXPathNSResolver lookupNamespaceURI:]):
  • bindings/objc/DOMXPath.mm: Added. (-[DOMNativeXPathNSResolver dealloc]): (-[DOMNativeXPathNSResolver finalize]): (-[DOMNativeXPathNSResolver _xpathNSResolver]): (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:]): (+[DOMNativeXPathNSResolver _xpathNSResolverWith:]): (-[DOMNativeXPathNSResolver lookupNamespaceURI:]): (-[DOMXPathResult dealloc]): (-[DOMXPathResult finalize]): (-[DOMXPathResult resultType]): (-[DOMXPathResult numberValue]): (-[DOMXPathResult stringValue]): (-[DOMXPathResult booleanValue]): (-[DOMXPathResult singleNodeValue]): (-[DOMXPathResult invalidIteratorState]): (-[DOMXPathResult snapshotLength]): (-[DOMXPathResult iterateNext]): (-[DOMXPathResult snapshotItem:]): (-[DOMXPathResult _xpathResult]): (-[DOMXPathResult _initWithXPathResult:]): (+[DOMXPathResult _xpathResultWith:]): (-[DOMXPathExpression evaluate:::]): (-[DOMXPathExpression _xpathExpression]): (-[DOMXPathExpression _initWithXPathExpression:]): (+[DOMXPathExpression _xpathExpressionWith:]): (-[DOMDocument createExpression::]): (-[DOMDocument createNSResolver:]): (-[DOMDocument evaluate:::::]):
  • bindings/objc/DOMXPathInternal.h: Added. Add Objective-C XPath API.

WebKit:

2006-06-29 Anders Carlsson <acarlsson@apple.com>

Reviewed by Tim O.

  • WebKit.xcodeproj/project.pbxproj: Add DOMXPath.h header.
Note: See TracTimeline for information about the timeline view.