Timeline



May 22, 2006:

6:36 PM Changeset in webkit [14532] by eseidel
  • 2 edits in trunk/WebCore

2006-05-22 Eric Seidel <eric@eseidel.com>

Rubber-stamped by adele.

  • bindings/js/kjs_html.h: simple style cleanup.
4:55 PM Changeset in webkit [14531] by thatcher
  • 1 copy in tags/Safari-521.10

Tag for 521.10

4:46 PM Changeset in webkit [14530] by thatcher
  • 8 edits in /

Versioning.

4:30 PM Changeset in webkit [14529] by thatcher
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Build fix when doing 'xcodebuild install'.

3:18 PM Changeset in webkit [14528] by thatcher
  • 1 edit in trunk/WebCore/platform/mac/WebCoreSystemInterface.h

Build fix.

3:10 PM Changeset in webkit [14527] by justing
  • 4 edits
    1 add
    1 delete in trunk/LayoutTests

Reviewed by levi


Fixed and reenabled this test.

  • editing/selection/drag-to-contenteditable-iframe-expected.checksum:
  • editing/selection/drag-to-contenteditable-iframe-expected.png:
  • editing/selection/drag-to-contenteditable-iframe-expected.txt:
  • editing/selection/drag-to-contenteditable-iframe.html: Added.
  • editing/selection/drag-to-contenteditable-iframe.html-disabled: Removed.
2:51 PM Changeset in webkit [14526] by thatcher
  • 1 copy in tags/WebKit-418.7/WebKit

Tag for WebKit 418.7 (part 2 of 2.)

2:51 PM Changeset in webkit [14525] by thatcher
  • 1 add in tags/WebKit-418.7

Tag for WebKit 418.7 (part 1 of 2.)

2:51 PM Changeset in webkit [14524] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

2:41 PM Changeset in webkit [14523] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Merged fix from TOT to Safari-2-0-branch

2006-05-22 Tim Omernick <timo@apple.com>

Reviewed by Geoff.

<rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
opening file from file open dialog

Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
machine.

  • Misc/WebNSWindowExtras.m: (replacementDealloc): Cancel display timer before dealloc, not after. Cancelling the timer can cause a message to be sent to the window; best to do that before the window deallocates. (replacementFinalize): ditto
2:39 PM Changeset in webkit [14522] by thatcher
  • 1 edit in trunk/JavaScriptCore/wtf/MathExtras.h

Removes svn:executable from MathExtras.h. Caused a build verification failure.

2:20 PM Changeset in webkit [14521] by sullivan
  • 4 edits in trunk/WebCore

Reviewed by Anders Carlsson.


  • fixed Bug 9038: Rework Document::TextMarker mechanism to not use deprecated data structures

Changed Document::markersForNode and Document::MarkerMap to use Vector rather than
DeprecatedValueList and DeprecatedValueListIterator.


  • dom/Document.h:
  • dom/Document.cpp: (WebCore::Document::addMarker): (WebCore::Document::copyMarkers): (WebCore::Document::removeMarkers): (WebCore::Document::markersForNode): (WebCore::Document::repaintMarkers): (WebCore::Document::shiftMarkers):


  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintAllMarkersOfType):
2:00 PM Changeset in webkit [14520] by thatcher
  • 5 edits in trunk/WebCore/platform

64-bit build fix, and removes the workaround for <rdar://problem/4294625>.

1:55 PM Changeset in webkit [14519] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Geoff.

<rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
opening file from file open dialog

Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
machine.

  • Misc/WebNSWindowExtras.m: (replacementDealloc): Cancel display timer before dealloc, not after. Cancelling the timer can cause a message to be sent to the window; best to do that before the window deallocates. (replacementFinalize): ditto
1:21 PM Changeset in webkit [14518] by sfalken
  • 2 edits in trunk/WebKitTools

2006-05-22 Steve Falkenburg <sfalken@apple.com>

Reviewed by adele.


Fix build.

  • Spinneret/Spinneret.sln:
1:16 PM Changeset in webkit [14517] by sfalken
  • 2 edits in trunk/WebKitWin

2006-05-22 Steve Falkenburg <sfalken@apple.com>

Reviewed by adele.


Fix build.

  • WebKitWin.vcproj/WebKitWin.sln:
11:34 AM Changeset in webkit [14516] by lweintraub
  • 11 edits
    2 adds in trunk

LayoutTests:

Reviewed by eric.


  • editing/execCommand/createLink-expected.txt:
  • editing/execCommand/unlink-expected.txt:
  • editing/input/attributed-substring-from-range-lines-expected.txt:
  • fast/dom/Range/range-exceptions-expected.txt:
  • fast/dom/Range/resources/range-exceptions.js:
  • fast/innerHTML/005-expected.txt:
  • fast/innerHTML/innerHTML-custom-tag-expected.txt:
  • fast/innerHTML/innerHTML-cast.html: Added.
  • fast/innerHTML/innerHTML-cast-expected.txt: Added.
  • fast/xsl/xslt-processer-expected.txt:

WebCore:

Reviewed by Eric.


  • editing/markup.cpp: (WebCore::startMarkup): (WebCore::endMarkup):
11:20 AM Changeset in webkit [14515] by thatcher
  • 4 edits in trunk/JavaScriptCore

Reviewed by Eric, Kevin and Geoff.

Merge open source build fixes. <rdar://problem/4555500>

  • kjs/collector.cpp: look at the rsp register in x86_64 (KJS::Collector::markOtherThreadConservatively):
  • wtf/Platform.h: add x86_64 to the platform list
1:04 AM Changeset in webkit [14514] by hyatt
  • 1 edit in trunk/WebCore/platform/mac/FontCacheMac.mm

Fix Mac bustage.

May 21, 2006:

11:19 PM Changeset in webkit [14513] by hyatt
  • 1 edit in trunk/WebCore/platform/win/FontDataWin.cpp

Fix win32 bustage.

11:18 PM Changeset in webkit [14512] by hyatt
  • 5 edits
    3 adds in trunk/WebCore

Fix win32 bustage.

4:42 PM Changeset in webkit [14511] by adele
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::text): Reverting recent change to user innerText instead of textContent. For textareas, we need a better solution than textContent that also takes newlines into account, but this should fix this crasher.
12:51 AM Changeset in webkit [14510] by andersca
  • 1 edit
    1 add in trunk/WebCore

2006-05-21 Anders Carlsson <acarlsson@apple.com>

Fix build.


  • ForwardingHeaders/wtf/MathExtras.h: Added.
12:18 AM Changeset in webkit [14509] by hyatt
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

Add mathextras to javascrtipcore project.

12:05 AM Changeset in webkit [14508] by hyatt
  • 1 edit in trunk/WebCore/platform/mac/FontPlatformData.h

Fix mac bustage. Minor snafu in constructor.

May 20, 2006:

11:58 PM Changeset in webkit [14507] by hyatt
  • 14 edits
    1 move
    2 adds in trunk/WebCore

Switch on Cairo-based text rendering on win32.

11:55 PM Changeset in webkit [14506] by hyatt
  • 1 add in trunk/JavaScriptCore/wtf/MathExtras.h

Add mathextras.h to wtf to give win32 roundf/lroundf support.

7:09 PM Changeset in webkit [14505] by mjs
  • 2 edits in trunk/WebKit

Reviewed by Beth.


  • fix assertion failure on layout tests
  • WebView/WebDataSource.m: (-[WebDataSource _mainReceivedError:complete:]): Don't do anything if this data source is no longer connected to a frame. Used to be this couldn't happen because the WebView would have been nil, but we no longer go through the WebView.
3:42 PM Changeset in webkit [14504] by thatcher
  • 2 edits in trunk/WebKit

Reviewed by Anders.

Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
http://bugzilla.opendarwin.org/show_bug.cgi?id=9018


Use clientHeight now that offsetHeight includes the border and padding.
clientHeight should have been used initially.

2:22 PM Changeset in webkit [14503] by hyatt
  • 2 edits in trunk/WebKitWin

Fix Cairo double buffering.

1:19 PM Changeset in webkit [14502] by andersca
  • 6 edits
    3 adds in trunk

JavaScriptCore:

2006-05-20 Anders Carlsson <acarlsson@apple.com>

Reviewed by Geoff.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8993
Support function declaration in case statements


  • kjs/grammar.y: Get rid of StatementList and use SourceElements instead.


  • kjs/nodes.cpp: (CaseClauseNode::evalStatements): (CaseClauseNode::processVarDecls): (CaseClauseNode::processFuncDecl): (ClauseListNode::processFuncDecl): (CaseBlockNode::processFuncDecl): (SwitchNode::processFuncDecl):
  • kjs/nodes.h: (KJS::CaseClauseNode::CaseClauseNode): (KJS::ClauseListNode::ClauseListNode): (KJS::ClauseListNode::getClause): (KJS::ClauseListNode::getNext): (KJS::ClauseListNode::releaseNext): (KJS::SwitchNode::SwitchNode): Add processFuncDecl for the relevant nodes.
  • kjs/nodes2string.cpp: (CaseClauseNode::streamTo): next got renamed to source.

LayoutTests:

2006-05-20 Anders Carlsson <acarlsson@apple.com>

Reviewed by Geoff.

  • fast/js/function-declarations-in-switch-statement-expected.txt: Added.
  • fast/js/function-declarations-in-switch-statement.html: Added.
  • fast/js/resources/function-declarations-in-switch-statement.js: Added.
1:57 AM Changeset in webkit [14501] by ap
  • 2 edits
    1 add in trunk/WebCore

Reviewed by Darin.

  • page/FrameView.cpp: (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
  • manual-tests/custom-cursors.html: Added.
1:47 AM Changeset in webkit [14500] by ap
  • 3 edits
    4 adds in trunk

2006-05-20 Mitz Pettel <opendarwin.org@mitzpettel.com>

Reviewed and landed by ap.

Test: fast/table/empty-section-crash.html

  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paint): Return immediately if the section has 0 rows or 0 columns.

May 19, 2006:

10:52 PM Changeset in webkit [14499] by hyatt
  • 1 edit in trunk/WebCore/platform/cairo/ImageCairo.cpp

Fix Win32 bustage caused by image document. supportsType is not implemented yet for ImageCairo, so we'll return false rather than true to keep every document from being an image document.

5:21 PM Changeset in webkit [14498] by lweintraub
  • 7 edits
    5 adds in trunk

LayoutTests:

Reviewed by justin.


Tests for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
Drag caret not painted for editable sub-frames

  • editing/resources/select-and-drag-iframe.html: Added.
  • editing/selection/drag-in-iframe-expected.checksum: Added.
  • editing/selection/drag-in-iframe-expected.png: Added.
  • editing/selection/drag-in-iframe-expected.txt: Added.
  • editing/selection/drag-in-iframe.html: Added.

WebCore:

Reviewed by justin.


<http://bugzilla.opendarwin.org/show_bug.cgi?id=8931>
Drag caret not painted for editable sub-frames


Moved the drag caret out of Frame and into Page.
Only the Frame that contains the drag caret will paint it.

  • editing/SelectionController.h:
  • page/Frame.cpp: (WebCore::Frame::dragCaret): (WebCore::Frame::setDragCaret): (WebCore::Frame::paintDragCaret):
  • page/FramePrivate.h:
  • page/Page.cpp: (WebCore::Page::dragCaret): (WebCore::Page::setDragCaret):
  • page/Page.h:
4:16 PM Changeset in webkit [14497] by aliceli1
  • 2 edits in trunk/WebCore

Reviewed by Adele.

  • html/HTMLButtonElement.idl: added support for HTMLButtonElement.click()
2:18 PM Changeset in webkit [14496] by aliceli1
  • 2 adds in trunk/LayoutTests/fast/forms
12:35 PM Changeset in webkit [14495] by ggaren
  • 9 edits
    2 adds in trunk

LayoutTests:

  • Test for overriding non-autogenerated global constructors.
  • fast/dom/constructors-overriding-expected.txt: Added.
  • fast/dom/constructors-overriding.html: Added.

WebCore:

Reviewed by Eric.

  • Fixed non-autogenerated global constructors to match autogenerated ones and FF. (Found this bug while @ the GOOG.)

(1) They're no longer read-only, so they can be overridden.
(2) They now have the default object prototype, so they can do things
like 'toString' and 'valueOf', necessary for general functionality,
including my layout test.
(3) Their prototype properties are now enumerable and not read-only.


  • bindings/js/JSDOMParser.cpp: (KJS::DOMParserConstructorImp::DOMParserConstructorImp):
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp):
  • bindings/js/JSXMLHttpRequest.h:
  • bindings/js/JSXMLSerializer.cpp: (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
  • bindings/js/JSXSLTProcessor.cpp: (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
  • bindings/js/kjs_html.cpp: (KJS::OptionConstructorImp::OptionConstructorImp): (KJS::ImageConstructorImp::ImageConstructorImp):
  • bindings/js/kjs_window.cpp:
12:07 PM Changeset in webkit [14494] by thatcher
  • 1 copy in tags/JavaScriptCore-418.2/JavaScriptCore

Tag for JavaScriptCore 418.2 (part 2 of 2.)

12:07 PM Changeset in webkit [14493] by thatcher
  • 1 add in tags/JavaScriptCore-418.2

Tag for JavaScriptCore 418.2 (part 1 of 2.)

12:06 PM Changeset in webkit [14492] by thatcher
  • 1 copy in tags/WebCore-418.8/WebCore

Tag for WebCore 418.8 (part 2 of 2.)

12:06 PM Changeset in webkit [14491] by thatcher
  • 1 add in tags/WebCore-418.8

Tag for WebCore 418.8 (part 1 of 2.)

12:05 PM Changeset in webkit [14490] by thatcher
  • 4 edits in branches/Safari-2-0-branch

Versioning

12:01 PM Changeset in webkit [14489] by thatcher
  • 9 edits in branches/Safari-2-0-branch

JavaScriptCore:

Reviewed by Maciej.

  • Fixed <rdar://problem/4543569> 10.4.7 regression: Crash occurs when attempting to view image in slideshow mode at http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute (KJS::ExecState*) + 312)
  • Major fix: On alternate threads, DOMObjects remain in the ScriptInterpreter's cache because they're not collected. So, they need an opportunity to mark their children.
  • kjs/collector.cpp: (KJS::Collector::collect):
  • kjs/internal.cpp: (InterpreterImp::mark):
  • kjs/internal.h:
  • kjs/interpreter.h: (KJS::Interpreter::mark):

WebCore:

Reviewed by Maciej.

  • Fixed <rdar://problem/4543569> 10.4.7 regression: Crash occurs when attempting to view image in slideshow mode at http://d.smugmug.com/gallery/581716 ( KJS::IfNode::execute (KJS::ExecState*) + 312)
  • Minor fix: DOMParserConstructor needed to inherit from DOMObject to prevent collection on alternate threads.
  • Major fix: On alternate threads, DOMObjects remain in the ScriptInterpreter's cache because they're not collected. So, they need an opportunity to mark their children.
  • khtml/ecma/domparser.h:
  • khtml/ecma/kjs_binding.cpp: (KJS::ScriptInterpreter::mark):
  • khtml/ecma/kjs_binding.h:
11:42 AM Changeset in webkit [14488] by lweintraub
  • 2 edits in branches/Safari-2-0-branch/WebCore

Reviewed by justin.

When the paste performance fix was merged over, uses of isCandidate
were changed to isRenderedContent. isRenderedContent on the branch
is incorrect in a few ways.

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::init):
11:17 AM Changeset in webkit [14487] by thatcher
  • 1 copy in tags/WebKit-418.6/WebKit

Tag for WebKit 418.6 (part 2 of 2.)

11:17 AM Changeset in webkit [14486] by thatcher
  • 1 add in tags/WebKit-418.6

Tag for WebKit 418.6 (part 1 of 2.)

11:16 AM Changeset in webkit [14485] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

10:55 AM Changeset in webkit [14484] by thatcher
  • 4 edits in branches/Safari-2-0-branch/WebKit

Merged fix from TOT to Safari-2-0-branch

2006-05-18 Tim Omernick <timo@apple.com>

Reviewed by John Sullivan.

<rdar://problem/4551938> More options needed for window display throttle

We decided to play it safe and leave our window flushing behavior unchanged from the previous
public release. By default, CoreGraphics deferred updates are once again OFF, and the window
display throttle is OFF.

Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and
WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.

Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
WebKitEnableDeferredUpdatesPreferenceKey (or unset).

Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
WebKitEnableDeferredUpdatesPreferenceKey=1. While this configuration fixes the tearing issues
caused by over-flushing, some applications will experience performance problems as over-flushing
with CG deferred updates enabled will cause the app to block.

Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1,
WebKitEnableDeferredUpdatesPreferenceKey=1. This is the riskiest configuration in that it
enables the window display throttle "feature", potentially breaking applications' assumptions
about when displays occur. However, it provides the "best of both worlds", in that updates
are tear-free, and performance impact should me minimal.

  • WebView/WebPreferenceKeysPrivate.h: Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
  • WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value. Added some comments.
3:53 AM Changeset in webkit [14483] by andersca
  • 11 edits
    22 adds in trunk/WebCore

2006-05-19 Anders Carlsson <acarlsson@apple.com>

Reviewed by Eric.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8983
Autogenerate another 22 HTML classes


Already covered by existing DOM tests.

  • DerivedSources.make:
  • WebCore.vcproj/WebCore/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj: Add new IDL files and generated sources.


  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::drawImage): (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): (WebCore::JSCanvasRenderingContext2D::createPattern): Use JSHTMLImageElement::info in inherits.


  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createJSWrapper): Add macros for the functions and the code to populate the hash set.


  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::HTMLElementFunction::callAsFunction):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::): Delete old cruft.


  • bindings/scripts/CodeGeneratorJS.pm: Add support for creating a JS object from a HTMLCollection.


  • html/HTMLAreaElement.idl: Added.
  • html/HTMLBRElement.idl: Added.
  • html/HTMLBaseFontElement.idl: Added.
  • html/HTMLBlockquoteElement.idl: Added.


  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::scrollLeft): (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::scrollTop): (WebCore::HTMLBodyElement::setScrollTop): (WebCore::HTMLBodyElement::scrollHeight): (WebCore::HTMLBodyElement::scrollWidth):
  • html/HTMLBodyElement.h: Add new functions that used to be implemented in kjs_html.cpp


  • html/HTMLBodyElement.idl: Added.
  • html/HTMLFieldSetElement.idl: Added.
  • html/HTMLFontElement.idl: Added.
  • html/HTMLHRElement.idl: Added.
  • html/HTMLHeadingElement.idl: Added.
  • html/HTMLImageElement.idl: Added.
  • html/HTMLIsIndexElement.idl: Added.
  • html/HTMLLIElement.idl: Added.
  • html/HTMLLabelElement.idl: Added.
  • html/HTMLLegendElement.idl: Added.
  • html/HTMLMapElement.idl: Added.
  • html/HTMLMenuElement.idl: Added.
  • html/HTMLModElement.idl: Added.
  • html/HTMLParagraphElement.idl: Added.
  • html/HTMLParamElement.idl: Added.
  • html/HTMLPreElement.idl: Added.
  • html/HTMLQuoteElement.idl: Added.
  • html/HTMLScriptElement.idl: Added.

May 18, 2006:

6:25 PM Changeset in webkit [14482] by hyatt
  • 54 edits in trunk/WebCore/platform/cairo

Update to the latest and greatest Cairo.

3:00 PM Changeset in webkit [14481] by mjs
  • 9 edits in trunk/WebKit

Reviewed by Eric.


  • Plugins/WebNetscapePluginStream.m: (-[WebNetscapePlugInStreamLoader didFinishLoading]): (-[WebNetscapePlugInStreamLoader didFailWithError:]):
  • WebCoreSupport/WebSubresourceLoader.m: (-[WebSubresourceLoader receivedError:]): (-[WebSubresourceLoader signalFinish]):
  • WebView/WebDataSource.m: (-[WebDataSource _stopLoading]): (-[WebDataSource _receivedMainResourceError:complete:]): (-[WebDataSource _finishedLoadingResource]): (-[WebDataSource _mainReceivedBytesSoFar:complete:]): (-[WebDataSource _receivedError:]): (-[WebDataSource _mainReceivedError:complete:]):
  • WebView/WebDataSourceInternal.h:
  • WebView/WebFrame.m: (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
  • WebView/WebMainResourceLoader.m: (-[WebMainResourceLoader didReceiveData:lengthReceived:]): (-[WebMainResourceLoader didFinishLoading]):
  • WebView/WebView.m:
  • WebView/WebViewInternal.h:
2:28 PM Changeset in webkit [14480] by tomernic
  • 3 edits in trunk/WebKit

Reviewed by John Sullivan.

<rdar://problem/4551938> More options needed for window display throttle

We decided to play it safe and leave our window flushing behavior unchanged from the previous
public release. By default, CoreGraphics deferred updates are once again OFF, and the window
display throttle is OFF.

Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and
WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.

Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
WebKitEnableDeferredUpdatesPreferenceKey (or unset).

Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
WebKitEnableDeferredUpdatesPreferenceKey=1. While this configuration fixes the tearing issues
caused by over-flushing, some applications will experience performance problems as over-flushing
with CG deferred updates enabled will cause the app to block.

Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1,
WebKitEnableDeferredUpdatesPreferenceKey=1. This is the riskiest configuration in that it
enables the window display throttle "feature", potentially breaking applications' assumptions
about when displays occur. However, it provides the "best of both worlds", in that updates
are tear-free, and performance impact should me minimal.

  • WebView/WebPreferenceKeysPrivate.h: Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
  • WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value. Added some comments.
1:56 PM Changeset in webkit [14479] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Merged fix from TOT to Safari-2-0-branch

2006-05-18 Tim Omernick <timo@apple.com>

Reviewed by John Sullivan.

<rdar://problem/4553450> Make disabling window throttle safer

  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window throttle is disabled. This is a safer approach when other components/"haxies" override the same methods that we are overriding, as it allows the overrides to "chain" properly. Moved the dictionary initialization code down a bit. The order doesn't matter here. (disableWindowDisplayThrottleApplierFunction): Noticed that this could have been written safer with respect to the timer having the last reference to the window. I never experienced a crash here, but this code is definitely safer. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy the dictionary. (replacementPostWindowNeedsDisplay): If throttling is disabled, just call the original IMP. (clearWindowDisplayInfo): Added an assert. (replacementDealloc): Don't call clearWindowDisplayInfo() when throttling is disabled. (replacementFinalize): ditto (cancelPendingWindowDisplay): Removed an unnecessary assertion.
1:49 PM Changeset in webkit [14478] by hyatt
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj

Make Win32 compile (finally). Add missing files to bindings/js directory in the vcproj.

1:40 PM Changeset in webkit [14477] by hyatt
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj

Reduce link errors from 21 to 7 by adding more auto-generated JS bindings files to the vcproj. (Win32 bustage still.)

1:36 PM Changeset in webkit [14476] by hyatt
  • 1 edit in trunk/WebCore/platform/win/TemporaryLinkStubs.cpp

Keep working on win32 bustage. Add KWQFileButton::setDisabled to TemporaryLinkStubs.

1:31 PM Changeset in webkit [14475] by hyatt
  • 1 edit in trunk/WebCore/loader/ImageDocument.cpp

Keep going trying to fix win32 bustage. Make ImageDocument compile.

1:31 PM Changeset in webkit [14474] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Darin Adler.


  • fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
  • WebView/WebView.m: (-[WebView _responderForResponderOperations]): Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
1:29 PM Changeset in webkit [14473] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by John Sullivan.

<rdar://problem/4553450> Make disabling window throttle safer

  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations; now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window throttle is disabled. This is a safer approach when other components/"haxies" override the same methods that we are overriding, as it allows the overrides to "chain" properly. Moved the dictionary initialization code down a bit. The order doesn't matter here. (disableWindowDisplayThrottleApplierFunction): Noticed that this could have been written safer with respect to the timer having the last reference to the window. I never experienced a crash here, but this code is definitely safer. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy the dictionary. (replacementPostWindowNeedsDisplay): If throttling is disabled, just call the original IMP. (clearWindowDisplayInfo): Added an assert. (replacementDealloc): Don't call clearWindowDisplayInfo() when throttling is disabled. (replacementFinalize): ditto (cancelPendingWindowDisplay): Removed an unnecessary assertion.
1:18 PM Changeset in webkit [14472] by hyatt
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore/build-generated-files.sh

Fix build bustage caused by broken XPath feature support checking on win32.

10:57 AM Changeset in webkit [14471] by darin
  • 2 edits in trunk/WebKitTools
  • try to fix no-SVG, no-XPATH build, again
  • Scripts/build-webkit: Use FEATURE_DEFINES= instead of FEATURE_DEFINES=.
10:52 AM Changeset in webkit [14470] by hyatt
  • 6 edits in trunk/WebCore

Turn off responding to font changes while running. It doesn't work
right anyway.

Reviewed by darin

  • platform/FontCache.cpp: (WebCore::FontCache::getCachedFontPlatformData):
  • platform/FontCache.h:
  • platform/GlyphMap.h: (WebCore::GlyphMap::~GlyphMap):
  • platform/GlyphWidthMap.h: (WebCore::GlyphWidthMap::~GlyphWidthMap):
  • platform/mac/FontCacheMac.mm: (WebCore::FontCache::platformInit):
10:28 AM Changeset in webkit [14469] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Merged fix from TOT to Safari-2-0-branch

2006-05-17 Tim Omernick <timo@apple.com>

Reviewed by Kevin Decker and John Sullivan.

<rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows

The window display throttle depended on windows being closed before they were deallocated; this is
not guaranteed by AppKit. Windows that were being released without being closed were getting stuck
in our NSWindow -> WindowDisplayInfo dictionary.


  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): Don't retain the NSWindow keys in the window display info dictionary. Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow -> WindowDisplayInfo mapping when a window deallocates. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Restore -dealloc and -finalize. (clearWindowDisplayInfo): Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose(). (replacementClose): Removed; no longer needed. (replacementDealloc): Clear the WindowDisplayInfo for the window after deallocation. (replacementFinalize): ditto (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]): Rewrote this method to be safe in the case where the firing display timer has the last reference to the window. Added comments.
10:04 AM Changeset in webkit [14468] by darin
  • 2 edits in trunk/WebKitTools
  • try to fix no-SVG, no-XPATH build
  • Scripts/build-webkit: Pass FEATURE_DEFINES rather than GCC_PREPROCESSOR_DEFINITIONS, since the former is what's used in the WebCore project now.
9:56 AM Changeset in webkit [14467] by darin
  • 3 edits in trunk/WebCore
  • try to fix the Windows build
  • platform/TextEncoding.h: Changed a ";" to a ",".
  • WebCore.vcproj/WebCore/WebCore.vcproj: Removed JSCanvasRenderingContext2DBase.cpp and JSCanvasRenderingContext2DBase.h. Added JSCanvasRenderingContext2DCustom.cpp.
9:53 AM Changeset in webkit [14466] by darin
  • 4 edits
    8 adds in trunk

LayoutTests:

Reviewed by Hyatt.

Tests for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8896>
Bug 8896: Absolutely positioned elements should use their parent's
direction when left, right and width are auto in quirks mode.

  • fast/block/positioning/absolute-position-direction-quirk.html: Added.
  • fast/block/positioning/absolute-position-direction-quirk-expected.txt: Added.
  • fast/block/positioning/absolute-position-direction-quirk-expected.png: Added.
  • fast/block/positioning/absolute-position-direction-quirk-expected.checksum: Added.
  • fast/block/positioning/absolute-position-direction-strict.html: Added.
  • fast/block/positioning/absolute-position-direction-strict-expected.txt: Added.
  • fast/block/positioning/absolute-position-direction-strict-expected.png: Added.
  • fast/block/positioning/absolute-position-direction-strict-expected.checksum: Added.

WebCore:

Reviewed by Hyatt.

Fix for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8896>
Bug 8896: Absolutely positioned elements should use their parent's
direction when left, right and width are auto in quirks mode.

Use the parent's direction instead of the containing
block's in quirks mode for absolute positioning to match
WinIE.

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
  • rendering/RenderBox.h:
9:13 AM Changeset in webkit [14465] by darin
  • 3 edits in trunk/WebCore

Reviewed and tweaked (way too much) by Darin.

  • platform/CharsetNames.cpp: (WebCore::TextEncodingIDHashTraits::emptyValue): Added a non-zero empty value, InvalidEncoding, and used InvalidEncoding2 for the deleted value. (WebCore::buildCharsetMaps): Added an assertion that the deleted and empty values are not valid encodings.
  • platform/TextEncoding.h: Defined InvalidEncoding2.
2:13 AM Changeset in webkit [14464] by hyatt
  • 3 edits in trunk/WebCore

Horrible glyph map regression fix. The initial page of the map was
being rebuilt over and over again.

Reviewed by andersca

  • platform/GlyphMap.cpp: (WebCore::GlyphMap::locatePage):
  • platform/GlyphWidthMap.cpp: (WebCore::GlyphWidthMap::locatePage):
1:20 AM Changeset in webkit [14463] by andersca
  • 10 edits
    8 adds in trunk

WebCore:

2006-05-18 Anders Carlsson <acarlsson@apple.com>

Reviewed by Darin.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8964
Autogenerate more HTML classes


  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj: Add new files.


  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createAnchorWrapper): (WebCore::createAppletWrapper): (WebCore::createDivWrapper): (WebCore::createDirectoryWrapper): (WebCore::createDListWrapper): (WebCore::createHtmlWrapper): (WebCore::createOListWrapper): (WebCore::createUListWrapper): (WebCore::createJSWrapper): Add wrappers.


  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::HTMLElementFunction::callAsFunction):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::): Delete the old implementations.


  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hash): (WebCore::HTMLAnchorElement::host): (WebCore::HTMLAnchorElement::hostname): (WebCore::HTMLAnchorElement::pathname): (WebCore::HTMLAnchorElement::port): (WebCore::HTMLAnchorElement::protocol): (WebCore::HTMLAnchorElement::search): (WebCore::HTMLAnchorElement::text):
  • html/HTMLAnchorElement.h: Add some new accessor methods which used to be in kjs_html.cpp.


  • html/HTMLAnchorElement.idl: Added.
  • html/HTMLAppletElement.idl: Added.
  • html/HTMLDListElement.idl: Added.
  • html/HTMLDirectoryElement.idl: Added.
  • html/HTMLDivElement.idl: Added.
  • html/HTMLHtmlElement.idl: Added.
  • html/HTMLOListElement.idl: Added.
  • html/HTMLUListElement.idl: Added.

LayoutTests:

2006-05-18 Anders Carlsson <acarlsson@apple.com>

http://bugzilla.opendarwin.org/show_bug.cgi?id=8964
Autogenerate more HTML classes

  • fast/dom/prototype-chain-expected.txt: Update test result.
12:36 AM Changeset in webkit [14462] by hyatt
  • 4 edits
    2 adds in trunk/WebCore

Convert the width map for glyphs into the same new HashMap-style as the
glyph map for characters.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/FontData.cpp: (WebCore::FontData::~FontData): (WebCore::FontData::widthForGlyph):
  • platform/FontData.h:
  • platform/GlyphWidthMap.cpp: Added. (WebCore::GlyphWidthMap::widthForGlyph): (WebCore::GlyphWidthMap::setWidthForGlyph): (WebCore::GlyphWidthMap::locatePage):
  • platform/GlyphWidthMap.h: Added. (WebCore::GlyphWidthMap::GlyphWidthMap): (WebCore::GlyphWidthMap::~GlyphWidthMap): (WebCore::GlyphWidthMap::GlyphWidthPage::widthForGlyph): (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForGlyph): (WebCore::GlyphWidthMap::GlyphWidthPage::setWidthForIndex):
Note: See TracTimeline for information about the timeline view.