⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 18, 2007:

11:52 PM Changeset in webkit [23112] by aroben
  • 10 edits
    2 adds in branches/WindowsMerge

WebKitToolsWin:

Reviewed by Hyatt.

Fix DRT part of <rdar://problem/5066482> DumpRenderTree on Windows
doesn't dump editing callbacks

However, we still don't dump anything because of
<rdar://problem/5071598>.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (runTest): Initialize shouldDumpEditingCallbacks. (main): Set the WebView's editing delegate.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj: Added EditingDelegate.(cpp|h) to the project.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.cpp: Added. (EditingDelegate::EditingDelegate): (EditingDelegate::QueryInterface): (EditingDelegate::AddRef): (EditingDelegate::Release): (dumpPath): (dump): (EditingDelegate::shouldBeginEditingInDOMRange): (EditingDelegate::shouldEndEditingInDOMRange): (EditingDelegate::shouldInsertNode): (EditingDelegate::shouldInsertText): (EditingDelegate::shouldDeleteDOMRange): (EditingDelegate::shouldChangeSelectedDOMRange): (EditingDelegate::shouldApplyStyle): (EditingDelegate::shouldChangeTypingStyle): (EditingDelegate::doPlatformCommand): (EditingDelegate::webViewDidBeginEditing): (EditingDelegate::webViewDidChange): (EditingDelegate::webViewDidEndEditing): (EditingDelegate::webViewDidChangeTypingStyle): (EditingDelegate::webViewDidChangeSelection):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EditingDelegate.h: Added. (EditingDelegate::setAcceptsEditing): (EditingDelegate::undoManagerForWebView):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp: (dumpEditingCallbacksCallback): Ported from Mac. (setAcceptsEditingCallback): Ditto.

WebKitWin:

Reviewed by Hyatt.

Implemented getting/setting of the editing delegate (we don't actually
use it for anything yet, though. See <rdar://problem/5071598>).

  • Interfaces/IWebEditingDelegate.idl: Renamed IWebViewEditingDelegate to IWebEditingDelegate to match our other delegates.
  • Interfaces/IWebView.idl: Updated for rename.
  • WebView.cpp: (WebView::setEditingDelegate): Implemented. (WebView::editingDelegate): Ditto.
  • WebView.h: Updated for rename.
10:43 PM Changeset in webkit [20310] by mjs
  • 45 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Mark.


  • avoid static construction (and global variable access) in a smarter, more portable way, to later enable MUTLI_THREAD mode to work on other platforms and compilers.


  • kjs/CommonIdentifiers.cpp: Added. New class to hold all the shared identifiers. (KJS::CommonIdentifiers::CommonIdentifiers): (KJS::CommonIdentifiers::shared):
  • kjs/CommonIdentifiers.h: Added.
  • kjs/ExecState.h: (KJS::ExecState::propertyNames): Hand the CommonIdentifiers instance here for easy access. (KJS::ExecState::ExecState):
  • API/JSObjectRef.cpp: (JSObjectMakeConstructor):
  • CMakeLists.txt:
  • JavaScriptCore.exp:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • bindings/runtime_array.cpp: (RuntimeArray::getOwnPropertySlot): (RuntimeArray::put):
  • bindings/runtime_method.cpp: (RuntimeMethod::getOwnPropertySlot):
  • kjs/array_object.cpp: (ArrayInstance::getOwnPropertySlot): (ArrayInstance::put): (ArrayInstance::deleteProperty): (ArrayProtoFunc::ArrayProtoFunc): (ArrayProtoFunc::callAsFunction): (ArrayObjectImp::ArrayObjectImp):
  • kjs/bool_object.cpp: (BooleanPrototype::BooleanPrototype): (BooleanProtoFunc::BooleanProtoFunc): (BooleanProtoFunc::callAsFunction): (BooleanObjectImp::BooleanObjectImp):
  • kjs/completion.h: (KJS::Completion::Completion):
  • kjs/date_object.cpp: (KJS::DateProtoFunc::DateProtoFunc): (KJS::DateObjectImp::DateObjectImp): (KJS::DateObjectFuncImp::DateObjectFuncImp):
  • kjs/error_object.cpp: (ErrorPrototype::ErrorPrototype): (ErrorProtoFunc::ErrorProtoFunc): (ErrorProtoFunc::callAsFunction): (ErrorObjectImp::ErrorObjectImp): (ErrorObjectImp::construct): (NativeErrorPrototype::NativeErrorPrototype): (NativeErrorImp::NativeErrorImp): (NativeErrorImp::construct): (NativeErrorImp::callAsFunction):
  • kjs/function.cpp: (KJS::FunctionImp::getOwnPropertySlot): (KJS::FunctionImp::put): (KJS::FunctionImp::deleteProperty): (KJS::FunctionImp::getParameterName): (KJS::DeclaredFunctionImp::construct): (KJS::IndexToNameMap::unMap): (KJS::Arguments::Arguments): (KJS::ActivationImp::getOwnPropertySlot): (KJS::ActivationImp::deleteProperty): (KJS::GlobalFuncImp::GlobalFuncImp):
  • kjs/function_object.cpp: (FunctionPrototype::FunctionPrototype): (FunctionProtoFunc::FunctionProtoFunc): (FunctionProtoFunc::callAsFunction): (FunctionObjectImp::FunctionObjectImp): (FunctionObjectImp::construct):
  • kjs/grammar.y:
  • kjs/identifier.cpp:
  • kjs/identifier.h:
  • kjs/interpreter.cpp: (KJS::Interpreter::init): (KJS::Interpreter::initGlobalObject):
  • kjs/interpreter.h:
  • kjs/lookup.h:
  • kjs/math_object.cpp: (MathFuncImp::MathFuncImp):
  • kjs/nodes.cpp: (ArrayNode::evaluate): (FuncDeclNode::processFuncDecl): (FuncExprNode::evaluate):
  • kjs/number_object.cpp: (NumberPrototype::NumberPrototype): (NumberProtoFunc::NumberProtoFunc): (NumberObjectImp::NumberObjectImp):
  • kjs/object.cpp: (KJS::JSObject::put): (KJS::JSObject::defaultValue): (KJS::JSObject::hasInstance):
  • kjs/object.h: (KJS::JSObject::getOwnPropertySlot):
  • kjs/object_object.cpp: (ObjectPrototype::ObjectPrototype): (ObjectProtoFunc::ObjectProtoFunc): (ObjectObjectImp::ObjectObjectImp):
  • kjs/regexp_object.cpp: (RegExpPrototype::RegExpPrototype): (RegExpProtoFunc::RegExpProtoFunc): (RegExpObjectImp::RegExpObjectImp):
  • kjs/string_object.cpp: (KJS::StringInstance::getOwnPropertySlot): (KJS::StringInstance::put): (KJS::StringInstance::deleteProperty): (KJS::StringPrototype::StringPrototype): (KJS::StringProtoFunc::StringProtoFunc): (KJS::StringProtoFunc::callAsFunction): (KJS::StringObjectImp::StringObjectImp): (KJS::StringObjectFuncImp::StringObjectFuncImp):
  • kjs/testkjs.cpp: (TestFunctionImp::TestFunctionImp):

WebCore:

Reviewed by Mark.

  • avoid static construction (and global variable access) in a smarter, more portable way, to later enable MUTLI_THREAD mode to work on other platforms and compilers.


  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBaseFunction::JSHTMLInputElementBaseFunction):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
  • bindings/js/JSXSLTProcessor.cpp: (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
  • bindings/js/kjs_dom.cpp: (KJS::DOMNamedNodeMap::getOwnPropertySlot): (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
  • bindings/js/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
  • bindings/js/kjs_html.cpp: (KJS::HTMLElementFunction::HTMLElementFunction): (KJS::JSHTMLCollection::getOwnPropertySlot):
  • bindings/js/kjs_window.cpp: (KJS::ScheduledAction::execute):
  • bindings/objc/WebScriptObject.mm:
  • bindings/scripts/CodeGeneratorJS.pm:
10:41 PM Changeset in webkit [23111] by hyatt
  • 2 edits in branches/WindowsMerge/WebCore

Fix the CSS2 system font for 'menu' to match Mac. Makes the system fonts layout test pass.

10:28 PM Changeset in webkit [23110] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Hyatt.

Changed the file upload button to say "Choose File" to match Mac.

  • platform/win/TemporaryLinkStubs.cpp: (WebCore::fileButtonChooseFileLabel):
10:05 PM Changeset in webkit [20309] by andrew
  • 8 edits in trunk

JavaScriptCore:

Reviewed by Mark Rowe


Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)

JavaScriptGlue:

Reviewed by Mark Rowe


Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)

  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

Reviewed by Mark Rowe

Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)

  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by Mark Rowe


Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)

  • WebKit.xcodeproj/project.pbxproj:
9:57 PM Changeset in webkit [20308] by hyatt
  • 36 edits in trunk/LayoutTests/http/tests/navigation

land update results for frame pixel changes.

9:53 PM Changeset in webkit [20307] by hyatt
  • 28 edits in trunk/LayoutTests/fast/frames

Land updated results for frames pixel tests.

9:53 PM Changeset in webkit [20306] by hyatt
  • 4 adds in trunk/LayoutTests/fast/frames

Add layout test for frame borders case.

9:50 PM Changeset in webkit [20305] by hyatt
  • 12 edits in trunk/WebCore

Fix for REGRESSION bug 13108, frame borders being painted when they shouldn't be. Rework both frame borders
and resizing to be more like other browsers.

Reviewed by ggaren

fast/frames/no-frame-borders.html

  • html/HTMLFrameElement.cpp: (WebCore::HTMLFrameElement::HTMLFrameElement): (WebCore::HTMLFrameElement::attach): (WebCore::HTMLFrameElement::parseMappedAttribute):
  • html/HTMLFrameElement.h: (WebCore::HTMLFrameElement::hasFrameBorder):
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): (WebCore::HTMLFrameElementBase::parseMappedAttribute):
  • html/HTMLFrameElementBase.h:
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::attach):
  • html/HTMLFrameSetElement.h: (WebCore::HTMLFrameSetElement::hasFrameBorder):
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::HTMLIFrameElement):
  • rendering/RenderFrame.cpp: (WebCore::RenderFrame::edgeInfo):
  • rendering/RenderFrame.h:
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::paint): (WebCore::RenderFrameSet::GridAxis::resize): (WebCore::RenderFrameSet::fillFromEdgeInfo): (WebCore::RenderFrameSet::computeEdgeInfo): (WebCore::RenderFrameSet::edgeInfo): (WebCore::RenderFrameSet::layout): (WebCore::RenderFrameSet::startResizing): (WebCore::RenderFrameSet::continueResizing): (WebCore::RenderFrameSet::canResizeRow): (WebCore::RenderFrameSet::canResizeColumn): (WebCore::RenderFrameSet::splitPosition): (WebCore::RenderFrameSet::hitTestSplit): (WebCore::RenderFrameSet::dump):
  • rendering/RenderFrameSet.h: (WebCore::): (WebCore::FrameEdgeInfo::FrameEdgeInfo): (WebCore::FrameEdgeInfo::preventResize): (WebCore::FrameEdgeInfo::allowBorder): (WebCore::FrameEdgeInfo::setPreventResize): (WebCore::FrameEdgeInfo::setAllowBorder):
9:32 PM Changeset in webkit [20304] by bdash
  • 53 edits in trunk

2007-03-19 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Brady.

Update references to bugzilla.opendarwin.org with bugs.webkit.org.

  • bindings/c/c_utility.cpp: (KJS::Bindings::convertUTF8ToUTF16):
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction):
  • kjs/grammar.y:
  • kjs/keywords.table:
  • kjs/lexer.cpp: (KJS::Lexer::shift):

2007-03-19 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Brady.

Update references to bugzilla.opendarwin.org with bugs.webkit.org.

  • ChangeLog:
  • WebCore.vcproj/WebCore/build-generated-files.sh:
  • manual-tests/ATSU-bad-layout.html:
  • manual-tests/accidental-strict-mode.html:
  • manual-tests/applet-param-no-name.html:
  • manual-tests/bidi-parens.html:
  • manual-tests/bugzilla-3855.html:
  • manual-tests/bugzilla-4840.html:
  • manual-tests/bugzilla-6821.html:
  • manual-tests/containing-block-position-chage.html:
  • manual-tests/contenteditable-link.html:
  • manual-tests/css3-cursor-fallback-quirks.html:
  • manual-tests/css3-cursor-fallback-strict.html:
  • manual-tests/custom-cursors.html:
  • manual-tests/dictionary-scrolled-iframe.html:
  • manual-tests/dom-manipulation-on-resize.html:
  • manual-tests/drag-image-to-address-bar.html:
  • manual-tests/empty-link-target.html:
  • manual-tests/empty-title-popup.html:
  • manual-tests/first-line-style-crash.html:
  • manual-tests/invalid-mouse-event.html:
  • manual-tests/left-overflow-repaint.html:
  • manual-tests/linkjump-3.html:
  • manual-tests/log-keypress-events.html:
  • manual-tests/named-window-blank-target.html:
  • manual-tests/plain-text-paste.html:
  • manual-tests/plugin-controller-datasource.html:
  • manual-tests/pre-tab-selection-rect.html:
  • manual-tests/redirection-target.html:
  • manual-tests/redraw-page-cache-visited-links.html:
  • manual-tests/reset-initiatedDrag.html:
  • manual-tests/resources/named-window-blank-target-step2.html:
  • manual-tests/resources/named-window-blank-target-step3.html:
  • manual-tests/resources/named-window-blank-target-step4.html:
  • manual-tests/resources/redraw-page-cache-visited-links-2.html:
  • manual-tests/scrollbar-hittest.html:
  • manual-tests/scrollbar-hittest2.html:
  • manual-tests/subview-click-assertion.html:
  • manual-tests/tabbing-input-google.html:
  • manual-tests/text-field-autoscroll.html:
  • manual-tests/textarea-after-stylesheet-link.html:
  • manual-tests/textarea-focus.html:
  • manual-tests/whitespace-pre-affinity.html:

2007-03-19 Mark Rowe <mrowe@apple.com>

Rubber-stamped by Brady.

Update references to bugzilla.opendarwin.org with bugs.webkit.org.

  • WebInspector/webInspector/inspector.css:
  • WebView/WebHTMLView.mm: (-[WebHTMLView firstRectForCharacterRange:]):
  • WebView/WebView.mm: (-[WebView initWithFrame:frameName:groupName:]):
8:36 PM Changeset in webkit [23109] by aroben
  • 2 edits in branches/WindowsMerge/LayoutTests

Rubberstamped by Maciej.

  • Skipped: Added another crasher.
8:01 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
7:34 PM Changeset in webkit [20303] by mjs
  • 1 edit
    2 adds in trunk/WebKitSite

Added a random JS benchmark.

  • misc/morph.html: Added.
7:18 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
7:14 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
7:11 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
6:53 PM Changeset in webkit [23108] by ggaren
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Oliver Hunt.

Fixed <rdar://problem/5061807> STRESS (2): Crash in PlatformScrollbar::setRect

No test case because I can't seem to get the Windows DRT to cooperate. I'll try again tomorrow.

The problem was that the FrameView would try to reset the document's scrollbars after having
been removed from the page, so its page pointer would be NULL. Added NULL checks.

This situation ultimately results from the FrameView's non-trivial destructor, which
creates a fragile dependency on tear-down timing. It looks like the timing on Windows
is slightly different from the timing on Mac. I didn't see any obvious resulting bugs,
though, so the NULL checks should be sufficient for now.

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::windowResizerRect): (WebCore::ScrollView::addToDirtyRegion): (WebCore::ScrollView::scrollBackingStore): (WebCore::ScrollView::updateBackingStore):
6:50 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
6:50 PM Changeset in webkit [20302] by bdash
  • 4 edits
    2 deletes in trunk

Roll out r20297, fix for http://bugs.webkit.org/show_bug.cgi?id=13091, as it causes regressions in layout tests.

6:40 PM Changeset in webkit [20301] by weinig
  • 13 edits in trunk/LayoutTests

Reviewed by Mark.

Update results after Hyatt's patch in r20268.

  • tables/mozilla/bugs/bug137388-2-expected.checksum:
  • tables/mozilla/bugs/bug137388-2-expected.png:
  • tables/mozilla/bugs/bug137388-2-expected.txt:
  • tables/mozilla/bugs/bug137388-3-expected.checksum:
  • tables/mozilla/bugs/bug137388-3-expected.png:
  • tables/mozilla/bugs/bug137388-3-expected.txt:
  • tables/mozilla/bugs/bug50695-2-expected.checksum:
  • tables/mozilla/bugs/bug50695-2-expected.png:
  • tables/mozilla/bugs/bug50695-2-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug137388-1-expected.checksum:
  • tables/mozilla_expected_failures/bugs/bug137388-1-expected.png:
  • tables/mozilla_expected_failures/bugs/bug137388-1-expected.txt:
6:32 PM Changeset in webkit [23107] by aroben
  • 18 edits
    3 adds in branches/WindowsMerge

LayoutTestsWin:

Reviewed by Geoff.

  • Skipped: Added a new crasher.

WebKitToolsWin:

Reviewed by Geoff.

Added a basic implementation of eventSender. It supports mouse and key
events.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DraggingInfo.h: Added. (DraggingInfo::DraggingInfo): (DraggingInfo::~DraggingInfo): (DraggingInfo::dataObject): (DraggingInfo::dropSource):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (main): Made the WebView's HWND a global so that EventSender can access it.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h: Added extern declarations.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.vcproj: Added new files to project.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.cpp: Added. (getDragModeCallback): (setDragModeCallback): (leapForwardCallback): (currentEventTime): (makeMsg): (mouseDownCallback): (pointl): (doMouseUp): (mouseUpCallback): (mouseClickCallback): (doMouseMove): (mouseMoveToCallback): (replaySavedEvents): (keyDownCallback): (getClass): (makeEventSender):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/EventSender.h: Added.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp: Re-ordered #includes.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.h: Changed #include to forward declarations.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (WaitUntilDoneDelegate::windowScriptObjectAvailable): Make the eventSender available. (WaitUntilDoneDelegate::doDragDrop): Implemented.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h:

WebKitWin:

Reviewed by Geoff.

Added IWebFramePrivate::layout to support eventSender in DRT.

Made IWebView inherit from IDropTarget to match Mac, and added
IWebUIDelegatePrivate::doDragDrop to support drag-and-drop in DRT.

  • Interfaces/IWebFramePrivate.idl: Added layout().
  • Interfaces/IWebUIDelegatePrivate.idl: Added doDragDrop().
  • Interfaces/IWebView.idl: Added inheritance from IDropTarget.
  • WebDragClient.cpp: (WebDragClient::startDrag): Call the UI delegate if possible, otherwise fallback to OLE's DoDragDrop.
  • WebFrame.cpp: (WebFrame::layout): Implemented.
  • WebFrame.h:
  • WebView.h:
6:01 PM JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
5:59 PM JavaScript and DOM Benchmarks created by mjs@apple.com
5:59 PM WikiStart edited by mjs@apple.com
(diff)
5:39 PM Changeset in webkit [20300] by kjk
  • 2 edits in trunk/WebCore

Not reviewed - gdk build fix.

  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::update): add a stub
5:37 PM Changeset in webkit [20299] by beidson
  • 3 edits in trunk/WebCore

Reviewed by Hyatt

http://bugs.webkit.org/show_bug.cgi?id=13111
When stopped a load before it completes, partial images become the
broken image icon

  • loader/loader.cpp: (WebCore::Loader::didFail): Split off into a method that knows the difference between failed and cancelled. If a load is cancelled, don't call error() on the object - only remove it from the cache (WebCore::Loader::cancelRequests): Call didFail(loader, true)
  • loader/loader.h: Added didFail(SubresourceLoader*, bool cancelled)
4:42 PM Changeset in webkit [20298] by bdash
  • 3 edits
    4 adds in trunk

2007-03-18 Mitz Pettel <mitz@webkit.org>

Reviewed by Adele.

Test: fast/forms/input-text-word-wrap.html

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createInnerTextStyle): Force the inner block to 'word-wrap:normal'.

2007-03-18 Mitz Pettel <mitz@webkit.org>

Reviewed by Adele.

  • fast/forms/input-text-word-wrap-expected.checksum: Added.
  • fast/forms/input-text-word-wrap-expected.png: Added.
  • fast/forms/input-text-word-wrap-expected.txt: Added.
  • fast/forms/input-text-word-wrap.html: Added.
4:40 PM Changeset in webkit [20297] by bdash
  • 4 edits
    2 adds in trunk

2007-03-18 Mitz Pettel <mitz@webkit.org>

Reviewed by Tim Hatcher.

Test: fast/innerHTML/additional-inline-style.html

  • editing/markup.cpp: (WebCore::startMarkup): Changed to add inline style based on CSS rules only in AnnotateForInterchange mode.

2007-03-18 Mitz Pettel <mitz@webkit.org>

Reviewed by Tim Hatcher.

  • editing/pasteboard/paste-table-002-expected.txt:
  • fast/innerHTML/additional-inline-style-expected.txt: Added.
  • fast/innerHTML/additional-inline-style.html: Added.
4:25 PM Changeset in webkit [20296] by bdash
  • 6 edits
    2 adds in trunk

2007-03-18 Dan Waylonis <waylonis@mac.com>

Reviewed by Tim Hatcher.

Fix http://bugs.webkit.org/show_bug.cgi?id=13005
Bug 13005: WebScriptObject +throwException needs NULL check.

Add checking for NULL interpreter before throwing exception.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]):

2007-03-18 Dan Waylonis <waylonis@mac.com>

Reviewed by Tim Hatcher.

DumpRenderTree changes for http://bugs.webkit.org/show_bug.cgi?id=13005
Bug 13005: WebScriptObject +throwException needs NULL check.

Add tests to ensure that a plugin can safely throw an exception in dealloc.

  • DumpRenderTree/ObjCPlugin.h:
  • DumpRenderTree/ObjCPlugin.m: (+[ObjCPlugin webScriptNameForKey:]): (+[ObjCPlugin isKeyExcludedFromWebScript:]): (-[ObjCPlugin dealloc]):

2007-03-18 Dan Waylonis <waylonis@mac.com>

Reviewed by Tim Hatcher.

Tests for http://bugs.webkit.org/show_bug.cgi?id=13005
Bug 13005: WebScriptObject +throwException needs NULL check.

A plugin that throws on dealloc can crash WebKit.

  • plugins/throw-on-dealloc-expected.txt: Added.
  • plugins/throw-on-dealloc.html: Added.
4:02 PM Changeset in webkit [20295] by ggaren
  • 6 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver Hunt.


Exposed some extra toUInt32 functionality, as part of the fix for
REGRESSION: Incomplete document.all implementation breaks abtelectronics.com
(Style Change Through JavaScript Blanks Content)

LayoutTests:

Reviewed by Oliver Hunt.


Layout test for http://bugs.webkit.org/show_bug.cgi?id=13106
REGRESSION: Incomplete document.all implementation breaks abtelectronics.com
(Style Change Through JavaScript Blanks Content)

  • fast/dom/collection-null-like-arguments-expected.txt: Added.
  • fast/dom/collection-null-like-arguments.html: Added.

WebCore:

Reviewed by Oliver Hunt.


Fixed http://bugs.webkit.org/show_bug.cgi?id=13106
REGRESSION: Incomplete document.all implementation breaks abtelectronics.com
(Style Change Through JavaScript Blanks Content)


When indexing into collections, treat the empty string as an invalid argument,
instead of the number 0.

  • bindings/js/kjs_html.cpp: (KJS::JSHTMLCollection::getOwnPropertySlot): (KJS::JSHTMLCollection::callAsFunction): (KJS::JSHTMLCollectionPrototypeFunction::callAsFunction):
11:42 AM Changeset in webkit [23106] by sfalken
  • 1 edit in branches/WindowsMerge/WebKitWin/WebKit.vcproj/VERSION

Bump version for submit

11:39 AM Changeset in webkit [20294] by sfalken
  • 1 copy in tags/Safari-521.35.10b

New tag.

11:10 AM Changeset in webkit [20293] by ggaren
  • 2 edits in trunk/JavaScriptCore

Removed duplicate export name.


11:07 AM Changeset in webkit [20292] by ggaren
  • 13 edits in trunk/JavaScriptCore

Reviewed by Maciej Stachowiak.


Fixed <rdar://problem/5064964> Repro ASSERT failure in JS Bindings when
closing window @ lowtrades.bptrade.com


Unfortunately, the bindings depend on UString and Identifier as string
representations. So, they need to acquire the JSLock when doing something
that will ref/deref their strings.

Layout tests, the original site, and Java, Flash, and Quicktime on the
web work. No leaks reported. No automated test for this because testing
the Java bindings, like math, is hard.


  • bindings/runtime.h: Made Noncopyable, just to be sure.


  • bindings/c/c_class.cpp: (KJS::Bindings::CClass::~CClass): Acquire the JSLock and explicitly clear the keys in our hashtable, since they're UString::Reps, and ref/deref aren't thread-safe. (KJS::Bindings::CClass::methodsNamed): Also acquire the JSLock when adding keys to the table, since the table ref's them. (KJS::Bindings::CClass::fieldNamed): ditto.
  • bindings/c/c_utility.cpp: Removed dead function. (KJS::Bindings::convertValueToNPVariant): Acquire the JSLock because doing it recursively is pretty cheap, and it's just too confusing to tell whether all our callers do it for us. (KJS::Bindings::convertNPVariantToValue): ditto
  • bindings/c/c_utility.h:
  • bindings/jni/jni_class.cpp: Same deal as c_class.cpp. (JavaClass::JavaClass): (JavaClass::~JavaClass):
  • bindings/jni/jni_instance.cpp: Same deal as c_utility.cpp. (JavaInstance::stringValue):
  • bindings/jni/jni_jsobject.cpp: (JavaJSObject::convertValueToJObject):
  • bindings/jni/jni_runtime.cpp: (JavaMethod::~JavaMethod): Moved from header, for clarity. (appendClassName): Made this static, so the set of callers is known, and we can assert that we hold the JSLock. Also changed it to take a UString reference, which makes the calling code simpler. (JavaMethod::signature): Store the ASCII value we care about instead of a UString, since UString is so much more hassle. Hold the JSLock while building up the temporary UString.
  • bindings/jni/jni_runtime.h: Nixed dead code in JavaMethod. (KJS::Bindings::JavaString::JavaString): Hold a UString::Rep instead of a UString, so we can acquire the JSLock and explicitly release it. (KJS::Bindings::JavaString::_commonInit): (KJS::Bindings::JavaString::~JavaString): (KJS::Bindings::JavaString::UTF8String): (KJS::Bindings::JavaString::uchars): (KJS::Bindings::JavaString::length): (KJS::Bindings::JavaString::ustring):
  • bindings/jni/jni_utility.cpp: (KJS::Bindings::convertArrayInstanceToJavaArray): Made this static, so the set of callers is known, and we can assert that we hold the JSLock. (KJS::Bindings::convertValueToJValue): Acquire the JSLock because doing it recursively is pretty cheap, and it's just too confusing to tell whether all our callers do it for us.
  • bindings/objc/objc_runtime.h: Nixed some dead code.
  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertNSStringToString): Same drill as above.
10:39 AM Changeset in webkit [20291] by ap
  • 3 edits
    3 adds in trunk

Reviewed by Geoff.

http://bugs.webkit.org/show_bug.cgi?id=13105
REGRESSION: an exception raised when calculating base value of a dot expression is not returned

Test: fast/js/dot-node-base-exception.html

  • kjs/nodes.cpp: (FunctionCallDotNode::evaluate): Added the necessary KJS_CHECKEXCEPTIONVALUE.
10:36 AM Changeset in webkit [20290] by sfalken
  • 2 edits in trunk/JavaScriptCore

2007-03-18 Steve Falkenburg <sfalken@apple.com>

Build fix.

4:34 AM Changeset in webkit [20289] by hyatt
  • 3 edits in trunk/WebCore

Use fillRect instead of drawLine, since drawLine has some odd behavior (it's only used for borders).

Reviewed by aroben

  • platform/graphics/IntRect.h:
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::paintColumnBorder): (WebCore::RenderFrameSet::paintRowBorder):
4:11 AM Changeset in webkit [20288] by hyatt
  • 2 edits in trunk/WebCore

Change the frameborder color to be light gray for framesets.

Reviewed by aroben

  • rendering/RenderFrameSet.cpp: (WebCore::borderFillColor): (WebCore::RenderFrameSet::paintColumnBorder): (WebCore::RenderFrameSet::paintRowBorder):
3:53 AM Changeset in webkit [20287] by hyatt
  • 2 edits in trunk/WebCore

Make iframes work properly with frameborder="0".

Reviewed by aroben

  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::mapToEntry): (WebCore::HTMLIFrameElement::parseMappedAttribute):
3:52 AM Changeset in webkit [20286] by hyatt
  • 4 adds in trunk/LayoutTests/fast/frames

Add new iframe layout test.

3:00 AM Changeset in webkit [20285] by hyatt
  • 72 edits in trunk/LayoutTests/http/tests

Land corrected results for frame changes.

2:58 AM Changeset in webkit [20284] by hyatt
  • 3 edits in trunk/LayoutTests/fast/replaced

Land corrected results for frame changes.

2:57 AM Changeset in webkit [20283] by hyatt
  • 3 edits in trunk/LayoutTests/fast/repaint

Land corrected results for frame changes.

2:57 AM Changeset in webkit [20282] by hyatt
  • 3 edits in trunk/LayoutTests/fast/overflow

Land corrected results for frame changes.

2:56 AM Changeset in webkit [20281] by hyatt
  • 3 edits in trunk/LayoutTests/fast/loader

Land corrected results for frame changes.

2:56 AM Changeset in webkit [20280] by hyatt
  • 3 edits in trunk/LayoutTests/fast/forms

Land corrected results for frame changes.

2:55 AM Changeset in webkit [20279] by hyatt
  • 6 edits in trunk/LayoutTests/fast/events

Land corrected results for frame changes.

2:54 AM Changeset in webkit [20278] by hyatt
  • 3 edits in trunk/LayoutTests/fast/encoding

Land corrected results for frame changes.

2:54 AM Changeset in webkit [20277] by hyatt
  • 54 edits in trunk/LayoutTests/fast/dom

Land corrected results for frame changes.

2:52 AM Changeset in webkit [20276] by hyatt
  • 6 edits in trunk/LayoutTests/fast/block

Land corrected results for frame changes.

2:51 AM Changeset in webkit [20275] by hyatt
  • 150 edits in trunk/LayoutTests/editing/selection

Land corrected results for frame changes.

2:50 AM Changeset in webkit [20274] by hyatt
  • 126 edits in trunk/LayoutTests/editing/pasteboard

Land corrected results for frame changes.

2:48 AM Changeset in webkit [20273] by hyatt
  • 59 edits in trunk/LayoutTests/editing/execCommand

Land corrected results for frame changes.

2:47 AM Changeset in webkit [20272] by hyatt
  • 10 edits in trunk/LayoutTests/dom/xhtml/level2/html

Land corrected XHTML DOM test results for frames changes.

2:35 AM Changeset in webkit [20271] by hyatt
  • 65 edits in trunk/LayoutTests/fast/frames

Reset frames results.

2:33 AM Changeset in webkit [20270] by hyatt
  • 2 edits in trunk/WebCore

Add a 2px border by default to <iframe>s for compatibility with other browsers.

Reviewed by aroben

  • css/html4.css:
2:21 AM Changeset in webkit [20269] by hyatt
  • 18 edits in trunk

WebCore:

Move frame borders out of WebKit and into WebCore.

Reviewed by aroben, olliej

  • bridge/mac/FrameViewMac.mm:
  • css/html4.css:
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): (WebCore::HTMLFrameSetElement::mapToEntry): (WebCore::HTMLFrameSetElement::parseMappedAttribute): (WebCore::HTMLFrameSetElement::attach):
  • html/HTMLFrameSetElement.h: (WebCore::HTMLFrameSetElement::hasBorderColor):
  • page/FrameView.cpp: (WebCore::FrameViewPrivate::FrameViewPrivate):
  • page/FrameView.h:
  • page/mac/WebCoreFrameBridge.h:
  • platform/graphics/IntRect.h: (WebCore::IntRect::topLeft): (WebCore::IntRect::topRight): (WebCore::IntRect::bottomLeft): (WebCore::IntRect::bottomRight):
  • rendering/RenderFrame.cpp: (WebCore::RenderFrame::viewCleared):
  • rendering/RenderFrameSet.cpp: (WebCore::borderStartEdgeColor): (WebCore::borderEndEdgeColor): (WebCore::RenderFrameSet::paintColumnBorder): (WebCore::RenderFrameSet::paintRowBorder): (WebCore::RenderFrameSet::paint):
  • rendering/RenderFrameSet.h:
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::viewCleared):
  • rendering/RenderView.cpp: (WebCore::RenderView::repaintViewRectangle):

WebKit:

Move frame borders out of WebKit and into WebCore.

Reviewed by aroben, olliej

  • WebCoreSupport/WebFrameBridge.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebView/WebFrameView.mm: (-[WebFrameView drawRect:]): (-[WebFrameView setFrameSize:]):
  • WebView/WebFrameViewInternal.h:

Mar 17, 2007:

10:23 PM Changeset in webkit [23105] by hyatt
  • 2 edits in branches/WindowsMerge/WebCore

The internal side of the patch that ensures Boomer paints twice on ibench. Don't let the timer beat out
that first paint.

Reviewed by aroben

  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::update):
10:18 PM Changeset in webkit [20268] by hyatt
  • 4 edits in trunk/WebCore

Make onload do an explicit paint when a top-level document is ready (to ensure that a first paint always
happens before any timers set by the onload can fire).

Reviewed by aroben

  • dom/Document.cpp: (WebCore::Document::implicitClose):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::update):
10:01 PM Changeset in webkit [23104] by aroben
  • 3 edits in branches/WindowsMerge/WebKitTools

Reviewed by Hyatt.

Implemented console message dumping.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (WaitUntilDoneDelegate::QueryInterface): Added cases for IWebUIDelegate[Private] (WaitUntilDoneDelegate::webViewAddMessageToConsole): Implemented.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: Now inherits from IWebUIDelegatePrivate
7:26 PM Changeset in webkit [23103] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Brady.

Fix fast/dom/isindex-002.html.

Add default strings to our two remaining unimplemented localizable
strings in WebCore.

  • platform/win/TemporaryLinkStubs.cpp: (WebCore::searchableIndexIntroduction): Added English string from Mac. (WebCore::inputElementAltText): Ditto.
5:54 PM Changeset in webkit [20267] by hyatt
  • 2 edits in trunk/WebCore

Tweaks to prevent timers from starving user input or painting.

5:11 PM Changeset in webkit [20266] by ggaren
  • 2 edits in trunk/WebCore

Reviewed by Beth Dakin.

Fixed <rdar://problem/5070967> REGRESSION (r20211): Repro crash when
closing View Source window


I award myself 0 points, and may God have mercy on my soul.

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
5:04 PM Changeset in webkit [20265] by kjk
  • 2 edits in trunk/WebCore

Not reviewed - gdk build fix.

  • platform/gdk/TemporaryLinkStubs.cpp: (Pasteboard::writeURL):
4:39 PM Changeset in webkit [20264] by hyatt
  • 2 edits in trunk/WebCore

Fix tiny PLT regression. Don't examine the border/background data for RenderImage when images change
unless we actually have a border/background.

Reviewed by Brady

  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
4:17 PM Changeset in webkit [23102] by aroben
  • 2 edits in branches/WindowsMerge/WebKitWin

Reviewed by Brady.

Fix repro ASSERT when logging in to facebook.com.

  • WebMutableURLRequest.cpp: (WebMutableURLRequest::valueForHTTPHeaderField): Implemented.
10:21 AM Changeset in webkit [20263] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Tim Hatcher


Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
after -[WebView close] has executed because _private->page is deferenced after it's been set to 0.
It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
each use of _private->page robust against nil-dereferencing.

  • WebView/WebView.mm: (-[WebView _loadBackForwardListFromOtherView:]): (-[WebView _updateWebCoreSettingsFromPreferences:]): (-[WebView _setDashboardBehavior:to:]): (-[WebView _dashboardBehavior:]): (-[WebView goBack]): (-[WebView goForward]): (-[WebView goToBackForwardItem:]): (-[WebView canGoBack]): (-[WebView canGoForward]): (-[WebView setTabKeyCyclesThroughElements:]): (-[WebView tabKeyCyclesThroughElements]): (-[WebView setEditable:]):
8:38 AM Changeset in webkit [20262] by zimmermann
  • 3 edits
    4 adds in trunk

Reviewed by Sam Weinig.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13046 (CSS styles on hover and focus are broken for <use>)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> CSS styles broken)
Added test: svg/custom/use-css-events.svg

In general this fixes the peepo.co.uk website.

Forgot to pass the actual StyleChange to the recalcStyle() function,
when calling it on the shadow tree root element.

7:49 AM Changeset in webkit [20261] by thatcher
  • 12 edits in trunk

JavaScriptCore:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/JavaScriptCore.xcconfig:
  • Configurations/Version.xcconfig:

JavaScriptGlue:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/JavaScriptGlue.xcconfig:
  • Configurations/Version.xcconfig:

WebCore:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/Version.xcconfig:
  • Configurations/WebCore.xcconfig:

WebKit:

Reviewed by Mark Rowe.

Made Version.xcconfig smarter when building for different configurations.
Now uses the 522+ OpenSource version for Debug and Release, while using the
full 522.4 version for Production builds. The system prefix is also computed
based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.

  • Configurations/Version.xcconfig:
  • Configurations/WebKit.xcconfig:
4:53 AM Changeset in webkit [20260] by antti
  • 5 edits
    2 adds in trunk

LayoutTests:

Reviewed by Adele.


Test for http://bugs.webkit.org/show_bug.cgi?id=12595
REGRESSION: Can't add item to cart at lnt.com (JS type error)
<rdar://problem/4722863>


Expanded version of Darin's test case.

  • fast/forms/old-names-expected.txt: Added.
  • fast/forms/old-names.html: Added.

WebCore:

Reviewed by Adele.

Fix http://bugs.webkit.org/show_bug.cgi?id=12595
REGRESSION: Can't add item to cart at lnt.com (JS type error)
<rdar://problem/4722863>


Emulate Firefox behavior where form elements accessed by a name
can be accessed with that name later even if the name changes or
even if element is removed from the document.


This is loosely based on Darin's earlier patch for the same problem but
is much less expansive. It takes somewhat different approach to more closely
mimic Firefox behavior. Includes expanded test case.

  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::canGetItemsForName):

Use new the HTMLFormElement::getNamedElements() method

(WebCore::JSHTMLFormElement::nameGetter):

Use new the HTMLFormElement::getNamedElements() method

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::elementForAlias): (WebCore::HTMLFormElement::addElementAlias):

Maintain a map of known element aliases

(WebCore::HTMLFormElement::getNamedElements):

Get a list of elements matching the name, based both their
current names and known aliases (earlier names).
Keep the alias list in sync.

  • html/HTMLFormElement.h:
12:46 AM Changeset in webkit [23101] by adele
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Hyatt.

Fix for <rdar://problem/4960391> REGRESSION (r18922): onChange never fired after selecting an item from a menulist

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::PopupMenu): Initialize m_focusedIndex to 0. Instead of using the client to track the focused index, we'll keep track of it internally. Our old behavior was trying to match Firefox by updating the selected index as you focus items, but that doesn't seem necessary if the selection never gets committed. (WebCore::PopupMenu::show): Initialize the focused index to the client's selected index. (WebCore::PopupMenu::setFocusedIndex): Remove the fireOnChange argument. Remove the call to valueChanged. (WebCore::PopupMenu::focusedIndex): Return m_focusedIndex instead of getting this from the client. (WebCore::PopupMenu::down): Use the focusedIndex. (WebCore::PopupMenu::up): ditto. (WebCore::PopupMenu::paint): Paint a selected appearance for the item with the focused index.
12:40 AM Changeset in webkit [20259] by adele
  • 9 edits in trunk

LayoutTests:

Reviewed by Hyatt.

Updated test for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox
http://bugs.webkit.org/show_bug.cgi?id=12725

  • fast/forms/listbox-onchange-expected.txt:
  • fast/forms/listbox-onchange.html:

WebCore:

Reviewed by Hyatt.

Fix for <rdar://problem/4990050> REGRESSION: onchange gets fired when clicking on a programmatically selected element in a listbox
http://bugs.webkit.org/show_bug.cgi?id=12725

Test: updated fast/forms/listbox-onchange.html

Added HTMLSelectElement::saveLastSelection that is called before changing a selection that could result
in onChange being called. m_lastOnChangeIndex and m_lastOnChangeSelection no longer have to be up-to date all the time,
they just have to be up-to-date before we execute an action that may trigger onChange.

  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::setSelectedState): Added. The HTMLSelectElement will only set an option's selected state with this method. This ensures that notifyOptionSelected won't get called when the call originates from the select element.
  • html/HTMLOptionElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::deselectItems): Calls setSelectedState. (WebCore::HTMLSelectElement::setSelectedIndex): ditto. Don't update the last selection variables here. Scroll to the new selection. The scrolling call used to only be in notifyOptionSelected. There's no reason we shouldn't scroll when the selection is set through the HTMLSelectElement. (WebCore::HTMLSelectElement::setValue): Call setSelectedIndex to update all options selected state. (WebCore::HTMLSelectElement::restoreState): Call setSelectedState. (WebCore::HTMLSelectElement::selectAll): Call saveLastSelection before making the selection, and calling onChange. (WebCore::HTMLSelectElement::recalcListItems): Call setSelectedState. Don't need to save selection here anymore, since it will get saved before we call onChange. (WebCore::HTMLSelectElement::reset): ditto. (WebCore::HTMLSelectElement::dispatchFocusEvent): Added. Call saveLastSelection for menu lists, since onChange can be fired on blur. (WebCore::HTMLSelectElement::dispatchBlurEvent): Call menuListOnChange. (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Call saveLastSelection before showing the popup window. (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Call saveLastSelection during mousedown (to prepare for an onchange during mouseup, or after autoscroll). (WebCore::HTMLSelectElement::updateListBoxSelection): Call setSelectedState.

(WebCore::HTMLSelectElement::menuListOnChange): Added. Compares the m_lastOnChangeIndex to the selectedIndex().
(WebCore::HTMLSelectElement::listBoxOnChange): Move the m_lastOnChangeSelection creation to saveLastSelection.
(WebCore::HTMLSelectElement::saveLastSelection): Added. Sets m_lastOnChangeIndex or m_lastOnChangeSelection.

  • html/HTMLSelectElement.h:
  • platform/PopupMenu.h:
Note: See TracTimeline for information about the timeline view.