Timeline


and

07/25/08:

22:18 Changeset [35369] by oliver@apple.com

Whoops, forgot to save style correction.

RS=Cameron Zwarich

20:52 Changeset [35368] by oliver@apple.com

Bug 19718: Named anonymous functions are slow accessing global variables
<https://bugs.webkit.org/show_bug.cgi?id=19718>

Reviewed by Cameron Zwarich.

To fix this we switch over to an activation-like scope object for
on which we attach the function name property, and add logic to
prevent cross scope assignment to read only properties.

19:28 Changeset [35367] by kevino@webkit.org

On wx/Win, including windows.h in Threading.h causes multiply-defined symbol errors for libjpeg and wx, and also wx needs to include windows.h itself first for wx includes to work right. So until we can find a better solution to this problem on wx, we work around the need to include windows.h here.

17:35 Changeset [35366] by mitz@apple.com

Rubber-stamped by Sam Weinig.

  • moved expected results from platform/mac-leopard to platform/mac. Where the mac baseline differed from the Leopard results, moved the results from mac to mac-tiger.
17:34 Changeset [35365] by jmalonzo@webkit.org

2008-07-25 Jan Michael Alonzo <jmalonzo@webkit.org>

DRT/Gtk build fix for r35362

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::elementDoesAutoCompleteForElementWithId):
17:00 Changeset [35364] by mitz@apple.com

Reviewed by Anders Carlsson.

  • fix crash due to re-entering purgeInactiveFontData() now that it is called by releaseFontData()

Not testable in DumpRenderTree

  • platform/graphics/FontCache.cpp: (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
16:22 Changeset [35363] by beidson@apple.com

Need to check this in, too *sigh*

16:20 Changeset [35362] by beidson@apple.com

WebCore:

2008-07-25 Brady Eidson <beidson@apple.com>

Reviewed by Sam

Test: security/set-form-autocomplete-attribute.html

Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete

The autocomplete attribute works on both <form> and <input> elements, but was not
inherited properly when someone asked an <input> if it should autocomplete.

I fixed this up based on the rules in the current WF2 spec so if the <input> element
has its own autocomplete attribute set, it will follow that but otherwise it will
inherit from its parent <form>

  • WebCore.base.exp:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): (WebCore::HTMLInputElement::autoComplete): (WebCore::HTMLInputElement::parseMappedAttribute):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::):

WebKitTools:

2008-07-25 Brady Eidson <beidson@apple.com>

Reviewed by Sam

Add the ability to dump whether-or-not an element should have autocomplete enabled,
from the perspective of the WebKit API

  • DumpRenderTree/LayoutTestController.cpp: (elementDoesAutoCompleteForElementWithIdCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::elementDoesAutoCompleteForElementWithId):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::elementDoesAutoCompleteForElementWithId): Stub for now until I can get on Windows

LayoutTests:

2008-07-25 Brady Eidson <beidson@apple.com>

Reviewed by Sam

Test for autocomplete attribute cleanup

  • platform/win/Skipped:
  • security/set-form-autocomplete-attribute-expected.txt: Added.
  • security/set-form-autocomplete-attribute.html: Added.
16:16 Changeset [35361] by jmalonzo@webkit.org

2008-07-25 Wouter Bolsterlee <uws+webkit@xs4all.nl>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20078
[GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h

  • plugins/gtk/gtk2xtbin.h:
16:12 Changeset [35360] by andersca@apple.com

2008-07-25 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.

  • platform/network/mac/WebCoreURLResponse.mm: (-[NSURLResponse _webcore_MIMEType]):
15:43 Changeset [35359] by andersca@apple.com

2008-07-25 Anders Carlsson <andersca@apple.com>

Reviewed by Mitz.

Make the willCacheResponse test more robust.


  • http/tests/misc/resources/willCacheResponse-success.html: Added.
  • http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
  • http/tests/misc/willCacheResponse-delegate-callback.html:
15:13 Changeset [35358] by hyatt@apple.com

Add result for hex color test

14:42 Changeset [35357] by mitz@apple.com

Reviewed by Anders Carlsson.

  • http/tests/misc/acid3.html: Updated test 77 from acidtests.org. Added alert()ing the log when the score is less than 100.
13:59 Changeset [35356] by mitz@apple.com

Rubber-stamped by Brady Eidson.

  • add missing pixel results and move the render tree results under the platform directory
  • platform/mac/svg/dom/SVGRectElement: Added.
  • platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.checksum: Added.
  • platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png: Added.
  • platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.txt: Added.
  • platform/mac/webarchive: Added.
  • platform/mac/webarchive/loading: Added.
  • platform/mac/webarchive/loading/cache-expired-subresource-expected.checksum: Added.
  • platform/mac/webarchive/loading/cache-expired-subresource-expected.png: Added.
  • platform/mac/webarchive/loading/cache-expired-subresource-expected.txt: Added.
  • svg/dom/SVGRectElement/rect-modify-rx-expected.txt: Removed.
  • webarchive/loading/cache-expired-subresource-expected.txt: Removed.
13:35 Changeset [35355] by cfleizach@apple.com

<rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect

13:21 Changeset [35354] by mitz@apple.com

WebCore:

2008-07-25 Jacob Refstrup <jacob.refstrup@hp.com>

Reviewed by mitz.


Test: fast/block/float/editable-text-overlapping-float.html

  • rendering/RenderBlock.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::skipTrailingWhitespace):
  • renamed to reflect usage and removed call to position floats; they only get added (WebCore::RenderBlock::skipLeadingWhitespace):
  • renamed to reflect usage (WebCore::RenderBlock::findNextLineBreak):
  • use skipTrailingWhitespace at end of line (as before but with new name)

LayoutTests:

2008-07-25 Jacob Refstrup <jacob.refstrup@hp.com>

Reviewed by mitz.


  • fast/block/float/editable-text-overlapping-float.html: Added.
  • platform/mac/fast/block/float/editable-text-overlapping-float-expected.checksum: Added.
  • platform/mac/fast/block/float/editable-text-overlapping-float-expected.png: Added.
  • platform/mac/fast/block/float/editable-text-overlapping-float-expected.txt: Added.
  • platform/qt/fast/block/float/editable-text-overlapping-float-expected.txt: Added.
12:27 Changeset [35353] by aroben@apple.com

Try to fix the Windows build bot

  • DumpRenderTree/win/DumpRenderTree.vcproj: Don't try to copy files that don't exist for people outside of Apple.
12:10 Changeset [35352] by mitz@apple.com

2008-07-25 Dan Bernstein <mitz@apple.com>

Reviewed by Sam Weinig.

  • platform/graphics/FontCache.cpp: (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData instances hold references to the platform resources and release them in the destructor. (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the number of inactive FontData instances to leave in the cache when automatically purging. (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many inactive FontData instances and if so calls purgeInactiveFontData() from here... (WebCore::FontCache::releaseFontData): ... to here. (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data cache. All FontPlatformData instances that do not have entries in the font data cache are removed, thus releasing the platform resources (such as HFONTs and NSFonts).
11:33 Changeset [35351] by hyatt@apple.com

WebCore:

2008-07-24 David Hyatt <hyatt@apple.com>

Add support for an alternate syntax for CSS variables. Testers on www-style will be able to try out
both versions of the syntax in WebKit to help us make a decision regarding which one to go with.

Reviewed by Dan

Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)

  • css/CSSGrammar.y:
  • css/CSSParser.cpp: (WebCore::CSSParser::createVariablesRule): (WebCore::CSSParser::checkForVariables):
  • css/CSSParser.h:
  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::isVariable): (WebCore::CSSParserValueList::addValue): (WebCore::CSSParserValueList::deleteValueAt): (WebCore::CSSParserValue::createCSSValue):
  • css/CSSParserValues.h:
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::getStringValue): (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::): (WebCore::CSSPrimitiveValue::isVariable):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::addMatchedDeclaration):
  • css/CSSVariablesRule.cpp: (WebCore::CSSVariablesRule::CSSVariablesRule): (WebCore::CSSVariablesRule::cssText):
  • css/CSSVariablesRule.h: (WebCore::CSSVariablesRule::create):
  • css/maketokenizer:
  • css/tokenizer.flex:

LayoutTests:

2008-07-24 David Hyatt <hyatt@apple.com>

Add support for an alternate proposed syntax for CSS variables. This alternate syntax will allow
testers on www-style to try out both versions of the syntax (to help make a decision regarding
which one should be used).

Reviewed by Dan

  • fast/css/variables/alternate-syntax: Added.
  • fast/css/variables/alternate-syntax/color-hex-test.html: Added.
  • fast/css/variables/alternate-syntax/colors-test.html: Added.
  • fast/css/variables/alternate-syntax/font-test.html: Added.
  • fast/css/variables/alternate-syntax/image-test.html: Added.
  • fast/css/variables/alternate-syntax/import-test.html: Added.
  • fast/css/variables/alternate-syntax/inline-style-test.html: Added.
  • fast/css/variables/alternate-syntax/invalid-variable-test.html: Added.
  • fast/css/variables/alternate-syntax/margin-test.html: Added.
  • fast/css/variables/alternate-syntax/misplaced-import-test.html: Added.
  • fast/css/variables/alternate-syntax/misplaced-variables-test.html: Added.
  • fast/css/variables/alternate-syntax/multiple-term-test.html: Added.
  • fast/css/variables/alternate-syntax/override-test.html: Added.
  • fast/css/variables/alternate-syntax/print-test.html: Added.
  • fast/css/variables/alternate-syntax/remove-variable-test.html: Added.
  • fast/css/variables/alternate-syntax/resources: Added.
  • fast/css/variables/alternate-syntax/resources/bad.css: Added.
  • fast/css/variables/alternate-syntax/resources/good.css: Added.
  • fast/css/variables/alternate-syntax/resources/listmark.gif: Added.
  • fast/css/variables/alternate-syntax/set-variable-test.html: Added.
  • fast/css/variables/alternate-syntax/shorthand-test.html: Added.
  • fast/css/variables/alternate-syntax/variable-iteration-test.html: Added.
11:30 Changeset [35350] by britto@apple.com

2008-07-25 Maxime Britto <britto@apple.com>

Reviewed by Anders Carlsson.

<rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"

  • page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
10:46 Changeset [35349] by aroben@apple.com

Try to fix the Windows build bot

  • WebKit.vcproj/WebKit.sln: Linearize the project dependencies. Each project now depends only on the project that should immediately precede it in the build. For the frameworks, this order makes sense. For the applications built on top of the frameworks, the order is arbitrary (but roughly follows the applications' complexity).
10:11 Changeset [35348] by adele@apple.com

2008-07-25 Adele Peterson <adele@apple.com>

Another build fix.

  • platform/win/PlatformScrollBarSafari.cpp: (WebCore::PlatformScrollbar::paint):
09:54 Changeset [35347] by adele@apple.com

2008-07-25 Adele Peterson <adele@apple.com>

More build fixes.

  • platform/win/PlatformScrollBarSafari.cpp: (WebCore::PlatformScrollbar::paint):
09:30 Changeset [35346] by adele@apple.com

2008-07-25 Adele Peterson <adele@apple.com>

Build fix.

  • platform/win/PlatformScrollBarSafari.cpp:
08:58 Changeset [35345] by aroben@apple.com

Windows build fix

  • JavaScriptCore.vcproj/testapi/testapi.vcproj: Add API/ to the include path.
06:11 Changeset [35344] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Fix the build of jsc on Qt/Windows, make sure os-win32 is in the
include search path (added by WebKit.pri).

06:05 Changeset [35343] by hausmann@webkit.org

2008-07-25 Joerg Bornemann <joerg.bornemann@trolltech.com>

Reviewed by Simon.

Compile with QT_NO_PRINTER.

05:05 Changeset [35342] by ap@webkit.org

Reviewed by Simon Hausmann.

Move JavaScriptCore API tests into a subdirectory of their own to avoid header name
conflicts and developer confusion.

  • API/JSNode.c: Removed.
  • API/JSNode.h: Removed.
  • API/JSNodeList.c: Removed.
  • API/JSNodeList.h: Removed.
  • API/Node.c: Removed.
  • API/Node.h: Removed.
  • API/NodeList.c: Removed.
  • API/NodeList.h: Removed.
  • API/minidom.c: Removed.
  • API/minidom.html: Removed.
  • API/minidom.js: Removed.
  • API/testapi.c: Removed.
  • API/testapi.js: Removed.
  • API/tests: Added.
  • API/tests/JSNode.c: Copied from JavaScriptCore/API/JSNode.c.
  • API/tests/JSNode.h: Copied from JavaScriptCore/API/JSNode.h.
  • API/tests/JSNodeList.c: Copied from JavaScriptCore/API/JSNodeList.c.
  • API/tests/JSNodeList.h: Copied from JavaScriptCore/API/JSNodeList.h.
  • API/tests/Node.c: Copied from JavaScriptCore/API/Node.c.
  • API/tests/Node.h: Copied from JavaScriptCore/API/Node.h.
  • API/tests/NodeList.c: Copied from JavaScriptCore/API/NodeList.c.
  • API/tests/NodeList.h: Copied from JavaScriptCore/API/NodeList.h.
  • API/tests/minidom.c: Copied from JavaScriptCore/API/minidom.c.
  • API/tests/minidom.html: Copied from JavaScriptCore/API/minidom.html.
  • API/tests/minidom.js: Copied from JavaScriptCore/API/minidom.js.
  • API/tests/testapi.c: Copied from JavaScriptCore/API/testapi.c.
  • API/tests/testapi.js: Copied from JavaScriptCore/API/testapi.js.
  • GNUmakefile.am:
  • JavaScriptCore.vcproj/testapi/testapi.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
05:05 Changeset [35341] by vestbo@webkit.org

2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.

05:04 Changeset [35340] by vestbo@webkit.org

2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon

Don't insert text on keyDown event in EditorClientQt.

04:43 Changeset [35339] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Fix linking of QtWebKit against the statically built JavaScriptCore
library, under Windows/Mac we may need _d/_debug suffixes.

04:02 Changeset [35338] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Prospective WX build fix, add JavaScriptCore/API to the include search
path.

03:56 Changeset [35337] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Rubber-stamped by Lars.

Fix the build on Windows. operator new for ArgList is implemented using fastMalloc()
but operator delete was not implemented. Unfortunately MSVC decides to call/reference
the function, so a simple implementation using fastFree() fixes the build.

03:55 Changeset [35336] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Rubber-stamped by Lars.

Fix the Qt build by adapting to the latest ArgList API changes and
replacing the inclusion of npapi.h in MainThreadScheduler with a forward
declaration of NPP to avoid an include conflict. npapi.h on X11 includes
X headers, which include wonderful defines such as "#define Status" that
cause conflicts.

03:55 Changeset [35335] by hausmann@webkit.org

2008-07-25 Simon Hausmann <hausmann@webkit.org>

Discussed with and rubber-stamped by Lars.

Fix the build system for the Qt port.

Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
include search path. With a build process that combines JavaScriptCore and
WebCore in one build process/Makefile the existance of
JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.

This commit solves this by introducing a separate build of JavaScriptCore into
a static library.

As a result of the split-up a race-condition due to broken dependencies of
regular source files to header files of generated sources showed up very
frequently when doing parallel builds (which the buildbot does). This commit at
the same time tries to address the dependency problem by making the
addExtraCompiler() function also generate a pseudo extra compiler that
represents the header file output, so that qmake is aware of the creation of
the header file for dependency calculation.

At the same time I removed a lot of cruft from the pro files to ease maintenance.

07/24/08:

23:40 Changeset [35334] by ggaren@apple.com

2008-07-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed a strict aliasing violation, which caused hash tables with floating
point keys not to find items that were indeed in the tables
(intermittently, and only in release builds, of course).


SunSpider reports no change.


This bug doesn't seem to affect any existing code, but it causes obvious
crashes in some new code I'm working on.

  • wtf/HashFunctions.h: (WTF::FloatHash::hash): Use a union when punning between a float / double and an unsigned (bucket of bits). With strict aliasing enabled, unions are the only safe way to do this kind of type punning.
  • wtf/HashTable.h: When rehashing, ASSERT that the item we just added to the table is indeed in the table. In the buggy case described above, this ASSERT fires.
15:57 Changeset [35333] by kevino@webkit.org

wx build fix on Win for plugins coode.

14:55 Changeset [35332] by weinig@apple.com

2008-07-24 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Make isElementNode() non-virtual for a speedup on many benchmarks
including 20% on http://ejohn.org/apps/fragment/.

  • Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in Element and Attr where space was available. Use the new free bit to represent if an node is an element or not.
  • dom/Attr.cpp: (WebCore::Attr::Attr):
  • dom/Attr.h: (WebCore::Attr::specified): (WebCore::Attr::setSpecified):
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::ContainerNode):
  • dom/ContainerNode.h:
  • dom/Element.cpp: (WebCore::Element::Element):
  • dom/Element.h: (WebCore::Element::hasRareData): (WebCore::Element::setHasRareData):
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode):
  • dom/EventTargetNode.h:
  • dom/Node.cpp: (WebCore::Node::Node):
  • dom/Node.h: (WebCore::Node::isElementNode):
14:38 Changeset [35331] by mitz@apple.com

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically

Not testable in DumpRenderTree

  • rendering/RenderView.cpp: (WebCore::RenderView::layout): Ensured that all children with percentage heights get laid out again if the height changes.
14:27 Changeset [35330] by kevino@webkit.org

Windows build fix for wx. wx doesn't implement pan scrolling yet.

13:38 Changeset [35329] by aroben@apple.com

Remove some redundant text accidentally checked in

  • building/tools.html:
13:36 Changeset [35328] by aroben@apple.com

Fix a dead link to the Windows Platform SDK and related instructions

Rubberstamped by Alexey Proskuryakov.

  • building/tools.html: Fixed a dead link.
13:24 Changeset [35327] by hyatt@apple.com

2008-07-24 David Hyatt <hyatt@apple.com>

Fix for bug 18673, crash when using full page zoom on generated content. Don't call
intrinsicSizeChanged when we are first setting our style.

Reviewed by olliej

  • ChangeLog:
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::setStyle):
10:34 Changeset [35326] by jchaffraix@webkit.org

WebKitTools:

2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

Add XBL detection to run-webkit-test.

  • Scripts/build-drawtest:
  • Scripts/run-drawtest:
  • Scripts/run-webkit-tests: Detect if WebKit was compiled with XBL support and enable or disable XBL test.


  • Scripts/webkitdirs.pm: Renamed checkWebKitSVGSupport to checkWebKitSupportFor taking a string parameter for the standard to test to share the code between SVG and XBL.

LayoutTest:

2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

  • Add test for bug 19917: [XBL] We need the ability to manage bindings
  • Updated some tests' results.

Note: the 2 updated test in fast/dom will fail when XBL is disabled

because they depend on Element's number of properties. It is
fine for now but it will need to be properly fixed.

  • fast/dom/Window/window-properties-expected.txt: Updated as we have added the 3 new methods to Element.
  • fast/dom/domListEnumeration-expected.txt: Ditto.
  • fast/dom/resources/domListEnumeration.js: Ditto.
  • fast/xbl: Added.
  • fast/xbl/resources: Added.
  • fast/xbl/resources/xbl-empty-binding.xbl: Added.
  • fast/xbl/xbl-ElementXBL-Interface-expected.txt: Added.
  • fast/xbl/xbl-ElementXBL-Interface.html: Added.
07:19 Changeset [35325] by jchaffraix@webkit.org

2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 20029: [XBL] Add more tags

Add <binding> and <template> classes.
Add <div> tag.

The two classes are stubs for the moment.

These tags are required to have a simple XBL example
running.


XBLElement now inherits from StyledElement as <div>
is a placeholder for CSS style information.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/make_names.pl: Add 'generateNameOnly' attribute used for <div> as we do not want to add a specialized class.


  • xbl/XBLBindingElement.h: Added. (WebCore::XBLBindingElement::XBLBindingElement):
  • xbl/XBLElement.h: (WebCore::XBLElement::XBLElement): Now XBLElement inherits from styledElement.
  • xbl/XBLTemplateElement.h: Added. (WebCore::XBLTemplateElement::XBLTemplateElement):
  • xbl/xbltags.in: Add tags.
03:58 Changeset [35324] by jchaffraix@webkit.org

2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 19917: [XBL] We need the ability to manage bindings

  • Move XBLBindingManager from per-document to global.
  • Implement part of ElementXBL interface (to add bindings, remove bindings and check if an element has a binding).
  • GNUmakefile.am: Add compilation information.
  • WebCore.pro: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • dom/Document.cpp: (WebCore::Document::Document): Remove per-document XBLBindingManager instance. (WebCore::Document::~Document): Ditto.
  • dom/Document.h: Ditto.
  • dom/Element.cpp: (WebCore::Element::~Element): Remove associated bindings to avoid leaks. (WebCore::Element::addBinding): Part of ElementXBL interface to manage bindings. (WebCore::Element::removeBinding): Ditto. (WebCore::Element::hasBinding): Ditto.
  • dom/Element.h: Add ElementXBL interface.
  • dom/Element.idl: Ditto.
  • xbl/XBLBinding.h: Added. (WebCore::XBLBinding::XBLBinding): (WebCore::XBLBinding::uri):
  • xbl/XBLBindingManager.cpp: Added. (WebCore::XBLBindingManager::sharedInstance): (WebCore::XBLBindingManager::XBLBindingManager): (WebCore::XBLBindingManager::addBinding): (WebCore::XBLBindingManager::removeBinding): (WebCore::XBLBindingManager::hasBinding): (WebCore::XBLBindingManager::removeAllBindings): Used in Element destructor to remove all the bindings associated with the Element.
  • xbl/XBLBindingManager.h: Added.
03:16 Changeset [35323] by oliver@apple.com

Bug 20142: REGRESSION(r35245): /=/ weirdness
<https://bugs.webkit.org/show_bug.cgi?id=20142>

Reviewed by Alexey Proskuryakov.

When adding all the meta data needed for exception error messages
I accidentally clobbered the handling of regex beginning with /=.

01:44 Changeset [35322] by jchaffraix@webkit.org

2008-07-24 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 20053: .in files should use a custom format instead of XML

  • Remove our XML parser perl module (XML::Tiny)
  • Add a custom perl parser
  • Move XML files to the new format
  • bindings/scripts/InFilesParser.pm: Added.
  • bindings/scripts/XMLTiny.pm: Removed.
  • dom/make_names.pl: Switched to our new parser.


  • html/HTMLAttributeNames.in: Switched to our custom format.
  • html/HTMLTagNames.in: Ditto.
  • svg/svgattrs.in: Ditto.
  • svg/svgtags.in: Ditto.
  • svg/xlinkattrs.in: Ditto.
  • xml/xmlattrs.in: Ditto.
00:45 Changeset [35321] by jchaffraix@webkit.org

WebCore:

2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 19588: CRASH doing open() on destroyed window
https://bugs.webkit.org/show_bug.cgi?id=19588

Add frame's page null check as it could have been
detached from the page.

Test: fast/frames/crash-removed-iframe.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncOpen):
  • page/FrameTree.cpp: (WebCore::FrameTree::find):

LayoutTest:

2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Test for bug 19588: CRASH doing open() on destroyed window
https://bugs.webkit.org/show_bug.cgi?id=19588

Test case from Eric Roman.

  • fast/frames/crash-removed-iframe-expected.txt: Added.
  • fast/frames/crash-removed-iframe.html: Added.

07/23/08:

23:55 Changeset [35320] by mitz@apple.com

WebCore:

Reviewed by Alexey Proskuryakov.

  • fix a leak when using hex color values in CSS variables
  • fix CSSOM access to hex color values in variables declarations

Test: fast/css/variables/color-hex-test.html

Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
CSSParserValues coming from colors in hex notation. CSSParserValues can
no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
used as the type for CSSValues in CSS variables declarations where the
parser value was a hex color. However the type of all other color
CSSValues remains CSS_RGBCOLOR.

  • css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value for color values in hex notation.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::createCSSValue): Ditto.
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the string containing the color. (WebCore::CSSPrimitiveValue::cssText): Added support for CSS_PARSER_HEXCOLOR for when serializing variable values. (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.

LayoutTests:

Reviewed by Alexey Proskuryakov.

  • updated test to cover serializing variable values which are colors in hex notation
  • fast/css/variables/color-hex-test.html:
23:16 Changeset [35319] by alp@webkit.org

2008-07-23 Alp Toker <alp@nuanti.com>

Build fix after r35293: Add API/ to the include path.

  • GNUmakefile.am:
20:43 Changeset [35318] by bdakin@apple.com

WebCore:

2008-07-23 Beth Dakin <bdakin@apple.com>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/5997215> display: table-row-group
for :before content causes a crash


The actual bug fix here is to ddd the generated content container
as a child before adding any of the generated content to the
container. There are two correctness fixes as well that deal with
style changes and correctly.

This patch also makes Node::diff() a static function.

  • dom/Node.cpp: (WebCore::Node::diff):
  • dom/Node.h: (WebCore::Node::): (WebCore::Node::recalcStyle):
  • rendering/RenderContainer.cpp: (WebCore::findBeforeAfterParent): (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::recalcStyle):

LayoutTests:

2008-07-23 Beth Dakin <bdakin@apple.com>

Reviewed by Dan Bernstein.

Tests for <rdar://problem/5997215> display: table-row-group
for :before content causes a crash

  • fast/css-generated-content/table-row-group-to-inline.html: Added.
  • fast/css-generated-content/table-row-group-with-before.html: Added.
  • fast/css-generated-content/table-row-with-before.html: Added.
  • fast/css-generated-content/table-with-before.html: Added.
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.checksum: Added.
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.png: Added.
  • platform/mac/fast/css-generated-content/table-row-group-to-inline-expected.txt: Added.
  • platform/mac/fast/css-generated-content/table-row-group-with-before-expected.checksum: Added.
  • platform/mac/fast/css-generated-content/table-row-group-with-before-expected.png: Added.
  • platform/mac/fast/css-generated-content/table-row-group-with-before-expected.txt: Added.
  • platform/mac/fast/css-generated-content/table-row-with-before-expected.checksum: Added.
  • platform/mac/fast/css-generated-content/table-row-with-before-expected.png: Added.
  • platform/mac/fast/css-generated-content/table-row-with-before-expected.txt: Added.
  • platform/mac/fast/css-generated-content/table-with-before-expected.checksum: Added.
  • platform/mac/fast/css-generated-content/table-with-before-expected.png: Added.
  • platform/mac/fast/css-generated-content/table-with-before-expected.txt: Added.
19:48 Changeset [35317] by timothy@apple.com

Updates the elements DOM tree when nodes are added or removed from
the inspected document.

https://bugs.webkit.org/show_bug.cgi?id=6590
<rdar://problem/5712921>

Reviewed by Adam Roben.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to InspectorController::inspectedWindowScriptObjectCleared.
  • page/InspectorController.cpp: (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Calls the WebInspector.inspectedWindowCleared script function.
  • page/InspectorController.h:
  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Create the event listener callback wrappers. (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if there are any recently modified nodes. (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners. Adds a check for InspectorController.isWindowVisible to prevent adding event listeners when the window isn't visible. (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted, DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document. (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners added in _addMutationEventListeners. (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners again to reinstate the listners if the document changed or window cleared them. (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to _mutationMonitoredWindows and call _addMutationEventListeners. (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from _mutationMonitoredWindows and call _removeMutationEventListeners. (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call _removeMutationEventListeners for all windows in _mutationMonitoredWindows and clear _mutationMonitoredWindows. (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible. (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto. (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto. (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call _updateModifiedNodes on a zero timeout. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over the recentlyModifiedNodes array and call updateChildren on all the parent elements that had changes. Only calls updateChildren once per parent element. (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return false if the nodes are the same. Return true if the nodes are the same while looking at ancestor frame elements. THis use to return false, which was incorrect. (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from onpopulate and changed to rebuild the children elements by adding new children, moving existing children and removed old children. (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument call registerMutationEventListeners to track any mutations.
  • page/inspector/inspector.js: (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
  • page/inspector/treeoutline.js: (TreeElement.prototype.get hasChildren): Return _hasChildren. (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className. (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor. (TreeElement.prototype.expand): Fix an exception that can happen if expand is called before _attach.
  • WebCore/manual-tests/inspector/dom-mutation.html: Added.
  • WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
  • WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
19:48 Changeset [35316] by timothy@apple.com

Fix an exception that occurred when double clicking the closing tag
of an element in the DOM tree.

Reviewed by Anders Carlsson.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype._ondblclick): Null check element.ondblclick.
19:48 Changeset [35315] by timothy@apple.com

Fix a regression where elements in subframes would not be revealed
or selected when inspected from the context menu. This was caused by
JavaScript equality is not being true for JSInspectedObjectWrappers
of the same node wrapped with different global ExecStates. This change
adds a helper function that uses isSameNode to compare wrapped nodes.

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

Reviewed by Adam Roben.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame to compare nodes. (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto. (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto. (WebInspector.ElementsPanel.prototype.revealNode): Ditto. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto. (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
  • page/inspector/treeoutline.js: (TreeOutline.prototype.findTreeElement): Add an equal argument to accept a functions to compare two representedObjects. Defaults to strict equal if not supplied. All current clients pass objectsAreSame.
  • page/inspector/utilities.js: (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame to compare nodes. (Node.prototype.enclosingNodeOrSelfWithClass): Ditto. (Element.prototype.query): Use the ownerDocument of the node, not document. (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if it exists on both objects. (isAncestorNode): Use objectsAreSame to compare nodes. (firstCommonNodeAncestor): Ditto. (traverseNextNode): Ditto.
19:47 Changeset [35314] by timothy@apple.com

Added InspectorController.isWindowVisible to the JavaScript class
for use in an upcoming change. This will allow the Inspector to not
perform selective actions while the window is hidden.

Reviewed by Adam Roben.

  • page/InspectorController.cpp: (WebCore::isWindowVisible): Call InspectorController::windowVisible. (WebCore::InspectorController::windowScriptObjectAvailable): Add the isWindowVisible function to the JavaScript class.
19:47 Changeset [35313] by timothy@apple.com

Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
for efficiency of callers that know the index of the child. This
will be used in an upcoming change.

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js: (TreeOutline._removeChildAtIndex): Renamed from _removeChild and modified to take an index. (TreeOutline._removeChild): Call _removeChildAtIndex with the child index found using indexOf. (TreeOutline.prototype.removeChildAtIndex): Added. Calls TreeOutline._removeChildAtIndex. (TreeElement.prototype.removeChildAtIndex): Ditto.
19:46 Changeset [35312] by timothy@apple.com

Fixes a regression where TreeOutline.findTreeElement would
return the parent TreeElement of the representedObject instead
of the TreeElement for the representedObject. Regressed with the
fix for bug 19164.

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js: (TreeOutline.prototype.findTreeElement): When performing a slow search, do a final search for representedObject instead of returning item, which is the parent of representedObject.
19:45 Changeset [35311] by barraclough@apple.com

speculative build fix

18:00 Changeset [35310] by aroben@apple.com

Windows build fixes

Build fix after r35293:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add API/ to the include path.

Build fix after r35305:

  • VM/Machine.cpp:
  • VM/Machine.h:
  • VM/Opcode.cpp:
  • VM/Opcode.h: Completely compile out all sampler-related code when SAMPLING_TOOL_ENABLED is 0. The sampler code can't be compiled 1) on non-AllInOne configurations due to circular header dependencies, and 2) on platforms that don't have a usleep() function, such as Windows.
17:49 Changeset [35309] by oliver@apple.com

Improve switch performance.

Reviewed by Geoff Garen and Sam Weinig.

Improve switch performance by converting to a hashmap based jump
table to avoid the sequence of dispatches that would otherwise be
needed. This results in a 9-19x performance win for string switches
based on ad hoc testing, and a 6x improvement for integer switch
statements. SunSpider reports a 1.2% progression.

17:35 Changeset [35308] by adele@apple.com

WebCore:

2008-07-23 Adele Peterson <adele@apple.com>

Reviewed by Adam.

WebCore part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars

  • WebCore.base.exp: Added symbols.
  • page/Chrome.cpp: (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method. (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
  • page/ChromeClient.h:
  • page/Settings.cpp: (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars. (WebCore::Settings::setShouldPaintCustomScrollbars):
  • page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
  • platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
  • platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
  • platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
  • platform/win/PlatformScrollBarSafari.cpp: (WebCore::ScrollbarPartToScrollBarPiece): Added helper function. (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto. (WebCore::ScrollbarControlStateFromThemeState): ditto. (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place. Added new code to paint the custom scrollbars if necessary.
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.

WebKit/win:

2008-07-17 Adele Peterson <adele@apple.com>

Reviewed by Adam.

WebKit part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars


Added a setting so an application can tell WebKit its going to draw custom scrollbars. Also added delegate methods for the actual painting.


  • Interfaces/IWebPreferences.idl: Added setShouldPaintCustomScrollbars and shouldPaintCustomScrollbars.
  • Interfaces/IWebScrollBarPrivate.idl: Moved types to WebScrollbarTypes.idl
  • Interfaces/IWebUIDelegate.idl: Added WebUIDelegate4 with new delegate methods, paintCustomScrollbar and paintCustomScrollCorner
  • Interfaces/WebKit.idl: Include new WebScrollbarTypes.idl
  • Interfaces/WebScrollbarTypes.idl: Added. Has types that the new delegate methods use.
  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::paintCustomScrollbar): Added. Calls new delegate method and converts between WebCore types and types exported in WebScrollbarTypes.idl (WebChromeClient::paintCustomScrollCorner): Added. Calls new delegate method. (WebChromeClient::uiDelegate4): Added.
  • WebCoreSupport/WebChromeClient.h:
  • WebPreferenceKeysPrivate.h: Added WebKitPaintCustomScrollbarsPreferenceKey
  • WebPreferences.cpp: (WebPreferences::): Added. (WebPreferences::shouldPaintCustomScrollbars): Added.
  • WebPreferences.h:
  • WebView.cpp: (WebView::notifyPreferencesChanged):
17:33 Changeset [35307] by dino@apple.com

2008-07-23 Dean Jackson <dino@apple.com>

Reviewed by Dan Bernstein.

Update computed style test for transform to reflect that
we return "none" rather than identity matrix.

  • svg/css/getComputedStyle-basic-expected.txt:
16:15 Changeset [35306] by adele@apple.com

build fix.

15:36 Changeset [35305] by barraclough@apple.com

2008-07-23 Gavin Barraclough <barraclough@apple.com>

Reviewed by Geoff Garen.

Sampling tool to analyze cost of instruction execution and identify hot regions of JS code.
Enable Switches by setting SAMPLING_TOOL_ENABLED in Opcode.h.

  • JavaScriptCore.exp: Export symbols for Shell.cpp.
  • VM/Machine.cpp: Added sampling hooks.
  • VM/Machine.h: Machine contains a pointer to a sampler, when sampling.
  • VM/Opcode.cpp: Tool implementation.
  • VM/Opcode.h: Tool declaration.
  • kjs/Shell.cpp: Initialize the sampler, if enabled.
  • kjs/nodes.cpp: Added sampling hooks.
15:32 Changeset [35304] by weinig@apple.com

2008-07-23 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Cleanup and pack the member variables in Node.

  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
  • dom/Attr.cpp: (WebCore::Attr::Attr):
  • dom/Attr.h: (WebCore::Attr::specified): (WebCore::Attr::setSpecified):
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::setFocus):
  • dom/Document.cpp: (WebCore::Document::adoptNode):
  • dom/Element.cpp: (WebCore::Element::~Element): (WebCore::Element::rareData): (WebCore::Element::createRareData):
  • dom/Element.h: (WebCore::Element::hasRareData): (WebCore::Element::setHasRareData):
  • dom/Node.h: (WebCore::Node::setIsLink): (WebCore::Node::inSubtreeMark): (WebCore::Node::setInSubtreeMark): (WebCore::Node::attrWasSpecifiedOrElementHasRareData): (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): (WebCore::HTMLAnchorElement::isFocusable): (WebCore::HTMLAnchorElement::defaultEventHandler): (WebCore::HTMLAnchorElement::parseMappedAttribute): (WebCore::HTMLAnchorElement::isLiveLink):
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType):
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::attach):
  • svg/SVGAElement.cpp: (WebCore::SVGAElement::svgAttributeChanged): (WebCore::SVGAElement::defaultEventHandler):
14:45 Changeset [35303] by adele@apple.com

2008-07-23 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document

Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.

  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWinPrivate::QTMovieWinPrivate): (QTMovieWinPrivate::~QTMovieWinPrivate): (QTMovieWinPrivate::task): (QTMovieWinPrivate::createMovieController): (QTMovieWinPrivate::createGWorld): (QTMovieWinPrivate::setSize): (QTMovieWinPrivate::deleteGWorld): (QTMovieWin::play): (QTMovieWin::pause): (QTMovieWin::setRate): (QTMovieWin::setCurrentTime): (QTMovieWin::load):
14:40 Changeset [35302] by adele@apple.com

2008-07-23 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Added a debug mode for viewing frames per second for videos. This is controlled by two
independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
Unless either flags is turned on there is no change to the code for video frame drawing.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause): (WebCore::MediaPlayerPrivate::didEnd): (WebCore::MediaPlayerPrivate::repaint): (WebCore::MediaPlayerPrivate::paint):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::play): (WebCore::MediaPlayerPrivate::pause): (WebCore::MediaPlayerPrivate::didEnd): (WebCore::MediaPlayerPrivate::paint): (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
14:30 Changeset [35301] by adele@apple.com

2008-07-23 Adele Peterson <adele@apple.com>

Reviewed by Sam.

Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage): Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
  • platform/graphics/GraphicsContext.h: (WebCore::): Added InterpolationQuality enum. (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation. The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low". (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setImageInterpolationQuality): Added. (WebCore::GraphicsContext::imageInterpolationQuality): Added.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint): Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
14:28 Changeset [35300] by weinig@apple.com

2008-07-23 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Remove tiger specific result for toDataURL-supportedTypes.html as it should have the
same results on all platforms.

  • platform/mac-tiger/fast/canvas: Removed.
  • platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Removed.
13:15 Changeset [35299] by jchaffraix@webkit.org

WebCore:

2008-07-23 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric.

Bug 20056: [XBL] XBLCachedDocument cleanup
https://bugs.webkit.org/show_bug.cgi?id=20056

  • Changed XBLDocument::create return to XBLDocument to match SVGDocument.
  • Updated CachedXBLDocument methods to behave as the other CachedResourceClients.
  • Fixed some coding style violation and variable names.
  • XBL -> XBLDocument in CachedResource::Type enum.
  • loader/Cache.cpp: (WebCore::createResource): (WebCore::Cache::getStatistics):
  • loader/Cache.h:
  • loader/CachedResource.h: (WebCore::CachedResource::): XBL -> XBLDocument as XBL was ambiguous.
  • loader/CachedResourceClient.h: (WebCore::CachedResourceClient::setXBLDocument):
  • loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::CachedXBLDocument): (WebCore::CachedXBLDocument::~CachedXBLDocument): Removed deref() call as we use a RefPtr now.

(WebCore::CachedXBLDocument::addClient): Removed ref()
call replaced with addClient.

(WebCore::CachedXBLDocument::setEncoding):
(WebCore::CachedXBLDocument::data): Changed signature
and method to match other CachedResourceClients.

(WebCore::CachedXBLDocument::checkNotify):

  • loader/CachedXBLDocument.h: Use a RefPtr<XBLDocument> instead of a raw XBLDocument.

(WebCore::CachedXBLDocument::document): Return a PassRefPtr.

  • loader/loader.cpp: (WebCore::Loader::determinePriority):
  • xbl/XBLDocument.h: (WebCore::XBLDocument::create): return an XBLDocument instead of a Document to match SVGDocument::create.
13:13 Changeset [35298] by weinig@apple.com

2008-07-23 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Remove extraneous allocations by using equalIgnoringCase rather than
String::lower.

  • dom/StyledElement.cpp: (WebCore::StyledElement::addCSSColor):
  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::checkForNameMatch):
  • html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::getNamedFormItem):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::tokenizeRelAttribute):
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::containsJavaApplet):
  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::emitCSSRule):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createJavaAppletWidget):
  • page/DOMSelection.cpp: (WebCore::DOMSelection::modify):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):
13:12 Changeset [35297] by britto@apple.com

2008-07-23 Maxime Britto <britto@apple.com>

Reviewed by Adam Roben.

<rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
Add a check for the m_page member value before asking for page()->mainFrame()

  • page/EventHandler.cpp: (WebCore::EventHandler::stopAutoscrollTimer):
11:16 Changeset [35296] by adele@apple.com

2008-07-23 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/5710065> QT movies should be inactive when opened

Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and
until after movie tracks of unsupported types have been disabled, to make sure they never draw.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::load): (WebCore::MediaPlayerPrivate::updateStates): (WebCore::MediaPlayerPrivate::setVisible):
09:48 Changeset [35295] by britto@apple.com

2008-07-22 Maxime Britto <britto@apple.com>

Reviewed by John Sullivan.

<rdar://problem/6083116>
When pan-scrolling, Back then Forward causes pan-scrolling to start again

  • page/Frame.cpp: (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
08:00 Changeset [35294] by ddkilzer@apple.com

2008-07-23 Gabor Loki <loki@inf.u-szeged.hu>

Bug 20097: [Qt] 20% Sunspider slow-down

<https://bugs.webkit.org/show_bug.cgi?id=20097>

Reviewed by Simon Hausmann.

  • kjs/jsc.pro: Added missing NDEBUG define for release builds.
03:15 Changeset [35293] by ap@webkit.org

Reviewed by Geoff Garen.

JSClassRef is created context-free, but gets infatuated with the first context it sees.

The implicit API contract is that JSClassRef can be used with any context on any thread.
This no longer worked, because UStrings in the class were turned into per-context
identifiers, and the cached JSObject prototype was tied to JSGlobalData, too.

01:21 Changeset [35292] by ap@webkit.org

Build fix.

  • kjs/ArgList.h: (KJS::ArgList::operator new): removed an extraneous "ArgList::" inside the class definition.

07/22/08:

22:10 Changeset [35291] by ggaren@apple.com

JavaScriptCore:

2008-07-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.


This means a few things:


  1. Register::jsValue() clients, including ArgList clients, must now supply an ExecState* when accessing an entry in an ArgList, in case the entry will need to create a JSValue* on the fly.


  1. Register clients that definitely don't want to create a JSValue* on the fly now use different APIs: getJSValue() for clients that know the register contains a JSValue*, and v() for clients who just want a void*.


  1. I had to change some headers around in order to resolve dependency problems created by using a Register in the ArgList header.


SunSpider reports no change.

JavaScriptGlue:

2008-07-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.

WebCore:

2008-07-22 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Sam Weinig.

Next step toward putting doubles in registers: Prepare the Register class
and its clients for registers that don't contain JSValue*s.

20:11 Changeset [35290] by weinig@apple.com

WebCore:

2008-07-22 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

<rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
Add additional support for JPEG and GIF for toDataURL encoding canvases.

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypesForEncoding):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::utiFromMIMEType):

LayoutTests:

2008-07-22 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

<rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
Add additional support for JPEG and GIF for toDataURL encoding canvases.

  • Turn on and simplify toDataURL-supportedTypes.html to only test for support of mimeTypes and not fail due to differences in image encoders.
  • fast/canvas/toDataURL-supportedTypes-expected.txt:
  • fast/canvas/toDataURL-supportedTypes.html: Copied from fast/canvas/toDataURL-supportedTypes.html-disabled.
  • fast/canvas/toDataURL-supportedTypes.html-disabled: Removed.
14:45 Changeset [35289] by cfleizach@apple.com

<rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements

14:28 BuildingGtk edited by sebasmagri@gmail.com
(diff)
13:23 Changeset [35288] by andersca@apple.com

2008-07-22 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Allocate the empty StringImpl from the heap.


  • platform/text/StringImpl.cpp: (WebCore::StringImpl::empty):
10:25 Changeset [35287] by kmccullough@apple.com

2008-07-21 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

<rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
view (19228)

  • Implement UI for Heavy (Bottom Up) view.
  • English.lproj/localizedStrings.js:
  • page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree profile from a profile to the Web Inspector's JavaScript. (WebCore::getHeavyProfileCallback): (WebCore::getTreeProfileCallback): (WebCore::ProfileClass):
  • page/inspector/ProfileView.js: Implement the dropdown for changing profile views.
  • page/inspector/inspector.css:
08:51 Changeset [35286] by ap@webkit.org

Reviewed by Adam Roben.

<rdar://problem/5955602> WebKit should support charset name x-windows-949

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for Firefox compatibility.
07:26 Changeset [35285] by barraclough@apple.com

JavaScriptCore:

2008-07-22 Gavin Barraclough <barraclough@apple.com>

Reviewed by Alexey Proskuryakov.

Prevent integer overflow when reallocating storage vector for arrays.

Sunspider reports 1.005x as fast (no change expected).

  • kjs/JSArray.cpp:

WebCore:

2008-07-22 Gavin Barraclough <barraclough@apple.com>

Reviewed by Alexey Proskuryakov.

New test to check that arrays fail gracefully (throw an out of memory exception)
when the vector grows to large.

  • manual-tests/array-out-of-memory.html: Added.

07/21/08:

22:52 Changeset [35284] by ap@webkit.org

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=20117
setBaseAndExtent fails to reverse the current selection

Test: editing/selection/setBaseAndExtent-revert-selection.html

  • editing/Selection.h: (WebCore::operator==): Compare direction, too.
21:35 Changeset [35283] by kevino@webkit.org

wx build fix. Fix pthread linkage under Linux.

18:43 Changeset [35282] by jchaffraix@webkit.org

WebCore:

2008-07-21 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Sam Weinig.

Bug 19919: Add selectors' string parsing in CSSParser
https://bugs.webkit.org/show_bug.cgi?id=19919

No functional change.

  • css/CSSGrammar.y: Added entry for parsing only a selector.
  • css/CSSParser.cpp: (WebCore::CSSParser::CSSParser): (WebCore::CSSParser::parseSelector):
  • css/CSSParser.h: Added m_floatingSelector to hold the Selector parsed in parseSelector.
  • css/tokenizer.flex: Added "@-webkit-selector" token.
  • dom/Node.cpp: (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll): Switched to parseSelector method.
18:19 Changeset [35281] by adele@apple.com

2008-07-21 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed

  • platform/graphics/win/QTMovieWin.cpp: (initializeSupportedTypes): Do a Quicktime version minimum version check. (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
18:09 Changeset [35280] by adele@apple.com

2008-07-21 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache so that everything starts back up normally when the page is retrieved from the cache.
18:06 Changeset [35279] by weinig@apple.com

Reviewed by Mark Rowe.

Remove unused interface declaration.

  • platform/network/mac/ResourceHandleMac.mm:
18:05 Changeset [35278] by mrowe@apple.com

<rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.

Reviewed by Sam Weinig.

18:02 Changeset [35277] by adele@apple.com

2008-07-21 Kevin Calhoun <kcalhoun@apple.com>

Reviewed by Adele.

Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document

  • platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
17:41 Changeset [35276] by andersca@apple.com

2008-07-21 Anders Carlsson <andersca@apple.com>

Reviewed by Jon.

Don't allow requests to be made when the document loader is stopping all loaders.

  • plugins/PluginView.cpp: (WebCore::PluginView::load):
16:07 Changeset [35275] by andersca@apple.com

WebKit/mac:

2008-07-21 Anders Carlsson <andersca@apple.com>

Reviewed by Geoff.

<rdar://problem/5820667>
CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load


Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

LayoutTests:

2008-07-21 Anders Carlsson <andersca@apple.com>

Reviewed by Geoff.

<rdar://problem/5820667>
CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load

  • http/tests/plugins/geturlnotify-from-npp-destroystream-expected.txt: Added.
  • http/tests/plugins/geturlnotify-from-npp-destroystream.html: Added.
13:23 Changeset [35274] by britto@apple.com

2008-07-20 Maxime Britto <britto@apple.com>

Reviewed by John Sullivan.

[PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
Accelerate and enhance the smoothness of the pan scrollling.

  • page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
13:16 Changeset [35273] by hyatt@apple.com

2008-07-18 David Hyatt <hyatt@apple.com>

Change the cached clip rects to not assume they should be infinite when the root layer has been
shifted as the result of a transformation.

Reviewed by Maciej

Added fast/transforms/overflow-with-transform.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects):
13:15 Changeset [35272] by rwlbuis@webkit.org

Reviewed by Mitz.

https://bugs.webkit.org/show_bug.cgi?id=19966
CSS variables crash when using hex notation for colors

Support hex colors as values for the css variables.

Test: fast/css/variables/color-hex-test.html

11:29 Changeset [35271] by mrowe@apple.com

Update Akismet plugin to 2.1.6.

11:16 Changeset [35270] by mrowe@apple.com

Update to WordPress 2.6.

10:43 Changeset [35269] by aroben@apple.com

Add Vector::find

This is a convenience wrapper around std::find.

Reviewed by Anders Carlsson.

  • wtf/Vector.h:
08:13 Changeset [35268] by mrowe@apple.com

<rdar://problem/5624143> WebView printing doesn't work correctly in x86_64

Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
This prevents a garbage value being used for the scale factor that the NSView print machinery applies.

Reviewed by Adam Roben.

  • WebView/WebHTMLView.mm:
08:13 Changeset [35267] by mrowe@apple.com

Fix CallDelegateReturningFloat for x86_64.

The x86_64 Objective-C runtime only uses objc_msgSend_fpret for
long double return values. For float return values the standard
objc_msgSend is used, as on ppc and ppc64.

Reviewed by Adam Roben.

  • WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of

objc_msgSend with the correct return type. We can no longer call it objc_msgSend_fpret
as that method is defined by the Objective-C runtime for x86_64.
(CallDelegateReturningFloat):

07:45 Changeset [35266] by barraclough@apple.com

Roll out r35261

06:47 Changeset [35265] by hausmann@webkit.org

2008-07-21 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix drawing of windowless plugins on Windows with the Qt port by
avoiding the reset of the translation of the HDC to 0, 0.

06:46 Changeset [35264] by hausmann@webkit.org

2008-07-21 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix rendering of transparent windowless netscape plugins by passing
the right conversion parameter to QPixmap::fromWinHBITMAP when
converting from HBITMAP to QPixmap.

06:46 Changeset [35263] by hausmann@webkit.org

2008-07-21 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

In the implementation of getValue for NPNVnetscapeWindow treat
windowHandleForPlatformWidget on the return value of
containingWindow() to receive the correct HWND for the Qt port.

06:46 Changeset [35262] by hausmann@webkit.org

2008-07-21 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
a QWidget. This can happen on page/view destruction for example.

02:34 Changeset [35261] by ddkilzer@apple.com

WebCore:

2008-07-21 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
Modified the css parser:

  • not to fail when closing braces are not found for a declaration at the end of the file
  • not to accept "!important fail" as valid
  • to keep accepting @import when it comes after invalid @ rules
  • not to drop the whole @media block when there's an error before the closing brace + some other minor css parsing revisions.
  • css/CSSGrammar.y:

LayoutTests:

2008-07-21 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by Dave Hyatt.

Updated layout CSS2.1 test suite tests related to css parsing:
https://bugs.webkit.org/show_bug.cgi?id=14346

  • platform/mac/css2.1/t040105-import-01-b-expected.checksum:
  • platform/mac/css2.1/t040105-import-01-b-expected.png:
  • platform/mac/css2.1/t040105-import-01-b-expected.txt:
  • platform/mac/css2.1/t0402-syntax-05-f-expected.checksum:
  • platform/mac/css2.1/t0402-syntax-05-f-expected.png:
  • platform/mac/css2.1/t0402-syntax-05-f-expected.txt:
  • platform/mac/css2.1/t0402-syntax-06-f-expected.checksum:
  • platform/mac/css2.1/t0402-syntax-06-f-expected.png:
  • platform/mac/css2.1/t0402-syntax-06-f-expected.txt:
Note: See TracTimeline for information about the timeline view.