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

Timeline



Jan 28, 2008:

9:32 PM Changeset in webkit [29844] by mitz@apple.com
  • 5 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • make isSVGFont non-virtual
  • platform/graphics/FontData.h:
  • platform/graphics/SegmentedFontData.cpp:
  • platform/graphics/SegmentedFontData.h:
  • platform/graphics/SimpleFontData.h: (WebCore::SimpleFontData::isSVGFont):
6:05 PM Changeset in webkit [29843] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Adam Roben.

  • fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll event before updating the window, thus giving event handlers a chance to update layout for the new scroll position, eliminating the jitter.
6:03 PM Changeset in webkit [29842] by eric@webkit.org
  • 2 edits
    1 copy
    4 adds in trunk/JavaScriptGlue

Reviewed by darin.


Add icu headers to JSG in preparation for depending on ::UChar.

  • Configurations/Base.xcconfig:
  • ForwardingHeaders/wtf/unicode: Added.
  • ForwardingHeaders/wtf/unicode/Unicode.h: Added.
  • ForwardingHeaders/wtf/unicode/icu: Added.
  • ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Added.
  • icu: Copied from ../JavaScriptCore/icu.
5:55 PM Changeset in webkit [29841] by Adam Roben
  • 2 edits in trunk/WebCore

Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified

Reviewed by Darin.

A null value exception was being thrown in Gmail's JS code because a
call to document.write failed. document.write failed because
Document::close had not yet been called. Document::close was not
called because the Document was considered to not be "complete" in
FrameLoader::checkComplete because the user stylesheet was in the
process of loading. The user stylesheet was loading because it had
previously been evicted from the cache and was loading fresh from
disk. It had been evicted from the cache because the calculation of
the expiration date was incorrectly casting/overflowing in
ResourceResponseCFNet.cpp.

We now calculate the expiration date in a way that does not cause us
to overflow a time_t, and we correctly clamp the value to the range of
a time_t. I also made the fix for the last modified date, though that
was not causing any bug I am aware of.

In the long-term it seems like whether or not Document::close is
called should not be dependent upon whether the user stylesheet has
finished loading or not.

  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and clamps to the range of time_t. (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT.
4:41 PM Changeset in webkit [29840] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Nikolas Zimmermann.

  • fix leaks introduced in r29838
  • svg/SVGFont.cpp: (WebCore::floatWidthMissingGlyphCallback): (WebCore::drawTextMissingGlyphCallback):
3:37 PM Changeset in webkit [29839] by Nikolas Zimmermann
  • 23 edits
    5 adds in trunk

Reviewed by Eric, Dan & Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980

Support external SVG Fonts, by reusing the custom font handling logic.
This enables us - as first engine - to render HTML pages using SVG Fonts.

Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg
Add new testcase svg-fonts-in-html.html.

2:47 PM Changeset in webkit [29838] by mitz@apple.com
  • 4 edits in trunk

WebCore:

Reviewed by Adam Roben.

  • fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows

The results differed between Mac OS X and Windows because the code was
using a 0-size font, which Mac OS X changes to 12pt.

  • svg/SVGFont.cpp: (WebCore::floatWidthMissingGlyphCallback): Use the font description of the primary font to initialize the fallback font. (WebCore::drawTextMissingGlyphCallback): Ditto.

LayoutTests:

Reviewed by Adam Roben.

  • updated results for a test that was failing on Windows
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
1:30 PM Changeset in webkit [29837] by eric@webkit.org
  • 6 edits in trunk/WebCore

Reviewed by Nikolas Zimmermann.

Use class instead of struct to appease MSVC.

  • history/HistoryItem.h:
  • loader/FrameLoaderClient.h:
  • page/InspectorController.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/mac/ResourceRequest.h:
12:50 PM Changeset in webkit [29836] by weinig@apple.com
  • 4 edits in trunk/JavaScriptCore

Rubber-stamped by Darin Adler.

  • Fix whitespace in nodes.h/cpp and nodes2string.cpp.

(NOTE: Specific changed functions elided for space and clarity)

  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
12:04 PM Changeset in webkit [29835] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

<rdar://problem/5667017> storage/execute-sql-args.html failing -- openDatabase returning null on buildbot

  • platform/win/Skipped: Removed a passing test.
9:40 AM Changeset in webkit [29834] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/dynamic/float-no-longer-overhanging.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns out not to be overhanging at this time, ensure that the child paints it.

LayoutTests:

Reviewed by Darin Adler.

  • fast/dynamic/float-no-longer-overhanging.html: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.checksum: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.png: Added.
  • platform/mac/fast/dynamic/float-no-longer-overhanging-expected.txt: Added.
3:19 AM Changeset in webkit [29833] by oliver@apple.com
  • 2 edits in trunk/WebCore

More wx fixes

2:43 AM Changeset in webkit [29832] by oliver@apple.com
  • 3 edits in trunk

And another Wx build fix

2:34 AM Changeset in webkit [29831] by oliver@apple.com
  • 3 edits in trunk/LayoutTests

Due to a difference between the collision bounds for paths
in different versions of CG these tests need modiifed to
pass on tiger and leopard.

RS=Mark

1:23 AM Changeset in webkit [29830] by oliver@apple.com
  • 2 edits in trunk/WebCore

Yet another Wx build fix

12:31 AM Changeset in webkit [29829] by oliver@apple.com
  • 2 edits in trunk/WebCore

Wx build fix

12:18 AM Changeset in webkit [29828] by oliver@apple.com
  • 2 edits in trunk/WebCore

Gtk build fix

Jan 27, 2008:

11:04 PM Changeset in webkit [29827] by oliver@apple.com
  • 11 edits
    3 adds in trunk

Bug 16629: <canvas> does not support isPointInPath()

Reviewed by Sam Weinig.

Relatively trivial change to implement pointInPath and add
it to the bindings. Most of this patch is the addition of
GraphicsContext::getCTM() by pulling the various platform
implementations from CanvasRenderingContext2D::willDraw

Test: fast/canvas/pointInPath.html

9:02 PM Changeset in webkit [29826] by ap@webkit.org
  • 6 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17014
REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code.
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode): Corrected a comment.
4:14 PM Changeset in webkit [29825] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

Patch for http://bugs.webkit.org/show_bug.cgi?id=17025
nodes.h/cpp has been rolling around in the mud - lets hose it down

  • Rename member variables to use the m_ prefix.

(NOTE: Specific changed functions elided for space and clarity)

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
4:04 PM Changeset in webkit [29824] by alp@webkit.org
  • 4 edits in trunk/WebCore

2008-01-27 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=17029
Use of deprecated class function but declares GTK_DISABLE_DEPRECATED

Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla
upstream.

Adapt RenderThemeGtk.cpp to track minor changes.

3:24 PM Changeset in webkit [29823] by alp@webkit.org
  • 2 edits in trunk/WebKitTools

2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

GTK+ DRT build fix for breakage introduced in r29822.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setPersistentUserStyleSheetLocation): (LayoutTestController::clearPersistentUserStyleSheet):
12:00 PM Changeset in webkit [29822] by mitz@apple.com
  • 12 edits
    5 adds in trunk

WebKitTools:

Reviewed by Darin Adler.

  • add support for directory prologues and epilogues to run-webkit-tests
  • allow setting a persistent user style sheet in DumpRenderTree
  • activate the WebKit Layout Tests font in Windows DumpRenderTree
  • DumpRenderTree/LayoutTestController.cpp: (clearPersistentUserStyleSheetCallback): Added. (setPersistentUserStyleSheetLocationCallback): Added. (LayoutTestController::staticFunctions): Added. clearPersistentUserStyleSheet and setPersistentUserStyleSheet.
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (setPersistentUserStyleSheetLocation): Added. (resetWebViewToConsistentStateBeforeTesting): Added the user style sheet to the set of things this function resets. Now it either disables the user style sheet or sets it to the persistent user style sheet and enables it.
  • DumpRenderTree/mac/DumpRenderTreeMac.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setPersistentUserStyleSheetLocation): Added. (LayoutTestController::clearPersistentUserStyleSheet): Added.
  • DumpRenderTree/win/DumpRenderTree.cpp: (setPersistentUserStyleSheetLocation): Added. (initialize): Added the WebKit Layout Tests font to the set of fonts to install. (resetWebViewToConsistentStateBeforeTesting): See DumpRenderTree.mm.
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPersistentUserStyleSheetLocation): Added. (LayoutTestController::clearPersistentUserStyleSheet): Added.
  • Scripts/run-webkit-tests: Changed to look for, and if found process in DumpRenderTree, files named run-webkit-tests-prologue.html and run-webkit-tests-epilogue.html in the resources subdirectory of any test directory and platform test results directory. The prologues are processed before the first test from the directory (and its subdirectories) is run, and the epilogues are processed after the last test from the directory is run. Platform-specific prologues and epilogues are processed in order of specificity.

LayoutTests:

Reviewed by Darin Adler.

  • make some CSS2.1 tests pass on Windows by using @font-face to force font fallback to match Mac OS X.
  • platform/win/Skipped:
  • platform/win/css2.1: Added.
  • platform/win/css2.1/resources: Added.
  • platform/win/css2.1/resources/Mac-compatible-font-fallback.css: Added.
  • platform/win/css2.1/resources/run-webkit-tests-epilogue.html: Added.
  • platform/win/css2.1/resources/run-webkit-tests-prologue.html: Added.
11:49 AM Changeset in webkit [29821] by alp@webkit.org
  • 11 edits
    4 adds in trunk

2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=14811
[gtk] [request] add a webkit_gtk_page_go_to_history_item function

2:17 AM Changeset in webkit [29820] by Darin Adler
  • 2 edits in trunk/LayoutTests
  • http/tests/security/cross-frame-access-put-expected.txt: Updated again. Not sure why, but I generated a different result the first time I tried. I suspect this test gives different results depending on what other tests are run with it.
1:55 AM Changeset in webkit [29819] by Darin Adler
  • 4 edits in trunk/LayoutTests
  • updated some test results I missed that were affected by my fix for bug 16498
  • fast/dom/xmlhttprequest-get-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • plugins/inner-html-display-none-expected.txt:
1:38 AM Changeset in webkit [29818] by Darin Adler
  • 11 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

  • fix <rdar://problem/5657450> REGRESSION: const is broken

Test: fast/js/const.html

SunSpider said this was 0.3% slower. And I saw some Shark samples in
JSGlobalObject::put -- not a lot but a few. We may be able to regain the
speed, but for now we will take that small hit for correctness sake.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::put): Pass the checkReadOnly flag in to symbolTablePut instead of passing attributes.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTablePut): Removed the code to set attributes here, since we only set attributes when creating a property. Added the code to check read-only here, since we need that to implement const!
  • kjs/function.cpp: (KJS::ActivationImp::put): Pass the checkReadOnly flag in to symbolTablePut instead of passing attributes.
  • kjs/nodes.cpp: (KJS::isConstant): Added. (KJS::PostIncResolveNode::optimizeVariableAccess): Create a PostIncConstNode if optimizing for a local variable and the variable is constant. (KJS::PostDecResolveNode::optimizeVariableAccess): Ditto. But PostDecConstNode. (KJS::PreIncResolveNode::optimizeVariableAccess): Ditto. But PreIncConstNode. (KJS::PreDecResolveNode::optimizeVariableAccess): Ditto. But PreDecConstNode. (KJS::PreIncConstNode::evaluate): Return the value + 1. (KJS::PreDecConstNode::evaluate): Return the value - 1. (KJS::PostIncConstNode::evaluate): Return the value converted to a number. (KJS::PostDecConstNode::evaluate): Ditto. (KJS::ReadModifyResolveNode::optimizeVariableAccess): Create a ReadModifyConstNode if optimizing for a local variable and the variable is constant. (KJS::AssignResolveNode::optimizeVariableAccess): Ditto. But AssignConstNode. (KJS::ScopeNode::optimizeVariableAccess): Pass the local storage to the node optimizeVariableAccess functions, since that's where we need to look to figure out if a variable is constant. (KJS::FunctionBodyNode::processDeclarations): Moved the call to optimizeVariableAccess until after localStorage is set up. (KJS::ProgramNode::processDeclarations): Ditto.
  • kjs/nodes.h: Fixed the IsConstant and HasInitializer values. They are used as flag masks, so a value of 0 will not work for IsConstant. Changed the first parameter to optimizeVariableAccess to be a const reference to a symbol table and added a const reference to local storage. Added classes for const versions of local variable access: PostIncConstNode, PostDecConstNode, PreIncConstNode, PreDecConstNode, ReadModifyConstNode, and AssignConstNode.
  • kjs/object.cpp: (KJS::JSObject::put): Tweaked comments a bit, and changed the checkReadOnly expression to match the form used at the two other call sites.

LayoutTests:

Reviewed by Oliver.

  • tests for <rdar://problem/5657450> REGRESSION: const is broken
  • fast/js/const-expected.txt: Updated with results that express success rather than failure, and to include the many new tests I added.
  • fast/js/kde/const-expected.txt: Ditto.
  • fast/js/resources/const.js: Added many new tests, covering the various cases of const in globals, function locals, the slow case inside eval, the different node types, and the values of the expressions.
12:54 AM Changeset in webkit [29817] by Darin Adler
  • 17 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/function-names.html

  • kjs/array_object.cpp: (KJS::ArrayObjectImp::ArrayObjectImp): Use the class name as the constructor's function name.
  • kjs/bool_object.cpp: (KJS::BooleanObjectImp::BooleanObjectImp): Ditto.
  • kjs/date_object.cpp: (KJS::DateObjectImp::DateObjectImp): Ditto.
  • kjs/error_object.cpp: (KJS::ErrorPrototype::ErrorPrototype): Make the error object be an Error. (KJS::ErrorObjectImp::ErrorObjectImp): Use the class name as the constructor's function name. (KJS::NativeErrorPrototype::NativeErrorPrototype): Take const UString&. (KJS::NativeErrorImp::NativeErrorImp): Use the prototype's name as the constructor's function name.
  • kjs/error_object.h: Change ErrorPrototype to inherit from ErrorInstance. Change the NativeErrorImp constructor to take a NativeErrorPrototype pointer for its prototype.
  • kjs/function.h: Removed unneeded constructor for internal functions without names. We want to avoid those!
  • kjs/function_object.cpp: (KJS::functionProtoFuncToString): Removed code that writes out just [function] for functions that have no names. There's no reason to do that. (KJS::FunctionObjectImp::FunctionObjectImp): Use the class name as the constructor's function name.
  • kjs/internal.cpp: Removed the unused constructor.
  • kjs/number_object.cpp: (KJS::fractionalPartToString): Marked static for internal linkage. (KJS::exponentialPartToString): Ditto. (KJS::numberProtoFuncToPrecision): Removed an unneeded else. (KJS::NumberObjectImp::NumberObjectImp): Use the class name as the constructor's function name. (KJS::NumberObjectImp::getValueProperty): Tweaked formatting.
  • kjs/object_object.cpp: (KJS::ObjectObjectImp::ObjectObjectImp): Use "Object" for the function name.
  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::RegExpObjectImp): Use "RegExp" for the function name.
  • kjs/string_object.cpp: (KJS::StringObjectImp::StringObjectImp): Use the class name as the constructor's function name.

LayoutTests:

Reviewed by Oliver.

  • fast/js/function-names-expected.txt: Updated for new tests.
  • fast/js/kde/resources/function.js: Updated test to expect the format that Gecko uses for native code, which we now match character for character.
  • fast/js/resources/function-names.js: Added tests for the names of all the constructors.
12:48 AM Changeset in webkit [29816] by Darin Adler
  • 15 edits
    10 adds in trunk

WebCore:

Reviewed and tweaked quite a bit by Darin.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript

A new HistoryItem is created for calls to Document::open. Calls to
Document::write save the written data to a SharedBuffer that is also
stored on the HistoryItem. When the user navigates back to a
HistoryItem that has a valid buffer, that data is used for the page
content.

Tests: http/tests/navigation/document-open-adds-history-item.html

http/tests/navigation/document-open-delayed-adds-history-item.html
http/tests/navigation/document-open-new-window-adds-history-item.html
http/tests/navigation/document-open-replace-no-history-item.html

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or "text/plain" and a boolean for "replace" in rather than always setting replace to true and the MIME type to "text/html".
  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and replace boolean explicitly, since we don't want to rely on Document::open()'s default.
  • dom/Document.cpp: (WebCore::Document::open): Correctly determine the "replace" boolean. Pass along the MIME type, replace boolean, and shared buffer to the frame loader's didExplicitOpen function. (WebCore::Document::write): Pass MIME type and replace boolean explicitly to the open function so we don't do treat it as replace if you write without an open. Store text written by the script so it can be used later for history. (WebCore::Document::clear): Drop the text written byt he script.
  • dom/Document.h: Added MIME type and replace boolean parameters for open. Had to keep the old version for the sake of DOM bindings. Added the shared buffer used for text written by script.
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): Copy m_substituteData. (WebCore::HistoryItem::substituteData): Added. (WebCore::HistoryItem::setSubstituteData): Added.
  • history/HistoryItem.h: Added m_substituteData, getter, and setter.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the history item, including attaching the shared buffer that will contain all the data written by script. (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through when creating the document loader. (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader with the substitute data from the current history item. (WebCore::FrameLoader::reload): Ditto. (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history item has substitute data, then consider the URL from the substitute data rather than the one in the history item itself. (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data.
  • loader/FrameLoader.h: Added parameters to load and didExplicitOpen.
  • platform/text/CharacterNames.h: Added byteOrderMark, and also added it under its other official name, zeroWidthNoBreakSpace.
  • xml/DOMParser.cpp: (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean explicitly, since we don't want to rely on Document::open()'s default.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::getResponseXML): Ditto.
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.

LayoutTests:

Reviewed by Darin.

Test cases for fix to http://bugs.webkit.org/show_bug.cgi?id=14959
No back forward entry added for pages created in javascript.

  • http/tests/navigation/document-open-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-adds-history-item.html: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-delayed-adds-history-item.html: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-new-window-adds-history-item.html: Added.
  • http/tests/navigation/document-open-replace-no-history-item-expected.txt: Added.
  • http/tests/navigation/document-open-replace-no-history-item.html: Added.
Note: See TracTimeline for information about the timeline view.