Timeline



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):

May 17, 2006:

11:21 PM Changeset in webkit [14461] by hyatt
  • 2 edits
    1 move in trunk/WebCore

Rename FontData.mm to FontData.cpp, since it has no obj-c in it.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/FontData.cpp: Added.
11:09 PM Changeset in webkit [14460] by hyatt
  • 4 edits
    1 add in trunk/WebCore

Split FontData.mm into platform-specific and cross-platform pieces.

Reviewed by andersca

  • WebCore.xcodeproj/project.pbxproj:
  • platform/FontData.h: (WebCore::FontData::xHeight):
  • platform/mac/FontData.mm: (WebCore::FontData::widthForGlyph): (WebCore::m_smallCapsFontData): (WebCore::FontData::~FontData): (WebCore::extendWidthMap):
10:02 PM Changeset in webkit [14459] by darin
  • 2 edits in trunk/WebKitTools
  • Scripts/do-webcore-rename: Some more future renames.
9:35 PM Changeset in webkit [14458] by ap
  • 3 edits in trunk/LayoutTests

Reviewed by Darin.

  • fast/js/date-constructor-expected.txt:
  • fast/js/resources/date-constructor.js: Disable the offending tests.
9:15 PM Changeset in webkit [14457] by staikos
  • 7 edits in trunk/JavaScriptCore

Reviewed by Maciej, Alexey, and Eric.

  • Use // in .c files to compile with non-C99 and non-GCC compilers.
  • Change include to <wtf/HashTraits.h> from "HashTraits.h" to avoid -I
  • Use correct parentheses and correct mask for utf-32 support.
8:36 PM Changeset in webkit [14456] by tomernic
  • 2 edits in trunk/WebKit

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.
6:02 PM Changeset in webkit [14455] by sullivan
  • 4 edits in trunk/WebCore

Reviewed by Darin Adler


Improvement to my previous patch, suggested by Darin

  • dom/Document.cpp: (WebCore::Document::repaintMarkers): new method, similar in structure to removeMarkers but just repaints each node that has a marker of the specified type
  • dom/Document.h: declare new method, and tweak style in related method declarations


  • page/Frame.cpp: (WebCore::Frame::setMarkedTextMatchesAreHighlighted): if the value changes, call repaintMarkers
5:44 PM Changeset in webkit [14454] by eseidel
  • 6 adds in trunk/LayoutTests/fast/dom

2006-05-17 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate button, optgroup, option, input and textarea js bindings
http://bugzilla.opendarwin.org/show_bug.cgi?id=8953

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createButtonWrapper): (WebCore::createInputWrapper): (WebCore::createOptGroupWrapper): (WebCore::createOptionWrapper): (WebCore::createTextAreaWrapper): (WebCore::createJSWrapper):
  • bindings/js/JSHTMLInputElementBase.cpp: Added. (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction): (WebCore::): (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: Added. (WebCore::JSHTMLInputElementBase::classInfo): (WebCore::JSHTMLInputElementBase::): (WebCore::JSHTMLInputElementBase::impl):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: Added. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): (WebCore::JSHTMLOptionElementConstructor::implementsConstruct): (WebCore::JSHTMLOptionElementConstructor::construct):
  • bindings/js/JSHTMLOptionElementConstructor.h: Added.
  • bindings/js/kjs_domnode.h:
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::put): (KJS::JSHTMLElement::htmlSetter):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • html/HTMLButtonElement.idl: Added.
  • html/HTMLInputElement.idl: Added.
  • html/HTMLOptGroupElement.idl: Added.
  • html/HTMLOptionElement.idl: Added.
  • html/HTMLTextAreaElement.idl: Added.
5:44 PM Changeset in webkit [14453] by eseidel
  • 10 edits
    9 adds in trunk

2006-05-17 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate button, optgroup, option, input and textarea js bindings
http://bugzilla.opendarwin.org/show_bug.cgi?id=8953

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createButtonWrapper): (WebCore::createInputWrapper): (WebCore::createOptGroupWrapper): (WebCore::createOptionWrapper): (WebCore::createTextAreaWrapper): (WebCore::createJSWrapper):
  • bindings/js/JSHTMLInputElementBase.cpp: Added. (WebCore::JSHTMLInputElementBaseProtoFunc::callAsFunction): (WebCore::): (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: Added. (WebCore::JSHTMLInputElementBase::classInfo): (WebCore::JSHTMLInputElementBase::): (WebCore::JSHTMLInputElementBase::impl):
  • bindings/js/JSHTMLOptionElementConstructor.cpp: Added. (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): (WebCore::JSHTMLOptionElementConstructor::implementsConstruct): (WebCore::JSHTMLOptionElementConstructor::construct):
  • bindings/js/JSHTMLOptionElementConstructor.h: Added.
  • bindings/js/kjs_domnode.h:
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors): (KJS::JSHTMLElement::getOwnPropertySlot): (KJS::HTMLElementFunction::callAsFunction): (KJS::JSHTMLElement::put): (KJS::JSHTMLElement::htmlSetter):
  • bindings/js/kjs_html.h: (KJS::JSHTMLElement::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getValueProperty):
  • bindings/scripts/CodeGeneratorJS.pm:
  • html/HTMLButtonElement.idl: Added.
  • html/HTMLInputElement.idl: Added.
  • html/HTMLOptGroupElement.idl: Added.
  • html/HTMLOptionElement.idl: Added.
  • html/HTMLTextAreaElement.idl: Added.
4:45 PM Changeset in webkit [14452] by beidson
  • 4 edits
    2 deletes in trunk/WebKit

2006-05-17 bradeeoh <beidson@apple.com>

Reviewed by Tim Hatcher

Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became
obsolete. This improves readability and sets the stage for a further in-depth rewrite of the
WebIcon* code.

  • Misc/WebDatabase.h: Removed.
  • Misc/WebDatabase.m: Removed.
  • Misc/WebFileDatabase.h:
  • Misc/WebFileDatabase.m: (-[WebFileDatabaseOp dealloc]): (-[WebFileDatabase dealloc]): (-[WebFileDatabase path]): (-[WebFileDatabase isOpen]): (-[WebFileDatabase sizeLimit]):
  • WebKit.xcodeproj/project.pbxproj:
4:32 PM Changeset in webkit [14451] by adele
  • 30 edits in trunk

LayoutTests:

Reviewed by Hyatt.

Updated test results for changes to prepare for
http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

  • fast/block/float/032-expected.txt:

WebCore:

Reviewed by Hyatt.

First step for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

New textareas can be turned on by setting -webkit-appearance:textarea.

Tests:

  • LayoutTests/fast/block/float/032.html - Updated results.
  • bridge/mac/FrameMac.h: Added textDidChangeinTextArea to send notification over the bridge to form delegate.
  • bridge/mac/FrameMac.mm: (WebCore::FrameMac::textDidChangeInTextArea): ditto.
  • page/Frame.cpp: (WebCore::Frame::textDidChangeInTextArea): ditto.
  • page/Frame.h: ditto.
  • css/CSSValueKeywords.in: Added textarea.
  • css/cssparser.cpp: (WebCore::CSSParser::parseValue): Updates to check for textarea.
  • css/html4.css: Added style for textarea. Leaved background-color and appearance values commented out.
  • rendering/render_style.h: (WebCore::): Added TextAreaAppearance.
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): Updated for textarea. (WebCore::RenderTheme::paint): ditto. (WebCore::RenderTheme::paintBorderOnly): ditto. (WebCore::RenderTheme::isControlStyled): ditto. (WebCore::RenderTheme::supportsFocusRing): ditto. (WebCore::RenderTheme::adjustTextFieldStyle): ditto. (WebCore::RenderTheme::adjustTextAreaStyle): ditto.
  • rendering/RenderTheme.h: (WebCore::RenderTheme::paintTextArea): Added.
  • rendering/RenderThemeMac.h: Added adjustTextAreaStyle. Note- I didn't add a paintTextArea function for RenderThemeMac, since we can just paint the border specified in html4.css to match the NSTextView border. Added a paintTextArea function to the Windows theme can override that border.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): Updated for textarea. (WebCore::RenderThemeMac::adjustTextAreaStyle): ditto.
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::HTMLGenericFormElement): Moved m_valueMatchesRenderer and its setters and getters into this class so HTMLInputElement and HTMLTextArea can share.
  • html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::valueMatchesRenderer): Added. (WebCore::HTMLGenericFormElement::setValueMatchesRenderer): Added.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Remove m_valueMatchesRenderer intialization. (WebCore::HTMLInputElement::isKeyboardFocusable): Updated spelling. (WebCore::HTMLInputElement::createRenderer): Pass multiLine bool to RenderTextField constructor. (WebCore::HTMLInputElement::parseMappedAttribute): Use setValueMatchesRenderer instead of m_valueMatchesRenderer. (WebCore::HTMLInputElement::detach): ditto. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
  • html/HTMLInputElement.h: Remove setValueMatchesRenderer and valueMatchesRenderer and m_valueMatchesRenderer.
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Calls setValueMatchesRenderer to intialize m_valueMatchesRenderer. (WebCore::HTMLTextAreaElement::selectionStart): Uses appearance to determine which renderer to use. (WebCore::HTMLTextAreaElement::selectionEnd): ditto. (WebCore::HTMLTextAreaElement::setSelectionStart): ditto. (WebCore::HTMLTextAreaElement::setSelectionEnd): ditto. (WebCore::HTMLTextAreaElement::select): ditto. (WebCore::HTMLTextAreaElement::setSelectionRange): ditto. (WebCore::HTMLTextAreaElement::createRenderer): ditto. (WebCore::HTMLTextAreaElement::appendFormData): ditto. (WebCore::HTMLTextAreaElement::updateValue): ditto. (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Added. (WebCore::HTMLTextAreaElement::isMouseFocusable): Added. (WebCore::HTMLTextAreaElement::focus): Added. (WebCore::HTMLTextAreaElement::defaultEventHandler): Added to forward events to the inner div. (WebCore::HTMLTextAreaElement::setValue): Calls setValueMatchesRenderer.
  • html/HTMLTextAreaElement.h: Added defaultEventHandler, isMouseFocusable, isKeyboardFocusable, and focus methods. Removed invalidateValue and m_valueMatchesRenderer since those are now handled in the base class.
  • html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Updated to handle textareas.
  • rendering/RenderTextArea.cpp: (WebCore::RenderTextArea::valueChanged): Calls setValueMatchesRenderer(false) instead of invalidateValue.
  • rendering/RenderTextField.h: Changed to be a RenderFlexibleBox instead of a RenderBlock. This was necessary to get the inner div's height to grow and shrink with the size of the textarea. Added m_multiLine bool, and calcHeight, canHaveChildren, baselinePosition, isTextArea, textWithHardLineBreaks, selectionChanged. (WebCore::RenderTextField::canHaveChildren): Returns false now so that no renderer gets created for the textarea's child text node for its initial contents. (WebCore::RenderTextField::isTextField): Returns true if m_multiLine is false. (WebCore::RenderTextField::isTextArea): Returns true if m_multiLine is true.
  • rendering/RenderTextField.cpp: (WebCore::RenderTextField::RenderTextField): Initializes m_multiLine. (WebCore::RenderTextField::~RenderTextField): Notifies HTMLTextAreaElement that the renderer is being destroyed so the value gets updated. (WebCore::RenderTextField::setStyle): Makes sure there's no overflow clip on the RenderTextField, since we're handling overflow on the inner div. (WebCore::RenderTextField::createDivStyle): Sets white-space, box-flex, overflow, word-wrap styles needed for text area. (WebCore::RenderTextField::updateFromElement): Updated for textarea elements. (WebCore::RenderTextField::setSelectionRange): Optimized caret case by checking to see if start is equal to end before calculating the same VisiblePosition twice. (WebCore::RenderTextField::subtreeHasChanged): Updated for textarea elements. (WebCore::RenderTextField::text): Use innerText so newlines are considered. (WebCore::RenderTextField::textWithHardLineBreaks): Added. Not implemented yet. Just calls text method. (WebCore::RenderTextField::calcHeight): Added. Sets initial height based on specified number of rows, and then calls the base class. (WebCore::RenderTextField::baselinePosition): Added. Unlike text fields, textareas align to the bottom. (WebCore::RenderTextField::calcMinMaxWidth): Updated for textareas. (WebCore::RenderTextField::selectionChanged): Added. Not implemented yet.

WebKit:

Reviewed by Hyatt.

WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
Switch to use new text field implementation for <textarea>

  • WebView/WebHTMLView.m: (-[NSArray insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator. (-[NSArray insertParagraphSeparator:]): ditto.
  • WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]): Checks for textareas as well as textfields before allowing the delegate to control the context menu. This won't affect the old textareas because AppKit handles those context menus.

WebKitTools:

Reviewed by Hyatt.

  • Scripts/do-webcore-rename: Added RenderTextField => RenderTextControl and HTMLTextFieldInnerElement => HTMLTextControlInnerElement to list for future renames.
2:29 PM Changeset in webkit [14450] by hyatt
  • 6 edits
    3 adds in trunk/WebCore

Fix for 8954, separate the glyph map out into its own files and make it
cross-platform.

Reviewed by darin

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Font.cpp: (WebCore::WidthIterator::advance):
  • platform/FontData.h: (WebCore::FontData::glyphDataForCharacter): (WebCore::FontData::setGlyphDataForCharacter):
  • platform/GlyphMap.cpp: Added. (WebCore::GlyphMap::glyphDataForCharacter): (WebCore::GlyphMap::setGlyphDataForCharacter): (WebCore::GlyphMap::locatePage):
  • platform/GlyphMap.h: Added. (WebCore::GlyphMap::GlyphMap): (WebCore::GlyphMap::~GlyphMap): (WebCore::GlyphMap::GlyphPage::glyphDataForCharacter): (WebCore::GlyphMap::GlyphPage::setGlyphDataForCharacter): (WebCore::GlyphMap::GlyphPage::setGlyphDataForIndex):
  • platform/mac/FontData.mm: (-[NSFont WebCore]): (WidthMap::m_ATSUMirrors): (WidthMap::FontData::~FontData): (WidthMap::FontData::xHeight): (WidthMap::FontData::platformInit): (WidthMap::extendWidthMap):
  • platform/mac/GlyphMapMac.cpp: Added. (WebCore::GlyphMap::fillPage):
  • platform/mac/WebCoreSystemInterface.h:
2:10 PM Changeset in webkit [14449] by andersca
  • 5 edits
    1 add
    2 deletes in trunk/WebCore

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

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8958
Should be able to have custom implementations for JS methods


  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCanvasRenderingContext2DBase.cpp: Removed.
  • bindings/js/JSCanvasRenderingContext2DBase.h: Removed.
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: Added. Remove JSCanvasRenderingContext2DBase and add JSCanvasRenderingContext2DCustom with custom implementations.


(WebCore::toJS):
(WebCore::toHTMLCanvasStyle):
(WebCore::JSCanvasRenderingContext2D::strokeStyle):
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
(WebCore::JSCanvasRenderingContext2D::fillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillStyle):
(WebCore::JSCanvasRenderingContext2D::setFillColor):
(WebCore::JSCanvasRenderingContext2D::setStrokeColor):
(WebCore::JSCanvasRenderingContext2D::strokeRect):
(WebCore::JSCanvasRenderingContext2D::drawImage):
(WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
(WebCore::JSCanvasRenderingContext2D::setShadow):
(WebCore::JSCanvasRenderingContext2D::createPattern):
Move implementations from JSCanvasRenderingContext2DBase.


  • bindings/scripts/CodeGeneratorJS.pm: Add new "Custom" extended attribute for functions and attributes. When a function or attribute has this attribute, a custom implementation is called instead of calling down to the DOM object.


  • html/CanvasRenderingContext2D.idl: Add bunch of custom attributes and functions.
2:05 PM Changeset in webkit [14448] by sullivan
  • 3 edits in trunk/WebKit

Reviewed by Maciej.

First step towards making text-matching mechanism more flexible; updated for changes
to WebCoreFrameBridge calls.

  • WebView/WebHTMLView.m: (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]): updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted: (-[WebHTMLView clearHighlightedMatches]): updated for name change in WebCoreFrameBridge
2:04 PM Changeset in webkit [14447] by sullivan
  • 8 edits in trunk/WebCore

Reviewed by Maciej.


First step towards making text-matching mechanism more flexible; now caller can
control whether or not the matches are highlighted.

  • bridge/mac/WebCoreFrameBridge.h:
  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:]): renamed from highlightAllMatchesForString: (-[WebCoreFrameBridge markedTextMatchesAreHighlighted]): new getter method (-[WebCoreFrameBridge setMarkedTextMatchesAreHighlighted:]): new setter method (-[WebCoreFrameBridge unmarkAllTextMatches]): renamed from clearHighlightedMatches


  • page/Frame.h:
  • page/Frame.cpp: (WebCore::Frame::markAllMatchesForText): renamed from highlightAllMatchesForString (WebCore::Frame::markedTextMatchesAreHighlighted): new getter method, uses boolean ivar in FramePrivate (WebCore::Frame::setMarkedTextMatchesAreHighlighted): new setter method, uses boolean ivar in FramePrivate


  • page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): added boolean ivar m_highlightTextMatches, initialized to 0


  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): respect markedTextMatchesAreHighlighted
  • WebCore.xcodeproj/project.pbxproj: newer Xcode removed some obsolete settings
2:01 PM Changeset in webkit [14446] by thatcher
  • 1 copy in tags/WebCore-418.7/WebCore

Tag for WebCore 418.7 (part 2 of 2.)

2:01 PM Changeset in webkit [14445] by thatcher
  • 1 add in tags/WebCore-418.7

Tag for WebCore 418.7 (part 1 of 2.)

2:01 PM Changeset in webkit [14444] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning

2:00 PM Changeset in webkit [14443] by thatcher
  • 3 edits in branches/Safari-2-0-branch/WebCore

Reviewed by Justin.


<rdar://problem/4542925> 10.4.7 regression: Mail: Using the delete key may cause application crash in DOM::NodeImpl::isBlockFlow() const from khtml::DeleteSelectionCommand::mergeParagraphs()


  • khtml/editing/htmlediting.cpp: (positionBeforeContainingSpecialElement): (positionAfterContainingSpecialElement): (positionOutsideContainingSpecialElement): (positionBeforePossibleContainingSpecialElement): (positionAfterPossibleContainingSpecialElement): (DeleteSelectionCommand::initializePositionData): Fix special element handling to not create selection that does not completely surround the element.


(DeleteSelectionCommand::mergeParagraphs):
Incorporate the remainder of the improved merge code.


  • xml/dom_position.cpp: (inRenderedContent): Allow br 0 unconditionally.
1:47 PM Changeset in webkit [14442] by thatcher
  • 1 copy in tags/WebKit-418.5/WebKit

Tag for WebKit 418.5 (part 2 of 2.)

1:47 PM Changeset in webkit [14441] by thatcher
  • 1 add in tags/WebKit-418.5

Tag for WebKit 418.5 (part 1 of 2.)

1:47 PM Changeset in webkit [14440] by thatcher
  • 1 copy in tags/WebCore-418.6/WebCore

Tag for WebCore 418.6 (part 2 of 2.)

1:47 PM Changeset in webkit [14439] by thatcher
  • 1 add in tags/WebCore-418.6

Tag for WebCore 418.6 (part 1 of 2.)

1:44 PM Changeset in webkit [14438] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Versioning

1:43 PM Changeset in webkit [14437] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Versioning

11:19 AM Changeset in webkit [14436] by adele
  • 2 edits in trunk/WebCore

Reviewed by Beth.

  • editing/htmlediting.cpp: (WebCore::editingIgnoresContent): Reverting change that Darin made a few weeks ago. He was trying to make editingIgnoresContent return true for the new text fields, but the code actually didn't change that result. When the new text fields actually do return true for editingIgnoresContent, other editing problems are exposed. For example, moving the cursor around an editable area that contains a text field will cross the text field boundary and descend into the shadow tree. So for now, we'll revert this change.
10:19 AM Changeset in webkit [14435] by ap
  • 3 edits
    3 adds in trunk

Reviewed by Darin.

Test: fast/js/regexp-stack-overflow.html

  • pcre/pcre-config.h: Define NO_RECURSE.

May 16, 2006:

11:51 PM Changeset in webkit [14434] by darin
  • 4 edits
    2 adds in trunk

LayoutTests:

Reviewed by Maciej.

  • fast/encoding/high-bit-latin1-expected.txt: Added.
  • fast/encoding/high-bit-latin1.html: Added.

WebCore:

Reviewed by Maciej, tweaked by Darin.

Test: fast/encoding/high-bit-latin1.html

  • platform/AtomicString.cpp: (WebCore::CStringTranslator::equal): Use an unsigned char local.
  • platform/StringImpl.cpp: (WebCore::StringImpl::init): Ditto.
11:46 PM Changeset in webkit [14433] by darin
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by Maciej.

Test for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
CSS attribute selectors fail when the setAttribute() method is used
to create an attribute and the attribute name is not Class or ID.

  • fast/css/selector-set-attribute.html: Added.
  • fast/css/selector-set-attribute-expected.txt: Added.
  • fast/css/selector-set-attribute-expected.checksum: Added.
  • fast/css/selector-set-attribute-expected.png: Added.

WebCore:

Reviewed by Maciej.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7492
CSS attribute selectors fail when the setAttribute() method is used
to create an attribute and the attribute name is not Class or ID.

Keep track of attributes used in attribute selectors to
check after setAttribute whether a style recalc is needed.

Test: fast/css/selector-set-attribute.html

  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): (WebCore::CSSStyleSelector::hasSelectorForAttribute):
  • css/cssstyleselector.h:
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
11:36 PM Changeset in webkit [14432] by darin
  • 6 edits in trunk/WebKit

Reviewed by Geoff.


Ensured all the public headers have a newline at their end.

Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
such warnings against any WebKit includes.

  • Misc/WebDownload.h:
  • Plugins/npfunctions.h:
  • WebView/WebResourceLoadDelegate.h:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.h:
11:34 PM Changeset in webkit [14431] by darin
  • 2 edits in trunk

Correct bug number.

11:33 PM Changeset in webkit [14430] by darin
  • 8 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5624
document.createElementNS() should not allow to insert a second <html> element

  • dom/xhtml/level3/core/documentnormalizedocument10-expected.txt: Updated to show a different failure.
  • dom/xhtml/level3/core/nodeappendchild02-expected.txt:
  • dom/xhtml/level3/core/nodeinsertbefore06-expected.txt:
  • dom/xhtml/level3/core/nodereplacechild39-expected.txt: Updated to reflect success.
  • fast/dom/createDocumentType2.html: Added.
  • fast/dom/createDocumentType2-expected.txt: Added.
  • fast/dom/createElementNS.html: Added.
  • fast/dom/createElementNS-expected.txt: Added.

WebCore:

Reviewed by Darin.

Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5624
document.createElementNS() should not allow to insert a second <html> element

Do extra checks for document nodes to detect multiple document elements
and document types.

  • dom/Document.cpp: (WebCore::Document::childTypeAllowed):
  • dom/Document.h:
10:29 PM Changeset in webkit [14429] by staikos
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

Fix some warnings and strict compilation errors.

7:11 PM Changeset in webkit [14428] by aliceli1
  • 1 edit in trunk/WebKitSite/projects/compat/hitlist.html

added yahoo.com preview to the hit list, moved capitalone to alumni list

5:58 PM Changeset in webkit [14427] by tomernic
  • 2 edits in trunk/WebKit

Reviewed by Tim Hatcher.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
the thumb)

Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
of the last display time). While that was technically a better approach, we discovered a problem
with how it interacts with NSView scroll tracking. Rather than further complicate this already
crazy hack, I'm reverting back to the simple version. This should yield similar numbers on iBench,
but not exhibit the nasty scrolling problem.


  • Misc/WebNSWindowExtras.m: (+[NSWindow _webkit_enableWindowDisplayThrottle]): (+[NSWindow _webkit_disableWindowDisplayThrottle]): (getWindowDisplayInfo): (requestWindowDisplay):
5:07 PM Changeset in webkit [14426] by justing
  • 5 edits in branches/Safari-2-0-branch/WebCore

Reviewed by levi


<rdar://problem/4547278> 10.4.7 regression: Mail: Triple click, then drag, fails to select an empty line following a non-empty line


Merged in the fix for:
<rdar://problem/4364427> triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
  • khtml/editing/selection.cpp: (khtml::Selection::validate):
  • khtml/editing/visible_units.cpp: (khtml::endOfLine): (khtml::isEndOfLine): (khtml::endOfParagraph): (khtml::isEndOfParagraph): (khtml::endOfBlock): (khtml::isEndOfBlock):
  • khtml/editing/visible_units.h: (khtml::):
5:01 PM Changeset in webkit [14425] by thatcher
  • 1 edit in trunk/WebCore/platform/FontPlatformData.h

64-bit build fix, use uintptr_t to cast from a pointer.

4:29 PM Changeset in webkit [14424] by andersca
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog

4:27 PM Changeset in webkit [14423] by andersca
  • 16 edits in trunk/WebCore

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

Reviewed by Darin.

  • DerivedSources.make: Conditionally generate the SVG and XPath related files based on the value of FEATURE_DEFINES. Also, pass FEATURE_DEFINES TO THE BINDINGS GENERATOR.


  • WebCore.xcodeproj/project.pbxproj: Add FEATURE_DEFINES as a toplevel build setting and set it to "SVG_SUPPORT XPATH_SUPPORT" to keep SVG and XPath support turned on. Add FEATURE_DEFINES to the CPP defines.


  • bindings/js/kjs_binding.cpp: (KJS::setDOMException): Add #ifdefs around the XPath code.


  • bindings/scripts/CodeGeneratorJS.pm: Add "Conditional" extended attribute for interfaces. If this is set, the generated code will be surrounded by an #if.


  • bindings/scripts/IDLParser.pm: Pass the define flags on to the preprocessor.


  • bindings/scripts/generate-bindings.pl: Add a --defines property and pass it on to the parser.


  • css/cssstyleselector.h: Add DeprecatedString.h include.


  • dom/Document.idl: Put back #if around the XPath functions


  • page/DOMWindow.idl: Put #if around the XPath constructors


  • xpath/XPathEvaluator.idl:
  • xpath/XPathExpression.idl:
  • xpath/XPathNSResolver.cpp:
  • xpath/XPathNSResolver.idl:
  • xpath/XPathNamespace.cpp:
  • xpath/XPathResult.idl: Add "Conditional=XPATH" to all interfaces.
4:13 PM Changeset in webkit [14422] by beidson
  • 2 edits in trunk/WebKit

2006-05-16 bradeeoh <beidson@apple.com>

Reviewed by Maciej Stachowiak

  • Fixed an old deprecated method in Misc/WebFileDatabase.m
  • Misc/WebFileDatabase.m: (UniqueFilePathForKey): changed lossyCString to UTF8String
3:28 PM Changeset in webkit [14421] by darin
  • 9 edits in trunk/WebKit

Reviewed by Anders.

  • did the name change from "ImageElement" to "ImageForElement" that I said I would (oops!)
  • DefaultDelegates/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]):
  • Misc/WebNSPasteboardExtras.h:
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
  • Misc/WebNSViewExtras.h:
  • Misc/WebNSViewExtras.m: (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
  • WebView/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
  • WebView/WebView.m: (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]): (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
  • WebView/WebViewInternal.h:
3:25 PM Changeset in webkit [14420] by darin
  • 29 edits
    9 deletes in trunk

WebCore:

Reviewed by Anders.

  • WebCore.xcodeproj/project.pbxproj: Removed WebCoreImageRenderer.h.
  • platform/mac/WebCoreImageRenderer.h: Removed.
  • bridge/mac/WebCoreFrameBridge.h: Added supportedImageResourceMIMETypes. Like supportedImageMIMETypes, but includes PDF and PostScript.
  • bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedImageResourceMIMETypes]): Added. Has code that came from -[WebImageRendererFactory supportedMIMETypes]. (+[WebCoreFrameBridge supportedImageMIMETypes]):
  • platform/mac/ImageMac.mm: (WebCore::Image::supportsType): Instead of calling the old -[WebCoreImageRendererFactory supportedMIMETypes], call the new +[WebCoreFrameBridge supportedImageResourceMIMETypes]. (WebCore::Image::drawTiled): Use wkSetPatternPhaseInUserSpace instead of the WebCoreImageRendererFactory.
  • platform/mac/ClipboardMac.mm: Removed an unneeded include of WebCoreImageRenderer.h.
  • platform/mac/WebCoreImageRendererFactory.h: Removed everything except for the one remaining method, imageDataForName:, which gets resources from the WebKit localized resources. We should figure out how to remove that one too later.
  • platform/mac/WebCoreImageRendererFactory.m: Ditto.
  • platform/mac/WebCoreSystemInterface.h: Added some new calls.
  • platform/mac/WebCoreSystemInterface.mm: Ditto.
  • WebCore.exp: Ditto.
  • platform/cairo/ImageCairo.cpp: Moved a stub to the stubs file. If it's here it has to have a FIXME comment and also it contains a big commented-out pile of code. Better to have it in the stubs file with all the other stubs.
  • platform/win/TemporaryLinkStubs.cpp: (Image::drawTiled): Put stub here instead of having it in ImageCairo.cpp.

WebKit:

Reviewed by Anders.

  • English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
  • WebKit.xcodeproj/project.pbxproj: Removed files.
  • WebCoreSupport/WebImageData.h: Removed.
  • WebCoreSupport/WebImageData.m: Removed.
  • WebCoreSupport/WebImageDecodeItem.h: Removed.
  • WebCoreSupport/WebImageDecodeItem.m: Removed.
  • WebCoreSupport/WebImageDecoder.h: Removed.
  • WebCoreSupport/WebImageDecoder.m: Removed.
  • WebCoreSupport/WebImageRenderer.h: Removed.
  • WebCoreSupport/WebImageRenderer.m: Removed.
  • WebCoreSupport/WebImageRendererFactory.h:
  • WebCoreSupport/WebImageRendererFactory.m: Removed everything except for shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
  • Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes]. (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]): Removed WebImageRenderer parameter, and updated code since it was always nil.
  • Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from _web_dragImage and renamed _web_dragImageElement.
  • Misc/WebNSViewExtras.m: (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]): Removed WebImageRenderer parameter, and updated code since it was always nil.
  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new functions now used by WebCore.
  • WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]): Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes].
  • WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
  • WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]): Removed call to +[WebImageRendererFactory createSharedFactory].
  • WebView/WebHTMLView.m: (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of -[WebImageRendererFactory supportedMIMETypes]. (-[WebHTMLView _documentFragmentWithPaths:]): Ditto. (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to _web_dragImageElement. (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset. (-[WebHTMLView finalize]): Ditto. (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow boolean field.
  • WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
  • WebView/WebHTMLViewPrivate.h: Removed _reset method.
2:38 PM Changeset in webkit [14419] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebKit

Rolled out this earlier change. This change caused:
REGRESSION: Scrolling is very slow when dragging the thumb
http://bugzilla.opendarwin.org/show_bug.cgi?id=8945

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

Reviewed by John Sullivan.

<rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
<http://bugzilla.opendarwin.org/show_bug.cgi?id=8740>

Improvement to my NSWindow display throttle hack. Remember the last flush time instead of the last display time.
Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
a CG coalesced update. Using the last display time is close, but this is much more accurate. I have verified that
this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
as well as on our internal PLT scores by a smaller percentage.

  • Misc/WebNSWindowExtras.m: Renamed lastDisplayTime to lastFlushTime. (+[NSWindow _webkit_enableWindowDisplayThrottle]): Replace -[NSWindow flushWindow] with our own implementation. (+[NSWindow _webkit_disableWindowDisplayThrottle]): Restore -[NSWindow flushWindow]. (replacementFlushWindow): Use the last flush time instead of the last display time. (getWindowDisplayInfo): Renamed lastDisplayTime to lastFlushTime. (requestWindowDisplay): Moved some code to replacementFlushWindow().
1:26 PM Changeset in webkit [14418] by thatcher
  • 2 edits in branches/Safari-2-0-branch/WebCore

Reviewed by Hyatt.

REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)
http://bugzilla.opendarwin.org/show_bug.cgi?id=5855

This also fixes:
<rdar://problem/4543829> -[DOMComment nodeValue] and -[DOMComment data] returning too much

12:26 PM Changeset in webkit [14417] by andersca
  • 3 edits in trunk/WebCore

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

Reviewed by Dave Hyatt.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8941
document.cookie undefined for documents of type text/javascript


  • loader/TextDocument.cpp: (WebCore::TextDocument::TextDocument):
  • loader/TextDocument.h: Inherit from HTMLDocument.
8:13 AM Changeset in webkit [14416] by darin
  • 6 edits in trunk

WebCore:

Reviewed by Hyatt.

  • bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge domain]): Removed unneeded check of isHTMLDocument. (-[WebCoreFrameBridge getData:andResponse:forURL:]): Handle document() of 0. (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): Ditto.

WebKit:

Reviewed by Hyatt.

These fixes may become obsolete when Anders lands his standalone image viewer
patch, but in my tree they are needed to make Copy Image work after the fix
over on the WebCore side to avoid the crashes.

  • Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
  • Misc/WebNSPasteboardExtras.m: (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter to an NSImage instead of a WebImageRenderer. (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]): Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
  • WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
3:02 AM Changeset in webkit [14415] by eseidel
  • 6 edits
    5 adds in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate BASE, HEAD, LINK, STYLE and TITLE JS bindings.

Already covered by existing dom tests.

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createBaseWrapper): (WebCore::createHeadWrapper): (WebCore::createLinkWrapper): (WebCore::createStyleWrapper): (WebCore::createTitleWrapper): (WebCore::createJSWrapper):
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors):
  • bindings/js/kjs_html.h:
  • html/HTMLBaseElement.idl: Added.
  • html/HTMLHeadElement.idl: Added.
  • html/HTMLLinkElement.idl: Added.
  • html/HTMLStyleElement.idl: Added.
  • html/HTMLTitleElement.idl: Added.
2:30 AM Changeset in webkit [14414] by andersca
  • 31 edits
    2 adds
    4 deletes in trunk

WebCore:

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

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.

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


  • bridge/mac/WebCoreFrameBridge.h: Add mainResourceURLResponse and imageTitleForFilename.


  • bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedNonImageMIMETypes]): This used to be supportedMIMETypes but WebKit requires that we handle the image MIME types separately.


(+[WebCoreFrameBridge supportedImageMIMETypes]):
Add image types from WebCoreImageRendererFactory.


(-[WebCoreFrameBridge canProvideDocumentSource]):
Return no for image types.


  • dom/xml_tokenizer.h: (WebCore::Tokenizer::wantsRawData): (WebCore::Tokenizer::writeRawData): New virtual functions which tokenizers can override if they want to get raw data (which isn't fed through the decoder)


  • html/HTMLImageElement.h: (WebCore::HTMLImageElement::setLoadManually): New function which calls HTMLImageLoader::setLoadManually


  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::HTMLImageLoader): (WebCore::HTMLImageLoader::updateFromElement): Don't request the image from the loader if the load is set to be manual.


  • html/HTMLImageLoader.h: (WebCore::HTMLImageLoader::setLoadManually): New function which decides if the image data should be fed manually or loaded by the loader.


  • loader/DocLoader.h: Add HTMLImageLoader as a friend.


  • loader/ImageDocument.cpp: Added. (WebCore::ImageTokenizer::ImageTokenizer): (WebCore::ImageTokenizer::wantsRawData): (WebCore::ImageTokenizer::write): (WebCore::ImageTokenizer::writeRawData): (WebCore::ImageTokenizer::stopParsing): (WebCore::ImageTokenizer::finish): (WebCore::ImageTokenizer::isWaitingForScripts): (WebCore::ImageDocument::ImageDocument): (WebCore::ImageDocument::createTokenizer):
  • loader/ImageDocument.h: Added. Add new ImageDocument class which will feed its data to a created image element.
  • loader/TextDocument.h: Inherit from HTMLDocument here too, in case any broken web pages want to manipulate the DOM of any plain text documents.


  • page/Frame.cpp: (WebCore::Frame::begin): (WebCore::Frame::write): Don't create or use the decoder if the tokenizer is in "raw mode".


WebKit:

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

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images


  • WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge determineObjectFromMIMEType:URL:]): Remove WebImageView handling.


(-[WebFrameBridge mainResourceURLResponse]):
New function which returns the URL response for the main resource. This is used by the
manual loading of images.


(-[WebFrameBridge imageTitleForFilename:size:]):
New function which returns a correctly translated image title given a filename and a size.


  • WebCoreSupport/WebImageRenderer.m: (-[WebImageRenderer _startOrContinueAnimationIfNecessary]): Remove WebImageView handling.


  • WebKit.xcodeproj/project.pbxproj: Remove WebImageRepresentation and WebImageView.


  • WebView/WebArchiver.h:
  • WebView/WebArchiver.m: (+[WebArchiver archiveMainResourceForFrame:]): New functions which returns a WebArchive with just the main resource, ignoring any subresources.


  • WebView/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.


  • WebView/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.


(+[WebHTMLRepresentation supportedMIMETypes]):
Create an array of image and non-image MIME Types.


(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
New functions, separating the list of MIME types into image and non-image ones.


  • WebView/WebHTMLView.m: (+[WebHTMLView supportedImageMIMETypes]): (+[WebHTMLView supportedNonImageMIMETypes]): New functions which call down to WebHTMLRepresentation.


(-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
If the image element comes from an ImageDocument, just use an archive of the main resource
instead of the generated HTML document.


  • WebView/WebHTMLViewPrivate.h: Declare new functions.


  • WebView/WebImageRepresentation.h: Removed.
  • WebView/WebImageRepresentation.m: Removed.
  • WebView/WebImageView.h: Removed.
  • WebView/WebImageView.m: Removed.


LayoutTests:

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

Reviewed by Maciej.

http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
Use WebCore to render full-frame images.

  • css2.1/t0801-c412-hz-box-00-b-a-expected.txt:
  • dom/xhtml/level2/html/frame-expected.checksum:
  • dom/xhtml/level2/html/frame-expected.png:
  • dom/xhtml/level2/html/frame-expected.txt:
  • dom/xhtml/level2/html/iframe-expected.checksum:
  • dom/xhtml/level2/html/iframe-expected.png:
  • dom/xhtml/level2/html/iframe-expected.txt:
  • tables/mozilla/bugs/bug50695-2-expected.txt: Update tests.
2:26 AM Changeset in webkit [14413] by eseidel
  • 8 edits
    4 adds in trunk

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Autogenerate JSHTMLMetaElement.
http://bugzilla.opendarwin.org/show_bug.cgi?id=8938

Test: fast/dom/HTMLMetaElement/meta-attributes.html

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLElementWrapperFactory.cpp: (WebCore::createMetaWrapper): (WebCore::createJSWrapper):
  • bindings/js/kjs_html.cpp: (KJS::): (KJS::JSHTMLElement::classInfo): (KJS::JSHTMLElement::accessors):
  • bindings/js/kjs_html.h:
  • html/HTMLMetaElement.h:
2:06 AM Changeset in webkit [14412] by hyatt
  • 17 edits
    3 adds
    3 deletes in trunk/WebCore

Bug 8936, eliminate WebTextRendererFactory and convert it over to the
new FontCache.

Reviewed by andersca

  • WebCore.xcodeproj/project.pbxproj:
  • bridge/mac/WebCoreStringTruncator.mm:
  • kwq/KWQComboBox.mm:
  • kwq/KWQLineEdit.mm:
  • kwq/KWQListBox.mm:
  • platform/Font.h: (WebCore::Font::bold):
  • platform/FontCache.cpp: Added. (WebCore::FontPlatformDataCacheKey::m_italic): (WebCore::FontPlatformDataCacheKey::operator==): (WebCore::computeHash): (WebCore::FontPlatformDataCacheKeyHash::hash): (WebCore::FontPlatformDataCacheKeyHash::equal): (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): (WebCore::FontCache::getCachedFontPlatformData): (WebCore::FontDataCacheKeyHash::hash): (WebCore::FontDataCacheKeyHash::equal): (WebCore::FontDataCacheKeyTraits::deletedValue): (WebCore::FontCache::getCachedFontData): (WebCore::FontCache::getFontData): (WebCore::FontCache::clearCommonCaches):
  • platform/FontCache.h:
  • platform/FontData.h:
  • platform/FontFamily.cpp: (WebCore::FontFamily::FontFamily): (WebCore::FontFamily::operator=): (WebCore::FontFamily::setFamily):
  • platform/FontFamily.h: (WebCore::FontFamily::familyIsEmpty):
  • platform/FontPlatformData.h: (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==):
  • platform/mac/FontCacheMac.mm: (WebCore::getAppDefaultValue): (WebCore::getUserDefaultValue): (WebCore::getLCDScaleParameters): (WebCore::fontsChanged): (WebCore::FontCache::registerForFontChanges): (WebCore::FontCache::clearCaches): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData):
  • platform/mac/FontData.mm: (-[NSFont WebCore]): (WidthMap::FontData::xHeight): (WidthMap::FontData::smallCapsFontData): (WidthMap::computeWidthForSpace): (WidthMap::setUpFont): (WidthMap::fillStyleWithAttributes): (WidthMap::FontData::determinePitch):
  • platform/mac/FontFallbackListMac.mm: (WebCore::FontFallbackList::setPlatformFont):
  • platform/mac/FontFamilyMac.mm: Removed.
  • platform/mac/FontMac.mm:
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreFindFont):
  • platform/mac/WebFontCache.h: Added.
  • platform/mac/WebFontCache.mm: Added. (acceptableChoice): (betterChoice): (+[WebFontCache fontWithFamily:traits:size:]):
  • platform/mac/WebTextRendererFactory.h: Removed.
  • platform/mac/WebTextRendererFactory.mm: Removed.
1:31 AM Changeset in webkit [14411] by hyatt
  • 8 edits in trunk/LayoutTests/fast/text

Update fast/text results.

1:20 AM Changeset in webkit [14410] by eseidel
  • 2 edits
    1 add in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by andersca.

Add Rect.idl, even though it can't be used quite yet due to generator limitations.

  • WebCore.xcodeproj/project.pbxproj:
  • css/Rect.idl: Added.
12:54 AM Changeset in webkit [14409] by eseidel
  • 2 edits in trunk/WebCore

2006-05-16 Sam Weinig <sam.weinig@gmail.com>

Reviewed by darin. Landed by eseidel.

Patch for <http://bugzilla.opendarwin.org/show_bug.cgi?id=8924>
Bug 8924: re-apply the 'disabled type=file' change
from bug 5882 to RenderFileButton


  • rendering/RenderFileButton.cpp: (WebCore::RenderFileButton::updateFromElement):
12:52 AM Changeset in webkit [14408] by eseidel
  • 42 edits
    5 copies
    2 moves in trunk/WebCore

2006-05-16 Eric Seidel <eseidel@apple.com>

Reviewed by hyatt.

Split css_base.* into separate files (one per class).
http://bugzilla.opendarwin.org/show_bug.cgi?id=8935

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/kjs_css.cpp:
  • css/CSSBorderImageValue.cpp:
  • css/CSSBorderImageValue.h:
  • css/CSSCharsetRule.h:
  • css/CSSFontFaceRule.h:
  • css/CSSGrammar.y:
  • css/CSSImportRule.h:
  • css/CSSInheritedValue.cpp:
  • css/CSSInitialValue.cpp:
  • css/CSSMediaRule.h:
  • css/CSSMutableStyleDeclaration.h:
  • css/CSSNamespace.h: Added. (WebCore::CSSNamespace::CSSNamespace): (WebCore::CSSNamespace::namespaceForPrefix):
  • css/CSSPageRule.h:
  • css/CSSPrimitiveValue.h:
  • css/CSSProperty.cpp:
  • css/CSSProperty.h:
  • css/CSSRule.h:
  • css/CSSRuleList.cpp:
  • css/CSSSelector.cpp: Added.
  • css/CSSSelector.h: Added. (WebCore::CSSSelector::CSSSelector):
  • css/CSSStyleDeclaration.h:
  • css/CSSStyleRule.cpp:
  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::~CSSStyleSheet):
  • css/CSSStyleSheet.h:
  • css/CSSValue.h:
  • css/CSSValueList.cpp:
  • css/CSSValueList.h:
  • css/FontFamilyValue.cpp:
  • css/FontValue.cpp:
  • css/FontValue.h:
  • css/MediaList.h:
  • css/ShadowValue.cpp:
  • css/ShadowValue.h:
  • css/StyleBase.cpp: Added. (WebCore::StyleBase::stylesheet):
  • css/StyleBase.h: Added. (WebCore::StyleBase::StyleBase):
  • css/StyleList.cpp: Added.
  • css/StyleList.h: Added.
  • css/StyleSheet.h:
  • css/css_base.cpp: Removed.
  • css/css_base.h: Removed.
  • css/cssparser.cpp:
  • css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::matchRulesForList):
  • css/cssstyleselector.h:
  • dom/CSSMappedAttributeDeclaration.h:
  • ksvg2/svg/SVGColor.cpp: (WebCore::SVGColor::SVGColor): (WebCore::SVGColor::setRGBColor): (WebCore::SVGColor::setRGBColorICCColor): (WebCore::SVGColor::setColor): (WebCore::SVGColor::cssText): (WebCore::SVGColor::color):
  • ksvg2/svg/SVGColor.h:
  • ksvg2/svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::SVGStyledElement): (WebCore::SVGStyledElement::className): (WebCore::SVGStyledElement::createRenderer): (WebCore::SVGStyledElement::parseMappedAttribute): (WebCore::SVGStyledElement::notifyAttributeChange): (WebCore::SVGStyledElement::attributeChanged): (WebCore::SVGStyledElement::canvas): (WebCore::SVGStyledElement::updateCanvasItem): (WebCore::SVGStyledElement::pushAttributeContext):
Note: See TracTimeline for information about the timeline view.