Timeline



Feb 11, 2008:

10:02 PM Changeset in webkit [30162] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/css/last-child-style-sharing.html

  • css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all CSS3 selectors that require it.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/css/last-child-style-sharing.html: Added.
  • platform/mac/fast/css/last-child-style-sharing-expected.checksum: Added.
  • platform/mac/fast/css/last-child-style-sharing-expected.png: Added.
  • platform/mac/fast/css/last-child-style-sharing-expected.txt: Added.
7:02 PM Changeset in webkit [30161] by timothy@apple.com
  • 2 edits
    7 deletes in tags/Safari-5525.8/LayoutTests

Merge the LayoutTests part of r30052.

7:01 PM Changeset in webkit [30160] by timothy@apple.com
  • 3 edits in tags/Safari-5525.8/WebCore

Merge the WebCore part of r30052.

5:31 PM Changeset in webkit [30159] by timothy@apple.com
  • 1 copy in tags/Safari-5525.8

New tag.

5:24 PM Changeset in webkit [30158] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

Reviewed by Anders Carlsson.

Fixes for:
<rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
<rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it

  • Expose the native Object.prototype.toString implementation so that it can be used for cross-domain toString calling.
4:26 PM Changeset in webkit [30157] by weinig@apple.com
  • 21 edits
    1 move
    16 adds
    1 delete in trunk

WebCore:

Reviewed by Darin Adler.

Make the cross-domain security model more closely match Firefox by always returning the
native built-in functions when accessing functions cross-domain.

Fixes for:
<rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
<rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it

Tests: fast/dom/Window/window-custom-prototype-crash.html

fast/dom/Window/window-function-frame-getter-precedence.html
http/tests/security/cross-frame-access-get-override.html
http/tests/security/cross-frame-access-location-get-override.html
http/tests/security/cross-frame-access-location-get.html
http/tests/security/cross-frame-access-location-put.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or not it has been overridden, instead of undefined.
  • When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable) instead of calling the virtual classInfo() method to avoid the unnecessary overhead.
  • Allow access to the native toString function cross-domain. It always returns "[object Window]".
  • Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that the function an overridden function is not inadvertantly returned from the PropertyMap.\
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customGetOwnPropertySlot):
  • Implement the same model as described above for the History object, always returning the native built-in function cross-domain.
  • Allow access to the native toString function cross-domain.
  • Clean up the code to make it clear that the custom functionality is only there for cross-domain access.
  • bindings/js/JSLocation.cpp: (WebCore::JSLocation::getOwnPropertySlot):
  • Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot function. This will help moving to a generated class in the future. (WebCore::JSLocation::customGetOwnPropertySlot):
  • Implement the same model as described above for the Location object, always returning the native built-in function cross-domain.
  • Clean up the code to make it clear that the custom functionality is only there for cross-domain access. (WebCore::JSLocation::put): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::getPropertyNames):
  • bindings/js/JSLocation.h:
  • Clean up to match the rest of the file a little better.
  • bindings/js/kjs_binding.cpp: (WebCore::allowsAccessFromFrame): (WebCore::printErrorMessageForFrame): (WebCore::nonCachingStaticFunctionGetter): (WebCore::objectToStringFunctionGetter):
  • bindings/js/kjs_binding.h:
  • Put common functionality related to cross-domain access here to serve as a central shared point. This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp and JSLocation.cpp.
  • bindings/js/kjs_dom.cpp: (WebCore::checkNodeSecurity):
  • Use the new allowsAccessFromFrame method.
  • bindings/js/kjs_window.cpp: (KJS::Window::childFrameGetter): Cleanup. (KJS::Window::namedItemGetter): Cleanup. (KJS::Window::getOwnPropertySlot):
  • Do the prototype lookup early to match Firefox in having function lookup have a higher precedence than the index or shortcut name getters.
  • Cleanup function to make it more understandable and slightly more efficient. (KJS::Window::allowsAccessFrom):
  • Add a new variant of this method that takes a reference to a String, which, on failure, will contain the error message to print out. The caller can then pass this to printErrorMessage. This allows for code to check allowsAccessFrom and act on the result without printing out the error message. For convenience, a version with out the String parameter has been left which prints out the message automatically. (KJS::Window::printErrorMessage):
  • bindings/js/kjs_window.h:

LayoutTests:

Reviewed by Darin Adler.

Tests for:
<rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden
<rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it

  • fast/dom/Window/resources/WindowProperties.js: Added.
  • fast/dom/Window/window-custom-prototype-crash-expected.txt: Added.
  • fast/dom/Window/window-custom-prototype-crash.html: Added.
  • fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Added.
  • fast/dom/Window/window-function-frame-getter-precedence.html: Added.
  • fast/dom/Window/window-function-name-getter-precedence-expected.txt:
  • fast/dom/Window/window-function-name-getter-precedence.html:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-custom.html:
  • http/tests/security/cross-frame-access-get-override-expected.txt: Added.
  • http/tests/security/cross-frame-access-get-override.html: Added.
  • http/tests/security/cross-frame-access-history-get-override-expected.txt:
  • http/tests/security/cross-frame-access-history-get-override.html:
  • http/tests/security/cross-frame-access-history-put-expected.txt:
  • http/tests/security/cross-frame-access-history-put.html:
  • http/tests/security/cross-frame-access-location-expected.txt: Removed.
  • http/tests/security/cross-frame-access-location-get-expected.txt: Added.
  • http/tests/security/cross-frame-access-location-get-override-expected.txt: Added.
  • http/tests/security/cross-frame-access-location-get-override.html: Added.
  • http/tests/security/cross-frame-access-location-get.html: Copied from http/tests/security/cross-frame-access-location.html.
  • http/tests/security/cross-frame-access-location-put-expected.txt: Added.
  • http/tests/security/cross-frame-access-location-put.html: Added.
  • http/tests/security/cross-frame-access-location.html: Removed.
  • http/tests/security/resources/cross-frame-iframe-for-get-override-test.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-get-test.html:
  • http/tests/security/resources/cross-frame-iframe-for-history-put-test.html:
  • http/tests/security/resources/cross-frame-iframe-for-location-get-override-test.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-location-get-test.html: Added.
  • http/tests/security/resources/cross-frame-iframe-for-location-put-test.html: Added.
4:16 PM Changeset in webkit [30156] by Darin Adler
  • 8 edits in trunk

WebCore:

Reviewed by Mitz.

  • fix <rdar://problem/5726016> REGRESSION: Xcode News window renders incorrectly due to visibility fix

Added an Xcode-specific quirk.

  • WebCore.base.exp: Added export for new Settings function.
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::setProperty): Here's the crazy quirk. If you try to change the visibilty on a node with the class name tab_content, instead it will use display:none.
  • page/Settings.cpp: (WebCore::Settings::Settings): Initialize m_needsXcodeVisibilityQuirk. Also initialize m_fontRenderingMode! This seems like it was a bug before, but we probably were getting lucky and always getting 0 on Windows, which is the only place the setting matters. (WebCore::Settings::setNeedsXcodeVisibilityQuirk): Added.
  • page/Settings.h: (WebCore::Settings::needsXcodeVisibilityQuirk): Added.

WebKit/mac:

Reviewed by Mitz.

  • fix <rdar://problem/5726016> REGRESSION: Xcode News window renders incorrectly due to visibility fix

Added an Xcode-specific quirk.

  • Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after" part of the check.
  • WebView/WebView.mm: (-[WebView _needsXcodeVisibilityQuirk]): Added. (-[WebView _preferencesChangedNotification:]): Added a call to setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
3:38 PM Changeset in webkit [30155] by alp@webkit.org
  • 2 edits in trunk/PlanetWebKit

2008-02-11 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

Reviewed by Alp Toker.

Add my blog's WebKit category, English only posts.

  • config.ini:
2:54 PM Changeset in webkit [30154] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Brady Eidson.

<rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard

  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap. (WebCore::DatabaseTracker::origins): Ditto. (WebCore::DatabaseTracker::setQuota): Ditto. (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the origins to call deleteOrigin(). (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap.
1:19 PM Changeset in webkit [30153] by hyatt@apple.com
  • 2 edits
    4 adds in trunk

Fix for bug 17286, crash accessing a null RenderStyle. Add a simple null check.

Reviewed by aroben

Added fast/css/empty-generated-content.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector):
1:04 PM Changeset in webkit [30152] by rwlbuis@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by David Kilzer.

http://bugs.webkit.org/show_bug.cgi?id=17201
Bug 17201: Use RefPtr in CSSParser::parseFont() to get rid of goto silliness

Gets rid of goto usage in parseFont.

12:26 PM Changeset in webkit [30151] by hyatt@apple.com
  • 1 edit in trunk/WebCore/html/HTMLMediaElement.cpp

Back out accidental checkin to HTMLMediaElement.cpp.

12:22 PM Changeset in webkit [30150] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/forms

Add layout test for bug 16798.

12:21 PM Changeset in webkit [30149] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/forms/button-submit.html

Add layout test for bug 16798.

12:18 PM Changeset in webkit [30148] by hyatt@apple.com
  • 2 adds in trunk/LayoutTests/http/tests/misc
12:17 PM Changeset in webkit [30147] by hyatt@apple.com
  • 15 edits in trunk/WebCore

Fix for bug 17298, Acid3 text should be black and not red. Make sure stylesheets with the wrong MIME type
are not accepted in strict mode.

Reviewed by darin

Added http/tests/misc/css-reject-in-strict-mode.html

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::setCSSStyleSheet):
  • css/CSSImportRule.h:
  • dom/Document.cpp: (WebCore::Document::setCSSStyleSheet):
  • dom/Document.h:
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::setCSSStyleSheet):
  • dom/ProcessingInstruction.h:
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet):
  • html/HTMLLinkElement.h:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::pickMedia):
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::ref): (WebCore::CachedCSSStyleSheet::checkNotify): (WebCore::CachedCSSStyleSheet::canUseSheet):
  • loader/CachedCSSStyleSheet.h: (WebCore::CachedCSSStyleSheet::sheetText):
  • loader/CachedResourceClient.h: (WebCore::CachedResourceClient::setCSSStyleSheet):
  • loader/mac/UserStyleSheetLoader.cpp: (UserStyleSheetLoader::setCSSStyleSheet):
  • loader/mac/UserStyleSheetLoader.h:
11:58 AM Changeset in webkit [30146] by Adam Roben
  • 3 edits in trunk/WebCore

Fix Bug 14316: Inspector's Console truncates long strings

<http://bugs.webkit.org/show_bug.cgi?id=14316>
<rdar://5357695>

We no longer call Object.describe to format all the output of commands
enetered into the Console. The ConsolePanel object now has a set of
formatting functions that append a formatted representation of the
passed-in object to the passed-in container node.

Reviewed by Sam.

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of _outputToNode to _format. (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use Object.type to get the type of the object, then call the appropriate formatting function. (WebInspector.ConsolePanel._formatvalue): Added. (WebInspector.ConsolePanel._formatstring): Added. This function contains the actual fix for the bug, since it doesn't truncate the string no matter how long it is. (WebInspector.ConsolePanel._formatregexp): Added. (WebInspector.ConsolePanel._formatarray): Added. This is a bit more functional than Object.describe for arrays, since it recursively formats each item in the array. One advantage of this is that Nodes in arrays will be linkified instead of just turning into "[Object HTMLBodyElement]" or similar. (WebInspector.ConsolePanel._formatnode): Added. (WebInspector.ConsolePanel._formatobject): Added. (WebInspector.ConsolePanel.
  • page/inspector/utilities.js: (Object.type): Added. Code was pulled out of Object.describe and reorganized slightly. (Object.describe): Call Object.type. There should be no change in behavior of this function.
10:09 AM Changeset in webkit [30145] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-11 Alp Toker <alp@atoker.com>

Wx build fix for breakage introduced in r30142. Spotted by Darin.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl):
9:44 AM Changeset in webkit [30144] by Adam Roben
  • 2 edits in trunk/PlanetWebKit

Add Brent Fulgham's blog

Rubberstamped by Alp.

  • config.ini:
9:38 AM Changeset in webkit [30143] by Darin Adler
  • 3 edits in trunk/WebCore

Reviewed and tweaked by Darin

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::createDecoder): Turn off XBMImageDecoder for PLATFORM(WIN) configuration.
  • rendering/RenderThemeWin.cpp: (WebCore::prepareForDrawing): Added IntRect parameter. (WebCore::doneDrawing): Ditto. (WebCore::RenderThemeWin::paintButton): Ditto. (WebCore::RenderThemeWin::paintTextField): Ditto. (WebCore::RenderThemeWin::paintMenuListButton): Ditto. (WebCore::RenderThemeWin::systemFont): Added.
8:56 AM Changeset in webkit [30142] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-11 Alp Toker <alp@atoker.com>

Reviewed by Alexey.

Acid3 data URL parsing fix for the GTK+ port.

Avoid WebCore's base64Decode() when possible since it's not a
general-purpose Base64 decoder and fails on newlines.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl):
7:33 AM Changeset in webkit [30141] by Darin Adler
  • 2 edits in trunk/WebCore
  • another Qt build fix
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::PopupMenu): Added explicit RefCounted constructor.
6:37 AM Nightly Builds edited by ryanfelder@yahoo.com
(diff)
5:21 AM QtWebKitTodo edited by zecke2@selfish.org
Printing was implemented by simon (diff)
5:20 AM QtWebKitTodo edited by zecke2@selfish.org
works here (tm), also popping the window properly up is working (diff)
5:19 AM QtWebKitTodo edited by zecke2@selfish.org
Ben fixed that a while ago (diff)
5:18 AM QtWebKitTodo edited by zecke2@selfish.org
We have something that can be used by Assistant, we want something … (diff)
5:17 AM QtWebKitTodo edited by zecke2@selfish.org
We have the first bits of support for InputMethods (diff)
5:16 AM QtWebKitTodo edited by zecke2@selfish.org
We have this paint signal now (diff)

Feb 10, 2008:

11:40 PM Changeset in webkit [30140] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Rubber stamped by Eric.

  • kjs/ExecState.h: (KJS::ExecState::takeException): Added.
11:38 PM Changeset in webkit [30139] by Darin Adler
  • 2 edits in trunk/WebCore
  • another Qt build fix (wish the Qt bot wouldn't stop on the first error)
  • platform/qt/FileChooserQt.cpp: (WebCore::FileChooser::FileChooser): Added explicit RefCounted constructor.
11:03 PM Changeset in webkit [30138] by Darin Adler
  • 2 edits in trunk/WebCore
  • another Qt fix
  • platform/graphics/qt/IconQt.cpp: (WebCore::Icon::Icon): Added explicit RefCounted constructor.
10:09 PM Changeset in webkit [30137] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-10 Alp Toker <alp@atoker.com>

Another Win build fix for r30133 breakage.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::PluginPackage):
9:50 PM Changeset in webkit [30136] by alp@webkit.org
  • 5 edits in trunk/WebCore

2008-02-10 Alp Toker <alp@atoker.com>

Build fix GTK+ and prospective build fix for Win breakage introduced
in r30133.

  • platform/Cursor.h: (WebCore::SharedCursor::SharedCursor):
  • platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::Icon):
  • platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::FileChooser):
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::PopupMenu):
8:17 PM Changeset in webkit [30135] by Darin Adler
  • 7 edits in trunk/WebCore
  • try to fix Win, Qt, GTK, and WX builds
  • platform/Cursor.h: (WebCore::SharedCursor::SharedCursor): Added explicit RefCounted constructor.
  • platform/graphics/win/IconWin.cpp: (WebCore::Icon::Icon): Ditto.
  • platform/win/FileChooserWin.cpp: (WebCore::FileChooser::FileChooser): Ditto.
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::PopupMenu): Ditto.
  • platform/wx/TemporaryLinkStubs.cpp: (FileChooser::FileChooser): Ditto. (PopupMenu::PopupMenu): Ditto. (Icon::Icon): Ditto.
  • plugins/PluginStream.cpp: (WebCore::PluginStream::PluginStream): Ditto.
7:41 PM Changeset in webkit [30134] by mitz@apple.com
  • 5 edits in trunk/LayoutTests

Reviewed by Sam Weinig and Anders Carlsson.

  • change a test to simply use 'font-family' instead of unnecessary @font-face hackery
  • fast/text/atsui-spacing-features.html:
  • platform/mac/fast/text/atsui-spacing-features-expected.checksum:
  • platform/mac/fast/text/atsui-spacing-features-expected.png:
  • platform/mac/fast/text/atsui-spacing-features-expected.txt:
6:03 PM Changeset in webkit [30133] by Darin Adler
  • 4 edits in trunk

JavaScriptCore:

Reviewed by Eric.

  • wtf/RefCounted.h: (WTF::RefCounted::RefCounted): Remove default of 0.

WebKit/wx:

Reviewed by Eric.

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::FrameLoaderClientWx): Set the count to 0 explicitly (one stray client I missed in my last pass).
4:45 PM BuildingCairoOnWindows edited by bfulgham@macports.org
(diff)
4:37 PM BuildingCairoOnWindows created by bfulgham@macports.org
3:17 PM Changeset in webkit [30132] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Oliver Hunt.

  • fix a memory leak
  • DumpRenderTree/cg/ImageDiffCG.cpp: (getDifferenceBitmap): Use a static CFMutableData instead of allocating and leaking the buffer each time.
3:08 PM Changeset in webkit [30131] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/webarchive/archive-empty-frame-dom-expected.txt

Update test results for iframe fix.

2:43 PM WikiStart edited by bfulgham@macports.org
(diff)
2:33 PM Changeset in webkit [30130] by hyatt@apple.com
  • 3 edits in trunk/WebCore

Fix for bug 17082, cssRules should be live.

Reviewed by olliej

Added fast/css/live-cssrules.html

  • css/CSSRuleList.cpp: (WebCore::CSSRuleList::CSSRuleList): (WebCore::CSSRuleList::length): (WebCore::CSSRuleList::item): (WebCore::CSSRuleList::deleteRule): (WebCore::CSSRuleList::insertRule):
  • css/CSSRuleList.h:
2:31 PM Changeset in webkit [30129] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/css

Add layout test for bug 17082.

2:31 PM Changeset in webkit [30128] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/css/live-cssrules.html

Add layout test for bug 17082.

2:30 PM Changeset in webkit [30127] by hyatt@apple.com
  • 4 edits in trunk/WebCore

Fix for bug 17253. <iframe> contents need to be reflected into the DOM as a single text node.

Reviewed by olliej

fast/frames/iframe-text-contents.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::getNode):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseSpecial): (WebCore::HTMLTokenizer::parseComment): (WebCore::HTMLTokenizer::parseTag):
  • html/HTMLTokenizer.h: (WebCore::HTMLTokenizer::State::inIFrame): (WebCore::HTMLTokenizer::State::setInIFrame): (WebCore::HTMLTokenizer::State::inAnySpecial): (WebCore::HTMLTokenizer::State::needsSpecialWriteHandling): (WebCore::HTMLTokenizer::State::):
2:29 PM Changeset in webkit [30126] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/frames

Add layout tests for 17253.

2:29 PM Changeset in webkit [30125] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/frames/iframe-text-contents.html

Add layout tests for 17253.

1:28 PM Changeset in webkit [30124] by Darin Adler
  • 4 edits
    1 copy in trunk/LayoutTests
  • fix a couple of directories that were using our JavaScript template/wrapper system incorrectly
  • fast/dom/SelectorAPI/resources/TEMPLATE.html: Fixed relative paths.
  • fast/events/event-instanceof.html: Regenerating this file revealed that the path to the stylesheet was wrong. Fixed by running the make-js-test-wrappers script. Didn't affect the text-only results, but the test looked wrong in the browser.
  • fast/events/resources/TEMPLATE.html: Copied from fast/js/resources/TEMPLATE.html.
  • traversal/resources/TEMPLATE.html: Fixed relative paths.
12:13 PM Changeset in webkit [30123] by Darin Adler
  • 6 edits in trunk

WebCore:

Reviewed and tweaked by Darin.


DOMRange.surroundContents throws wrong exception (Acid3 bug)
http://bugs.webkit.org/show_bug.cgi?id=16749


Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
has offsets in characters.

  • dom/Range.cpp: (WebCore::Range::surroundContents):

LayoutTests:

Reviewed and tweaked a bit by Darin.


DOMRange.surroundContents throws wrong exception (Acid3 bug)
http://bugs.webkit.org/show_bug.cgi?id=16749


Throw BAD_BOUNDARYPOINTS_ERR if attempting to split a non-text node that
has offsets in characters

  • fast/dom/Range/range-exceptions-expected.txt: Added.
  • fast/dom/Range/resources/range-exceptions.js: Added.
11:27 AM Changeset in webkit [30122] by Darin Adler
  • 102 edits in trunk

JavaScriptCore:

Reviewed by Eric.

  • API/JSClassRef.cpp: (OpaqueJSClass::OpaqueJSClass):
  • bindings/runtime_root.cpp: (KJS::Bindings::RootObject::RootObject):

WebCore:

Reviewed by Eric.

  • bindings/js/JSSVGPODTypeWrapper.h: (WebCore::JSSVGPODTypeWrapper::JSSVGPODTypeWrapper):
  • css/CSSFontFace.h: (WebCore::CSSFontFace::CSSFontFace):
  • css/CSSRuleList.cpp: (WebCore::CSSRuleList::CSSRuleList):
  • css/CSSSegmentedFontFace.cpp: (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace):
  • css/Counter.h: (WebCore::Counter::Counter):
  • css/Pair.h: (WebCore::Pair::Pair):
  • css/Rect.h: (WebCore::Rect::Rect):
  • css/StyleBase.h: (WebCore::StyleBase::StyleBase):
  • css/StyleSheetList.cpp: (WebCore::StyleSheetList::StyleSheetList):
  • dom/Attr.cpp: (WebCore::Attr::Attr):
  • dom/Attr.h:
  • dom/Attribute.h: (WebCore::Attribute::Attribute):
  • dom/Clipboard.cpp: (WebCore::Clipboard::Clipboard):
  • dom/DOMImplementation.h: (WebCore::DOMImplementation::DOMImplementation):
  • dom/Event.cpp: (WebCore::Event::Event):
  • dom/EventListener.h: (WebCore::EventListener::EventListener):
  • dom/ExceptionBase.cpp: (WebCore::ExceptionBase::ExceptionBase):
  • dom/NamedAttrMap.h: (WebCore::NamedAttrMap::insertAttribute):
  • dom/NamedNodeMap.h: (WebCore::NamedNodeMap::NamedNodeMap):
  • dom/NodeFilter.h: (WebCore::NodeFilter::NodeFilter):
  • dom/NodeFilterCondition.h: (WebCore::NodeFilterCondition::NodeFilterCondition):
  • dom/NodeList.h: (WebCore::NodeList::NodeList):
  • dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): (WebCore::QualifiedName::ref):
  • dom/Range.cpp: (WebCore::Range::Range):
  • dom/RegisteredEventListener.cpp: (WebCore::RegisteredEventListener::RegisteredEventListener):
  • dom/StyledElement.h:
  • dom/Traversal.cpp: (WebCore::Traversal::Traversal):
  • editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand):
  • history/BackForwardList.cpp: (WebCore::BackForwardList::BackForwardList):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
  • html/CanvasStyle.cpp: (WebCore::CanvasStyle::CanvasStyle):
  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::HTMLCollection):
  • html/MediaError.h: (WebCore::MediaError::MediaError):
  • html/TimeRanges.cpp: (TimeRanges::TimeRanges):
  • html/TimeRanges.h: (WebCore::TimeRanges::TimeRanges):
  • html/VoidCallback.h: (WebCore::VoidCallback::VoidCallback):
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader):
  • loader/FormState.cpp: (WebCore::FormState::FormState):
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader):
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::TextResourceDecoder):
  • loader/icon/IconRecord.cpp: (WebCore::IconRecord::IconRecord):
  • page/BarInfo.cpp: (WebCore::BarInfo::BarInfo):
  • page/Console.cpp: (WebCore::Console::Console):
  • page/DOMSelection.cpp: (WebCore::DOMSelection::DOMSelection):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::DOMWindow):
  • page/Frame.cpp: (WebCore::Frame::Frame):
  • page/History.cpp: (WebCore::History::History):
  • page/InspectorController.cpp: (WebCore::InspectorResource::InspectorResource): (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
  • page/Plugin.h: (WebCore::Plugin::Plugin):
  • page/Screen.cpp: (WebCore::Screen::Screen):
  • platform/ArrayImpl.cpp: (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
  • platform/DeprecatedValueListImpl.cpp: (WebCore::DeprecatedValueListImpl::Private::Private):
  • platform/ScrollBar.cpp: (WebCore::Scrollbar::Scrollbar):
  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer):
  • platform/graphics/FontFallbackList.cpp: (WebCore::FontFallbackList::FontFallbackList):
  • platform/graphics/FontFamily.cpp: (WebCore::FontFamily::FontFamily):
  • platform/graphics/FontFamily.h: (WebCore::FontFamily::FontFamily):
  • platform/graphics/FontSelector.h: (WebCore::FontSelector::FontSelector): (WebCore::FontSelector::~FontSelector):
  • platform/graphics/GlyphPageTreeNode.h: (WebCore::GlyphPage::GlyphPage):
  • platform/graphics/mac/IconMac.mm: (WebCore::Icon::Icon):
  • platform/mac/FileChooserMac.mm: (WebCore::FileChooser::FileChooser):
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::PopupMenu):
  • platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::SharedBuffer):
  • platform/network/FormData.cpp: (WebCore::FormData::FormData):
  • platform/network/FormData.h: (WebCore::FormData::FormData):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::ResourceHandle):
  • platform/text/CString.h: (WebCore::CStringBuffer::CStringBuffer):
  • platform/text/RegularExpression.cpp: (WebCore::RegularExpression::Private::Private):
  • rendering/RenderStyle.cpp: (WebCore::StyleSurroundData::StyleSurroundData): (WebCore::StyleBoxData::StyleBoxData): (WebCore::StyleVisualData::StyleVisualData): (WebCore::StyleBackgroundData::StyleBackgroundData): (WebCore::StyleMarqueeData::StyleMarqueeData): (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): (WebCore::StyleMultiColData::StyleMultiColData): (WebCore::StyleTransformData::StyleTransformData): (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): (WebCore::StyleRareInheritedData::StyleRareInheritedData): (WebCore::StyleInheritedData::StyleInheritedData):
  • rendering/RenderStyle.h: (WebCore::TransformOperation::TransformOperation): (WebCore::CursorList::CursorList):
  • rendering/SVGCharacterLayoutInfo.h: (WebCore::SVGCharOnPath::SVGCharOnPath):
  • rendering/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::SVGRenderStyle):
  • rendering/SVGRenderStyle.h: (WebCore::SVGRenderStyle::SVGRenderStyle):
  • rendering/SVGRenderStyleDefs.cpp: (StyleFillData::StyleFillData): (StyleStrokeData::StyleStrokeData): (StyleStopData::StyleStopData): (StyleTextData::StyleTextData): (StyleClipData::StyleClipData): (StyleMaskData::StyleMaskData): (StyleMarkerData::StyleMarkerData): (StyleMiscData::StyleMiscData):
  • storage/SQLResultSetRowList.h: (WebCore::SQLResultSetRowList::SQLResultSetRowList):
  • svg/SVGAngle.cpp: (WebCore::SVGAngle::SVGAngle):
  • svg/SVGAnimatedTemplate.h: (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate):
  • svg/SVGElementInstanceList.cpp: (WebCore::SVGElementInstanceList::SVGElementInstanceList):
  • svg/SVGList.h: (WebCore::SVGList::SVGList): (WebCore::SVGPODListItem::SVGPODListItem):
  • svg/SVGPathSeg.h: (WebCore::SVGPathSeg::SVGPathSeg):
  • svg/SVGPreserveAspectRatio.cpp: (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
  • svg/SVGRenderingIntent.h: (WebCore::SVGRenderingIntent::SVGRenderingIntent):
  • svg/SVGUnitTypes.h: (WebCore::SVGUnitTypes::SVGUnitTypes):
  • svg/graphics/SVGPaintServerGradient.h: (WebCore::SVGPaintServerGradient::SharedStopCache::SharedStopCache):
  • svg/graphics/SVGResource.cpp: (WebCore::SVGResource::SVGResource):
  • xml/DOMParser.h: (WebCore::DOMParser::DOMParser):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest):
  • xml/XMLSerializer.h: (WebCore::XMLSerializer::XMLSerializer):
  • xml/XPathEvaluator.h: (WebCore::XPathEvaluator::XPathEvaluator):
  • xml/XPathExpression.h: (WebCore::XPathExpression::XPathExpression):
  • xml/XPathNSResolver.h: (WebCore::XPathNSResolver::XPathNSResolver):
  • xml/XPathResult.cpp: (WebCore::XPathResult::XPathResult):
  • xml/XPathValue.h: (WebCore::XPath::ValueData::ValueData):
  • xml/XSLTProcessor.h: (WebCore::XSLTProcessor::XSLTProcessor):
11:02 AM Changeset in webkit [30121] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Don't call select() for CURL when there are no valid file descriptors.
http://bugs.webkit.org/show_bug.cgi?id=17178

10:57 AM Changeset in webkit [30120] by Darin Adler
  • 2 edits in trunk/WebKit/mac
  • WebView/WebView.mm: (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Fix wrong variable name. Doh!

Feb 9, 2008:

11:00 PM Changeset in webkit [30119] by Darin Adler
  • 2 edits in trunk/WebKit/mac

Reviewed by Tim Hatcher.

  • fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
  • WebView/WebView.mm: (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the garbage collector's Objective C++ support by not initializing a static to an object that needs to be marked when running under GC.
10:40 PM S60Webkit edited by kennykaiyinyu@gmail.com
(diff)
10:08 PM S60Webkit edited by kennykaiyinyu@gmail.com
(diff)
10:05 PM S60Webkit edited by kennykaiyinyu@gmail.com
(diff)
9:56 PM S60ConfigureComputer edited by kennykaiyinyu@gmail.com
(diff)
9:49 PM S60ConfigureComputer edited by kennykaiyinyu@gmail.com
(diff)
9:48 PM S60ConfigureComputer edited by kennykaiyinyu@gmail.com
(diff)
9:48 PM S60ConfigureComputer edited by kennykaiyinyu@gmail.com
(diff)
9:43 PM S60IDE edited by kennykaiyinyu@gmail.com
(diff)
8:52 PM Changeset in webkit [30118] by alp@webkit.org
  • 2 edits in trunk/PlanetWebKit

2008-02-09 Alp Toker <alp@atoker.com>

Only syndicate Jan's WebKit posts, not his entire blog.

  • config.ini:
4:16 PM Changeset in webkit [30117] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • dom/Element.cpp: (WebCore::Element::recalcStyle): Removed unneeded null checks. styleForElement() can never return null.
3:47 PM Changeset in webkit [30116] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Fix for bug 17254, nth-* selectors do not work with negative coefficients.

Reviewed by Mitz.

fast/css/negative-nth-child.html

  • css/CSSStyleSelector.cpp: (WebCore::parseNth):

LayoutTests:

Added test for bug 17254.

Reviewed by Mitz.

  • fast/css/negative-nth-child.html: Added.
2:56 PM Changeset in webkit [30115] by hyatt@apple.com
  • 1 edit in trunk/WebCore/css/CSSStyleSelector.cpp

The comedy continues. Bungled the rename from Eric's review when doing the backout of CSSStyleSelector's accidental fix for 17254.

2:54 PM Changeset in webkit [30114] by hyatt@apple.com
  • 4 edits in trunk/WebCore/rendering

Followup to 17203. Missed a directory.

2:51 PM Changeset in webkit [30113] by hyatt@apple.com
  • 1 edit in trunk/WebCore/css/CSSStyleSelector.cpp

Back out accidental change to CSSStyleSelector.cpp.

2:49 PM Changeset in webkit [30112] by hyatt@apple.com
  • 70 edits in trunk/WebCore

Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significantly improves the performance
of CSS3 selectors.

(1) Split the notion of being affected by positional rules into "forward" and "backward." The "forward"
selectors do not need to re-resolve during parsing, since children are appended on the end. Only the
"backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered.

(2) Extend childrenChanged to specify whether the children were changed by the parser or not. This allows
Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when
possible.

(3) Make sure all Elements now know whether or not their children are currently parsing. Backwards selectors
like last-child will always return false when children are still being parsed. When an Element finishes
parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly.

(4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren.

(5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement.

(6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their
base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement).

Reviewed by Eric

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkSelector): (WebCore::CSSStyleSelector::checkOneSelector):
  • dom/Attr.cpp: (WebCore::Attr::childrenChanged):
  • dom/Attr.h:
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::addChild):
  • dom/Document.cpp: (WebCore::Document::childrenChanged):
  • dom/Document.h:
  • dom/Element.cpp: (WebCore::Element::Element): (WebCore::Element::recalcStyle): (WebCore::checkFirstChildRules): (WebCore::checkLastChildRules): (WebCore::checkEmptyRules): (WebCore::checkStyleRules): (WebCore::Element::childrenChanged): (WebCore::Element::finishParsingChildren):
  • dom/Element.h: (WebCore::Element::finishedParsingChildren): (WebCore::Element::beginParsingChildren):
  • dom/Node.cpp:
  • dom/Node.h: (WebCore::Node::finishParsingChildren): (WebCore::Node::beginParsingChildren): (WebCore::Node::childrenChanged):
  • dom/StyledElement.cpp: (WebCore::StyledElement::StyledElement):
  • dom/StyledElement.h:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::startElementNs): (WebCore::XMLTokenizer::endElementNs): (WebCore::):
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::HTMLAppletElement): (WebCore::HTMLAppletElement::finishParsingChildren):
  • html/HTMLAppletElement.h:
  • html/HTMLElementFactory.cpp: (WebCore::objectConstructor):
  • html/HTMLGenericFormElement.cpp: (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
  • html/HTMLGenericFormElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement): (WebCore::HTMLObjectElement::finishParsingChildren): (WebCore::HTMLObjectElement::childrenChanged):
  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::childrenChanged):
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::childrenChanged):
  • html/HTMLOptionElement.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::pushBlock): (WebCore::HTMLParser::popOneBlockCommon):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::childrenChanged): (WebCore::HTMLScriptElement::finishParsingChildren):
  • html/HTMLScriptElement.h:
  • html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::childrenChanged):
  • html/HTMLSelectElement.h:
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::finishParsingChildren): (WebCore::HTMLStyleElement::childrenChanged):
  • html/HTMLStyleElement.h:
  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::childrenChanged):
  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.cpp: (WebCore::HTMLTitleElement::childrenChanged):
  • html/HTMLTitleElement.h:
    • rendering/RenderApplet.cpp:

(WebCore::RenderApplet::createWidgetIfNecessary):

  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle):
  • rendering/RenderStyle.h: (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules): (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules): (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules): (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules):
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::finishParsingChildren):
  • svg/SVGAnimationElement.h:
  • svg/SVGClipPathElement.cpp: (WebCore::SVGClipPathElement::childrenChanged):
  • svg/SVGClipPathElement.h:
  • svg/SVGDefinitionSrcElement.cpp: (WebCore::SVGDefinitionSrcElement::childrenChanged):
  • svg/SVGDefinitionSrcElement.h:
  • svg/SVGElement.cpp: (WebCore::SVGElement::finishParsingChildren):
  • svg/SVGElement.h:
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::childrenChanged):
  • svg/SVGFontFaceElement.h:
  • svg/SVGFontFaceFormatElement.cpp: (WebCore::SVGFontFaceFormatElement::childrenChanged):
  • svg/SVGFontFaceFormatElement.h:
  • svg/SVGFontFaceSrcElement.cpp: (WebCore::SVGFontFaceSrcElement::childrenChanged):
  • svg/SVGFontFaceSrcElement.h:
  • svg/SVGFontFaceUriElement.cpp: (WebCore::SVGFontFaceUriElement::childrenChanged):
  • svg/SVGFontFaceUriElement.h:
  • svg/SVGGElement.cpp: (WebCore::SVGGElement::childrenChanged):
  • svg/SVGGElement.h:
  • svg/SVGGradientElement.cpp: (WebCore::SVGGradientElement::childrenChanged):
  • svg/SVGGradientElement.h:
  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::childrenChanged):
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::childrenChanged):
  • svg/SVGMaskElement.h:
  • svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::childrenChanged):
  • svg/SVGPatternElement.h:
  • svg/SVGStyleElement.cpp: (WebCore::SVGStyleElement::finishParsingChildren): (WebCore::SVGStyleElement::childrenChanged):
  • svg/SVGStyleElement.h:
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::childrenChanged):
  • svg/SVGStyledElement.h:
  • svg/SVGTitleElement.cpp: (WebCore::SVGTitleElement::childrenChanged):
  • svg/SVGTitleElement.h:
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::childrenChanged):
  • svg/SVGUseElement.h:
2:38 PM Changeset in webkit [30111] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Unreviewed build fix

Somehow the removal of adjustSliderThumbSize(RenderObject*) sneaked
into the patch.

  • platform/qt/RenderThemeQt.h:
2:16 PM Changeset in webkit [30110] by zecke@webkit.org
  • 5 edits in trunk/WebCore

2008-02-09 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Adele.

paintResizeControl is dead, remove the code. This painting
is done by the RenderLayer.

  • platform/qt/RenderThemeQt.cpp:
  • platform/qt/RenderThemeQt.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:
10:09 AM Changeset in webkit [30109] by Darin Adler
  • 6 edits in trunk/JavaScriptCore

Reviewed by Mitz.

We'll want to do this to every RefCounted class, one at a time.

  • kjs/nodes.h: (KJS::RegExpNode::RegExpNode): Use RegExp::create instead of new RegExp.
  • kjs/regexp.cpp: (KJS::RegExp::RegExp): Marked inline, set initial ref count to 1. (KJS::RegExp::create): Added. Calls new RegExp then adopts the initial ref.
  • kjs/regexp.h: Reformatted. Made the constructors private. Added static create functions that return objects already wrapped in PassRefPtr.
  • kjs/regexp_object.cpp: (KJS::regExpProtoFuncCompile): Use RegExp::create instead of new RegExp. (KJS::RegExpObjectImp::construct): Ditto.
  • kjs/string_object.cpp: (KJS::stringProtoFuncMatch): Ditto. (KJS::stringProtoFuncSearch): Ditto.
2:45 AM ApplicationsGtk edited by alp@atoker.com
Add the Vala language binding (diff)
12:13 AM Changeset in webkit [30108] by kevino@webkit.org
  • 3 edits in trunk/WebCore

MSVC7 fixes.
http://bugs.webkit.org/show_bug.cgi?id=17211

Feb 8, 2008:

10:47 PM Changeset in webkit [30107] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2008-02-08 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Bug 17226: Fix Windows (Cairo) build of image-decoders
http://bugs.webkit.org/show_bug.cgi?id=17226

  • platform/image-decoders/gif/GIFImageDecoder.cpp:
  • platform/image-decoders/png/PNGImageDecoder.cpp:
9:44 PM Changeset in webkit [30106] by alp@webkit.org
  • 2 edits in trunk

2008-02-08 Alp Toker <alp@atoker.com>

Rubber-stamped by Maciej.

Bump autoconf CAIRO_REQUIRED_VERSION up to 1.4.

  • configure.ac:
9:17 PM Changeset in webkit [30105] by oliver@apple.com
  • 6 edits in trunk

<rdar://problem/5731773> REGRESSION (r28973): Extraneous parentheses in function.toString()
https://bugs.webkit.org/show_bug.cgi?id=17214

Reviewed by Maciej

Make a subclass of CommaNode to provide the correct precedence for each expression in
a variable declaration list.

8:15 PM Changeset in webkit [30104] by timothy@apple.com
  • 8 edits in trunk/WebCore

Reviewed by Brady Eidson.

<rdar://problem/5640896> Removing database then trying
to recreate it causes trouble

Added open Database support to DatabaseTracker. So any Database that
is deleted will be marked as deleted and will fail to open any transaction
or execute any new SQL queries.

  • storage/Database.cpp: (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase. (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase. (WebCore::Database::markAsDeleted): Set the m_deleted flag. (WebCore::Database::version): Return a null String if m_deleted is true.
  • storage/Database.h: (WebCore::Database::deleted): Return m_deleted.
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names. (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map. (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases matching the origin/name.
  • storage/DatabaseTracker.h:
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database.
  • storage/SQLStatement.h:
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError. (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database if the Database was marked as deleted.
5:13 PM Changeset in webkit [30103] by Darin Adler
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/continue-break-multiple-labels.html

  • kjs/nodes.h: (KJS::StatementNode::pushLabel): Made this virtual. (KJS::LabelNode::pushLabel): Forward pushLabel calls to the statement inside.

LayoutTests:

  • fast/js/continue-break-multiple-labels-expected.txt: Added.
  • fast/js/continue-break-multiple-labels.html: Added.
5:06 PM Changeset in webkit [30102] by Darin Adler
  • 7 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Eric.

Test: fast/js/constructor-attributes.html

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): Remove unwanted attributes from "constructor".
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct): Ditto.
  • kjs/nodes.cpp: (KJS::FuncDeclNode::makeFunction): Ditto. (KJS::FuncExprNode::evaluate): Ditto.

WebCore:

Reviewed by Eric.

Test: fast/js/constructor-attributes.html

  • bindings/scripts/CodeGeneratorJS.pm: Remove unwanted attributes from "constructor".

LayoutTests:

Reviewed by Eric.

  • fast/js/constructor-attributes-expected.txt: Added.
  • fast/js/constructor-attributes.html: Added.
  • fast/js/resources/constructor-attributes.js: Added.
4:07 PM Changeset in webkit [30101] by andersca@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Mitz.

<rdar://problem/5650446>
http://bugs.webkit.org/show_bug.cgi?id=16102
Crash in FrameLoader::stopLoadingSubframes() on IMDB page

Store the child frame in a RefPtr to prevent it from being deleted when the
frame tree changes while calling stopAllLoaders().


  • loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoadingSubframes):

LayoutTests:

Reviewed by Mitz.

<rdar://problem/5650446>
http://bugs.webkit.org/show_bug.cgi?id=16102
Crash in FrameLoader::stopLoadingSubframes() on IMDB page

  • http/tests/navigation/changing-frame-hierarchy-in-onload-expected.txt: Added.
  • http/tests/navigation/changing-frame-hierarchy-in-onload.html: Added.
3:35 PM Changeset in webkit [30100] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx port build fix.

3:06 PM Changeset in webkit [30099] by alp@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

ChangeLog entry tweak: crasher affects debug, not release builds

3:04 PM Changeset in webkit [30098] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-02-08 Alp Toker <alp@atoker.com>

Reviewed by Adam Roben.

Avoid null-dereference crasher noticed in the GTK+ port and also
affecting the Win release build.

Covered by existing tests.

  • dom/Document.cpp: (WebCore::Document::userStyleSheet):
2:44 PM Changeset in webkit [30097] by andersca@apple.com
  • 5 edits in trunk/WebCore

Reviewed by Adam.

<rdar://problem/5724188>
REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer)


Revert r29926 which caused the regression.


  • dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
  • dom/Text.h:
  • html/HTMLParser.cpp: (WebCore::HTMLParser::parseToken):
  • loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
12:05 PM Changeset in webkit [30096] by weinig@apple.com
  • 4 edits
    1 copy
    4 adds in trunk

WebCore:

Reviewed by Hyatt.

Fix for <rdar://problem/5732491>
http://bugs.webkit.org/show_bug.cgi?id=17213
The querySelectorAll method on an element node does not search only the element's descendants

Test: fast/dom/SelectorAPI/elementRoot.html

  • dom/Node.cpp: (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree.
  • dom/SelectorNodeList.cpp: (WebCore::SelectorNodeList::SelectorNodeList): ditto.

LayoutTests:

Reviewed by Hyatt.

Test for <rdar://problem/5732491>
http://bugs.webkit.org/show_bug.cgi?id=17213
The querySelectorAll method on an element node does not search only the element's descendants

  • fast/dom/SelectorAPI/elementRoot-expected.txt: Added.
  • fast/dom/SelectorAPI/elementRoot.html: Added.
  • fast/dom/SelectorAPI/resources: Added.
  • fast/dom/SelectorAPI/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • fast/dom/SelectorAPI/resources/elementRoot.js: Added.
11:23 AM Changeset in webkit [30095] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Fix for bug 16798, button should default to type=submit.

Reviewed by darin

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::type): (WebCore::HTMLButtonElement::parseMappedAttribute):
8:51 AM Changeset in webkit [30094] by Adam Roben
  • 2 edits in trunk/WebKitSite
  • perf/slickspeed/config.ini: Fixed version number.
8:47 AM Changeset in webkit [30093] by Adam Roben
  • 2 edits
    1 move in trunk/WebKitSite

Update jQuery to v1.2.3

Rubberstamped by Mitz.

  • perf/slickspeed/config.ini:
  • perf/slickspeed/frameworks/jquery-1.2.3.js: Renamed from WebKitSite/perf/slickspeed/frameworks/jquery-1.2.1.js.
8:24 AM Changeset in webkit [30092] by Adam Roben
  • 6 edits in trunk/WebCore

2008-02-08 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Jon Honeycutt.

Redefine some platform-specific types as cross-platform types
Add pathGetFileName method to get the filename from a path string
Add unloadModule method to unload a loadable module from the process
Implement new methods for GTK+ and Windows
Implement missing homeDirectoryPath method for GTK+
Add stub methods for new and missing methods for Wx and Qt

  • platform/FileSystem.h:
  • platform/gtk/FileSystemGtk.cpp:
  • platform/qt/FileSystemQt.cpp:
  • platform/win/FileSystemWin.cpp:
  • platform/wx/FileSystemWx.cpp:
8:08 AM Changeset in webkit [30091] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix after r30088

  • bindings/scripts/CodeGeneratorCOM.pm: Touch this to force the COM bindings to rebuild.
2:41 AM Changeset in webkit [30090] by alp@webkit.org
  • 5 edits in trunk

2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17009
[Gtk] Webkit strips accents from some dead-key combinations

KeyEvents have to go through the gtk input method.

2:35 AM Changeset in webkit [30089] by Darin Adler
  • 31 edits
    2 copies
    27 adds in trunk

WebCore:

Reviewed by Eric.

Test: traversal/exception-forwarding.html

This turned into a near-rewrite of NodeIterator and TreeWalker.

  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/JSNodeFilterCondition.cpp: (WebCore::takeException): Added. (WebCore::JSNodeFilterCondition::acceptNode): Added an out parameter to return a JavaScript exception.
  • bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::acceptNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set.
  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set. (WebCore::JSNodeIterator::previousNode): Ditto.
  • bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::parentNode): Wrote a custom binding for this that raises a JavaScript exception if the out parameter is set. (WebCore::JSTreeWalker::firstChild): Ditto. (WebCore::JSTreeWalker::lastChild): Ditto. (WebCore::JSTreeWalker::nextSibling): Ditto. (WebCore::JSTreeWalker::previousSibling): Ditto. (WebCore::JSTreeWalker::previousNode): Ditto. (WebCore::JSTreeWalker::nextNode): Ditto.
  • bindings/objc/DOM.mm: (WebCore::ObjCNodeFilterCondition::acceptNode): Updated to include new exception out parameter. (-[DOMDocument createNodeIterator:whatToShow:filter:expandEntityReferences:]): Use RefPtr to make object lifetimes clearer. (-[DOMDocument createTreeWalker:whatToShow:filter:expandEntityReferences:]): Ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Added include of NodeFilter.h for JSDocument.cpp.
  • dom/Document.h:
  • dom/Document.cpp: (WebCore::Document::createNodeIterator): Changed to use PassRefPtr. (WebCore::Document::createTreeWalker): Ditto.
  • dom/NodeFilter.h:
  • dom/NodeFilter.cpp: (WebCore::NodeFilter::NodeFilter): Changed to use PassRefPtr. (WebCore::NodeFilter::acceptNode): Added an out parameter to return a JavaScript exception.
  • dom/NodeFilter.idl: Custom binding for acceptNode.
  • dom/NodeFilterCondition.h:
  • dom/NodeFilterCondition.cpp: (WebCore::NodeFilterCondition::acceptNode): Added an out parameter to return a JavaScript exception.
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::NodeIterator): Changed to use PassRefPtr more. Eliminated m_doc, using the root node instead, and unnecessary check for null -- rootNode must be non-null and all nodes have a non-null document. (WebCore::NodeIterator::~NodeIterator): Changed to get document from root. (WebCore::NodeIterator::nextNode): Rewrote to use a RefPtr since the acceptNode function could do anything, including removing the last reference to the current node. Also folded findNextNode into this function since it's the only one that needs to call it. (WebCore::NodeIterator::previousNode): Same thing, but the other direction. (WebCore::NodeIterator::detach): Changed to use the root node as the indication that we're detached rather than a separate boolean. (WebCore::NodeIterator::notifyBeforeNodeRemoval): Removed some unnneeded checks. Removed incorrect use of findNextNode/findPreviousNode -- those functions call acceptNode and the DOM standard is quite clear that these functions do not take that into account, allowing the current node to become one that's not accepted.
  • dom/NodeIterator.h: Changed constructor to use PassRefPtr more. Changed nextNode and previousNode to have an out parameter with a JavaScript exception. Removed helper functions setReferenceNode, setPointerBeforeReferenceNode, detached, setDetached, document, findNextNode, and findPreviousNode. All were unnecessary. Removed data member m_doc which was just rootNode()->document().
  • dom/NodeIterator.idl: Custom binding for nextNode and previousNode.
  • dom/Traversal.cpp: (WebCore::Traversal::Traversal): Use PassRefPtr more. (WebCore::Traversal::acceptNode): Added out parameter for JavaScript exception. Also rearranged the function a little bit for clarity.
  • dom/Traversal.h: Changed acceptNode to have an out parameter with a JavaScript exception and made it protected, since it's only for use by the derived classes.
  • dom/TreeWalker.cpp: (WebCore::TreeWalker::TreeWalker): Updated to use PassRefPtr. (WebCore::TreeWalker::setCurrentNode): Updated to use PassRefPtr and deleted the overloaded version since it's not needed. (WebCore::TreeWalker::parentNode): Rewrote to propagate the exception and also to implement rules about when to check things like whether we're in the tree. The previous fix where we called isDescendantOf was not entirely correct, because the specification allows you to walk outside the tree if you get there somehow. What it doesn't allow is walking outside the tree from inside. The new implementation handles this correctly. (WebCore::TreeWalker::firstChild): Ditto. (WebCore::TreeWalker::lastChild): Ditto. (WebCore::TreeWalker::previousSibling): Ditto. (WebCore::TreeWalker::nextSibling): Ditto. (WebCore::TreeWalker::previousNode): Ditto. Because of the need to check the acceptNode function on parents, this can't use traversePreviousNode (more's the pity, because it's a bit complicated). (WebCore::TreeWalker::nextNode): Ditto.
  • dom/TreeWalker.h: Changed constructor and setCurrentNode to use PassRefPtr more. Changed the navigation functions to have an out parameter with a JavaScript exception. Removed helper functions setCurrentNode and ancestorRejected.
  • dom/TreeWalker.idl: Custom binding for navigation functions.

LayoutTests:

Reviewed by Eric.

  • grabbed NodeIterator and TreeWalker tests from Hixie's site and KHTML
  • traversal/exception-forwarding-expected.txt: Added.
  • traversal/exception-forwarding.html: Added.
  • traversal/resources: Added.
  • traversal/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
  • traversal/resources/exception-forwarding.js: Added.
  • traversal/node-iterator-001-expected.txt: Updated to reflect correct results. The old results reflected a bug in our NodeIterator.
  • traversal/node-iterator-001.html: Ditto.
  • traversal/node-iterator-006.html: Changed test so there's no whitespace node after the <span> elements inside the test root element (a <div>). The old test results were incorrect; the new NodeIterator implementation correctly returned the whitespace node for this test.
  • traversal/node-iterator-006a.html: Copied from traversal/node-iterator-006.html. Preserve the original test, which now has a strange result. But the result is correct, so it's worth keeping around.
  • traversal/node-iterator-006a-expected.txt: Added.
  • fast/dom/TreeWalker/TreeWalker-currentNode-expected.txt: Regenerated.
  • fast/dom/TreeWalker/resources/TreeWalker-currentNode.js: Updated test to expect results that match the DOM specification.
  • traversal/hixie-node-iterator/001-expected.txt: Added.
  • traversal/hixie-node-iterator/001.xml: Added.
  • traversal/hixie-node-iterator/002-expected.txt: Added.
  • traversal/hixie-node-iterator/002.xml: Added.
  • traversal/hixie-node-iterator/003-expected.txt: Added.
  • traversal/hixie-node-iterator/003.xml: Added.
  • traversal/hixie-node-iterator/004-expected.txt: Added.
  • traversal/hixie-node-iterator/004.xml: Added.
  • traversal/hixie-node-iterator/005-expected.txt: Added.
  • traversal/hixie-node-iterator/005.xml: Added.
  • traversal/hixie-node-iterator/006-expected.txt: Added.
  • traversal/hixie-node-iterator/006.xml: Added.
  • traversal/hixie-node-iterator/007-expected.txt: Added.
  • traversal/hixie-node-iterator/007.xml: Added.
  • traversal/hixie-node-iterator/008-expected.txt: Added.
  • traversal/hixie-node-iterator/008.xml: Added.
  • traversal/hixie-node-iterator/009-expected.txt: Added.
  • traversal/hixie-node-iterator/009.xml: Added.
  • traversal/hixie-node-iterator/010-expected.txt: Added.
  • traversal/hixie-node-iterator/010.xml: Added.
  • traversal/hixie-node-iterator/origin.txt: Added.
  • traversal/tree-walker-filter-1-expected.txt: Added.
  • traversal/tree-walker-filter-1.html: Added.
1:04 AM Changeset in webkit [30088] by eric@webkit.org
  • 18 edits
    12 adds in trunk

Reviewed by darin.

Add support for Text.wholeText and Text.replaceWholeText
http://bugs.webkit.org/show_bug.cgi?id=17125

Test EntityReferences to make sure they're always treated as read-only
In doing so I discovered a bug in document.adoptNode(readonlyNode) (and fixed it)

  • dom/Document.cpp: (WebCore::Document::adoptNode): throw NO_MODIFICATION_ALLOWED_ERR when passed a readonly node
  • dom/Node.cpp:
  • dom/Node.cpp: (WebCore::Node::textContent):
  • dom/Text.cpp: (WebCore::earliestLogicallyAdjacentTextNode): (WebCore::latestLogicallyAdjacentTextNode): (WebCore::Text::wholeText): (WebCore::Text::replaceWholeText):
  • dom/Text.h:
  • dom/Text.idl:

Feb 7, 2008:

11:18 PM Changeset in webkit [30087] by oliver@apple.com
  • 5 edits in trunk

Kimmo Kinnunen <Kimmo Kinnunen>

Reviewed by Tim Hatcher.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191
HTML5: Client-side database queries should return values of type number
Test: storage/sql-data-types.html

Make the DB queries return a value as a number if it was inserted
as a number to the database.

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues

  • platform/sql/SQLiteStatement.h:
  • storage/SQLStatement.cpp:

(WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText

10:36 PM Changeset in webkit [30086] by adachan@apple.com
  • 7 edits
    1 add in trunk/WebKit/win

<rdar://problem/5292433> certificate authentication support broken in Safari 3.0
Added mechanism to communicate client certificate info back to CFNetwork.

Reviewed by Adam.

  • Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
  • Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client certificate info on the request.
  • WebKit.vcproj/Interfaces.vcproj: Added new idl.
  • WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebMutableURLRequest.cpp: (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate. (deallocCertContext): Free certificate context. (copyCert): Duplicate the certificate context and returns it in a CFDataRef. (WebMutableURLRequest::setClientCertificate):
  • WebMutableURLRequest.h:
10:33 PM Changeset in webkit [30085] by adachan@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/5292433> certificate authentication support broken in Safari 3.0
Added mechanism to communicate client certificate info back to CFNetwork.

Reviewed by Adam.

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::clientCerts): Keep a mapping of hosts to client certificates. (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it to CFNetwork by setting it in the SSL properties. (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host.
10:29 PM Changeset in webkit [30084] by adachan@apple.com
  • 4 edits in trunk/WebKitLibraries

Added 4 new methods:
wkSetClientCertificateInSSLProperties,
wkCanAccessCFURLRequestHTTPBodyParts,
wkCFURLRequestCopyHTTPRequestBodyParts,
wkCFURLRequestSetHTTPRequestBodyParts

Rubber-stamped by Steve.

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h:
  • win/lib/WebKitSystemInterface.lib:
  • win/lib/WebKitSystemInterface_debug.lib:
10:01 PM Changeset in webkit [30083] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Rubber stamped by weinig and bdash.
Update prototype.js to 1.6.0.2 to be a bit less unfair in comparative benchmarking.

  • perf/slickspeed/frameworks/prototype.js:
3:54 PM Changeset in webkit [30082] by Adam Roben
  • 2 edits in trunk/WebCore

Qt build fix

  • platform/SharedBuffer.cpp: Removed a stub implementation of createWithContentsOfFile, now that each platform has its own stub.
3:34 PM Changeset in webkit [30081] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 17138: REGRESSION: Node highlight not updated properly

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

Reviewed by Darin.

No test possible.

  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight): Update the overlayRect after scrolling to make sure that we translate the context by the correct amount.
3:29 PM Changeset in webkit [30080] by Adam Roben
  • 3 edits in trunk/WebCore

Qt and GTK+ build fixes

  • platform/gtk/FileSystemGtk.cpp: Added a missing #include.
  • platform/qt/FileSystemQt.cpp: Ditto.
3:19 PM Changeset in webkit [30079] by Adam Roben
  • 4 edits
    2 adds in trunk/WebCore

Some cleanup of Mac-only user stylesheet code

I moved UserStyleSheetLoader out of Frame.cpp into its own files, and
moved some Mac-only Frame methods to FrameMac.mm.

Reviewed by Darin.

  • WebCore.xcodeproj/project.pbxproj: Added new files to project.
  • loader/mac/UserStyleSheetLoader.cpp: Added. (UserStyleSheetLoader::UserStyleSheetLoader): (UserStyleSheetLoader::~UserStyleSheetLoader):
  • loader/mac/UserStyleSheetLoader.h: Added.
  • page/Frame.cpp: Removed setUserStyleSheet[Location]
  • page/mac/FrameMac.mm: (WebCore::Frame::setUserStyleSheetLocation): Moved here from Frame.cpp. (WebCore::Frame::setUserStyleSheet): Ditto.
3:19 PM Changeset in webkit [30078] by Adam Roben
  • 23 edits in trunk/WebCore

Fix <rdar://5555260> GMail never loads when a user stylesheet is specified

The fix in r29841 did not guarantee that the user stylesheet would not
still be loading by the time GMail called document.write, and so was
not a complete fix.

This change reworks the user stylesheet loading mechanism on non-Mac
platforms to load the stylesheet synchronously from disk, and then
keeps it in memory. This obsoletes the issue of what our behavior
should be before the user stylesheet has loaded and what should happen
when it finishes loading, as the user stylesheet will always be
available when the Document first asks for it. Note, however, that
this removes the ability to specify a non-file: URL for the user
stylesheet. This change was not made for the Mac platform because it's
possible that WebKit clients are relying on non-file: URLs for user
stylesheets. It would also be nice to move back to an asynchronous
loading model someday, but that is not currently possible since we
don't have an asynchronous loading mechanism that is not tied to a
particular Frame.

The responsibility of loading and storing the user stylesheet has
moved from Frame to Page, since the user stylesheet URL is set on the
Page-level Settings object.

Reviewed by Darin.

  • dom/Document.cpp: (WebCore::Document::Document): Changed to call userStyleSheet(). (WebCore::Document::setUserStyleSheet): Made Mac-only. (WebCore::Document::userStyleSheet): Changed to call up to Page on non-Mac platforms. (WebCore::Document::recalcStyleSelector): Changed to call userStyleSheet().
  • dom/Document.h:
    • Made setUserStyleSheet and the m_usersheet member Mac-only
    • Changed userStyleSheet to return a String instance instead of a String reference, since we now might return a new null String.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Made the call to Frame::setUserStyleSheetLocation Mac-only.
  • page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only. (WebCore::Frame::~Frame): Ditto. (WebCore::Frame::reapplyStyles): Made the call to setUserStyleSheet[Location] Mac-only. On non-Mac platforms the Document will pick up the new stylesheet in Document::reapplyStyles. (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader Mac-only.
  • page/Frame.h: Made setUserStyleSheet[Location] Mac-only.
  • page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only.
  • page/Page.cpp: (WebCore::Page::Page): Initialize new members. (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on Mac. On non-Mac, resets all members relating to the user stylesheet so we'll know to load it again the next time it's asked for. (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if the user stylesheet location has changed since the last time we loaded it, or if the file has been modified since we last loaded it, then returns the contents of the user stylesheet as a String.
  • page/Page.h: Added new methods/members.
  • page/Settings.cpp: (WebCore::Settings::setUserStyleSheetLocation): Changed to call Page::userStyleSheetLocationChanged.
  • page/Settings.h: Changed userStyleSheetLocation to return the KURL by reference instead of making a copy.
  • platform/FileSystem.h: Added declaration for getFileModificationTime.
  • platform/KURL.h: Added declaration for fileSystemPath method.
  • platform/cf/KURLCFNet.cpp: (WebCore::KURL::fileSystemPath): Added.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::getFileModificationTime): Added.
  • platform/qt/KURLQt.cpp: (WebCore::KURL::fileSystemPath): Stubbed out.
  • platform/win/FileSystemWin.cpp: (WebCore::getFileModificationTime): Added.
  • platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime.
  • platform/gtk/FileSystemGtk.cpp: Ditto.
  • platform/wx/FileSystemWx.cpp: Ditto.
  • platform/qt/TemporaryLinkStubs.cpp: Stubbed out SharedBuffer::createWithContentsOfFile.
  • platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with KURL::fileSystemPath.
  • platform/wx/TemporaryLinkStubs.cpp: Ditto.
3:18 PM Changeset in webkit [30077] by Adam Roben
  • 2 edits in trunk/WebCore

Clean up FileSystemWin.cpp

This cleanup also makes us call _wstat64 instead of _wstat32i64. The
only difference between these two functions is that _wstat64 gives
64-bit time values, while _wstat32i64 only gives 32-bit time values.

Reviewed by Darin.

All tests pass.

  • platform/win/FileSystemWin.cpp: (WebCore::statFile): New static helper that wraps _wstat64. (WebCore::fileSize): Changed to call statFile. (WebCore::fileExists): Ditto.
3:18 PM Changeset in webkit [30076] by Adam Roben
  • 12 edits in trunk/WebCore

Rename fileSize to getFileSize

Rubberstamped by Darin.

  • platform/FileSystem.h:
  • platform/gtk/FileSystemGtk.cpp:
  • platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::setHTTPBody):
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST):
  • platform/posix/FileSystemPOSIX.cpp:
  • platform/qt/FileSystemQt.cpp:
  • platform/win/FileSystemWin.cpp:
  • platform/wx/FileSystemWx.cpp:
  • storage/Database.cpp: (WebCore::Database::databaseSize):
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::usageForDatabase):
  • storage/OriginUsageRecord.cpp: (WebCore::OriginUsageRecord::diskUsage):
3:17 PM Changeset in webkit [30075] by Adam Roben
  • 2 edits in trunk/WebCore

Make KURL::isLocalFile treat the URL's protocol case-insensitively

Reviewed by Darin.

  • platform/KURL.cpp: (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==.
2:35 PM Changeset in webkit [30074] by mrowe@apple.com
  • 1 copy in branches/Safari-3-1-branch

New branch.

2:10 PM Changeset in webkit [30073] by eric@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Sam.

  • sunspider: add an error message when ./tests/LIST is not found
1:32 PM Changeset in webkit [30072] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Rubber stamped by Mark Rowe
Fix a duplicate selector in the test.

  • perf/slickspeed/selectors.list:
1:19 PM Changeset in webkit [30071] by dsmith@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Adam Roben.
Added :nth-child and :last-child to the list of selectors to test.

  • perf/slickspeed/selectors.list:
12:26 PM wxWebKit edited by kevino@theolliviers.com
(diff)
12:22 PM wxWebKit created by kevino@theolliviers.com
12:20 PM WikiStart edited by kevino@theolliviers.com
add wx port to wiki (diff)
12:14 PM Changeset in webkit [30070] by hyatt@apple.com
  • 2 adds in trunk/LayoutTests
12:13 PM Changeset in webkit [30069] by hyatt@apple.com
  • 9 edits in trunk/WebCore

Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen
and improved upon by Nick Shanks.

Reviewed by Eric

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::lex):
  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/CSSStyleSelector.cpp: (WebCore::parseNth): (WebCore::matchNth): (WebCore::CSSStyleSelector::checkOneSelector):
  • css/tokenizer.flex:
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle):
  • rendering/RenderStyle.h: (WebCore::RenderStyle::childIndex): (WebCore::RenderStyle::setChildIndex):
11:08 AM Changeset in webkit [30068] by Adam Roben
  • 2 edits in trunk/WebKitTools

Fix error in bisect-builds when responding "broken" for the first build

Reviewed by Dave Kilzer.

  • Scripts/bisect-builds: Only try to test the build if the nightly info for the current index has not been deleted.
9:01 AM Changeset in webkit [30067] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice

Test: fast/block/float/relative-painted-twice.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addOverhangingFloats): Added another case where the child should not take over painting the float: when they do not have the same enclosing layer. In that case, the float is already being painted by one of its closer ancestors.

LayoutTests:

Reviewed by Dave Hyatt.

  • test for <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice
  • fast/block/float/relative-painted-twice.html: Added.
  • platform/mac-leopard/fast/block/float/relative-painted-twice-expected.checksum: Added.
  • platform/mac-leopard/fast/block/float/relative-painted-twice-expected.png: Added.
  • platform/mac/fast/block/float/relative-painted-twice-expected.txt: Added.
8:59 AM Changeset in webkit [30066] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: platform/mac/fast/text/family-for-font-matched-by-name.html

  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use the family of the font whose name matches the desired family if there is no exact family match.

LayoutTests:

Reviewed by Darin Adler.

  • platform/mac/fast/text/family-for-font-matched-by-name-expected.checksum: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name-expected.png: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name-expected.txt: Added.
  • platform/mac/fast/text/family-for-font-matched-by-name.html: Added.
7:06 AM Changeset in webkit [30065] by Beth Dakin
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Geoff.

Fix for <rdar://problem/5697882> Traffic or Street View button on
Google Maps is sometimes not positioned correctly (17000)

On the Mac, timers fire in the order that they are registered.
Geoff and I discovered that this is not necessarily true on
Windows, and that turned out to be the cause of this intermittent
layout problem at Google Maps. This patch adds a new member
variable to Timer to remember the timer's insertion point into the
heap. Now when comparing timers, if two timers were registered at
the same time, their insertion orders are compared to determine
which should fire first. This code actually never runs on Debug
builds on the Mac; the system clock on the Mac is accurate enough
that it knows that the two timers were not registered at *exactly*
the same time. This is not the case on Windows. In theory, if we
sped up Javascript enough on the Mac, this code would run and would
prevent misrenderings such as the one found on Google Maps.

  • platform/Timer.cpp: (WebCore::operator<): (WebCore::TimerBase::setNextFireTime):
  • platform/Timer.h:

LayoutTests:

Test written by Geoff, reviewed by me.

Test for <rdar://problem/5697882> Traffic or Street View button on
Google Maps is sometimes not positioned correctly (17000)

  • fast/dom/simultaneouslyRegsiteredTimerFireOrder-expected.txt: Added.
  • fast/dom/simultaneouslyRegsiteredTimerFireOrder.html: Added.
5:59 AM Changeset in webkit [30064] by ggaren@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Alexey Proskuryakov.

Fixed two minor typos in the --root option, to get it working.

  • Scripts/run-sunspider:
    1. Actually assign the function argument to our local variable.
    2. Actually set the $root variable, so we don't try to build later.
2:08 AM Changeset in webkit [30063] by Nikolas Zimmermann
  • 2 edits
    2109 moves
    2086 adds in trunk/LayoutTests

Rubber stamped by Eric.

Move existing SVG baseline from platform/mac/ to platform/mac-tiger/ (I generated all of them using Tiger).
Regenerated new SVG baseline in platform/mac-leopard. platform/mac/svg is doesn't contain any test results anymore.

In a later step it should be investigated, which layout test results can be shared between Leopard & Tiger.
Those results should be moved to platform/mac/svg then.

Note: See TracTimeline for information about the timeline view.