Timeline


and

03/18/07:

23:52 Changeset [23112] by aroben

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.
22:43 Changeset [20310] by mjs

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:
22:41 Changeset [23111] by hyatt

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

22:28 Changeset [23110] by aroben

Reviewed by Hyatt.

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

  • platform/win/TemporaryLinkStubs.cpp: (WebCore::fileButtonChooseFileLabel):
22:05 Changeset [20309] by andrew

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:
21:57 Changeset [20308] by hyatt

land update results for frame pixel changes.

21:53 Changeset [20307] by hyatt

Land updated results for frames pixel tests.

21:53 Changeset [20306] by hyatt

Add layout test for frame borders case.

21:50 Changeset [20305] by hyatt

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):
21:32 Changeset [20304] by bdash

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:]):
20:36 Changeset [23109] by aroben

Rubberstamped by Maciej.

  • Skipped: Added another crasher.
20:01 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
19:34 Changeset [20303] by mjs

Added a random JS benchmark.

  • misc/morph.html: Added.
19:18 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
19:14 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
19:11 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
18:53 Changeset [23108] by ggaren

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):
18:50 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
18:50 Changeset [20302] by bdash

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

18:40 Changeset [20301] by weinig

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:
18:32 Changeset [23107] by aroben

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:
18:01 JavaScript and DOM Benchmarks edited by mjs@apple.com
(diff)
17:59 JavaScript and DOM Benchmarks created by mjs@apple.com
17:59 WikiStart edited by mjs@apple.com
(diff)
17:39 Changeset [20300] by kjk

Not reviewed - gdk build fix.

  • platform/gdk/ScrollViewGdk.cpp: (WebCore::ScrollView::update): add a stub
17:37 Changeset [20299] by beidson

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)
16:42 Changeset [20298] by bdash

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.
16:40 Changeset [20297] by bdash

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.
16:25 Changeset [20296] by bdash

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.
16:02 Changeset [20295] by ggaren

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 Changeset [23106] by sfalken

Bump version for submit

11:39 Changeset [20294] by sfalken

New tag.

11:10 Changeset [20293] by ggaren

Removed duplicate export name.


11:07 Changeset [20292] by ggaren

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 Changeset [20291] by ap

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 Changeset [20290] by sfalken

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

Build fix.

04:34 Changeset [20289] by hyatt

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):
04:11 Changeset [20288] by hyatt

Change the frameborder color to be light gray for framesets.

Reviewed by aroben

  • rendering/RenderFrameSet.cpp: (WebCore::borderFillColor): (WebCore::RenderFrameSet::paintColumnBorder): (WebCore::RenderFrameSet::paintRowBorder):
03:53 Changeset [20287] by hyatt

Make iframes work properly with frameborder="0".

Reviewed by aroben

  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::mapToEntry): (WebCore::HTMLIFrameElement::parseMappedAttribute):
03:52 Changeset [20286] by hyatt

Add new iframe layout test.

03:00 Changeset [20285] by hyatt

Land corrected results for frame changes.

02:58 Changeset [20284] by hyatt

Land corrected results for frame changes.

02:57 Changeset [20283] by hyatt

Land corrected results for frame changes.

02:57 Changeset [20282] by hyatt

Land corrected results for frame changes.

02:56 Changeset [20281] by hyatt

Land corrected results for frame changes.

02:56 Changeset [20280] by hyatt

Land corrected results for frame changes.

02:55 Changeset [20279] by hyatt

Land corrected results for frame changes.

02:54 Changeset [20278] by hyatt

Land corrected results for frame changes.

02:54 Changeset [20277] by hyatt

Land corrected results for frame changes.

02:52 Changeset [20276] by hyatt

Land corrected results for frame changes.

02:51 Changeset [20275] by hyatt

Land corrected results for frame changes.

02:50 Changeset [20274] by hyatt

Land corrected results for frame changes.

02:48 Changeset [20273] by hyatt

Land corrected results for frame changes.

02:47 Changeset [20272] by hyatt

Land corrected XHTML DOM test results for frames changes.

02:35 Changeset [20271] by hyatt

Reset frames results.

02:33 Changeset [20270] by hyatt

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

Reviewed by aroben

  • css/html4.css:
02:21 Changeset [20269] by hyatt

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:

03/17/07:

22:23 Changeset [23105] by hyatt

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):
22:18 Changeset [20268] by hyatt

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):
22:01 Changeset [23104] by aroben

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
19:26 Changeset [23103] by aroben

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.
17:54 Changeset [20267] by hyatt

Tweaks to prevent timers from starving user input or painting.

17:11 Changeset [20266] by ggaren

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):
17:04 Changeset [20265] by kjk

Not reviewed - gdk build fix.

  • platform/gdk/TemporaryLinkStubs.cpp: (Pasteboard::writeURL):
16:39 Changeset [20264] by hyatt

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):
16:17 Changeset [23102] by aroben

Reviewed by Brady.

Fix repro ASSERT when logging in to facebook.com.

  • WebMutableURLRequest.cpp: (WebMutableURLRequest::valueForHTTPHeaderField): Implemented.
10:21 Changeset [20263] by sullivan

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:]):
08:38 Changeset [20262] by zimmermann

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.

07:49 Changeset [20261] by thatcher

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:
04:53 Changeset [20260] by antti

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:
00:46 Changeset [23101] by adele

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.
00:40 Changeset [20259] by adele

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:

03/16/07:

21:59 Changeset [20258] by oliver

2007-03-16 Oliver Hunt <oliver@apple.com>

Reviewed by Hyatt.

WebCore:

The old canSaveAsWebArchive call was necessary as stand alone
images used to be rendered by ImageDocument.

Fixes rdar://problem/5061252

  • dom/Clipboard.cpp:
  • dom/Clipboard.h: (WebCore::Clipboard::setDragHasStarted):
  • page/DragClient.h: (WebCore::DragClient::declareAndWriteDragImage):
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::declareAndWriteDragImage):

WebKit:

  • WebCoreSupport/WebDragClient.h:
  • WebCoreSupport/WebDragClient.mm: (WebDragClient::declareAndWriteDragImage):
  • WebKit.xcodeproj/project.pbxproj:

LayoutTests:

Updating layout test to allow stand alone image to be
dragged into a content editable div

  • fast/events/standalone-image-drag-to-editable-expected.checksum:
  • fast/events/standalone-image-drag-to-editable-expected.png:
  • fast/events/standalone-image-drag-to-editable-expected.txt:
  • fast/events/standalone-image-drag-to-editable.html:
18:23 Changeset [23100] by beidson

Reviewed by Oliver

Make the WebDownload fix a little more correct.


  • WebDownload.cpp: (WebDownload::init): Release the connection from the ResourceHandle after the CFURLDownload has been created
18:01 Changeset [20257] by andersca

Reviewed by Maciej.

<rdar://problem/4869095>
default content type changed for XMLHttpRequest POSTs changed (breaks Flickrator 0.1 widget)


  • xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send):
17:43 Changeset [20256] by thatcher

64-bit build fix.

17:36 Changeset [20255] by beidson

Reviewed by Braveheart

Updated layouttest results because I added a window property

  • fast/dom/Window/window-properties-expected.txt:
16:57 Changeset [20254] by beidson

Rubberstamped by Tim Hatcher

Update the hash table header for Window object properties

  • bindings/js/kjs_window.cpp:
16:49 Changeset [20253] by beidson

LayoutTests:

Reviewed by Anders

<rdar://problem/5061826> and
http://bugs.webkit.org/show_bug.cgi?id=12863
Implement window.stop()

  • http/tests/misc/window-dot-stop-expected.txt: Added.
  • http/tests/misc/window-dot-stop.html: Added.

WebCore:

Reviewed by Anders

<rdar://problem/5061826> and
http://bugs.webkit.org/show_bug.cgi?id=12863
Implement window.stop()

  • bindings/js/kjs_window.cpp: (KJS::WindowFunc::callAsFunction): Add case Window::Stop
  • bindings/js/kjs_window.h: (KJS::Window::): Add "Stop"
16:41 Changeset [23099] by adele

Reviewed by Lou.

Fix for <rdar://problem/5065040> cannot mousedown + drag in a <select> menu

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): Set the capture when the popup window comes up. (WebCore::PopupWndProc): Release the capture only when the mouse is not down, and the mouse moves outside the popup window, or if you mouse up inside the window, and you're about to hide the popup. The mouse will get recaptured if you mouse down again in the window.
16:19 Changeset [20252] by thatcher

Adding ChangeLog markers.

16:18 Changeset [20251] by thatcher

Versioning.

16:16 Changeset [20250] by thatcher

Versioning.

16:14 Changeset [20249] by thatcher

Versioning.

16:12 Changeset [20248] by thatcher

Versioning.

16:11 Changeset [23098] by ggaren

Reviewed by Dave Hyatt.


Fixed "called Frame::paint with nil renderer" console messages.
You can now launch and exit the app without seeing any
error messages!

  • WebView.cpp: (WebView::paintIntoBackingStore): Only tell the FrameView to paint if it has a renderer. This isn't an issue on the Mac because we don't create a FrameView until you load a page.
16:11 Changeset [20247] by thatcher

Merging fix for r20228.

16:09 Changeset [20246] by thatcher

Merging fix for r20214.

16:03 Changeset [20245] by thatcher

New tag from r20197.

15:39 Changeset [20244] by ggaren

fixed changelog order -- do you need a changelog entry for a changelog fix???

15:37 Changeset [20243] by ggaren

Fix for 13084, assertion failure in the Cache. Convert the client list
to a HashCountedSet so that multiple refs and derefs are allowed.

Fix RenderImage so that if it has the same image used as a background/border
and as the foreground that it will repaint properly (can be tested using
border-image and a foreground image).

Optimize list marker so that it doesn't waste time in the base class method,
since list markers don't support background or border images.

Reviewed by andersca

  • ChangeLog:
  • loader/CachedResource.cpp: (WebCore::CachedResource::ref):
  • loader/CachedResource.h:
  • loader/CachedResourceClientWalker.cpp: (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
  • loader/CachedResourceClientWalker.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::imageChanged):
15:29 Changeset [20242] by hyatt

Fix for 13084, assertion failure in the Cache. Convert the client list
to a HashCountedSet so that multiple refs and derefs are allowed.

Fix RenderImage so that if it has the same image used as a background/border
and as the foreground that it will repaint properly (can be tested using
border-image and a foreground image).

Optimize list marker so that it doesn't waste time in the base class method,
since list markers don't support background or border images.

Reviewed by andersca

  • ChangeLog:
  • loader/CachedResource.cpp: (WebCore::CachedResource::ref):
  • loader/CachedResource.h:
  • loader/CachedResourceClientWalker.cpp: (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
  • loader/CachedResourceClientWalker.h:
  • rendering/RenderImage.cpp: (WebCore::RenderImage::imageChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::imageChanged):
15:26 Changeset [20241] by thatcher

Attempt to fix the 64-bit build.

15:04 Changeset [23097] by andersca

WebKitWin:

Reviewed by Adam.

Add setters and getters for cookie storage accept policy.


  • Interfaces/IWebPreferences.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp: (WebPreferences::initialize): (WebPreferences::cookieStorageAcceptPolicy): (WebPreferences::setCookieStorageAcceptPolicy):
  • WebPreferences.h:
13:22 Changeset [23096] by andersca

Add Radar

13:16 Changeset [23095] by andersca

Reviewed by Adam and Dave Hyatt.

Fix acid2 test.


  • WebFrame.cpp: (WebFrame::shouldFallBack): Implement this function.
13:10 Changeset [20240] by ggaren

Reviewed by Anders Carlsson.


Fixed <rdar://problem/5065399> REGRESSION: leaks in Frame::bindingRootObject
seen on buildbot

The problem was that we were initializing the same WebScriptObject twice.
This caused it to leak its original set of ivars.


I think some refactoring could prevent this situation from arising in the
first place, but I'm just adding a check at the call site for now, to do
the simplest thing.

  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject _setImp:originRootObject:rootObject:]): Added ASSERTs against multiple calls.
  • bindings/objc/WebScriptObjectPrivate.h: Renamed _initializeWithObjectImp to setImp because "init" vs "initialize" was a too subtle indication that one was a Cocoa initializer and one was not.
12:27 Changeset [23094] by adachan

2007-03-16 Ada Chan <adachan@apple.com>

WebKitWin:

Reviewed by Steve.


Implemented a couple of DOM methods so we can set the font-size of an element directly in the app.

  • DOMCSSClasses.cpp: (DOMCSSStyleDeclaration::setProperty):
  • DOMCoreClasses.cpp: (DOMElement::style):
10:47 Changeset [20239] by brmorris

spadma, reviewed by <yongjun>

DESC: Prevent unnecessary redraws.
http://bugs.webkit.org/show_bug.cgi?id=13093
TSW ID: RCHI-6Z2V49

10:45 Changeset [20238] by brmorris

yinxcai, reviewed by <Yongjun>

DESC: TMCN-6Y9Q7A --Browser ask permission for unsecure item load repeatedly
http://bugs.webkit.org/show_bug.cgi?id=12901

07:33 Changeset [20237] by brmorris

rathnasa <sornalatha.rathnasamy@nokia.com>

Reviewed by Zalan.
DESC: [S60] ESMS-6YDMWP: TRUE - GSM - broswer crashes on certain web pages
Quick fix to validate null pointers
http://bugs.webkit.org/show_bug.cgi?id=13074

05:40 Changeset [20236] by lars

don't use #import in .cpp files.

05:36 Changeset [20235] by lars

Fix the Qt build once again.

02:52 Changeset [23093] by hyatt

Fix boomer build bustage.

03/15/07:

23:52 Changeset [20234] by bdash

2007-03-15 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Gdk build fix.

  • loader/gdk/FrameLoaderClientGdk.cpp: (WebCore::FrameLoaderClientGdk::blockedError):
  • loader/gdk/FrameLoaderClientGdk.h:
23:50 Changeset [20233] by bdakin

Reviewed by Geoff.

Fix for http://bugs.webkit.org/show_bug.cgi?id=13088 REGRESSION
(r19761-19779): Copy image no longer includes image address
(rdar://5067927)

writeURL() does not need an isImage parameter. Now that it accepts
the types as a parameter, we can just declare the appropriate image
types within writeImage and send them to writeURL(). Also,
declaring the types twice is what broke this.

  • platform/Pasteboard.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeURL): (WebCore::Pasteboard::writeImage):
23:18 Changeset [20232] by adele

Reviewed by Kevin Decker.

Fix for <rdar://problem/4926179> Text in menulist control should never update if menu is open

  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::updateFromElement): Only setTextFromOption if the menu isn't visible.
22:36 Changeset [23092] by aliceli1

WebKitWin:

Reviewed by Ada.

Fixing some leaks

  • WebFrame.cpp: (WebFrame::dispatchDidReceiveAuthenticationChallenge): (WebFrame::dispatchDidCancelAuthenticationChallenge):
22:31 Changeset [23091] by beidson

WebKitWin:

Reviewed by Oliver

CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
This might fix some of the random crashers we see on stress testing if they end up
downloading links.

  • WebDownload.cpp: (WebDownload::init): Release the connection from the handle so it no longer refers to it

WebCoreWin:

Reviewed by Oliver

CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
This might fix some of the random crashers we see on stress testing if they end up
downloading links.

  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal): Always call cancel if theres a connection - the ref-count-check hack is no longer neccesary (WebCore::ResourceHandle::releaseConnectionForDownload): Give up the CFURLConnection without derefing it


22:25 Changeset [20231] by beidson

Reviewed by Oliver

A few platform specific tweaks

  • platform/cf/RetainPtr.h: (WebCore::RetainPtr::releaseRef): Fixed releaseRef to work with CF


  • platform/network/ResourceHandle.h: Added a "releaseRef" style call
22:25 Changeset [20230] by mjs

Not reviewed.


  • build fix
  • wtf/TCSystemAlloc.cpp:
22:22 Changeset [23090] by mjs

WebCoreWin:

Reviewed by Geoff and Steve.


  • fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
  • fixes to use FastMalloc on Windows
  • config.h: Don't force USE_SYSTEM_MALLOC

WebKitWin:

Reviewed by Geoff and Steve.


  • fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
  • fixes to use FastMalloc on Windows
  • WebKit.vcproj/WebKit.def: Add exports of WTF symbols.
  • WebKit.vcproj/WebKit_debug.def: ditto
  • WebKit.vcproj/WebKit.vcproj: Link pthreads, now needed by WTF.
22:12 Changeset [20229] by mjs

JavaScriptCore:

Reviewed by Geoff and Steve.


  • fix some portability issues with TCMalloc.
  • JavaScriptCore.vcproj/WTF/WTF.vcproj:
  • kjs/config.h:
  • wtf/FastMalloc.cpp: (WTF::SizeClass): (WTF::InitSizeClasses): (WTF::TCMalloc_PageHeap::Split): (WTF::TCMalloc_PageHeap::RegisterSizeClass): (WTF::TCMalloc_Central_FreeList::length): (WTF::TCMalloc_ThreadCache::InitTSD): (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
  • wtf/TCSpinLock.h:
  • wtf/TCSystemAlloc.cpp: (TryVirtualAlloc): (TCMalloc_SystemAlloc):

WebCore:

Reviewed by Geoff and Steve.

  • config.h: Remove unneeded hack.
21:45 Changeset [23089] by beidson

Reviewed by Alice


Due to OpenSource r20178, all of the sudden we were trying to handle page caching on Windows
even though it is not hooked up yet. The resulted in very particular cases ending up calling
clear() in FrameLoader::provisionalLoadStarted(). One such particular case was if a page *would*
be "cachable" (no frames, no passwords, etc etc), and you start a download from that page.


The fix for now is to manually set the pageCacheSize to 0 whenever we create new pages on Windows.
This prevents the "Should I cache this page?" checking from getting far enough to clear the document.
It so happens this involves exactly one line.


  • WebView.cpp: (WebView::initWithFrame): Set page cache size to zero on new pages, and add a fixme to remove later
21:22 Changeset [20228] by justing

LayoutTests:

Reviewed by john


<rdar://problem/5062376>
REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied

  • editing/execCommand/5062376-expected.checksum: Added.
  • editing/execCommand/5062376-expected.png: Added.
  • editing/execCommand/5062376-expected.txt: Added.
  • editing/execCommand/5062376.html: Added.

WebCore:

Reviewed by john


<rdar://problem/5062376>
REGRESSION: In Mail and Gmail, can't change alignment to text after it has been applied


Bring back the remove step in applyBlockStyle. It's
necessary because addBlockStyleIfNeeded assumes that
the properties it adds aren't already on the block that
it adds them to.

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): Bring back the remove step (added a testcase). Don't do the add step if m_removeOnly is true (no testcase because there aren't any clients using removeOnly functionality to remove styles yet, only styled elemets). Moved the code for creating new blocks up one level to this function so that we can pass blocks to removeCSSStyle. When converting VisiblePositions to indices and vice versa, use the highest node in the shadow tree if we're in one as the scope (working on a testcase). (WebCore::ApplyStyleCommand::addBlockStyle): Moved code to applyBlockStyle.
  • editing/ApplyStyleCommand.h:
20:16 Changeset [23088] by beidson

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's


  • Interfaces/IWebError.idl: Add the custom error code for blocked error
  • WebFrame.cpp: (WebFrame::blockedError): FrameLoaderClient fill-in + a Fixme (WebFrame::interruptForPolicyChangeError): Add a Fixme for localization
  • WebFrame.h:
20:12 Changeset [20227] by beidson

LayoutTests:

Reviewed by Adele

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

The layout test attempts to load an image at an invalid domain name on each
of the black listed ports. Using dumpResourceLoadCallbacks(), DRT is able
to see the error codes for each resource. A successful test shows the blocked
error for each image load except for the few that are standard or should
succeed due to exemptions.

  • security/block-test-expected.txt: Added.
  • security/block-test.html: Added.

WebCore:

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::blockedError): Call through to the client for blockedError
  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h: Get the "port blocked" error for the current platform
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::wasBlocked): ResourceHandleClient method to pass on the didFail(error) (WebCore::ResourceLoader::blockedError): Following the pattern of "CancelledError()", get the error to fail with for the didFail() call
  • loader/ResourceLoader.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::blockedError): Added stub
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): If the port is blocked, create the handle but schedule it for deferred failure on a timer (WebCore::ResourceHandle::scheduleBlockedFailure): Do the timer scheduling (WebCore::ResourceHandle::fireBlockedFailure): Fire the timer here (WebCore::ResourceHandle::portAllowed): Implements checking of Mozilla's
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::wasBlocked): Virtual for clients to get the "blocked" message

WebKit:

Reviewed by Maciej

<rdar://problem/4429701>
Implements a port blocking black list that matches Firefox's

  • English.lproj/Localizable.strings: Added localizable string for port blocked error code
  • Misc/WebKitErrors.h:
  • Misc/WebKitErrors.m: (registerErrors): Add new port blocked error code to WebKitErrorDomain
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::cancelledError): Fixed coding style (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
18:16 Changeset [20226] by thatcher

Yet another build fix.

17:55 Changeset [20225] by thatcher

Finally a real build fix.

17:37 Changeset [20224] by thatcher

Yet another build fix. Sigh.

17:33 Changeset [23087] by aroben

Reviewed by Ada.

Second part of two-step dance to rename AHEM.TTF to AHEM.ttf.

This is to work around <rdar://problem/5063416>.

Also made all the ttf files in DumpRenderTree/Resources executable again to appease Windows.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (initialize):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/AHEM.ttf: Added.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/renameMe.ttf: Removed.
17:25 Changeset [20223] by thatcher

Another build fix attempt.

17:15 Changeset [20222] by thatcher

Attempt to fix the build.

17:07 Changeset [20221] by thatcher

Build fix.

17:04 Changeset [20220] by bdakin

Reviewed by Hyatt.

Fix for <rdar://problem/5065396> REGRESSION: leaks in
RenderBlock::layoutInlineChildren seen on buildbot

This leak appeared after http://trac.webkit.org/projects/webkit/
changeset/20188. This change shifted line boxes around in
removeChild(). But since removeChild() calls
setNeedsLayoutAndMinMaxRecalc(), all of the line boxes will be
removed once we actually lay out anyway. So this patch fixes the
leak by deleting the line boxes instead of shifting them around.

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): Call into updateLayout(). This fixes an assertion I got in editing/ execCommand/4976800.html This is very similar to the line box fix I made recently (http://trac.webkit.org/projects/webkit/changeset/ 20177). We need to update layout before relying on VisiblePositions after removing a node.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::deleteLinesForBlock): New helper function since this functionality is needed in three places now. (WebCore::RenderBlock::makeChildrenNonInline): Call into new deleteLinesForBlock(). (WebCore::RenderBlock::removeChild): Same.
  • rendering/RenderBlock.h:
16:50 Changeset [20219] by thatcher

JavaScriptCore:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/JavaScriptCore.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Info.plist:
  • JavaScriptCore.xcodeproj/project.pbxproj:

JavaScriptGlue:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/JavaScriptGlue.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Info.plist:
  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

Reviewed by John.

  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Configurations/WebCore.xcconfig: Added.
  • Info.plist:
  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by John.

  • Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
  • Factored out most of our common build settings into .xcconfig files. Anything that was common in each build configuration was factored out into the shared .xcconfig file.
  • Adds a Version.xcconfig file to define the current framework version, to be used in other places.
  • Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
  • Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
  • Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/Version.xcconfig: Added.
  • Configurations/WebKit.xcconfig: Added.
  • Info.plist:
  • Misc/WebKitVersionChecks.h:
  • Plugins/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
  • WebKit.xcodeproj/project.pbxproj:
16:33 Changeset [23086] by sfalken

Bump version for submit

16:30 Changeset [20218] by sfalken

New tag.

15:25 Changeset [23085] by aroben

Reviewed by Ada.

First part of a two-step dance to rename AHEM.TTF to AHEM.ttf.

First, rename AHEM.TTF to renameMe.ttf.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (initialize):
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/AHEM.TTF: Removed.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/Resources/renameMe.ttf: Added.
15:20 Changeset [23084] by aroben

Rubberstamped by Hyatt.

  • platform/win/FontDataWin.cpp: (WebCore::FontData::platformInit): Move the code to get the font face to the top of the function for easier debugging.
  • platform/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): ASSERT that we got a valid CGFontRef back from CG, as CG and GDI should agree on the fonts installed.
14:42 Changeset [23083] by aroben

Rubberstamped by Adele.

  • Skipped: Turn off AppleScript tests.
14:37 Changeset [23082] by aroben

Rubberstamped by Brady.

  • WebKitLogging.cpp: Turn of Download logging by default.
14:28 Changeset [20217] by kdecker

Reviewed by Anders.

Fixed: <rdar://problem/5001428> stationery background images do not display


Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.


The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
right thing and load the image.


Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].


  • WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving. (-[WebResource _ignoreWhenUnarchiving]): Added. (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
  • WebView/WebResourcePrivate.h: Added two methods to private header.
  • WebView/WebUnarchivingState.m: (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
13:51 Changeset [23081] by aroben

Rubberstamped by Anders.

  • Skipped: Added editing, http, and webarchive directories since they all rely on unimplemented parts of DRT, boomer-run-webkit-tests, and WebKit, respectively. Also re-enabled tests that no longer crash.
13:20 Changeset [20216] by kjk

Not reviewed - gdk build fixes.

  • platform/gdk/EditorClientGdk.cpp: (WebCore::EditorClientGdk::handleKeypress):
  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/gdk/ImageGdk.cpp: (WebCore::Image::loadPlatformResource):
12:12 Changeset [20215] by justing

LayoutTests:

Reviewed by john

Removed an unnecessary block (one that was fully
selected but whose markup wasn't needed to preserve
appearance):

  • editing/pasteboard/paste-text-011-expected.txt: Removed unnecessary style spans:
  • editing/pasteboard/merge-end-blockquote-expected.txt: Removed unnecessary empty anonymous blocks:
  • editing/execCommand/create-list-with-hr-expected.txt:
  • editing/pasteboard/display-block-on-spans-expected.txt:
  • editing/pasteboard/paste-text-006-expected.txt:
  • editing/pasteboard/paste-table-001-expected.txt:
  • editing/pasteboard/paste-text-013-expected.txt:
  • editing/pasteboard/paste-text-002-expected.txt:
  • editing/pasteboard/paste-list-001-expected.txt:
  • editing/pasteboard/paste-text-005-expected.txt:
  • editing/pasteboard/paste-text-003-expected.txt:
  • editing/pasteboard/paste-text-014-expected.txt:
  • editing/pasteboard/paste-pre-001-expected.txt: Now (correctly) includes fully selected root:
  • editing/pasteboard/paste-text-015-expected.checksum:
  • editing/pasteboard/paste-text-015-expected.png:
  • editing/pasteboard/paste-text-015-expected.txt:
  • editing/inserting/insert-3907422-fix-expected.txt:
  • editing/pasteboard/paste-text-004-expected.txt: Demonstrates a bug that already existed (we don't inline the font styles from the Preference Pane on copy):
  • editing/pasteboard/5027857-expected.checksum:
  • editing/pasteboard/5027857-expected.png:
  • editing/pasteboard/5027857-expected.txt:
  • editing/pasteboard/paste-pre-002-expected.checksum:
  • editing/pasteboard/paste-pre-002-expected.png:
  • editing/pasteboard/paste-pre-002-expected.txt:

WebCore:

Reviewed by john


~2x speed up of 5k rich text paste:
http://shakespeare.mit.edu/hamlet/full.html

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): Remove the top level style span if its unnecessary before inserting into the document, its faster than doing it after.
  • editing/ReplaceSelectionCommand.h: Exposed ReplacementFragment::removeNodePreservingChildren so that the style span can be removed using non-undoable removes, like the rest of the removes done on the ReplacementFragment.
  • editing/markup.cpp: (WebCore::createMarkup): Make the style span the top level element, otherwise it's useless. This also facilitates the optimization mentioned above. When including markup for a fully selected root, include markup for all the nodes beneath that fully selected root, to preserve the structure and appearance of the copied markup. Did this by merging with the code for adding markup for descendants of special commonAncestorBlocks.
12:07 Changeset [20214] by bdakin

Rubber-stamped by Adele.

Rolling out http://trac.webkit.org/projects/webkit/changeset/20148
(which is a fix for http://bugs.webkit.org/show_bug.cgi?id=12595
and rdar://4722863) because it causes a horrible memory-trasher.

06:26 Changeset [20213] by bdash

2007-03-16 Shrikant Gangoda <shrikant.gangoda@celunite.com>

Gdk build fix.

  • kjs/DateMath.cpp: gettimeofday comes from <sys/time.h> on Linux.
05:15 Changeset [20212] by bdash

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

Reviewed by Antti.

Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
when submitting an authentication form without password.

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary passed to the delegate.
00:11 Changeset [20211] by ggaren

Added an assert to help catch a bug. Hopefully someone will hit it!


  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy):
00:07 Changeset [23080] by adachan

2007-03-14 Ada Chan <adachan@apple.com>

Reviewed by Lou.

<rdar://4966656> dragging scrollbar thumb in suggestion window does not work
<rdar://5056925> Should be able to select items from autocomplete list with the mouse
Added some tricks to get mouse clicking to work in auto-complete windows without
them going away.

WebKitWin:

Added a method in IWebViewPrivate to clear the current focus node. This is called in the app
when focus has been transferred to the address field or search field.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::clearFocusNode):
  • WebView.h:

03/14/07:

23:42 Changeset [20210] by andersca

Reviewed by Dave Hyatt.

Don't add the data twice, it's also done by didReceiveData.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::deliverArchivedResources):
23:30 Changeset [20209] by oliver

2007-03-14 Oliver Hunt <oliver@apple.com>

Reviewed by Adele.

Fix for rdar://problem/5061737.


This was a regression from the original Objective-C -> C++ conversion
for the drag logic. We don't need to call Range::startNode as we just
need the document that contains the range.

  • page/DragController.cpp: (WebCore::documentFragmentFromDragData):

LayoutTests:

Layout tests for rdar://problem/5061737

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt: Added.
  • editing/pasteboard/drag-image-to-contenteditable-in-iframe.html: Added.
22:07 Changeset [23079] by aroben

Rubberstamped by Anders.

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: (runTest): Initialize done to false just like Mac does.
21:59 Changeset [20208] by andersca

Fix segmentation fault when running layout tests.

Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
(Turns out he's not that good!)


  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::increaseLoadCount):
21:58 Changeset [23078] by aroben

Fixed line-endings and svn properties on DRT files.

21:55 Changeset [23077] by aroben

Reviewed by Anders.

Make DRT on Windows behave more like DRT on Mac with respect to
waitUntilDone()/waitUntilDone().

  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp: Added "done" and "topLoadingFrame" globals to match Mac, removed readyToDump. (dump): Set done to true. (runTest): Removed readyToDump, initialized topLoadingFrame.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h: Added extern declarations for globals.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp: (notifyDoneCallback): Changed condition to match Mac.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp: (WaitUntilDoneDelegate::didStartProvisionalLoadForFrame): Set topLoadingFrame. (WaitUntilDoneDelegate::locationChangeDone): Ported from Mac. (WaitUntilDoneDelegate::didFinishLoadForFrame): Call locationChangeDone. (WaitUntilDoneDelegate::didFailLoadWithError): Ditto.
  • DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.h: Moved implementation of didFailLoadWithError to .cpp file.
21:09 Changeset [20207] by kmccullo

Reviewed by .

Silly wrapping change for testing a post-commit hook change.

  • contact.html:
21:00 Changeset [20206] by andersca

Reviewed by Geoff.

http://bugs.webkit.org/show_bug.cgi?id=13076
REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)

Store the identifier set in the document loader since identifiers are per-webview and not global.


  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm: (WebDocumentLoaderMac::WebDocumentLoaderMac): (WebDocumentLoaderMac::attachToFrame): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount):
20:42 Changeset [20205] by kmccullo

Reviewed by .

  • Fixed one more build breakage
  • kjs/date_object.cpp: (KJS::formatLocaleDate):
20:23 Changeset [20204] by kmccullo

Reviewed by .

  • Fixed a build breakage.
  • kjs/DateMath.cpp:
  • kjs/date_object.cpp: (KJS::formatLocaleDate): (KJS::DateObjectImp::construct):
19:21 Changeset [20203] by kmccullo

JavaScriptCore:

Reviewed by Geoff.

  • rdar://problem/5045720
  • DST changes in US affect JavaScript date calculations (12975) This fix was to ensure we properly test for the new changes to DST in the US. Also this fixes when we apply DST, now we correctly map most past years to current DST rules. We still have a small issue with years before 1900 or after 2100. rdar://problem/5055038
  • kjs/DateMath.cpp: Fix DST to match spec better. (KJS::getCurrentUTCTime): (KJS::mimimumYearForDST): (KJS::maximumYearForDST): (KJS::equivalentYearForDST): (KJS::getDSTOffset):
  • kjs/DateMath.h: Consolodated common funtionality.
  • kjs/date_object.cpp: Consolodated common functionality. (KJS::formatLocaleDate): (KJS::DateObjectImp::construct):
  • tests/mozilla/ecma/jsref.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/ecma/shell.js: Added back in the old DST functions for ease of merging with mozilla if needed.
  • tests/mozilla/ecma_2/jsref.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/ecma_3/Date/shell.js: Added functions for finding the correct days when DST starts and ends.
  • tests/mozilla/expected.html: Updated to show all date tests passing.

LayoutTests:

Reviewed by Geoff.

  • rdar://problem/5045720
  • DST changes in US affect JavaScript date calculations (12975) Changed layout tests to properly check for the new changes to DST in the US. Also these now test that equivalent years return the same results for DST.
  • fast/js/date-DST-time-cusps-expected.txt:
  • fast/js/date-big-setdate-expected.txt:
  • fast/js/resources/date-DST-time-cusps.js:
  • fast/js/resources/date-big-setdate.js:
18:36 Changeset [20202] by weinig

LayoutTests:

Reviewed by Hyatt.

  • test for://bugs.webkit.org/show_bug.cgi?id=13071 REGRESSION: Plain text files no longer wrap lines longer than the width of the browser window
  • fast/loader/resources/text-document-wrapping.txt: Added.
  • fast/loader/text-document-wrapping-expected.checksum: Added.
  • fast/loader/text-document-wrapping-expected.png: Added.
  • fast/loader/text-document-wrapping-expected.txt: Added.
  • fast/loader/text-document-wrapping.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/loader/text-document-wrapping.html

  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write): Specified word-wrap:break-word for the <pre> element.
18:22 Changeset [20201] by harrison

Reviewed by Maciej.

<rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
  • WebCoreSupport/WebFrameBridge.mm: Provide compatibility by not sending WebViewDidChangeSelectionNotification if the app is Aperture and is linked against WebKit 2.0.
18:22 Changeset [20200] by weinig

LayoutTests:

Reviewed by Hyatt.

  • fast/text/whitespace/pre-wrap-last-char-expected.checksum: Added.
  • fast/text/whitespace/pre-wrap-last-char-expected.png: Added.
  • fast/text/whitespace/pre-wrap-last-char-expected.txt: Added.
  • fast/text/whitespace/pre-wrap-last-char.html: Added.

WebCore:

Reviewed by Hyatt.

Test: fast/text/whitespace/pre-wrap-last-char.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Undid the change from r15617.
17:31 Changeset [23076] by adele

WebKitWin:

Reviewed by Ada.

Allow empty commands to be sent by doTextFieldCommandFromEvent. Our autocomplete code relies on this.

  • WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent):
17:28 Changeset [20199] by hyatt

Add asserts to help catch double refs and double derefs of CachedResources.

Reviewed by mjs

  • loader/CachedResource.cpp: (WebCore::CachedResource::ref): (WebCore::CachedResource::deref):
16:40 Changeset [20198] by aliceli1

Rubber-stamped by Hyatt.

Adding null check to prevent the crash that happens on 2nd run of iBench HTML load test

  • loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::writeToDatabase):
15:45 Changeset [23075] by andersca

Reviewed by Adam.

Use CFURLResponseCopySuggestedFilename.


  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::suggestedFilenameForResponse):
14:49 Changeset [23074] by aroben

Reviewed by Anders.

Use Mac fonts when running regression tests to match Mac's metrics.

This makes many layout tests pass when run against results generated on the Mac.

14:47 Changeset [20197] by adele

Reviewed by Adam.

Fix for <rdar://problem/5062898> REGRESSION: autocomplete window in text fields doesn't come up

When we moved the initialization of a bunch of variables in the HTMLFormElement constructor, m_autocomplete accidently got initialized to false.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement):
14:45 Changeset [20196] by sfalken

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

Reviewed by Adam.

Added missing null check in case this is called on a subframe
that hasn't started loading.

  • page/Frame.cpp: (WebCore::Frame::setMarkedTextMatchesAreHighlighted): Check for a null document.
14:43 Changeset [20195] by andersca

Reviewed by Geoff.

<rdar://problem/5058714>
http://bugs.webkit.org/show_bug.cgi?id=13050


World leaks seen on Leopard after opening then closing tab (13050)

Add a hash set to prevent the load count to be increased twice for the same resource.


  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::dispatchWillSendRequest): (WebFrameLoaderClient::dispatchDidFinishLoading): (WebFrameLoaderClient::dispatchDidFailLoading):
  • WebView/WebDocumentLoaderMac.h:
  • WebView/WebDocumentLoaderMac.mm: (loadingResources): (WebDocumentLoaderMac::increaseLoadCount): (WebDocumentLoaderMac::decreaseLoadCount):
14:43 Changeset [23073] by sfalken

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

Reviewed by Lou, Adam.

<rdar://problem/5050470> Reproducible crash doing find on page at cnn.com


Add frame->document() null checks in cases where frame could be a
sub-frame that hasn't started loading yet.

  • WebView.cpp: (WebView::rectsForTextMatches): Add null check
13:53 Changeset [23072] by aroben

Reviewed by Hyatt.

Use CG to get xHeight.

  • platform/win/FontDataWin.cpp: (WebCore::scaleEmToUnits): Made robust against divide-by-zero errors. (WebCore::FontData::platformInit): Ported Mac code to get xHeight using CG.
13:38 Changeset [20194] by antti

Reviewed by Geoff.

Fix http://bugs.webkit.org/show_bug.cgi?id=13060
REGRESSION: Repro ASSERT failure in Cache::adjustSize running layout tests
<rdar://5060208>


Script evaluation may have dereffed the CachedScript object already, causing double deref and
eventually m_liveResourcesSize underflow.

  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::notifyFinished):
13:32 Changeset [20193] by adele

WebCore:

Reviewed by Darin.

Added InsertTab, InsertBacktab, InsertLineBreak, and InsertNewline to the editing command table.
Added Event parameter to execCommand, and to all of the enabled and exec functions. Right now,
the event is only used by the newly added commands. But in the future, many (and possibly all) of
these editing commands will need to consider the event so they are applied to the correct selection.

  • WebCore.exp:
  • editing/Editor.cpp: (WebCore::execCopy): (WebCore::execCut): (WebCore::execDelete): (WebCore::execBackwardDelete): (WebCore::execForwardDelete): (WebCore::execMoveBackward): (WebCore::execMoveBackwardAndModifySelection): (WebCore::execMoveUpByPageAndModifyCaret): (WebCore::execMoveDown): (WebCore::execMoveDownAndModifySelection): (WebCore::execMoveForward): (WebCore::execMoveForwardAndModifySelection): (WebCore::execMoveDownByPageAndModifyCaret): (WebCore::execMoveLeft): (WebCore::execMoveLeftAndModifySelection): (WebCore::execMoveRight): (WebCore::execMoveRightAndModifySelection): (WebCore::execMoveToBeginningOfDocument): (WebCore::execMoveToBeginningOfDocumentAndModifySelection): (WebCore::execMoveToBeginningOfSentence): (WebCore::execMoveToBeginningOfSentenceAndModifySelection): (WebCore::execMoveToBeginningOfLine): (WebCore::execMoveToBeginningOfLineAndModifySelection): (WebCore::execMoveToBeginningOfParagraph): (WebCore::execMoveToBeginningOfParagraphAndModifySelection): (WebCore::execMoveToEndOfDocument): (WebCore::execMoveToEndOfDocumentAndModifySelection): (WebCore::execMoveToEndOfSentence): (WebCore::execMoveToEndOfSentenceAndModifySelection): (WebCore::execMoveToEndOfLine): (WebCore::execMoveToEndOfLineAndModifySelection): (WebCore::execMoveToEndOfParagraph): (WebCore::execMoveToEndOfParagraphAndModifySelection): (WebCore::execMoveParagraphBackwardAndModifySelection): (WebCore::execMoveParagraphForwardAndModifySelection): (WebCore::execMoveUp): (WebCore::execMoveUpAndModifySelection): (WebCore::execMoveWordBackward): (WebCore::execMoveWordBackwardAndModifySelection): (WebCore::execMoveWordForward): (WebCore::execMoveWordForwardAndModifySelection): (WebCore::execMoveWordLeft): (WebCore::execMoveWordLeftAndModifySelection): (WebCore::execMoveWordRight): (WebCore::execMoveWordRightAndModifySelection): (WebCore::execPaste): (WebCore::execSelectAll): (WebCore::execToggleBold): (WebCore::execToggleItalic): (WebCore::execRedo): (WebCore::execUndo): (WebCore::execInsertTab): (WebCore::execInsertBacktab): (WebCore::execInsertNewline): (WebCore::execInsertLineBreak): (WebCore::enabled): (WebCore::canPaste): (WebCore::hasEditableSelection): (WebCore::hasEditableRangeSelection): (WebCore::hasRangeSelection): (WebCore::hasRichlyEditableSelection): (WebCore::canRedo): (WebCore::canUndo): (WebCore::CommandEntry::): (WebCore::Editor::toggleBold):

(WebCore::Editor::execCommand): Added optional event parameter.
(WebCore::Editor::insertText): Added. Calls handleTextInputEvent.
(WebCore::Editor::insertTextWithoutSendingTextEvent): Renamed from insertText.

Performs the actual insertion without dispatching any event.

  • editing/Editor.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler): Call insertTextWithoutSendingTextEvent.

WebKit:

Reviewed by Darin.

Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
Instead, use execCommand and insertText methods on the Editor.

  • WebView/WebHTMLView.mm: (-[WebHTMLView insertTab:]): (-[WebHTMLView insertBacktab:]): (-[WebHTMLView insertNewline:]): (-[WebHTMLView insertLineBreak:]): (-[WebHTMLView insertParagraphSeparator:]): (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): (-[WebHTMLView insertTabIgnoringFieldEditor:]): (-[WebHTMLView yank:]): (-[WebHTMLView yankAndSelect:]): (-[WebHTMLView doCommandBySelector:]): (-[WebHTMLView insertText:]):
13:32 Changeset [23071] by adele

WebKitWin:

Reviewed by Darin.

WebKit part of fix for <rdar://problem/5057371> REGRESSION: Shift-selection stopped working in text fields

This fixes doCommandBySelector to take a command string instead of a key code.

  • Interfaces/IWebEditingDelegate.idl: Changed parameter to BSTR.
  • Interfaces/IWebFormDelegate.idl: ditto.
  • WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent): Calls doCommandBySelector with a BString that it gets from interpretKeyEvent instead of a key code. (WebEditorClient::textWillBeDeletedInTextField): Calls doCommandBySelector with a BString to represent the BackwardDelete command. (WebEditorClient::handleKeypress): Calls handleEditingKeyboardEvent with just the KeyboardEvent.
  • WebView.cpp: Added commands that will be used by doCommandBySelector to the table (Cancel, InsertTab, InsertBacktab, InsertNewline). (WebView::interpretKeyEvent): Added. Returns a command string for a KeyboardEvent. Removed static editCommandForKey. (WebView::handleEditingKeyboardEvent): Call Editor methods instead of calling handleTextInputEvent directly.
  • WebView.h:
13:06 Changeset [20192] by justing

I forgot to update this expected result in my previous checkin.

12:32 Changeset [20191] by justing

LayoutTests:

Reviewed by darin

Removed unnecessary style spans:

  • editing/deleting/delete-3857753-fix-expected.txt:
  • editing/execCommand/4916541-expected.txt:
  • editing/execCommand/create-list-from-range-selection-expected.txt:
  • editing/execCommand/format-block-expected.txt:
  • editing/execCommand/format-block-from-range-selection-expected.txt:
  • editing/execCommand/format-block-with-braces-expected.txt:
  • editing/execCommand/indent-selection-expected.txt:
  • editing/execCommand/remove-list-from-range-selection-expected.txt:
  • editing/execCommand/remove-list-items-expected.txt:
  • editing/execCommand/switch-list-type-expected.txt:
  • editing/pasteboard/4861080-expected.txt:
  • editing/pasteboard/display-block-on-spans-expected.txt:
  • editing/pasteboard/drag-drop-modifies-page-expected.txt:
  • editing/pasteboard/paste-table-002-expected.txt:
  • editing/pasteboard/paste-text-001-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
  • editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
  • editing/style/smoosh-styles-001-expected.txt:
  • editing/style/smoosh-styles-002-expected.txt:

WebCore:

Reviewed by darin


~3x speedup pasting 5k lines of rich text:
http://shakespeare.mit.edu/hamlet/full.html
~2x speedup pasting 10k lines of plain text


  • css/CSSComputedStyleDeclaration.cpp: (WebCore::computedStyle): Added for convenience.
  • css/CSSComputedStyleDeclaration.h:
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::removeRedundantStyles): The code that pushed down the top level style span had a bug in it that made it do unnecessary work. Instead of fixing the bug I removed the code because it was used to help see more redundancies in second level style spans, but createMarkup now *only* creates a top level style span. Only remove redundant styles from style spans and only remove unstyled elements if they are style spans. FF doesn't remove redundant styles from elements, or remove redundant font tags on copy/paste. We could offer this functionality through a separate "cleanup" command.
  • editing/markup.cpp: (WebCore::createMarkup): Only add markup for ancestors of lastClosed if we're including markup for acommonAncestorBlock (we do this for commonAncestorBlocks like tables and lists), otherwise it's unnecessary/redundant.
11:50 Changeset [20190] by andersca

Reviewed by Ada.

Make sure to call ResourceLoader::didReceiveData to ensure that there's a shared buffer with the resource
data, since SubresourceLoaderClients now make use of that buffer.


  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::didReceiveData):
10:56 Changeset [23070] by andersca

WebCoreWin:

Build fixes.


  • platform/graphics/win/ImageWin.cpp: (WebCore::Image::loadPlatformResource):
  • platform/win/EditorWin.cpp:

WebKitWin:

Build fixes.


  • WebDataSource.cpp: (WebDataSource::subresourceForURL):
  • WebKitDLL.cpp: (loadResourceIntoBuffer):
10:38 Changeset [20189] by andersca

Get the size from the shared buffer.


  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
10:25 Changeset [20188] by weinig

LayoutTests:

Reviewed by Hyatt, thumbs up by Darin.

  • fast/dynamic/anonymous-block-orphaned-lines-expected.checksum: Added.
  • fast/dynamic/anonymous-block-orphaned-lines-expected.png: Added.
  • fast/dynamic/anonymous-block-orphaned-lines-expected.txt: Added.
  • fast/dynamic/anonymous-block-orphaned-lines.html: Added.

WebCore:

Reviewed by Hyatt, thumbs up by Darin.

Test: fast/dynamic/anonymous-block-orphaned-lines.html

  • rendering/InlineBox.cpp: (WebCore::InlineBox::root): Added an assertion that we return a root inline box.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): Added code to adopt the line boxes of anonymous blocks being destroyed instead of leaving them orphaned, which is what caused this crash. The boxes will be deleted on the next layout, but this ensures consistency in the mean time.
06:38 Changeset [20187] by lars

Reviewed by Antti.

Fix the Qt build.
Add a getter to SharedBuffer that returns a reference to the internal
Vector to avoid an extra copy of the data.

04:37 Changeset [20186] by antti

LayoutTests:

Reviewed by Mitz.


Test case for <rdar://problem/5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note

  • editing/style/highlight-expected.checksum: Added.
  • editing/style/highlight-expected.png: Added.
  • editing/style/highlight-expected.txt: Added.
  • editing/style/highlight.html: Added.

WebCore:

Reviewed by Mitz.


Fix <rdar://problem/5058774>
REGRESSION: In Mail, caret appears oversized when typing in a To Do note


Horizontal and vertical were switched. Was regression from
http://trac.webkit.org/projects/webkit/changeset/20103

  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow):
04:02 Changeset [20185] by hyatt

Tweak the data() functions of stylesheets and scripts to be internally consistent.

  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::data):
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data):
02:20 Changeset [20184] by hyatt

Fix Radar 5050688.

For large animated GIFs, destroy and recreate the source for every animation frame. This keeps
the memory consumption down while giant images are animating.

Reviewed by andersca

  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::advanceAnimation):
  • platform/graphics/BitmapImage.h:
01:49 Changeset [20183] by hyatt

Make sure to use CFDataCreateWithBytesNoCopy where we can.

Reviewed by andersca

  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
01:07 Changeset [20182] by hyatt

WebCore:

Fix for bugzilla bug 13050 and also radar p1 5050645.

This patch reworks resource loading to avoid having redundant buffers in the icon database and in cached
images in the WebCore cache. It also avoids overcopying in top-level image documents and in the icon
database.

There is now only one SharedBuffer for a resource and everybody observes that buffer now instead of ever
making their own. Even ImageIO uses the SharedBuffer while decoding.

The page in 13050 dropped from 145mb down to 45mb of memory use with this change for a stunning savings
of 100mb.

Reviewed by olliej, mjs

  • WebCore.exp:
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::data):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource):
  • loader/CachedResource.h: (WebCore::CachedResource::data):
  • loader/CachedScript.cpp: (WebCore::CachedScript::data):
  • loader/CachedScript.h:
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data):
  • loader/CachedXSLStyleSheet.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::checkCacheObjectStatus):
  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::writeRawData): (WebCore::ImageTokenizer::finish):
  • loader/icon/IconDataCache.cpp: (WebCore::IconDataCache::setImageData): (WebCore::IconDataCache::writeToDatabase):
  • loader/icon/IconDataCache.h:
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::imageDataForIconURL): (WebCore::IconDatabase::iconForPageURL): (WebCore::IconDatabase::setIconDataForIconURL): (WebCore::IconDatabase::setHaveNoIconForIconURL): (WebCore::IconDatabase::imageDataForIconURLQuery):
  • loader/icon/IconDatabase.h:
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::startLoading): (WebCore::IconLoader::didReceiveResponse): (WebCore::IconLoader::didReceiveData): (WebCore::IconLoader::didFail): (WebCore::IconLoader::finishLoading): (WebCore::IconLoader::clearLoadingState):
  • loader/icon/IconLoader.h:
  • loader/icon/SQLStatement.cpp: (WebCore::SQLStatement::getColumnBlobAsVector): (WebCore::SQLStatement::isExpired):
  • loader/icon/SQLStatement.h:
  • loader/loader.cpp: (WebCore::Loader::didFinishLoading): (WebCore::Loader::didReceiveData):
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge getData:andResponse:forURL:]): (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
  • platform/SharedBuffer.h: (WebCore::SharedBuffer::isEmpty):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::destroyDecodedData): (WebCore::BitmapImage::dataChanged):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.cpp: (WebCore::Image::setData):
  • platform/graphics/Image.h: (WebCore::Image::dataChanged): (WebCore::Image::data):
  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::setData):
  • platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::dataChanged):
  • platform/graphics/cg/PDFDocumentImage.h:
  • platform/graphics/mac/ImageMac.mm: (WebCore::Image::loadPlatformResource):
  • platform/graphics/svg/SVGImage.cpp: (WebCore::SVGImage::setData):
  • platform/mac/PasteboardMac.mm: (WebCore::fileWrapperForImage):

WebKit:

Fixes to ensure that the resource loader's shared buffer can always be used.

Reviewed by olliej, mjs

  • Misc/WebIconDatabase.mm: (-[WebIconDatabase _convertToWebCoreFormat]):
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::deliverArchivedResources):
Note: See TracTimeline for information about the timeline view.