Timeline


and

08/21/09:

23:54 Changeset [47667] by darin@apple.com

Fix Qt build.

Patch by Darin Adler <darin@apple.com> on 2009-08-21

  • parser/Nodes.cpp:

(JSC::ScopeNodeData::ScopeNodeData): Made non-inline again.
This is used outside Nodes.cpp so can't be inline unless
it is in the header.

23:53 Changeset [47666] by darin@apple.com
  • WebCore.vcproj/build-generated-files.sh:
  • make-generated-sources.sh:

Removed obsolete code to set up CREATE_HASH_TABLE.

23:52 Changeset [47665] by darin@apple.com

Two loose ends from the last commit.

Patch by Darin Adler <darin@apple.com> on 2009-08-21

and create_hash_table project-internal instead of "private".

  • runtime/Executable.h: Removed accidentally-added constructor.
23:40 Changeset [47664] by darin@apple.com

Syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674

Patch by Darin Adler <darin@apple.com> on 2009-08-21
Reviewed by Gavin Barraclough.

Use an actual arena now. 0.6% speedup on SunSpider.

New and improved with 100% less leaking of the universe.

Removed all exports involving the class FunctionBodyNode, which no
longer needs to be used outside JavaScriptCore.

Executable.h project-internal instead of "private".

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
contains const Identifier* now.

  • parser/Grammar.y: Made identifiers from the lexer be const

Identifier* and updated since VarStack contains const Identifier* now.

  • parser/Lexer.cpp:

(JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
(JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
and changed to call ParserArena.
(JSC::Lexer::clear): Removed the code to manage m_identifiers and
added code to set m_arena to 0.

  • parser/Lexer.h: Updated for changes above.
  • parser/NodeConstructors.h:

(JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
on the arena.
(JSC::ParserArenaDeletable::operator new): Changed to call the
allocateDeletable function on the arena instead of deleteWithArena.
(JSC::PropertyNode::PropertyNode): Added new constructor that makes
numeric identifiers. Some day we might want to optimize this for
integers so it doesn't create a string for each one.
(JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
since it's now a const Identifier& so it can't be left uninitialized.
(JSC::BreakNode::BreakNode): Ditto.
(JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
to keep track of the statements rather than a separate statement vector.
(JSC::BlockNode::BlockNode): Ditto.
(JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.

  • parser/Nodes.cpp: Moved the comment explaining emitBytecode in here.

It seemed strangely out of place in the header.
(JSC::ThrowableExpressionData::emitThrowError): Added an overload for
UString as well as Identifier.
(JSC::SourceElements::singleStatement): Added.
(JSC::SourceElements::lastStatement): Added.
(JSC::RegExpNode::emitBytecode): Changed the throwError code to use
the substitution mechanism instead of doing a string append.
(JSC::SourceElements::emitBytecode): Added. Replaces the old
statementListEmitCode function, since we now keep the SourceElements
objects around.
(JSC::BlockNode::lastStatement): Added.
(JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
statementListEmitCode.
(JSC::CaseClauseNode::emitBytecode): Added.
(JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
instead of statementListEmitCode.
(JSC::ScopeNodeData::ScopeNodeData): Changed to store the
SourceElements* instead of using releaseContentsIntoVector.
(JSC::ScopeNode::emitStatementsBytecode): Added.
(JSC::ScopeNode::singleStatement): Added.
(JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
of statementListEmitCode.
(JSC::EvalNode::emitBytecode): Ditto.
(JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
insetad of statementListEmitCode and check for the return node using
the new functions.

  • parser/Nodes.h: Changed VarStack to store const Identifier* instead

of Identifier and rely on the arena to control lifetime. Added a new
ParserArenaFreeable class. Made ParserArenaDeletable inherit from
FastAllocBase instead of having its own operator new. Base the Node
class on ParserArenaFreeable. Changed the various Node classes
to use const Identifier& instead of Identifier to avoid the need to
call their destructors and allow them to function as "freeable" in the
arena. Removed extraneous JSC_FAST_CALL on definitions of inline functions.
Changed ElementNode, PropertyNode, ArgumentsNode, ParameterNode,
CaseClauseNode, ClauseListNode, and CaseBlockNode to use ParserArenaFreeable
as a base class since they do not descend from Node. Eliminated the
StatementVector type and instead have various classes use SourceElements*
instead of StatementVector. This prevents those classes from having to
use ParserArenaDeletable to make sure the vector destructor is called.

  • parser/Parser.cpp:

(JSC::Parser::parse): Pass the arena to the lexer.

  • parser/Parser.h: Added an include of ParserArena.h, which is no longer

included by Nodes.h.
(JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
singleStatement function, since there is no longer any children function.
Removed some unneeded use of RefPtr.

  • parser/ParserArena.cpp:

(JSC::ParserArena::ParserArena): Added. Initializes the new members,
m_freeableMemory, m_freeablePoolEnd, and m_identifiers.
(JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
since we store only the current pointer and the end of pool pointer.
(JSC::ParserArena::deallocateObjects): Added. Contains the common
memory-deallocation logic used by both the destructor and the
reset function.
(JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
(JSC::ParserArena::reset): Ditto. Also added code to zero out the
new structures, and switched to use clear() instead of shrink(0) since
we don't really reuse arenas.
(JSC::ParserArena::makeNumericIdentifier): Added.
(JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
is empty.
(JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
since this is used only for assertions at the moment.
(JSC::ParserArena::derefWithArena): Make non-inline.

  • parser/ParserArena.h: Added an actual arena of "freeable" objects,

ones that don't need destructors to be called. Also added a separate
IdentifierArena object, a segmented vector of identifiers that used
to be in the Lexer.

  • runtime/Executable.h: Moved the definition of the

FunctionExecutable::make function here. It can't go in JSFunction.h
since that header has to be used outside JavaScriptCore and so can't
include this, which includes Nodes.h. The function could be moved
elswhere if we don't want to include JSFunction.h in this header, but
for now this seems to be the best place.

  • runtime/JSFunction.h: Removed the include of Executable.h and

definition of the FunctionExecutable::make function.

  • wtf/FastMalloc.cpp: Fixed an incorrect comment.
22:24 Changeset [47663] by adele@apple.com

<rdar://problem/7162322> Custom style sheet ignored if UAC is enabled

Reviewed by Mark Rowe.

  • platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile):

No need to open the file with write access. Only read access is needed.

22:10 Changeset [47662] by ap@apple.com

Reviewed by Darin Adler.

<rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html

Also fixes leaks seen on appcache tests.

  • platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around something that's likely a CFNetwork issue. Note that on Windows, there is no matching API to call, and we do not think that the leak occurs there anyway.
20:51 Changeset [47661] by eric@webkit.org

2009-08-22 Javier Jardón <javierjc1982@gmail.com>

[GTK] Not use deprecated symbols in WebKitWebView example code.
https://bugs.webkit.org/show_bug.cgi?id=28651

  • WebKit/gtk/webkit/webkitwebview.cpp
19:31 Changeset [47660] by mrowe@apple.com

Fix the non-JIT build.

  • runtime/Executable.cpp:
  • runtime/Executable.h:
19:06 Changeset [47659] by dimich@chromium.org

Remove cross-thread code from CrossOriginPreflightResultCache.
Removed mutexes, atomic initializer and string copy.
https://bugs.webkit.org/show_bug.cgi?id=28650

Reviewed by David Levin.

No new tests, the worker tests cover this.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::addToAccessControlAllowList):
(WebCore::CrossOriginPreflightResultCache::shared):
(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
(WebCore::CrossOriginPreflightResultCache::empty):

  • loader/CrossOriginPreflightResultCache.h:
19:02 Changeset [47658] by jmalonzo@webkit.org

2009-08-21 Michelangelo De Simone <micdesim@gmail.com>

Reviewed by Jan Alonzo.

Buildfix after http://trac.webkit.org/changeset/47655.

  • html/HTMLFormControlElement.h:
18:55 Changeset [47657] by andersca@apple.com

<rdar://problem/7162480>
Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView

Reviewed by Darin Adler.

Add a null check for the current context when reflectScrolledClipView: is called from outside a
draw operation.

  • WebView/WebDynamicScrollBarsView.mm:

(-[WebDynamicScrollBarsView reflectScrolledClipView:]):

18:53 Changeset [47656] by joepeck@webkit.org

2009-08-19 Joseph Pecoraro <joepeck@webkit.org>

Reviewed by Timothy Hatcher.

Inspector: Improve Cookie DataGrid to Show Hidden Data
https://bugs.webkit.org/show_bug.cgi?id=28269

Removed Custom Bindings

  • bindings/js/JSInspectorBackendCustom.cpp:
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8InspectorBackendCustom.cpp:
  • inspector/InspectorBackend.cpp:

Made Non-Custom Bindings in the Backend

(WebCore::InspectorBackend::getCookies):
(WebCore::InspectorBackend::deleteCookie):

  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::deleteCookie):
  • inspector/InspectorController.h:

Build the Cookie ScriptObjects, handles using document.cookie in
case the platform hasn't implemented raw cookie access.

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getCookies): (WebCore::InspectorDOMAgent::buildObjectForCookie): (WebCore::InspectorDOMAgent::buildArrayForCookies):
  • inspector/InspectorDOMAgent.h:

Complete the Asynchronous Calls

  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::didGetCookies):
  • inspector/InspectorFrontend.h:

Asynchronous Functions to get Cookie Data

  • inspector/front-end/DOMAgent.js: (WebInspector.Cookies.getCookiesAsync): (WebInspector.Cookies.buildCookiesFromString): fallback behavior

Refactor to use the Asynchronous Functions

  • inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView): (WebInspector.CookieItemsView.prototype.get statusBarItems): (WebInspector.CookieItemsView.prototype.update.callback): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies): (WebInspector.CookieItemsView.prototype._deleteButtonClicked):

Cleaned/Commented Related Code

(InspectorController.searchCanceled):

  • inspector/front-end/InjectedScript.js:
  • platform/Cookie.h:
  • English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
18:16 Changeset [47655] by pkasting@chromium.org

WebCore: https://bugs.webkit.org/show_bug.cgi?id=28145
Add support for novalidate/formnovalidate attribute, from HTML5 specs:
http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

Tests: fast/forms/formnovalidate-attribute.html

fast/forms/novalidate-attribute.html

  • html/HTMLAttributeNames.in: added novalidate, formnovalidate
  • html/HTMLButtonElement.idl: formnovalidate attribute exposed
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::formNoValidate): attribute getter
(WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::novalidate): attribute getter
(WebCore::HTMLFormElement::setNovalidate): attribute setter

  • html/HTMLFormElement.h:
  • html/HTMLFormElement.idl: novalidate attribute exposed
  • html/HTMLInputElement.idl: formNoValidate attribute exposed

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=28145
Tests for novalidate/formnovalidate attribute, from HTML5 specs:
http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
  • fast/forms/formnovalidate-attribute-expected.txt: Added.
  • fast/forms/formnovalidate-attribute.html: Added.
  • fast/forms/novalidate-attribute-expected.txt: Added.
  • fast/forms/novalidate-attribute.html: Added.
  • fast/forms/resources/formnovalidate-attribute.js: Added.
  • fast/forms/resources/novalidate-attribute.js: Added.
18:13 Changeset [47654] by jmalonzo@webkit.org

2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Rubberstamped by Simon Fraser.

Remove GNOME keyring support in build-webkit. This dependency's
already been removed in the Gtk port.

  • Scripts/build-webkit:
17:59 Changeset [47653] by barraclough@apple.com

Speculative QuickTime build fix.

Reviewed by NOBODY (build fix).

  • runtime/JSArray.cpp:
17:44 Changeset [47652] by mitz@apple.com

Set the PNG's svn:mime-type property to image/png

17:41 Changeset [47651] by mitz@apple.com

Rubber-stamped by Anders Carlsson.

Tweaked the test to make everything fit in a 800-by-600 view.

  • fast/backgrounds/size/contain-and-cover-expected.checksum:
  • fast/backgrounds/size/contain-and-cover-expected.png:
  • fast/backgrounds/size/contain-and-cover-expected.txt:
  • fast/backgrounds/size/contain-and-cover.html:
17:33 Changeset [47650] by mitz@apple.com

WebCore:
Rendering changes to complete
[CSS3 Backgrounds and Borders] Add support for the "contain" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27573
and
[CSS3 Backgrounds and Borders] Add support for the "cover" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27574

Reviewed by Beth Dakin.

Test: fast/backgrounds/size/contain-and-cover.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundSize):

  • rendering/RenderObject.cpp:

(WebCore::mustRepaintFillLayers):

LayoutTests:
Rendering tests for
[CSS3 Backgrounds and Borders] Add support for the "contain" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27573
and
[CSS3 Backgrounds and Borders] Add support for the "cover" value for
background-size
https://bugs.webkit.org/show_bug.cgi?id=27574

Reviewed by Beth Dakin.

  • fast/backgrounds/size/contain-and-cover-expected.checksum: Added.
  • fast/backgrounds/size/contain-and-cover-expected.png: Added.
  • fast/backgrounds/size/contain-and-cover-expected.txt: Added.
  • fast/backgrounds/size/contain-and-cover.html: Added.
  • fast/backgrounds/size/resources/SquirrelFish.svg: Added!!!
16:55 Changeset [47649] by pkasting@chromium.org

WebCore: https://bugs.webkit.org/show_bug.cgi?id=27452
Add support for checkValidity() method and invalid event, from HTML5
specs:
http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

Tests: fast/events/invalid-001.html

fast/events/invalid-002.html
fast/events/invalid-003.html
fast/events/invalid-004.html
fast/events/invalid-005.html
fast/forms/checkValidity-001.html
fast/forms/checkValidity-002.html
fast/forms/checkValidity-003.html
fast/forms/checkValidity-004.html

  • dom/Document.idl: oninvalid event handler
  • dom/Element.idl: ditto
  • dom/EventNames.h: added invalid event
  • dom/Node.cpp:

(WebCore::Node::oninvalid): ditto
(WebCore::Node::setOninvalid): ditto

  • dom/Node.h: ditto
  • html/HTMLAttributeNames.in: oninvalid attribute
  • html/HTMLButtonElement.idl: added checkValidity() method
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseMappedAttribute): parses oninvalid

  • html/HTMLFieldSetElement.idl: added checkValidity() method
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::checkValidity): checkValidity()
implementation

  • html/HTMLFormControlElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
for form elements

  • html/HTMLFormElement.h: checkValidity() definition
  • html/HTMLFormElement.idl: added checkValidity() method
  • html/HTMLInputElement.idl: added checkValidity() method
  • html/HTMLSelectElement.idl: added checkValidity() method
  • html/HTMLTextAreaElement.idl: added checkValidity() method
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::oninvalid): oninvalid event handler
(WebCore::DOMWindow::setOninvalid): ditto

  • page/DOMWindow.h: ditto
  • page/DOMWindow.idl: ditto

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=27452
Tests for checkValidity() method and invalid event, from HTML5
specs:
http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-21
Reviewed by Adele Peterson.

  • fast/events/invalid-001-expected.txt: Added.
  • fast/events/invalid-001.html: Added.
  • fast/events/invalid-002-expected.txt: Added.
  • fast/events/invalid-002.html: Added.
  • fast/events/invalid-003-expected.txt: Added.
  • fast/events/invalid-003.html: Added.
  • fast/events/invalid-004-expected.txt: Added.
  • fast/events/invalid-004.html: Added.
  • fast/events/invalid-005-expected.txt: Added.
  • fast/events/invalid-005.html: Added.
  • fast/forms/checkValidity-001-expected.txt: Added.
  • fast/forms/checkValidity-001.html: Added.
  • fast/forms/checkValidity-002-expected.txt: Added.
  • fast/forms/checkValidity-002.html: Added.
  • fast/forms/checkValidity-003-expected.txt: Added.
  • fast/forms/checkValidity-003.html: Added.
  • fast/forms/checkValidity-004-expected.txt: Added.
  • fast/forms/checkValidity-004.html: Added.
  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
16:30 Changeset [47648] by bdakin@apple.com

WebCore: The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3
Backgrounds and Borders] Add support for the "round" value for
background-repeat
-and-
https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
Borders] Add support for the "space" value for background-repeat

Reviewed by Dan Bernstein.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EFillRepeat):

  • css/CSSValueKeywords.in:
  • rendering/style/FillLayer.h:
  • rendering/style/RenderStyleConstants.h:

(WebCore::):

LayoutTests: Test for the CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 Backgrounds and Borders] Add support for the "round" value
for background-repeat
-and-
https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and
Borders] Add support for the "space" value for background-repeat

Reviewed by Dan Bernstein.

  • fast/backgrounds/repeat/parsing-background-repeat-expected.txt: Added.
  • fast/backgrounds/repeat/parsing-background-repeat.html: Added.
  • fast/backgrounds/repeat/resources/parsing-background-repeat.js: Added.

(test):

15:57 Changeset [47647] by eric@webkit.org

2009-08-21 Christian Plesner Hansen <christian.plesner.hansen@gmail.com>

Reviewed by Eric Seidel.

Regression test for bug fixed in
http://codereview.chromium.org/171039. Regexps created in one
frame were not callable outside that frame.
https://bugs.webkit.org/show_bug.cgi?id=28387

  • fast/regex/cross-frame-callable-expected.txt: Added.
  • fast/regex/cross-frame-callable.html: Added.
  • fast/regex/resources/cross-frame-callable.js: Added. (doTest):
15:46 Changeset [47646] by barraclough@apple.com

Speculative QT build fix.

Reviewed by NOBODY (build fix).

  • runtime/StringPrototype.cpp:
15:45 Changeset [47645] by cmarrin@apple.com

New files for Canvas 3D feature
https://bugs.webkit.org/show_bug.cgi?id=28018

This is all the new files for implementing Canvas 3D. None of them are hooked up and
are not even included in the build yet. This incorporates the reviews from Simon
and Ollie for these files.

15:28 Changeset [47644] by rniwa@webkit.org

No Review.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Another Windows build fix.

  • editing/ApplyStyleCommand.cpp:

(WebCore::diffTextDecorations):

15:19 Changeset [47643] by hyatt@apple.com

https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
line box shrinking quirk. Make sure outlines don't extend outside the lineTop and lineBottom
of the root line box.

Reviewed by Simon Fraser.

Covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addFocusRingRects):
(WebCore::RenderInline::paintOutline):

15:08 Changeset [47642] by rniwa@webkit.org

No Review.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Windows build fix.

  • editing/ApplyStyleCommand.cpp:

(WebCore::setTextDecorationProperty): Made it static
(WebCore::diffTextDecorations): Made it static

14:54 Changeset [47641] by barraclough@apple.com

Restructure Executable types so that host functions do not hold a FunctionExecutable.
https://bugs.webkit.org/show_bug.cgi?id=28621

Reviewed by Oliver Hunt.

All JSFunction objects have a pointer to an Executable*. This is currently always a
FunctionExecutable, however this has a couple of drawbacks. Host functions do not
store a range of information that the FunctionExecutable provides (source, name,
CodeBlock & information presently held on the FunctionBodyNode).

[ * nearly all... see below! ]

Instead, make JSFunctions hold a pointer to an ExecutableBase, move fields specific
to JS sourced executable types (source, node) into a new subclass (ScriptExecutable),
and create a new NativeExecutable type. We now provide a new method in JSFunction
to access & downcast to FunctionExecutable, but in doing so we can make an early
check (with an ASSERT) to ensure that the Executable read from a function will only
be treated as a FunctionExecutable (and thus the JS sepcific fields will only be
accessed) if the JSFunction is not a host function.

There is one JSFunction that currently does not have an Executable, which is the
object created to allow us to read out the vtable pointer. By making this change
we can also add a new Executable type fror this object (VPtrHackExecutable).
Since this means that really all JSFunctions have an Executable we no longer have
to null-check m_executable before us it - particularly in isHostFunction().

This patch removes CacheableEvalExecutable, since all subclasses of ExecutableBase
can now be ref-counted - since both JSFunction holds (and ref-counts) an ExecutableBase
that might be a FunctionExecutable or a NativeExecutable. This does now mean that all
ProgramExecutables and EvalExecutables (unnecessarily) provide an interface to be
ref-counted, however this seems less-bad than host functions unnecessarily providing
interface to access non-host specific information.

The class hierarcy has changed from this:

  • ExecutableBase
    • ProgramExecutable
    • EvalExecutable
      • CacheableEvalExecutable (also RefCounted by multiple-inheritance)
    • FunctionExecutable (also RefCounted by multiple-inheritance, 'special' FunctionExecutable also used for host functions)

To this:

  • RefCounted
    • ExecutableBase
      • NativeExecutable
      • VPtrHackExecutable
      • ScriptExecutable
        • ProgramExecutable
        • EvalExecutable
        • FunctionExecutable

This patch speeds up sunspidey by a couple of ms (presumably due to the changes to isHostFunction()).

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::ownerExecutable):
(JSC::GlobalCodeBlock::GlobalCodeBlock):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::get):

  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::callEval):
(JSC::Interpreter::privateExecute):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • profiler/Profiler.cpp:

(JSC::createCallIdentifierFromFunctionImp):

  • runtime/Arguments.h:

(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments):

  • runtime/Executable.cpp:

(JSC::NativeExecutable::~NativeExecutable):
(JSC::VPtrHackExecutable::~VPtrHackExecutable):

  • runtime/Executable.h:

(JSC::ExecutableBase::ExecutableBase):
(JSC::ExecutableBase::~ExecutableBase):
(JSC::ExecutableBase::isHostFunction):
(JSC::NativeExecutable::NativeExecutable):
(JSC::VPtrHackExecutable::VPtrHackExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::source):
(JSC::ScriptExecutable::sourceID):
(JSC::ScriptExecutable::sourceURL):
(JSC::ScriptExecutable::lineNo):
(JSC::ScriptExecutable::lastLine):
(JSC::ScriptExecutable::usesEval):
(JSC::ScriptExecutable::usesArguments):
(JSC::ScriptExecutable::needsActivation):
(JSC::EvalExecutable::EvalExecutable):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::~JSFunction):
(JSC::JSFunction::markChildren):
(JSC::JSFunction::getCallData):
(JSC::JSFunction::call):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::getConstructData):
(JSC::JSFunction::construct):

  • runtime/JSFunction.h:

(JSC::JSFunction::executable):
(JSC::JSFunction::jsExecutable):
(JSC::JSFunction::isHostFunction):

14:51 Changeset [47640] by rniwa@webkit.org

WebCore: execCommand("Underline") uses CSS even when styleWithCSS has been turned off
https://bugs.webkit.org/show_bug.cgi?id=23892

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Reviewed by Eric Seidel.

This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
WebKit does not use CSS to decorate texts when styleWithCSS is set to false.

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::copy): Added.

  • css/CSSValueList.h: Added copy.
  • editing/ApplyStyleCommand.cpp:

(WebCore::StyleChange::applyUnderline):
(WebCore::StyleChange::applyLineThrough):
(WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
(WebCore::StyleChange::init): Ditto.
(WebCore::StyleChange::extractTextStyles): Handles text decorations.
(WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.

LayoutTests: execCommand("Underline") uses CSS even when styleWithCSS has been turned off
https://bugs.webkit.org/show_bug.cgi?id=23892

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-21
Reviewed by Eric Seidel.

This patch rebaselines tests contained spans to decorate texts even though styleWithCSS is turned off.
It replaces those spans with either u or s accordingly.

It modifies the order in which tag appear in toggle-style-2 to match the actual result
since the original ordering was rather arbitrary.

This patch breaks /editing/style/font-family-with-space.html for Qt platform.
Manual rebaseline is required once the patch is landed.

  • editing/execCommand/resources/toggle-style-2.js: Modified the order in which tag appear
  • editing/execCommand/resources/toggle-text-decorations.js: execCommand('styleWithCSS') is called after selection is set

(testSingleToggle):

  • editing/execCommand/strikethroughSelection-expected.txt: span with line-through was replaced by s
  • editing/execCommand/toggle-style-2-expected.txt: Passes all but the last two tests.
  • editing/style/remove-underline-across-paragraph-expected.txt: Underline is added by u instead of CSS.
  • editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Ditto.
  • editing/style/remove-underline-after-paragraph-expected.txt: Ditto.
  • editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Ditto.
  • editing/style/remove-underline-expected.txt: Ditto.
  • editing/style/remove-underline-in-bold-expected.txt: Ditto.
  • editing/style/underline-expected.txt: Ditto.
  • platform/mac/editing/execCommand/5190926-expected.txt: Ditto.
  • platform/mac/editing/pasteboard/5075944-expected.txt: Ditto.
  • platform/mac/editing/style/font-family-with-space-expected.txt: Ditto.
  • platform/qt/editing/execCommand/5190926-expected.txt: Ditto.
  • platform/qt/editing/pasteboard/5075944-expected.txt: Ditto.
13:35 Changeset [47639] by joepeck@webkit.org

Joseph Pecoraro <joepeck@webkit.org>

Reviewed by Timothy Hatcher.

Inspector: Rename "Databases" Panel as "Storage"
https://bugs.webkit.org/show_bug.cgi?id=28620

Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.

  • inspector/InspectorController.cpp: (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
  • inspector/InspectorController.h: (WebCore::InspectorController::):
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::showPanel):

Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
any DatabasesPanel constructors and appropriate function names.

  • inspector/front-end/DOMStorageDataGrid.js: (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): (WebInspector.DOMStorageDataGrid.prototype._startEditing): (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
  • inspector/front-end/DOMStorageItemsView.js: (WebInspector.DOMStorageItemsView.prototype.update):
  • inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryFinished):
  • inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView.prototype._queryFinished):
  • inspector/front-end/inspector.js: (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage" (WebInspector.showStoragePanel): (WebInspector.selectDatabase): (WebInspector.selectDOMStorage): (WebInspector.addDatabase): (WebInspector.addDOMStorage):

Renamed some files and Updated Accordingly.

  • inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
  • inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
  • inspector/front-end/WebKit.qrc: use new file names
  • inspector/front-end/inspector.css: use new images name and class names
  • inspector/front-end/inspector.html: use new file name
  • WebCore.gypi: use new file names

Miscellaneous Updates.

  • English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
12:57 Changeset [47638] by kov@webkit.org

2009-08-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Skipping a new test, a test that requires geolocation support (we
do not enable it yet), and a test which needs font sizing to be
properly setup.

  • platform/gtk/Skipped:
12:16 Changeset [47637] by eric@webkit.org

2009-08-21 Maxime Simon <simon.maxime@gmail.com>

Reviewed by Oliver Hunt.

[Haiku] Adding three font-specific files to WebCore:
FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
https://bugs.webkit.org/show_bug.cgi?id=28131

  • platform/graphics/haiku/FontCacheHaiku.cpp: Added. (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::createFontPlatformData): (WebCore::FontCache::getTraitsInFamily):
  • platform/graphics/haiku/FontHaiku.cpp: Added. (charUnicodeToUTF8HACK): (WebCore::Font::canReturnFallbackFontsForComplexText): (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText): (WebCore::Font::floatWidthForComplexText): (WebCore::Font::selectionRectForComplexText): (WebCore::Font::offsetForPositionForComplexText):
  • platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added. (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformCharWidthInit): (WebCore::SimpleFontData::platformDestroy): (WebCore::SimpleFontData::smallCapsFontData): (WebCore::SimpleFontData::containsCharacters): (WebCore::SimpleFontData::determinePitch): (WebCore::SimpleFontData::platformWidthForGlyph):
12:02 Changeset [47636] by eric@webkit.org

2009-08-21 Philippe Beauchamp <philippe.beauchamp@gmail.com>

Reviewed by Adam Roben.

Middle click panning icon is offset by 3 pixels
https://bugs.webkit.org/show_bug.cgi?id=28611

  • platform/ScrollView.cpp: panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
  • platform/win/CursorWin.cpp: (WebCore::middlePanningCursor): Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
11:54 Changeset [47635] by eric@webkit.org

2009-08-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Eric Seidel.

[Qt] Remove inspector resources for Symbian
https://bugs.webkit.org/show_bug.cgi?id=28610

Based on an idea from Simon Hausmann.

  • WebCore.pro:
11:54 Changeset [47634] by oliver@apple.com

Add test to ensure JSON parser does not accept comments.

Reviewed by Tim Hatcher.

11:20 Changeset [47633] by joepeck@webkit.org

2009-08-21 Joseph Pecoraro <joepeck@webkit.org>

Reviewed by Eric Seidel.

Inspector: Remove Unused Variable
https://bugs.webkit.org/show_bug.cgi?id=28616

  • inspector/front-end/Resource.js: (WebInspector.Resource.prototype._checkWarning):
11:11 Changeset [47632] by joepeck@webkit.org

2009-08-21 Joseph Pecoraro <joepeck@webkit.org>

Reviewed by Timothy Hatcher.

Inspector: Console Array Formatter Shows Extra Properties
https://bugs.webkit.org/show_bug.cgi?id=28615

  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
11:10 Changeset [47631] by bweinstein@apple.com

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Adam Roben.
Based on original patch by Stephanie Lewis.

Added support of the Windows malloc history format to parse-malloc history, so we can
read and parse it.

  • Scripts/parse-malloc-history:
07:43 Changeset [47630] by bdakin@apple.com

WebCore: The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3
Backgrounds and Borders] Add support for the "contain" value for
background-size
-and-
https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and
Borders] Add support for the "cover" value for background-size

Reviewed by Dan Bernstein.

Return contain or cover when appropriate, and otherwise do what we
used to do.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

Accept contain and cover as valid values for background-size.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillProperty):

Handle setting the size and the sizeLength if appropriate.

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::mapFillSize):

Added new keywords contain and cover.

  • css/CSSValueKeywords.in:

Use just sizeLength instead of size to match old behavior.

  • page/animation/AnimationBase.cpp:

(WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundSize):

  • rendering/RenderObject.cpp:

(WebCore::mustRepaintFillLayers):

The variable m_sizeType is an EBackgroundSize, and m_sizeLength is
a LengthSize (the equivalent of what m_size used to be). I got rid
of m_sizeSet and made isSizeSet() dynamic. I also defined a new
struct, FillSize that can be used to set or get m_size and
m_sizeLength both at once.

  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):
(WebCore::FillLayer::operator=):
(WebCore::FillLayer::operator==):
(WebCore::FillLayer::fillUnsetProperties):

  • rendering/style/FillLayer.h:

(WebCore::FillSize::FillSize):
(WebCore::FillSize::operator==):
(WebCore::FillSize::operator!=):
(WebCore::FillLayer::sizeLength):
(WebCore::FillLayer::size):
(WebCore::FillLayer::isSizeSet):
(WebCore::FillLayer::setSizeType):
(WebCore::FillLayer::setSizeLength):
(WebCore::FillLayer::setSize):
(WebCore::FillLayer::clearSize):
(WebCore::FillLayer::initialFillSizeType):
(WebCore::FillLayer::initialFillSizeLength):
(WebCore::FillLayer::initialFillSize):

This is all boiler-plate stuff to adjust to the new size() vs.
sizeType() vs. sizeLength() distinction.

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::backgroundSizeType):
(WebCore::InheritedFlags::backgroundSizeLength):
(WebCore::InheritedFlags::maskSize):
(WebCore::InheritedFlags::setBackgroundSize):
(WebCore::InheritedFlags::setBackgroundSizeLength):
(WebCore::InheritedFlags::setMaskSize):

Definition for EBackgroundSizeType.

  • rendering/style/RenderStyleConstants.h:

(WebCore::):

LayoutTests: Tests for the CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 Backgrounds and Borders] Add support for the "contain" value
for background-size
-and-
https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and
Borders] Add support for the "cover" value for background-size

Reviewed by Dan Bernstein.

  • fast/backgrounds/size/parsing-background-size-values-expected.txt: Added.
  • fast/backgrounds/size/parsing-background-size-values.html: Added.
  • fast/backgrounds/size/parsing-inherit-expected.txt: Added.
  • fast/backgrounds/size/parsing-inherit.html: Added.
  • fast/backgrounds/size/resources/parsing-background-size-values.js: Added.

(test):

  • fast/backgrounds/size/resources/parsing-inherit.js: Added.

(test):

06:32 Changeset [47629] by jmalonzo@webkit.org

2009-08-21 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[Gtk] Check-in result for http://trac.webkit.org/changeset/47590.

  • platform/gtk/fast/repaint/inline-block-resize-expected.txt: Copied from LayoutTests/platform/mac/fast/repaint/inline-block-resize-expected.txt.
03:07 Changeset [47628] by ariya@webkit.org

2009-08-21 Ariya Hidayat <ariya.hidayat@nokia.com>

Not reviewed, build fix after r47580.

[Qt] Adjust the files.

  • inspector/front-end/WebKit.qrc:
00:48 Changeset [47627] by oliver@apple.com

Browser hangs on opening Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=28438

Reviewed by Maciej Stachowiak.

Code generation needs to be able to walk the entire scopechain in some
cases, however the symbol table used by activations was a member of the
codeblock. Following recompilation this may no longer exist, leading
to a crash or hang on lookup.

We fix this by introducing a refcounted SymbolTable subclass, SharedSymbolTable,
for the CodeBlocks used by function code. This allows activations to
maintain ownership of a copy of the symbol table even after recompilation so
they can continue to work.

00:01 Changeset [47626] by cfleizach@apple.com

WebCore: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

Test: platform/mac/accessibility/aria-grouping-roles.html

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:
  • accessibility/mac/AccessibilityObjectWrapper.mm:
  • page/mac/WebCoreViewFactory.h:
  • platform/LocalizedStrings.h:
  • platform/mac/LocalizedStringsMac.mm:

WebKit: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • English.lproj/Localizable.strings:

WebKit/mac: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • WebCoreSupport/WebViewFactory.mm:

(-[WebViewFactory AXARIAContentGroupText:]):

WebKitTools: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

Expose the ability to retrieve the subrole through accessibility for DRT.

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:
  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

LayoutTests: Enable various "grouping" ARIA roles
https://bugs.webkit.org/show_bug.cgi?id=28486

Reviewed by Darin Adler.

  • platform/mac/accessibility/aria-grouping-roles-expected.txt: Added.
  • platform/mac/accessibility/aria-grouping-roles.html: Added.
00:00 Changeset [47625] by xan@webkit.org

2009-08-20 Xan Lopez <xlopez@igalia.com>

Add new file to GTK+ build.

  • GNUmakefile.am:

08/20/09:

23:11 Changeset [47624] by levin@chromium.org

Unreviewed trivial comment fix.

Patch by David Levin <levin@chromium.org> on 2009-08-20
Update a bug link in a comment due to bugzilla amnesia.

  • loader/CachedResource.cpp:

(WebCore::CachedResource::setResourceToRevalidate):

22:47 Changeset [47623] by joepeck@webkit.org

Added myself (Joseph Pecoraro) as commiter

22:41 Changeset [47622] by ggaren@apple.com

Added a number => string cache.

Patch by Geoffrey Garen <ggaren@apple.com> on 2009-08-20
Reviewed by Maciej Stachowiak.

1.07x faster on v8 (1.7x faster on v8-splay).
1.004x faster on SunSpider.

  • runtime/JSCell.h: Moved JSValue::toString to JSString.h.
  • runtime/JSGlobalData.h: Holds the cache.
  • runtime/JSNumberCell.cpp:

(JSC::JSNumberCell::toString):
(JSC::JSNumberCell::toThisString): Removed -0 special case.
UString handles this now, since too many clients were
special-casing it.

  • runtime/JSString.h:

(JSC::JSValue::toString): Use the cache when converting
an int or double to string.

  • runtime/Operations.h:

(JSC::concatenateStrings): Call toString to take advantage
of the cache.

  • runtime/SmallStrings.h:

(JSC::NumericStrings::add):
(JSC::NumericStrings::lookup): The cache.

  • runtime/UString.cpp:

(JSC::UString::from): Added -0 special case mentioned above.
Removed appendNumeric because it's mutually exclusive with the
cache.

22:23 Changeset [47621] by xan@webkit.org

2009-08-20 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Fix memory leaks.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::whiteListAccessFromOrigin): (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId):
21:21 Changeset [47620] by oliver@apple.com

REGRESSION: fast/profiler/call.html is crashing occasionally
https://bugs.webkit.org/show_bug.cgi?id=28476

Reviewed by Gavin Barraclough.

Using the codeblock for information about how many parameters and
locals a function has is unsafe in certain circumstances. The
basic scenario is all function code being cleared in response to
the debugger or profiler being enabled, and then an activation is
marked before its associated function is re-executed.

To deal with this scenario we store the variable count of a function
directly in the FunctionExecutable, and then use that information.

21:10 Changeset [47619] by ajwong@chromium.org

WebCore: HTML5 media elements do not fire waiting events correctly
https://bugs.webkit.org/show_bug.cgi?id=28335

Patch by Albert J. Wong <ajwong@chromium.org> on 2009-08-20
Reviewed by David Levin.

Fire the waiting event before seeking, and fix a case where firing of
the seeked event is missed when the ready state is changed during
a seek.

Added video-waiting-seeking.html into manual tests because not
all platforms allow seeking into non-buffered ranges.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setReadyState): add support for
waiting event when seeking.
(WebCore::HTMLMediaElement::finishSeek): send seeked event
whenever seeking finishes.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
new function.

  • html/HTMLMediaElement.h:
  • manual-tests/video-waiting-seeking.html: Added.

LayoutTests: HTML5 media elements do not fire waiting events correctly
https://bugs.webkit.org/show_bug.cgi?id=28335

Patch by Albert J. Wong <ajwong@chromium.org> on 2009-08-20
Reviewed by David Levin.

New manual test to check if waiting/seeking events are fired
when seeking into a non-buffered region.

  • http/tests/media/video-throttled-load.cgi: Added.
  • media/video-test.js:

(isInTimeRanges):

20:18 Changeset [47618] by mitz@apple.com

Fix more cases of
<rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
the console with certain content

Reviewed by John Sullivan.

If the border box is empty, simply avoid painting instead of trying to
clip to the empty path.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint):

20:09 Changeset [47617] by mrowe@apple.com

Versioning.

20:08 Changeset [47616] by mrowe@apple.com

New tag.

20:08 Changeset [47615] by mrowe@apple.com

Merge r47606.

19:57 Changeset [47614] by barraclough@apple.com

Numbering of arguments to emitGetJITStubArg/emitPutJITStubArg incorrect
https://bugs.webkit.org/show_bug.cgi?id=28513

Reviewed by Oliver Hunt.

The argumentNumber argument to emitGetJITStubArg/emitPutJITStubArg should match
the argument number used within the stub functions in JITStubs.cpp, but it doesn't.

Firstly, all the numbers changed when we added a void* 'reserved' as the first slot
(rather than leaving argument 0 unused), and secondly in 32_64 builds the index to
peek/poke needs to be multiplies by 2 (since the argument to peek/poke is a number
of machine words, and on 32_64 build the argument slots to stub functions are two
words wide).

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallSetupArgs):
(JSC::JIT::compileOpConstructSetupArgs):
(JSC::JIT::compileOpCallVarargsSetupArgs):
(JSC::JIT::compileOpCall):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitPutJITStubArg):
(JSC::JIT::emitPutJITStubArgConstant):
(JSC::JIT::emitGetJITStubArg):
(JSC::JIT::emitPutJITStubArgFromVirtualRegister):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

18:49 Changeset [47613] by jorlow@chromium.org

2009-08-20 Jeremy Orlow <jorlow@chromium.org>

Build fix. Forgot a svn add for a patch I landed. :-(

  • storage/SQLTransactionClient.cpp: Added. (WebCore::SQLTransactionClient::didCommitTransaction): (WebCore::SQLTransactionClient::didExecuteStatement): (WebCore::SQLTransactionClient::didExceedQuota):
  • storage/SQLTransactionClient.h: Added.
18:43 Changeset [47612] by jorlow@chromium.org

2009-08-20 Dumitru Daniliuc <dumi@chromium.org>

Reviewed by Dimitri Glazkov.

Added a client to SQLTransaction. In addition to being a place to
get notifications about certain events in a transaction, it is
also an abstraction layer that allows us to plug in different
implementations for each port for how transactions interract with
the main DB. For example, WebCore's default implementation will
make direct calls to DatabaseTracker's methods. At the same time,
Chromium's implementation will send IPCs to the browser process
whenever a transaction needs something from the main DB.

All storage tests pass.

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

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/Database.cpp: (WebCore::Database::transactionClient):
  • storage/Database.h:
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread):
  • storage/DatabaseThread.h: (WebCore::DatabaseThread::transactionClient):
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::runCurrentStatement): (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): (WebCore::SQLTransaction::postflightAndCommit):
  • storage/SQLTransactionClient.cpp: Added.
  • storage/SQLTransactionClient.h: Added.
17:27 Changeset [47611] by bweinstein@apple.com

Mac Build Fix.

17:07 Changeset [47610] by bweinstein@apple.com

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Steve Falkenburg.

Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
Auto scroll speed is faster than in IE, Firefox.

Changed pan scrolling speed to match Firefox's algorithm.

  • rendering/RenderLayer.cpp: (WebCore::adjustedScrollDelta): (WebCore::RenderLayer::panScrollFromPoint):
16:49 Changeset [47609] by rniwa@webkit.org

underline tests in /editing/style/ need not to be pixel tests but need to print markup
https://bugs.webkit.org/show_bug.cgi?id=28471

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-20
Reviewed by Eric Seidel.

This patch modifies remove-underline-in-bold.html to use runDumpAsTextEditingTest.

  • editing/style/remove-underline-in-bold-expected.txt:
  • editing/style/remove-underline-in-bold.html:
16:37 Changeset [47608] by rniwa@webkit.org

Some tests using editing.js in editing/execCommand should use runDumpAsTextEditingTest
https://bugs.webkit.org/show_bug.cgi?id=28494

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-20
Reviewed by Eric Seidel.

This patch modifies the following tests to use runDumpAsTextEditingTest

  • editing/editing.js: Fixed typo and added foreColorCommand.

(execBackColorCommand):

  • editing/execCommand/italicizeByCharacter-expected.txt: Added.
  • editing/execCommand/italicizeByCharacter.html:
  • editing/execCommand/modifyForeColorByCharacter-expected.txt: Added.
  • editing/execCommand/modifyForeColorByCharacter.html:
  • editing/execCommand/strikethroughSelection-expected.txt: Added.
  • editing/execCommand/strikethroughSelection.html:
16:30 Changeset [47607] by eric@webkit.org

2009-08-20 Stephen White <senorblanco@chromium.org>

Reviewed by Eric Seidel.

Fix for assert in Chromium page cycler: drawRect() was re-using
an SkPaint, but not resetting it before calling
PlatformGraphicsSkia::setupPaintForFilling() a second time. This
CL fixes drawRect(), and re-enables the assert.
http://bugs.webkit.org/show_bug.cgi?id=28172
http://crbug.com/19797

Covered by Chromium page cycler tests.

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::drawRect): (PlatformContextSkia::setupPaintCommon):
16:17 Changeset [47606] by andersca@apple.com

<rdar://problem/7159016> Popup menus don't disappear when you click outside the window.

Reviewed by Dan Bernstein.

Revert r47535 which introduced this.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenu::show):
(WebCore::PopupWndProc):

16:05 Changeset [47605] by oliver@apple.com

EGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
https://bugs.webkit.org/show_bug.cgi?id=28332

Reviewed by Geoff Garen

Follow up style fixes that were missed in review.

15:58 Changeset [47604] by oliver@apple.com

Add new exports to windows jsc build

15:37 Changeset [47603] by eric@webkit.org

2009-08-20 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

bugzilla-tool post-diff can post partial diffs from SVN checkouts.
https://bugs.webkit.org/show_bug.cgi?id=28445

Pass the checkout root as the cwd. Also wrote a test to ensure this.

  • Scripts/modules/scm.py:
  • Scripts/modules/scm_unittest.py:
15:37 Changeset [47602] by levin@chromium.org

Crashes on sites with lots of images
https://bugs.webkit.org/show_bug.cgi?id=28473

Patch by David Levin <levin@chromium.org> on 2009-08-20
Reviewed by Alexey Proskuryakov.

The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
CachedResource is still referring to it, so it may get deleted before
Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.

  • loader/Cache.cpp:

(WebCore::Cache::revalidateResource): Added assert to verify the resource
being revalidated is physically in the cache.
(WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
resource to the revalidated resource. This allows for proper lifetime management of the
revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
(WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
process of being validated (or else they can get added twice: Once through the normal mechanism
and then again during revalidateResource).

  • loader/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::isSafeToMakePurgeable):
Changed m_isBeingRevalidated to m_proxyResource to allow finding out
who the validating resource (or proxy) is.

(WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
as well.
(WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
and added a comment about the assert.
(WebCore::CachedResource::clearResourceToRevalidate):
Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.

  • loader/CachedResource.h:

(WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
is still being referred to by it and the code it robust to this being switched to a new proxy
resource without it being cleared first.
(WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.

15:36 Changeset [47601] by oliver@apple.com

REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
https://bugs.webkit.org/show_bug.cgi?id=28332

Reviewed by Gavin Barraclough.

The method check optimisation made transitions aware of the value being
assigned when a transition was assigning a function. This had the side
effect of making every assignment of a function expression result in a
new transition, and thus a new Structure. The net result of this is that
the common JS idiom of

function MyObject() {

this.myFunction = function(...){...};

}
new MyObject();

Will produce a unique structure on every iteration, meaning that all
caching is defeated and there is a significant amount of structure churn.

The fix is to return the transition to its original form where it is
keyed off a property name + attributes tuple, but have each transition
support an optional transition on a specific value.

15:36 Changeset [47600] by eric@webkit.org

2009-08-20 Eric Seidel <eric@webkit.org>

No review, just disabling a crashing test.

REGRESSION: fast/profiler/call.html is crashing occasionally
https://bugs.webkit.org/show_bug.cgi?id=28476

Disable this test until one of the JSC folks can find a fix.
This test will occasionally crash and cause patches to be rejected
from the commit-queue which are otherwise fine.

  • fast/profiler/call.html-disabled: Renamed from LayoutTests/fast/profiler/call.html.
15:22 Changeset [47599] by eric@webkit.org

2009-08-20 Xiaomei Ji <xji@chromium.org>

Reviewed by Eric Seidel.

Fix "Chromium RTL autocomplete popup is not layout correctly".
https://bugs.webkit.org/show_bug.cgi?id=27889

The complete fix of the issue consists 2 parts: the patch in webkit
and the patch in Chromium's own code.

This webkit patch only affects Chromium autofill. It

  1. introduces a new flag in WebCore::PopupContainerSettings to distinguish whether the width of the drop-down should be restricted or not. For autofill, the width of the drop-down is restricted to be the same as that of the input field (the new flag is set in Chromium's own code). But width is not restricted for <select> (same as before).
  2. introduce a new flag in WebCore::PopContainerSettings to indicate what heuristics to use when displaying text in drop-down menu. For autofill, use drop-down item's directionality to display drop-down items. Previously, drop-down item is displayed in the its first strong directional character's directionality. (drop-down item's directionality is set in Chromium's own code. It is set the same as the directionality of the element. For autofill, it is the same directionality as that of the input field.) For <select>, still use the text's first strong directional character's directionality to display the text.

Since the patch only affects the chromium client, not webcore part or
other clients. No automatic tests is possible.

  • manual-tests/autofill-popup-width-and-item-direction.html: Added.
  • platform/chromium/PopupMenuChromium.cpp: (WebCore::): (WebCore::PopupListBox::paintRow): If list box width is restricted and an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses. (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
  • platform/chromium/PopupMenuChromium.h: (WebCore::PopupItem::PopupItem): style change. (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to distinguish whether to restrict width of list box and in what directionality to display the text in drop-down.
15:02 Changeset [47598] by eric@webkit.org

2009-08-20 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

bugzilla-tool post-diff can post partial diffs from SVN checkouts.
https://bugs.webkit.org/show_bug.cgi?id=28445

Pass the checkout root as the cwd. Also wrote a test to ensure this.

  • Scripts/modules/scm.py:
  • Scripts/modules/scm_unittest.py:
14:49 Changeset [47597] by barraclough@apple.com

Remove FunctionCodeBlock.
https://bugs.webkit.org/show_bug.cgi?id=28502

Reviewed by Oliver Hunt.

These only exist to allow JIT code to dereference properties off the
CodeBlock for any callee, regardless of whether it is a host function.

Instead just use the FunctionExecutable. Copy the m_parameters field
from the CodeBlock into the Executable, and use this to distinguish
between host functions, functions that have been bytecompiled, and
functions that have not.

m_parameters is moved to ExecutableBase rather than FunctionExecutable
so that (as a separate change) we can move make a separate class of
executable for host code, which is not devived from FunctionExecutable
(host code does not feature any of the properties that normal executable
do and will provide, such as source, attributes, and a parsed name).

1% win on v8 tests, 0.5% on sunspider.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::derefStructures):
(JSC::CodeBlock::refStructures):
(JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
(JSC::CodeBlock::handlerForBytecodeOffset):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::expressionRangeForBytecodeOffset):
(JSC::CodeBlock::getByIdExceptionInfoForBytecodeOffset):
(JSC::CodeBlock::functionRegisterForBytecodeOffset):
(JSC::CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset):
(JSC::CodeBlock::hasGlobalResolveInfoAtBytecodeOffset):

  • bytecode/CodeBlock.h:

(JSC::):
(JSC::CodeBlock::source):
(JSC::CodeBlock::sourceOffset):
(JSC::CodeBlock::evalCodeCache):
(JSC::CodeBlock::createRareDataIfNecessary):

remove NativeCodeBlocks and the NativeCode code type.


  • jit/JIT.cpp:

(JSC::JIT::linkCall):

Revert to previous behaviour (as currently still commented!) that Hhost functions have a null codeblock.

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCallInitializeCallFrame):
(JSC::JIT::compileOpCallSetupArgs):
(JSC::JIT::compileOpCallVarargsSetupArgs):
(JSC::JIT::compileOpConstructSetupArgs):
(JSC::JIT::compileOpCallVarargs):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

Bring the 32_64 & non-32_64 JITs into line with each other, callee in regT0.

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):

Rewrite call trampolines to not use the CodeBlock.

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

Make call_JSFunction & call_arityCheck return the callee, don't expect to be passed the CodeBlock.

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::generateBytecode):
(JSC::FunctionExecutable::recompile):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/Executable.h:

(JSC::ExecutableBase::):
(JSC::ExecutableBase::ExecutableBase):
(JSC::FunctionExecutable::isHostFunction):

Add m_numParameters.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::~JSFunction):

Only call generatedBytecode() on JSFunctions non-host FunctionExecutables.

14:26 Changeset [47596] by bweinstein@apple.com

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Adele Peterson.

Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>.
Pan Scrolling can scroll while showing the middlePanScroll icon.

Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState.
In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
the off by one error.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::panScrollFromPoint):
14:24 Changeset [47595] by hyatt@apple.com

Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
layoutBlockChild.

Reviewed by Dan Bernstein.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::layoutBlockChild):

  • rendering/RenderBlock.h:
14:18 Changeset [47594] by bweinstein@apple.com

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Adam Roben.

Fix of <http://webkit.org/b/27850>. Panning by emulating Mouse Wheel Events breaks Google Maps.


Switched to using RenderLayer::scrollByRecursively instead of emulating a mouse wheel,
and switched to handling the hit testing in WebView from doing it as part of the mouse wheel event.
One downside of this fix is that panning will not jump out of frames anymore (same behavior as pan-scrolling), but
this is tracked in <http://webkit.org/b/28237>.

  • WebView.cpp: (WebView::gestureNotify): Added hit testing here to figure out the node the user started the gesture on. (WebView::gesture): Switched from emulating mouse wheel events for panning to calling RenderLayer::scrollByRecursively.
  • WebView.h:

2009-08-20 Brian Weinstein <bweinstein@apple.com>

Reviewed by Adam Roben.

Made subframeForHitTargetNode a public static method, so WebView can call it
during hit testing.

  • page/EventHandler.cpp: (WebCore::subframeForHitTestResult): (WebCore::EventHandler::subframeForTargetNode):
  • page/EventHandler.h:
14:03 Changeset [47593] by bfulgham@webkit.org

Rubberstamped by Kevin Ollivier.

Check for null bundle before attempting to use it.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::certificatePath): Add null check on return of

CFBundleGetBundleWithIdentifier.

13:12 Changeset [47592] by eric@webkit.org

2009-08-20 Yongjun Zhang <yongjun.zhang@nokia.com>

Reviewed by Eric Seidel.

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

Use a helper function to work around winscw compiler forward declaration bug
regarding templated classes.

Add parenthesis around (PassRefPtr::*UnspecifiedBoolType) to make winscw compiler
work with the default UnSpecifiedBoolType() operator, which removes the winscw
specific bool cast hack.

  • wtf/PassRefPtr.h: (WTF::derefIfNotNull): (WTF::PassRefPtr::~PassRefPtr):
12:56 Changeset [47591] by mrowe@apple.com

Don't leak the JSStringRef returned by AccessibilityUIElement::attributeValue.

Reviewed by Adele Peterson.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(attributeValueCallback):

12:52 Changeset [47590] by hyatt@apple.com

WebCore: https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.

Reviewed by Dan Bernstein.

Added fast/repaint/inline-block-overflow.html and updated another test.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::placeBoxesHorizontally):
(WebCore::InlineFlowBox::computeVerticalOverflow):
Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
replaced element. Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
RenderBox has not been updated to the new values yet.

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::paint):
Don't use the root line box's overflow. Use the actual line box overflow values instead. In the case of an inline
with a layer, our overflow didn't propagate to the root line, so we always need to use our values.

  • rendering/RenderPartObject.cpp:

(WebCore::RenderPartObject::layout):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):
Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
value around if a box-shadow goes away.

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=28497, images don't propagate overflow properly when they change
size on a line.

Reviewed by Dan Bernstein.

Add a new layout test and update an existing layout test.

  • fast/repaint/inline-block-resize.html: Added.
  • platform/mac/fast/repaint/inline-block-resize-expected.checksum: Added.
  • platform/mac/fast/repaint/inline-block-resize-expected.png: Added.
  • platform/mac/fast/repaint/inline-block-resize-expected.txt: Added.
  • platform/mac/fast/replaced/border-radius-clip-expected.txt:
12:44 Changeset [47589] by dimich@chromium.org

Another attempt to fix Chromium build.

  • WebCore.gypi: now use the correct name of the image file.
12:38 Changeset [47588] by mitz@apple.com

Make the Windows build even fixeder

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContextPlatformPrivate::flush):

12:36 Changeset [47587] by dimich@chromium.org

Not reviewed, Chromium build fix.

  • WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
12:34 Changeset [47586] by mitz@apple.com

Windows build fix after the last change

  • platform/graphics/win/GraphicsContextCGWin.cpp:

(WebCore::GraphicsContext::GraphicsContext):
(WebCore::GraphicsContext::releaseWindowsContext):
(WebCore::GraphicsContext::drawWindowsBitmap):

12:24 Changeset [47585] by mitz@apple.com

Replace many manually-released CFTypeRefs with RetainPtrs
https://bugs.webkit.org/show_bug.cgi?id=28498

Reviewed by Geoffrey Garen.

  • platform/graphics/cg/ColorCG.cpp:

(WebCore::createCGColor):

  • platform/graphics/cg/GradientCG.cpp:

(WebCore::Gradient::platformGradient):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformContext):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::setURLForRect):

  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:

(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::BitmapImage::checkForSolidColor):
(WebCore::Image::drawPattern):

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::setData):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::dataChanged):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::createScratchContext):
(WebCore::Path::contains):

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawFocusRing):

  • platform/graphics/mac/ImageMac.mm:

(WebCore::BitmapImage::getTIFFRepresentation):

  • platform/mac/ClipboardMac.mm:

(WebCore::cocoaTypeFromMIMEType):
(WebCore::MIMETypeFromCocoaType):

  • platform/mac/WebCoreNSStringExtras.mm:

(stringEncodingForResource):

  • platform/network/mac/FormDataStreamMac.mm:

(WebCore::advanceCurrentStream):
(WebCore::setHTTPBody):

  • platform/text/mac/TextCodecMac.cpp:

(WebCore::TextCodecMac::encode):

11:34 Changeset [47584] by eric@webkit.org

2009-08-20 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

major-objects.html should show direct Frame <-> Document pointers
https://bugs.webkit.org/show_bug.cgi?id=28479

  • coding/major-objects.html: Added pointers to diagram.
11:27 Changeset [47583] by eric@webkit.org

2009-08-20 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

Output actual values of counters in showTree
https://bugs.webkit.org/show_bug.cgi?id=28481

No new tests because this patch just improves debugging outputs.

  • rendering/CounterNode.cpp: (WebCore::showTreeAndMark):
11:04 Changeset [47582] by mrowe@apple.com

Roll out r47571 and related build fixes as it caused us to leak the world without warning.

10:53 Changeset [47581] by eric.carlson@apple.com

2009-08-20 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (build fix).

Add file missed in last check-in.

  • html/HTMLAttributeNames.in:
10:45 Changeset [47580] by timothy@apple.com

Adds new icons to the Web Inspector for Local Storage,
Session Storage and Cookies.

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

Reviewed by Eric Seidel.

  • inspector/front-end/DatabasesPanel.js:

(WebInspector.DatabasesPanel.prototype.addDOMStorage):
(WebInspector.DOMStorageSidebarTreeElement):

  • inspector/front-end/Images/cookie.png:
  • inspector/front-end/Images/domStorage.png: Removed.
  • inspector/front-end/Images/localStorage.png: Added.
  • inspector/front-end/Images/sessionStorage.png: Added.
  • inspector/front-end/inspector.css:
10:21 Changeset [47579] by eric.carlson@apple.com

2009-08-20 Eric Carlson <eric.carlson@apple.com>

Reviewed by Anders Carlsson.

HTML5 media elements must fire 'loadend' progress event
https://bugs.webkit.org/show_bug.cgi?id=28419

  • dom/EventNames.h:

Define loadend.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::parseMappedAttribute):

Deal with onloadend.

(WebCore::HTMLMediaElement::loadInternal):

Post 'loadend' immediately after 'abort'.

(WebCore::HTMLMediaElement::noneSupported):

Post 'loadend' immediately after 'error'.

(WebCore::HTMLMediaElement::mediaEngineError):

Ditto.

(WebCore::HTMLMediaElement::setNetworkState):

Post 'loadend' immediately after 'load'.

(WebCore::HTMLMediaElement::userCancelledLoad):

Post 'loadend' immediately after 'abort'.

2009-08-20 Eric Carlson <eric.carlson@apple.com>

Reviewed by Anders Carlsson.

HTML5 media elements must fire 'loadend' progress event
https://bugs.webkit.org/show_bug.cgi?id=28419

Add 'loadend' to existing tests.

  • media/event-attributes-expected.txt:
  • media/event-attributes.html:
  • media/media-load-event-expected.txt:
  • media/media-load-event.html:
  • media/progress-event-at-least-one-expected.txt:
  • media/progress-event-at-least-one.html:
10:18 Changeset [47578] by eric@webkit.org

2009-08-20 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
https://bugs.webkit.org/show_bug.cgi?id=28474

This patch adds a test to make sure WebKit does not crash when indenting immediately right to a table.

  • editing/execCommand/indent-right-after-table-expected.txt: Added.
  • editing/execCommand/indent-right-after-table.html: Added.

2009-08-20 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
https://bugs.webkit.org/show_bug.cgi?id=28474

This patch fixes a crash when indenting at right after a table.
The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());

Test: editing/execCommand/indent-right-after-table.html

  • editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
10:11 Changeset [47577] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Use FrameLoader::load() for loading pages from a HTML page string to address
bugs with using begin/write/end loading.

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

10:10 Changeset [47576] by eric@webkit.org

2009-08-20 Andrew Scherkus <scherkus@chromium.org>

Reviewed by David Levin.

Render disabled mute button during an error or if no audio is present.

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

Covered by existing layout tests:
media/video-controls-visible-audio-only.html
media/video-no-audio.html

  • rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
07:38 Changeset [47575] by darin@apple.com

Try to fix Windows build.

Patch by Darin Adler <darin@apple.com> on 2009-08-20

Removed all exports involving the class FunctionBodyNode.

07:36 Changeset [47574] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Unreviewed, build fix.

[Qt] The template-based qMax() compares two qreals.

  • DumpRenderTree/qt/ImageDiff.cpp: (main):
07:32 Changeset [47573] by darin@apple.com

Try to fix Windows build.

Patch by Darin Adler <darin@apple.com> on 2009-08-20

  • parser/ParserArena.cpp:

(JSC::ParserArena::derefWithArena): Make non-inline.

  • parser/ParserArena.h: Ditto.
07:28 Changeset [47572] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Simon Hausmann.

[Qt] Update the (outdated) metrics for css1 padding and margin tests. All tests pass.

  • platform/qt/Skipped: Excluded passed tests.
  • platform/qt/css1/box_properties/margin-expected.txt:
  • platform/qt/css1/box_properties/margin_bottom-expected.txt:
  • platform/qt/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/qt/css1/box_properties/margin_inline-expected.txt:
  • platform/qt/css1/box_properties/margin_left-expected.txt:
  • platform/qt/css1/box_properties/margin_left_inline-expected.txt:
  • platform/qt/css1/box_properties/margin_right-expected.txt:
  • platform/qt/css1/box_properties/margin_right_inline-expected.txt:
  • platform/qt/css1/box_properties/margin_top-expected.txt:
  • platform/qt/css1/box_properties/margin_top_inline-expected.txt:
  • platform/qt/css1/box_properties/padding-expected.txt:
  • platform/qt/css1/box_properties/padding_bottom-expected.txt:
  • platform/qt/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/qt/css1/box_properties/padding_inline-expected.txt:
  • platform/qt/css1/box_properties/padding_left-expected.txt:
  • platform/qt/css1/box_properties/padding_left_inline-expected.txt:
  • platform/qt/css1/box_properties/padding_right-expected.txt:
  • platform/qt/css1/box_properties/padding_right_inline-expected.txt:
  • platform/qt/css1/box_properties/padding_top-expected.txt:
  • platform/qt/css1/box_properties/padding_top_inline-expected.txt:
07:24 Changeset [47571] by darin@apple.com

Syntax tree nodes should use arena allocation
https://bugs.webkit.org/show_bug.cgi?id=25674

Patch by Darin Adler <darin@apple.com> on 2009-08-20
Reviewed by Gavin Barraclough.

Use an actual arena now. 0.7% speedup on SunSpider.

longer needs to be used outside JavaScriptCore.

Executable.h project-internal instead of "private".

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Updated since VarStack
contains const Identifier* now.

  • parser/Grammar.y: Made identifiers from the lexer be const

Identifier* and updated since VarStack contains const Identifier* now.

  • parser/Lexer.cpp:

(JSC::Lexer::setCode): Pass in ParserArena, used for identifiers.
(JSC::Lexer::makeIdentifier): Changed return type to const Identifier*
and changed to call ParserArena.
(JSC::Lexer::clear): Removed the code to manage m_identifiers and
added code to set m_arena to 0.

  • parser/Lexer.h: Updated for changes above.
  • parser/NodeConstructors.h:

(JSC::ParserArenaFreeable::operator new): Added. Calls allocateFreeable
on the arena.
(JSC::ParserArenaDeletable::operator new): Changed to call the
allocateDeletable function on the arena instead of deleteWithArena.
(JSC::PropertyNode::PropertyNode): Added new constructor that makes
numeric identifiers. Some day we might want to optimize this for
integers so it doesn't create a string for each one.
(JSC::ContinueNode::ContinueNode): Initialize m_ident to nullIdentifier
since it's now a const Identifier& so it can't be left uninitialized.
(JSC::BreakNode::BreakNode): Ditto.
(JSC::CaseClauseNode::CaseClauseNode): Updated to use SourceElements*
to keep track of the statements rather than a separate statement vector.
(JSC::BlockNode::BlockNode): Ditto.
(JSC::ForInNode::ForInNode): Initialize m_ident to nullIdentifier.

  • parser/Nodes.cpp: Moved the comment explaining emitBytecode in here.

It seemed strangely out of place in the header.
(JSC::ThrowableExpressionData::emitThrowError): Added an overload for
UString as well as Identifier.
(JSC::SourceElements::singleStatement): Added.
(JSC::SourceElements::lastStatement): Added.
(JSC::RegExpNode::emitBytecode): Changed the throwError code to use
the substitution mechanism instead of doing a string append.
(JSC::SourceElements::emitBytecode): Added. Replaces the old
statementListEmitCode function, since we now keep the SourceElements
objects around.
(JSC::BlockNode::lastStatement): Added.
(JSC::BlockNode::emitBytecode): Changed to use emitBytecode instead of
statementListEmitCode.
(JSC::CaseClauseNode::emitBytecode): Added.
(JSC::CaseBlockNode::emitBytecodeForBlock): Changed to use emitBytecode
instead of statementListEmitCode.
(JSC::ScopeNodeData::ScopeNodeData): Changed to store the
SourceElements* instead of using releaseContentsIntoVector.
(JSC::ScopeNode::emitStatementsBytecode): Added.
(JSC::ScopeNode::singleStatement): Added.
(JSC::ProgramNode::emitBytecode): Call emitStatementsBytecode instead
of statementListEmitCode.
(JSC::EvalNode::emitBytecode): Ditto.
(JSC::FunctionBodyNode::emitBytecode): Call emitStatementsBytecode
insetad of statementListEmitCode and check for the return node using
the new functions.

  • parser/Nodes.h: Changed VarStack to store const Identifier* instead

of Identifier and rely on the arena to control lifetime. Added a new
ParserArenaFreeable class. Made ParserArenaDeletable inherit from
FastAllocBase instead of having its own operator new. Base the Node
class on ParserArenaFreeable. Changed the various Node classes
to use const Identifier& instead of Identifier to avoid the need to
call their destructors and allow them to function as "freeable" in the
arena. Removed extraneous JSC_FAST_CALL on definitions of inline functions.
Changed ElementNode, PropertyNode, ArgumentsNode, ParameterNode,
CaseClauseNode, ClauseListNode, and CaseBlockNode to use ParserArenaFreeable
as a base class since they do not descend from Node. Eliminated the
StatementVector type and instead have various classes use SourceElements*
instead of StatementVector. This prevents those classes from having to
use ParserArenaDeletable to make sure the vector destructor is called.

  • parser/Parser.cpp:

(JSC::Parser::parse): Pass the arena to the lexer.

  • parser/Parser.h: Added an include of ParserArena.h, which is no longer

included by Nodes.h.
(JSC::Parser::parseFunctionFromGlobalCode): Changed to use the
singleStatement function, since there is no longer any children function.
Removed some unneeded use of RefPtr.

  • parser/ParserArena.cpp:

(JSC::ParserArena::ParserArena): Added. Initializes the new members,
m_freeableMemory, m_freeablePoolEnd, and m_identifiers.
(JSC::ParserArena::freeablePool): Added. Computes the pool pointer,
since we store only the current pointer and the end of pool pointer.
(JSC::ParserArena::deallocateObjects): Added. Contains the common
memory-deallocation logic used by both the destructor and the
reset function.
(JSC::ParserArena::~ParserArena): Changed to call deallocateObjects.
(JSC::ParserArena::reset): Ditto. Also added code to zero out the
new structures, and switched to use clear() instead of shrink(0) since
we don't really reuse arenas.
(JSC::ParserArena::makeNumericIdentifier): Added.
(JSC::ParserArena::allocateFreeablePool): Added. Used when the pool
is empty.
(JSC::ParserArena::isEmpty): Added. No longer inline, which is fine
since this is used only for assertions at the moment.

  • parser/ParserArena.h: Added an actual arena of "freeable" objects,

ones that don't need destructors to be called. Also added a separate
IdentifierArena object, a segmented vector of identifiers that used
to be in the Lexer.

  • runtime/Executable.h: Moved the definition of the

FunctionExecutable::make function here. It can't go in JSFunction.h
since that header has to be used outside JavaScriptCore and so can't
include this, which includes Nodes.h. The function could be moved
elswhere if we don't want to include JSFunction.h in this header, but
for now this seems to be the best place.

  • runtime/JSFunction.h: Removed the include of Executable.h and

definition of the FunctionExecutable::make function.

  • wtf/FastMalloc.cpp: Fixed an incorrect comment.
07:11 Changeset [47570] by mitz@apple.com

WebCore: <rdar://problem/7154605> Loading page with 1px wide <select> makes the
toolbar go blank
and
<rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
the console with certain content

Reviewed by Darin Adler.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
adjust the radii in case the sides of the rectangle are smaller than sum
of the radii, so that the gradient background matches the border (which
already uses getBorderRadiiForRect()). Check if bottomGradient is empty
to avoid clipping to an empty path.
(WebCore::RenderThemeMac::paintMenuListButton): Moved a
GraphicContext::save() down to avoid a save/restore imbalance in the
early return case.

  • rendering/RenderThemeSafari.cpp: Made the same changes.

(WebCore::RenderThemeSafari::paintMenuListButtonGradients):
(WebCore::RenderThemeSafari::paintMenuListButton):

LayoutTests: Updated results after fixing
<rdar://problem/7154605> Loading page with 1px wide <select> makes the
toolbar go blank
and
<rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
the console with certain content

Reviewed by Darin Adler.

  • platform/mac/fast/forms/001-expected.checksum:
  • platform/mac/fast/forms/001-expected.png:
  • platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
  • platform/mac/fast/forms/menulist-narrow-width-expected.png:
06:40 Changeset [47569] by jmalonzo@webkit.org

2009-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[Gtk][REGRESSION] XHR test failures after r45558
https://bugs.webkit.org/show_bug.cgi?id=27143

http/tests/xmlhttprequest/small-chunks-response-text.html

  • Enable test fixed by this patch.

http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
http/tests/xmlhttprequest/cache-override.html

  • Enable tests already passing.

Updated patch originally by Gustavo Noronha.

  • platform/gtk/Skipped:

Disable sniffing if it's explicitly requested. Updated patch
originally by Gustavo Noronha.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::statusWillBeHandledBySoup): (WebCore::gotHeadersCallback): (WebCore::contentSniffedCallback): (WebCore::gotChunkCallback): (WebCore::startHttp):
06:20 Changeset [47568] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Reviewed by Simon Hausmann.

[Qt] Swap the pixels since QImage expect ARGB while ImageData
stores them as RGBA.

This fixes the fast/canvas/canvas-copyPixels.html test.

  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::putImageData):
06:00 Changeset [47567] by krit@webkit.org

2009-08-20 Dirk Schulze <krit@webkit.org>

Reviewed by Ariya Hidayat.

Check if the combination of getImageData and the afterward use of putImageData
still gives the right result.

  • fast/canvas/canvas-copyPixels-expected.txt: Added.
  • fast/canvas/canvas-copyPixels.html: Added.
  • fast/canvas/resources/canvas-copyPixels.js: Added.
04:23 Changeset [47566] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Simon Hausmann.

[Qt] Of course we pass ACID1 tests. Update the metrics.

  • platform/qt/Skipped:
  • platform/qt/css1/box_properties/acid_test-expected.txt:
04:19 Changeset [47565] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Simon Hausmann.

[Qt] Update the (outdated) metrics for css1 borders tests. All tests pass.

  • platform/qt/Skipped: Excluded passed tests.
  • platform/qt/css1/box_properties/border-expected.txt:
  • platform/qt/css1/box_properties/border_bottom-expected.txt:
  • platform/qt/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/qt/css1/box_properties/border_bottom_width-expected.txt:
  • platform/qt/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/qt/css1/box_properties/border_color-expected.txt:
  • platform/qt/css1/box_properties/border_color_inline-expected.txt:
  • platform/qt/css1/box_properties/border_inline-expected.txt:
  • platform/qt/css1/box_properties/border_left-expected.txt:
  • platform/qt/css1/box_properties/border_left_inline-expected.txt:
  • platform/qt/css1/box_properties/border_left_width-expected.txt:
  • platform/qt/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/qt/css1/box_properties/border_right-expected.txt:
  • platform/qt/css1/box_properties/border_right_inline-expected.txt:
  • platform/qt/css1/box_properties/border_right_width-expected.txt:
  • platform/qt/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/qt/css1/box_properties/border_style-expected.txt:
  • platform/qt/css1/box_properties/border_style_inline-expected.txt:
  • platform/qt/css1/box_properties/border_top-expected.txt:
  • platform/qt/css1/box_properties/border_top_inline-expected.txt:
  • platform/qt/css1/box_properties/border_top_width-expected.txt:
  • platform/qt/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/qt/css1/box_properties/border_width-expected.txt:
  • platform/qt/css1/box_properties/border_width_inline-expected.txt:
03:55 Changeset [47564] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Simon Hausmann.

[Qt] Update the (outdated) metrics for css1/basic tests. All tests pass.

  • platform/qt/Skipped: Excluded passed tests.
  • platform/qt/css1/basic/class_as_selector-expected.txt:
  • platform/qt/css1/basic/comments-expected.txt:
  • platform/qt/css1/basic/containment-expected.txt:
  • platform/qt/css1/basic/contextual_selectors-expected.txt:
  • platform/qt/css1/basic/grouping-expected.txt:
  • platform/qt/css1/basic/id_as_selector-expected.txt:
  • platform/qt/css1/basic/inheritance-expected.txt:
03:40 Changeset [47563] by levin@chromium.org

bugzilla-tool patch retrieval should handle 302 redirects.
https://bugs.webkit.org/show_bug.cgi?id=28485

Patch by David Levin <levin@chromium.org> on 2009-08-20
Reviewed by David Kilzer.

  • Scripts/modules/scm.py: Pass the --location parameter to curl

so that 302's are followed.

03:13 Changeset [47562] by levin@chromium.org

[v8] Use atomic string caching for createElement
Extend atomic string caching to createElement. Fix a bug in idl
parser that caused incorrect parsing if a function argument
attribute list contained a comma.
https://bugs.webkit.org/show_bug.cgi?id=28449

Patch by Christian Plesner Hansen <christian.plesner.hansen@gmail.com> on 2009-08-20
Reviewed by David Levin.

  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/scripts/IDLParser.pm:
  • bindings/v8/V8Binding.h:

(WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):

  • dom/Document.idl:
03:06 Changeset [47561] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Rubber-stamped by Simon Hausmann.

[Qt] Update the metrics after recent refactoring. All tests pass.

  • platform/qt/fast/box-shadow/basic-shadows-expected.txt:
  • platform/qt/fast/box-shadow/transform-fringing-expected.txt:
  • platform/qt/fast/dynamic/genContentDestroyChildren-expected.txt:
  • platform/qt/fast/dynamic/window-resize-scrollbars-test-expected.txt:
  • platform/qt/fast/images/image-in-map-expected.txt:
  • platform/qt/tables/mozilla/bugs/adforce_imgis_com-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
02:37 Changeset [47560] by ariya@webkit.org

2009-08-20 Ariya Hidayat <ariya.hidayat@nokia.com>

Not reviewed, build fix after r47515.

[Qt] There is no Phonon::MediaObject::hasAudio() function.

  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
01:22 Changeset [47559] by levin@chromium.org

One more speculative build for gtk.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-20

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
01:12 Changeset [47558] by levin@chromium.org

WebKit/gtk: Hopefully the last speculative build for gtk.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-20

  • webkit/webkitprivate.cpp:

(webkit_white_list_access_from_origin):

  • webkit/webkitprivate.h:

WebKitTools: Speculative build for gtk.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-20

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::whiteListAccessFromOrigin):

00:47 Changeset [47557] by mrowe@apple.com

Ignore some leaks that are known to originate from ImageIO.

  • Scripts/run-webkit-tests:
00:29 Changeset [47556] by darin@chromium.org

2009-08-20 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=28483
The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
Widget* instead of void* to avoid the need for manual casting to Widget*
at the callsite.

  • bindings/v8/ScriptController.cpp: (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
  • bindings/v8/ScriptController.h:
00:25 Changeset [47555] by levin@chromium.org

With David Levin.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-20
Speculative build fix for qt.

  • DumpRenderTree/qt/jsobjects.cpp:

(LayoutTestController::whiteListAccessFromOrigin):

  • DumpRenderTree/qt/jsobjects.h:
00:14 Changeset [47554] by levin@chromium.org

Another speculative build for gtk.

Patch by David Levin <levin@chromium.org> on 2009-08-20

  • webkit/webkitprivate.cpp:

(webkit_white_list_access_to_origin):

00:02 Changeset [47553] by levin@chromium.org

Speculative build for gtk.

Patch by David Levin <levin@chromium.org> on 2009-08-20

  • webkit/webkitprivate.cpp:

(webkit_white_list_access_to_origin):

08/19/09:

23:57 Changeset [47552] by levin@chromium.org

Speculative build break fix for qt.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19

  • Api/qwebsecurityorigin.cpp:

(QWebSecurityOrigin::whiteListAccessFromOrigin):

  • Api/qwebsecurityorigin.h:
23:54 Changeset [47551] by mrowe@apple.com

Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot

Reviewed by Dan Bernstein.

WebKit/mac:

When the plug-in data is being loaded manually there is a reference cycle between the
NetscapePluginInstanceProxy and the HostedNetscapePluginStream. We need to explicitly
break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
will be destroyed.

Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.

  • Plugins/Hosted/HostedNetscapePluginStream.h:
  • Plugins/Hosted/HostedNetscapePluginStream.mm:

(WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
(WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
cycle.

WebKitTools:

Update check-for-global-initializers to accommodate the new uses of RefCountedLeakCounter in WebKit.

  • Scripts/check-for-global-initializers:
23:49 Changeset [47550] by levin@chromium.org

Fix build break.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19

  • webkit/webkitprivate.h: "WEBKIT API" -> "WEBKIT_API"
23:42 Changeset [47549] by levin@chromium.org

Unreviewed speculative build fix for qt.

Patch by David Levin <levin@chromium.org> on 2009-08-19

  • page/OriginAccessEntry.cpp:
23:28 Changeset [47548] by levin@chromium.org

WebCore: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html

http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
http/tests/xmlhttprequest/origin-whitelisting-https.html
http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
http/tests/xmlhttprequest/origin-whitelisting-subdomains.html

  • WebCore.base.exp: Export methods to manipulate origin access whitelists to enable

testing via layout tests.

  • WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCoreSources.blk: Ditto.
  • page/SecurityOrigin.h: Implement origin access whitelists.

(WebCore::originAccessMap): Static getter for access whitelists.
(WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
(WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
(WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.

  • page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
  • page/OriginAccessEntry.cpp: Ditto.

WebKit/gtk: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

  • webkit/webkitprivate.cpp:

(webkit_white_list_access_to_origin): Add API to manipulate origin access whitelists.
(webkit_reset_origin_access_white_lists): Ditto.

  • webkit/webkitprivate.h: Ditto.

WebKit/mac: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

  • WebView/WebView.mm: Add SPI to manipulate origin access whitelists.

(+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
(+[WebView _resetOriginAccessWhiteLists]): Ditto.

  • WebView/WebViewPrivate.h: Ditto.

WebKit/qt: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

  • Api/qwebsecurityorigin.cpp: Add API to manipulate origin access whitelists.

(QWebSecurityOrigin::whiteListAccessFromOrigin): Ditto.
(QWebSecurityOrigin::resetOriginAccessWhiteLists): Ditto.

  • Api/qwebsecurityorigin.h: Ditto.

WebKitTools: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

  • DumpRenderTree/LayoutTestController.cpp: Expose whiteListAccessFromOrigin() to layout tests.

(whiteListAccessFromOriginCallback): Ditto.
(LayoutTestController::staticFunctions): Ditto.

  • DumpRenderTree/LayoutTestController.h: Ditto.
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: Ditto.

(LayoutTestController::whiteListAccessToOrigin): Ditto.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm: Ditto.

(LayoutTestController::whiteListAccessFromOrigin): Ditto.

  • DumpRenderTree/qt/jsobjects.cpp: Ditto.

(LayoutTestController::whiteListAccessFromOrigin): Ditto.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: Stub out whiteListAccessFromOrigin().

(LayoutTestController::whiteListAccessFromOrigin): Ditto.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: Reset origin access lists before each test.

(resetWebViewToConsistentStateBeforeTesting): Ditto.

  • DumpRenderTree/mac/DumpRenderTree.mm: Ditto.

(resetWebViewToConsistentStateBeforeTesting): Ditto.

  • DumpRenderTree/qt/DumpRenderTree.cpp: Ditto.

(WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting): Ditto.

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
specify a more granular policy for cross-origin XHR access.

Patch by Aaron Boodman <aa@chromium.org> on 2009-08-19
Reviewed by David Levin.

  • http/tests/xmlhttprequest/origin-whitelisting-all-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-all.html: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-exact-match-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-exact-match.html: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-https.html: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-subdomains-expected.txt: Added.
  • http/tests/xmlhttprequest/origin-whitelisting-subdomains.html: Added.
  • http/tests/xmlhttprequest/resources/origin-whitelisting-ip-address-test.html: Added.
21:58 Changeset [47547] by kevino@webkit.org

Non-precomp headers build fix.

20:51 Changeset [47546] by jorlow@chromium.org

2009-08-19 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

Disable a bad SKIA assert
https://bugs.webkit.org/show_bug.cgi?id=28482

In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code.
When this was pulled into Chromium, it started breaking the page cycler.
Disable it again until we can figure out what's going on.

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::setupPaintCommon):
20:23 Changeset [47545] by mrowe@apple.com

Rubber-stamped by Dan Bernstein.

Ignore some leaks that are known to originate from QTKit.

  • Scripts/run-webkit-tests:
19:40 Changeset [47544] by rniwa@webkit.org

No review.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Delete files that should have been deleted in http://trac.webkit.org/changeset/47542.

  • platform/mac/editing/style/remove-underline-after-paragraph-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-expected.txt: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-in-bold-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-after-paragraph-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Removed.
19:34 Changeset [47543] by rniwa@webkit.org

underline tests in /editing/style/ need not to be pixel tests but need to print markup
https://bugs.webkit.org/show_bug.cgi?id=28471

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Reviewed by Eric Seidel.

  • editing/style/remove-underline-across-paragraph-expected.txt: Added.
  • editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Added.
  • editing/style/remove-underline-across-paragraph-in-bold.html:
  • editing/style/remove-underline-across-paragraph.html:
  • platform/mac/editing/style/remove-underline-across-paragraph-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-across-paragraph-expected.png: Removed.
  • platform/mac/editing/style/remove-underline-across-paragraph-expected.txt: Removed.
  • platform/mac/editing/style/remove-underline-across-paragraph-in-bold-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-across-paragraph-in-bold-expected.png: Removed.
  • platform/mac/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-across-paragraph-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-across-paragraph-in-bold-expected.txt: Removed.
19:24 Changeset [47542] by rniwa@webkit.org

underline tests in /editing/style/ need not to be pixel tests but need to print markup
https://bugs.webkit.org/show_bug.cgi?id=28471

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Reviewed by Eric Seidel.

This patch converts the following tests to dumpAsText tests using runDumpAsTextEditingTest

  • editing/style/remove-underline-after-paragraph-expected.txt: Added.
  • editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Added.
  • editing/style/remove-underline-after-paragraph-in-bold.html:
  • editing/style/remove-underline-after-paragraph.html:
  • platform/mac/editing/style/remove-underline-after-paragraph-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-expected.png: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-expected.txt: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-in-bold-expected.checksum: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-in-bold-expected.png: Removed.
  • platform/mac/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-after-paragraph-expected.txt: Removed.
  • platform/qt/editing/style/remove-underline-after-paragraph-in-bold-expected.txt: Removed.
19:14 Changeset [47541] by rniwa@webkit.org

WebCore: queryCommandState('underline') returns false if the selected text is also bold and italic
https://bugs.webkit.org/show_bug.cgi?id=11022

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Reviewed by Darin Adler.

This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
instead of text-decoration. Because text-decoration only retrieves explicit styling at the node on which
the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
and also u, s, and strike tags.

Test: editing/style/text-decoration-state.html

  • editing/EditorCommand.cpp:

(WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
(WebCore::stateUnderline): Ditto.

LayoutTests: queryCommandState('underline') returns false if the selected text is also bold and italic
https://bugs.webkit.org/show_bug.cgi?id=11022

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Reviewed by Darin Adler.

This patch adds a test to make sure queryCommandState returns correct boolean value for underline and strikethrough.

  • editing/style/resources: Added.
  • editing/style/resources/TEMPLATE.html: Added.
  • editing/style/resources/text-decoration-state.js: Added.

(textdecorationState):

  • editing/style/text-decoration-state-expected.txt: Added.
  • editing/style/text-decoration-state.html: Added.
18:58 Changeset [47540] by eric@webkit.org

2009-08-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

commit-queue/bugzilla-tool can get wedged if git is mid-rebase
https://bugs.webkit.org/show_bug.cgi?id=28436

Make clean_working_directory cancel rebases too (even though that's a bit of a hack).
This code will only ever be run when --force-clean is passed.

I also added a new unit test to make sure this code actually works. :)

  • Scripts/modules/scm.py:
  • Scripts/modules/scm_unittest.py:
18:00 Changeset [47539] by mrowe@apple.com

Versioning.

17:59 Changeset [47538] by mrowe@apple.com

New tag.

17:57 Changeset [47537] by mrowe@apple.com

Merge r47535.

17:57 Changeset [47536] by mrowe@apple.com

Merge r47531.

17:47 Changeset [47535] by andersca@apple.com
  • Fix <rdar://problem/7155710>

HTML selects on windows cause containing window to become inactive when opened.

Patch by Anders Carlsson <andersca@apple.com> on 2009-08-19
Reviewed by Darin Adler.

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenu::show):
Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
SW_SHOWNOACTIVATE to ShowWindow.

(WebCore::PopupWndProc):
Prevent mouse activation from activating the window.

17:45 Changeset [47534] by simon.fraser@apple.com

2009-08-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler.

Images flash as you hover them on http://www.atebits.com/scribbles/
<rdar://problem/7143958>

Tag images with the device colorspace with the colorspace of the main display, rather than
GenericRGB, so that composited images color-match those rendered via Core Graphics.

Covered by LayoutTests/compositing/color-matching/image-color-matching.html

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setContentsToImage):
17:14 Changeset [47533] by rniwa@webkit.org

underline tests in /editing/style/ need not to be pixel tests but need to print markup
https://bugs.webkit.org/show_bug.cgi?id=28471

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2009-08-19
Reviewed by Eric Seidel.

This patch converts editing/style/underline.html and editing/style/remove-underline.html to a dumpAsText test.

It also adds runDumpAsTextEditingTest which invokes a new testing mode.
runDumpAsTextEditingTest calls user-defined editingTest just like runEditingTest but does not enable editing delegates by default.
It logs innerHTML of the node with id "root" whenever the DOM is changed by exec* functions with the name of function in front.
It should be used in tests where logging of selection and caret positions is not required but logging
of how DOM changed over editing operations is required.

  • editing/editing.js:

(debugForDumpAsText): logs innerHTML of the node with id "root" when using runDumpAsTextEditingTest
(execBoldCommand): Calls debugForDumpAsText
(execUnderlineCommand): ditto
(execFontNameCommand): ditto
(execFontSizeCommand): ditto
(execFontSizeDeltaCommand): ditto
(execItalicCommand): ditto
(execJustifyCenterCommand): ditto
(execJustifyLeftCommand): ditto
(execJustifyRightCommand): ditto
(execInsertHTMLCommand): ditto
(execInsertImageCommand): ditto
(execInsertLineBreakCommand): ditto
(execInsertParagraphCommand): ditto
(execInsertNewlineInQuotedContentCommand): ditto
(execTypeCharacterCommand): ditto
(execStrikethroughCommand): ditto
(execUndoCommand): ditto
(execRedoCommand): ditto
(execCutCommand): ditto
(execPasteCommand): ditto
(execPasteAndMatchStyleCommand): ditto
(execCreateLinkCommand): ditto
(execUnlinkCommand): ditto
(execDeleteCommand): ditto
(execForwardDeleteCommand): ditto
(execBackColorCommand): ditto
(runDumpAsTextEditingTest): Added.

  • editing/style/remove-underline-expected.txt: Added.
  • editing/style/remove-underline.html:
  • editing/style/underline-expected.txt: Added.
  • editing/style/underline.html:
17:13 Changeset [47532] by eric@webkit.org

2009-08-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

bugzilla-tool needs a way to ask build.webkit.org if the bots are passing
https://bugs.webkit.org/show_bug.cgi?id=28222

Basic support for now. This has been in testing for 24 hours now and worked great!

  • Scripts/bugzilla-tool:
  • Scripts/modules/buildbot.py: Added.
  • Scripts/modules/buildbot_unittest.py: Added.
  • Scripts/run-webkit-unittests:
17:04 Changeset [47531] by andersca@apple.com
  • Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.

Reviewed by David Hyatt and Dan Bernstein.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
Initialize m_scrollCorner.

(WebCore::FrameView::~FrameView):
Assert that m_scrollCorner is null.

(WebCore::FrameView::detachCustomScrollbars):
Destroy m_scrollCorner.

(WebCore::FrameView::invalidateScrollCorner):
Invalidate the scroll corner.

(WebCore::FrameView::updateScrollCorner):
Create/destroy the scroll corner.

(WebCore::FrameView::paintScrollCorner):
Paint the scroll corner.

  • page/FrameView.h:

(WebCore::FrameView::isFrameViewScrollCorner):
Return whether a RenderScrollbarPart is the frame view scroll corner.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):
Go ahead and update the scroll corner.

(WebCore::ScrollView::setScrollbarsSuppressed):
Pass the scroll corner rect to invalidateRect.

(WebCore::ScrollView::scrollCornerRect):
Return the scroll corner rect.

  • platform/ScrollView.h:
  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::imageChanged):
If this scrollbar part is the frame view scroll corner, invalidate it.

17:02 Changeset [47530] by eric@webkit.org

2009-08-19 Yong Li <yong.li@torchmobile.com>

Reviewed by Gavin Barraclough.

Change namespace ARM to ARMRegisters
X86 to X86Registers to avoid conflict with macros
https://bugs.webkit.org/show_bug.cgi?id=28428

  • assembler/ARMAssembler.cpp:
  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86Common.h:
  • assembler/MacroAssemblerX86_64.h:
  • assembler/X86Assembler.h:
  • jit/JIT.h:
  • jit/JITArithmetic.cpp:
  • jit/JITInlineMethods.h:
  • jit/JITOpcodes.cpp:
  • wrec/WRECGenerator.cpp:
  • wrec/WRECGenerator.h:
  • yarr/RegexJIT.cpp:
15:33 Changeset [47529] by eric@webkit.org

2009-08-19 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

SVG feComponentTransfer needs to be implemented
https://bugs.webkit.org/show_bug.cgi?id=27768

Implementation of SVG Filter feComponentTransfer.

There is already a test case
Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg

  • platform/graphics/filters/FEComponentTransfer.cpp: (WebCore::identity): (WebCore::table): (WebCore::discrete): (WebCore::linear): (WebCore::gamma): (WebCore::FEComponentTransfer::apply):
14:44 Changeset [47528] by mitz@apple.com

WebCore: <rdar://problem/7141522> Incorrect layout of product table at henry.com

Reviewed by Dave Hyatt.

Test: fast/block/basic/quirk-percent-height-table-cell.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
percentage-height children of auto-height blocks to look for an ancestor
with non-auto height and compute their height based on it. The change is
that if that ancestor is a table cell, it is ignored and the percent
height computes to zero (just like in strict mode). This matches Firefox
and IE.

LayoutTests: Test and updated results for
<rdar://problem/7141522> Incorrect layout of product table at henry.com

Patch by Dan Bernstein <mitz@apple.com> on 2009-08-19
Reviewed by Dave Hyatt.

  • fast/block/basic/quirk-percent-height-table-cell-expected.checksum: Added.
  • fast/block/basic/quirk-percent-height-table-cell-expected.png: Added.
  • fast/block/basic/quirk-percent-height-table-cell-expected.txt: Added.
  • fast/block/basic/quirk-percent-height-table-cell.html: Added.
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • fast/replaced/table-percent-height-text-controls.html:
14:35 Changeset [47527] by jshin@chromium.org

2009-08-19 Jungshik Shin <jshin@chromium.org>

Reviewed by Eric Seidel.

Add 'icu::' qualifier when refering to ICU C++ names to the other
file with this issue missed in the previous check-in.

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

No change in the test result.

  • platform/graphics/chromium/FontUtilsChromiumWin.cpp: (WebCore::):
13:56 Changeset [47526] by pkasting@chromium.org

Unreviewed (build fix for Skia).

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

  • platform/graphics/skia/GraphicsContextSkia.cpp:

(WebCore::GraphicsContext::drawLine):

13:30 Changeset [47525] by jmalonzo@webkit.org

2009-08-19 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Eric Seidel.

[CAIRO] Remove setFont indirection
https://bugs.webkit.org/show_bug.cgi?id=28453

Remove the indirection and just set the font in Font::drawGlyphs.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/cairo/FontCairo.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/gtk/FontPlatformData.h: (WebCore::FontPlatformData::scaledFont):
  • platform/graphics/gtk/FontPlatformDataGtk.cpp: (WebCore::FontPlatformData::~FontPlatformData):
  • platform/graphics/gtk/FontPlatformDataPango.cpp:
  • platform/graphics/gtk/SimpleFontDataGtk.cpp:
  • platform/graphics/gtk/SimpleFontDataPango.cpp:
  • platform/graphics/win/FontPlatformData.h:
  • platform/graphics/win/FontPlatformDataCairoWin.cpp:
  • platform/graphics/win/SimpleFontDataCairoWin.cpp:
13:29 Changeset [47524] by eric.carlson@apple.com

2009-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (Build fix).

Disable new media tests.

  • platform/gtk/Skipped:
13:10 Changeset [47523] by pfeldman@chromium.org

2009-08-19 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: When adding style selector, generate default name based
on id / class / type.

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

  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
13:08 Changeset [47522] by oliver@apple.com

Devirtualise marking
https://bugs.webkit.org/show_bug.cgi?id=28294

Reviewed by Gavin Barraclough

We actually need to mark the value in a number object if we're using the
32bit number representation.

13:07 Changeset [47521] by eric.carlson@apple.com

2009-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (Build fix).

Generate new results for fast/layers/video-layer.html after r47515.

  • platform/mac-leopard/fast/layers/video-layer-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/win/fast/layers/video-layer-expected.txt:
13:03 Changeset [47520] by aroben@apple.com

Skip a failing test on Windows

See <http://webkit.org/b/28467>.

  • platform/win/Skipped: Added

http/tests/loading/preload-img-test.html.

12:54 Changeset [47519] by barraclough@apple.com

We probably shouldn't be keeping the AST for eval nodes around forevar.

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

Reviewed by Darin Adler.

EvalNodes don't destroyData() (delete their parser data) since they need to hold onto
their varStack. Copy a list of variable onto EvalCodeBlock, and this can go away.

  • bytecode/CodeBlock.h:

(JSC::EvalCodeBlock::variable):
(JSC::EvalCodeBlock::numVariables):
(JSC::EvalCodeBlock::adoptVariables):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • parser/Nodes.h:
  • runtime/Executable.cpp:

(JSC::EvalExecutable::generateBytecode):

  • runtime/Executable.h:
12:31 Changeset [47518] by eric.carlson@apple.com

2009-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

Make media layout test video-source-add-src.html less timing dependent
https://bugs.webkit.org/show_bug.cgi?id=28465


Trigger test on 'canplaythrough' instead of 'loadstart' so it is less
likely to fail on a slow machine.

  • media/video-source-add-src-expected.txt:
  • media/video-source-add-src.html:
12:26 Changeset [47517] by hyatt@apple.com

Rename combinedOverflow to visibleOverflow, since that's what it actually represents.

Reviewed by Dan Bernstein.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::topvisibleOverflow):
(WebCore::InlineFlowBox::bottomvisibleOverflow):
(WebCore::InlineFlowBox::leftvisibleOverflow):
(WebCore::InlineFlowBox::rightvisibleOverflow):
(WebCore::InlineFlowBox::visibleOverflowRect):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::floatRect):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::matchedEndLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::clippedOverflowRectForRepaint):

  • rendering/RenderBox.h:

(WebCore::RenderBox::visibleOverflowRect):
(WebCore::RenderBox::topvisibleOverflow):
(WebCore::RenderBox::bottomvisibleOverflow):
(WebCore::RenderBox::leftvisibleOverflow):
(WebCore::RenderBox::rightvisibleOverflow):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::localBoundingBox):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):

  • rendering/RenderOverflow.h:

(WebCore::RenderOverflow::visibleOverflowRect):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):
(WebCore::RenderTable::paint):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::clippedOverflowRectForRepaint):

11:39 CodePaths edited by ariya@webkit.org
works for both html and xml (diff)
11:36 Changeset [47516] by jshin@chromium.org

2009-08-19 Jungshik Shin <jshin@chromium.org>

Reviewed by Darin Adler.

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

Fix a build issue with ICU 4.2 or later on Windows with Visual C++.
Instead of defining all isXXX and toupper/tolower as

WTF_Please_use_ASCIICType_instead_of_ctype_see_comment_in_ASCIICType_h,

#define them to be different by prepending 'WTF_...ASCIIType_h' with
the originial names like 'toupper_WTF_...ASCIIType_h'.

  • wtf/DisallowCType.h:
11:10 Changeset [47515] by eric.carlson@apple.com

2009-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.

Sound button appears in controller with movies that have no audio
https://bugs.webkit.org/show_bug.cgi?id=28464

Test: media/video-no-audio.html

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::hasAudio):

Added hasAudio.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayer.cpp: (WebCore::NullMediaPlayerPrivate::hasAudio): (WebCore::MediaPlayer::hasVideo):

Make const.

(WebCore::MediaPlayer::hasAudio):

Added hasAudio.

  • platform/graphics/MediaPlayerPrivate.h:

Add hasAudio.

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::hasAudio):

Ditto.

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

Ditto.

  • platform/graphics/qt/MediaPlayerPrivatePhonon.h:
  • platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: (WebCore::MediaPlayerPrivate::hasAudio):

Ditto.

  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
  • platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::hasAudio):

Ditto.

  • platform/graphics/win/QTMovieWin.h:
  • platform/graphics/win/QTMovieWin.cpp: (QTMovieWin::hasAudio):

Ditto.

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlMuteButtonElement::disabled):

New, return true if media element doesn't have audio.

(WebCore::MediaControlMuteButtonElement::rendererIsNeeded):

Renderer is not needed if element has no audio.

  • rendering/MediaControlElements.h: (WebCore::MediaControlInputElement::disabled):
  • rendering/RenderThemeMac.mm: (WebCore::getMediaUIPartStateFlags):

Return MediaUIPartDisabledFlag if node is disabled.


2009-08-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.

Sound button appears in controller with movies that have no audio
https://bugs.webkit.org/show_bug.cgi?id=28464

  • media/video-controls-visible-audio-only.html:
  • media/video-no-audio.html: Added.
  • platform/mac-leopard/media/video-empty-source-expected.txt:
  • platform/mac-leopard/media/video-no-audio-expected.txt: Added.
  • platform/mac/media/video-empty-source-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt: Added.
  • platform/win/media/video-empty-source-expected.txt: Added.
  • platform/win/media/video-no-audio-expected.txt: Added.
10:57 Changeset [47514] by pkasting@chromium.org

https://bugs.webkit.org/show_bug.cgi?id=27357
Removed the two unnecessary overridden willValidate() methods introduced
in r47444.

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-19
Reviewed by Darin Adler.

  • html/HTMLKeygenElement.h:
  • html/HTMLObjectElement.h:
10:55 Changeset [47513] by pfeldman@chromium.org

2009-08-19 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Allow dumping dangling nodes to the console.

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

  • bindings/js/JSInspectorBackendCustom.cpp:
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8InspectorBackendCustom.cpp:
  • inspector/InspectorBackend.cpp:
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::clearConsoleMessages):
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::releaseDanglingNodes): (WebCore::InspectorDOMAgent::startListening): (WebCore::InspectorDOMAgent::stopListening): (WebCore::InspectorDOMAgent::handleEvent): (WebCore::InspectorDOMAgent::bind): (WebCore::InspectorDOMAgent::unbind): (WebCore::InspectorDOMAgent::pushDocumentToFrontend): (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): (WebCore::InspectorDOMAgent::discardBindings): (WebCore::InspectorDOMAgent::pushNodePathToFrontend): (WebCore::InspectorDOMAgent::buildObjectForNode): (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::setDetachedRoot): (WebCore::InspectorFrontend::childNodeCountUpdated):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatnode):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMAgent.prototype._setDetachedRoot): (WebInspector.DOMAgent.prototype._childNodeCountUpdated): (WebInspector.setDetachedRoot): (WebInspector.childNodeCountUpdated): (InspectorController.pushNodeToFrontend):
  • inspector/front-end/InjectedScript.js: (InjectedScript.pushNodeToFrontend): (InjectedScript.createProxyObject):
10:50 Changeset [47512] by ap@apple.com

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=27464
Implement application cache online whitelist wildcard flag

Test: http/tests/appcache/whitelist-wildcard.html

A "*" in NETWORK section means that network loading needn't be blocked.

  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isURLInOnlineWhitelist):
  • loader/appcache/ApplicationCache.h: (WebCore::ApplicationCache::setAllowsAllNetworkRequests): (WebCore::ApplicationCache::allowsAllNetworkRequests):
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::openDatabase): (WebCore::ApplicationCacheStorage::store): (WebCore::ApplicationCacheStorage::loadCache):
  • loader/appcache/ManifestParser.cpp: (WebCore::parseManifest):
  • loader/appcache/ManifestParser.h:
10:44 Changeset [47511] by kdecker@apple.com

Roll out accidental project change.

10:37 Changeset [47510] by eric@webkit.org

2009-08-19 Yuta Kitamura <yutak@chromium.org>

Reviewed by Eric Seidel.

Convert two layout tests so that they use dumpAsText().

These tests check if the renderer crashes or not. Hence, we do not need to
dump the entire render tree. I verified DumpRenderTree at r24513 still crashed
when it opened the updated test cases.

See bug 14714 for details about these test cases.

Two layout tests are convertible to dumpAsText
https://bugs.webkit.org/show_bug.cgi?id=28423

  • fast/multicol/negativeColumnWidth-expected.txt: Added.
  • fast/multicol/negativeColumnWidth.html:
  • fast/multicol/zeroColumnCount-expected.txt: Added.
  • fast/multicol/zeroColumnCount.html:
  • platform/mac/fast/multicol/negativeColumnWidth-expected.checksum: Removed.
  • platform/mac/fast/multicol/negativeColumnWidth-expected.png: Removed.
  • platform/mac/fast/multicol/negativeColumnWidth-expected.txt: Removed.
  • platform/mac/fast/multicol/zeroColumnCount-expected.checksum: Removed.
  • platform/mac/fast/multicol/zeroColumnCount-expected.png: Removed.
  • platform/mac/fast/multicol/zeroColumnCount-expected.txt: Removed.
  • platform/qt/fast/multicol/negativeColumnWidth-expected.txt: Removed.
  • platform/qt/fast/multicol/zeroColumnCount-expected.txt: Removed.
10:33 Changeset [47509] by kdecker@apple.com

Reviewed by Kevin Decker.

<rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download


Get rid of method swizzling entirely. This created problems when lower level
Foundation code would call into our own swizzled method.


  • platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
  • platform/network/mac/WebCoreURLResponse.h:
  • platform/network/mac/WebCoreURLResponse.mm: (-[NSURLResponse adjustMIMETypeIfNecessary]):
10:21 CommitQueue edited by eric@webkit.org
(diff)
10:20 CommitQueue edited by eric@webkit.org
(diff)
10:15 Changeset [47508] by aroben@apple.com

Fix linker warnings on Windows

Reviewed by Anders Carlsson.

Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
Windows about multiply-defined JSHTMLDataListElement symbols

  • WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp

from the build (just like we do for the other generated bindings
files) so that we don't get warnings about multiply-defined symbols in
JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
reorder a few files.

10:09 Changeset [47507] by hyatt@apple.com

Land updated results after my last change.

  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
10:07 CodePaths edited by ariya@webkit.org
network thingie (diff)
09:44 CodePaths edited by ariya@webkit.org
image decoding (diff)
09:38 Changeset [47506] by jshin@chromium.org

2009-08-19 Jungshik Shin <jshin@chromium.org>

Reviewed by Eric Seidel

Add 'icu::' qualifier when refering to ICU C++ names.

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

No change in the test result.

  • platform/graphics/chromium/FontCacheChromiumWin.cpp: (WebCore::fontContainsCharacter):
09:28 Changeset [47505] by hyatt@apple.com

Cleanup from my patch thet rewrote overflow. Remove unused member variables from RenderTableSection and
move the addition of overflow from children into a separate pass after the height of the section has been
set. This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
(Not a a correctness issue, just a memory issue.)

Reviewed by Dan Bernstein.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTableSection.h:
09:28 ImprovingLifeOnWindows edited by aroben@apple.com
(diff)
09:27 Changeset [47504] by mjs@apple.com

Revert accidental commit.

09:22 MakingTheWindowsBuildSystemMoreMaintainable edited by aroben@apple.com
(diff)
09:21 ImprovingLifeOnWindows edited by aroben@apple.com
Moved some content to MakingTheWindowsBuildSystemMoreMaintainable (diff)
09:20 MakingTheWindowsBuildSystemMoreMaintainable created by aroben@apple.com
Initial version (content came from ImprovingLifeOnWindows)
09:17 ImprovingLifeOnWindows edited by aroben@apple.com
Added ideas from BuildingOnWindows (diff)
09:09 ImprovingLifeOnWindows edited by aroben@apple.com
Added a page outline (diff)
09:09 ImprovingLifeOnWindows edited by aroben@apple.com
Added ideas for improving the running/debugging/testing experience (diff)
09:04 ImprovingLifeOnWindows created by aroben@apple.com
Initial version
09:03 BuildingOnWindows edited by aroben@apple.com
(diff)
09:01 BuildingOnWindows edited by aroben@apple.com
(diff)
08:54 Changeset [47503] by ariya@webkit.org

2009-08-19 Andras Becsi <becsi.andras@stud.u-szeged.hu>

Reviewed by Ariya Hidayat.

[Qt] Add a new expected file to the Qt port since we pass it.

  • platform/qt/fast/reflections: Added.
  • platform/qt/fast/reflections/transparent-reflected-sublayers-expected.txt: Added.
08:40 BuildingOnWindows edited by aroben@apple.com
Added a link to a page containing ideas about how to improve the Windows … (diff)
08:01 CodePaths edited by ariya@webkit.org
about widget painting (diff)
06:50 CodePaths edited by ariya@webkit.org
(diff)
06:48 WikiStart edited by ariya@webkit.org
link to the code paths (diff)
06:47 CodePaths created by ariya@webkit.org
start to put some useful stack traces
06:09 Changeset [47502] by jmalonzo@webkit.org

2009-08-19 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Gustavo Noronha.

[Gtk] Bump waitToDumpWatchdog interval to 15 seconds to match the
default timeout used by run-webkit-tests. Mac and Win ports were
recently bumped in http://trac.webkit.org/changeset/r47465.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp: (LayoutTestController::setWaitToDump):
06:09 Changeset [47501] by jmalonzo@webkit.org

2009-08-19 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Xan Lopez.

[Gtk] Remove bogus dependency rules for built sources that derive
from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
header files should be generated regardless of whether the source
file changed or not. We should only rely on the *.in files being
changed.

  • GNUmakefile.am:
05:40 WikiStart edited by ariya@webkit.org
new section: getting around the source code (diff)
05:37 Changeset [47500] by ddkilzer@apple.com

DumpRenderTreeSupport.pm: provide pre-generated swig source for Tiger

Reviewed by Mark Rowe.

Provide pre-generated swig source files for Tiger so it may
benefit from the faster run-webkit-tests.

  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportTiger.pm: Generated by swig.
  • DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapTiger.c: Added. Generated by swig. (swig_type_info::SWIG_TypeNameComp): (swig_type_info::SWIG_TypeEquiv): (swig_type_info::SWIG_TypeRegisterTL): (swig_type_info::SWIG_TypeCheck): (swig_type_info::SWIG_TypeCast): (swig_type_info::SWIG_TypeDynamicCast): (swig_type_info::SWIG_TypeName): (swig_type_info::SWIG_TypePrettyName): (swig_type_info::SWIG_TypeQueryTL): (swig_type_info::SWIG_TypeClientDataTL): (swig_type_info::SWIG_PackData): (swig_type_info::SWIG_UnpackData): (swig_type_info::SWIG_PropagateClientDataTL): (swig_type_info::SWIG_PackVoidPtr): (swig_type_info::SWIG_UnpackVoidPtr): (swig_type_info::SWIG_PackDataName): (swig_type_info::SWIG_UnpackDataName):
  • DumpRenderTree/mac/PerlSupport/Makefile: Updated to build on Tiger using pre-generated files.
05:35 HighLevelOverview created by ariya@webkit.org
shameless stolen from Brent's email
01:11 Changeset [47499] by mjs@apple.com

2009-08-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

convert FormatBlock candidate tag list from if chain to hash lookup
https://bugs.webkit.org/show_bug.cgi?id=28448

No behavior change, just cleanup.

  • editing/htmlediting.cpp: (WebCore::validBlockTag):
  • editing/htmlediting.h:
00:47 Changeset [47498] by eric@webkit.org

2009-08-19 Mike Fenton <mike.fenton@torchmobile.com>

Reviewed by Eric Seidel.

Update GraphicsContextSkia's version of drawLine to make use of the shared
adjustLineToPixelBoundaries function and elimination overlapping code.

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

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::drawLine):
00:01 Changeset [47497] by xan@webkit.org

2009-08-18 Xan Lopez <xlopez@igalia.com>

Rubber-stamped by Holger Freyther.

Remove an unneeded include.

  • WebCoreSupport/DragClientGtk.cpp:

08/18/09:

23:49 Changeset [47496] by eric@webkit.org

2009-08-18 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=28443
Fix build break with gtk older than 2.14.

WebKit gtk port requires gtk 2.10 or later, but DragClientGtk.cpp
uses gtk_widget_get_window that is introduced in 2.14.

  • WebCoreSupport/DragClientGtk.cpp: define gtk_widget_get_window for gtk older than 2.14.
23:31 Changeset [47495] by eric@webkit.org

2009-08-18 Mike Fenton <mike.fenton@torchmobile.com>

Reviewed by Eric Seidel.

Style fixes based on cpp_style.py and WebKit Style guide for
GraphicsContextSkia.cpp

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

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::drawFocusRing): (WebCore::GraphicsContext::roundToDevicePixels): (WebCore::GraphicsContext::setLineDash): (WebCore::GraphicsContext::setPlatformShadow):
23:08 Changeset [47494] by ap@apple.com

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=28446
Custom request headers shouldn't be sent with cross-origin preflight request

Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html

http/tests/xmlhttprequest/access-control-preflight-headers-sync.html

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was that they shouldn't be sent, and Firefox doesn't send them.
22:57 Changeset [47493] by eric@webkit.org

2009-08-18 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Oliver Hunt.

[Gtk] crash when closing page from javascript
https://bugs.webkit.org/show_bug.cgi?id=27439

Do not unref the WebView in ChromeClientGtk::closeWindowSoon
because (1) a create-web-view handler can return a NULL WebView,
(2) the created WebView is owned by its containing widget, and (3)
clients may not handle the close-web-view signal so this avoids
unreffing a WebView more than once.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::closeWindowSoon):
  • webkit/webkitwebview.cpp: (webkit_web_view_class_init):
22:50 Changeset [47492] by eric@webkit.org

2009-08-18 John Gregg <johnnyg@google.com>

Reviewed by Dimitri Glazkov.

V8 Bindings for Desktop Notifications feature.
https://bugs.webkit.org/show_bug.cgi?id=28271

  • WebCore.gypi: added notification files to build (all still behind a flag that's not on)
  • bindings/scripts/CodeGeneratorV8.pm: added special case in DOMWindow/AppCache style for named event handlers
  • bindings/v8/DOMObjectsInclude.h:
  • bindings/v8/DerivedSourcesAllInOne.cpp:
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
  • bindings/v8/V8Index.cpp:
  • bindings/v8/V8Index.h:
  • bindings/v8/V8Proxy.h:
  • bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::convertToV8Object):
  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
  • notifications/Notification.h: made event handler routines public (as they are in DOMWindow, eg) for binding access.
  • notifications/NotificationCenter.idl: needed to make methods V8Custom to support different behaviors in worker/page context in chromium.
  • workers/WorkerThread.h: (WebCore::WorkerThread::getNotificationPresenter): (WebCore::WorkerThread::setNotificationPresenter): needed to make these methods public as well so chromium can inject the notification presenter into the worker thread.
22:24 Changeset [47491] by ddkilzer@apple.com

2009-08-18 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by David Kilzer.

run-webkit-tests hangs when WebCore tries to log too much
https://bugs.webkit.org/show_bug.cgi?id=15743

Read stdout and stderr in parallel.

  • Scripts/run-webkit-tests:
22:16 Changeset [47490] by xan@webkit.org

2009-08-18 Xan Lopez <xlopez@igalia.com>

Rubber-stamped by Holger Freyther.

Require at least libsoup 2.27.91 for the new password
manager/authentication APIs.

  • configure.ac:
22:09 Changeset [47489] by mjs@apple.com

2009-08-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.

<nav> should behave essentially the same as <div> for parsing
etc. This is implemented by the changes below.


Tests: fast/html/nav-element.html

  • css/html.css:
  • editing/htmlediting.cpp: (WebCore::validBlockTag):
  • html/HTMLElement.cpp: (WebCore::HTMLElement::tagPriority): (WebCore::blockTagList):
  • html/HTMLParser.cpp: (WebCore::HTMLParser::getNode):
  • html/HTMLTagNames.in:

2009-08-13 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam Weinig.

Test aspects of <nav>, including residual style, <p> closing, and FormatBlock.


  • fast/html/nav-element-expected.txt: Added.
  • fast/html/nav-element.html: Added.
21:42 Changeset [47488] by mrowe@apple.com

Versioning.

21:42 Changeset [47487] by mrowe@apple.com

New tag.

21:41 Changeset [47486] by mrowe@apple.com

Merge r47482.

21:41 Changeset [47485] by mrowe@apple.com

Versioning.

21:39 Changeset [47484] by hyatt@apple.com

Land updated Windows layout test results.

21:19 Changeset [47483] by mrowe@apple.com

Add a new build configuration that checks for leaks during the layout tests,
and hook a new machine up to it.

Rubber-stamped by Oliver Hunt.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:
21:01 Changeset [47482] by andersca@apple.com
  • Fix <rdar://problem/7152727>

Patch by Anders Carlsson <andersca@apple.com> on 2009-08-18
Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.

If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.

  • page/FrameView.cpp:

(WebCore::FrameView::hasCustomScrollbars):
Check if the frame view or any of its subviews have custom scroll bars.

(WebCore::FrameView::updateControlTints):
Go ahead and update control tints if the frame view has custom scroll bars.

  • page/FrameView.h:
20:42 Changeset [47481] by mrowe@apple.com

Roll out r47477 as it introduced assertion failures and crashes on the build bots.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/Database.cpp:
  • storage/Database.h:
  • storage/DatabaseThread.cpp:

(WebCore::DatabaseThread::DatabaseThread):

  • storage/DatabaseThread.h:
  • storage/SQLTransaction.cpp:

(WebCore::SQLTransaction::runCurrentStatement):
(WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
(WebCore::SQLTransaction::postflightAndCommit):

  • storage/SQLTransactionClient.cpp: Removed.
  • storage/SQLTransactionClient.h: Removed.
20:32 Changeset [47480] by eric@webkit.org

2009-08-18 Maxime Simon <simon.maxime@gmail.com>

Reviewed by Eric Seidel.

[Haiku] Adding the SharedTimer file for WebCore.
https://bugs.webkit.org/show_bug.cgi?id=28126

  • platform/haiku/SharedTimerHaiku.cpp: Added. (WebCore::): (WebCore::SharedTimerHaiku::SharedTimerHaiku): (WebCore::SharedTimerHaiku::~SharedTimerHaiku): (WebCore::SharedTimerHaiku::instance): (WebCore::SharedTimerHaiku::start): (WebCore::SharedTimerHaiku::stop): (WebCore::SharedTimerHaiku::Filter): (WebCore::setSharedTimerFiredFunction): (WebCore::setSharedTimerFireTime): (WebCore::stopSharedTimer):
20:13 Changeset [47479] by mrowe@apple.com

Release build fix.

  • xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.

(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::~XMLHttpRequest):

20:01 Changeset [47478] by mrowe@apple.com

Leak of WebCore::XMLHttpRequest object during layout tests (<https://bugs.webkit.org/show_bug.cgi?id=28412>).

2009-08-18 Aaron Boodman <aa@chromium.org>

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.

No new tests: Already covered by existing tests.

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak. (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto. (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also, restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
  • Scripts/check-for-global-initializers: Allow global initialization of WTF::RefCountedLeakCounter for XMLHttpRequest.
19:56 Changeset [47477] by eric@webkit.org

2009-08-18 Dumitru Daniliuc <dumi@chromium.org>

Reviewed by Dimitri Glazkov.

Added a client to SQLTransaction. In addition to being a place to
get notifications about certain events in a transaction, it is
also an abstraction layer that allows us to plug in different
implementations for each port for how transactions interract with
the main DB. For example, WebCore's default implementation will
make direct calls to DatabaseTracker's methods. At the same time,
Chromium's implementation will send IPCs to the browser process
whenever a transaction needs something from the main DB.

All storage tests pass.

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

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/Database.cpp: (WebCore::Database::transactionClient):
  • storage/Database.h:
  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread):
  • storage/DatabaseThread.h: (WebCore::DatabaseThread::transactionClient):
  • storage/SQLTransaction.cpp: (WebCore::SQLTransaction::runCurrentStatement): (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): (WebCore::SQLTransaction::postflightAndCommit):
  • storage/SQLTransactionClient.cpp: Added.
  • storage/SQLTransactionClient.h: Added.
19:44 Changeset [47476] by jparent@chromium.org

Not reviewed, build fix for Chromium.

Patch by Julie Parent <jparent@chromium.org> on 2009-08-18
Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.

  • bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
19:32 Changeset [47475] by jparent@chromium.org

Not reviewed, build fix for Chromium.

Patch by Julie Parent <jparent@chromium.org> on 2009-08-18

More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.

  • bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:

(WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.

19:19 Changeset [47474] by oliver@apple.com

Assigning a function to an object should always use the existing transition, even if the transition is not specialized
https://bugs.webkit.org/show_bug.cgi?id=28442

Reviewed by Gavin Barraclough.

Check for an unspecialized transition as an alternative to always failing if specialisation does not match.

19:18 Changeset [47473] by jparent@chromium.org

Not reviewed, build fix for Chromium.

Patch by Julie Parent <jparent@chromium.org> on 2009-08-18
Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.

  • bindings/v8/custom/V8HTMLFrameElementCustom.cpp:

(WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.

19:15 Changeset [47472] by oliver@apple.com

Remove accidentally committed logging

19:12 BuildingGtk edited by cam@mcc.id.au
Add a couple of packges that are needed to build (diff)
19:12 UsingGitWithWebKit edited by mrowe@apple.com
Make it better! (diff)
19:07 UsingGitWithWebKit edited by mrowe@apple.com
Clear up the section about git-svn (diff)
18:36 Changeset [47471] by oliver@apple.com

Make test faster so leaks bot won't time out.

Reviewed by Mark Rowe

17:26 Changeset [47470] by mitz@apple.com

Build fix.

  • editing/ApplyStyleCommand.cpp:

(WebCore::getIdentifierValue):

17:17 Changeset [47469] by darin@apple.com

More work on making DOM classes start with reference count of 1
https://bugs.webkit.org/show_bug.cgi?id=28068

Patch by Darin Adler <darin@apple.com> on 2009-08-18
Reviewed by Sam Weinig.

Some related clean-up and preparation steps so the subsequent
patches will be as small as possible.

  • WebCore.base.exp: Sorted this file.
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityDescription):
Use nameAttr instead of the name function.

  • bindings/js/JSHTMLFrameElementCustom.cpp:

(WebCore::JSHTMLFrameElement::setSrc):
Use srcAttr instead of the src function.

  • bindings/js/JSHTMLIFrameElementCustom.cpp:

(WebCore::JSHTMLIFrameElement::setSrc):
Use srcAttr instead of the src function.

  • bindings/objc/DOM.mm: Sorted includes.
  • dom/Document.cpp: Ditto.
  • dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
  • dom/StyledElement.h: Ditto.
  • dom/make_names.pl: Changed default of createWithNew to 0.

Eventually all elements will be created with create instead of new.

  • html/HTMLTagNames.in:
  • svg/svgtags.in:
  • wml/WMLTagNames.in:

Added createWithNew for every tag. We'll remove it as we convert
element classes to use create.

  • html/HTMLAppletElement.h: Removed unneeded forward declarations.
  • html/HTMLFrameElement.h: Ditto.
  • html/HTMLEmbedElement.cpp: Removed many attribute get and

set functions.

  • html/HTMLEmbedElement.h: Ditto.
  • html/HTMLIFrameElement.cpp: Ditto.
  • html/HTMLIFrameElement.h: Ditto.
  • html/HTMLObjectElement.cpp: Ditto.
  • html/HTMLObjectElement.h: Ditto.
  • html/HTMLPlugInElement.cpp: Ditto.
  • html/HTMLPlugInElement.h: Ditto.
  • html/HTMLFrameElementBase.cpp: Removed many attribute get and

set functions.
(WebCore::HTMLFrameElementBase::location): Changed to use
srcAttr instead of src.

  • html/HTMLFrameElementBase.h: Removed many attribute get and set

functions.

  • loader/MediaDocument.cpp:

(WebCore::MediaDocument::replaceMediaElementTimerFired):
Use srcAttr and typeAttr instead of setSrc and setType.

  • loader/PluginDocument.cpp:

(WebCore::PluginTokenizer::createDocumentStructure): Ditto.

  • rendering/RenderPartObject.cpp:

(WebCore::RenderPartObject::updateWidget): Use nameAttr instead
of name -- this avoids an extra AtomicString round trip and a little
ref count churn too.

17:05 Changeset [47468] by mitz@apple.com

Rubber-stamped by Mark Rowe

Update Windows and Qt results after r47462.

  • platform/qt/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
17:04 Changeset [47467] by atwilson@chromium.org

WebCore: SharedWorkers need to support loading.
https://bugs.webkit.org/show_bug.cgi?id=28342

Reviewed by David Levin.

Added loader support to shared workers, and refactored worker tests to also test SharedWorkers

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postTaskToLoader):
Forwards load requests to an arbitrary document from the list of worker's documents.
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
Posts responses back to the shared worker thread.

LayoutTests: SharedWorkers need to support loading
https://bugs.webkit.org/show_bug.cgi?id=28342

Reviewed by David Levin.

Refactored worker network tests to also test SharedWorkers.

  • http/tests/workers/resources/worker-importScripts.js:

Refactored to run in either a dedicated or shared worker.
(handleConnect.self.postMessage):
(handleConnect):
(runTests.try.resetLoadFlags):
(runTests):

  • http/tests/workers/resources/worker-redirect-target.js:

Refactored to run in either a dedicated or shared worker.
(else.self.onconnect):

  • http/tests/workers/resources/worker-redirect.js: Added.

Moved test code out of worker-redirect.html so it can be shared with shared worker tests.
(log):
(runNextTest):
(testCrossOriginLoad.try.worker.onerror):
(testCrossOriginLoad.try.worker.onmessage):
(testCrossOriginLoad):
(testCrossOriginRedirectedLoad.try.worker.onerror):
(testCrossOriginRedirectedLoad.try.worker.onmessage):
(testCrossOriginRedirectedLoad):

  • http/tests/workers/shared-worker-importScripts-expected.txt: Added.
  • http/tests/workers/shared-worker-importScripts.html-disabled: Added.
  • http/tests/workers/shared-worker-redirect-expected.txt: Added
  • http/tests/workers/shared-worker-redirect.html-disabled: Added.
  • http/tests/workers/worker-redirect.html:

Moved test code into worker-redirect.js.

  • http/tests/xmlhttprequest/workers/close.html:

Moved test code into close-test.js.

  • http/tests/xmlhttprequest/workers/methods-async.html:

Moved test code into methods-async-test.js.

  • http/tests/xmlhttprequest/workers/methods.html:

Moved test code into methods.js.

  • http/tests/xmlhttprequest/workers/resources/close-test.js: Added.

Contains test code moved from close.html, so tests can be shared with SharedWorkers.
(log):
(testAsync.worker.onmessage.else):
(testAsync.worker.onmessage):
(testAsync):
(testSync.worker.onmessage.else):
(testSync.worker.onmessage):
(testSync):
(done):
(handleException):

  • http/tests/xmlhttprequest/workers/resources/close.js:

Modified worker code so it runs in shared workers also.

  • http/tests/xmlhttprequest/workers/resources/file-not-found.js: Added.

Contains test code moved from xmlhttprequest-file-not-found.html (now shared with shared worker tests).
(log):
(worker.onmessage):

  • http/tests/xmlhttprequest/workers/resources/methods-async-test.js: Added.

Contains test code moved from methods-async.html (now shared with shared worker tests).
(log):
(worker.onmessage):

  • http/tests/xmlhttprequest/workers/resources/methods-async.js:

Changed code to run in shared workers also.

  • http/tests/xmlhttprequest/workers/resources/methods-test.js: Added.

Contains test code moved from methods.html (now shared with shared worker tests).
(log):
(worker.onmessage):

  • http/tests/xmlhttprequest/workers/resources/methods.js:

Now can run in either dedicated or shared workers.
(init):

  • http/tests/xmlhttprequest/workers/resources/shared-worker-create.js: Added.

Utility code to allow shared workers to look like dedicated workers to enable sharing test code.
(createWorker.worker.port.onmessage):
(createWorker.worker.postMessage):
(createWorker):

  • http/tests/xmlhttprequest/workers/resources/worker-create.js: Added.

(createWorker):

  • http/tests/xmlhttprequest/workers/resources/worker-pre.js: Added.

Utility code to make SharedWorkerGlobalScope look like DedicatedWorkerGlobalScope, to enable test code sharing.
(else.self.onconnect.self.postMessage):
(else.self.onconnect.event.messagePort.onmessage):
(else.self.onconnect):

  • http/tests/xmlhttprequest/workers/resources/xmlhttprequest-file-not-found.js:

(init):
Updated code so it runs in shared workers also.

  • http/tests/xmlhttprequest/workers/shared-worker-close-expected.txt: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-close.html-disabled: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-async.html-disabled: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-methods.html-disabled: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found-expected.txt: Added.
  • http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html-disabled: Added.
  • http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html:

Moved test code into file-not-found.js.

17:01 Changeset [47466] by eric@webkit.org

2009-08-18 Ryosuke Niwa <rniwa@webkit.org>

Reviewed by Darin Adler.

StyleChange::init needs clean up before fixing the bug 23892
https://bugs.webkit.org/show_bug.cgi?id=27749

This patch simplifies StyleChange::init by removing the iteration on CSS properties,
and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.

Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
this patch simplifies the treatment in order to preserve the original behavior of WebKit.
However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.

No test is added since there is no change in behavior.

  • editing/ApplyStyleCommand.cpp: (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none" (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
17:00 Changeset [47465] by mrowe@apple.com

Bump waitToDumpWatchdogInterval to 15 seconds to match the time-out used by run-webkit-tests.

Rubber-stamped by Geoff Garen.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
16:54 Changeset [47464] by eric@webkit.org

2009-08-18 Dumitru Daniliuc <dumi@chromium.org>

Reviewed by Dimitri Glazkov.

Fixing a DB file naming bug in Chromium. The origin should come
before the DB name in the file name.

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

  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::fullPathForDatabase):
16:47 Changeset [47463] by eric@webkit.org

2009-08-18 Maxime Simon <simon.maxime@gmail.com>

Reviewed by Eric Seidel.

[Haiku] Adding four image-specific files to WebCore:
IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
https://bugs.webkit.org/show_bug.cgi?id=28130

  • platform/graphics/Icon.h:
  • platform/graphics/haiku/IconHaiku.cpp: Added. (WebCore::Icon::~Icon): (WebCore::Icon::createIconForFile): (WebCore::Icon::createIconForFiles): (WebCore::Icon::paint):
  • platform/graphics/haiku/ImageBufferData.h: Added.
  • platform/graphics/haiku/ImageBufferHaiku.cpp: Added. (WebCore::ImageBufferData::ImageBufferData): (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::~ImageBuffer): (WebCore::ImageBuffer::context): (WebCore::ImageBuffer::getUnmultipliedImageData): (WebCore::ImageBuffer::getPremultipliedImageData): (WebCore::ImageBuffer::putUnmultipliedImageData): (WebCore::ImageBuffer::putPremultipliedImageData): (WebCore::ImageBuffer::toDataURL): (WebCore::ImageBuffer::image): (WebCore::ImageBuffer::platformTransformColorSpace):
  • platform/graphics/haiku/ImageHaiku.cpp: Added. (WebCore::FrameData::clear): (WebCore::Image::loadPlatformResource): (WebCore::BitmapImage::initPlatformData): (WebCore::BitmapImage::invalidatePlatformData): (WebCore::BitmapImage::draw): (WebCore::Image::drawPattern): (WebCore::BitmapImage::checkForSolidColor): (WebCore::BitmapImage::getBBitmap):
16:36 Changeset [47462] by bdakin@apple.com

WebCore: Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3
Backgrounds and Borders] Drop the prefix from background-size

Reviewed by Dan Bernstein.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillProperty):
(WebCore::cssPropertyID):

  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • page/animation/AnimationBase.cpp:

(WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
(WebCore::ensurePropertyMap):

LayoutTests: Test result changes for https://bugs.webkit.org/show_bug.cgi?id=27575
[CSS3 Backgrounds and Borders] Drop the prefix from background-size

Reviewed by Dan Bernstein.

  • platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
16:21 WebCoreRendering edited by ariya@webkit.org
add class hierarchy (diff)
16:09 Changeset [47461] by bweinstein@apple.com

2009-08-18 Brian Weinstein <bweinstein@apple.com>

Rubber-stamped by Adam Roben.

Changed use of CComBSTR in exceededDatabaseQuota to BSTRs, and free them,
and removed include to fix building on VC++ Express.

  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::exceededDatabaseQuota):
15:15 Changeset [47460] by eric@webkit.org

2009-08-18 Drew Wilson <atwilson@google.com>

Reviewed by David Levin.

SharedWorkers need to forward exceptions to parent documents
https://bugs.webkit.org/show_bug.cgi?id=28320

Wrote test to generate exception and make sure it gets logged to the console.
Started switching over to using the same test utilities that the tests under fast/js use.

  • fast/workers/resources/shared-worker-common.js: (generateError): (handleMessage):
  • fast/workers/resources/shared-worker-exception.js: Added. (worker.onmessage): (done):
  • fast/workers/shared-worker-exception-expected.txt: Added.
  • fast/workers/shared-worker-exception.html-disabled: Added.

2009-08-18 Drew Wilson <atwilson@google.com>

Reviewed by David Levin.

SharedWorkers need to forward exceptions to parent documents
https://bugs.webkit.org/show_bug.cgi?id=28320

Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).

Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.

  • bindings/js/JSSharedWorkerConstructor.cpp: Cleaned up bitrot - added missing include.
  • workers/DefaultSharedWorkerRepository.cpp: (WebCore::postExceptionTask): Callback used to deliver exceptions to a document. (WebCore::SharedWorkerProxy::postExceptionToWorkerObject): Forwards exceptions to all parent documents for presentation to the user. (WebCore::postConsoleMessageTask): (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject): Forwards console messages to all parent documents for presentation to the user. (WebCore::SharedWorkerProxy::addToWorkerDocuments): Grabs the mutex before accessing workerDocuments. (WebCore::SharedWorkerProxy::documentDetached): Grabs the mutex before accessing workerDocuments.
15:06 Changeset [47459] by andersca@apple.com

WebCore: <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource

Reviewed by Adele Peterson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::isSafeToLoadURL):
Call FrameLoaderClient::shouldLoadMediaElementURL.

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
Return true by default.

WebKit/mac: Mac specific part of

Reviewed by Adele Peterson.

<rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Implement shouldLoadMediaElementURL by asking the policy delegate.

  • WebView/WebPolicyDelegatePrivate.h:

Add new delegate method, remove some unused cruft.

14:58 Changeset [47458] by eric@webkit.org

2009-08-18 Dumitru Daniliuc <dumi@chromium.org>

Reviewed by Dimitri Glazkov.

Adding a test to verify that openDatabase() does not execute
SQL statements on the database it's trying to open, unless we're
opening the first handle to that database.

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

  • storage/open-database-while-transaction-in-progress-expected.txt: Added.
  • storage/open-database-while-transaction-in-progress.html: Added.

2009-08-18 Dumitru Daniliuc <dumi@chromium.org>

Reviewed by Dimitri Glazkov.

openDatabase() should not execute any SQL statement on the
database it's trying to open, unless there are no other open
handles to the same database. Otherwise, we might run into a
deadlock.

Test: storage/open-database-while-transaction-in-progress.html

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

  • storage/Database.cpp: (WebCore::Database::performOpenAndVerify):
14:48 Changeset [47457] by kov@webkit.org

2009-08-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=19360
Frags on current page don't generate "navigation-requested" events

Fix order of parameters for the creation of SubstituteData object,
so that normal data loads do not have an unreachable URL. Also
remove a confusion about the purpose of the last parameter.

  • webkit/webkitwebframe.cpp: (webkit_web_frame_load_data):
14:37 Changeset [47456] by krit@webkit.org

2009-08-18 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

SVG Filter feBlend implementation missing
https://bugs.webkit.org/show_bug.cgi?id=28133

Implementation of SVG Filter feBlend.

FilterEffect.cp needed changes to optimize the rendering. With the old code
we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
cleared the drawing area, drew the next FilterEffect with drawImage and picked this
PixelArray again. This was unefficient and slow. Now we calculate the requested area
of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
without any drawing operations on GraphicsContext.

There is already a test case
Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg

  • html/canvas/CanvasPixelArray.h: (WebCore::CanvasPixelArray::set): (WebCore::CanvasPixelArray::get):
  • platform/graphics/filters/FEBlend.cpp: (WebCore::unknown): (WebCore::normal): (WebCore::multiply): (WebCore::screen): (WebCore::darken): (WebCore::lighten): (WebCore::FEBlend::apply):
  • platform/graphics/filters/FEBlend.h:
  • platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::calculateDrawingIntRect):
  • platform/graphics/filters/FilterEffect.h:

2009-08-18 Dirk Schulze <krit@webkit.org>

Reviewed by Oliver Hunt.

Added additional getter to ByteArray with an unsigned char as return.
ByteArray can take unsigned char directly now.

  • wtf/ByteArray.h: (WTF::ByteArray::set): (WTF::ByteArray::get):
14:09 Changeset [47455] by pfeldman@chromium.org

2009-08-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Fix array formatter followup: node formatter.

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

  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._format):
14:05 Changeset [47454] by mrowe@apple.com

Update SnowLeopard-specific layout test results after r47440.

  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-styling-expected.txt:
13:44 Changeset [47453] by pfeldman@chromium.org

2009-08-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Metrics sidebar broken

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

  • inspector/front-end/MetricsSidebarPane.js:
13:21 Changeset [47452] by hyatt@apple.com

Fix GTK bustage.

13:20 Changeset [47451] by hyatt@apple.com

Fix Chromium bustage.

13:15 Changeset [47450] by hyatt@apple.com

Land updated results after my last patch.

  • platform/mac/compositing/geometry/clipping-foreground-expected.txt:
  • platform/mac/compositing/masks/masked-ancestor-expected.txt:
  • platform/mac/compositing/masks/multiple-masks-expected.txt:
  • platform/mac/compositing/masks/simple-composited-mask-expected.txt:
  • platform/mac/fast/clip/008-expected.txt:
  • platform/mac/fast/clip/011-expected.txt:
  • platform/mac/fast/clip/012-expected.txt:
  • platform/mac/fast/overflow/scrollRevealButton-expected.txt:
13:01 Changeset [47449] by ap@apple.com

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=28432
String::createCFString() returns a non-retained empty string

No known change in functionality, so no test.

  • platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
12:58 Changeset [47448] by hyatt@apple.com

Fix Windows build bustage.

12:53 Changeset [47447] by bweinstein@apple.com

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Reviewed by Oliver Hunt.

Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support
LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.

Implemenent setDatabaseQuota and added a new function to the IWebDatabaseManager interface.
Also added a console output on UIDelegate::exceededDatabaseQuota to match the mac.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setDatabaseQuota):
  • DumpRenderTree/win/UIDelegate.cpp: (UIDelegate::exceededDatabaseQuota):

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Reviewed by Oliver Hunt.

Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support
LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.

Added a setQuota interface method to IWebDatabaseManager and implemented it.

  • Interfaces/IWebDatabaseManager.idl:
  • WebDatabaseManager.cpp: (WebDatabaseManager::setQuota):
  • WebDatabaseManager.h:

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Reviewed by Oliver Hunt.

Removed now passing storage tests from the Skipped list, now we pass all storage tests on Windows.

  • platform/win/Skipped:

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Reviewed by Oliver Hunt.

Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support
LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.

Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
it doesn't have to.

  • storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::deleteOrigin):
12:53 Changeset [47446] by sfalken@apple.com

New tag.

12:50 Changeset [47445] by sfalken@apple.com

Merge r47438.

12:50 Changeset [47444] by pkasting@chromium.org

WebCore: https://bugs.webkit.org/show_bug.cgi?id=27357
Support for :valid and :invalid CSS selectors, from HTML5 specs.
http://www.whatwg.org/specs/web-apps/current-work/#selector-valid

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-18
Reviewed by Adele Peterson.

Tests: fast/css/pseudo-invalid-001.html

fast/css/pseudo-invalid-002.html
fast/css/pseudo-valid-001.html
fast/css/pseudo-valid-002.html
fast/css/pseudo-valid-003.html
fast/css/pseudo-valid-004.html
fast/css/pseudo-valid-005.html
fast/css/pseudo-valid-006.html
fast/css/pseudo-valid-007.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes

  • css/CSSSelector.h:

(WebCore::CSSSelector::):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=27357
Tests for :valid and :invalid CSS selectors, from HTML5 specs.
http://www.whatwg.org/specs/web-apps/current-work/#selector-valid

Patch by Michelangelo De Simone <micdesim@gmail.com> on 2009-08-18
Reviewed by Adele Peterson.

  • fast/css/pseudo-invalid-001-expected.txt: Added.
  • fast/css/pseudo-invalid-001.html: Added.
  • fast/css/pseudo-invalid-002-expected.txt: Added.
  • fast/css/pseudo-invalid-002.html: Added.
  • fast/css/pseudo-valid-001-expected.txt: Added.
  • fast/css/pseudo-valid-001.html: Added.
  • fast/css/pseudo-valid-002-expected.txt: Added.
  • fast/css/pseudo-valid-002.html: Added.
  • fast/css/pseudo-valid-003-expected.txt: Added.
  • fast/css/pseudo-valid-003.html: Added.
  • fast/css/pseudo-valid-004-expected.txt: Added.
  • fast/css/pseudo-valid-004.html: Added.
  • fast/css/pseudo-valid-005-expected.txt: Added.
  • fast/css/pseudo-valid-005.html: Added.
  • fast/css/pseudo-valid-006-expected.txt: Added.
  • fast/css/pseudo-valid-006.html: Added.
  • fast/css/pseudo-valid-007-expected.txt: Added.
  • fast/css/pseudo-valid-007.html: Added.
  • fast/dom/plugin-attributes-enumeration-expected.txt:
12:47 Changeset [47443] by pfeldman@chromium.org

2009-08-18 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Fix array formatter.

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

  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._formatarray):
12:43 Changeset [47442] by sfalken@apple.com

Versioning.

12:39 Changeset [47441] by yong.li@torchmobile.com

2009-08-17 Joe Mason <joe.mason@torchmobile.com>

Reviewed by George Staikos

Replace repeated string of PLATFORM(FOO) with a single define
https://bugs.webkit.org/show_bug.cgi?id=27734

  • loader/CachedFont.cpp: (WebCore::CachedFont::~CachedFont): (WebCore::CachedFont::ensureCustomFontData): (WebCore::CachedFont::platformDataFromCustomData): (WebCore::CachedFont::allClientsRemoved):
12:15 Changeset [47440] by hyatt@apple.com

WebCore: https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
considered part of scrollable overflow.

Reviewed by Dan Bernstein.

This patch takes the engine's concept of overflow and splits it into two types:
layout overflow and visual overflow.

Layout overflow is about other boxes that spill out of an enclosing box, For example,
in the inline flow case a tall image could spill out of a line box. Examples of
visual overflow are shadows, text stroke (and eventually outline and
border-image).

Three objects tracked overflow before this patch: RenderBlock had
m_overflowLeft/Top/Width/Height variables. RootInlineBox had an Overflow*
that also had four overflow values. Finally RenderReplaced elements tracked shadow/reflection
overflow using a map that cached four values.

This patch takes all of these different overflow models and unifies them into a single
new class called RenderOverflow. This class is now a member variable in RenderBox and
InlineFlowBoxes. It is only allocated if overflow actually exists. Instead of tracking
four values, it tracks eight: left/top/right/bottom for layout overflow and
left/top/right/bottom for visual overflow.

Overflow computation is now done after layout is finished rather than during layout
(when child objects can be churning and moving around). A number of layout tests progressed
by deferring overflow computation to a separate pass.

All inline flow boxes now track overflow (and not just the root line box). This allows
repainting of line boxes to actually be tight and bail early if the overflow rect of a box
doesn't intersect. The old code always visited all object on a line if the root line box
intersected at all.

Line box overflow no longer propagates across self-painting layers. This fixes a number of
issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.

Layer bounds have been modified to exclude visual overflow. The width/height members only really
have one reason for continued existence, and that is that they happen to be used in repaint()
when an overflow clip object's height isn't accurate. In this case, the bounds should exclude
visual overflow anyway, so this change tightens that repaint up.

Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
been changed to use these instead of relying on overflow (which was totally wrong).

Significant changes have been made to the "almost strict mode" line box quirk where objects with no
text children have no effect on the height of a line. Instead of making the height() of the objects
variable and dependent on overflow, the objects now have their full height and get placed on
the baseline properly. They simply don't contribute to overflow above lineTop/Bottom.

Reflections are no longer considered overflow of any kind. Because reflections have their own layers,
it is not necessary to treat them as visual or layout overflow in the RenderObject tree. The end result
of not incorporating them into RenderOverflow is that they have no effect on scrolling. transparencyClipBox
has been extended to support fully reflecting the entire clip box when a reflection exists. This fixes
numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
sublayers.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner):

  • editing/visible_units.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • page/FrameView.cpp:

(WebCore::FrameView::adjustViewSize):
(WebCore::FrameView::adjustPageHeight):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::height):

  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::adjustPosition):
(WebCore::InlineFlowBox::placeBoxesHorizontally):
(WebCore::InlineFlowBox::placeBoxesVertically):
(WebCore::InlineFlowBox::computeVerticalOverflow):
(WebCore::InlineFlowBox::nodeAtPoint):
(WebCore::InlineFlowBox::paint):

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::InlineFlowBox):
(WebCore::InlineFlowBox::topCombinedOverflow):
(WebCore::InlineFlowBox::bottomCombinedOverflow):
(WebCore::InlineFlowBox::leftCombinedOverflow):
(WebCore::InlineFlowBox::rightCombinedOverflow):
(WebCore::InlineFlowBox::combinedOverflowRect):
(WebCore::InlineFlowBox::topLayoutOverflow):
(WebCore::InlineFlowBox::bottomLayoutOverflow):
(WebCore::InlineFlowBox::leftLayoutOverflow):
(WebCore::InlineFlowBox::rightLayoutOverflow):
(WebCore::InlineFlowBox::layoutOverflowRect):
(WebCore::InlineFlowBox::topVisualOverflow):
(WebCore::InlineFlowBox::bottomVisualOverflow):
(WebCore::InlineFlowBox::leftVisualOverflow):
(WebCore::InlineFlowBox::rightVisualOverflow):
(WebCore::InlineFlowBox::visualOverflowRect):
(WebCore::InlineFlowBox::setHorizontalOverflowPositions):
(WebCore::InlineFlowBox::setVerticalOverflowPositions):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::layout):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromBlockChildren):
(WebCore::RenderBlock::handleBottomOfBlock):
(WebCore::RenderBlock::layoutBlockChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::fillInlineSelectionGaps):
(WebCore::RenderBlock::floatRect):
(WebCore::RenderBlock::lowestPosition):
(WebCore::RenderBlock::rightmostPosition):
(WebCore::RenderBlock::leftmostPosition):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::RenderBlock::layoutColumns):
(WebCore::getHeightForLineCount):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::computeHorizontalPositionsForLine):
(WebCore::RenderBlock::computeVerticalPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::matchedEndLine):
(WebCore::RenderBlock::addOverflowFromInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::destroy):
(WebCore::RenderBox::clippedOverflowRectForRepaint):
(WebCore::RenderBox::localCaretRect):
(WebCore::RenderBox::addShadowAndReflectionOverflow):
(WebCore::RenderBox::addOverflowFromChild):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::clearLayoutOverflow):

  • rendering/RenderBox.h:

(WebCore::RenderBox::combinedOverflowRect):
(WebCore::RenderBox::topCombinedOverflow):
(WebCore::RenderBox::bottomCombinedOverflow):
(WebCore::RenderBox::leftCombinedOverflow):
(WebCore::RenderBox::rightCombinedOverflow):
(WebCore::RenderBox::layoutOverflowRect):
(WebCore::RenderBox::topLayoutOverflow):
(WebCore::RenderBox::bottomLayoutOverflow):
(WebCore::RenderBox::leftLayoutOverflow):
(WebCore::RenderBox::rightLayoutOverflow):
(WebCore::RenderBox::visualOverflowRect):
(WebCore::RenderBox::topVisualOverflow):
(WebCore::RenderBox::bottomVisualOverflow):
(WebCore::RenderBox::leftVisualOverflow):
(WebCore::RenderBox::rightVisualOverflow):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::layoutHorizontalBox):
(WebCore::RenderFlexibleBox::layoutVerticalBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::localBoundingBox):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::positionListMarker):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):

  • rendering/RenderObject.h:
  • rendering/RenderOverflow.h: Added.

(WebCore::RenderOverflow::RenderOverflow):
(WebCore::RenderOverflow::topLayoutOverflow):
(WebCore::RenderOverflow::bottomLayoutOverflow):
(WebCore::RenderOverflow::leftLayoutOverflow):
(WebCore::RenderOverflow::rightLayoutOverflow):
(WebCore::RenderOverflow::topVisualOverflow):
(WebCore::RenderOverflow::bottomVisualOverflow):
(WebCore::RenderOverflow::leftVisualOverflow):
(WebCore::RenderOverflow::rightVisualOverflow):
(WebCore::RenderOverflow::setTopLayoutOverflow):
(WebCore::RenderOverflow::setBottomLayoutOverflow):
(WebCore::RenderOverflow::setLeftLayoutOverflow):
(WebCore::RenderOverflow::setRightLayoutOverflow):
(WebCore::RenderOverflow::setTopVisualOverflow):
(WebCore::RenderOverflow::setBottomVisualOverflow):
(WebCore::RenderOverflow::setLeftVisualOverflow):
(WebCore::RenderOverflow::setRightVisualOverflow):
(WebCore::RenderOverflow::layoutOverflowRect):
(WebCore::RenderOverflow::visualOverflowRect):
(WebCore::RenderOverflow::combinedOverflowRect):
(WebCore::RenderOverflow::move):
(WebCore::RenderOverflow::addLayoutOverflow):
(WebCore::RenderOverflow::addVisualOverflow):
(WebCore::RenderOverflow::resetLayoutOverflow):

  • rendering/RenderPartObject.cpp:

(WebCore::RenderPartObject::layout):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::~RenderReplaced):
(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::shouldPaint):
(WebCore::RenderReplaced::positionForPoint):
(WebCore::RenderReplaced::clippedOverflowRectForRepaint):

  • rendering/RenderReplaced.h:
  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::layout):
(WebCore::RenderScrollbarPart::paintIntoRect):

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):
(WebCore::RenderTable::paint):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::clippedOverflowRectForRepaint):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::positionForPoint):
(WebCore::RenderText::localCaretRect):

  • rendering/RenderView.cpp:

(WebCore::RenderView::layout):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::addHighlightOverflow):
(WebCore::RootInlineBox::adjustPosition):
(WebCore::RootInlineBox::verticallyAlignBoxes):
(WebCore::RootInlineBox::selectionTop):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::nextRootBox):
(WebCore::RootInlineBox::prevRootBox):
(WebCore::RootInlineBox::lineTop):
(WebCore::RootInlineBox::lineBottom):
(WebCore::RootInlineBox::selectionBottom):
(WebCore::RootInlineBox::selectionHeight):
(WebCore::RootInlineBox::floats):
(WebCore::RootInlineBox::floatsPtr):
(WebCore::RootInlineBox::setLineTopBottomPositions):

  • rendering/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::layoutInlineBoxes):

LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly being included
as part of scrollable overflow.

Reviewed by Dan Bernstein.

Update layout tests to account for all of the changes made to overflow to split it into two types. Remove the layout
tests that were recently added that assumed that shadows and reflections should be part of scrollable overflow.

  • fast/box-shadow/box-shadow-overflow-scroll-expected.txt: Removed.
  • fast/box-shadow/box-shadow-overflow-scroll.html: Removed.
  • fast/reflections/reflection-overflow-scroll-expected.txt: Removed.
  • fast/reflections/reflection-overflow-scroll.html: Removed.
  • platform/mac/compositing/overflow/ancestor-overflow-expected.txt:
  • platform/mac/compositing/reflections/reflection-on-composited-expected.txt:
  • platform/mac/editing/deleting/delete-br-011-expected.txt:
  • platform/mac/editing/deleting/delete-br-012-expected.txt:
  • platform/mac/editing/pasteboard/select-element-1-expected.txt:
  • platform/mac/fast/block/positioning/relative-overflow-block-expected.txt:
  • platform/mac/fast/body-propagation/background-color/002-expected.txt:
  • platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt:
  • platform/mac/fast/body-propagation/background-image/002-expected.txt:
  • platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt:
  • platform/mac/fast/body-propagation/overflow/001-expected.txt:
  • platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt:
  • platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt:
  • platform/mac/fast/body-propagation/overflow/005-expected.txt:
  • platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt:
  • platform/mac/fast/borders/fieldsetBorderRadius-expected.txt:
  • platform/mac/fast/box-shadow/transform-fringing-expected.txt:
  • platform/mac/fast/clip/008-expected.txt:
  • platform/mac/fast/clip/011-expected.txt:
  • platform/mac/fast/clip/012-expected.txt:
  • platform/mac/fast/dynamic/genContentDestroyChildren-expected.txt:
  • platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt:
  • platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/mac/fast/forms/form-element-geometry-expected.txt:
  • platform/mac/fast/images/image-in-map-expected.txt:
  • platform/mac/fast/inline-block/003-expected.txt:
  • platform/mac/fast/inline/inline-text-quirk-bpm-expected.txt:
  • platform/mac/fast/invalid/012-expected.txt:
  • platform/mac/fast/layers/normal-flow-hit-test-expected.txt:
  • platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.txt:
  • platform/mac/fast/overflow/scrollRevealButton-expected.txt:
  • platform/mac/fast/reflections/reflection-direction-expected.txt:
  • platform/mac/fast/reflections/reflection-masks-expected.checksum:
  • platform/mac/fast/reflections/reflection-masks-expected.png:
  • platform/mac/fast/reflections/reflection-masks-expected.txt:
  • platform/mac/fast/reflections/reflection-masks-opacity-expected.checksum:
  • platform/mac/fast/reflections/reflection-masks-opacity-expected.png:
  • platform/mac/fast/reflections/reflection-masks-opacity-expected.txt:
  • platform/mac/fast/reflections/reflection-nesting-expected.txt:
  • platform/mac/fast/reflections/reflection-overflow-hidden-expected.png:
  • platform/mac/fast/reflections/reflection-overflow-hidden-expected.txt:
  • platform/mac/fast/repaint/box-shadow-h-expected.txt:
  • platform/mac/fast/repaint/box-shadow-v-expected.txt:
  • platform/mac/fast/repaint/reflection-redraw-expected.txt:
  • platform/mac/fast/repaint/reflection-repaint-test-expected.txt:
  • platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:
  • platform/mac/fast/repaint/transform-replaced-shadows-expected.txt:
  • platform/mac/fast/replaced/border-radius-clip-expected.txt:
  • platform/mac/fast/transforms/shadows-expected.txt:
  • platform/mac/fast/transforms/transforms-with-opacity-expected.txt:
  • platform/mac/media/video-layer-crash-expected.txt:
  • platform/mac/tables/mozilla/bugs/adforce_imgis_com-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug10565-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug10633-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug113424-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug22513-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug26553-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug3309-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug78162-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug8381-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug86708-expected.txt:
  • platform/mac/tables/mozilla/core/bloomberg-expected.txt:
  • platform/mac/tables/mozilla/other/ms-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug72393-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
12:03 Changeset [47439] by ap@apple.com

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=28431
<rdar://problem/7137610> Application Cache doesn't work with HTTP authentication

Test: http/tests/appcache/auth.html

  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled, always allow it to use stored credentials (we can't ask WebKit client, and maybe we shouldn't ask it, because it's not a document that's loading these resources).
11:56 Changeset [47438] by andersca@apple.com

Fix <rdar://problem/7147996>

Reviewed by John Sullivan and David Hyatt.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
Update the style of the scroll bars.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::RenderScrollbar):
Calculate the size of the scrollbar and set it as the frame size.

11:54 Changeset [47437] by zimmermann@webkit.org

Not reviewed. Forgot to add pixel test results for html-fieldset-crash.html some time ago.

11:44 Changeset [47436] by atwilson@chromium.org

Unreviewed (Updating skipped tests).

Re-enabled test on GTK platform (DRT supports layoutTestController.workerThreadCount on GTK).

Disabled test on QT platform (DRT does not support workerThreadCount on QT).

  • platform/gtk/Skipped:
  • platform/qt/Skipped:
11:42 Changeset [47435] by eric.carlson@apple.com

2009-08-18 Eric Carlson <eric.carlson@apple.com>

Reviewed by NOBODY (build fix).

Update results added for https://bugs.webkit.org/show_bug.cgi?id=28314 to
not log 'progress' event as the timing relative to other media events
isn't important and varies according to the behavior of the media engine.

  • media/event-attributes-expected.txt:
  • media/event-attributes.html:
  • media/progress-event-at-least-one-expected.txt:
  • media/progress-event-at-least-one.html:
11:40 Changeset [47434] by atwilson@chromium.org

Unreviewed (build break).

Added missing include for WebWorkersPrivate.h.

  • WebKitClassFactory.cpp:
11:35 Changeset [47433] by atwilson@chromium.org

Unreviewed - skipping test on GTK.

Added worker-lifecycle.html tests to skipped tests on GTK platform due to missing DRT functionality.

  • platform/gtk/Skipped:
11:14 Changeset [47432] by atwilson@chromium.org

Speculative fix for GTK DumpRenderTree.

Reviewed by NOBODY (Build Break).

  • GNUmakefile.am:
10:46 Changeset [47431] by eric.carlson@apple.com

2009-08-18 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

HTMLMediaElement should fire 'progress' event before 'load'
https://bugs.webkit.org/show_bug.cgi?id=28314

Test: media/progress-event-at-least-one.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::setNetworkState):

Schedule 'progress' event before 'load'.

2009-08-18 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

HTMLMediaElement should fire 'progress' event before 'load'
https://bugs.webkit.org/show_bug.cgi?id=28314

  • media/event-attributes-expected.txt:

Update results to include 'progress' event fired before 'load'.

  • media/progress-event-at-least-one-expected.txt: Added.
  • media/progress-event-at-least-one.html: Added.
10:44 Changeset [47430] by pkasting@chromium.org

JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=28415
Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
have it.

Reviewed by Eric Seidel.

WebCore: https://bugs.webkit.org/show_bug.cgi?id=28415
Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
have it.

Reviewed by Eric Seidel.

  • WebCore.vcproj/QTMovieWin.vcproj:
  • WebCore.vcproj/WebCoreGenerated.vcproj:

WebKit/win: https://bugs.webkit.org/show_bug.cgi?id=28415
Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
have it.

Reviewed by Eric Seidel.

  • WebKit.vcproj/InterfacesGenerated.vcproj:

WebKitTools: https://bugs.webkit.org/show_bug.cgi?id=28415
Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
have it.

Reviewed by Eric Seidel.

  • record-memory-win/record-memory-win.vcproj:
  • WinLauncher/WinLauncher.vcproj:
  • WebKitLauncherWin/WebKitLauncherWin.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
  • FindSafari/FindSafari.vcproj:
10:35 Changeset [47429] by atwilson@chromium.org

WebCore: Need to extend DumpRenderTree to expose number of worker threads
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.

Tests: fast/workers/shared-worker-lifecycle.html-disabled

fast/workers/worker-lifecycle.html

  • WebCore.base.exp:

Exported WorkerThread::workerThreadCount().

  • WebCore.xcodeproj/project.pbxproj:
  • workers/WorkerThread.cpp:

Added tracking of the number of worker threads.
(WebCore::threadCountMutex):
(WebCore::WorkerThread::workerThreadCount):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::~WorkerThread):

  • workers/WorkerThread.h:

WebKit: Need to extend DumpRenderTree to expose number of worker threads.
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

  • WebKit.xcodeproj/project.pbxproj:

Added WebWorkersPrivate APIs to mac WebKit to expose workerThreadCount() for DumpRenderTree.

WebKit/gtk: Need to extend DumpRenderTree to expose number of worker threads
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

  • webkit/webkitprivate.h:
  • webkit/webkitworkers.cpp: Added.

(webkit_worker_thread_count):
Exposed WebCore::WorkerThread::workerThreadCount() for the gtk version of DumpRenderTree.

WebKit/mac: Need to extend DumpRenderTree to expose number of worker threads.
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

  • WebKit.exp:

Exported WebWorkersPrivate so DumpRenderTree can access it.

  • Workers/WebWorkersPrivate.h: Added.
  • Workers/WebWorkersPrivate.mm: Added.

(+[WebWorkersPrivate workerThreadCount]):
Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.

WebKit/win: Need to extend DumpRenderTree to expose number of worker threads
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

Defined/implemented COM interfaces to expose WorkerThread::workerThreadCount() for DumpRenderTree.

  • ForEachCoClass.h:

Added WebWorkersPrivate.

  • Interfaces/IWebWorkersPrivate.idl: Added.
  • Interfaces/WebKit.idl:

Added WebWorkersPrivate.

  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebWorkersPrivate.cpp: Added.

Implementation of the IWebWorkersPrivate COM interface, to expose workerThreadCount() for DumpRenderTree.
(WebWorkersPrivate::QueryInterface):
(WebWorkersPrivate::AddRef):
(WebWorkersPrivate::Release):
(WebWorkersPrivate::workerThreadCount):
(WebWorkersPrivate::createInstance):
(WebWorkersPrivate::WebWorkersPrivate):
(WebWorkersPrivate::~WebWorkersPrivate):

  • WebWorkersPrivate.h: Added.

WebKitTools: Need to extend DumpRenderTree to expose number of worker threads
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

Added layoutTestController.workerThreadCount, and implementations on various platforms that call into WebKit.

  • DumpRenderTree/LayoutTestController.cpp:

(getWorkerThreadCountCallback):
(LayoutTestController::staticValues):

  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::workerThreadCount):

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::workerThreadCount):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::workerThreadCount):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::workerThreadCount):

LayoutTests: Need to extend DumpRenderTree to expose number of worker threads
https://bugs.webkit.org/show_bug.cgi?id=28292

Reviewed by Eric Seidel.

Added simple layout tests that use the new layoutTestController.workerThreadCount() API

  • fast/workers/resources/shared-worker-common.js:

Added support for "close" command to match worker-common.js.

  • fast/workers/resources/worker-lifecycle.js: Added.
  • fast/workers/shared-worker-lifecycle-expected.txt: Added.
  • fast/workers/shared-worker-lifecycle.html-disabled: Added.
  • fast/workers/worker-lifecycle-expected.txt: Added.
  • fast/workers/worker-lifecycle.html: Added.
08:21 Changeset [47428] by eric@webkit.org

2009-08-18 Anton Muhin <antonm@chromium.org>

Reviewed by Adam Barth.

Mention handy --bug flag of prepare-ChangeLog script.
https://bugs.webkit.org/show_bug.cgi?id=28425

  • coding/contributing.html: Add a reference for --bug flag
07:31 Changeset [47427] by xan@webkit.org

2009-08-18 Xan Lopez <xlopez@igalia.com>

Reviewed by Gustavo Noronha.

Fix the ATK unit test.

We now support line boundaries in the get_text functions, so we
need to make sure the test has the layout we expect by giving it
enough space to fit in one line.

  • tests/testatk.c: (test_webkit_atk_get_text_at_offset):
05:49 Changeset [47426] by ariya@webkit.org

2009-08-18 Andras Becsi <becsi.andras@stud.u-szeged.hu>

Reviewed by Ariya Hidayat.

[Qt] These tests pass now. Fixed metrics related to default font size and added some expected files for new tests.

  • platform/qt/Skipped:
  • platform/qt/fast/images/animated-gif-with-offsets-expected.txt:
  • platform/qt/fast/images/animated-svg-as-image-expected.txt: Added.
  • platform/qt/fast/images/embed-image-expected.txt: Added.
  • platform/qt/fast/images/favicon-as-image-expected.txt: Added.
  • platform/qt/fast/images/object-image-expected.txt: Added.
  • platform/qt/fast/images/svg-as-background-expected.txt:
  • platform/qt/fast/images/svg-as-image-expected.txt:
  • platform/qt/fast/images/svg-as-relative-image-expected.txt: Added.
  • platform/qt/fast/images/svg-width-100p-as-background-expected.txt: Added.
05:44 Changeset [47425] by ariya@webkit.org

2009-08-18 Ariya Hidayat <ariya.hidayat@nokia.com>

Unreviewed, build fix.

[Qt] Add new files I forgot to add in r47424.

05:23 Changeset [47424] by ariya@webkit.org

WebCore/ChangeLog:

2009-08-18 Markus Goetz <Markus.Goetz@nokia.com>

Reviewed by Ariya Hidayat.

[Qt] Implement prefetchDNS() function.

  • WebCore.pro:
  • platform/qt/TemporaryLinkStubs.cpp:

WebKit/qt/ChangeLog:

2009-08-18 Markus Goetz <Markus.Goetz@nokia.com>

Reviwed by Ariya Hidayat.

[Qt] For prefecthDNS, the pre-fetching has to be enabled in the
WebSettings.

  • Api/qwebsettings.cpp: (QWebSettings::QWebSettings):
  • Api/qwebsettings.h:
05:02 Changeset [47423] by xan@webkit.org

2009-08-18 Xan Lopez <xlopez@igalia.com>

Reviewed by Jan Alonzo.

Initialize x and y in the GtkAllocation structure to shut up
valgrind.

  • DumpRenderTree/gtk/DumpRenderTree.cpp: (runTest):
00:35 Changeset [47422] by xan@webkit.org

2009-08-18 Xan Lopez <xlopez@igalia.com>

Try to fix the GTK+ build.

  • GNUmakefile.am:
00:33 Changeset [47421] by eric@webkit.org

2009-08-18 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

Assertion failure in WebCore::RenderHTMLCanvas::layout
https://bugs.webkit.org/show_bug.cgi?id=12052

Remove string "foo" in <video> tag. This made Qt layout test fail.
Qt doesn't support video yet and the string will be rendered.

  • fast/runin/nonblock-runin.html:
00:16 Changeset [47420] by eric@webkit.org

2009-08-18 Kent Tamura <tkent@chromium.org>

Reviewed by Eric Seidel.

Add --enable-datalist option.

  • configure.ac:

2009-08-18 Kent Tamura <tkent@chromium.org>

Reviewed by Eric Seidel.

Tests for <datalist> element.
https://bugs.webkit.org/show_bug.cgi?id=26915

  • fast/forms/datalist-expected.txt: Added.
  • fast/forms/datalist-nonoption-child-expected.txt: Added.
  • fast/forms/datalist-nonoption-child.html: Added.
  • fast/forms/datalist.html: Added.

2009-08-18 Kent Tamura <tkent@chromium.org>

Reviewed by Eric Seidel.

Support for parsing <datalist> element and generating HTMLDataListElement nodes.
https://bugs.webkit.org/show_bug.cgi?id=26915

Tests: fast/forms/datalist-nonoption-child.html

fast/forms/datalist.html

  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
  • WebCore.vcproj/build-generated-files.sh:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/html.css:
  • html/CollectionType.h: (WebCore::):
  • html/HTMLCollection.cpp: (WebCore::HTMLCollection::itemAfter):
  • html/HTMLDataListElement.cpp: Added. (WebCore::HTMLDataListElement::HTMLDataListElement): (WebCore::HTMLDataListElement::~HTMLDataListElement): (WebCore::HTMLDataListElement::checkDTD): (WebCore::HTMLDataListElement::options):
  • html/HTMLDataListElement.h: Added.
  • html/HTMLDataListElement.idl: Added.
  • html/HTMLElement.cpp: (WebCore::inlineTagList):
  • html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
  • html/HTMLTagNames.in:

08/17/09:

23:35 Changeset [47419] by eric@webkit.org

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

Some HTMLs are modified by make-script-test-wrappers
https://bugs.webkit.org/show_bug.cgi?id=28213

Add fast/js/const.js and fast/canvas/canvas-2d-imageData-create-nonfinite.js into
the exclude list, modified fast/dom/Geolocation/resources/TEMPLATE.html, and
re-generated wml/* and Geolocation/* .

  • fast/dom/Geolocation/enabled.html:
  • fast/dom/Geolocation/resources/TEMPLATE.html:
  • http/tests/wml/access-target-domain-deny.html:
  • http/tests/wml/access-target-path-deny.html:
  • http/tests/wml/access-target.html:

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

Some HTMLs are modified by make-script-test-wrappers
https://bugs.webkit.org/show_bug.cgi?id=28213

Add fast/js/const.js and fast/canvas/canvas-2d-imageData-create-nonfinite.js into
the exclude list, modified fast/dom/Geolocation/resources/TEMPLATE.html, and
re-generated wml/* and Geolocation/* .

  • Scripts/make-script-test-wrappers:
23:26 Changeset [47418] by eric@webkit.org

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

-webkit-box-orient:horizontal doesn't work on <button> tag
https://bugs.webkit.org/show_bug.cgi?id=34445

Make a flexible button's anonymous child flexible and pass the
parent's box-orient to the anonymous child.

Also, added a renderName for anonymous flexible boxes.

  • fast/flexbox/box-orient-button-expected.txt: Added.
  • fast/flexbox/box-orient-button.html: Added.
  • fast/flexbox/resources/box-orient-button.js: Added. (setBoxOrient): (gebi):

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

-webkit-box-orient:horizontal doesn't work on <button> tag
https://bugs.webkit.org/show_bug.cgi?id=34445

Make a flexible button's anonymous child flexible and pass the
parent's box-orient to the anonymous child.

Also, added a renderName for anonymous flexible boxes.

Test: fast/flexbox/box-orient-button.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::createAnonymousBlock):
  • rendering/RenderBlock.h:
  • rendering/RenderButton.cpp: (WebCore::RenderButton::addChild): (WebCore::RenderButton::setupInnerStyle):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::renderName):

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Eric Seidel.

-webkit-box-orient:horizontal doesn't work on <button> tag
https://bugs.webkit.org/show_bug.cgi?id=34445

Make a flexible button's anonymous child flexible and pass the
parent's box-orient to the anonymous child.

Also, added a renderName for anonymous flexible boxes.

  • Scripts/make-script-test-wrappers:
23:20 Changeset [47417] by barraclough@apple.com

add THE CORRECT new file to lunix builds (you idiot).

23:08 Changeset [47416] by barraclough@apple.com

add new file to lunix builds.

22:56 Changeset [47415] by barraclough@apple.com

speculative interpretoid build fixeration.

22:49 Changeset [47414] by barraclough@apple.com

speculative 'doze build fixeration II.

22:42 Changeset [47413] by barraclough@apple.com

speculative 'doze build fixeration.

22:34 Changeset [47412] by barraclough@apple.com

No, silly runtime, AST nodes are not for you.

Reviewed by Sam Weinig.

We still use AST nodes (ScopeNodes, particularly FunctionBodyNodes) within
the runtime, which means that these nodes must be persisted outside of the
arena, contain both parser & runtime data, etc. This is all a bit of a mess.

Move functionality into a new FunctionExecutable class.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::markAggregate):
(JSC::CodeBlock::reparseForExceptionInfoIfNecessary):
(JSC::CodeBlock::lineNumberForBytecodeOffset):
(JSC::CodeBlock::shrinkToFit):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::getBytecodeIndex):
(JSC::CodeBlock::discardBytecode):
(JSC::CodeBlock::instructionCount):
(JSC::CodeBlock::getJITCode):
(JSC::CodeBlock::executablePool):
(JSC::CodeBlock::ownerExecutable):
(JSC::CodeBlock::extractExceptionInfo):
(JSC::CodeBlock::addFunctionDecl):
(JSC::CodeBlock::functionDecl):
(JSC::CodeBlock::numberOfFunctionDecls):
(JSC::CodeBlock::addFunctionExpr):
(JSC::CodeBlock::functionExpr):
(JSC::GlobalCodeBlock::GlobalCodeBlock):
(JSC::ProgramCodeBlock::ProgramCodeBlock):
(JSC::EvalCodeBlock::EvalCodeBlock):
(JSC::FunctionCodeBlock::FunctionCodeBlock):
(JSC::NativeCodeBlock::NativeCodeBlock):

  • bytecode/EvalCodeCache.h:
  • bytecode/SamplingTool.cpp:

(JSC::SamplingTool::doRun):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewFunction):
(JSC::BytecodeGenerator::emitNewFunctionExpression):

  • bytecompiler/BytecodeGenerator.h:
  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrameClosure.h:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::throwException):
(JSC::Interpreter::execute):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::debug):
(JSC::Interpreter::privateExecute):
(JSC::Interpreter::retrieveLastCaller):

  • interpreter/Interpreter.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::compile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTIMachineTrampolines):
(JSC::JIT::emit_op_new_func):
(JSC::JIT::emit_op_new_func_exp):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:

(JSC::):

  • parser/Nodes.cpp:

(JSC::FunctionBodyNode::reparseDataIfNecessary):

  • parser/Nodes.h:

(JSC::EvalNode::partialDestroyData):

  • parser/Parser.h:
  • profiler/ProfileGenerator.cpp:
  • profiler/Profiler.cpp:

(JSC::Profiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):

  • runtime/Arguments.h:

(JSC::Arguments::getArgumentsData):
(JSC::Arguments::Arguments):
(JSC::JSActivation::copyRegisters):

  • runtime/ArrayPrototype.cpp:

(JSC::isNumericCompareFunction):

  • runtime/CallData.h:

(JSC::):

  • runtime/Collector.cpp:

(JSC::Heap::collect):

  • runtime/ConstructData.h:

(JSC::):

  • runtime/ExceptionHelpers.cpp:

(JSC::createUndefinedVariableError):
(JSC::createInvalidParamError):
(JSC::createNotAConstructorError):
(JSC::createNotAFunctionError):
(JSC::createNotAnObjectError):

  • runtime/Executable.cpp: Added.

(JSC::EvalExecutable::generateBytecode):
(JSC::ProgramExecutable::generateBytecode):
(JSC::FunctionExecutable::generateBytecode):
(JSC::EvalExecutable::generateJITCode):
(JSC::ProgramExecutable::generateJITCode):
(JSC::FunctionExecutable::generateJITCode):
(JSC::FunctionExecutable::isHostFunction):
(JSC::FunctionExecutable::markAggregate):
(JSC::FunctionExecutable::reparseExceptionInfo):
(JSC::EvalExecutable::reparseExceptionInfo):
(JSC::FunctionExecutable::recompile):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/Executable.h:

(JSC::ExecutableBase::~ExecutableBase):
(JSC::ExecutableBase::ExecutableBase):
(JSC::ExecutableBase::source):
(JSC::ExecutableBase::sourceID):
(JSC::ExecutableBase::lastLine):
(JSC::ExecutableBase::usesEval):
(JSC::ExecutableBase::usesArguments):
(JSC::ExecutableBase::needsActivation):
(JSC::ExecutableBase::astNode):
(JSC::ExecutableBase::generatedJITCode):
(JSC::ExecutableBase::getExecutablePool):
(JSC::EvalExecutable::EvalExecutable):
(JSC::EvalExecutable::bytecode):
(JSC::EvalExecutable::varStack):
(JSC::EvalExecutable::evalNode):
(JSC::EvalExecutable::jitCode):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::ProgramExecutable::reparseExceptionInfo):
(JSC::ProgramExecutable::bytecode):
(JSC::ProgramExecutable::programNode):
(JSC::ProgramExecutable::jitCode):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::name):
(JSC::FunctionExecutable::bytecode):
(JSC::FunctionExecutable::generatedBytecode):
(JSC::FunctionExecutable::usesEval):
(JSC::FunctionExecutable::usesArguments):
(JSC::FunctionExecutable::parameterCount):
(JSC::FunctionExecutable::paramString):
(JSC::FunctionExecutable::isGenerated):
(JSC::FunctionExecutable::body):
(JSC::FunctionExecutable::jitCode):
(JSC::FunctionExecutable::createNativeThunk):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunction):

  • runtime/FunctionPrototype.cpp:

(JSC::functionProtoFuncToString):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::JSActivation):
(JSC::JSActivation::markChildren):
(JSC::JSActivation::isDynamicScope):
(JSC::JSActivation::argumentsGetter):

  • runtime/JSActivation.h:

(JSC::JSActivation::JSActivationData::JSActivationData):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::isHostFunction):
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::~JSFunction):
(JSC::JSFunction::markChildren):
(JSC::JSFunction::getCallData):
(JSC::JSFunction::call):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::getConstructData):
(JSC::JSFunction::construct):

  • runtime/JSFunction.h:

(JSC::JSFunction::executable):
(JSC::FunctionExecutable::make):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::numericCompareFunction):

  • runtime/JSGlobalData.h:
22:12 Changeset [47411] by mrowe@apple.com

Revert r47399 as Eric landed it in the wrong directory.

20:57 Changeset [47410] by simon.fraser@apple.com

2009-08-17 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt.

Render -webkit-mask via compositing layers when possible
https://bugs.webkit.org/show_bug.cgi?id=28414

Implement accelerated compositing of -webkit-mask, when combined
with already-composited content.

RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
GraphicsLayerCA then applies the mask using -[CALayer setMask:].

The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
indicates that just the mask is painting.

When painting the composited mask, we need to paint with the normal compositing
mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
need to make transparency layers.

We no longer have to throw video rendering into software because of masks.

When a masked element has composited descendants, that element needs to
become composited so that the mask can be applied via compositing.

Tests: compositing/masks/masked-ancestor.html

compositing/masks/simple-composited-mask.html

  • platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer):
  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::maskLayer): (WebCore::GraphicsLayer::setMaskLayer): (WebCore::GraphicsLayer::paintingPhase): (WebCore::GraphicsLayer::setPaintingPhase):
  • platform/graphics/GraphicsLayerClient.h: (WebCore::):
  • platform/graphics/mac/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::):
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::setMaskLayer): (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::commitLayerChanges): (WebCore::GraphicsLayerCA::updateMaskLayer):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintMask):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintMaskImages):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hasCompositedMask):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::hasCompositedMask):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::~RenderLayerBacking): (WebCore::RenderLayerBacking::destroyGraphicsLayer): (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): (WebCore::RenderLayerBacking::updateForegroundLayer): (WebCore::RenderLayerBacking::updateMaskLayer): (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): (WebCore::RenderLayerBacking::setContentsNeedDisplay): (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): (WebCore::RenderLayerBacking::paintIntoLayer): (WebCore::RenderLayerBacking::paintContents):
  • rendering/RenderLayerBacking.h: (WebCore::RenderLayerBacking::hasMaskLayer):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
  • rendering/RenderLayerCompositor.h:
20:31 Changeset [47409] by simon.fraser@apple.com

2009-08-17 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt.

Layer content misplaced with compositing, z-index and overflow
https://bugs.webkit.org/show_bug.cgi?id=28361

The foreground GraphicsLayer (used to render element foreground when the element has
negative z-order children) was misplaced when there is a clipping layer (which clips
children). The foreground layer is parented under the clipping layer so that the foreground
depth-sorts with the layer's children, so its geometry needs to be computed relative to
that clipping layer.

Also clarified some FIXME comments, and corrected a debug-only layer name.

Test: compositing/geometry/clipping-foreground.html

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::updateSublayerList):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): (WebCore::RenderLayerBacking::updateForegroundLayer):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
19:58 Changeset [47408] by mrowe@apple.com

Fix leaks of SVGElementInstance seen during regression tests.

Reviewed by Sam Weinig.

r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
not updated to have a create method that adopted the initial reference. This lead to the instances
of SVGElementInstance allocated by SVGUseElement being leaked.

  • svg/SVGElementInstance.h:

(WebCore::SVGElementInstance::create):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::buildPendingResource):
(WebCore::SVGUseElement::buildInstanceTree):
(WebCore::SVGUseElement::handleDeepUseReferencing):

18:37 Changeset [47407] by beidson@apple.com

Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
Page Cache should support pages with frames.

Reviewed by Sam Weinig.

  • Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads are solely the responsibility of FrameLoader.
  • Enhance some page cache related Logging to help development.
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didCommitLoad):
(WebCore::InspectorController::identifierForInitialRequest):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::isLoadingFromCachedPage):

18:18 Changeset [47406] by bweinstein@apple.com

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Rubber-stamped by Adele Peterson.

http/tests/misc/favicon-loads-with-images-disabled.html was passing on my machine
(when I ran all http tests), but failed on the bot, so adding it back to the
Skipped list.

  • platform/win/Skipped:
18:05 Changeset [47405] by mrowe@apple.com

Fix 300,000+ leaks seen during the regression tests.

Reviewed by Darin Adler.

EvalCodeCache::get was heap-allocating an EvalExecutable instance without adopting the initial reference.
While fixing this we noticed that EvalExecutable was a RefCounted type that was sometimes stack allocated.
To make this cleaner and to prevent clients from attempting to ref a stack-allocated instance, we move the
refcounting down to a new CacheableEvalExecutable class that derives from EvalExecutable. EvalCodeCache::get
now uses CacheableEvalExecutable::create and avoids the leak.

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::get):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::callEval):

  • runtime/Executable.h:

(JSC::CacheableEvalExecutable::create):
(JSC::CacheableEvalExecutable::CacheableEvalExecutable):

18:00 Changeset [47404] by oliver@apple.com

REGRESSION (r47292): Prototype.js is broken by ES5 Arguments changes
https://bugs.webkit.org/show_bug.cgi?id=28341
<rdar://problem/7145615>

RS=Mark Rowe

Reverting r47292. Alas Prototype.js breaks with Arguments inheriting
from Array as ES5 attempted. Prototype.js defines $A in terms of a
function it places on (among other global objects) the Array prototype,
thus breaking $A for arrays.

17:58 Changeset [47403] by eric@webkit.org

2009-08-17 Roland Steiner <rolandsteiner@google.com>

Reviewed by Eric Seidel.

Moved implementation of isAfterContent to RenderObject
(as inline method to avoid potential performance regressions).

BUG 28376 - [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
(https://bugs.webkit.org/show_bug.cgi?id=28376)

  • rendering/RenderBox.cpp:
  • rendering/RenderBox.h:
  • rendering/RenderInline.cpp:
  • rendering/RenderObject.h: (WebCore::RenderObject::isAfterContent):
17:49 Changeset [47402] by eric@webkit.org

2009-08-17 Eric Seidel <eric@webkit.org>

Reviewed by Darin Adler.

Can no longer --reset-results of a layout test directory
https://bugs.webkit.org/show_bug.cgi?id=28336

--reset-results and --exit-after-n-failures are incompatible.

  • Scripts/run-webkit-tests:
17:40 Changeset [47401] by bweinstein@apple.com

2009-08-17 Brian Weinstein <bweinstein@apple.com>

Rubber-stamped by Adele Peterson.

http/tests/misc/favicon-loads-with-images-disabled.html is passing on my
machine, trying to remove it from the Skipped list on Windows.

  • platform/win/Skipped:
17:24 Changeset [47400] by eric@webkit.org

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

Assertion failure in WebCore::RenderHTMLCanvas::layout
https://bugs.webkit.org/show_bug.cgi?id=12052

Don't handle run-in if the element is not a block element.

  • fast/runin/canvas-runin-expected.txt: Added.
  • fast/runin/canvas-runin.html: Added.

2009-08-17 Shinichiro Hamaji <hamaji@chromium.org>

Reviewed by Darin Adler.

Assertion failure in WebCore::RenderHTMLCanvas::layout
https://bugs.webkit.org/show_bug.cgi?id=12052

Don't handle run-in if the element is not a block element.

Test: fast/runin/nonblock-runin.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild):
17:16 Changeset [47399] by eric@webkit.org

2009-08-17 Christian Plesner Hansen <christian.plesner.hansen@gmail.com>

Reviewed by Darin Adler.

Regression test for bug fixed in
http://codereview.chromium.org/171039. Regexps created in one
frame were not callable outside that frame.
https://bugs.webkit.org/show_bug.cgi?id=28387

  • fast/regex/regexp-cross-frame-callable-expected.txt: Added.
  • fast/regex/regexp-cross-frame-callable.html: Added.
  • fast/regex/resources/regexp-cross-frame-callable-child.html: Added.
17:05 Changeset [47398] by eric@webkit.org

2009-08-17 Benjamin C Meyer <benjamin.meyer@torchmobile.com>

Reviewed by Darin Adler.

Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
either of the arguments are not finite.

According to
http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
"If any of the arguments to createImageData() or getImageData() are
infinite or NaN, or if the createImageData() method is invoked with
only one argument but that argument is null, the method must instead
raise a NOT_SUPPORTED_ERR exception."

Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html

  • fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt: Added.
  • fast/canvas/canvas-2d-imageData-create-nonfinite.html: Added.
  • fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js: Added.

2009-08-17 Benjamin C Meyer <benjamin.meyer@torchmobile.com>

Reviewed by Darin Adler.

Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
either of the arguments are not finite.

According to
http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
"If any of the arguments to createImageData() or getImageData() are
infinite or NaN, or if the createImageData() method is invoked with
only one argument but that argument is null, the method must instead
raise a NOT_SUPPORTED_ERR exception."

Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html

  • html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createImageData):
  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:
16:28 Changeset [47397] by jorlow@chromium.org

2009-08-17 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

Add a way to release the storage lock
https://bugs.webkit.org/show_bug.cgi?id=28411

Two scripts within the same origin that are accessing LocalStorage must not do
it simultaneously, according to the spec. There are some cases, however, where
a script might want to override this behavior. navigator.getStorageUpdates()
was added for this reason:
http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex

Add this function to navigator and hook it up to DOM Storage.

  • page/Navigator.cpp: (WebCore::Navigator::getStorageUpdates):
  • page/Navigator.h:
  • page/Navigator.idl:
  • storage/StorageNamespace.h:
  • storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::unlock):
  • storage/StorageNamespaceImpl.h:

2009-08-17 Jeremy Orlow <jorlow@chromium.org>

Reviewed by Darin Fisher.

Add a way to release the storage lock
https://bugs.webkit.org/show_bug.cgi?id=28411

Two scripts within the same origin that are accessing LocalStorage must not do
it simultaneously, according to the spec. There are some cases, however, where
a script might want to override this behavior. navigator.getStorageUpdates()
was added for this reason:
http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex

Update the test expectations to include this new element.

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/mac-leopard/fast/dom/navigator-detached-no-crash-expected.txt:
16:11 Changeset [47396] by mrowe@apple.com

Build fix.

CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
results in the CFNetwork headers being included on Mac OS X. CoreServices.h doesn't include CFNetwork.h on
Windows though so we explicitly include this header from the prefix header when on Windows.

  • WebCorePrefix.h:
  • platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
15:48 Changeset [47395] by ap@apple.com

Trying a better build fix (the previous one broke Leopard bots, although it did build for me).

  • platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
15:30 Changeset [47394] by ap@apple.com

Trying to fix Windows build.

  • platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
15:17 Changeset [47393] by ddkilzer@apple.com

<http://webkit.org/b/26920> bugzilla-tool dumps too much junk the the commit comment from git

Reviewed by Adam Roben.

New commit message:

Committed r12345: <http://trac.webkit.org/changeset/12345>

  • Scripts/bugzilla-tool: (bug_comment_from_commit_text): Print out a compact, standardized commit message for both git and svn.
15:12 Changeset [47392] by pkasting@chromium.org

JavaScriptCore: https://bugs.webkit.org/show_bug.cgi?id=27323
Only add Cygwin to the path when it isn't already there. This avoids
causing problems for people who purposefully have non-Cygwin versions of
executables like svn in front of the Cygwin ones in their paths.

Reviewed by Steve Falkenburg.

WebCore: https://bugs.webkit.org/show_bug.cgi?id=27323
Only add Cygwin to the path when it isn't already there. This avoids
causing problems for people who purposefully have non-Cygwin versions of
executables like svn in front of the Cygwin ones in their paths.

Reviewed by Steve Falkenburg.

  • WebCore.vcproj/QTMovieWin.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
  • WebCore.vcproj/WebCoreGenerated.vcproj:

WebKit/win: https://bugs.webkit.org/show_bug.cgi?id=27323
Only add Cygwin to the path when it isn't already there. This avoids
causing problems for people who purposefully have non-Cygwin versions of
executables like svn in front of the Cygwin ones in their paths.

Reviewed by Steve Falkenburg.

  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/InterfacesGenerated.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:

WebKitTools: https://bugs.webkit.org/show_bug.cgi?id=27323
Only add Cygwin to the path when it isn't already there. This avoids
causing problems for people who purposefully have non-Cygwin versions of
executables like svn in front of the Cygwin ones in their paths.

Reviewed by Steve Falkenburg.

  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
15:08 Changeset [47391] by ap@apple.com

Reviewed by Geoff Garen.

https://bugs.webkit.org/show_bug.cgi?id=28401
Add support for DNS prefetching with CFNetwork

This is just an optimization, no behavior change, so no tests.

  • platform/network/cf/DNSCFNet.cpp: (WebCore::clientCallback): (WebCore::prefetchDNS): Use async CFHostStartInfoResolution() for implementation.
14:48 Changeset [47390] by kov@webkit.org

2009-08-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Skip new tests.

  • platform/gtk/Skipped:
14:14 Changeset [47389] by ap@apple.com

Rubber-stamped by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=28403
Update Apache2 module list from Leopard defaults

No change in functionality, only commented out modules needed an update.

  • http/conf/apache2-httpd.conf:
13:54 WikiStart edited by dglazkov@chromium.org
Linked to Chromium port page (diff)
13:43 Changeset [47388] by eric@webkit.org

2009-08-17 Aaron Boodman <aa@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.

Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented redirects
for access control, so we should never redirect across origins. But in two edge cases, we were:

  • Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control authorization headers) to a resource on origin A.
  • Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control authorization headers) to another resource on origin B (this time sending access control authorization headers).
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt: Added.
  • http/tests/xmlhttprequest/access-control-and-redirects.html: Added.

2009-08-17 Aaron Boodman <aa@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.

Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
redirects access control, so we should never redirect across origins. But in two edge cases, we were:

  • Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control authorization headers) to a resource on origin A.
  • Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control authorization headers) to another resource on origin B (this time sending access control authorization headers).

Test: http/tests/xmlhttprequest/access-control-and-redirects.html

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location. (WebCore::DocumentThreadableLoader::loadRequest): Ditto. (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
  • loader/DocumentThreadableLoader.h:
  • loader/ThreadableLoader.h: (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
  • page/EventSource.cpp: (WebCore::EventSource::connect): Ditto.
  • workers/Worker.cpp: Ditto. (WebCore::Worker::Worker): Ditto.
  • workers/WorkerContext.cpp: Ditto. (WebCore::WorkerContext::importScripts): Ditto.
  • workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::loadSynchronously): Ditto. (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
  • workers/WorkerScriptLoader.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): Ditto.
13:41 Changeset [47387] by darin@apple.com

Try to fix Qt build again.

Patch by Darin Adler <darin@apple.com> on 2009-08-17

  • WebCoreSupport/EditorClientQt.cpp: Move "using namespace".
13:36 Changeset [47386] by agl@chromium.org

2009-08-17 Adam Langley <agl@google.com>

Reviewed by Dan Bernstein (relanding of r47157).

Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp

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

This was originally fixed in r47157, however it triggered a bug in
Skia which caused Chromium Linux to fail layout tests in debug mode.
It was reverted in r47189 while we sorted it out.

The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
Chromium's r23523. This is a reland of the original patch.

No new tests because it's a just typo fix.

[1] http://code.google.com/p/skia/source/detail?r=321

  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::setupPaintCommon):
13:33 Changeset [47385] by ddkilzer@apple.com

<http://webkit.org/b/28393> check-webkit-style: add check for use of std::max()/std::min() instead of MAX()/MIN()

Reviewed by David Levin.

  • Scripts/modules/cpp_style.py: (_ERROR_CATEGORIES): Added 'runtime/max_min_macros'. (check_max_min_macros): Added. Returns level 4 error when MAX() and MIN() macros are used in header files and C++ source files. (check_style): Added call to check_max_min_macros().
  • Scripts/modules/cpp_style_unittest.py: Added unit tests. (test_max_macro): Added. (test_min_macro): Added.
13:29 Changeset [47384] by kov@webkit.org

2009-08-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Reviewed by Xan Lopez.

Protect ResourceHandle for g_file_query_info_async call, using the
same technique we already use for HTTP requests that take the soup
path.

  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandleInternal::~ResourceHandleInternal): (WebCore::ResourceHandle::~ResourceHandle): (WebCore::finishedCallback): (WebCore::):
13:21 Changeset [47383] by mitz@apple.com

REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
appears below the main content
https://bugs.webkit.org/show_bug.cgi?id=28350

Reviewed by Darin Adler.

A particular version of the MediaWiki software detects WebKit through
user agent sniffing and imports a style sheet called KHTMLFixes.css,
which contains a single rule that was meant to work around some KHTML
bug, but currently has the sole effect of causing the float containing
the main article content to extend all the way to the left and thus push
down the left navigation pane.

  • css/CSSImportRule.cpp:

(WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
enabled, check if the imported style sheet is the MediaWiki
KHTMLFixes.css. If so, remove the offending rule.

13:20 Changeset [47382] by xan@webkit.org

2009-08-17 Xan Lopez <xlopez@igalia.com>

Reviewed by Mark Rowe.

Fix build with FAST_MALLOC_MATCH_VALIDATION enabled.

  • wtf/FastMalloc.cpp: (WTF::fastMalloc): (WTF::fastCalloc): (WTF::fastRealloc):
13:11 Changeset [47381] by yong.li@torchmobile.com

2009-08-17 Yong Li <yong.li@torchmobile.com>

Reviewed by Adam Treat.

Allow image decoders to down-sample the image directly
to scaled output buffer. This can be enabled/disabled by
macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
Only JPEG and PNG decoders are modified to support it now.
https://bugs.webkit.org/show_bug.cgi?id=28308

  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::setData):
  • platform/image-decoders/ImageDecoder.cpp: Added.
  • platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ImageDecoder): (WebCore::ImageDecoder::setMaxNumPixels):
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::convertCMYKToRGBA): (WebCore::convertRGBToRGBA): (WebCore::JPEGImageDecoder::outputScanlines):
  • platform/image-decoders/jpeg/JPEGImageDecoder.h: (WebCore::JPEGImageDecoder::setSize):
  • platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::rowAvailable):
12:56 Changeset [47380] by darin@apple.com

Try to fix Qt build.

Patch by Darin Adler <darin@apple.com> on 2009-08-17

  • WebCoreSupport/EditorClientQt.cpp:

(WebCore::EditorClientQt::shouldShowDeleteInterface):
Use getAttribute(classAttr) instead of className() function.

12:47 Changeset [47379] by bfulgham@webkit.org

Correct crash when processing local cancelled requests.

Reviewed by Kevin Ollivier.

No new tests. Existing fast/images/favicon-as-image.html
displays the problem.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::writeCallback): Add check for m_cancelled after

performing local-file processing.

(WebCore::ResourceHandleManager::downloadTimerCallback): Add

check for m_cancelled after performing local-file processing.

12:27 Changeset [47378] by kov@webkit.org

2009-08-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>

Unreviewed. Reverts 47371, since it breaks GTK+.

  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::setData):
  • platform/image-decoders/ImageDecoder.cpp: Removed.
  • platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ImageDecoder):
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::convertCMYKToRGBA): (WebCore::convertRGBToRGBA): (WebCore::JPEGImageDecoder::outputScanlines):
  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::rowAvailable):
12:07 Changeset [47377] by sfalken@apple.com

New tag.

12:04 Changeset [47376] by simon.fraser@apple.com

2009-08-17 Simon Fraser <simon.fraser@apple.com>

Speculative fix for Windows build bustage.

  • DOMHTMLClasses.cpp: (DOMHTMLElement::idName):
12:00 Changeset [47375] by sfalken@apple.com

Merge r47320.

11:51 Changeset [47374] by simon.fraser@apple.com

2009-08-17 Simon Fraser <simon.fraser@apple.com>

Build fix: fix float literals to avoid casting warnings.

  • rendering/MediaControlElements.cpp:
11:50 Changeset [47373] by sfalken@apple.com

Merge r47312.

11:43 Changeset [47372] by sfalken@apple.com

Merge r47311.

11:37 Changeset [47371] by yong.li@torchmobile.com

2009-08-17 Yong Li <yong.li@torchmobile.com>

Reviewed by Adam Treat.

Allow image decoders to down-sample the image directly
to scaled output buffer. This can be enabled/disabled by
macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
Only JPEG and PNG decoders are modified to support it now.
https://bugs.webkit.org/show_bug.cgi?id=28308

  • platform/graphics/ImageSource.cpp: (WebCore::ImageSource::setData):
  • platform/image-decoders/ImageDecoder.cpp: Added.
  • platform/image-decoders/ImageDecoder.h: (WebCore::ImageDecoder::ImageDecoder): (WebCore::ImageDecoder::setMaxNumPixels):
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::convertCMYKToRGBA): (WebCore::convertRGBToRGBA): (WebCore::JPEGImageDecoder::outputScanlines):
  • platform/image-decoders/jpeg/JPEGImageDecoder.h: (WebCore::JPEGImageDecoder::setSize):
  • platform/image-decoders/png/PNGImageDecoder.cpp: (WebCore::PNGImageDecoder::headerAvailable): (WebCore::PNGImageDecoder::rowAvailable):
11:29 Changeset [47370] by simon.fraser@apple.com

2009-08-17 Simon Fraser <simon.fraser@apple.com>

Reviewed by Eric Seidel.

Use OwnPtrs for GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=28399

Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
for their references to GraphicsLayers.

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayer::create):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::RenderLayerBacking): (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::destroyGraphicsLayer): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): (WebCore::RenderLayerBacking::updateInternalHierarchy): (WebCore::RenderLayerBacking::updateClippingLayers): (WebCore::RenderLayerBacking::updateForegroundLayer): (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
  • rendering/RenderLayerBacking.h: (WebCore::RenderLayerBacking::graphicsLayer): (WebCore::RenderLayerBacking::clippingLayer): (WebCore::RenderLayerBacking::ancestorClippingLayer): (WebCore::RenderLayerBacking::foregroundLayer): (WebCore::RenderLayerBacking::parentForSublayers): (WebCore::RenderLayerBacking::childForSuperlayers):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::~RenderLayerCompositor): (WebCore::RenderLayerCompositor::rootPlatformLayer): (WebCore::RenderLayerCompositor::didMoveOnscreen): (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
  • rendering/RenderLayerCompositor.h:
10:44 Changeset [47369] by pfeldman@chromium.org

2009-08-17 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Reset InjectedScript styles cache on document change.

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

  • inspector/InspectorController.cpp: (WebCore::InspectorController::close): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::resetInjectedScript):
  • inspector/InspectorController.h:
  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::setDocument):
  • inspector/InspectorDOMAgent.h:
  • inspector/front-end/InjectedScript.js: (InjectedScript._reset):
10:41 Changeset [47368] by darin@apple.com
  • rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,

resorted includes, renamed "doc" to "document" and fixed formatting.

Reviewed by Sam Weinig.

10:30 Changeset [47367] by darin@apple.com

Removed functions now unneeded due to use of Reflect to create
language bindings.

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Sam Weinig.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
Get at usemap attribute directly.

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::createDeletionUI):
Get at id attribute directly.

  • editing/EditorCommand.cpp:

(WebCore::executeInsertHorizontalRule): Ditto.

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
(WebCore::HTMLDocument::setDir): Ditto.

  • html/HTMLElement.cpp: Deleted unused functions.
  • html/HTMLElement.h: Ditto.
  • html/HTMLImageElement.cpp: Deleted unused functions.

(WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
(WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
get at usemap attribute directly, but added a FIXME because although
it is what the old code did, it looks to not be entirely correct.

  • html/HTMLImageElement.h: Deleted unused functions.
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageMap): Get at usemap attribute directly.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
directly.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
explicit HTMLNames namespace qualification.

10:12 Changeset [47366] by darin@apple.com

Use a HashMap instead of a list of if statements for the command
name exception map.

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Sam Weinig.

  • WebView/WebHTMLView.mm:

(createSelectorExceptionMap): Added.
(commandNameForSelector): Use createSelectorExceptionMap.

10:03 Changeset [47365] by darin@apple.com
  • dom/Document.cpp:

(WebCore::Document::setFocusedNode): Removed unneeded calls
to RefPtr::get.

Reviewed by Sam Weinig.

09:24 Changeset [47364] by pfeldman@chromium.org

2009-08-17 Pavel Feldman <pfeldman@chromium.org>

Reviewed by Timothy Hatcher.

WebInspector: Discard DOM Node bindings on any document change.

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

  • inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::setDocument):
08:57 Changeset [47363] by ariya@webkit.org

2009-08-13 Joseph Pecoraro <joepeck02@gmail.com>

Reviewed by Timothy Hatcher.

Inspector: Improve Cookie DataGrid to Show Hidden Data
https://bugs.webkit.org/show_bug.cgi?id=28269

  • English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
  • WebCore.gypi: added missing files

Implemented Bindings for InspectorController.deleteCookie(name)

  • inspector/InspectorBackend.idl:
  • bindings/js/JSInspectorBackendCustom.cpp: (WebCore::JSInspectorBackend::cookies): (WebCore::JSInspectorBackend::deleteCookie):

v8 Bindings Stubs

  • bindings/v8/custom/V8CustomBinding.h:
  • bindings/v8/custom/V8InspectorBackendCustom.cpp: (WebCore::CALLBACK_FUNC_DECL):

Removed WebInspector.Cookie

  • inspector/front-end/Cookie.js: Removed.
  • inspector/front-end/inspector.html:
  • inspector/front-end/WebKit.qrc:

Improved DataGrid and Kept Fallback Behavior for Platforms that don't
yet provide access to raw cookies.

  • inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView): (WebInspector.CookieItemsView.prototype.get statusBarItems): (WebInspector.CookieItemsView.prototype.update): (WebInspector.CookieItemsView.prototype.buildCookies): (WebInspector.CookieItemsView.prototype.dataGridForCookies): (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback): (WebInspector.CookieItemsView.prototype.fallbackUpdate): (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString): (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies): (WebInspector.CookieItemsView.prototype._deleteButtonClicked):

Interaction with the page through Injected Script (for fallback behavior)

  • inspector/front-end/DOMAgent.js: (InspectorController.getCookies):
  • inspector/front-end/InjectedScript.js: (InjectedScript.setStyleProperty): style fix (InjectedScript.getCookies):

Allow alignment of text inside DataGrids.

  • inspector/front-end/DataGrid.js: (WebInspector.DataGrid): (WebInspector.DataGridNode.prototype.createCell):
  • inspector/front-end/DatabasesPanel.js: (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
  • inspector/front-end/inspector.css:

Added deleteCookie(., ., String name)
Modified getRawCookies to return a bool to know if its implemented

  • platform/CookieJar.h:

Implemented deleteCookie for Macs

  • platform/mac/CookieJar.mm: (WebCore::getRawCookies): (WebCore::deleteCookie):

Stub Implementations for Other Platforms

  • platform/haiku/CookieJarHaiku.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/network/chromium/CookieJarChromium.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/network/curl/CookieJarCurl.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/network/soup/CookieJarSoup.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/network/win/CookieJarCFNetWin.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/network/win/CookieJarWin.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
  • platform/qt/CookieJarQt.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie):
08:37 Changeset [47362] by treat@webkit.org

Blind build fix for Leopard.

Patch by Adam Treat <adam.treat@torchmobile.com> on 2009-08-17

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::adjustLineToPixelBoundaries):

08:07 Changeset [47361] by treat@webkit.org

Move adjustLineToPixelBoundaries overlapping function to GraphicsContext.cpp
and remove from GraphicsContextCairo.cpp and GraphicsContextQt.cpp.

Patch by Mike Fenton <mike.fenton@torchmobile.com> on 2009-08-13
Reviewed by Eric Seidel.

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

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::adjustLineToPixelBoundaries):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/qt/GraphicsContextQt.cpp:
07:19 Changeset [47360] by treat@webkit.org

Style fixes based on cpp_style.py and WebKit Style guide for
GraphicsContextCG.cpp

Patch by Mike Fenton <mike.fenton@torchmobile.com> on 2009-08-13
Reviewed by Adam Treat.

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

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::drawPath):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipOutEllipseInRect):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::clipToImageBuffer):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::imageInterpolationQuality):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setCompositeOperation):

07:01 Changeset [47359] by treat@webkit.org

Style fixes based on cpp_style.py and WebKit Style guide for
GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.

Patch by Mike Fenton <mike.fenton@torchmobile.com> on 2009-08-13
Reviewed by Adam Treat.

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

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::save):
(WebCore::GraphicsContext::restore):
(GraphicsContext::drawText):
(GraphicsContext::initFocusRing):
(GraphicsContext::focusRingBoundingRect):
(GraphicsContext::drawImage):

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::toCairoOperator):

  • platform/graphics/qt/GraphicsContextQt.cpp:
06:51 Changeset [47358] by treat@webkit.org

Style fixes for DumpRenderTree/qt/jsobjects.cpp based on cpp_style.py and
WebKit style guide.

Patch by Mike Fenton <mike.fenton@torchmobile.com> on 2009-08-10
Reviewed by Adam Treat.

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

  • DumpRenderTree/qt/jsobjects.cpp:

(findFrameNamed):
(LoadItem::invoke):
(LayoutTestController::provisionalLoad):
(LayoutTestController::timerEvent):
(LayoutTestController::pauseAnimationAtTimeOnElementWithId):
(LayoutTestController::pauseTransitionAtTimeOnElementWithId):
(LayoutTestController::numberOfActiveAnimations):
(EventSender::keyDown):
(EventSender::frameUnderMouse):
(TextInputController::doCommand):

03:38 Writing Layout Tests for DumpRenderTree edited by cam@mcc.id.au
make-js-test-wrappers renamed to make-script-test-wrappers (diff)
00:43 Changeset [47357] by darin@apple.com

Change HTMLAreaElement to use OwnArrayPtr
https://bugs.webkit.org/show_bug.cgi?id=28386

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Dan Bernstein.

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
(WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
(WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
instead of deletion followed by assignment.

  • html/HTMLAreaElement.h: Use OwnArrayPtr.
00:41 Changeset [47356] by darin@apple.com

Fix Windows build.

Patch by Darin Adler <darin@apple.com> on 2009-08-17

  • dom/make_names.pl: Add back cast to (void*) needed on Windows.
00:38 Changeset [47355] by darin@apple.com

Move noResize from HTMLFrameElementBase to HTMLFrameElement
https://bugs.webkit.org/show_bug.cgi?id=28384

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Dan Bernstein.

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
(WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
here if noresizeAttr is changed. This code was moved here from
HTMLFrameElementBase, but I added some FIXME comments.
(WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
boolean argument. Moved here from HTMLFrameElementBase.

  • html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize

here from HTMLFrameElementBase.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
(WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
noresizeAttr.

  • html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
00:35 Changeset [47354] by darin@apple.com

Tweak HTMLFrameElementBase so that m_URL can be private
https://bugs.webkit.org/show_bug.cgi?id=28385

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Dan Bernstein.

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
taking an argument.
(WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.

  • html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.

00:14 Changeset [47353] by darin@apple.com

HTMLViewSourceDocument should use smart pointers
https://bugs.webkit.org/show_bug.cgi?id=28378

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Dan Bernstein.

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
pointers any more since RefPtr starts 0 by default.
(WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
types for local variables.
(WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
and use a RefPtr of a more specific type for a local variable.
(WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
variables, and use RefPtr as well.
(WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
RefPtr of a more specific type for a local variable.

  • html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and

data member types to RefPtr.

00:12 Changeset [47352] by darin@apple.com

DOM attribute getter/setter functions should use const AtomicString& type
https://bugs.webkit.org/show_bug.cgi?id=25425

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Sam Weinig.

Convert 4 more classes. These are classes I am going to make other changes
to soon, so it's good to have this use of Reflect in the IDL out of the way.

  • html/HTMLEmbedElement.idl: Use Reflect for many attributes.
  • html/HTMLFrameElement.idl: Ditto.
  • html/HTMLIFrameElement.idl: Ditto.
  • html/HTMLObjectElement.idl: Ditto.
00:09 Changeset [47351] by darin@apple.com

Script to create element factory needs changes to accommodate calling create
https://bugs.webkit.org/show_bug.cgi?id=28379

Patch by Darin Adler <darin@apple.com> on 2009-08-17
Reviewed by Sam Weinig.

  • dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes

around names used inside {}. Added new createWithNew property for tags
that makes the factory use a create function instead of calling new.
Renamed functions with initialize in their name to have default in their
name, since they return an array full of default values and don't themselves
initialize anything.

Note: See TracTimeline for information about the timeline view.