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

Timeline



Jan 25, 2009:

11:31 PM Changeset in webkit [40246] by Darin Adler
  • 2 edits in trunk/WebKit/gtk

2009-01-25 Darin Adler <Darin Adler>

Try to fix GTK build.

  • webkit/webkitwebview.cpp: Added include of FloatQuad.h.
11:29 PM Changeset in webkit [40245] by Darin Adler
  • 4 edits in trunk/WebKit

WebKit:

2009-01-25 Darin Adler <Darin Adler>

Try to fix full build on Mac Leopard.

  • WebKit.xcodeproj/project.pbxproj: Removed WebKitPluginClient.defs from the WebKit target. Maybe this is temporary, but I had to do it to get the full build to succeed.

WebKit/mac:

2009-01-25 Darin Adler <Darin Adler>

  • Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
11:26 PM Changeset in webkit [40244] by Darin Adler
  • 2 edits in trunk/WebKit/win

2009-01-25 Darin Adler <Darin Adler>

Try to fix Windows build.

  • WebView.cpp: Added FloatQuad.h.
11:14 PM Changeset in webkit [40243] by Darin Adler
  • 3 edits in trunk/WebCore

2009-01-25 Darin Adler <Darin Adler>

Try to fix Tiger buildbot.

  • WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
  • page/mac/WebDashboardRegion.m: (typeName): Added. (-[WebDashboardRegion description]): Use typeName. (-[WebDashboardRegion isEqual:]): Added comment.
10:42 PM Changeset in webkit [40242] by ap@webkit.org
  • 8 edits in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23535
Strengthen debug checks in KURL

Covered (and prompted) by existing tests.

  • platform/KURL.cpp: (WebCore::checkEncodedString): Check that the first character of the URL is an allowed first scheme character, not just that it isn't a slash. (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case because of parsing being idempotent).
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an empty security origin is created. (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert it - it is not guaranteed to be properly encoded.
  • dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary string, it needs to be parsed into an URL, not just converted into one.
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): Create the security origin with createFromString() instead of create(). I do not know where the string comes from and whether it might not be properly encoded, but this change can't hurt, and makes the code slightly more clear.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security origin with createFromString() instead of create(). The string comes from an HTTP response header, so it may not be a properly encoded URL.
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using invalid URLs.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call SecurityOrigin::createFromString() (no change in behavior).
9:13 PM Changeset in webkit [40241] by Darin Adler
  • 2 edits in trunk/WebKit/mac

2009-01-25 Darin Adler <Darin Adler>

Discussed with Mark Rowe; not sure he reviewed it.

  • Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
8:14 PM Changeset in webkit [40240] by mrowe@apple.com
  • 8 edits in trunk

Improve the consistency of settings in our .xcconfig files.

Rubber-stamped by Dan Bernstein.

7:40 PM Changeset in webkit [40239] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac/fast/table/form-with-table-style-expected.txt

Land table/forms layout test progression.

7:38 PM Changeset in webkit [40238] by hyatt@apple.com
  • 9 edits
    4 adds in trunk

WebCore:

2009-01-25 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.

The new table code created a bug involving markAllDescendantsWithFloatsForLayout, namely that it could
end up marking ancestors of a block as needing layout when that block was still in the process of
doing a layout.

The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
we are "mid-layout." If this flag is set, then the method will make sure to do only local dirtying
of objects to avoid accidentally marking a clean ancestor as needing layout again.

Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
with a check of whether or not we are mid-layout being done by those methods instead.

Reviewed by Oliver Hunt

Added fast/repaint/dynamic-table-vertical-alignment-change.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
  • rendering/RenderBlock.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::removeFromObjectLists):
  • rendering/RenderObject.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows):

LayoutTests:

2009-01-25 David Hyatt <hyatt@apple.com>

Add layout test for https://bugs.webkit.org/show_bug.cgi?id=23524.

Reviewed by Oliver Hunt

  • fast/repaint/dynamic-table-vertical-alignment-change.html: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
  • platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Added.
7:02 PM Changeset in webkit [40237] by Darin Adler
  • 4 edits in trunk

JavaScriptCore:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Turn on the following warnings:

-Wcast-qual
-Wextra-tokens
-Wformat=2
-Winit-self
-Wmissing-noreturn
-Wpacked
-Wrendundant-decls

  • Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of -W for clarity since we don't have to support the older versions of gcc that require the old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed -Wno-format-y2k since we can have that one on now.

WebCore:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Turn on the following warnings:

-Wcast-qual
-Wextra-tokens
-Wformat=2
-Winit-self
-Wmissing-noreturn
-Wpacked
-Wrendundant-decls

  • Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of -W for clarity since we don't have to support the older versions of gcc that require the old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed -Wno-format-y2k since we can have that one on now.
5:32 PM Changeset in webkit [40236] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Oliver Hunt.

  • fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in string hashing code when opening a Digg RSS article

Test: fast/loader/null-request-after-willSendRequest.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): Null-check the request returned from the client's willSendRequest method.

LayoutTests:

Reviewed by Oliver Hunt.

  • test for <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in string hashing code when opening a Digg RSS article
  • fast/loader/null-request-after-willSendRequest-expected.txt: Added.
  • fast/loader/null-request-after-willSendRequest.html: Added.
4:47 PM Changeset in webkit [40235] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2009-01-25 David Hyatt <hyatt@apple.com>

Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
instead of the ancestor overflow (23525)


Make sure that we always call scroll() on the nearest enclosing RenderBox. No test case is possible
here, since wheel scrolling is currently untestable (the offset varies from machine to machine).

Reviewed by Dan Bernstein

  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::scrollOverflow):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::enclosingBox):
  • rendering/RenderObject.h:
3:42 PM Changeset in webkit [40234] by Darin Adler
  • 2 edits in trunk/WebCore

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Dan Bernstein.

Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
https://bugs.webkit.org/show_bug.cgi?id=23538
rdar://problem/6523719

I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.

The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
than doing fallback.

  • rendering/RenderPartObject.cpp: (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an inelegant if statement. (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo. (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check. (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to return a string than an "out" parameter. Fixed the logic to only prefer the ActiveX type over the type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the new havePlugin function so we handle the case where pluginData is 0. (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in that knows how to handle <object> elements. (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that use this data still need to be called; they still do something even if no plug-ins are present. And they have now been corrected to handle 0 properly.
1:19 PM Changeset in webkit [40233] by Darin Adler
  • 2 edits in trunk/WebCore

2009-01-25 Darin Adler <Darin Adler>

  • rendering/RenderMenuList.cpp: Fix build by adding back needed include.
1:11 PM Changeset in webkit [40232] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2009-01-25 Judit Jasz <jasy@inf.u-szeged.hu>

Reviewed by Darin Adler.


Compilation problem fixing
http://bugs.webkit.org/show_bug.cgi?id=23497

  • jit/JITCall.cpp: (JSC::JIT::compileOpCall): Use JSValuePtr::encode.
12:27 PM Changeset in webkit [40231] by Darin Adler
  • 5 edits in trunk

JavaScriptCore:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Fourth patch: Deal with the last few stray warnings.

  • parser/Parser.cpp: Only declare jscyyparse if it's not already declared. This makes both separate compilation and all-in-one compilation work with the -Wredundant-decls warning.

WebCore:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Fourth patch: Deal with the last few stray warnings.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better. Also make the local variable be a RenderBlock so the cast is closer to the code that guarantees it's correct.
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeStyle): Put the enum into a local variable that's a built-in type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
12:25 PM Changeset in webkit [40230] by Darin Adler
  • 4 edits in trunk/JavaScriptCore

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 23352: Turn on more compiler warnings in the Mac build
https://bugs.webkit.org/show_bug.cgi?id=23352

Third patch: Use the noreturn attribute on functions that don't
return to prepare for the use of the -Wmissing-noreturn warning.

  • jit/JITCall.cpp: (JSC::unreachable): Added NO_RETURN.
  • jsc.cpp: (functionQuit): Ditto. (printUsageStatement): Ditto.
  • wtf/AlwaysInline.h: Added definition of NO_RETURN.
12:23 PM Changeset in webkit [40229] by Darin Adler
  • 43 edits in trunk

WebCore:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 23522: use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522

Step one: RenderText.

Also change set of RenderFlow* to be a ListHashSet as the comment in the
header indicated.

  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): Use toRenderText. (WebCore::CharacterData::appendData): Ditto. (WebCore::CharacterData::insertData): Ditto. (WebCore::CharacterData::deleteData): Ditto. (WebCore::CharacterData::replaceData): Ditto.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): Ditto. (WebCore::ContainerNode::getLowerRightCorner): Ditto.
  • dom/Position.cpp: (WebCore::nextRenderedEditable): Ditto. (WebCore::previousRenderedEditable): Ditto. (WebCore::Position::renderedOffset): Ditto. Also use function members instead of data members of InlineTextBox. (WebCore::Position::upstream): Ditto. (WebCore::Position::downstream): Ditto. (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto. (WebCore::Position::inRenderedText): Ditto. (WebCore::Position::isRenderedCharacter): Ditto. (WebCore::searchAheadForBetterMatch): Ditto. (WebCore::Position::getInlineBoxAndOffset): Ditto.
  • dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer included in RenderObject.h.
  • dom/Text.cpp: (WebCore::Text::splitText): Use toRenderText. (WebCore::Text::recalcStyle): Ditto.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
  • editing/SelectionController.cpp: (WebCore::SelectionController::debugRenderer): Ditto.
  • editing/TextIterator.cpp: (WebCore::TextIterator::handleTextNode): Ditto. (WebCore::TextIterator::handleTextBox): Ditto. (WebCore::TextIterator::emitText): Ditto. (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
  • editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's no longer included in RenderObject.h.
  • inspector/InspectorController.cpp: Ditto.
  • page/Frame.cpp: Ditto.
  • rendering/RenderBox.cpp: Ditto.
  • rendering/RenderInline.cpp: Ditto.
  • rendering/RenderPath.cpp: Ditto.
  • rendering/RenderSVGContainer.cpp: Ditto.
  • rendering/RenderSVGImage.cpp: Ditto.
  • rendering/RenderSVGInlineText.cpp: Ditto.
  • rendering/RenderSVGTSpan.cpp: Ditto.
  • rendering/RenderSVGText.cpp: Ditto.
  • rendering/RenderSVGTextPath.cpp: Ditto.
  • rendering/RenderTableCell.cpp: Ditto.
  • rendering/RenderView.cpp: Ditto.
  • editing/visible_units.cpp: (WebCore::startPositionForLine): Use function members instead of data members of InlineTextBox. (WebCore::endPositionForLine): Ditto. (WebCore::startOfParagraph): Use toRenderText. (WebCore::endOfParagraph): Ditto.
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::deleteLine): Ditto. (WebCore::InlineTextBox::extractLine): Ditto. (WebCore::InlineTextBox::attachLine): Ditto. (WebCore::InlineTextBox::placeEllipsisBox): Ditto. (WebCore::InlineTextBox::paintDecoration): Ditto. (WebCore::InlineTextBox::paintCompositionUnderline): Ditto. (WebCore::InlineTextBox::offsetForPosition): Ditto. (WebCore::InlineTextBox::positionForOffset): Ditto.
  • rendering/InlineTextBox.h: Made most members private. Use toRenderText.
  • rendering/RenderArena.cpp: (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast. (WebCore::RenderArena::free): Ditto.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*> instead of RenderFlowSequencedSet. (WebCore::RenderBlock::paintContinuationOutlines): Ditto. (WebCore::stripTrailingSpace): Ditto. (WebCore::RenderBlock::calcInlinePrefWidths): Ditto. (WebCore::RenderBlock::updateFirstLetter): Ditto.
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): Use toRenderText.
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*> instead of RenderFlowSequencedSet. (WebCore::RenderFlow::paintLines): Ditto.
  • rendering/RenderMenuList.cpp: Removed some unneeded includes.
  • rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText. Made more members private.
  • rendering/RenderObject.cpp: Updated includes. (WebCore::RenderObject::isEditable): Use toRenderText. (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to include VisiblePosition.h in the header just for this.
  • rendering/RenderObject.h: Removed unneeded includes and forward declarations. Changed special vertical position values to be constants rather than an enum. Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
  • rendering/RenderText.cpp: (WebCore::RenderText::findNextInlineTextBox): Use function members instead of data members of InlineTextBox. (WebCore::RenderText::positionForCoordinates): Ditto. (WebCore::isInlineFlowOrEmptyText): Use toRenderText. (WebCore::RenderText::previousCharacter): Use function members instead of data members of InlineTextBox. (WebCore::RenderText::position): Ditto. (WebCore::RenderText::caretMinOffset): Ditto. (WebCore::RenderText::caretMaxOffset): Ditto. (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
  • rendering/RenderText.h: Added definition of toRenderText.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<): Use toRenderText and toRenderBox. (WebCore::writeTextRun): Ditto. (WebCore::write): Ditto.
  • rendering/bidi.cpp: (WebCore::InlineIterator::increment): Use toRenderText. (WebCore::InlineIterator::current): Ditto. (WebCore::checkMidpoints): Ditto. (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto. (WebCore::RenderBlock::layoutInlineChildren): Ditto. (WebCore::RenderBlock::determineStartPosition): Ditto. (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto. (WebCore::RenderBlock::findNextLineBreak): Ditto.

WebKit/mac:

2009-01-25 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

Bug 23522: use checked casts for render tree
https://bugs.webkit.org/show_bug.cgi?id=23522

Step one: RenderText.

  • WebView/WebRenderNode.mm: (copyRenderNode): Use toRenderText.
9:29 AM Changeset in webkit [40228] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2009-01-25 Urs Wolfer <uwolfer@kde.org>

Reviewed by Simon Hausmann.

Add QWebPage::SelectAll to WebAction enum to select all content.

https://bugs.webkit.org/show_bug.cgi?id=22946

9:26 AM Changeset in webkit [40227] by Simon Hausmann
  • 2 edits in trunk/WebCore

2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon Hausmann.

Fix gcc compiler warning (deprecated conversion from constant string to char*)

"" cannot be stored in a char*

9:22 AM Changeset in webkit [40226] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-01-25 David Boddie <dboddie@trolltech.com>

Reviewed by Simon Hausmann.

Doc: Fixed the terminology used.

9:20 AM Changeset in webkit [40225] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>

Reviewed by Simon Hausmann.

Rename links from trolltech.com to qtsoftware.com

9:04 AM Changeset in webkit [40224] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-01-25 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon Hausmann.

Make QWebPage auto-test more robust by cleaning up generated files

Sometimes the auto-test may segfault, leaving behind files because the
call to cleanupTestCase() never happens, so we also clean up the files
at initTestCase() just to make sure we're running in a clean environment.

8:27 AM QtWebKitJournal edited by Simon Hausmann
(diff)
8:21 AM QtWebKitTodo edited by Simon Hausmann
(diff)
6:56 AM Changeset in webkit [40223] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-12-20 Urs Wolfer <uwolfer@kde.org>

Reviewed by Simon Hausmann.

Fix: compile qwebhistory.h with pendantic comiler flag.

https://bugs.webkit.org/show_bug.cgi?id=22947

4:03 AM Changeset in webkit [40222] by ap@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Remove a slightly misleading comment from ChangeLog - the issue is related to bug 23500, but not the same.

3:59 AM Changeset in webkit [40221] by ap@webkit.org
  • 12 edits
    2 adds in trunk

Reviewed by Darin Adler.

<rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)

WebCore:

Changed single argument KURL constructors back to always expect an already encoded string,
eliminating extra conversions.

This is a rather unstable situation, as it is often unclear whether a given string is safe
to convert to KURL without resolving. I think that going forward, the solution is to try to
keep encoded URLs as KURL instances, and not as strings.

  • platform/KURL.h: Updated comments.
  • platform/KURL.cpp: (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The intention is to verify that it is already parsed and encoded by KURL or equivalent code, but since encoding is scheme-dependent, such a verification would be quite complicated. Don't encode the string as UTF-8, as it supposed to be ASCII-only. Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find any reason for it to exist, but I saw several cases where this code path was taken inadvertently (see examples in LayoutTests/ChangeLog). (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing the old one), and an already encoded string is expected by parse(). In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME. (WebCore::KURL::setHost): Ditto. (WebCore::KURL::setPort): Ditto. (WebCore::KURL::setHostAndPort): Ditto. (WebCore::KURL::setUser): Ditto. (WebCore::KURL::setPass): Ditto. (WebCore::KURL::setRef): Ditto. (WebCore::KURL::setQuery): Ditto. (WebCore::KURL::setPath): Ditto. Note that problems described in bug 23500 mask some of the problems in release builds currently, as the incorrectly parsed URL is ignored. (WebCore::KURL::parse): Verify that the passed string is already encoded.
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::parseMappedAttribute): (WebCore::HTMLLinkElement::process):
  • html/HTMLLinkElement.h: Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see LayoutTests/ChangeLog).
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup. (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that String to KURL conversion requires the string to be already encoded.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin. HTML5 seems a little unclear on how this should work (it talks about "either parsing it as a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a security origin object), so I just made the code as close to what we already had as possible.

LayoutTests:

  • http/tests/misc/dns-prefetch-control-expected.txt:
  • http/tests/misc/dns-prefetch-control.html: Google documentation for DNS Prefetch makes use of net-path relative URLs (server-name), explaining that scheme is not necessary. This is of course true, but this test uses data: subframes, and data: is a non-hierachical scheme, so resolving such URLs fails, resulting in a KURL object that is not valid. WebKit used to ignore this, and tried to create a URL from this string again, now with a single argument KURL constructor, which resulted in a valid file: URL, which was successfully used! Both issues have been corrected in WebCore, so I had to change the test to no longer use relative net-path URLs.
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception.html: URLs that start with "/" are no longer converted to "file:" ones, so the results now match Firefox.
  • http/tests/uri/resolve-encoding-relative-expected.txt: Added.
  • http/tests/uri/resolve-encoding-relative.html: Added. Added a test to cover some cases of relative URL resolving that were not covered before. Expected results are taken from Firefox 3, and WebKit doesn't match in how fragments are encoded (we use document encoding, while Firefox uses UTF-8). Since fragments are not sent in HTTP requests, this is not too dangerous, but the Firefox behavior looks more consistent.

Jan 24, 2009:

4:34 PM Changeset in webkit [40220] by treat@webkit.org
  • 2 edits in trunk/WebKit/qt

Oops, fix the Qt build.

2:41 PM Changeset in webkit [40219] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

2009-01-24 Eric Carlson <eric.carlson@apple.com>

<video> controls visibility test needs to dump render tree as text because
the test does not always end at the same time, so the timeline slider thumb
is not always at the same position.

  • media/video-controls-visible-audio-only.html:
  • platform/mac/media/video-controls-visible-audio-only-expected.txt:
2:39 PM Changeset in webkit [40218] by treat@webkit.org
  • 4 edits in trunk/WebKit/qt

Add QWebFrame::renderContents() method which allows arbitary rendering
of any content region within the QWebFrame. It also does not draw any
scrollbars.

12:59 PM Changeset in webkit [40217] by Darin Adler
  • 3 edits in trunk/LayoutTests

2009-01-24 Darin Adler <Darin Adler>

Try to fix expected results for new video element test.

  • platform/mac/media/video-controls-visible-audio-only-expected.png: Landed new result generated on my machine.
  • platform/mac/media/video-controls-visible-audio-only-expected.txt: Ditto.
12:40 PM Changeset in webkit [40216] by Darin Adler
  • 2 edits in trunk/WebCore

2009-01-24 Darin Adler <Darin Adler>

Try to fix Qt build.

  • WebCore.pro: Added JSTextCustom.cpp.
7:10 AM Changeset in webkit [40215] by cmarrin@apple.com
  • 8 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=23467

Change styleAvailable functionality to be a linked list
rather than scanning every CompositeAnimation for
Animations that are waiting for styleAvailable. This has
potential for large performance improvement in cases where
there are many animations firing at once. But it will also
help in my next fix, which is to synchronize software and
accelerated animations.

I also changed slightly when the beginAnimationUpdate and
endAnimationUpdate calls are made. But this has no real
effect on performance or behavior.

1:55 AM Changeset in webkit [40214] by oliver@apple.com
  • 2 edits in trunk/JavaScriptCore

Force inlining of Lexer::matchPunctuator

Reviewed by Maciej Stachowiak.

2.2% win when parsing jQuery, Mootools, Prototype, etc

1:39 AM Changeset in webkit [40213] by ap@webkit.org
  • 5 edits
    2 adds in trunk

Reviewed by Darin Adler.

<rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch

Test: http/tests/xmlhttprequest/encode-request-url-2.html

  • platform/KURL.cpp: (WebCore::appendASCII): Added a helper function. (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better specified behavior. (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte stream, but not yet transformed to ASCII-only using percent escapes. Since different parts of the byte stream can use different encodings, round-tripping is not possible. (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of this function convert the string to utf-8. I think that on the remanining code paths, it is correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a FIXME warning.
12:05 AM Changeset in webkit [40212] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2009-01-24 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix after r40170

  • GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp and editing/RemoveNodeAttributeCommand.h
Note: See TracTimeline for information about the timeline view.