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.

Jan 26, 2008:

8:21 PM Changeset in webkit [29815] by Darin Adler
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/function-toString-parentheses.html

The problem here was that a NumberNode with a negative number in it had the wrong
precedence. It's not a primary expression, it's a unary operator with a primary
expression after it.

Once the precedence of NumberNode was fixed, the cases from bug 17020 were also
fixed without trying to treat bracket nodes like dot nodes. That wasn't needed.
The reason we handle numbers before dot nodes specially is that the dot is a
legal character in a number. The same is not true of a bracket. Eventually we
could get smarter, and only add the parentheses when there is actual ambiguity.
There is none if the string form of the number already has a dot in it, or if
it's a number with a alphabetic name like infinity or NAN.

  • kjs/nodes.h: Renamed back from ObjectAccess to DotExpr. (KJS::NumberNode::precedence): Return PrecUnary for negative numbers, since they serialize as a unary operator, not a primary expression.
  • kjs/nodes2string.cpp: (KJS::SourceStream::operator<<): Clear m_numberNeedsParens if this adds parens; one set is enough. (KJS::bracketNodeStreamTo): Remove unneeded special flag here. Normal operator precedence suffices. (KJS::NewExprNode::streamTo): Ditto.

LayoutTests:

Reviewed by Oliver.

  • fast/js/function-toString-parentheses-expected.txt: Updated.
  • fast/js/resources/function-toString-parentheses.js: More test cases.
8:10 PM Changeset in webkit [29814] by mrowe@apple.com
  • 2 edits in trunk/WebKit/mac

Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.

Reviewed by Darin Adler.

  • Misc/WebNSDataExtras.m:

(-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
to the new CFString so that they will be freed when no longer needed.

6:16 PM Changeset in webkit [29813] by oliver@apple.com
  • 5 edits in trunk

Fix for http://bugs.webkit.org/show_bug.cgi?id=17020
Function.toString does not parenthesise numbers for the bracket accessor

Reviewed by Maciej and Darin.

It turns out that logic was there for all of the dot accessor nodes to make numbers be
parenthesised properly, so it was a trivial extension to extend that to the bracket nodes.
I renamed the enum type to reflect the fact that it is now used for both dot and bracket
accessors.

4:40 PM Changeset in webkit [29812] by oliver@apple.com
  • 5 edits in trunk

Fix Bug 17018: Incorrect code generated from Function.toString for get/setters in object literals

Reviewed by Darin.

Don't quote getter and setter names during output, as that is simply wrong.

4:17 PM Changeset in webkit [29811] by ddkilzer@apple.com
  • 4 edits
    1 delete in trunk/WebKit

WebKit:

<rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit

Reviewed by Darin.

  • WebKit.xcodeproj/project.pbxproj: Removed WebDashboardRegion.h.

WebKit/mac:

<rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit

Reviewed by Darin.

  • WebCoreSupport/WebDashboardRegion.h: Removed.
  • WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
10:55 AM Changeset in webkit [29810] by Darin Adler
  • 10 edits in trunk/JavaScriptCore

Reviewed by Eric Seidel.

  • JavaScriptCore.exp: Export the GlobalExecState constructor instead of the global flavor of the ExecState constructor. It'd probably be cleaner to not export either one, but JSGlobalObject inlines the code that constructs the ExecState. If we changed that, we could remove this export.
  • JavaScriptCore.xcodeproj/project.pbxproj: Re-sorted a few things and put the new source files into the kjs group rather than at the top level.
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): Marked inline and updated for data member name changes. This is now only for use for the derived classes. Also removed code that sets the unused m_savedExec data member for the global case. That data member is only used for the other two types. (KJS::ExecState::~ExecState): Marked inline and removed all the code. The derived class destructors now inclde the appropriate code. (KJS::ExecState::lexicalGlobalObject): Removed unneeded special case for an empty scope chain. The bottom function already returns 0 for that case, so the general case code handles it fine. Also changed to use data members directly rather than calling functions. (KJS::GlobalExecState::GlobalExecState): Added. Calls through to the base class constructor. (KJS::GlobalExecState::~GlobalExecState): Added. (KJS::InterpreterExecState::InterpreterExecState): Added. Moved code to manipulate activeExecStates here since we don't want to have to check for the special case of globalExec. (KJS::InterpreterExecState::~InterpreterExecState): Added. (KJS::EvalExecState::EvalExecState): Added. (KJS::EvalExecState::~EvalExecState): Added. (KJS::FunctionExecState::FunctionExecState): Added. (KJS::FunctionExecState::~FunctionExecState): Added.
  • kjs/ExecState.h: Tweaked the header, includes, and declarations a bit. Made ExecState inherit from Noncopyable. Reformatted some comments and made them a bit more brief. Rearranged declarations a little bit and removed unused savedExec function. Changed seenLabels function to return a reference rather than a pointer. Made constructors and destructor protected, and also did the same with all data members. Renamed m_thisVal to m_thisValue and ls to m_labelStack. Added three new derived classes for each of the types of ExecState. The primary goal here was to remove a branch from the code in the destructor, but it's also clearer than overloading the arguments to the ExecState constructor.
  • kjs/JSGlobalObject.cpp: (KJS::getCurrentTime): Fixed formatting. (KJS::JSGlobalObject::pushActivation): Removed parentheses that don't make the expression clearer -- other similar sites didn't have these parentheses, even the one a couple lines earlier that sets stackEntry. (KJS::JSGlobalObject::tearOffActivation): Got rid of unneeded static_cast (I think I mentioned this during patch review) and used an early exit so that the entire contents of the function aren't nested inside an if statement. Also removed the check of codeType, instead checking Activation for 0. For now, I kept the codeType check, but inside an assertion.
  • kjs/JSGlobalObject.h: Changed type of globalExec to GlobalExecState.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed type to FunctionExecState. (KJS::GlobalFuncImp::callAsFunction): Changed type to EvalExecState.
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate): Changed type to GlobalExecState.
  • kjs/nodes.cpp: (KJS::ContinueNode::execute): Changed code since seenLabels() returns a reference now instead of a pointer. (KJS::BreakNode::execute): Ditto. (KJS::LabelNode::execute): Ditto.
10:27 AM Changeset in webkit [29809] by weinig@apple.com
  • 3 edits in trunk/JavaScriptCore

Reviewed by Mark Rowe.

Cleanup node2string a little.

  • Remove some unnecessary branching.
  • Factor out bracket and dot streaming into static inline functions.
  • kjs/nodes.h:
  • kjs/nodes2string.cpp: (KJS::bracketNodeStreamTo): (KJS::dotNodeStreamTo): (KJS::FunctionCallBracketNode::streamTo): (KJS::FunctionCallDotNode::streamTo): (KJS::PostIncBracketNode::streamTo): (KJS::PostDecBracketNode::streamTo): (KJS::PostIncDotNode::streamTo): (KJS::PostDecDotNode::streamTo): (KJS::DeleteBracketNode::streamTo): (KJS::DeleteDotNode::streamTo): (KJS::PreIncBracketNode::streamTo): (KJS::PreDecBracketNode::streamTo): (KJS::PreIncDotNode::streamTo): (KJS::PreDecDotNode::streamTo): (KJS::ReadModifyBracketNode::streamTo): (KJS::AssignBracketNode::streamTo): (KJS::ReadModifyDotNode::streamTo): (KJS::AssignDotNode::streamTo): (KJS::WhileNode::streamTo):
9:58 AM Changeset in webkit [29808] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields


Reviewed by Oliver.

  • WebView.cpp: (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
4:32 AM Changeset in webkit [29807] by mrowe@apple.com
  • 2 edits in trunk

Fix http://bugs.webkit.org/show_bug.cgi?id=17007 ([GTK] autogen.sh attempts to use "libtoolize" on the Mac).

Reviewed by Alp Toker.

libtoolize is installed as glibtoolize on Mac OS X to avoid naming conflicts
with other system commands. Check for the presence of glibtoolize if libtoolize
cannot be found.

  • autogen.sh:
2:01 AM Changeset in webkit [29806] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix http://bugs.webkit.org/show_bug.cgi?id=17001 (Build error with Gtk port on Mac OS X).

Reviewed by Darin Adler.

If both XP_MACOSX and XP_UNIX are defined then X11.h and Carbon.h will both be included.
These provide conflicting definitions for a type named 'Cursor'. As XP_UNIX is set by
the build system when targeting X11, it doesn't make sense for XP_MACOSX to also be set
in this instance.

  • bindings/npapi.h: Don't define XP_MACOSX if XP_UNIX is defined.
1:42 AM Changeset in webkit [29805] by eric@webkit.org
  • 23 edits in trunk/WebCore

Reviewed by Sam and Darin.

Fire a warning shot in DeprecatedChar's direction.

Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar
Remove a needless String -> DeprecatedString -> String conversion for <script> tags

  • css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio):
  • css/SVGCSSParser.cpp:
  • dom/Position.cpp: (WebCore::Position::leadingWhitespacePosition): (WebCore::Position::trailingWhitespacePosition):
  • editing/TextIterator.cpp: (WebCore::WordAwareIterator::advance):
  • html/HTMLFontElement.cpp: (WebCore::parseFontSizeNumber):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::scriptExecution): (WebCore::HTMLTokenizer::notifyFinished):
  • html/HTMLTokenizer.h:
  • loader/CachedCSSStyleSheet.cpp:
  • loader/TextResourceDecoder.cpp:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::getData):
  • platform/network/HTTPParsers.cpp: (WebCore::extractMIMETypeFromMediaType):
  • platform/text/PlatformString.h:
  • platform/text/StringImpl.cpp: (WebCore::parseLength): (WebCore::StringImpl::stripWhiteSpace): (WebCore::StringImpl::simplifyWhiteSpace): (WebCore::StringImpl::toInt): (WebCore::StringImpl::toInt64): (WebCore::StringImpl::toUInt64):
  • platform/text/StringImpl.h: (WebCore::isSpaceOrNewline):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine):
  • svg/SVGFontFaceElement.cpp: (WebCore::mapAttributeToCSSProperty):
  • svg/SVGLength.cpp:
  • svg/SVGStyledElement.cpp: (WebCore::mapAttributeToCSSProperty):
  • xml/XPathParser.cpp:
1:01 AM Changeset in webkit [29804] by Darin Adler
  • 6 edits in trunk

JavaScriptCore:

Reviewed by Oliver.

Test: fast/js/toString-for-var-decl.html

  • kjs/nodes.h: Added PlaceholderTrueNode so we can put nodes into for loops without injecting the word "true" into them (nice, but not the bug fix). Fixed ForNode constructor so expr1WasVarDecl is set only when there is an expression, since it's common for the actual variable declaration to be moved by the parser.
  • kjs/nodes2string.cpp: (KJS::PlaceholderTrueNode::streamTo): Added. Empty.

LayoutTests:

Reviewed by Oliver.

  • fast/js/resources/toString-for-var-decl.js: Streamlined the test a bit, with more of the execution within shouldBe so that exceptions are caught for us. Added a new test case reflecting the just-fixed bug.
  • fast/js/toString-for-var-decl-expected.txt: Updated.

Jan 25, 2008:

11:58 PM Changeset in webkit [29803] by oliver@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix typo in changelog

11:54 PM Changeset in webkit [29802] by oliver@apple.com
  • 6 edits in trunk

Fix for bug 17012: REGRESSION: JSC can't round trip an object literal

Reviewed by Maciej.

Add logic to ensure that object literals and function expressions get
parenthesis when necessary.

5:16 PM Changeset in webkit [29801] by Stephanie Lewis
  • 1 edit in trunk/WebCore/ChangeLog

fix changelog

5:09 PM Changeset in webkit [29800] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-01-25 U-SLEWIS-WIN\Stephanie <Stephanie Lewis>

Reviewed by Tim.

expand workaround for <rdar://5695848> to include js files so that the
web inspector can work

  • platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::doUpdateResourceResponse):
5:03 PM Changeset in webkit [29799] by Antti Koivisto
  • 1 edit in trunk/WebCore/ChangeLog

Reviewed by Adele.


(this is for r29798, my commit failed to include the log)


Windows fix to match r29773
If the media is playing and the load stalls the playback wont restart by seeking backwards.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
3:41 PM Changeset in webkit [29798] by Antti Koivisto
  • 1 edit in trunk/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp

Reviewed by Adele.


Windows fix to match r29773
If the media is playing and the load stalls the playback wont restart by seeking backwards.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
3:40 PM Changeset in webkit [29797] by Darin Adler
  • 12 edits
    2 adds in trunk

WebCore:

Reviewed by Anders.

  • fix <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement

For empty statements, SQLite returns 0 for the statement. We have to cope with that.

Test: storage/empty-statement.html

  • platform/sql/SQLiteStatement.cpp: (WebCore::sqlite3_prepare16_v2): Added overload so we don't need an #if inside the prepare function. (WebCore::SQLiteStatement::SQLiteStatement): Initialize the m_isPrepared boolean. Removed the code to add a null character to the end of the string; instead we will use charactersWithNullTermination. (WebCore::SQLiteStatement::prepare): Set m_isPrepared based on the error value returned. Use the error value from sqlite3_prepare16_v2, not from lastError(). (WebCore::SQLiteStatement::step): Assert that the statement is prepared rather than checking it at runtime. However, in the case where this is called with m_statement of 0, return success rather than an error. That's needed for empty statements. (WebCore::SQLiteStatement::finalize): Use early return idiom for clarity. When there is no statement, return SQLITE_OK instead of calling lastError(). (WebCore::SQLiteStatement::reset): Use early return idiom for clarity. When there is no statement, return SQLITE_OK rather than SQLITE_ERROR, but assert the statement is prepared. (WebCore::SQLiteStatement::executeCommand): Adjust the code that does a prepare so that it will work for empty statements. Do we really need to allow calling this without prepare? It would be simpler to just be able to assert that it's prepared. (WebCore::SQLiteStatement::returnsAtLeastOneResult): Ditto. (WebCore::SQLiteStatement::bindBlob): Added some assertions. Return SQLITE_ERROR if this is called with m_statement of 0 (should not be possible without assertions firing first). Return the actual error code rather than lastError(). (WebCore::SQLiteStatement::bindText): Ditto. Also simplified the special case for empty strings, since it requires any non-null pointer, not a pointer to a global zero character. (WebCore::SQLiteStatement::bindInt64): Ditto. (WebCore::SQLiteStatement::bindDouble): Ditto. (WebCore::SQLiteStatement::bindNull): Ditto. (WebCore::SQLiteStatement::bindValue): Moved default case out of the switch to take advantage of the gcc compiler warning for unhandled enum values in a switch. (WebCore::SQLiteStatement::bindParameterCount): Added assertion and code to handle the empty statement case. (WebCore::SQLiteStatement::columnCount): Added assertion and changed the code to use the early-return idiom. (WebCore::SQLiteStatement::getColumnName): Removed getColumnName16 -- we always use 16-bit characters and have no reason to ever use the 8-bit function. Added assertions about the passed-in column number. It's a little strange that this function checks the column number for too-large column numbers, but not for negative ones. I didn't change that for now. (WebCore::SQLiteStatement::getColumnText): Ditto. (WebCore::SQLiteStatement::getColumnDouble): Ditto. (WebCore::SQLiteStatement::getColumnInt): Ditto. (WebCore::SQLiteStatement::getColumnInt64): Ditto. (WebCore::SQLiteStatement::getColumnBlobAsVector): Ditto. (WebCore::SQLiteStatement::getColumnBlob): Tightened up function a bit, including use of the early-return idiom and replacing the multiple "size = 0" with a single one at the start of the function. (WebCore::SQLiteStatement::returnTextResults): Added a failure case when the prepare call doesn't work. Cleared the vector earlier to make the failure code simpler. Moved the declaration of the result boolean down lower to make it clearer what it's for. Changed use of lastError() to call on the database, to make it clearer that there's no per-statement last error kept around. It'd be even better to not use lastError() here. (WebCore::SQLiteStatement::returnIntResults): Ditto. (WebCore::SQLiteStatement::returnInt64Results): Ditto. (WebCore::SQLiteStatement::returnDoubleResults): Ditto.
(WebCore::SQLiteStatement::isExpired): Changed to use
rather than ?: because I think

it's slightly easier to read that way.

  • platform/sql/SQLiteStatement.h: Removed unneeded includes and forward declarations. Also removed unnneeded functions isPrepared, getColumnName16, getColumnText16, returnTextResults16, lastError, and lastErrorMsg. Changed prepareAndStep so that it checks the result of prepare before callling step. Added a debug-only m_isPrepared boolean.
  • loader/icon/IconDatabase.cpp: (WebCore::IconDatabase::checkIntegrity): Remove 16 suffix from text-related function names. (WebCore::IconDatabase::performURLImport): Ditto. (WebCore::IconDatabase::pruneUnretainedIcons): Ditto.
  • platform/sql/SQLiteDatabase.cpp: (WebCore::SQLiteDatabase::clearAllTables): Ditto.
  • storage/Database.cpp: (WebCore::retrieveTextResultFromDatabase): Ditto. (WebCore::Database::performGetTableNames): Ditto.
  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase): Ditto. (WebCore::DatabaseTracker::populateOrigins): Ditto. (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto. (WebCore::DatabaseTracker::addDatabase): Ditto.
  • storage/SQLStatement.cpp: (WebCore::SQLStatement::execute): Ditto.
  • platform/sql/SQLiteDatabase.h: Removed unneeded includes.
  • storage/SQLResultSet.h: Ditto.
  • storage/SQLResultSetRowList.h: Ditto.

LayoutTests:

Reviewed by Anders.

  • test for <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement
  • storage/empty-statement-expected.txt: Added.
  • storage/empty-statement.html: Added.
3:07 PM Changeset in webkit [29796] by Antti Koivisto
  • 7 edits in trunk/LayoutTests

Reviewed by Darin.


Fix <rdar://problem/5674282>
Some media tests fail on Windows


  • fix the script to exit cleanly
  • slightly increase the amount of data to hand out before stalling, apparently QT on Windows needs more to start playback
2:28 PM Changeset in webkit [29795] by adele@apple.com
  • 89 edits
    4 adds in trunk

WebCore:

Reviewed by Sam.

Fix for <rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in

  • css/html4.css: Add horizontal padding to the media slider.
  • rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): Replace use of absoluteBoundingBox() with width() and height() (WebCore::RenderSlider::positionForOffset): ditto. Also, use the trackSize() for the maximum offset. (WebCore::RenderSlider::layout): Use contentWidth() and contentHeight() to take padding into account. (WebCore::RenderSlider::trackSize): ditto.

LayoutTests:

Reviewed by Sam.

Adding new test and updated results for:
<rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in

  • fast/forms/slider-padding.html: Added.
  • platform/mac/fast/forms/slider-padding-expected.checksum: Added.
  • platform/mac/fast/forms/slider-padding-expected.png: Added.
  • platform/mac/fast/forms/slider-padding-expected.txt: Added.
  • platform/mac/media/audio-controls-rendering-expected.checksum:
  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/broken-video-expected.checksum:
  • platform/mac/media/broken-video-expected.png:
  • platform/mac/media/progress-event-expected.checksum:
  • platform/mac/media/progress-event-expected.png:
  • platform/mac/media/unsupported-rtsp-expected.checksum:
  • platform/mac/media/unsupported-rtsp-expected.png:
  • platform/mac/media/unsupported-tracks-expected.checksum:
  • platform/mac/media/unsupported-tracks-expected.png:
  • platform/mac/media/video-append-source-expected.checksum:
  • platform/mac/media/video-append-source-expected.png:
  • platform/mac/media/video-autoplay-expected.checksum:
  • platform/mac/media/video-autoplay-expected.png:
  • platform/mac/media/video-buffered-expected.checksum:
  • platform/mac/media/video-buffered-expected.png:
  • platform/mac/media/video-controls-expected.checksum:
  • platform/mac/media/video-controls-expected.png:
  • platform/mac/media/video-controls-rendering-expected.checksum:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-currentTime-set2-expected.checksum:
  • platform/mac/media/video-currentTime-set2-expected.png:
  • platform/mac/media/video-display-toggle-expected.checksum:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-dom-autoplay-expected.checksum:
  • platform/mac/media/video-dom-autoplay-expected.png:
  • platform/mac/media/video-dom-src-expected.checksum:
  • platform/mac/media/video-dom-src-expected.png:
  • platform/mac/media/video-dom-start-expected.checksum:
  • platform/mac/media/video-dom-start-expected.png:
  • platform/mac/media/video-error-abort-expected.checksum:
  • platform/mac/media/video-error-abort-expected.png:
  • platform/mac/media/video-error-does-not-exist-expected.checksum:
  • platform/mac/media/video-error-does-not-exist-expected.png:
  • platform/mac/media/video-load-networkState-expected.checksum:
  • platform/mac/media/video-load-networkState-expected.png:
  • platform/mac/media/video-load-readyState-expected.checksum:
  • platform/mac/media/video-load-readyState-expected.png:
  • platform/mac/media/video-muted-expected.checksum:
  • platform/mac/media/video-muted-expected.png:
  • platform/mac/media/video-no-autoplay-expected.checksum:
  • platform/mac/media/video-no-autoplay-expected.png:
  • platform/mac/media/video-pause-empty-events-expected.checksum:
  • platform/mac/media/video-pause-empty-events-expected.png:
  • platform/mac/media/video-play-empty-events-expected.checksum:
  • platform/mac/media/video-play-empty-events-expected.png:
  • platform/mac/media/video-play-pause-events-expected.checksum:
  • platform/mac/media/video-play-pause-events-expected.png:
  • platform/mac/media/video-play-pause-exception-expected.checksum:
  • platform/mac/media/video-play-pause-exception-expected.png:
  • platform/mac/media/video-seek-past-end-paused-expected.checksum:
  • platform/mac/media/video-seek-past-end-paused-expected.png:
  • platform/mac/media/video-seek-past-end-playing-expected.checksum:
  • platform/mac/media/video-seek-past-end-playing-expected.png:
  • platform/mac/media/video-seekable-expected.checksum:
  • platform/mac/media/video-seekable-expected.png:
  • platform/mac/media/video-seeking-expected.checksum:
  • platform/mac/media/video-seeking-expected.png:
  • platform/mac/media/video-size-expected.checksum:
  • platform/mac/media/video-size-expected.png:
  • platform/mac/media/video-source-expected.checksum:
  • platform/mac/media/video-source-expected.png:
  • platform/mac/media/video-source-media-expected.checksum:
  • platform/mac/media/video-source-media-expected.png:
  • platform/mac/media/video-source-type-expected.checksum:
  • platform/mac/media/video-source-type-expected.png:
  • platform/mac/media/video-src-change-expected.checksum:
  • platform/mac/media/video-src-change-expected.png:
  • platform/mac/media/video-src-expected.checksum:
  • platform/mac/media/video-src-expected.png:
  • platform/mac/media/video-src-remove-expected.checksum:
  • platform/mac/media/video-src-remove-expected.png:
  • platform/mac/media/video-src-set-expected.checksum:
  • platform/mac/media/video-src-set-expected.png:
  • platform/mac/media/video-src-source-expected.checksum:
  • platform/mac/media/video-src-source-expected.png:
  • platform/mac/media/video-start-expected.checksum:
  • platform/mac/media/video-start-expected.png:
  • platform/mac/media/video-volume-expected.checksum:
  • platform/mac/media/video-volume-expected.png:
  • platform/mac/media/video-width-height-expected.checksum:
  • platform/mac/media/video-width-height-expected.png:
1:38 PM Changeset in webkit [29794] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

<rdar://problem/5674277>
Test media/video-display-toggle.html crashes on Windows


Appears to be some problem in DRT when test ends with layout pending.
Fixed by forcing layout, this improves test coverage too.

  • media/video-display-toggle.html:
  • platform/win/Skipped:
10:31 AM Changeset in webkit [29793] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-01-25 Ori Bernstein <ori@eigenstate.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16795
WebKitGtk crashes when there is no focused Frame

Add a null check. focusedFrame() isn't used directly anywhere else so
this is the only case that needs to be fixed.

  • WebView/webkitwebview.cpp:
7:01 AM Changeset in webkit [29792] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

<rdar://problem/5706788> http/tests/security/cross-frame-access-port-explicit-domain.html fails on Windows

  • platform/win/Skipped:
6:42 AM Changeset in webkit [29791] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/readystatechange.html fails on buildbot.

  • platform/win/Skipped:
3:45 AM Changeset in webkit [29790] by ap@webkit.org
  • 3 edits in trunk/WebKitTools

Reviewed by Mark Rowe.

<rdar://problem/5699933> http/tests/security/cross-frame-access-get.html is still failing

  • DumpRenderTree/win/DumpRenderTree.cpp: (main): Clear HTTP cache to ensure consistent test environment (matching Mac DRT).
  • DumpRenderTree/win/DumpRenderTree.vcproj: Link to CFNetwork.
1:14 AM S60IDE edited by mgroeber@gmx.net
Adding info about missing variant.cfg update (diff)

Jan 24, 2008:

5:50 PM Changeset in webkit [29789] by sfalken@apple.com
  • 3 edits in tags/Safari-5525.6.1/WebKit/win

Merged r29785

5:49 PM Changeset in webkit [29788] by sfalken@apple.com
  • 2 edits in tags/Safari-5525.6.1/JavaScriptCore

Merged r29784

5:46 PM Changeset in webkit [29787] by sfalken@apple.com
  • 2 edits in tags/Safari-5525.6.1/JavaScriptCore

Merged r29783

5:16 PM Changeset in webkit [29786] by sfalken@apple.com
  • 1 copy in tags/Safari-5525.6.1

New tag.

5:13 PM Changeset in webkit [29785] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Build fix

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.submit.sln:
5:08 PM Changeset in webkit [29784] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

5:07 PM Changeset in webkit [29783] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Build fix.

4:51 PM Changeset in webkit [29782] by weinig@apple.com
  • 6 edits in trunk

WebKitTools:

Reviewed by Ada Chan.

Fix for <rdar://5131975> DumpRenderTree doesn't support undo/redo

  • Adds simplified UndoManager to windows DRT to allow testing the undo/redo code paths in WebCore and WebKit. This is a temporary solution to an issue that should eventually be solved by having a shared UndoManager in WebKit.
  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest):
  • DumpRenderTree/win/UIDelegate.cpp: (DRTUndoObject::DRTUndoObject): (DRTUndoObject::invoke): (DRTUndoStack::~DRTUndoStack): (DRTUndoStack::isEmpty): (DRTUndoStack::clear): (DRTUndoStack::push): (DRTUndoStack::pop): (DRTUndoManager::canRedo): (DRTUndoManager::canUndo): (DRTUndoManager::DRTUndoManager): (DRTUndoManager::removeAllActions): (DRTUndoManager::registerUndoWithTarget): (DRTUndoManager::redo): (DRTUndoManager::undo): (UIDelegate::UIDelegate): (UIDelegate::resetUndoManager): (UIDelegate::registerUndoWithTarget): (UIDelegate::removeAllActionsWithTarget): (UIDelegate::setActionTitle): (UIDelegate::undo): (UIDelegate::redo): (UIDelegate::canUndo): (UIDelegate::canRedo):
  • DumpRenderTree/win/UIDelegate.h:

LayoutTests:

Reviewed by Ada Chan.

<rdar://5131975> DumpRenderTree doesn't support undo/redo

  • platform/win/Skipped: With undo/redo support enabled, we can now remove the undo tests from the Skipped list.
3:50 PM Changeset in webkit [29781] by Adam Roben
  • 6 edits in trunk/WebCore

Better fix for Bug 16996

Rubberstamped by Mitz.

  • loader/CachedFont.cpp: (WebCore::CachedFont::ensureCustomFontData): Don't call createFontCustomPlatformData if m_data is null.
  • platform/graphics/gtk/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): Added an assertion.
  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): Ditto.
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): Ditto.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): Ditto.
3:13 PM Changeset in webkit [29780] by Adam Roben
  • 3 edits
    2 adds in trunk

Fix Bug 16996: Crash in createFontCustomPlatformData when loading 0-byte font via @font-face

WebCore:

Fix Bug 16996: Crash in createFontCustomPlatformData when loading
0-byte font via @font-face

<http://bugs.webkit.org/show_bug.cgi?id=16996>

Reviewed by Hyatt.

Test: fast/loader/font-face-empty.html

  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::createFontCustomPlatformData): Null-check the buffer parameter.

LayoutTests:

Test for Bug 16996: Crash in createFontCustomPlatformData when loading
0-byte font via @font-face

<http://bugs.webkit.org/show_bug.cgi?id=16996>

Reviewed by Hyatt.

  • fast/loader/font-face-empty-expected.txt: Added.
  • fast/loader/font-face-empty.html: Added.
2:02 PM Changeset in webkit [29779] by hyatt@apple.com
  • 1 edit in trunk/LayoutTests/platform/mac/editing/selection/end-of-document-expected.txt

Update results for an editing test that changed from Acid3 fix.

1:53 PM Changeset in webkit [29778] by jhoneycutt@apple.com
  • 6 edits
    1 add in trunk/WebCore

2008-01-24 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

<rdar://problem/5588807> Crash in Flash when destroying plug-in (found
using yahoo beta mail)

Flash can dereference NULL in the call to NPP_URLNotify if a request
made with NPN_PostURLNotify fails before NPP_NewStream is called.

Work around this by creating a quirk, PluginQuirkFlashURLNotifyBug, and
checking for this quirk before calling NPP_URLNotify for any request
made with NPN_PostURLNotify. If the quirk is present, call NPP_NewStream
and NPP_DestroyStream before calling NPP_URLNotify.

  • WebCore.vcproj/WebCore.vcproj:
  • plugins/PluginQuirkSet.h: Added. Moved quirks out of PluginViewWin so PluginViewWin and PluginStream could share it. Created a class, PluginQuirkSet, to store plug-in quirks (WebCore::): (WebCore::PluginQuirkSet::PluginQuirkSet): (WebCore::PluginQuirkSet::add): (WebCore::PluginQuirkSet::contains):
  • plugins/PluginStream.cpp: (WebCore::PluginStream::PluginStream): Copy the PluginQuirkSet for this plug-in (WebCore::PluginStream::destroyStream): Check for the FlashURLNotifyBug quirk
  • plugins/PluginStream.h:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginViewWin::performRequest): Pass the quirks when creating the PluginStream (WebCore::PluginViewWin::didReceiveResponse): Same (WebCore::PluginViewWin::wndProc): Use add / contains instead of bit ops (WebCore::PluginViewWin::userAgent): Same (WebCore::PluginViewWin::invalidateRect): Same (WebCore::PluginViewWin::~PluginViewWin): Same (WebCore::PluginViewWin::determineQuirks): Same (WebCore::PluginViewWin::setParameters): Same (WebCore::PluginViewWin::PluginViewWin): Same (WebCore::PluginViewWin::init): Same (WebCore::PluginViewWin::setCallingPlugin): Same
  • plugins/win/PluginViewWin.h:
1:52 PM Changeset in webkit [29777] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/parser

Add test results for Acid3 buckets parsing issue.

1:51 PM Changeset in webkit [29776] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/parser/style-script-head-test.html

Add test of Acid3 buckets parsing issue.

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

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

Make sure to make <head> the current block if it is created before a <body> already exists.

Reviewed by Dan

  • html/HTMLParser.cpp: (WebCore::HTMLParser::createHead):
11:40 AM Changeset in webkit [29774] by ap@webkit.org
  • 4 edits
    2 deletes in trunk

http://bugs.webkit.org/show_bug.cgi?id=16993
<rdar://problem/5704331> REGRESSION: Loading page leads to many unexpected redirections

Rolled out r29590, which was not a correct fix for <rdar://problem/5692566>.

10:24 AM Changeset in webkit [29773] by Antti Koivisto
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Adam.


If the media is playing and the load stalls the playback wont restart by seeking backwards.


We should be in CAN_PLAY state if the current time is less than the maximum loaded time. Rate
tricks were for streaming case and are not necessary now since that is now disabled.


Windows patch coming separately.

Test: http/tests/media/video-play-stall-seek.html

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):

LayoutTests:

Reviewed by Adam.


Test that playback can be resumed by seeking backwards after a stall.

  • http/tests/media/video-play-stall-seek-expected.txt: Added.
  • http/tests/media/video-play-stall-seek.html: Added.
  • platform/win/Skipped:
10:18 AM Changeset in webkit [29772] by Antti Koivisto
  • 11 edits in trunk/WebCore

Reviewed by Adam.

Fix <rdar://problem/5684815>
After navigating back to the page that contains a <audio> that has been muted, the audio is still heard


  • get rid of the separate muted state in MediaPlayer, maintain the state in the cross platform code only
  • remove volumeChanged() callbacks from HTMLMediaElement and OS X MediaPlayer, they were not used for anything
  • rename updateMediaPlayer -> updatePlayState which tells more about what it actually does
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::setReadyState): (WebCore::HTMLMediaElement::play): (WebCore::HTMLMediaElement::pause): (WebCore::HTMLMediaElement::setVolume): (WebCore::HTMLMediaElement::setMuted): (WebCore::HTMLMediaElement::checkIfSeekNeeded): (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): (WebCore::HTMLMediaElement::updateVolume): (WebCore::HTMLMediaElement::updatePlayState): (WebCore::HTMLMediaElement::setPausedInternal):
  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::MediaPlayer):
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • platform/graphics/win/QTMovieWin.cpp:
  • platform/graphics/win/QTMovieWin.h:
9:38 AM Changeset in webkit [29771] by Adam Roben
  • 2 edits in trunk/WebKit/win

Build fix

  • WebView.cpp: Added a comma.
9:27 AM Changeset in webkit [29770] by Adam Roben
  • 2 edits in trunk/WebKitTools

Allow directories containing ChangeLogs to be passed to resolve-ChangeLogs

Reviewed by David Kilzer.

  • Scripts/resolve-ChangeLogs: (sub findChangeLog): Return a ChangeLog contained within the specified directory if one exists.
8:36 AM Changeset in webkit [29769] by ap@webkit.org
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

<rdar://problem/5702734> REGRESSION(r28936/r15890): Shift+del does not work in win Safari

  • WebView.cpp: Fixed keyDownEntries to list this shortcut (and related ones, for consistency).
6:52 AM Changeset in webkit [29768] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Fix "QObject::startTimer: QTimer can only be used with threads started with QThread"
  • The JSC GCController gets automatically destructed on application exit, it will stop its timer and we try to schedule the next timer. Now the GCController can get destructed after our QApplication is gone. This will trigger the above warning, we can avoid this by checking if our qApp is still around.
6:27 AM Changeset in webkit [29767] by Simon Hausmann
  • 2 edits in trunk/WebCore

Morten Johan Sørvig <msorvig@trolltech.com>

Qt/Mac: Make sure the scrollbars does not overlap the grow box.

When showing only one scrollbar we need to move it so it doesn't overlap the
grow box. This is similar to the code in QAbstractScrollArea.

6:24 AM Changeset in webkit [29766] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

David Boddie <dboddie@trolltech.com>

Documentation tidying.

6:23 AM Changeset in webkit [29765] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Jarek Kobus <jkobus@trolltech.com>

Text for translations were used wrongly as comments

6:18 AM Changeset in webkit [29764] by Simon Hausmann
  • 3 edits
    2 adds in trunk

Michael Goddard <michael.goddard@trolltech.com>

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

Fix for CSS crash in -webkit-border-image.
Reviewed by Darin.

While parsing -webkit-border-image, store
the border widths as naked pointers rather
than as OwnPtrs, since they point to the
middle of an array.

Test: fast/css/border-image-crash.html

6:13 AM Changeset in webkit [29763] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • We have a KURL->QUrl conversion on KURL itself, make use of it.
  • This conversion is supposed to be loss-free
6:08 AM Changeset in webkit [29762] by Simon Hausmann
  • 3 edits in trunk/WebCore

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Attempt to fix showing of popup again after a popup has been shown but the user did not select any item (e.g. clicked outside of the popup)
  • Keep track of the popup status using the virtuals showPopup and hidePopup and do not go into recursion when hiding a popup.
6:01 AM Changeset in webkit [29761] by Simon Hausmann
  • 2 edits in trunk/WebCore

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Assert the presence of the PopupMenuClient
5:56 AM Changeset in webkit [29760] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Michael Goddard <michael.goddard@trolltech.com>

Fix QDateTime to JS Date conversion.
Several conversion errors (some UTC related, some month
offset related) and the conversion distance for Date
to DateTime conversion weights were fixed (it should never
be better to convert a JS Number into a Date rather than
an int).

5:51 AM Changeset in webkit [29759] by Simon Hausmann
  • 6 edits in trunk/JavaScriptCore

Michael Goddard <michael.goddard@trolltech.com>

Add support for calling QObjects.
Add support for invokeDefaultMethod (via a call to
a specific slot), and also allow using it as a
constructor, like QtScript.

5:44 AM Changeset in webkit [29758] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Michael Goddard <michael.goddard@trolltech.com>

Code style cleanups.
Add spaces before/after braces in inline function.

5:41 AM Changeset in webkit [29757] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Michael Goddard <michael.goddard@trolltech.com>

Code style cleanups.
Remove spaces and unneeded declared parameter names.

5:37 AM Changeset in webkit [29756] by Simon Hausmann
  • 4 edits in trunk/JavaScriptCore

Michael Goddard <michael.goddard@trolltech.com>

Clear stale RuntimeObjectImps.
Since other objects can have refs to the QtInstance,
we can't rely on the QtInstance being deleted when the
RuntimeObjectImp is invalidate or deleted. This
could result in a stale JSObject being returned for
a valid Instance.

Note: See TracTimeline for information about the timeline view.