Timeline


and

02/01/12:

23:48 Changeset [106535] by haraken@chromium.org

Rename [V8DisallowShadowing] to [V8Unforgeable]
https://bugs.webkit.org/show_bug.cgi?id=77599

Reviewed by Adam Barth.

This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):

  • page/DOMWindow.idl:
  • page/Location.idl:
23:07 Changeset [106534] by haraken@chromium.org

Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
https://bugs.webkit.org/show_bug.cgi?id=77602

Reviewed by Adam Barth.

This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).

No tests. No changes in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(JSValueToNative):

  • bindings/scripts/CodeGeneratorV8.pm:

(GetNativeTypeFromSignature):

  • css/CSSCharsetRule.idl:
  • css/CSSPageRule.idl:
  • css/CSSRule.idl:
  • css/CSSStyleDeclaration.idl:
  • css/CSSStyleRule.idl:
  • css/CSSValue.idl:
  • css/MediaList.idl:
  • css/WebKitCSSKeyframesRule.idl:
  • dom/Attr.idl:
  • dom/CharacterData.idl:
  • dom/DOMImplementation.idl:
  • dom/Document.idl:
  • dom/Element.idl:
  • dom/NamedNodeMap.idl:
  • dom/Node.idl:
  • dom/ProcessingInstruction.idl:
  • dom/ShadowRoot.idl:
  • html/HTMLAnchorElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLDocument.idl:
  • html/HTMLElement.idl:
  • html/HTMLFormElement.idl:
  • html/HTMLFrameElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLMediaElement.idl:
  • html/HTMLOutputElement.idl:
  • html/HTMLScriptElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTextAreaElement.idl:
  • html/HTMLTitleElement.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • page/DOMWindow.idl:
  • storage/StorageEvent.idl:
  • svg/SVGAngle.idl:
  • svg/SVGElement.idl:
  • svg/SVGLength.idl:
  • svg/SVGScriptElement.idl:
  • bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
22:31 Changeset [106533] by commit-queue@webkit.org

Webkit generate-coverage-data script needs update to use new test script
https://bugs.webkit.org/show_bug.cgi?id=77597

Patch by Jacob Goldstein <jacobg@adobe.com> on 2012-02-01
Reviewed by Dirk Schulze.

  • Scripts/generate-coverage-data:
22:24 Changeset [106532] by haraken@chromium.org

Remove [GenerateConstructor] from IDL files
https://bugs.webkit.org/show_bug.cgi?id=77598

Reviewed by Adam Barth.

[GenerateConstructor] is used in some IDL files but it is not implemented
in code generators. I could not find any history about [GenerateConstructor]
in code generators. This patch removes them from IDL files.

Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
So simply removing them would make sense.

No new tests. No change in behavior.

  • dom/DOMStringList.idl:
  • html/DOMSettableTokenList.idl:
  • html/DOMTokenList.idl:
  • svg/SVGFEConvolveMatrixElement.idl:
  • webaudio/AudioPannerNode.idl:
21:10 Changeset [106531] by eric.carlson@apple.com

Consider user's preferred language when choosing text tracks
https://bugs.webkit.org/show_bug.cgi?id=74121

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: media/track/track-language-preference.html

media/track/track-prefer-captions.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
(WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
(WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
(WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,

don't consider user's language preference.

(WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group,

considering user's kind and language preferences.

(WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
(TrackGroup):

  • platform/Language.cpp:

(WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
(WebCore::bestMatchingLanguage): New, return the language from the list that best matches the

specified language.

(WebCore::preferredLanguageFromList): New, return the language in the specified list that best

matches the user's language preference.

  • platform/Language.h:
  • testing/Internals.cpp:

(WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
(WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/track/track-language-preference-expected.txt: Added.
  • media/track/track-language-preference.html: Added.
  • media/track/track-prefer-captions-expected.txt: Added.
  • media/track/track-prefer-captions.html: Added.
  • platform/mac/Skipped:
20:21 Changeset [106530] by hayato@chromium.org

Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
https://bugs.webkit.org/show_bug.cgi?id=76693

Reviewed by Darin Adler.

Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
This patch is pre-requirement for coming IDL change.

No tests. No change in behavior.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::childrenChanged):
(WebCore::Document::attach):
(WebCore::Document::detach):

  • dom/Document.h:

(Document):

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::DocumentFragment):

  • dom/DocumentFragment.h:

(DocumentFragment):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::get):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::attach):

  • dom/ShadowRoot.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::findAnchor):

  • dom/TreeScope.h:

(WebCore):
(WebCore::TreeScope::rootNode):
(TreeScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • page/DragController.cpp:

(WebCore::asFileInput):

  • page/FocusController.cpp:

(WebCore::ownerOfTreeScope):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

20:11 Changeset [106529] by benjamin@webkit.org

WorkerScriptController::evaluate() should not return anything
https://bugs.webkit.org/show_bug.cgi?id=77587

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-02-01
Reviewed by Adam Barth.

Remove the return value from WorkerScriptController as it is
(and should be) unused.

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • bindings/js/WorkerScriptController.h:

(WorkerScriptController):

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

  • bindings/v8/WorkerScriptController.h:

(WorkerScriptController):

19:25 Changeset [106528] by haraken@chromium.org

Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77585

Reviewed by Adam Barth.

This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
[HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
since they are not used by no IDL files.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(GetterExpression):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateImplementation):
(IsConstructable):
(IsConstructorTemplate):

  • bindings/scripts/test/TestObj.idl:
  • bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
  • bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.

(webkit_dom_test_obj_set_property):
(webkit_dom_test_obj_get_property):
(webkit_dom_test_obj_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.

(WebCore):

  • bindings/scripts/test/JS/JSTestObj.h: Ditto.

(WebCore):

  • bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
  • bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
  • bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

(WebCore):

19:22 Changeset [106527] by commit-queue@webkit.org

Select attribute of HTMLContentElement should be able be changed dynamically.
https://bugs.webkit.org/show_bug.cgi?id=76261

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-01
Reviewed by Hajime Morita.

Source/WebCore:

When select attribute is changed, the flag to recalc style is set.

Test: fast/dom/shadow/content-element-select-dynamic.html

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::parseMappedAttribute):

Sets recalc style when select is changed.

  • html/shadow/HTMLContentElement.h:

(HTMLContentElement):

LayoutTests:

Test cases for changing select attribute dynamically.

  • fast/dom/shadow/content-element-select-dynamic-expected.txt: Added.
  • fast/dom/shadow/content-element-select-dynamic.html: Added.
18:47 Changeset [106526] by haraken@chromium.org

Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
https://bugs.webkit.org/show_bug.cgi?id=77589

Reviewed by Adam Barth.

[ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
but they are not implemented in code generators and thus have no meaning.
This patch removes them.

No tests. No change in behavior.

  • html/canvas/CanvasGradient.idl:
  • html/canvas/CanvasPattern.idl: The file is now empty though.
  • html/canvas/CanvasRenderingContext.idl:
  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/WebGLRenderingContext.idl:
18:46 Changeset [106525] by commit-queue@webkit.org

Unreviewed, rolling out r106408.
http://trac.webkit.org/changeset/106408
https://bugs.webkit.org/show_bug.cgi?id=77592

crashes in chromium mac release tests (Requested by japhet on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01

  • platform/graphics/Region.cpp:
  • platform/graphics/Region.h:

(Region):
(Shape):

18:42 Changeset [106524] by noam.rosenthal@nokia.com

[Texmap] Use glScissors for clipping in TextureMapperGL when possible
https://bugs.webkit.org/show_bug.cgi?id=77575

Reviewed by Martin Robinson.

Source/WebCore:

Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
We apply scissors when the clip region is rectalinear, and stencil when it's not.

No behavior changes so no new tests.

  • platform/graphics/opengl/TextureMapperGL.cpp:

(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::bindSurface):
(WebCore):
(WebCore::scissorClip):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::endScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):

  • platform/graphics/opengl/TextureMapperGL.h:

(TextureMapperGL):

Source/WebKit2:

Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
now cleaned out of QQuickWebPage.

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::paintToCurrentGLContext):

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::paintToCurrentGLContext):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):

  • UIProcess/DrawingAreaProxyImpl.h:

(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeHostProxy.h:

(LayerTreeHostProxy):

  • UIProcess/qt/LayerTreeHostProxyQt.cpp:

(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):

18:34 Changeset [106523] by andersca@apple.com

Move the scrolling coordinator to page/scrolling
https://bugs.webkit.org/show_bug.cgi?id=77590

Reviewed by Dan Bernstein.

Put scrolling related files in page/scrolling to avoid cluttering the page directory.

  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
  • page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
  • page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
18:27 Changeset [106522] by haraken@chromium.org

Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators
https://bugs.webkit.org/show_bug.cgi?id=77588

Reviewed by Adam Barth.

This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
[v8implname] and [v8referenceattr] from code generators, since they are not used
by any IDL files.

No tests. No changes in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(IsConstructable):
(IsConstructorTemplate):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):

18:19 Changeset [106521] by msaboff@apple.com

Yarr crash with regexp replace
https://bugs.webkit.org/show_bug.cgi?id=67454

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Properly handle the case of a back reference to an unmatched
subpattern by always matching without consuming any characters.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::matchBackReference):
(JSC::Yarr::Interpreter::backtrackBackReference):

LayoutTests:

New tests to check for proper handling of back references to
unmatched subpatterns.

  • fast/js/regexp-backreferences-expected.txt:
  • fast/js/script-tests/regexp-backreferences.js:
18:11 Changeset [106520] by abarth@webkit.org

Update the tests to show that the mac-ews processes patches from
non-committers.

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

(EarlyWarningSytemTest.test_committer_only_ewses):
(EarlyWarningSytemTest.test_builder_ewses):

18:08 Changeset [106519] by abarth@webkit.org

Merge 106514 - contentDispositionType misparses the Content-Disposition header in some obscure corner cases
https://bugs.webkit.org/show_bug.cgi?id=77577

Reviewed by Eric Seidel.

The contentDispositionType extracts the disposition-type from the
Content-Disposition header. According to RFC 6266 (and previous RFCs),
the disposition-type must be an RFC 2616 token. Rather than enforce
this general rule, we had special-cased some examples (including
name=foo and filename=bar). This patch generalizes our check to
properly validate that the disposition-type is an RFC 2616 token.

In conjunction with some other work in the Chromium network stack, this
causes Chromium to pass the following tests:

http://greenbytes.de/tech/tc2231/#inlonlyquoted
http://greenbytes.de/tech/tc2231/#attonlyquoted

Without this patch, these test cases neither trigger a navigation nor a
download in Chromium. This patch does not appear to cause any visible
change in Safari. (Safari passes these tests both before and after
this patch.)

  • platform/network/HTTPParsers.cpp:

(WebCore::isRFC2616Token):
(WebCore::contentDispositionType):

  • This patch also adds a comment to filenameFromHTTPContentDisposition, which explains some of the was this function incorrectly implements the requirements in RFC 6266. Resolving these issues is a subject for a future patch.
  • platform/network/HTTPParsers.h:

TBR=abarth@webkit.org
Review URL: https://chromiumcodereview.appspot.com/9309049

17:56 Changeset [106518] by abarth@webkit.org

Mac-ews logs are huge
https://bugs.webkit.org/show_bug.cgi?id=77045

Reviewed by Eric Seidel.

In order to get the cr-linux-ews bot to run tests on EC2, we created
the chromium-xvfb port, which contained a number of tweaks to the
Chromium port's behavior. This patch refactors those tweaks so they
can be shared with the mac-ews, mostly by moving them into the
non-interactive mode of RunTests.

  • Scripts/webkitpy/common/config/ports.py:

(WebKitPort):
(WebKitPort.layout_tests_results_path):
(ChromiumPort.run_javascriptcore_tests_command):
(ChromiumXVFBPort):
(ChromiumXVFBPort.run_webkit_tests_command):

  • Scripts/webkitpy/common/config/ports_mock.py:

(MockPort):
(MockPort.layout_tests_results_path):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(WebKitPortTest.test_chromium_xvfb_port):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(LayoutTestResultsReaderTest.test_missing_layout_test_results):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(CommitQueueTest.test_commit_queue):
(test_rollout):
(test_manual_reject_during_processing):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:

(RunTestsTest.test_no_unit_tests):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:

(StepsTest.test_runtests_args):

17:40 Changeset [106517] by rniwa@webkit.org

Roll out r106442. It made some tests more stable but others less stable.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set):

17:39 Changeset [106516] by commit-queue@webkit.org

Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
https://bugs.webkit.org/show_bug.cgi?id=77580

Patch by Pablo Flouret <pablof@motorola.com> on 2012-02-01
Reviewed by Adam Barth.

Source/WebCore:

No new tests. Modified http/tests/security/postMessage/target-origin.html
to test this case as well.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

LayoutTests:

  • http/tests/security/postMessage/target-origin-expected.txt:
  • http/tests/security/postMessage/target-origin.html:
16:20 Changeset [106515] by caio.oliveira@openbossa.org

Avoid creating NamedNodeMap unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=77574

Reviewed by Ryosuke Niwa.

Source/WebCore:

The method Element::attributes() was being used for multiple things in our
codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
get the attribute storage creating one if necessary.

This commit separate the jobs in different functions:

1) attributes() keeps being the DOM getter, and loses its boolean parameter.

2) updatedAttributes() updates the invalid attributes and returns the attribute
storage. If we don't have one, return 0.

3) ensureUpdatedAttributes() updates the invalid attributes and forces the
creation of attribute storage to return.

There is also another way to get to the attribute storage currently, via
attributeMap(), which doesn't update the attributes for possible changes in Style
or SVG attributes.

Note that the new functions are not available in Node class, so C++ code manipulating
attributes should cast to Element.

This separation also made easier to spot and fix some places where we do not
need to create the attribute storage if it doesn't exist.

No new tests, this commit shouldn't change the behavior of existing code.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::getNames):
(WebCore::DatasetDOMStringMap::item):
(WebCore::DatasetDOMStringMap::contains):

  • dom/Document.cpp:

(WebCore::Document::importNode):

  • dom/Element.cpp:

(WebCore::Element::setAttribute):
(WebCore::Element::hasAttributes):
(WebCore::Element::setAttributeNode):
(WebCore::Element::setAttributeNodeNS):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):
(WebCore::Element::normalizeAttributes):

  • dom/Element.h:

(Element):
(WebCore::Element::attributes):
(WebCore::Element::ensureAttributeData):
(WebCore::Element::ensureUpdatedAttributes):
(WebCore::Element::updatedAttributes):
(WebCore::Element::setAttributesFromElement):
(WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
(WebCore::Element::updateInvalidAttributes):
(WebCore):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
not having an attribute storage because the attribute storage is lazily created.

  • dom/Node.cpp:

(WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
compare two nodes.
(WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
using length, it's OK if the attribute storage is empty.
(WebCore::Node::lookupNamespaceURI): Ditto.
(WebCore::Node::lookupNamespacePrefix): Ditto.
(WebCore::Node::compareDocumentPosition): Ditto.

  • editing/ApplyStyleCommand.cpp:

(WebCore::hasNoAttributeOrOnlyStyleAttribute):
(WebCore::isEmptyFontTag):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
to identify non-Element nodes, then use hasAttributes() if is Element.

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::highestVisuallyEquivalentDivBelowRoot):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
unnecessarily.

  • editing/htmlediting.cpp:

(WebCore::areIdenticalElements): Do not create the attribute storage
unnecessarily. Use mapsEquivalent() for comparing the attributes.

  • editing/markup.cpp:

(WebCore::completeURLs): Do not create the attribute storage unnecessarily.
(WebCore::StyledMarkupAccumulator::appendElement): Ditto.
(WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
storage unnecessarily.

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parametersForPlugin):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):

  • html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
unnecessarily.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
ensureUpdatedAttributes() since we will add new attributes.
(WebCore):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):

  • page/PageSerializer.cpp:

(WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.

  • svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()

since we will add new attributes.

  • xml/XPathFunctions.cpp:

(WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
unnecessarily.

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::traversalSort):

  • xml/XPathStep.cpp:

(WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
nodeType() manually. Do not create the attribute storage unnecessarily.

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
storage unnecessarily.

  • xml/parser/XMLDocumentParserQt.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.

  • xml/parser/XMLTreeBuilder.cpp:

(WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.

Source/WebKit/chromium:

  • src/WebPageSerializerImpl.cpp:

(WebKit::WebPageSerializerImpl::openTagToString): use updatedAttributes().

Source/WebKit/qt:

  • Api/qwebelement.cpp:

(QWebElement::attributeNames): use updateAttributes().

16:14 Changeset [106514] by abarth@webkit.org

contentDispositionType misparses the Content-Disposition header in some obscure corner cases
https://bugs.webkit.org/show_bug.cgi?id=77577

Reviewed by Eric Seidel.

The contentDispositionType extracts the disposition-type from the
Content-Disposition header. According to RFC 6266 (and previous RFCs),
the disposition-type must be an RFC 2616 token. Rather than enforce
this general rule, we had special-cased some examples (including
name=foo and filename=bar). This patch generalizes our check to
properly validate that the disposition-type is an RFC 2616 token.

In conjunction with some other work in the Chromium network stack, this
causes Chromium to pass the following tests:

http://greenbytes.de/tech/tc2231/#inlonlyquoted
http://greenbytes.de/tech/tc2231/#attonlyquoted

Without this patch, these test cases neither trigger a navigation nor a
download in Chromium. This patch does not appear to cause any visible
change in Safari. (Safari passes these tests both before and after
this patch.)

  • platform/network/HTTPParsers.cpp:

(WebCore::isRFC2616Token):
(WebCore::contentDispositionType):

  • This patch also adds a comment to filenameFromHTTPContentDisposition, which explains some of the was this function incorrectly implements the requirements in RFC 6266. Resolving these issues is a subject for a future patch.
  • platform/network/HTTPParsers.h:
16:09 Changeset [106513] by andersca@apple.com

Another attempt to fix the Windows build.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::LayerClient::platformCALayerDidCreateTiles):

16:08 Changeset [106512] by barraclough@apple.com

calling function on catch block scope containing an eval result in wrong this value being passed
https://bugs.webkit.org/show_bug.cgi?id=77581

Reviewed by Oliver Hunt.

javascript:function F(){ return 'F' in this; }; try { throw F; } catch (e) { eval(""); alert(e()); }

Source/JavaScriptCore:

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createTryStatement):

  • parser/NodeConstructors.h:

(JSC::TryNode::TryNode):

  • parser/Nodes.h:

(TryNode):

  • parser/Parser.cpp:

(JSC::::parseTryStatement):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createTryStatement):

  • runtime/JSObject.h:

(JSObject):
(JSC::JSObject::isStaticScopeObject):
(JSC):

LayoutTests:

  • fast/js/eval-var-decl-expected.txt:
  • fast/js/script-tests/eval-var-decl.js:

(checkThis):
(testEvalInCatch):

16:01 Changeset [106511] by mitz@apple.com

Source/WebCore: WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505

Reviewed by Darin Adler.

  • page/Page.h:

(WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
variable.
(WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
(Pagination): Added behavesLikeColumns member variable. When set to false (the default),
paginated display respects the page-break-{before,after} properties rather than the
column-break-{before,after} ones.

  • rendering/ColumnInfo.h:

(WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
(WebCore::ColumnInfo::paginationUnit): Added this getter.
(WebCore::ColumnInfo::setPaginationUnit): Added this setter.
(ColumnInfo): Added m_paginationUnit member. It defaults to Column.

  • rendering/LayoutState.h:

(WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
(WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.

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

(WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
this is the RenderView for the main frame and pagination is set to behave like columns.

  • rendering/RenderView.h:

Source/WebKit/mac: WebKit/mac part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505

Reviewed by Darin Adler.

  • WebView/WebView.mm:

(-[WebView _setPaginationBehavesLikeColumns:]): Added this setter.
(-[WebView _paginationBehavesLikeColumns]): Added this getter.

  • WebView/WebViewPrivate.h:

Source/WebKit2: WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
https://bugs.webkit.org/show_bug.cgi?id=77505

Reviewed by Darin Adler.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
(WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPaginationBehavesLikeColumns): Added this setter.
(WKPageGetPaginationBehavesLikeColumns): Added this getter.

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/API/mac/WKBrowsingContextController.mm:

(-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
wrapper around WKPageSetPaginationBehavesLikeColumns.
(-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
around WKPageGetPaginationBehavesLikeColumns.

  • UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
the value from the creation parameters.
(WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
(WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
15:59 Changeset [106510] by commit-queue@webkit.org

Backgrounds in HTML inside foreignObject don't draw
https://bugs.webkit.org/show_bug.cgi?id=23111

Patch by Florin Malita <fmalita@google.com> on 2012-02-01
Reviewed by Eric Seidel.

Source/WebCore:

Test: svg/foreignObject/body-background.svg

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBackground):
Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.

LayoutTests:

  • svg/foreignObject/body-background-expected.png: Added.
  • svg/foreignObject/body-background-expected.txt: Added.
  • svg/foreignObject/body-background.svg: Added.
15:58 Changeset [106509] by lforschler@apple.com

Enable EWS for non-contributers.
https://bugs.webkit.org/show_bug.cgi?id=77576

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(MacEWS):

15:54 Changeset [106508] by andersca@apple.com

REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
https://bugs.webkit.org/show_bug.cgi?id=77578
<rdar://problem/10767174>

Reviewed by Dan Bernstein.

Resizing a window will always invalidate the window backing store, so make sure to set
_data->_windowHasValidBackingStore to NO whenever that happens.

  • UIProcess/API/mac/WKView.mm:

(-[WKView addWindowObserversForWindow:]):
Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.

(-[WKView _windowDidMove:]):
Call -[WKView _updateWindowAndViewFrames].

(-[WKView _windowDidResize:]):
Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.

15:36 Changeset [106507] by lforschler@apple.com

Versioning.

15:32 Changeset [106506] by commit-queue@webkit.org

Make one able to set the local storage (tracker) database dir's path
https://bugs.webkit.org/show_bug.cgi?id=77006

Patch by Gustavo Lima Chaves <glima@profusion.mobi> on 2012-02-01
Reviewed by Darin Adler.

There are no behavior changes with the diff, so no need for new tests.

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore):
(WebCore::StorageTracker::databaseDirectoryPath):

  • storage/StorageTracker.h:

(StorageTracker):

15:29 Changeset [106505] by andersca@apple.com

Fix Window build.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::LayerClient::platformCALayerDidCreateTiles):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):

15:23 Changeset [106504] by oliver@apple.com

Add support for inferred function names
https://bugs.webkit.org/show_bug.cgi?id=77579

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Add new "inferred" names to function expressions, getters, and setters.
This property is not exposed to JS, so is only visible in the debugger
and profiler.

(JSC::BytecodeGenerator::makeFunction):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::calculatedFunctionName):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::makeAssignNode):

  • parser/Nodes.h:

(JSC::FunctionBodyNode::setInferredName):
(JSC::FunctionBodyNode::inferredName):
(FunctionBodyNode):

  • profiler/Profiler.cpp:

(JSC):
(JSC::Profiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::FunctionExecutable):
(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:

(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::inferredName):
(FunctionExecutable):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::calculatedDisplayName):
(JSC):
(JSC::getCalculatedDisplayName):

  • runtime/JSFunction.h:

(JSC):

LayoutTests:

Update test case results.

  • fast/profiler/anonymous-event-handler-expected.txt:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
  • fast/profiler/anonymous-function-calls-eval-expected.txt:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
  • fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt:
  • fast/profiler/nested-anonymous-functon-expected.txt:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
15:11 Changeset [106503] by commit-queue@webkit.org

GetMIMEDescription should return const char *
https://bugs.webkit.org/show_bug.cgi?id=77297

Patch by John Yani <vanuan@gmail.com> on 2012-02-01
Reviewed by Alexey Proskuryakov.

No new tests. No change in behaviour.

  • plugins/blackberry/PluginPackageBlackBerry.cpp:

(WebCore::PluginPackage::fetchInfo):

  • plugins/efl/PluginPackageEfl.cpp:

(WebCore):
(WebCore::PluginPackage::fetchInfo):

  • plugins/npapi.h:
  • plugins/npfunctions.h:
  • plugins/qt/PluginPackageQt.cpp:

(WebCore::PluginPackage::fetchInfo):

15:08 Changeset [106502] by fpizlo@apple.com

DFG should fold double-to-int conversions
https://bugs.webkit.org/show_bug.cgi?id=77532

Reviewed by Oliver Hunt.

Performance neutral on major benchmarks. But it makes calling V8's
Math.random() 4x faster.

  • bytecode/CodeBlock.cpp:

(JSC):
(JSC::CodeBlock::addOrFindConstant):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::addConstant):
(CodeBlock):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::toInt32):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::isInt32Constant):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):

  • dfg/DFGPropagator.cpp:

(JSC::DFG::Propagator::propagateNodePredictions):
(JSC::DFG::Propagator::doRoundOfDoubleVoting):
(JSC::DFG::Propagator::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAdd):
(DFG):
(JSC::DFG::SpeculativeJIT::compileArithSub):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::valueOfNumberConstantAsInt32):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • runtime/JSValueInlineMethods.h:

(JSC::JSValue::asDouble):

15:08 Changeset [106501] by timothy@apple.com

Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
a syntax error in JSC and make the Inspector open again in Release builds.

https://webkit.org/b/77424

Reviewed by Brian Weinstein.

  • inspector/front-end/DetailedHeapshotView.js:

(WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
(WebInspector.DetailedHeapshotView.prototype.willHide): Removed.

15:05 Changeset [106500] by commit-queue@webkit.org

[Chromium] Enable deferred canvas rendering in the skia port
https://bugs.webkit.org/show_bug.cgi?id=76732

Patch by Justin Novosad <junov@chromium.org> on 2012-02-01
Reviewed by Stephen White.

Source/WebCore:

No new tests: covered by existing canvas layout tests

Adding a new setting to enable deferred 2d canvas rendering.
Added support for deferred 2d canvas rendering in ImageBufferSkia
and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
implementation is provided by skia (class SkDeferredCanvas).

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::shouldDefer):
(WebCore):
(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLCanvasElement.h:

(HTMLCanvasElement):

  • page/Settings.cpp:

(WebCore::Settings::Settings):
(WebCore::Settings::setAccelerated2dCanvasEnabled):
(WebCore):
(WebCore::Settings::setDeferred2dCanvasEnabled):

  • page/Settings.h:

(Settings):
(WebCore::Settings::deferred2dCanvasEnabled):

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::create):
(ImageBuffer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
(WebCore):
(WebCore::Canvas2DLayerChromium::setCanvas):
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/Canvas2DLayerChromium.h:

(Canvas2DLayerChromium):

  • platform/graphics/qt/ImageBufferQt.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::AcceleratedDeviceContext::flush):
(WebCore):
(WebCore::createAcceleratedCanvas):
(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/wince/ImageBufferWinCE.cpp:

(WebCore::ImageBuffer::ImageBuffer):

  • platform/graphics/wx/ImageBufferWx.cpp:

(WebCore::ImageBuffer::ImageBuffer):

Source/WebKit/chromium:

Adding a new setting for enabling deferred 2d canvas rendering

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setDeferred2dCanvasEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

14:58 Changeset [106499] by lforschler@apple.com

New tag.

14:55 Changeset [106498] by lforschler@apple.com

Versioning.

14:27 Changeset [106497] by fpizlo@apple.com

DFG graph dump for GetScopedVar should show the correct prediction
https://bugs.webkit.org/show_bug.cgi?id=77530

Reviewed by Geoff Garen.

GetScopedVar has a heap prediction, not a variable prediction. But it does
have a variable. Hence we need to check for heap predictions before checking
for variable predictions.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

14:15 Changeset [106496] by mhahnenberg@apple.com

Replace JSArray destructor with finalizer
https://bugs.webkit.org/show_bug.cgi?id=77488

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

(JSC::JSArray::finalize): Added finalizer.
(JSC::JSArray::allocateSparseMap): Factored out code for allocating new sparse maps.
(JSC):
(JSC::JSArray::deallocateSparseMap): Factored out code for deallocating sparse maps.
(JSC::JSArray::enterDictionaryMode): Renamed enterSparseMode to enterDictionaryMode
because the old name was confusing because we could have a sparse array that never
called enterSparseMode.
(JSC::JSArray::defineOwnNumericProperty):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::putByIndexBeyondVectorLength):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):

  • runtime/JSArray.h:

(JSArray):

LayoutTests:

  • fast/js/script-tests/sparse-array.js: Added code to test oscillation between

sparse and dense arrays.

  • fast/js/sparse-array-expected.txt:
14:12 Changeset [106495] by lforschler@apple.com

Merged r106207.

14:05 Changeset [106494] by rniwa@webkit.org

Gcc build fix after r106482.

  • platform/graphics/ca/GraphicsLayerCA.h:

(GraphicsLayerCA):

14:02 Changeset [106493] by commit-queue@webkit.org

rebaseline box-shadow-clipped-slices
https://bugs.webkit.org/show_bug.cgi?id=77565

Patch by Elliot Poger <epoger@google.com> on 2012-02-01
Reviewed by Stephen White.

  • platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
13:52 Changeset [106492] by bdakin@apple.com

https://bugs.webkit.org/show_bug.cgi?id=77383
Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
-and corresponding-
<rdar://problem/10709560>

Reviewed by Sam Weinig.

Source/WebCore:

The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate.
This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and
leaves the old one for the time being. That is temporary.

The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant
painted RenderObjects on Page.

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::setPaintedObjectsCounterThreshold):
(WebCore::Page::addRelevantRepaintedObject):

  • page/Page.h:

(WebCore):
(Page):
(WebCore::Page::startCountingRepaintedObjects):

  • WebCore.exp.in:

Start counting relevant painted RenderObjects on the page once the first
layout is complete.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

Machinery for firing didNewFirstVisuallNonEmptyLayout.

  • loader/EmptyClients.h:

(WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
(WebCore):

  • loader/FrameLoader.h:

(FrameLoader):

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):

These RenderObjects are the ones that this api currently consider to be
relevant. If their repaint rects intersect with the viewRect, then they are
added to the relevant objects set on the Page.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::paint):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintReplaced):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::paintReplaced):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::paintReplaced):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

Source/WebKit2:

Machinery for didNewFirstVisuallNonEmptyLayout.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebLoaderClient.cpp:

(WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
(WebKit):

  • UIProcess/WebLoaderClient.h:

(WebLoaderClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
(WebKit):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
(WebKit):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebFrameLoaderClient):

This temporary API allows the client to specify the threshold for the painted
objects counter on Page. This is temporary.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetPaintedObjectsCounterThreshold):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setPaintedObjectsCounterThreshold):
(WebKit):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

Tools:

WebKit2's WebLoaderClient has a temporary new function that must be accounted
for.

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController awakeFromNib]):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

13:49 Changeset [106491] by lforschler@apple.com

Merged r106286.

13:48 Changeset [106490] by alexis.menard@openbossa.org

CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
https://bugs.webkit.org/show_bug.cgi?id=49058

Reviewed by Andreas Kling.

Source/WebCore:

CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
not part of the property list of the style so we need to query the longhands which are the one added
in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.

Test: fast/css/shorthand-priority.html

  • css/CSSMutableStyleDeclaration.cpp:

(WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::getPropertyPriority):

  • css/CSSMutableStyleDeclaration.h:

(CSSMutableStyleDeclaration):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::extractAndRemoveTextDirection):
(WebCore::EditingStyle::collapseTextDecorationProperties):
(WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
(WebCore::setTextDecorationProperty):

  • editing/RemoveCSSPropertyCommand.cpp:

(WebCore::RemoveCSSPropertyCommand::doApply):

Source/WebKit/qt:

Update the code as getPropertyPriority has been renamed to propertyIsImportant.

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):

LayoutTests:

  • fast/css/shorthand-priority-expected.txt: Added.
  • fast/css/shorthand-priority.html: Added.
13:46 Changeset [106489] by lforschler@apple.com

Merged r106271.

13:34 Changeset [106488] by rniwa@webkit.org

Crash in EventHandler::updateDragAndDrop
https://bugs.webkit.org/show_bug.cgi?id=77569

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/events/remove-target-with-shadow-in-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::updateDragAndDrop):

LayoutTests:

  • fast/events/remove-target-with-shadow-in-drag-expected.txt: Added.
  • fast/events/remove-target-with-shadow-in-drag.html: Added.
13:18 Changeset [106487] by commit-queue@webkit.org

Unreviewed, rolling out r106382.
http://trac.webkit.org/changeset/106382
https://bugs.webkit.org/show_bug.cgi?id=77571

Causing chromium crashes in PNGImageDecoder (Requested by
japhet on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01

Source/WebCore:

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::evaluate):

  • page/Console.cpp:

(WebCore::Console::time):
(WebCore::Console::timeEnd):

  • platform/chromium/PlatformSupport.h:
  • platform/chromium/TraceEvent.h:

(internal):
(ScopeTracer):
(WebCore::internal::ScopeTracer::ScopeTracer):
(WebCore::internal::ScopeTracer::~ScopeTracer):

Source/WebKit/chromium:

  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::isTraceEventEnabled):
(WebKit::WebKitPlatformSupport::traceEventBegin):
(WebKit::WebKitPlatformSupport::traceEventEnd):

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::isTraceEventEnabled):
(WebCore):
(WebCore::PlatformSupport::traceEventBegin):
(WebCore::PlatformSupport::traceEventEnd):

12:48 Changeset [106486] by mrobinson@webkit.org

.: Update the version number in preparation for the 1.6.3 release.

Reviewed by Xan Lopez.

  • configure.ac: Update the library version.

Source/WebKit/gtk: Update the NEWS file in preparation for the 1.6.3 release.

Reviewed by Xan Lopez.

  • NEWS: Update this file.
12:39 Changeset [106485] by mrobinson@webkit.org

Manually pull in the gthread library, as it seems that
with gold it doesn't happen automatically.

Reviewed by Xan Lopez.

  • Source/autotools/webkit.m4:
12:10 Changeset [106484] by mrobinson@webkit.org

Restore Source/WebKit/gtk/webkit/webkitversion.h to the list of files
processed by autoconfig.

  • configure.ac: Re-add the file.
12:02 Changeset [106483] by andersca@apple.com

Reviewed by Darin Adler.

Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
slot in the hash map and assign directly into it.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::revalidateTiles):

11:59 Changeset [106482] by andersca@apple.com

Tile cache doesn't have an upper limit
https://bugs.webkit.org/show_bug.cgi?id=77564
<rdar://problem/10710744>

Reviewed by Darin Adler.

Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
and drop tiles that are outside that area.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
the page layout is up to date before the new tiles are painted.

  • platform/graphics/ca/PlatformCALayerClient.h:

Add platformCALayerDidCreateTiles member function.

  • platform/graphics/ca/mac/TileCache.h:

Update for new/removed member functions and member variables.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache):
Initialize the tile revalidation timer.

(WebCore::TileCache::tileCacheLayerBoundsChanged):
If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
schedule the revalidation timer.

(WebCore::TileCache::setNeedsDisplayInRect):
Return early if we have no tiles.

(WebCore::TileCache::visibleRectChanged):
Schedule tile revalidation.

(WebCore::TileCache::rectForTileIndex):
New helper function that returns the bounds rect of a tile given its tile index.

(WebCore::TileCache::getTileIndexRangeForRect):
Clamp the rect to the bounds of the tile cache layer.

(WebCore::TileCache::scheduleTileRevalidation):
Schedule the revalidation timer if it hasn't already been scheduled.

(WebCore::TileCache::tileRevalidationTimerFired):
Call revalidateTiles.

(WebCore::TileCache::revalidateTiles):
Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
parts of the tile coverage rect that don't have tiles already.

(WebCore::TileCache::tileLayerAtIndex):
Remove invalid assertions.

11:52 Changeset [106481] by dpranke@chromium.org

TestWebKitAPI isn't being built on chromium bots any more
https://bugs.webkit.org/show_bug.cgi?id=77563

Reviewed by Dimitri Glazkov.

I accidentally dropped it in the refactoring in r105449.

Source/WebKit/chromium:

  • All.gyp:

Tools:

  • TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp: Added.
11:41 Changeset [106480] by commit-queue@webkit.org

Fixed some lines in the date-constructor.js test.
https://bugs.webkit.org/show_bug.cgi?id=75892

Patch by Szilard Ledan <Ledan-Muntean.Szilard@stud.u-szeged.hu> on 2012-02-01
Reviewed by Gavin Barraclough.

  • fast/js/date-constructor-expected.txt:
  • fast/js/script-tests/date-constructor.js:
11:38 Changeset [106479] by commit-queue@webkit.org

Source/WebCore: Add support for fixed and percent min-width on the table element for table-layout: auto to
match Firefox and Opera's behavior.

In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
issues based on the comment: "FIXME: This entire calculation is incorrect for both
minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
min-width and max-width styles). I have not implemented min-width for FixedTableLayout
in this patch since it requires some more research around that comment.

min-width and max-width on the table element was discussed on the www-style list:
http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html

min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.

Test: fast/table/min-width.html

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::computePreferredLogicalWidths):

If the min or max preferred logical width is less than a fixed min width style, it is
set to the fixed min width style. Like a percent width style, a percent min-width style
does not affect the min or max preferred logical widths computed by the table layout
algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.

min-width for the table-layout: fixed case has been split out into this bug:
https://bugs.webkit.org/show_bug.cgi?id=76948

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::computeLogicalWidth):

If the RenderStyle's logical min width is defined and greater than the logical width
calculation, this method sets the logical width to the logical min width.

(WebCore::RenderTable::convertStyleWidthToComputedWidth):

This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
that converted the width style to a computed value in the fixed and percent case.
RenderTable::computeLogicalWidth now calls this method to determine the computed values
for both the width style and the min-width style. In the future, it can also be used for
the max-width style.

Note that this method handles the special CSS table case, which requires borders and
paddings to be included in the computed width calculation. This applies to all width
styles, including width, min-width, and max-width. Before, this special case was handled
in RenderTable::computeLogicalWidth.

  • rendering/RenderTable.h:

LayoutTests: Add support for min-width on the table element.

min-width is not implemented on <table> for table-layout: auto
https://bugs.webkit.org/show_bug.cgi?id=76553

Patch by Max Vujovic <mvujovic@adobe.com> on 2012-02-01
Reviewed by Julien Chaffraix.

  • fast/table/min-width-css-block-table.html: Added.
  • fast/table/min-width-css-block-table-expected.txt: Added.
  • fast/table/min-width-css-inline-table.html: Added.
  • fast/table/min-width-css-inline-table-expected.txt: Added.
  • fast/table/min-width-html-block-table.html: Added.
  • fast/table/min-width-html-block-table-expected.txt: Added.
  • fast/table/min-width-html-inline-table.html: Added.
  • fast/table/min-width-html-inline-table-expected.txt: Added.
  • fast/table/script-tests/min-width-css-block-table.js: Added.

(computeLogicalWidth):

  • fast/table/script-tests/min-width-css-inline-table.js: Added.

(computeLogicalWidth):

  • fast/table/script-tests/min-width-helpers.js: Added.

(runTests):
(createTableStyle):
(computeLogicalWidthHelper):
(createSpan):

  • fast/table/script-tests/min-width-html-block-table.js: Added.

(computeLogicalWidth):

  • fast/table/script-tests/min-width-html-inline-table.js: Added.

(computeLogicalWidth):

11:37 Changeset [106478] by commit-queue@webkit.org

Refactor identifier resolution in BytecodeGenerator
https://bugs.webkit.org/show_bug.cgi?id=76285

Patch by Andy Wingo <wingo@igalia.com> on 2012-02-01
Reviewed by Geoffrey Garen.

  • bytecompiler/BytecodeGenerator.h:

(JSC::ResolveResult): New class, to describe the storage
location corresponding to an identifier in a program.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::resolve): New function, replacing
findScopedProperty.
(JSC::BytecodeGenerator::resolveConstDecl): New function,
encapsulating what ConstDeclNode::emitBytecode used to do.
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar): New functions,
corresponding to the old emitGetScopedVar and emitPutScopedVar.
(JSC::BytecodeGenerator::registerFor): Remove version that took an
Identifier&; replaced by ResolveResult::local().
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBase):
(JSC::BytecodeGenerator::emitResolveWithThis): Change to accept a
"resolveResult" argument. This is more clear, and reduces the
amount of double analysis happening at compile-time.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixResolveNode::emitBytecode):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixResolveNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode): Refactor to use the new
ResolveResult structure.

11:21 Changeset [106477] by commit-queue@webkit.org

[SKIA/CHROMIUM] Perform getImageData format conversions using Skia
https://bugs.webkit.org/show_bug.cgi?id=77553

Patch by Brian Salomon <bsalomon@google.com> on 2012-02-01
Reviewed by Stephen White.

Source/WebCore:

Many existing canvas tests exercise this functionality.

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::getImageData):

LayoutTests:

  • platform/chromium/test_expectations.txt:
10:45 Changeset [106476] by japhet@chromium.org

Source/WebCore: preventDefault() in a mousedown in a subframe should not
prevent the scrollbar from handling mouse movements if the
cursor leaves the subframe.
https://bugs.webkit.org/show_bug.cgi?id=73097

Reviewed by Darin Adler.

Test: fast/events/scroll-div-with-prevent-default-in-subframe.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

LayoutTests: Test for https://bugs.webkit.org/show_bug.cgi?id=73097.
Test adapted from repro case provided by zacklloyd@google.com.

Reviewed by Darin Adler.

  • fast/events/resources/subframe-with-scrollable-div.html: Added.
  • fast/events/scroll-div-with-prevent-default-in-subframe-expected.txt: Added.
  • fast/events/scroll-div-with-prevent-default-in-subframe.html: Added.
10:29 Changeset [106475] by hans@chromium.org

Rename WebSpeechInputResult::set() to assign()
https://bugs.webkit.org/show_bug.cgi?id=77540

Reviewed by Darin Fisher.

Source/WebKit/chromium:

It was suggested in a previous code review
(https://bugs.webkit.org/show_bug.cgi?id=77083#c5)
that this function should be called assign().

  • public/WebSpeechInputResult.h:

(WebSpeechInputResult):
(WebKit::WebSpeechInputResult::set):

  • src/WebSpeechInputResult.cpp:

(WebKit::WebSpeechInputResult::assign):

Tools:

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp:

(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::speechTaskFired):

10:04 Changeset [106474] by carlosgc@webkit.org

[GTK] WebKit1 API documentation is not generated when building with gtk-2.0
https://bugs.webkit.org/show_bug.cgi?id=77542

Reviewed by Martin Robinson.

  • gtk/generate-gtkdoc: Check first whether there's

webkitgtk-3.0.pc and if it doesn't exist use webkitgtk-1.0.pc
instead.
(get_webkit2_options): Return just the options since the
pkg_config_path doesn't depend on options
(get_webkit1_options): Ditto.
(generate_doc): Helper function to create a generator and generate
documentation for the given pkg-config file with the given options.

  • gtk/gtkdoc.py:

(GTKDoc.init): Don't use for args parameter, since it's
used as a dict and never expanded.
(PkgConfigGTKDoc.init): Ditto.

10:01 Changeset [106473] by carlosgc@webkit.org

[GTK] API documentation is not installed even when building with --enable-gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=77094

Reviewed by Martin Robinson.

  • GNUmakefile.am: Add install-data-local and uninstall-local rules

to install/uninstall WebKit1 and WebKit2 API documentation.

09:58 Changeset [106472] by mario@webkit.org

[GTK] editing/inserting/4960120-2.html flaky crash
https://bugs.webkit.org/show_bug.cgi?id=76815

Reviewed by Martin Robinson.

Source/WebCore:

Check if the node for the first parent object not ignoring
accessibility is null before using it. This might happen with
certain kind of accessibility objects, such as the root one (the
scroller containing the webArea object as its only child).

  • accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:

(objectFocusedAndCaretOffsetUnignored): Add missing null check.

LayoutTests:

  • platform/gtk/test_expectations.txt: Unskipping tests that

shouldn't be crashing from now on.

09:41 Changeset [106471] by antti@apple.com

Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
https://bugs.webkit.org/show_bug.cgi?id=77545

Reviewed by Andreas Kling.

This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.

On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
(it loses the vptr) in total.

This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
much longer.

  • css/CSSMutableStyleDeclaration.cpp:

(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::merge):

  • css/CSSMutableStyleDeclaration.h:

Remove protected section. No subclasses remain.
Rename setPropertyInternal() to setProperty(). All public methods here are internal.


(CSSMutableStyleDeclaration):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseMappedAttributeValue):

  • dom/Attribute.cpp:

(WebCore::Attribute::clone):

  • dom/Attribute.h:

(Attribute):
(WebCore::Attribute::decl):
(WebCore::Attribute::mappedAttributeDeclaration):
(WebCore::Attribute::setMappedAttributeDeclaration):
(WebCore::Attribute::Attribute):

  • dom/CSSMappedAttributeDeclaration.cpp:

(WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
(WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
(WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):

  • dom/CSSMappedAttributeDeclaration.h:

(CSSMappedAttributeDeclaration):
(WebCore::CSSMappedAttributeDeclaration::declaration):
(WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):

Make CSSMutableStyleDeclaration a member instead of the base class.


  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):
(WebCore::StyledElement::removeCSSProperty):
(WebCore::StyledElement::addCSSProperty):
(WebCore::StyledElement::addCSSImageProperty):
(WebCore::StyledElement::addCSSLength):
(WebCore::StyledElement::addCSSColor):
(WebCore::StyledElement::createMappedDecl):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::getPresentationAttribute):

09:38 Changeset [106470] by commit-queue@webkit.org

[Qt] Set all PlatformTouchPoint values possible from a QTouch event.
https://bugs.webkit.org/show_bug.cgi?id=77442

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-02-01
Reviewed by Kenneth Rohde Christiansen.

  • platform/qt/PlatformTouchPointQt.cpp:

(WebCore::PlatformTouchPoint::PlatformTouchPoint):

09:22 Changeset [106469] by commit-queue@webkit.org

Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
https://bugs.webkit.org/show_bug.cgi?id=77471

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-01
Reviewed by Yury Semikhatsky.

Code is moved physically to other file -- generator is changed accrodingly.

  • inspector/CodeGeneratorInspector.py:

(String):
(provides):
(typename):
(Array):

09:03 Changeset [106468] by yurys@chromium.org

Web Inspector: debugger reports wrong sources when paused in inline script on page reload
https://bugs.webkit.org/show_bug.cgi?id=77548

Source/WebCore:

V8 returns treats each script source as ending with \n, now we take
this into account when reporting script line count to the inspector
front-end.

Reviewed by Vsevolod Vlasov.

Test: inspector/debugger/pause-in-inline-script.html

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidParseSource):

  • bindings/v8/DebuggerScript.js:

LayoutTests:

Reviewed by Vsevolod Vlasov.

  • inspector/debugger/debugger-scripts-expected.txt:
  • inspector/debugger/pause-in-inline-script-expected.txt: Added.
  • inspector/debugger/pause-in-inline-script.html: Added.
  • platform/chromium/inspector/debugger/debugger-scripts-expected.txt:
08:50 Changeset [106467] by commit-queue@webkit.org

[GTK] unittests/testloading crashes
https://bugs.webkit.org/show_bug.cgi?id=77544

Patch by Philippe Normand <pnormand@igalia.com> on 2012-02-01
Reviewed by Xan Lopez.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchDidFailLoading): Bail out
early from dispatchDidFailLoading if the error is the result of an
interrupted load.

06:54 Changeset [106466] by ossy@webkit.org

Unreviewed, rolling out r106460.
http://trac.webkit.org/changeset/106460
https://bugs.webkit.org/show_bug.cgi?id=77552

It break unit tests if WEBKIT_TESTFONTS isn't defined.
(Requested by Ossy on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01

  • Scripts/webkitpy/layout_tests/port/qt.py:
05:53 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
05:50 Changeset [106465] by commit-queue@webkit.org

Content element should be able to be dynamically added/removed/replaced in a shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=76611

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-02-01
Reviewed by Hajime Morita

Source/WebCore:

When a content element is added/removed/replaced in a shadow tree, we have to recreate
the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
when content element is removed. (When added, it is recalculated.)
This patch enables us to recalcurate the shadow tree when content element is removed.

Test: fast/dom/shadow/content-element-move.html

  • dom/Element.cpp:

(WebCore::Element::attach):

If a shadow root exists, attaches shadow tree before attaching child elements.

  • dom/ShadowRoot.cpp: Added a flag to recalculate shadow tree.

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::recalcShadowTreeStyle):

Recalculates light children and shadow tree.

(WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
(WebCore::ShadowRoot::reattachHostChildrenAndShadow):

Detaches shadow tree and host light children, and attaches them again.

  • dom/ShadowRoot.h:

(WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
(WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::attach):

Does not need to detach included elements, because they are not attached in ContainerNode anymore.

(WebCore::HTMLContentElement::detach):

When a content element detached, reattaches a shadow tree.

LayoutTests:

Test cases for appending/removing/replacing content element in a shadow tree.

  • fast/dom/shadow/content-element-move-expected.txt: Added.
  • fast/dom/shadow/content-element-move.html: Added.
05:31 Changeset [106464] by peter@chromium.org

getIntersectionList causes transforms to be recalculated in SVG
https://bugs.webkit.org/show_bug.cgi?id=77179

Reviewed by Nikolas Zimmermann.

Introduce a local variable to store the element's local-to-parent
transformation matrix in, removing the need for the const_cast and
stopping us from modifying any matrices elsewhere.

Source/WebCore:

Test: svg/custom/intersection-list-transforms.svg

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::getElementCTM):

LayoutTests:

  • svg/custom/intersection-list-transforms-expected.png: Added.
  • svg/custom/intersection-list-transforms-expected.txt: Added.
  • svg/custom/intersection-list-transforms.svg: Added.
04:02 Changeset [106463] by vsevik@chromium.org

Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
https://bugs.webkit.org/show_bug.cgi?id=77439

Reviewed by Pavel Feldman.

Source/WebCore:

Tests: http/tests/inspector/indexeddb/database-names.html

http/tests/inspector/indexeddb/database-structure.html

  • inspector/front-end/IndexedDBModel.js:

(WebInspector.IndexedDBModel.prototype.refreshDatabase):

LayoutTests:

  • http/tests/inspector/indexeddb/database-names-expected.txt: Added.
  • http/tests/inspector/indexeddb/database-names.html: Added.
  • http/tests/inspector/indexeddb/database-structure-expected.txt: Added.
  • http/tests/inspector/indexeddb/database-structure.html: Added.
  • http/tests/inspector/indexeddb/indexeddb-test.js: Added.
  • platform/gtk/Skipped:
  • platform/mac-leopard/Skipped:
  • platform/mac-snowleopard/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
03:37 Changeset [106462] by vsevik@chromium.org

Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
https://bugs.webkit.org/show_bug.cgi?id=77441

Reviewed by Pavel Feldman.

  • inspector/front-end/ScriptsNavigator.js:

(WebInspector.ScriptsNavigator.prototype._reset):

  • inspector/front-end/utilities.js:
02:55 Changeset [106461] by commit-queue@webkit.org

[Qt] Automatic clean build feature always do clean build with --no-webkit2
https://bugs.webkit.org/show_bug.cgi?id=74519

Patch by Nándor Huszka <huszka.nandor@stud.u-szeged.hu> on 2012-02-01
Reviewed by Tor Arne Vestbø.

Set the PLUGIN_ARCHITECTURE_UNSUPPORTED define always.

  • qmake/mkspecs/features/features.prf:
02:37 Changeset [106460] by commit-queue@webkit.org

[Qt][WK2] run-webkit-tests --qt crashes if WEBKIT_TESTFONTS is not set
https://bugs.webkit.org/show_bug.cgi?id=77466

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-02-01
Reviewed by Kenneth Rohde Christiansen.

Replicate the behavior of old-run-webkit-tests and check if WEBKIT_TESTFONTS
is set or if we should raise an error.

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort.setup_environ_for_server):

02:31 Changeset [106459] by shawnsingh@chromium.org

Fix the semantics of passing contentsVisible flag to GraphicsLayers
https://bugs.webkit.org/show_bug.cgi?id=76975

Reviewed by Simon Fraser.

Source/WebCore:

This patch is covered by existing tests, in particular
compositing/visibility/layer-visible-content.html; its
expectations are rebaselined.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

LayoutTests:

  • compositing/visibility/layer-visible-content-expected.txt: rebaselined expected result
  • compositing/visibility/layer-visible-content.html: fixed height so that result is platform-independent
  • platform/chromium/test_expectations.txt: removed fail expectation, it should pass now.
02:25 Changeset [106458] by philn@webkit.org

Unreviewed, GTK rebaseline after r106445

  • platform/gtk/security/block-test-expected.txt:
  • platform/gtk/security/block-test-no-port-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
02:20 Changeset [106457] by ossy@webkit.org

[WK2] Unreviewed gardening after r106426.
Skip new failing tests because of missing layoutTestController.dumpResourceResponseMIMETypes().
https://bugs.webkit.org/show_bug.cgi?id=42543

  • platform/qt-wk2/Skipped: Remove a test also skipped in wk2/Skipped.
  • platform/wk2/Skipped:
02:08 Changeset [106456] by philn@webkit.org

Unreviewed, another GTK build fix after r106446.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

Restore webKitWebSrcGetProtocols as it was before r106446.

02:05 Changeset [106455] by yuzo@google.com

[Chromium] Unreviewed test expectaion change.
plugins/createScriptableObject-before-start.html is flaky on LINUX.

  • platform/chromium/test_expectations.txt:
02:00 Changeset [106454] by ossy@webkit.org

Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994

Unreviewed, rolling out r106407.

Source/JavaScriptCore:

(JSC::AbstractPC::AbstractPC):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):

  • interpreter/Interpreter.h:

(JSC):
(Interpreter):

  • jsc.cpp:

(GlobalObject::finishCreation):

  • parser/Parser.h:

(JSC::::parse):

  • runtime/CommonIdentifiers.h:
  • runtime/Error.cpp:

(JSC::addErrorInfo):

  • runtime/Error.h:

(JSC):

LayoutTests:

  • fast/js/exception-properties-expected.txt:
  • fast/js/script-tests/exception-properties.js:
  • fast/js/script-tests/stack-trace.js: Removed.
  • fast/js/stack-trace-expected.txt: Removed.
  • fast/js/stack-trace.html: Removed.
  • platform/chromium/test_expectations.txt:
01:54 Changeset [106453] by yuzo@google.com

[Chromium] Unreviewed test expectaion change.
media/controls-drag-timebar.html passes or times out on WIN and LINUX.

  • platform/chromium/test_expectations.txt:
01:50 Changeset [106452] by philn@webkit.org

Unreviewed, GTK build fix after r106446.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
01:49 Changeset [106451] by commit-queue@webkit.org

Unreviewed, rolling out r106432.
http://trac.webkit.org/changeset/106432
https://bugs.webkit.org/show_bug.cgi?id=77529

it breaks tests (Requested by shinyak on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-02-01

Source/WebCore:

  • dom/Element.cpp:

(WebCore::Element::attach):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::recalcShadowTreeStyle):

  • dom/ShadowRoot.h:

(ShadowRoot):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):

LayoutTests:

  • fast/dom/shadow/content-element-move-expected.txt: Removed.
  • fast/dom/shadow/content-element-move.html: Removed.
01:47 Changeset [106450] by rniwa@webkit.org

Fix after r106386. The empty anchor element was generating an erroneous whitespace.

  • Bindings/event-target-wrapper.html:
01:44 Changeset [106449] by hayato@chromium.org

Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
https://bugs.webkit.org/show_bug.cgi?id=77516

Reviewed by Kentaro Hara.

No new tests. No change in behavior.

  • dom/ShadowRoot.idl:
01:39 Changeset [106448] by rniwa@webkit.org

Another fix after r106379.

  • Parser/html5-full-render.html:
01:38 Changeset [106447] by yuzo@google.com

[Chromium] Unreviewed test expectaion change.
svg/text/text-align-04-b.svg is flaky on WIN and LINUX.

  • platform/chromium/test_expectations.txt:
01:36 Changeset [106446] by philn@webkit.org

[GStreamer] 0.11 webkitwebsrc
https://bugs.webkit.org/show_bug.cgi?id=77086

Port the webkitwebsrc element to GStreamer 0.11 APIs.

Reviewed by Gustavo Noronha Silva.

No new tests, existing http media layout tests should cover this.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webkit_web_src_class_init):

01:29 Changeset [106445] by philn@webkit.org

Source/WebKit/gtk: Patch by Philippe Normand <pnormand@igalia.com> and Sergio Villar Senin <svillar@igalia.com> on 2012-02-01
Reviewed by Martin Robinson.

[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543

New signals:
WebKitWebFrame::resource-request-starting
WebKitWebFrame::resource-response-received
WebKitWebFrame::resource-load-finished
WebKitWebFrame::resource-content-length-received
WebKitWebFrame::resource-load-failed
WebKitWebResource::response-received
WebKitWebResource::load-failed
WebKitWebResource::load-finished
WebKitWebResource::content-length-received
WebKitWebView::resource-response-received
WebKitWebView::resource-load-finished
WebKitWebView::resource-content-length-received
WebKitWebView::resource-load-failed

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::dispatchWillSendRequest):
(WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
(WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
(WebKit::FrameLoaderClient::dispatchDidFinishLoading):
(WebKit::FrameLoaderClient::dispatchDidFailLoading):

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_class_init):

  • webkit/webkitwebresource.cpp:

(webkit_web_resource_class_init):

  • webkit/webkitwebview.cpp:

(webkit_web_view_class_init):

  • webkitmarshal.list:

Tools: Patch by Philippe Normand <pnormand@igalia.com> and Sergio Villar Senin <svillar@igalia.com> on 2012-02-01
Reviewed by Martin Robinson.

[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543

Support for the new loader signals in DRT.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(urlPath):
(willSendRequestCallback):
(urlSuitableForTestResult):
(descriptionSuitableForTestResult):
(didReceiveResponse):
(didFinishLoading):
(didFailLoadingWithError):
(createWebView):

LayoutTests: Reviewed by Martin Robinson.

[GTK] Improve FrameLoader signals. Resource loading
https://bugs.webkit.org/show_bug.cgi?id=49543

Unskip tests now passing.

  • platform/gtk/Skipped:
  • platform/gtk/fast/loader/file-protocol-fragment-expected.txt: Added.
  • platform/gtk/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
01:22 Changeset [106444] by kkristof@inf.u-szeged.hu

[Qt] Unreviewed gardening after r106373.

  • fast/forms/implicit-submission-expected.txt:
  • platform/qt/fast/dom/Window/window-properties-expected.txt:
  • platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/qt/fast/js/global-constructors-expected.txt:
  • platform/qt/http/tests/security/cross-frame-access-put-expected.txt:
01:19 Changeset [106443] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
https://bugs.webkit.org/show_bug.cgi?id=77521
fast/repaint/search-field-cancel.html is failing on LINUX.

  • platform/chromium/test_expectations.txt:
01:15 Changeset [106442] by rniwa@webkit.org

run-perf-tests should restart DRT for each test
https://bugs.webkit.org/show_bug.cgi?id=77506

Reviewed by Adam Barth.

Always restart DRT when running performance tests in order to minimize the dependency between tests.

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumDriver.stop):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._run_tests_set):
(PerfTestsRunner._run_single_test):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(create_runner):
(test_run_passing_test):
(test_run_silent_test):
(test_run_failed_test):
(test_run_tonguey_test):
(test_run_timeout_test):
(test_run_crash_test):
(test_run_test_set_kills_drt_per_run):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.init):
(test_run_test_set_kills_drt_per_run.TestDriverWithStopCount.stop):

01:13 Changeset [106441] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
fast/repaint/textarea-set-disabled.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=77521

  • platform/chromium/test_expectations.txt:
01:06 Changeset [106440] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
Layout Test fast/forms/textfield-overflow.html is failing on WIN and LINUX.

  • platform/chromium/test_expectations.txt:
01:01 Changeset [106439] by tkent@chromium.org

[Chromium] Disable WebFrameTest.FindInPage
https://bugs.webkit.org/show_bug.cgi?id=77186

Disable it because PlatformContextSkiaTest.trackOpaqueOvalTest has
been failing since FindInPage test was committed.

  • tests/WebFrameTest.cpp:

(WebKit::TEST_F):

00:52 Changeset [106438] by hans@chromium.org

Speech Input: Report speech element rect relative to window rather than frame
https://bugs.webkit.org/show_bug.cgi?id=76443

Reviewed by Darin Fisher.

Source/WebCore:

When requesting speech input, report the speech element rect relative
to the window rather than the frame. The embedder will typically use
this position to show a bubble indicating that speech recognition is
in progress.

Test: fast/speech/bubble-position.html

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::InputFieldSpeechButtonElement::startSpeechInput):

Tools:

Update LayoutTestController to allow for retrieving the speech
element's position used in a request.

In Chromium this is handled by the MockWebSpeechInputController;
adding stubs for the other implementations.

  • DumpRenderTree/LayoutTestController.cpp:

(setMockSpeechInputDumpRectCallback):
(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp:

(MockWebSpeechInputController::setDumpRect):
(MockWebSpeechInputController::clearResults):
(MockWebSpeechInputController::startRecognition):
(MockWebSpeechInputController::MockWebSpeechInputController):
(makeRectResult):
(MockWebSpeechInputController::speechTaskFired):

  • DumpRenderTree/chromium/MockWebSpeechInputController.h:

(MockWebSpeechInputController):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setMockSpeechInputDumpRect):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setMockSpeechInputDumpRect):

LayoutTests:

Add layout test to check that the element position used when
requesting speech input is relative to the window, not the frame.

  • fast/speech/bubble-position-expected.txt: Added.
  • fast/speech/bubble-position.html: Added.
00:09 Changeset [106437] by philn@webkit.org

Unreviewed, GTK rebaseline after r106373 and r106361.

  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
  • platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
  • platform/gtk/http/tests/security/cross-frame-access-put-expected.txt:

01/31/12:

23:47 Changeset [106436] by rniwa@webkit.org

webkit-perf.appspot.com should accept test results without medians
https://bugs.webkit.org/show_bug.cgi?id=77513

Reviewed by Hajime Morita.

Don't store 0s when values are not in JSON.

  • Websites/webkit-perf.appspot.com/report_handler.py:

(ReportHandler.post._float_or_none):
(ReportHandler.post):

23:36 Changeset [106435] by kling@webkit.org

Make elements that don't have attributes smaller.
<http://webkit.org/b/76876>

Reviewed by Sam Weinig and Antti Koivisto.

Move the inline style declaration from StyledElement to ElementAttributeData, since having
an inline style declaration also implies having a style attribute on the element.
This saves one CPU word per element that has no attributes.

This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
HTML5 spec at <http://whatwg.org/c>.

This was rolled out once because of a performance regression which has been averted this
time around by adding an Element::ensureAttributeMap() so we can force creation of the
NamedNodeMap without also serializing the inline style for the "style" attribute.

  • dom/Element.h:

(Element):
(WebCore::Element::ensureAttributeMap):
(WebCore):

  • dom/ElementAttributeData.h:

(ElementAttributeData):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::ensureInlineStyleDecl):
(WebCore):
(WebCore::NamedNodeMap::destroyInlineStyleDecl):

  • dom/NamedNodeMap.h:

(WebCore::NamedNodeMap::inlineStyleDecl):
(NamedNodeMap):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::addSubresourceAttributeURLs):

  • dom/StyledElement.h:

(WebCore::StyledElement::inlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(StyledElement):
(WebCore::StyledElement::destroyInlineStyleDecl):

22:55 Changeset [106434] by hayato@chromium.org

Add APIs, getElementsByXXX family, to ShadowRoot IDL.
https://bugs.webkit.org/show_bug.cgi?id=77323

Reviewed by Dimitri Glazkov.

Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
to ShadowRoot IDL.

Source/WebCore:

  • dom/ShadowRoot.idl:

LayoutTests:

  • fast/dom/shadow/shadow-root-js-api-expected.txt:
  • fast/dom/shadow/shadow-root-js-api.html:
22:49 Changeset [106433] by commit-queue@webkit.org

Add missing JS_PRIVATE_EXPORTs
https://bugs.webkit.org/show_bug.cgi?id=77507

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-31
Reviewed by Kevin Ollivier.

  • heap/MarkedSpace.h:

(MarkedSpace):

  • interpreter/Interpreter.h:

(Interpreter):

  • runtime/JSValue.h:

(JSValue):

  • wtf/text/AtomicString.h:

(WTF::AtomicString::add):

  • wtf/text/WTFString.h:

(WTF):

22:39 Changeset [106432] by commit-queue@webkit.org

Content element should be able to be dynamically added/removed/replaced in a shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=76611

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-31
Reviewed by Hajime Morita.

Source/WebCore:

When a content element is added/removed/replaced in a shadow tree, we have to recreate
the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
when content element is removed. (When added, it is recalculated.)
This patch enables us to recalcurate the shadow tree when content element is removed.

Test: fast/dom/shadow/content-element-move.html

  • dom/Element.cpp:

(WebCore::Element::attach):

If a shadow root exists, attaches shadow tree before attaching child elements.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::recalcShadowTreeStyle):

Recalculates light children and shadow tree.

(WebCore::ShadowRoot::reattachHostChildrenAndShadow):

Detaches shadow tree and host light children, and attaches them again.

  • dom/ShadowRoot.h: Added a flag to recalculate shadow tree.

(WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
(WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
(WebCore::ShadowRoot::needsShadowTreeStyleRecalc):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::attach):

Does not need to detach included elements, because they are not attached in ContainerNode anymore.

(WebCore::HTMLContentElement::detach):

When a content element detached, reattaches a shadow tree.

LayoutTests:

Test cases for appending/removing/replacing content element in a shadow tree.

  • fast/dom/shadow/content-element-move-expected.txt: Added.
  • fast/dom/shadow/content-element-move.html: Added.
21:46 Changeset [106431] by ryuan.choi@samsung.com

[EFL] Add basic DRT/Efl implementation to support viewport test.
https://bugs.webkit.org/show_bug.cgi?id=77320

Reviewed by Andreas Kling.

Source/WebKit/efl:

Add dumpConfigurationForViewport.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::dumpConfigurationForViewport):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::dumpConfigurationForViewport): call dumpConfigurationForViewport().

LayoutTests:

Remove fast/viewport from Skipped and add some tests which aren't passed.
These skipped tests are also in qt/Skipped and gtk/Skipped.

  • platform/efl/Skipped:
21:37 Changeset [106430] by commit-queue@webkit.org

https://bugs.webkit.org/show_bug.cgi?id=76801
Listboxes incorrectly display contents when cleared and then re-populated.

Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
scrollbar position and the content inside the listbox are in sync.

Source/WebCore:

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-31
Reviewed by Andreas Kling.

Tests: fast/forms/listbox-clear-restore.html

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.

LayoutTests:

Added test case.

Patch by Joe Thomas <joethomas@motorola.com> on 2012-01-31
Reviewed by Andreas Kling.

  • fast/forms/listbox-clear-restore-expected.html: Added.
  • fast/forms/listbox-clear-restore.html: Added.
21:25 Changeset [106429] by ggaren@apple.com

Stop using -fomit-frame-pointer
https://bugs.webkit.org/show_bug.cgi?id=77403

Reviewed by Filip Pizlo.

JavaScriptCore is too fast. I'm just the man to fix it.

  • Configurations/JavaScriptCore.xcconfig:
21:19 Changeset [106428] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
LayoutTest platform/mac/fast/events/non-roman-key-code.html crashes at r106422.

  • platform/chromium/test_expectations.txt:
20:31 Changeset [106427] by gyuyoung.kim@samsung.com

Unreviewed. Fix build break after r106373.

  • CMakeLists.txt:
20:07 Changeset [106426] by abarth@webkit.org

HTMLPreloadScanner should understand the <base> element
https://bugs.webkit.org/show_bug.cgi?id=77231

Reviewed by Eric Seidel.

Source/WebCore:

Previously, the HTMLPreloadScanner would ignore the <base> element when
preloading resources. If there was a <base> tag, this could cause the
preload scanner to make a bunch of useless requests.

This patch teaches the preload scanner to use <base> tags to better
predict which URLs will be used by the document.

Tests: fast/preloader/first-base-tag-scanned-wins.html

fast/preloader/first-base-tag-wins.html
fast/preloader/understands-base-tag.html

  • dom/Document.cpp:

(WebCore::Document::completeURL):
(WebCore):

  • dom/Document.h:

(Document):
(WebCore::Document::baseElementURL):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::HTMLNames::PreloadTask::PreloadTask):
(WebCore::HTMLNames::PreloadTask::processAttributes):
(WebCore::HTMLNames::PreloadTask::preload):
(WebCore::HTMLNames::PreloadTask::baseElementHref):
(PreloadTask):
(WebCore::HTMLPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::processToken):
(WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
(WebCore):

  • html/parser/HTMLPreloadScanner.h:

(HTMLPreloadScanner):

LayoutTests:

These tests ensure that we understand the <base> element and that we
understand that the first <base> element is the one that maters.

  • fast/preloader/first-base-tag-scanned-wins-expected.txt: Added.
  • fast/preloader/first-base-tag-scanned-wins.html: Added.
  • fast/preloader/first-base-tag-wins-expected.txt: Added.
  • fast/preloader/first-base-tag-wins.html: Added.
  • fast/preloader/resources/base-image1.png: Copied from LayoutTests/fast/preloader/resources/image1.png.
  • fast/preloader/resources/base-image2.png: Copied from LayoutTests/fast/preloader/resources/image1.png.
  • fast/preloader/resources/base-image3.png: Copied from LayoutTests/fast/preloader/resources/image1.png.
  • fast/preloader/understands-base-tag-expected.txt: Added.
  • fast/preloader/understands-base-tag.html: Added.
19:51 Changeset [106425] by morrita@google.com

Import Dromaeo to WebKit repository.
https://bugs.webkit.org/show_bug.cgi?id=77328

Reviewed by Ryosuke Niwa.

Imported a modified version of Dromaeo which is able to
run on the DRT.

The imported version originally came from:
https://github.com/omo/dromaeo/commit/c942a1452109cdd5f759b3c4aee8d68d490d44a2

  • Dromaeo/resources/dromaeo/web/application.css: Added.
  • Dromaeo/resources/dromaeo/web/favicon.ico: Added.
  • Dromaeo/resources/dromaeo/web/favicon.png: Added.
  • Dromaeo/resources/dromaeo/web/htmlrunner.js: Added.
  • Dromaeo/resources/dromaeo/web/ie.css: Added.
  • Dromaeo/resources/dromaeo/web/images/bg.png: Added.
  • Dromaeo/resources/dromaeo/web/images/clouds.png: Added.
  • Dromaeo/resources/dromaeo/web/images/clouds2.png: Added.
  • Dromaeo/resources/dromaeo/web/images/comets.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino1.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino2.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino3.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino4.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino5.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino6.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino7.png: Added.
  • Dromaeo/resources/dromaeo/web/images/dino8.png: Added.
  • Dromaeo/resources/dromaeo/web/images/left.png: Added.
  • Dromaeo/resources/dromaeo/web/images/logo.png: Added.
  • Dromaeo/resources/dromaeo/web/images/logo2.png: Added.
  • Dromaeo/resources/dromaeo/web/images/logo3.png: Added.
  • Dromaeo/resources/dromaeo/web/images/right.png: Added.
  • Dromaeo/resources/dromaeo/web/images/top.png: Added.
  • Dromaeo/resources/dromaeo/web/images/water.png: Added.
  • Dromaeo/resources/dromaeo/web/index.html: Added.
  • Dromaeo/resources/dromaeo/web/jquery.js: Added.
  • Dromaeo/resources/dromaeo/web/lib/dojo.js: Added.
  • Dromaeo/resources/dromaeo/web/lib/jquery.js: Added.
  • Dromaeo/resources/dromaeo/web/lib/mootools.js: Added.
  • Dromaeo/resources/dromaeo/web/lib/prototype.js: Added.
  • Dromaeo/resources/dromaeo/web/pngfix.js: Added.
  • Dromaeo/resources/dromaeo/web/reset.css: Added.
  • Dromaeo/resources/dromaeo/web/test-head.html: Added.
  • Dromaeo/resources/dromaeo/web/test-head.js: Added.
  • Dromaeo/resources/dromaeo/web/test-tail.html: Added.
  • Dromaeo/resources/dromaeo/web/test-tail.js: Added.
  • Dromaeo/resources/dromaeo/web/tests/MANIFEST.json: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/cssquery-yui.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dom-attr.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dom-modify.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dom-query.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dom-traverse.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-3d-cube.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-core-eval.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-object-array.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-object-regexp.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-object-string.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/dromaeo-string-base64.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-3d-morph.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-access-binary-trees.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-access-fannkuch.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-access-nbody.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-access-nsieve.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-3bit-bits-in-byte.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bits-in-byte.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-nsieve-bits.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-controlflow-recursive.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-aes.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-tofte.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-xparb.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-math-partial-sums.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-math-spectral-norm.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-regexp-dna.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-string-fasta.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-string-unpack-code.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/sunspider-string-validate-input.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/v8-crypto.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/v8-deltablue.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/v8-earley-boyer.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/v8-raytrace.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/v8-richards.html: Added.
  • Dromaeo/resources/dromaeo/web/tests/72px.png: Added.
  • Dromaeo/resources/dromaeo/web/web-style.css: Added.
  • Dromaeo/resources/dromaeo/web/webrunner.js: Added.
  • Skipped: Unskip the dromaeo driver.
19:38 Changeset [106424] by commit-queue@webkit.org

[EFL] Set content hint information for ewk_view_single.
https://bugs.webkit.org/show_bug.cgi?id=77319

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2012-01-31
Reviewed by Ryosuke Niwa.

The content hint information corresponding to opengl_x11 engine is set
for the image object which ewk_view_single owns when evas is based on
opengl_x11 engine.

  • ewk/ewk_view_single.cpp:

(_ewk_view_single_smart_backing_store_add):

19:23 Changeset [106423] by commit-queue@webkit.org

Dynamic allocate AudioBus with required number of channels for AudioNodeInput
https://bugs.webkit.org/show_bug.cgi?id=76516

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-31
Reviewed by Kenneth Russell.

No new tests required.

  • webaudio/AudioBasicProcessorNode.cpp:

(WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):

  • webaudio/AudioChannelMerger.cpp:

(WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):

  • webaudio/AudioGainNode.cpp:

(WebCore::AudioGainNode::checkNumberOfChannelsForInput):

  • webaudio/AudioNode.cpp:

(WebCore::AudioNode::checkNumberOfChannelsForInput):

  • webaudio/AudioNode.h:
  • webaudio/AudioNodeInput.cpp:

(WebCore::AudioNodeInput::AudioNodeInput):
(WebCore::AudioNodeInput::updateInternalBus):
(WebCore::AudioNodeInput::internalSummingBus):

  • webaudio/AudioNodeInput.h:
19:21 Changeset [106422] by ap@apple.com

REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
https://bugs.webkit.org/show_bug.cgi?id=77473
<rdar://problem/10751357>

Reviewed by Darin Adler.

Source/WebCore:

Test: platform/mac/fast/events/non-roman-key-code.html

  • WebCore.exp.in:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::keyIdentifierForKeyEvent):
(WebCore::windowsKeyCodeForKeyEvent):
Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.

Source/WebKit2:

  • Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of

WebCore ones.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(-[EventSendingController keyDown:withModifiers:withLocation:]):

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::keyDown):
Added a new special keyDown value to test this.

19:17 Changeset [106421] by commit-queue@webkit.org

Make WebGL put synthesized errors in the JS console
https://bugs.webkit.org/show_bug.cgi?id=77267

Patch by Gregg Tavares <gman@google.com> on 2012-01-31
Reviewed by Kenneth Russell.

No new functionality so no new tests.

  • html/canvas/WebGLCompressedTextures.cpp:

(WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
(WebCore::WebGLCompressedTextures::compressedTexImage2D):
(WebCore::WebGLCompressedTextures::compressedTexSubImage2D):

  • html/canvas/WebGLCompressedTextures.h:

(WebGLCompressedTextures):

  • html/canvas/WebGLDebugShaders.cpp:

(WebCore::WebGLDebugShaders::getTranslatedShaderSource):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::checkObjectToBeBound):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::createShader):
(WebCore::WebGLRenderingContext::deleteObject):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateWebGLObject):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getActiveAttrib):
(WebCore::WebGLRenderingContext::getActiveUniform):
(WebCore::WebGLRenderingContext::getAttachedShaders):
(WebCore::WebGLRenderingContext::getAttribLocation):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getShaderSource):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::isEnabled):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::texImage2DImpl):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::videoFrameToImage):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2DBase):
(WebCore::WebGLRenderingContext::texSubImage2DImpl):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttrib1f):
(WebCore::WebGLRenderingContext::vertexAttrib1fv):
(WebCore::WebGLRenderingContext::vertexAttrib2f):
(WebCore::WebGLRenderingContext::vertexAttrib2fv):
(WebCore::WebGLRenderingContext::vertexAttrib3f):
(WebCore::WebGLRenderingContext::vertexAttrib3fv):
(WebCore::WebGLRenderingContext::vertexAttrib4f):
(WebCore::WebGLRenderingContext::vertexAttrib4fv):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::forceLostContext):
(WebCore::WebGLRenderingContext::loseContextImpl):
(WebCore::WebGLRenderingContext::forceRestoreContext):
(WebCore::WebGLRenderingContext::validateTextureBinding):
(WebCore::WebGLRenderingContext::validateLocationLength):
(WebCore::WebGLRenderingContext::validateSize):
(WebCore::WebGLRenderingContext::validateString):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContext::validateTexFuncLevel):
(WebCore::WebGLRenderingContext::validateTexFuncParameters):
(WebCore::WebGLRenderingContext::validateTexFuncData):
(WebCore::WebGLRenderingContext::validateDrawMode):
(WebCore::WebGLRenderingContext::validateStencilSettings):
(WebCore::WebGLRenderingContext::validateStencilFunc):
(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
(WebCore::WebGLRenderingContext::validateBlendEquation):
(WebCore::WebGLRenderingContext::validateBlendFuncFactors):
(WebCore::WebGLRenderingContext::validateCapability):
(WebCore::WebGLRenderingContext::validateUniformParameters):
(WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
(WebCore::WebGLRenderingContext::validateBufferDataParameters):
(WebCore::WebGLRenderingContext::validateHTMLImageElement):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::maybeRestoreContext):
(WebCore):
(WebCore::WebGLRenderingContext::synthesizeGLError):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

19:04 Changeset [106420] by commit-queue@webkit.org

Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
https://bugs.webkit.org/show_bug.cgi?id=76772

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-31
Reviewed by Kenneth Russell.

No new tests required.

  • webaudio/AudioBasicProcessorNode.cpp:

(WebCore::AudioBasicProcessorNode::process):
(WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):

  • webaudio/AudioBasicProcessorNode.h:
  • webaudio/AudioGainNode.cpp:

(WebCore::AudioGainNode::process):
(WebCore::AudioGainNode::checkNumberOfChannelsForInput):

  • webaudio/AudioGainNode.h:

(AudioGainNode):

18:41 WikiStart edited by gman@google.com
(diff)
17:55 Changeset [106419] by rniwa@webkit.org

Fix Parser/html5-full-render.html after r106379.

  • Parser/html5-full-render.html:
17:54 Changeset [106418] by adamk@chromium.org

ProcessingInstruction should not be a ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=75141

Reviewed by Darin Adler.

Source/WebCore:

Per the DOM spec, ProcessingInstruction can't have any children.
And the WebCore behavior already matches the spec by always returning
false for childTypeAllowed(). This change simplifies
ProcessingInstruction's implementation by making it subclass Node
instead of ContainerNode.

Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml

  • dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
  • dom/ContainerNode.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
since it's used both by ProcessingInstruction and various Element
subclasses.

  • dom/Node.h:
  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
(WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
(WebCore::ProcessingInstruction::removedFromDocument): ditto.
(WebCore::ProcessingInstruction::finishParsingChildren): ditto.

  • dom/ProcessingInstruction.h:

LayoutTests:

  • fast/dom/processing-instruction-appendChild-exceptions-expected.txt: Added.
  • fast/dom/processing-instruction-appendChild-exceptions.xhtml: Added.
17:49 Changeset [106417] by msaboff@apple.com

StringProtoFuncToUpperCase should call StringImpl::upper similar to StringProtoToLowerCase
https://bugs.webkit.org/show_bug.cgi?id=76647

Reviewed by Darin Adler.

Changed stringProtoFuncToUpperCase to call StringImpl::upper() in a manor similar
to stringProtoFuncToLowerCase(). Fixed StringImpl::upper() to handle to special
cases. One case is s-sharp (0xdf) which converts to "SS". The other case is
for characters which become 16 bit values when converted to upper case. For
those, we up convert the the source string and use the 16 bit path.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncToUpperCase):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::upper):

  • wtf/unicode/CharacterNames.h:

(smallLetterSharpS): New constant

17:41 Changeset [106416] by dpranke@chromium.org

nrwt: fix the mock port to work with DriverProxy, reftests
https://bugs.webkit.org/show_bug.cgi?id=77170

Reviewed by Eric Seidel.

The DryrunPort used for benchmarking and testing NRWT has been
broken since we added the DriverProxy code. It isn't really
needed any more, so I've removed it.

The MockDRT port was also broken by DriverProxy, and moreover,
never worked w/ reftests. Since we don't exercise this module in
the unit tests, the code had also bitrotted some. I have cleaned
it up and made it use DriverInput and DriverOutput for
consistency.

  • Scripts/webkitpy/layout_tests/port/dryrun.py:

(DryRunPort.init):
(DryRunPort):
(DryRunPort.real_name):
(DryRunPort.create_driver):
(DryRunPort.driver_cmd_line):
(DryRunPort._driver_class):
(DryrunDriver):
(DryrunDriver.run_test):

  • Scripts/webkitpy/layout_tests/port/mock_drt.py:

(MockDRTPort.create_driver):
(MockChromiumDRT.run_one_test):

17:21 Changeset [106415] by mdelaney@apple.com

Failing 2d.shadow.enable.off.2.html on Lion
https://bugs.webkit.org/show_bug.cgi?id=77489

Reviewed by Dan Bernstein.

Source/WebCore:

The canvas spec requires that shadows not be drawn under certain
circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
This patch adds in those checks which allows us to pass now (on Lion)
the philip canvas test that was checking that constraint.

No new tests. Unskipping the test on Lion that this patch fixes.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::applyShadow):
(WebCore::CanvasRenderingContext2D::shouldDrawShadows):

  • html/canvas/CanvasRenderingContext2D.h:

(CanvasRenderingContext2D):

LayoutTests:

  • platform/mac-lion/Skipped: We can unskip this test now that this patch has us passing this test.
17:18 Changeset [106414] by oliver@apple.com

Remove unneeded sourceId property
https://bugs.webkit.org/show_bug.cgi?id=77495

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

sourceId isn't used anymore, so we'll just remove it.

  • runtime/Error.cpp:

(JSC):
(JSC::addErrorInfo):
(JSC::hasErrorInfo):

LayoutTests:

Update the test for the removal of sourceId

  • fast/js/exception-properties-expected.txt:
  • fast/js/script-tests/exception-properties.js:
17:09 Changeset [106413] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
fast/replaced/width100percent-searchfield.html is failing on MAC.

  • platform/chromium/test_expectations.txt:
16:32 Changeset [106412] by ojan@chromium.org

run-webkit-tests calls out to webkit-build-directory twice
https://bugs.webkit.org/show_bug.cgi?id=77248

Reviewed by Dirk Pranke.

  • Scripts/webkit-build-directory:

If called with no arguments, print out both the top-level directory and the
configuration directory

  • Scripts/webkitpy/layout_tests/port/config.py:

(Config.build_directory):
When called with no arguments, get and cache both the top-level and configuration directories.

  • Scripts/webkitpy/layout_tests/port/config_standalone.py:

(main):

  • Scripts/webkitpy/layout_tests/port/config_unittest.py:

(ConfigTest.assert_configuration):
(ConfigTest.test_build_directory.mock_webkit_build_directory):
(ConfigTest.test_build_directory):
(ConfigTest.test_default_configurationnotfound):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._build_path):
Cache the build directory in the options object so that other users
of the options object don't need to call out to webkit-build-directory.
Also, properly support the existing --build-directory argument.

15:58 Changeset [106411] by andersca@apple.com

TileCache::setNeedsDisplayInRect cleanup
https://bugs.webkit.org/show_bug.cgi?id=77486

Reviewed by Andreas Kling.

  • platform/graphics/ca/mac/TileCache.h:
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::setNeedsDisplayInRect):
TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
nested if statements with continue statements.

(WebCore::TileCache::getTileIndexRangeForRect):
Rename this to better indicate that it returns a range of indices.

15:55 Changeset [106410] by commit-queue@webkit.org

[chromium] enable -Wexit-time-destructors for webkit unit tests
https://bugs.webkit.org/show_bug.cgi?id=77300
Fix the only extant violation (verified by building webkit_unit_tests in static build).

Patch by Ami Fischman <fischman@chromium.org> on 2012-01-31
Reviewed by Tony Chang.

  • WebKitUnitTests.gyp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::defaultWebFrameClient):
(WebKit::FrameTestHelpers::defaultWebViewClient):

15:49 Changeset [106409] by rniwa@webkit.org

Bump up the timeout for performance tests since DOM/DOMTable.html
and Parser/html5-full-render.html are timing out on the bot.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):

15:36 Changeset [106408] by commit-queue@webkit.org

Add contains() test to Region
https://bugs.webkit.org/show_bug.cgi?id=72294

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-31
Reviewed by Anders Carlsson.

  • platform/graphics/Region.cpp:

(WebCore::Region::contains):
(WebCore):

  • platform/graphics/Region.h:

(Region):
(Shape):
(WebCore::operator==):
(WebCore):

15:24 Changeset [106407] by oliver@apple.com

Implement Error.stack
https://bugs.webkit.org/show_bug.cgi?id=66994

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Original patch by Juan Carlos Montemayor Elosua:

This patch utilizes topCallFrame to create a stack trace when
an error is thrown. Users will also be able to use the stack()
command in jsc to get arrays with stack trace information.

Modified to be correct on ToT, with a variety of correctness,
performance, and security improvements.

(JSC::getCallerLine):
(JSC::getSourceURLFromCallFrame):
(JSC::getStackFrameCodeType):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::throwException):

  • interpreter/Interpreter.h:

(JSC::StackFrame::toString):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionJSCStack):

  • parser/Parser.h:

(JSC::Parser::parse):

  • runtime/CommonIdentifiers.h:
  • runtime/Error.cpp:

(JSC::addErrorInfo):

  • runtime/Error.h:

LayoutTests:

Reviewed by Gavin Barraclough

Original patch by Juan Carlos Montemayor Elosua.

Unit tests that contain both normal and special cases for stack trace
generation.

  • fast/js/exception-properties-expected.txt:
  • fast/js/script-tests/exception-properties.js:
  • fast/js/script-tests/stack-trace.js: Added.

(printStack):
(hostThrower):
(callbacker):
(outer):
(inner):
(evaler):
(normalOuter):
(normalInner):
(scripterInner):
(scripterOuter):

  • fast/js/stack-trace-expected.txt: Added.
  • fast/js/stack-trace.html: Added.
  • platform/chromium/test_expectations.txt:
15:20 Changeset [106406] by commit-queue@webkit.org

[chromium] Compositor debug borders are not scaled correctly
https://bugs.webkit.org/show_bug.cgi?id=77468

Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
border geometry so that the borders are properly scaled.

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-01-31
Reviewed by James Robinson.

  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::appendDebugBorderQuad):

15:17 Changeset [106405] by jsbell@chromium.org

IndexedDB: Re-enable structured-clone test
https://bugs.webkit.org/show_bug.cgi?id=77239

This test was landed disabled, since it was failing. Turns out Date serialization
differs ("PST" vs. "Pacific Standard Time") across machines, so debug statements
in the test were removed.

Reviewed by Tony Chang.

  • platform/chromium/test_expectations.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
15:11 Changeset [106404] by commit-queue@webkit.org

Fix the update_webgl_conformance_tests.py script in order to enable it
to detect the SCM being used correctly.
https://bugs.webkit.org/show_bug.cgi?id=77462

Patch by Ehsan Akhgari <ehsan.akhgari@gmail.com> on 2012-01-31
Reviewed by Kenneth Russell.

  • Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py:

(default_out_dir):

15:09 Changeset [106403] by kbalazs@webkit.org

[Qt][WK2] bot lacks mobility
https://bugs.webkit.org/show_bug.cgi?id=68243

Unreviewed gardening.
Removing tests from skipped list. These tests are no
longer failing since the Qt5 tree we use includes
the required modules that used to live in mobility.

  • platform/qt-wk2/Skipped:
15:07 Changeset [106402] by antti@apple.com

Try to fix Qt build.

Not reviewed.

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):

15:02 Changeset [106401] by thakis@chromium.org

[chromium] Expose windowResizerRectChanged() on WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=77453

Needed for http://crbug.com/111266

Reviewed by Darin Fisher.

  • public/WebWidget.h:

(WebWidget):
(WebKit::WebWidget::didChangeWindowResizerRect):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::didChangeWindowResizerRect):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

14:58 Changeset [106400] by commit-queue@webkit.org

Unreviewed, rolling out r106376.
http://trac.webkit.org/changeset/106376
https://bugs.webkit.org/show_bug.cgi?id=77481

Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
by kbr_google on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-31

Source/WebCore:

  • platform/graphics/gpu/DrawingBuffer.cpp:

(WebCore):
(WebCore::DrawingBuffer::reset):

LayoutTests:

  • platform/chromium/test_expectations.txt:
14:57 Changeset [106399] by nduca@chromium.org

[chromium] Import PaintAggregator
https://bugs.webkit.org/show_bug.cgi?id=53715

Reviewed by Darin Fisher.

  • WebKit.gyp:
  • WebKit.gypi:
  • src/painting/PaintAggregator.cpp: Added.

(WebKit::calculateArea):
(WebKit::subtractIntersection):
(WebKit::sharesEdge):
(WebKit::PaintAggregator::PendingUpdate::PendingUpdate):
(WebKit::PaintAggregator::PendingUpdate::~PendingUpdate):
(WebKit::PaintAggregator::PendingUpdate::calculateScrollDamage):
(WebKit::PaintAggregator::PendingUpdate::calculatePaintBounds):
(WebKit::PaintAggregator::hasPendingUpdate):
(WebKit::PaintAggregator::clearPendingUpdate):
(WebKit::PaintAggregator::popPendingUpdate):
(WebKit::PaintAggregator::invalidateRect):
(WebKit::PaintAggregator::scrollRect):
(WebKit::PaintAggregator::scrollPaintRect):
(WebKit::PaintAggregator::shouldInvalidateScrollRect):
(WebKit::PaintAggregator::invalidateScrollRect):
(WebKit::PaintAggregator::combinePaintRects):

  • src/painting/PaintAggregator.h: Added.
  • tests/PaintAggregatorTest.cpp: Added.

(WebKit::TEST):

14:55 Changeset [106398] by mihnea@adobe.com

[CSSRegions]Reduce the cases when the box style in region is computed
https://bugs.webkit.org/show_bug.cgi?id=77446

Reviewed by David Hyatt.

Covered by existing region style tests.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setRegionBoxesRegionStyle):
(WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):

14:46 Changeset [106397] by andersca@apple.com

Put tiles in a HashMap
https://bugs.webkit.org/show_bug.cgi?id=77480

Reviewed by Antti Koivisto.

Put tiles in a hash map keyed off the tile index.

  • platform/graphics/ca/mac/TileCache.h:

Shuffle member variables around so the order makes more sense.
Add the tile map.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache):
Update member initializers.

(WebCore::TileCache::setNeedsDisplayInRect):
Call tileLayerAtIndex instead of tileLayerAtPosition.

(WebCore::TileCache::setAcceleratesDrawing):
(WebCore::TileCache::setTileDebugBorderWidth):
(WebCore::TileCache::setTileDebugBorderColor):
Iterate over the hash map instead of the sublayers.

(WebCore::TileCache::resizeTileGrid):
Add the created layers to the map.

(WebCore::TileCache::tileLayerAtIndex):
Rename from tileLayerAtPoint to better reflect that this member function
returns a tile layer at the given index and not the given point.

14:45 Changeset [106396] by eric@webkit.org

webkit-patch apply-from-bug should work regardless of your CWD
https://bugs.webkit.org/show_bug.cgi?id=77482

Reviewed by Adam Barth.

webkit-patch only ever works with patches made from the root
directory. We should pass the CWD to svn-apply in the case
where we're running not from the webkit root. I believe
this used to work in the past and regressed.

  • Scripts/webkitpy/common/checkout/checkout.py:

(Checkout.apply_patch):

  • Scripts/webkitpy/common/checkout/checkout_unittest.py:

(CheckoutTest.test_apply_patch):

14:42 Changeset [106395] by fsamuel@chromium.org

[Chromium] ChromeClientImpl::dispatchViewportPropertiesDidChange is repeatedly called in Google News
https://bugs.webkit.org/show_bug.cgi?id=77429

Reviewed by Darin Fisher.

m_webView->isPageScaleFactorSet() is tested in ChromeClientImpl::layoutUpdated, and it is never true,
because WebViewImpl::setPageScaleFactorPreservingScrollOffset is called repeatedly and exits early
and thus never calls WebViewImpl::setPageScaleFactor which sets the flag.

The simplest solution is to simply get rid of the early return in
WebViewImpl::setPageScaleFactorPreservingScrollOffset.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setPageScaleFactorPreservingScrollOffset):

14:40 Changeset [106394] by fsamuel@chromium.org

[Chromium] Expose setLayoutFallbackWidth as a WebSetting
https://bugs.webkit.org/show_bug.cgi?id=77431

Reviewed by Darin Fisher.

The layout fallback width is the default fixed layout width
set for desktop web pages that lack a viewport tag. This width
can vary from platform to platform and can depend on other factors,
and so it should be a setting exposed to Chromium.

  • public/WebSettings.h:

():

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setLayoutFallbackWidth):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

14:30 Changeset [106393] by antti@apple.com

Make CSSOM style() return CSSStyleDeclaration*
https://bugs.webkit.org/show_bug.cgi?id=77475

Reviewed by Anders Carlsson

CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration.
They should return the plain CSSOM type instead.

CSSMutableStyleDeclaration* should be available through non-CSSOM function.

  • css/CSSFontFaceRule.h:

(WebCore::CSSFontFaceRule::style):
(WebCore::CSSFontFaceRule::declaration):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSStyleRule.h:

(WebCore::CSSStyleRule::style):
(WebCore::CSSStyleRule::declaration):

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::styleForKeyframe):

  • css/WebKitCSSKeyframeRule.h:

(WebCore):
(WebCore::WebKitCSSKeyframeRule::style):
(WebCore::WebKitCSSKeyframeRule::declaration):
(WebKitCSSKeyframeRule):

  • editing/EditingStyle.cpp:

(WebCore::styleFromMatchedRulesForElement):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::revalidateStyle):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForCSSRule):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::parseMappedAttribute):
(WebCore::SVGFontFaceElement::fontFamily):
(WebCore::SVGFontFaceElement::rebuildFontFace):

14:05 Changeset [106392] by dgrogan@chromium.org

IndexedDB: refactor basics layout test so that it can be run on workers.
https://bugs.webkit.org/show_bug.cgi?id=76683

Reviewed by Tony Chang.

  • storage/indexeddb/basics-workers-expected.txt: Added.
  • storage/indexeddb/basics-workers.html: Added.
  • storage/indexeddb/basics.html:
  • storage/indexeddb/resources/basics.js: Copied from LayoutTests/storage/indexeddb/basics.html.

(test):
(openCallback):

  • storage/indexeddb/resources/idb-worker-common.js: Added.

(debug):
(finishJSTest):
(description):
(testPassed):
(testFailed):

14:03 WikiStart edited by rniwa@webkit.org
Add a link to Writing Performance Tests (diff)
14:00 Changeset [106391] by commit-queue@webkit.org

[Chromium] Remove references to gyp cygwin build target
https://bugs.webkit.org/show_bug.cgi?id=77253

Patch by Scott Graham <scottmg@chromium.org> on 2012-01-31
Reviewed by Julien Chaffraix.

Target dependency is no longer required, it's done earlier in the
build process.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
13:57 Changeset [106390] by eric@webkit.org

Rebaseline results after http://trac.webkit.org/changeset/106373

Unreviewed.

  • fast/forms/implicit-submission-expected.txt:
  • platform/chromium-mac/fast/dom/Window/window-lookup-precedence-expected.txt: Removed.
  • platform/chromium-mac/fast/dom/wrapper-classes-expected.txt: Removed.
  • platform/chromium-win/fast/forms/implicit-submission-expected.txt:
  • platform/chromium/fast/dom/Window/element-constructors-on-window-expected.txt:
  • platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:
  • platform/chromium/fast/dom/wrapper-classes-expected.txt:
  • platform/mac/fast/forms/implicit-submission-expected.txt: Copied from LayoutTests/fast/forms/implicit-submission-expected.txt.
  • platform/qt/fast/forms/implicit-submission-expected.txt: Removed.
13:46 Changeset [106389] by ojan@chromium.org

Unreviewed, rolling out r106302.
http://trac.webkit.org/changeset/106302
https://bugs.webkit.org/show_bug.cgi?id=77472

Broke building DRT before running the tests (Requested by ojan
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-31

  • Scripts/webkit-build-directory:
  • Scripts/webkitpy/layout_tests/port/config.py:

(Config.build_directory):

  • Scripts/webkitpy/layout_tests/port/config_standalone.py:

(main):

  • Scripts/webkitpy/layout_tests/port/config_unittest.py:

(ConfigTest.assert_configuration):
(ConfigTest.test_build_directory.mock_webkit_build_directory):
(ConfigTest.test_build_directory):
(ConfigTest.test_default_configurationnotfound):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._build_path):

13:43 Changeset [106388] by jonlee@apple.com

Hidden form elements do not save their state prior to form submission
https://bugs.webkit.org/show_bug.cgi?id=77391
<rdar://problem/10563108>

Reviewed by Brady Eidson.

Source/WebCore:

Test: fast/forms/state-restore-hidden.html

  • html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.

(WebCore::HiddenInputType::saveFormControlState):
(WebCore::HiddenInputType::restoreFormControlState):

  • html/HiddenInputType.h:

(HiddenInputType):

LayoutTests:

The test changes the value of the hidden input element via Javascript prior to
submitting the form. The form action goes back one page, and we check to see
that the hidden input value is what it was set to by Javascript, rather than what
it was originally assigned.

  • fast/forms/state-restore-hidden-expected.txt: Added.
  • fast/forms/state-restore-hidden.html: Added.
13:39 Changeset [106387] by jsbell@chromium.org

IndexedDB: IDBCursor.update() should raise exception if key changed
https://bugs.webkit.org/show_bug.cgi?id=76952

Source/WebCore:

Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
done during the synchronous call and the asynchronous task to follow the spec order.

Reviewed by Tony Chang.

Tests: storage/indexeddb/cursor-update.html

  • storage/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
(WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.

  • storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.

LayoutTests:

Reviewed by Tony Chang.

  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/cursor-update.html:
13:35 Changeset [106386] by rniwa@webkit.org

PerfTestRunner should automatically create pre#log
https://bugs.webkit.org/show_bug.cgi?id=77469

Reviewed by Tony Chang.

Automatically generate <pre id="log"></pre> if there isn't one.

  • Bindings/event-target-wrapper.html:
  • DOM/Accessors.html:
  • DOM/CloneNodes.html:
  • DOM/CreateNodes.html:
  • DOM/DOMDivWalk.html:
  • DOM/DOMTable.html:
  • DOM/DOMWalk.html:
  • DOM/Events.html:
  • DOM/GetElement.html:
  • DOM/GridSort.html:
  • DOM/Template.html:
  • Dromaeo/dom-query.html:
  • Dromaeo/resources/dromaeorunner.js:
  • Parser/html-parser.html:
  • Parser/html5-full-render.html:
  • Parser/simple-url.html:
  • Parser/tiny-innerHTML.html:
  • Parser/url-parser.html:
  • Parser/xml-parser.html:
  • resources/runner.js:

(PerfTestRunner.log):
(PerfTestRunner.printStatistics):

13:31 Changeset [106385] by andersca@apple.com

Inform the tile cache whenever the visible rect changes
https://bugs.webkit.org/show_bug.cgi?id=77470

Reviewed by Andreas Kling.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::visibleRectChanged):
Add empty function.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::visibleRectChanged):
Call through to the PlatformCALayer.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::visibleRectChanged):
Call through to the underlying WebTileCacheLayer.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::visibleRectChanged):
Add empty stub.

(WebCore::TileCache::visibleRect):
Add new (currently unused) helper function that returns the visible rect of the
tile cache layer.

  • platform/graphics/ca/mac/WebTileCacheLayer.h:
  • platform/graphics/ca/mac/WebTileCacheLayer.mm:

(-[WebTileCacheLayer visibleRectChanged]):
Call through to the TielCache object.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayer::visibleRectChanged):
Add stub.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidScroll):
Call GraphicsLayer::visibleRectChanged.

13:24 Changeset [106384] by antti@apple.com

Remove CSSStyleDeclaration isElementStyleDeclaration bit
https://bugs.webkit.org/show_bug.cgi?id=77460

Reviewed by Andreas Kling.

Inline style declaration is now the only type of style declaration with element parent.
We can remove the bit and the associated logic.

  • bindings/js/JSDOMBinding.h:

(WebCore::root):

  • css/CSSMutableStyleDeclaration.cpp:

(WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):

  • css/CSSMutableStyleDeclaration.h:

(WebCore::CSSMutableStyleDeclaration::createInline):
(CSSMutableStyleDeclaration):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
(WebCore):
(WebCore::CSSStyleDeclaration::parentStyleSheet):

  • css/CSSStyleDeclaration.h:

(WebCore::CSSStyleDeclaration::parentRule):
(WebCore::CSSStyleDeclaration::clearParentRule):
(WebCore::CSSStyleDeclaration::parentElement):
(WebCore::CSSStyleDeclaration::clearParentElement):
(CSSStyleDeclaration):

13:15 Changeset [106383] by commit-queue@webkit.org

[chromium] Compute occlusion during paint loop
https://bugs.webkit.org/show_bug.cgi?id=76858

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-31
Reviewed by James Robinson.

Source/WebCore:

New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosedIntRect):
(WebCore):

  • platform/graphics/FloatRect.h:

(WebCore):

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/Canvas2DLayerChromium.h:

(Canvas2DLayerChromium):

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ContentLayerChromium.h:

(ContentLayerChromium):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ImageLayerChromium.h:

(ImageLayerChromium):

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::contentToScreenSpaceTransform):
(WebCore):
(WebCore::LayerChromium::addSelfToOccludedScreenSpace):
(WebCore::LayerChromium::isPaintedAxisAlignedInScreen):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore):
(WebCore::LayerChromium::paintContentsIfDirty):
(LayerChromium):

  • platform/graphics/chromium/RenderSurfaceChromium.h:

(RenderSurfaceChromium):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):

  • platform/graphics/chromium/TiledLayerChromium.h:

(WebCore):
():

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(RenderSurfaceRegion):
(WebCore):
(WebCore::pushTargetRenderSurfaceRegion):
(WebCore::popAndPushTargetRenderSurfaceRegion):
(WebCore::CCLayerTreeHost::paintLayerContents):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore):
():

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore::TEST):
(WebCore):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::ContentLayerChromiumWithUpdateTracking::paintContentsIfDirty):
(WTF):
(TestLayerChromium):
(WTF::TestLayerChromium::create):
(WTF::TestLayerChromium::paintContentsIfDirty):
(WTF::TestLayerChromium::drawsContent):
(WTF::TestLayerChromium::occludedScreenSpace):
(WTF::TestLayerChromium::clearOccludedScreenSpace):
(WTF::TestLayerChromium::TestLayerChromium):
(WTF::setLayerPropertiesForTesting):
(CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusion::afterTest):

  • tests/Canvas2DLayerChromiumTest.cpp:

(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeLayerTextureUpdater::setOpaquePaintRect):
(FakeLayerTextureUpdater):
(WTF::FakeTiledLayerChromium::paintContentsIfDirty):
(WTF::FakeLayerTextureUpdater::prepareToUpdate):
(WTF::TEST):
(WTF):

13:02 Changeset [106382] by commit-queue@webkit.org

[Chromium] Add chromium-style tracing support
https://bugs.webkit.org/show_bug.cgi?id=76885

Patch by John Bates <jbates@google.com> on 2012-01-31
Reviewed by Darin Fisher.

This code enables WebKit trace events to pass through more data to the
chromium platform tracing API and generally to use the full tracing
API provided by chromium.

Source/WebCore:

  • bindings/v8/V8Proxy.cpp:

(WebCore::V8Proxy::evaluate): Replace old tracing API.

  • page/Console.cpp:

(WebCore::Console::time): Replace old tracing API.
(WebCore::Console::timeEnd): Replace old tracing API.

  • platform/chromium/PlatformSupport.h:
  • platform/chromium/TraceEvent.h:

(WebCore::TraceEvent::TraceID::TraceID):
(WebCore::TraceEvent::TraceID::data):
(WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
(WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
(WebCore::TraceEvent::setTraceValue):
(WebCore::TraceEvent::addTraceEvent):
(WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
(WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
(WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
(WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
(WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
(WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
(WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):

Source/WebKit/chromium:

  • public/platform/WebKitPlatformSupport.h:

(WebKit::WebKitPlatformSupport::getTraceCategoryEnabledFlag):
(WebKit::WebKitPlatformSupport::addTraceEvent):

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getTraceCategoryEnabledFlag):
(WebCore::PlatformSupport::addTraceEvent):

12:49 Changeset [106381] by piman@chromium.org

Add back temporarily WebKitPlatformSupport::createGraphicsContext3D() to fix build
https://bugs.webkit.org/show_bug.cgi?id=77467

Rubber-stamped by Nate Chapin <japhet@chromium.org>.

  • public/platform/WebKitPlatformSupport.h:

(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::createGraphicsContext3D):

12:41 Changeset [106380] by rniwa@webkit.org

Source/WebCore: Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
https://bugs.webkit.org/show_bug.cgi?id=77077

Reviewed by Enrica Casucci.

The crash was caused by a missing null check after removing the position out of the start block.
Fixed the bug by adding an early return.

Tests: editing/deleting/delete-start-block.html

editing/selection/move-into-empty-root-inline-box.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleGeneralDelete):

LayoutTests: Crash in previousLinePosition when moving into a root inline box without leaves
https://bugs.webkit.org/show_bug.cgi?id=76812

Reviewed by Enrica Casucci.

Add a regression test for the crash. Unfortunately, we can only test previousLinePosition.

  • editing/selection/move-into-empty-root-inline-box-expected.txt: Added.
  • editing/selection/move-into-empty-root-inline-box.html: Added.
12:05 Changeset [106379] by rniwa@webkit.org

runner.js in performance tests should define a class
https://bugs.webkit.org/show_bug.cgi?id=77074

Reviewed by Eric Seidel.

Wrap all functions in runner.js by PerfTestRunner and update tests that runner.js accordingly.
Also replace compute* functions in runner.js by more robust code from dom-perf.js.

  • Bindings/event-target-wrapper.html:
  • DOM/DOMTable.html:
  • DOM/resources/dom-perf.js:

(BenchmarkSuite.prototype.RunSingle):
(runBenchmarkSuite):

  • Mutation/append-child-deep.html:
  • Mutation/append-child.html:
  • Mutation/inner-html.html:
  • Mutation/remove-child-deep.html:
  • Mutation/remove-child.html:
  • Parser/html-parser.html:
  • Parser/html5-full-render.html:
  • Parser/simple-url.html:
  • Parser/tiny-innerHTML.html:
  • Parser/url-parser.html:
  • Parser/xml-parser.html:
  • resources/runner.js:

(PerfTestRunner.log):
(PerfTestRunner.logInfo):
(PerfTestRunner.loadFile):
(PerfTestRunner.computeStatistics):
(PerfTestRunner.logStatistics):
(PerfTestRunner._runLoop.else):
(PerfTestRunner._runLoop):
(PerfTestRunner._runner):

12:05 Changeset [106378] by tony@chromium.org

[chromium] Fix css3/flexbox/cross-axis-scrollbar-expected to work on
chromium win.

The scrollbars overflow the bounds of the scrollbar rect (see bug 77368).
Work around this by using positioned elements and setting the z-index as
negative. It didn't work previously because when the scrollbar was
positioned, it clipped the extra pixels. Tested to verify that this works
on Chromium Win and Chromium Linux.

Unreviewed, test fix.

  • css3/flexbox/cross-axis-scrollbar-expected.html:
  • platform/chromium/test_expectations.txt:
12:00 Changeset [106377] by eric@webkit.org

HTMLIsIndexElement should not expose HTMLInputElement properties
https://bugs.webkit.org/show_bug.cgi?id=76095

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-31
Reviewed by Eric Seidel.

This is a buildfix for r106373.

  • DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl
12:00 Changeset [106376] by commit-queue@webkit.org

WebGL must allocate smaller drawing buffer when the allocation fails.
https://bugs.webkit.org/show_bug.cgi?id=76654

Patch by Yongsheng Zhu <yongsheng.zhu@intel.com> on 2012-01-31
Reviewed by Kenneth Russell.

Test: fast/canvas/webgl/drawingbuffer-test.html

  • platform/graphics/gpu/DrawingBuffer.cpp:

(WebCore):
(WebCore::DrawingBuffer::create):
(WebCore::DrawingBuffer::reset):

11:58 Changeset [106375] by ap@apple.com

PluginProcess should be able to use remote open and save panels
https://bugs.webkit.org/show_bug.cgi?id=77461
<rdar://problem/10783615>

Reviewed by Mark Rowe.

  • PluginProcess/mac/PluginProcess.entitlements: Added.
  • PluginProcess/mac/add-entitlements.sh: Added.
  • WebKit2.xcodeproj/project.pbxproj: Add appropriate entitlement, plus ad hoc binary signing for it to work.
11:50 Changeset [106374] by eae@chromium.org

Fix scrollbar painting on qt (again).

11:33 Changeset [106373] by eric@webkit.org

HTMLIsIndexElement should not expose HTMLInputElement properties
https://bugs.webkit.org/show_bug.cgi?id=76095

Reviewed by Adam Barth.

Source/WebCore:

document.createElement("isindex") should produce an HTMLUnknownElement
per the HTML5 spec. The parser automagically translates <isindex> into
a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)

This patch just removes our support for HTMLIsIndexElement. The parser
support was already in. Having support for HTMLIsIndexElement was causing
one of the IE TestCenter tests to fail.

Test: fast/dom/HTMLIsIndexElement/prototype-chain.html

  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.order:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/gobject/GNUmakefile.am:
  • bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:

(WebKit::createHTMLElementWrapper):

  • bindings/objc/DOM.mm:

(WebCore::createElementClassMap):

  • bindings/objc/DOMHTML.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLIsIndexElement.cpp: Removed.
  • html/HTMLIsIndexElement.h: Removed.
  • html/HTMLIsIndexElement.idl: Removed.
  • html/HTMLTagNames.in:
  • page/DOMWindow.idl:

Source/WebKit/mac:

  • MigrateHeaders.make:

LayoutTests:

  • fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Added.
  • fast/dom/HTMLIsIndexElement/prototype-chain.html: Added.
  • fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Added.
11:13 Changeset [106372] by commit-queue@webkit.org

[Qt] Use ICU if available
https://bugs.webkit.org/show_bug.cgi?id=76821

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2012-01-31
Reviewed by Csaba Osztrogonác.

After r105997, some tests had different expected results but they were passing
like /fast/text/find-{kana|russian|soft-hyphen}.html and editing/execCommand/findString-diacriticals.html.
The test editing/selection/regional-indicators.html had a false expected file,
and the rest was moved to a more specific folder (i.e. some bugs skipped on qt5 and qt-wk2
didn't need to be on qt-wk2 as well, etc.) and/or created specific bugs for further investigation.

  • platform/qt-4.8/Skipped:
  • platform/qt-4.8/css1/text_properties/text_transform-expected.txt: Copied from LayoutTests/platform/qt/css1/text_properties/text_transform-expected.txt.
  • platform/qt-4.8/editing/selection/regional-indicators-expected.txt: Renamed from LayoutTests/platform/qt/editing/selection/regional-indicators-expected.txt.
  • platform/qt-4.8/fast/text/find-kana-expected.txt: Renamed from LayoutTests/platform/qt/fast/text/find-kana-expected.txt.
  • platform/qt-4.8/fast/text/find-russian-expected.txt: Renamed from LayoutTests/platform/qt/fast/text/find-russian-expected.txt.
  • platform/qt-4.8/fast/text/find-soft-hyphen-expected.txt: Renamed from LayoutTests/platform/qt/fast/text/find-soft-hyphen-expected.txt.
  • platform/qt-5.0/Skipped:
  • platform/qt-5.0/css1/text_properties/text_transform-expected.txt: Renamed from LayoutTests/platform/qt/css1/text_properties/text_transform-expected.txt.
  • platform/qt-5.0/editing/execCommand/findString-diacriticals-expected.txt: Added.
  • platform/qt-wk2/Skipped:
  • platform/qt/Skipped:
11:11 Changeset [106371] by piman@chromium.org

Merge WebGraphicsContext3D creation and initialization, and move it to
WebViewClient.
https://bugs.webkit.org/show_bug.cgi?id=76593

Reviewed by Darin Fisher.

Source/WebKit/chromium:

  • public/WebViewClient.h:

(WebKit::WebViewClient::createGraphicsContext3D):

  • public/platform/WebGraphicsContext3D.h:

(WebKit::WebGraphicsContext3D::initialize):

  • public/platform/WebKitPlatformSupport.h:
  • src/GraphicsContext3DChromium.cpp:

Tools:

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::initialize):

  • DumpRenderTree/chromium/TestWebPlugin.h:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::createGraphicsContext3D):
(WebViewHost::createPlugin):

  • DumpRenderTree/chromium/WebViewHost.h:
11:07 Changeset [106370] by msaboff@apple.com

ASSERT(m_jumpsToLink.isEmpty()) failing in ARMv7Assembler dtor
https://bugs.webkit.org/show_bug.cgi?id=77443

Reviewed by Gavin Barraclough.

Removed failing ASSERT() and thus destructor. The ASSERT isn't needed.
We are hitting it in the YARR JIT case where we bail out and go to the
interpreter with a partially JIT'ed function. Since we haven't linked
the JIT'ed code, there is likely to be some unresolved jumps in the vector
when the ARMv7Assembler destructor is called. For the case where we
complete the JIT process, we clear the vector at the end of
LinkBuffer::linkCode (LinkBuffer.h:292).

  • assembler/ARMv7Assembler.h:

(ARMv7Assembler):

11:00 Changeset [106369] by rgabor@webkit.org

[GTK] build-webkit warning.
https://bugs.webkit.org/show_bug.cgi?id=77411

Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(isCrossCompilation):

10:06 Changeset [106368] by andersca@apple.com

Vector<T>::operator== shouldn't require T to have operator!=
https://bugs.webkit.org/show_bug.cgi?id=77448

Reviewed by Andreas Kling.

Change VectorComparer::compare to use !(a == b) instead of a != b since
it makes more sense for Vector::operator== to use the element's operator==.

  • wtf/Vector.h:
09:40 Changeset [106367] by kareng@chromium.org

adding codereview.settings

09:39 Changeset [106366] by mitz@apple.com

When generating derived sources, use the same compiler that is used to compile WebKitTestRunner.

Reviewed by Anders Carlsson.

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
09:39 Changeset [106365] by kareng@chromium.org

branching for chrome m18

09:29 Changeset [106364] by alexis.menard@openbossa.org

Unreviewed include cleanup.

Tested locally on Qt and Chromium port.

  • dom/Node.cpp:
09:11 Changeset [106363] by ossy@webkit.org

If the QTDIR environment variable is set, the build system fails to compile WinCairo
https://bugs.webkit.org/show_bug.cgi?id=77112

Reviewed by Daniel Bates.

  • Scripts/webkitdirs.pm:

(determineIsQt):

09:09 Changeset [106362] by commit-queue@webkit.org

Ensure tiles are repainted when scrolling using mouse wheel.
https://bugs.webkit.org/show_bug.cgi?id=77339

A new slot visibleContentRectAndScaleChanged has been added
that is emited by non-animated scrolling code in the
QtViewportInteractionEngine.

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-01-31
Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initializeDesktop):
(QQuickWebViewPrivate::initializeTouch):
(QQuickWebViewPrivate::_q_resume):
(QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
(QQuickWebViewPrivate::updateTouchViewportSize):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::wheelEvent):

  • UIProcess/qt/QtViewportInteractionEngine.h:

(QtViewportInteractionEngine):

08:44 Changeset [106361] by commit-queue@webkit.org

The spec renamed addTrack() to addTextTrack().
https://bugs.webkit.org/show_bug.cgi?id=77381

Patch by Arko Saha <arko@motorola.com> on 2012-01-31
Reviewed by Eric Carlson.

Renamed addTrack() to addTextTrack().
Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::addTextTrack):

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::addTextTrack):

  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/track/track-add-track-expected.txt:
  • media/track/track-add-track.html:
  • media/track/track-addtrack-kind-expected.txt:
  • media/track/track-addtrack-kind.html:
  • media/track/track-text-track-destructor-crash.html:
  • media/track/track-texttracks-expected.txt:
  • media/track/track-texttracks.html:
  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/mac/fast/dom/Window/window-properties-expected.txt:
07:56 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
07:35 Changeset [106360] by vsevik@chromium.org

Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
https://bugs.webkit.org/show_bug.cgi?id=77289

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-01-31
Reviewed by Vsevolod Vlasov.

Arrays are now rendered as a single template class. Its type-specific
details are provided by an additional ArrayItemHelper class that is
defined using C++ specialization technique.

  • inspector/CodeGeneratorInspector.py:

(RawTypes.String):
(RawTypes.String.get_array_item_raw_c_type_text):
(RawTypes.Int):
(RawTypes.Int.get_array_item_raw_c_type_text):
(RawTypes.Number):
(RawTypes.Number.get_array_item_raw_c_type_text):
(RawTypes.Bool):
(RawTypes.Bool.get_array_item_raw_c_type_text):
(RawTypes.Object):
(RawTypes.Object.get_array_item_raw_c_type_text):
(RawTypes.Any):
(RawTypes.Any.get_array_item_raw_c_type_text):
(RawTypes.Array):
(RawTypes.Array.get_array_item_raw_c_type_text):
(RawTypes):
(TypeBindings.create_type_declaration_.EnumBinding):
(TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
(TypeBindings.create_type_declaration_.PlainString):
(TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
(TypeBindings.create_type_declaration_.TypedefString):
(TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
(StructItemTraits):
(get_array_item_c_type_text):
(PlainObjectBinding):
(PlainObjectBinding.get_array_item_c_type_text):
(AdHocTypeContext):
(AdHocTypeContext.get_type_name_fix):
(AdHocTypeContext.add_type):
(ArrayBinding):
(ArrayBinding.resolve_inner):
(ArrayBinding.resolve_inner.ResolveData):
(ArrayBinding.request_user_runtime_cast):
(ArrayBinding.request_internal_runtime_cast):
(ArrayBinding.get_code_generator):
(ArrayBinding.get_code_generator.CodeGenerator):
(ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
(ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
(ArrayBinding.get_code_generator.CodeGenerator.register_use):
(ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
(ArrayBinding.get_validator_call_text):
(ArrayBinding.get_in_c_type_text):
(ArrayBinding.get_array_item_c_type_text):
(ArrayBinding.get_setter_value_expression_pattern):
(ArrayBinding.reduce_to_raw_type):
(RawTypeBinding.get_array_item_c_type_text):
(ArrayItemHelper):
(typename):
(ArrayOf):
(Traits):

07:09 Changeset [106359] by aroben@apple.com

Only call -typingAttributes on WebViews, not WebHTMLViews

Looks like this case was just missed in r105908.

Fixes <http://webkit.org/b/77432> REGRESSION (r105908): WebKit1.InspectorBarTest is crashing

Reviewed by Antti Koivisto.

  • TestWebKitAPI/Tests/mac/InspectorBar.mm:

(TestWebKitAPI::TEST): Call -typingAttributes on the WebView, just like we do 2 lines
earlier.

06:58 Changeset [106358] by antti@apple.com

Parent SVGFontFaceElements style declaration to the rule
https://bugs.webkit.org/show_bug.cgi?id=77421

Reviewed by Adam Roben.

For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
is not exposed so the change is not observable with a test.

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::~CSSFontFaceRule):

  • css/CSSMutableStyleDeclaration.h:

(WebCore::CSSMutableStyleDeclaration::createInline):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::SVGFontFaceElement):
(WebCore::SVGFontFaceElement::parseMappedAttribute):
(WebCore::SVGFontFaceElement::fontFamily):
(WebCore::SVGFontFaceElement::rebuildFontFace):

  • svg/SVGFontFaceElement.h:


Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.

06:28 Changeset [106357] by kenneth@webkit.org

Tap highlighting: Support better outlines for multiline inlines https://bugs.webkit.org/show_bug.cgi?id=77428

Reviewed by Simon Hausmann.

.:

Update the test to use a transform.

  • ManualTests/qt/tap-highlighting-inlines.html:

Source/WebCore:

Covered by manual tests.

Do not use the linesBoundingBox anymore but draw a custom path
with rounded corners. Inlines are drawn as max 3 rects, first
line rect, joined middle rect and the rect for the last line.

  • page/GestureTapHighlighter.cpp:
  • platform/graphics/Path.h: Make addBeziersForRoundedRect public.
06:03 Changeset [106356] by jocelyn.turcotte@nokia.com

[Qt] MiniBrowser: Show touch mocking indicators only when Ctrl is held down.
https://bugs.webkit.org/show_bug.cgi?id=77221

Reviewed by Kenneth Rohde Christiansen.

This makes sure that the indicator isn't in the way when doing clicks or dealing with the rest of the UI.

  • MiniBrowser/qt/MiniBrowserApplication.cpp:

(MiniBrowserApplication::sendTouchEvent):

05:47 Changeset [106355] by zeno.albisser@nokia.com

[Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
https://bugs.webkit.org/show_bug.cgi?id=77417

Make the UIProcess decide about the encoding and display
a warning in case no encoding was defined.
Make the QQuickNetworkReply store a QWeakPointer to the
QQuickWebViewExperimental to get rid of hackish chain of parental queries.

Reviewed by Simon Hausmann.

  • UIProcess/API/qt/qquicknetworkreply.cpp:

(QQuickNetworkReply::send):
(QQuickNetworkReply::setWebViewExperimental):

  • UIProcess/API/qt/qquicknetworkreply_p.h:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewExperimental::schemeDelegates_Append):

  • WebProcess/qt/QtNetworkReply.cpp:

(WebKit::QtNetworkReply::QtNetworkReply):
(WebKit::QtNetworkReply::setReplyData):

04:11 Changeset [106354] by commit-queue@webkit.org

Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
https://bugs.webkit.org/show_bug.cgi?id=77199

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-01-31
Reviewed by Pavel Feldman.

  • inspector/front-end/DetailedHeapshotGridNodes.js:

(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
(WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
(WebInspector.HeapSnapshotConstructorNode.prototype.get data):
(WebInspector.HeapSnapshotDiffNode.prototype.get data):

  • inspector/front-end/UIUtils.js:

(Number.withThousandsSeparator):

03:59 Changeset [106353] by hans@chromium.org

Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
https://bugs.webkit.org/show_bug.cgi?id=77083

Reviewed by Darin Fisher.

Source/WebCore:

Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
implementation.

No new tests, just refactoring.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mock/SpeechInputClientMock.cpp: Removed.
  • platform/mock/SpeechInputClientMock.h: Removed.

Source/WebKit/chromium:

Remove the WebSpeechInputControllerMock interface and proxy
implementation. The mock is moving to the DumpRenderTree
implementation instead, which removes the need to expose this
interface in the WebKit API.

Also add a proper copy constructor for WebSpeechInputResult.
The default one doesn't do a proper copy.

  • WebKit.gyp:
  • public/WebSpeechInputControllerMock.h: Removed.
  • public/WebSpeechInputResult.h:

(WebKit::WebSpeechInputResult::WebSpeechInputResult):
(WebSpeechInputResult):

  • src/WebSpeechInputControllerMockImpl.cpp: Removed.
  • src/WebSpeechInputControllerMockImpl.h: Removed.
  • src/WebSpeechInputResult.cpp:

(WebKit::WebSpeechInputResult::set):
(WebKit):

Tools:

Add MockWebSpeechInputController which provides a mock implementation
of the WebSpeechInputController interface, and use that in
DumpRenderTree.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::addMockSpeechInputResult):

  • DumpRenderTree/chromium/LayoutTestController.h:

():

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp: Added.

(MockWebSpeechInputController::create):
(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::clearResults):
(MockWebSpeechInputController::startRecognition):
(MockWebSpeechInputController::cancelRecognition):
(MockWebSpeechInputController::stopRecording):
(MockWebSpeechInputController::MockWebSpeechInputController):
(MockWebSpeechInputController::speechTaskFired):
(MockWebSpeechInputController::SpeechTask::SpeechTask):
(MockWebSpeechInputController::SpeechTask::stop):
(MockWebSpeechInputController::SpeechTask::runIfValid):

  • DumpRenderTree/chromium/MockWebSpeechInputController.h: Added.

(WebKit):
(MockWebSpeechInputController):
(MockWebSpeechInputController::taskList):
(SpeechTask):

  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::speechInputController):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebKit):
(WebViewHost::speechInputControllerMock):
(WebViewHost):
():

03:49 Changeset [106352] by pfeldman@chromium.org

Web Inspector: boost protocol version to 1.0
https://bugs.webkit.org/show_bug.cgi?id=77408

Reviewed by Yury Semikhatsky.

  • inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
  • inspector/Inspector.json:
03:04 Changeset [106351] by rolandsteiner@chromium.org

<style scoped>: Improve shortcut code for cases where <style scoped> isn't used
https://bugs.webkit.org/show_bug.cgi?id=77410

Move shortcut from setupScopingElementStack(), do it at the calling sites instead
(where a larger chunk of work can be skipped).

Reviewed by Antti Koivisto.

No new tests. (refactoring)

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
(WebCore::CSSStyleSelector::pushParent): add shortcut code
(WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
(WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code

  • css/CSSStyleSelector.h:

(CSSStyleSelector): add matchScopedAuthorRules

02:45 Changeset [106350] by commit-queue@webkit.org

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-31

  • DEPS:
02:39 Changeset [106349] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
inspector/timeline/timeline-receive-response-event.html is flaky on LINUX

  • platform/chromium/test_expectations.txt:
02:13 Changeset [106348] by commit-queue@webkit.org

[PerformanceTests] Add landing html for Dromaeo dom-query test
https://bugs.webkit.org/show_bug.cgi?id=77329

Patch by Hajime Morrita <morrita@chromium.org> on 2012-01-31
Reviewed by Ryosuke Niwa.

PerformanceTests:

Added a "landing html" which includes actual dromaemo page and
send messages to interact with it. The landing html also dumps the
score in run-perf-tests friendly format.

This test isn't enabled until Dromaemo itself is available for run-perf-tests.
It will happen in a separate change.

  • Dromaeo/dom-query.html: Added.
  • Dromaeo/resources/dromaeorunner.js: Added.
  • Skipped: Skipping this for now.

Tools:

Added some more ignorable output patterns to allow warnings
from a third party test suite.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner):
(PerfTestsRunner._should_ignore_line_in_parser_test_result):

02:05 Changeset [106347] by pfeldman@chromium.org

Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
https://bugs.webkit.org/show_bug.cgi?id=77409

Reviewed by Yury Semikhatsky.

  • inspector/Inspector.json:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
(WebCore):
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):

  • inspector/InspectorDOMDebuggerAgent.h:

(InspectorDOMDebuggerAgent):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didInstallTimerImpl):
(WebCore::InspectorInstrumentation::didRemoveTimerImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore::InspectorInstrumentation::willFireTimerImpl):
(WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
(WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):

02:01 Changeset [106346] by nayankk@motorola.com

[GTK] Remove V8 compilation option.
https://bugs.webkit.org/show_bug.cgi?id=77405

Reviewed by Philippe Normand.

Revert the changes introduced as part of bug 69469
to provide an option to compile V8 as JavaScript engine.

  • GNUmakefile.am: Remove defining USE_JSC macro.
  • configure.ac: Remove --with-jsengine option.
01:36 Changeset [106345] by philn@webkit.org

Unreviewed, GTK gardening.

  • platform/gtk/Skipped: Skipping some new failures.
  • platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt: Added.
  • platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
  • platform/gtk/fast/js/global-constructors-expected.txt:
  • platform/gtk/test_expectations.txt: Marked one more svg test as flaky.
01:19 Changeset [106344] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
77412 - [Chromium] Layout Test media/media-blocked-by-beforeload.html fails for LEOPARD

  • platform/chromium/test_expectations.txt:
00:37 Changeset [106343] by ossy@webkit.org

On more (last) typo fix after r106339.

  • platform/qt/Skipped:
00:22 Changeset [106342] by commit-queue@webkit.org

Fix compilation errors on build-webkit --debug --no-workers on mac.
https://bugs.webkit.org/show_bug.cgi?id=75869

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-31
Reviewed by Adam Barth.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit/mac:

  • Workers/WebWorkersPrivate.mm:

(+[WebWorkersPrivate workerThreadCount]):

00:04 Changeset [106341] by ossy@webkit.org

Typo fix after r106339.

  • platform/qt/Skipped:
00:02 Changeset [106340] by philn@webkit.org

[GStreamer] 0.11 build support
https://bugs.webkit.org/show_bug.cgi?id=77085

Reviewed by Martin Robinson.

  • configure.ac: New --with-gstreamer option, defaulting to 0.10.

01/30/12:

23:50 Changeset [106339] by ossy@webkit.org

[Qt] Unreviewed gardening.

  • platform/qt/Skipped: Skip failing tests.
23:45 Changeset [106338] by commit-queue@webkit.org

Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
https://bugs.webkit.org/show_bug.cgi?id=77343

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-01-30
Reviewed by Yury Semikhatsky.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):

23:37 Changeset [106337] by yurys@chromium.org

Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
https://bugs.webkit.org/show_bug.cgi?id=77331

Source/WebCore:

Inspector instrumentation is called before and after each event handler invokation.
In case inspector front-end is closed it is no-op, otherwise it may stop execution
on an event listener breakpoint.

Reviewed by Pavel Feldman.

Test: inspector/debugger/step-through-event-listeners.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::willHandleEventImpl):
(WebCore):
(WebCore::InspectorInstrumentation::didHandleEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willHandleEvent):
(WebCore):
(WebCore::InspectorInstrumentation::didHandleEvent):

LayoutTests:

Test that debugger will stop in each event listener when pausing on an event listener
breakpoint.

Reviewed by Pavel Feldman.

  • inspector/debugger/step-through-event-listeners-expected.txt: Added.
  • inspector/debugger/step-through-event-listeners.html: Added.
  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
22:36 Changeset [106336] by hayato@chromium.org

Attach light children after removing a shadow root.
https://bugs.webkit.org/show_bug.cgi?id=74267

Reviewed by Ryosuke Niwa.

Source/WebCore:

Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html

fast/dom/shadow/dynamically-created-shadow-root.html:

  • dom/Element.cpp:

(WebCore::Element::removeShadowRoot):

LayoutTests:

  • fast/dom/shadow/dynamically-created-shadow-root-expected.html:
  • fast/dom/shadow/dynamically-created-shadow-root.html:
22:23 Changeset [106335] by commit-queue@webkit.org

Unreviewed, rolling out r106324.
http://trac.webkit.org/changeset/106324
https://bugs.webkit.org/show_bug.cgi?id=77406

Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
runSingleThread (Requested by yuzo1 on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-30

Source/WebCore:

  • platform/graphics/FloatRect.cpp:
  • platform/graphics/FloatRect.h:

(WebCore):

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/Canvas2DLayerChromium.h:

(WebCore):
(Canvas2DLayerChromium):

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ContentLayerChromium.h:

(WebCore):
(ContentLayerChromium):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ImageLayerChromium.h:

(WebCore):
(ImageLayerChromium):

  • platform/graphics/chromium/LayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:

(WebCore):
(WebCore::LayerChromium::paintContentsIfDirty):
(LayerChromium):

  • platform/graphics/chromium/RenderSurfaceChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:
  • platform/graphics/chromium/TiledLayerChromium.h:

(WebCore):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore):

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

(WebCore::enclosedIntRect):
(WebCore):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::ContentLayerChromiumWithUpdateTracking::paintContentsIfDirty):

  • tests/Canvas2DLayerChromiumTest.cpp:

(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):

  • tests/TiledLayerChromiumTest.cpp:

(FakeLayerTextureUpdater):
(WTF::FakeTiledLayerChromium::paintContentsIfDirty):
(WTF::FakeLayerTextureUpdater::prepareToUpdate):

22:20 Changeset [106334] by rniwa@webkit.org

Build fix after r106321.

  • Websites/webkit-perf.appspot.com/report_handler.py:
  • Websites/webkit-perf.appspot.com/manifest_handler.py:

(ManifestHandler.get):

21:51 Changeset [106333] by kevino@webkit.org

[wx] Unreviewed. Update download URLs to new domain.

21:47 Changeset [106332] by commit-queue@webkit.org

Fix ASSERT fail within AudioBus::processWithGainFrom()
https://bugs.webkit.org/show_bug.cgi?id=76685

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-01-30
Reviewed by Daniel Bates.

Source/WebCore:

Test: webaudio/audionode-connect-order.html

  • webaudio/AudioBasicProcessorNode.cpp:

(WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):

LayoutTests:

  • webaudio/audionode-connect-order-expected.txt: Added.
  • webaudio/audionode-connect-order.html: Added.
21:04 Changeset [106331] by rolandsteiner@chromium.org

<style scoped>: Implement scoped stylesheets and basic application
https://bugs.webkit.org/show_bug.cgi?id=73190

Source/WebCore:

Implementing support for <style scoped>:
Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
used for O(1) access to all relevant style sheets for a given element.
Adapt matching of author style sheets to also consult appropriate scoped sheets.
Finally, prevent style sharing from crossing into/out of scoped style boundaries.

Reviewed by Antti Koivisto.

Tests: fast/css/style-scoped/style-scoped-attach.html

fast/css/style-scoped/style-scoped-basic.html
fast/css/style-scoped/style-scoped-detach.html
fast/css/style-scoped/style-scoped-remove-scoped.html
fast/css/style-scoped/style-scoped-set-scoped.html

  • css/CSSStyleSelector.cpp:

(RuleSet):
(WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
(WebCore::CSSStyleSelector::collectFeatures): ditto
(WebCore):
(WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
(WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
(WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
(WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
(WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
(WebCore::CSSStyleSelector::popParent): ditto
(WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
(WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
(WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
(WebCore::CSSStyleSelector::matchAllRules): ditto
(WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
(WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
(WebCore::CSSStyleSelector::locateSharedStyle): ditto
(WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
(WebCore::CSSStyleSelector::styleForPage): add comment
(WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
(WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
(WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules

  • css/CSSStyleSelector.h:

(CSSStyleSelector):
(WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
(WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
(WebCore::SelectorChecker::pushParent): simplify and refactor

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::popParent): ditto
(WebCore::SelectorChecker::parentStackIsEmpty): ditto
(WebCore::SelectorChecker::parentStackIsConsistent): make parameter const

LayoutTests:

Test that <style scoped> affects styles and is updated correctly:
-) basic test
-) test setting/un-setting the 'scoped' attribute
-) test inserting/removing a whole <style scoped> element

Reviewed by Antti Koivisto.

  • fast/css/style-scoped/style-scoped-attach-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-attach.html: Added.
  • fast/css/style-scoped/style-scoped-basic-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-basic.html: Added.
  • fast/css/style-scoped/style-scoped-detach-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-detach.html: Added.
  • fast/css/style-scoped/style-scoped-remove-scoped-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-remove-scoped.html: Added.
  • fast/css/style-scoped/style-scoped-set-scoped-expected.txt: Added.
  • fast/css/style-scoped/style-scoped-set-scoped.html: Added.
21:03 Changeset [106330] by commit-queue@webkit.org

[EFL] Define the names of view smart class
https://bugs.webkit.org/show_bug.cgi?id=76370

Patch by Eunsol Park <eunsol47.park@samsung.com> on 2012-01-30
Reviewed by Andreas Kling.

Strings of ewk_tiled_view's name were defined differently,
so the definitions were modified to make users not confused.

  • ewk/ewk_private.h:
  • ewk/ewk_view.cpp:
  • ewk/ewk_view_single.cpp:

(_ewk_view_single_smart_class_new):

  • ewk/ewk_view_tiled.cpp:

(ewk_view_tiled_smart_set):
(_ewk_view_tiled_smart_class_new):

20:59 Changeset [106329] by mrowe@apple.com

Merge r106305.

20:52 Changeset [106328] by mrowe@apple.com

Versioning.

20:42 Changeset [106327] by mrowe@apple.com

New tag.

20:39 Changeset [106326] by kevino@webkit.org

[wx] Update build dirs and includes after recent trunk changes.

20:37 Changeset [106325] by yuzo@google.com

[Chromium] Unreviewed test expectation change
plugins/crash-restoring-plugin-page-from-page-cache.html fails or timeouts.

  • platform/chromium/test_expectations.txt:
20:03 Changeset [106324] by commit-queue@webkit.org

[chromium] Compute occlusion during paint loop
https://bugs.webkit.org/show_bug.cgi?id=76858

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-30
Reviewed by James Robinson.

Source/WebCore:

New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosedIntRect):
(WebCore):

  • platform/graphics/FloatRect.h:

(WebCore):

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/Canvas2DLayerChromium.h:

(Canvas2DLayerChromium):

  • platform/graphics/chromium/ContentLayerChromium.cpp:

(WebCore::ContentLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ContentLayerChromium.h:

(ContentLayerChromium):

  • platform/graphics/chromium/ImageLayerChromium.cpp:

(WebCore::ImageLayerChromium::paintContentsIfDirty):

  • platform/graphics/chromium/ImageLayerChromium.h:

(ImageLayerChromium):

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::contentToScreenSpaceTransform):
(WebCore):
(WebCore::LayerChromium::addSelfToOccludedScreenSpace):
(WebCore::LayerChromium::isPaintedAxisAlignedInScreen):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore):
(WebCore::LayerChromium::paintContentsIfDirty):
(LayerChromium):

  • platform/graphics/chromium/RenderSurfaceChromium.h:

(RenderSurfaceChromium):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):

  • platform/graphics/chromium/TiledLayerChromium.h:

(WebCore):
():

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::paintContentsIfDirty):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(RenderSurfaceRegion):
(WebCore):
(WebCore::pushTargetRenderSurfaceRegion):
(WebCore::popAndPushTargetRenderSurfaceRegion):
(WebCore::CCLayerTreeHost::paintLayerContents):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(WebCore):
():

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebCore::TEST):
(WebCore):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::ContentLayerChromiumWithUpdateTracking::paintContentsIfDirty):
(WTF):
(TestLayerChromium):
(WTF::TestLayerChromium::create):
(WTF::TestLayerChromium::paintContentsIfDirty):
(WTF::TestLayerChromium::drawsContent):
(WTF::TestLayerChromium::occludedScreenSpace):
(WTF::TestLayerChromium::clearOccludedScreenSpace):
(WTF::TestLayerChromium::TestLayerChromium):
(WTF::setLayerPropertiesForTesting):
(CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::CCLayerTreeHostTestLayerOcclusion):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusion::afterTest):

  • tests/Canvas2DLayerChromiumTest.cpp:

(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeLayerTextureUpdater::setOpaquePaintRect):
(FakeLayerTextureUpdater):
(WTF::FakeTiledLayerChromium::paintContentsIfDirty):
(WTF::FakeLayerTextureUpdater::prepareToUpdate):
(WTF::TEST):
(WTF):

19:53 Changeset [106323] by caio.oliveira@openbossa.org

Add ElementAttributeData class to replace internal uses of NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=77233

Reviewed by Andreas Kling.

Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
the first step toward the goal of separating NamedNodeMap from internal attribute
storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.

The internal attribute storage is exposed as attributeData() in Element, and when
necessary (because it has no back pointer to Element) via methods in Element.

No new tests. Except from setClass() change this is just moving the code, no new
feature was added.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/Element.cpp:

(WebCore::Element::idAttributeChanged):

  • dom/Element.h:

(WebCore::Element::attributeData):
(WebCore::Element::ensureAttributeData):
(Element):
(WebCore::Element::idForStyleResolution):

  • dom/ElementAttributeData.cpp: Added.

(WebCore):
(WebCore::ElementAttributeData::setClass): the only caller of this function
already deal with the case when the element has no class, so don't do it here.

  • dom/ElementAttributeData.h: Added.

(WebCore):
(ElementAttributeData):
(WebCore::ElementAttributeData::clearClass):
(WebCore::ElementAttributeData::classNames):
(WebCore::ElementAttributeData::idForStyleResolution):
(WebCore::ElementAttributeData::setIdForStyleResolution):
(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::clearAttributes):

  • dom/NamedNodeMap.h:

(WebCore::NamedNodeMap::attributeData):
(NamedNodeMap):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::classAttributeChanged):

  • dom/StyledElement.h:

(WebCore::StyledElement::classNames):

  • html/ClassList.cpp:

(WebCore::ClassList::classNames):

19:28 Changeset [106322] by mrobinson@webkit.org

Small build fixes.

  • configure.ac: Correct the version number to be 1.6.2 and fix

a bad merge of gtkdoc patches.

19:14 Changeset [106321] by rniwa@webkit.org

Python code in webkit-perf.appspot.com uses camelCase
https://bugs.webkit.org/show_bug.cgi?id=77392

Reviewed by Adam Barth.

Use PEP8 style naming conventions instead of camelCase.

  • Websites/webkit-perf.appspot.com/create_handler.py:

(CreateHandler.post):
(CreateHandler._create_builder):
(CreateHandler._create_branch):
(CreateHandler._create_platform):

  • Websites/webkit-perf.appspot.com/dashboard_handler.py:

(DashboardHandler.get):

  • Websites/webkit-perf.appspot.com/manifest_handler.py:

(ManifestHandler.get):

  • Websites/webkit-perf.appspot.com/merge_tests_handler.py:

(MergeTestsHandler.post):

  • Websites/webkit-perf.appspot.com/models.py:

(create_in_transaction_with_numeric_id_holder):
(delete_model_with_numeric_id_holder):
(modelFromNumericId):
(Builder.authenticate):
(Builder.hashed_password):
(Test.cache_key):

  • Websites/webkit-perf.appspot.com/report_handler.py:

(ReportHandler.post):
(ReportHandler._model_by_key_name_in_body_or_error):
(ReportHandler._integer_in_body):
(ReportHandler._timestamp_in_body):
(ReportHandler.bypass_authentication):
(ReportHandler._results_are_valid):
(ReportHandler._results_are_valid._is_float_convertible):
(ReportHandler._create_build_if_possible):
(ReportHandler._create_build_if_possible.execute):
(ReportHandler._add_test_if_needed):
(ReportHandler._add_test_if_needed.execute):
(ReportHandler):
(AdminReportHandler.bypass_authentication):

  • Websites/webkit-perf.appspot.com/runs_handler.py:

(RunsHandler.get):

19:10 Changeset [106320] by commit-queue@webkit.org

Add Plumming to get graphics error messages to JS Console
https://bugs.webkit.org/show_bug.cgi?id=77238

Source/WebCore:

Patch by Gregg Tavares <gman@chromium.org> on 2012-01-30
Reviewed by Kenneth Russell.

No new tests. No change in behavior.

  • html/canvas/WebGLRenderingContext.cpp:

(WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
(WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
(WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
(WebCore):
(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::initializeNewContext):
(WebCore::WebGLRenderingContext::~WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.h:

(WebGLRenderingContext):

  • platform/graphics/GraphicsContext3D.h:

(ErrorMessageCallback):
(WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
(GraphicsContext3D):

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::setErrorMessageCallback):
(WebCore):

Source/WebKit/chromium:

Patch by Gregg Tavares <gman@google.com> on 2012-01-30
Reviewed by Kenneth Russell.

  • public/platform/WebGraphicsContext3D.h:

(WebGraphicsErrorMessageCallback):
(WebKit::WebGraphicsContext3D::WebGraphicsErrorMessageCallback::~WebGraphicsErrorMessageCallback):
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::setErrorMessageCallback):

  • src/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore):
(GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
(WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
(WebCore::GraphicsErrorMessageCallbackAdapter::create):
(WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):

  • src/GraphicsContext3DPrivate.h:

(WebCore):
():

18:58 Changeset [106319] by andersca@apple.com

Simplify RenderLayerCompositor::frameViewDidScroll
https://bugs.webkit.org/show_bug.cgi?id=77398

Reviewed by Sam Weinig.

Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
from the associated FrameView object.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidChangeSize):
Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.

(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

18:55 Changeset [106318] by commit-queue@webkit.org

Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
https://bugs.webkit.org/show_bug.cgi?id=76389

Patch by Pablo Flouret <pablof@motorola.com> on 2012-01-30
Reviewed by Kent Tamura.

This behavior matches the rest of the browsers.

Source/WebCore:

Test: fast/forms/select/option-selecting.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::optionSelectionStateChanged):

LayoutTests:

  • fast/forms/select/option-selecting-expected.txt: Added.
  • fast/forms/select/option-selecting.html: Added.
18:43 Changeset [106317] by andersca@apple.com

Scrollbars don't show when scrolling on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=77396
<rdar://problem/10710736>

Reviewed by Sam Weinig.

Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
since that function will end up invalidating the scrollbars correctly.

  • page/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):

18:43 Changeset [106316] by leviw@chromium.org

Layout Test plugins/crash-restoring-plugin-page-from-page-cache.html is slow on Chromium
https://bugs.webkit.org/show_bug.cgi?id=77397

Unreviewed gardening. Marking plugins/crash-restoring-plugin-page-from-page-cache.html slow
on Chromium.

  • platform/chromium/test_expectations.txt:
18:40 Changeset [106315] by haraken@chromium.org

REGRESSION(r105797): prepare-ChangeLog for a .cpp file can
output an empty method name (i.e. "()")
https://bugs.webkit.org/show_bug.cgi?id=77336

Reviewed by Darin Adler.

r105797 tried to detect a change outside methods, but it causes a bug that
prepare-ChangeLog can output an empty method name, like this:

  • foo/bar/baz.cpp: (method1): (): (method2):

This is because the cpp parser in prepare-ChangeLog cannot distinguish
'{' as the beginning of a method with '{' as the beginning of an array definition
at the top level.

int a[] = { 1, 2, 3 }; This '{' is the beginning of an array definition.

void func() { This '{' is the beginning of a method.

...;

}

This patch fixes prepare-ChangeLog so that it skips an array definition at the top level.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_cpp): Modified as described above.
(generateFunctionLists): As a hack, modified so that prepare-ChangeLog does not output
an empty method name. Ideally this should not happen but may happen, since the
parsers are not perfect.

  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests.cpp: Added test cases.

(NameSpace7):
(NameSpace8):
(Class109):

  • Scripts/webkitperl/prepare-ChangeLog_unittest/resources/cpp_unittests-expected.txt:
18:22 Changeset [106314] by oliver@apple.com

get_by_val_arguments is broken in the interpreter
https://bugs.webkit.org/show_bug.cgi?id=77389

Reviewed by Gavin Barraclough.

When get_by_val had wad a value profile added, the same slot was not added to
get_by_val_arguments. This broke the interpreter as the interpreter falls
back on its regular get_by_val implementation.

No tests are added as the interpreter is fairly broken in its
current state (multiple tests fail due to this bug).

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC):
():

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetArgumentByVal):

18:20 Changeset [106313] by leviw@chromium.org

Unreviewed, rolling out r106259.
http://trac.webkit.org/changeset/106259
https://bugs.webkit.org/show_bug.cgi?id=77395

Breaks shared builders as they also build webkittests with
-Wexit-time-destructors. (Requested by leviw on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-30

  • WebKitUnitTests.gyp:
18:11 Changeset [106312] by rniwa@webkit.org

Skip inspector tests since they have been timing out.

  • Skipped:
18:04 Changeset [106311] by andersca@apple.com

Show repaint counters in individual tiles
https://bugs.webkit.org/show_bug.cgi?id=77390
<rdar://problem/10767967>

Reviewed by Darin Adler.

  • platform/graphics/ca/mac/TileCache.h:
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::setNeedsDisplayInRect):
Make sure to invalidate the repaint counter rect if necessary.

(WebCore::TileCache::drawLayer):
Draw the repaint counter.

(WebCore::TileCache::showRepaintCounter):
New function that determines whether we should show repaint counters for the given tile cache.

  • platform/graphics/ca/mac/WebTileLayer.h:
  • platform/graphics/ca/mac/WebTileLayer.mm:

(-[WebTileLayer incrementRepaintCount]):
Add method for getting the repaint count.

17:57 Changeset [106310] by mitz@apple.com

<rdar://problem/10778045> REGRESSION (r91935): text-combine fails
https://bugs.webkit.org/show_bug.cgi?id=77373

Reviewed by Darin Adler.

Source/WebCore:

Removed tests that were failing because of this bug from the Lion skipped
list.

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:

(WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.

LayoutTests:

Removed tests that were failing because of this bug from the skipped list.

  • platform/mac-lion/Skipped:
17:36 Changeset [106309] by beidson@apple.com

Fix typo in test name from my last commit.

Spotted and rubber-stamped by Darin Adler.

  • plugins/crash-restoring-plugin-page-from-page-cache-expected.txt: Copied from plugins/crash-restoring-pluging-page-from-page-cache-expected.txt.
  • plugins/crash-restoring-plugin-page-from-page-cache.html: Copied from plugins/crash-restoring-pluging-page-from-page-cache.html.
  • plugins/crash-restoring-pluging-page-from-page-cache-expected.txt: Removed.
  • plugins/crash-restoring-pluging-page-from-page-cache.html: Removed.
17:36 Changeset [106308] by rniwa@webkit.org

Enable memcache on webkit-perf.appspot.com
https://bugs.webkit.org/show_bug.cgi?id=77378

Reviewed by Adam Barth.

Eanble memcache on dashboard, manifest, and runs handlers. Clear appropriate caches when new runs are reported,
or new models are created. We flush all caches when tests are merged since it's hard to figure out dependencies
in that case. Luckily, we merge tests only occassionally and manually (or hope so) so this shouldn't be an issue.

  • Websites/webkit-perf.appspot.com/create_handler.py:

(CreateHandler.post):

  • Websites/webkit-perf.appspot.com/dashboard_handler.py:

(DashboardHandler.get):

  • Websites/webkit-perf.appspot.com/manifest_handler.py:

(ManifestHandler.get):

  • Websites/webkit-perf.appspot.com/merge_tests_handler.py:

(MergeTestsHandler.post):

  • Websites/webkit-perf.appspot.com/models.py:

(createInTransactionWithNumericIdHolder):
(Test):
(Test.cacheKey):

  • Websites/webkit-perf.appspot.com/report_handler.py:

(ReportHandler.post):
(ReportHandler._addTestIfNeeded):

  • Websites/webkit-perf.appspot.com/runs_handler.py:

(RunsHandler.get):

17:25 Changeset [106307] by commit-queue@webkit.org

BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
https://bugs.webkit.org/show_bug.cgi?id=77361

Though we have a proxy configured, we might not have the auth
credentials it requires. Support Proxy-Authenticate for that case.

Patch by Christopher Hutten-Czapski <chutten@rim.com> on 2012-01-30
Reviewed by George Staikos.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyHeaderReceived):
(WebCore::NetworkJob::handleAuthHeader):
(WebCore::NetworkJob::sendRequestWithCredentials):

  • platform/network/blackberry/NetworkJob.h:
  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob):

17:23 Changeset [106306] by jamesr@google.com

[chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
https://bugs.webkit.org/show_bug.cgi?id=77247

Reviewed by Kenneth Russell.

The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
requiring that we retry initialization with different settings. For all other settings we set the capabilities
bit to true if the setting is requested and if the required capabilities exist on the underlying context.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::initialize):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

17:10 Changeset [106305] by beidson@apple.com

<rdar://problem/10707072>
Crashes in WebProcess at WebCore::Node::rendererIsNeeded

Reviewed by Darin Adler.

Source/WebCore:

In specific circumstances a plugin element can be without a render style at the point in time where
the page navigated and enters the page cache.

When this is the cash, the element should not enter into the "custom style for renderer" mode and should
instead use the default render style machinery.

Test: plugins/crash-restoring-pluging-page-from-page-cache.html

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and

forceRecalc if there actually is a custom style to be used.

(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there

actually was a custom style to be cleared.

(WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a

custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
not exist.

LayoutTests:

  • plugins/crash-restoring-pluging-page-from-page-cache-expected.txt: Added.
  • plugins/crash-restoring-pluging-page-from-page-cache.html: Added.
17:07 Changeset [106304] by andersca@apple.com

Show debug borders for individual tile cache tiles
https://bugs.webkit.org/show_bug.cgi?id=77388

Reviewed by Sam Weinig.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::updateDebugIndicators):
Give tile cache tiles a thin dark blue border.

  • platform/graphics/ca/mac/TileCache.h:

(WebCore::TileCache::tileDebugBorderWidth):
(WebCore::TileCache::tileDebugBorderColor):
Add getters and member variables for the tile debug border width and color.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::TileCache):
Initialize m_tileDebugBorderWidth.

(WebCore::TileCache::setTileDebugBorderWidth):
Update the border width of each tile layer.

(WebCore::TileCache::setTileDebugBorderColor):
Update the border color of each tile layer.

(WebCore::TileCache::createTileLayer):
Set the border color and border width.

  • platform/graphics/ca/mac/WebTileCacheLayer.h:
  • platform/graphics/ca/mac/WebTileCacheLayer.mm:

(-[WebTileCacheLayer borderColor]):
(-[WebTileCacheLayer setBorderColor:]):
(-[WebTileCacheLayer borderWidth]):
(-[WebTileCacheLayer setBorderWidth:]):
Call through to the TileCache.

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):
Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.

17:07 Changeset [106303] by eae@chromium.org

Change computed style calculations to round/truncate values at query as opposed to computation time to avoid loosing precision when adjusting values for zoom.

17:04 Changeset [106302] by ojan@chromium.org

run-webkit-tests calls out to webkit-build-directory twice
https://bugs.webkit.org/show_bug.cgi?id=77248

Reviewed by Dirk Pranke.

This reduces to calls to webkit-build-directory to one call and
saves 500ms for run-webkit-tests over a single file.

  • Scripts/webkit-build-directory:

If called with no arguments, print out both the top-level directory and the
configuration directory.

  • Scripts/webkit-build-directory:
  • Scripts/webkitpy/layout_tests/port/config.py:

(Config.build_directory):
When called with no arguments, get and cache both the top-level and configuration directories.

  • Scripts/webkitpy/layout_tests/port/config_standalone.py:

(main):

  • Scripts/webkitpy/layout_tests/port/config_unittest.py:

(ConfigTest.assert_configuration):
(ConfigTest.test_build_directory.mock_webkit_build_directory):
(ConfigTest.test_build_directory):
(ConfigTest.test_default_configurationnotfound):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort._build_path):
Cache the root directory in the options object so that other users
of the options object don't need to call out to webkit-build-directory.

16:35 Changeset [106301] by commit-queue@webkit.org

single-file input elements should refuse multi-file drags
https://bugs.webkit.org/show_bug.cgi?id=25913

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-01-30
Reviewed by Eric Seidel.

Refuse the multiple file drags onto a single file input element.

Source/WebCore:

No new tests: Covered by existing tests, updated the expected results.

  • page/DragController.cpp:

(WebCore::DragController::tryDocumentDrag):
Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
file input element under mouse is single input type and number of files dragged onto that
input element are more than 1.

LayoutTests:

  • editing/pasteboard/file-input-files-access-expected.txt:

Expected result changed.

  • editing/pasteboard/script-tests/file-input-files-access.js:

(runTest):
Removed the 'FIXME' debug and comment as it is not valid after this change.

16:29 Changeset [106300] by commit-queue@webkit.org

[chromium] Use region reported painted opaque for draw culling
https://bugs.webkit.org/show_bug.cgi?id=76015

Patch by Dana Jansens <danakj@chromium.org> on 2012-01-30
Reviewed by James Robinson.

Source/WebCore:

New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setOpaque):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(UpdatableTile):
(WebCore::TiledLayerChromium::pushPropertiesTo):
(WebCore::TiledLayerChromium::prepareToUpdateTiles):

  • platform/graphics/chromium/cc/CCDrawQuad.cpp:

(WebCore::CCDrawQuad::opaqueRect):
(WebCore):

  • platform/graphics/chromium/cc/CCDrawQuad.h:

(CCDrawQuad):
(WebCore::CCDrawQuad::needsBlending):

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

(WebCore::CCQuadCuller::cullOccludedQuads):

  • platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:

(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):

  • platform/graphics/chromium/cc/CCTileDrawQuad.cpp:

(WebCore::CCTileDrawQuad::create):
(WebCore::CCTileDrawQuad::CCTileDrawQuad):

  • platform/graphics/chromium/cc/CCTileDrawQuad.h:

(CCTileDrawQuad):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:

(DrawableTile):
(WebCore::DrawableTile::opaqueRect):
(WebCore::DrawableTile::setOpaqueRect):
(WebCore::CCTiledLayerImpl::appendQuads):
(WebCore::CCTiledLayerImpl::pushTileProperties):

  • platform/graphics/chromium/cc/CCTiledLayerImpl.h:

(CCTiledLayerImpl):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostImplTest.cpp:

(WebKit::BlendStateCheckLayer::appendQuads):
(WebKit::BlendStateCheckLayer::setOpaqueColor):
(BlendStateCheckLayer):
(WebKit::BlendStateCheckLayer::BlendStateCheckLayer):
(WebKit::TEST_F):

  • tests/CCQuadCullerTest.cpp:

(WebCore::MakeTileQuad):
(WebCore::setQuads):
(WebCore::TEST):
(WebCore):

  • tests/CCTiledLayerImplTest.cpp:

(CCLayerTestCommon::createLayer):
(CCLayerTestCommon::TEST):
(CCLayerTestCommon::getQuads):
(CCLayerTestCommon::coverageVisibleRectOnTileBoundaries):
(CCLayerTestCommon::coverageVisibleRectIntersectsTiles):
(CCLayerTestCommon::coverageVisibleRectIntersectsBounds):
(CCLayerTestCommon):

LayoutTests:

  • platform/chromium-linux/compositing/iframes/iframe-in-composited-layer-expected.png:
  • platform/chromium-mac-leopard/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
  • platform/chromium-win/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Removed.
  • platform/chromium/fast/repaint/block-selection-gap-in-composited-layer-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/repaint/block-selection-gap-in-composited-layer-expected.png.
  • platform/chromium/test_expectations.txt:
16:22 Changeset [106299] by commit-queue@webkit.org

[Chromium] Unreviewed test expectation change.
Remove passing media/media-blocked-by-beforeload.html from test_expectations.txt
after r103509

Patch by Shadi Khalek <shadi@chromium.org> on 2012-01-30

  • platform/chromium/test_expectations.txt:
16:18 Changeset [106298] by rniwa@webkit.org

Crash in previousLinePosition when moving into a root inline box without leaves
https://bugs.webkit.org/show_bug.cgi?id=76812

Reviewed by Enrica Casucci.

Source/WebCore:

The crash was caused by us assuming that every root inline box has at least one leaf,
which isn't true when we create inline boxes for an empty text run with margin, border, etc...

Test: editing/selection/move-into-empty-root-inline-box.html

  • editing/visible_units.cpp:

(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

LayoutTests:

Add a regression test for the crash. Unfortunately, we can only test previousLinePosition.

  • editing/selection/move-into-empty-root-inline-box-expected.txt: Added.
  • editing/selection/move-into-empty-root-inline-box.html: Added.
15:59 Changeset [106297] by oliver@apple.com

Unexpected syntax error
https://bugs.webkit.org/show_bug.cgi?id=77340

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Function calls and new expressions have the same semantics for
assignment, so should simply share their lhs handling.

  • parser/Parser.cpp:

(JSC::::parseMemberExpression):

LayoutTests:

Add new tests for correct parsing of new expressions

  • fast/js/parser-syntax-check-expected.txt:
  • fast/js/script-tests/parser-syntax-check.js:

(runTest):
(invalid):

15:56 Changeset [106296] by barraclough@apple.com

Unreviewed ARMv7 build fix.

  • tools/CodeProfiling.cpp:

(JSC):
(JSC::setProfileTimer):
(JSC::CodeProfiling::begin):
(JSC::CodeProfiling::end):

15:35 Changeset [106295] by levin@chromium.org

Using OS(WIN) or OS(MAC) should cause a build error.
https://bugs.webkit.org/show_bug.cgi?id=77162

Reviewed by Darin Adler.

  • wtf/Platform.h: Expand them into something that will cause a compile error.
15:16 Changeset [106294] by tony@chromium.org

css3/flexbox/cross-axis-scrollbar.html ref test fails on Windows Chromium bots
https://bugs.webkit.org/show_bug.cgi?id=77309

Reviewed by Dirk Pranke.

It looks like the scrollbars on windows overflow by a pixel, so the
edge of the scrollbar is being covered up by the trailing green box.
Use z-order to force the scrollbar on top.

This is kind of speculative. I want to see if the test passes on the
bots before removing the line in test_expectations.txt.

  • css3/flexbox/cross-axis-scrollbar-expected.html:
15:16 Changeset [106293] by ojan@chromium.org

Parsing test_expecations.txt + Skipped lists takes too long
https://bugs.webkit.org/show_bug.cgi?id=77059

Reviewed by Dirk Pranke.

This saves ~100ms on the Apple Mac port.
-memoize a bunch of path methods.
-Avoid doing multiple disk accesses per line.
-Parse the skipped list directly instead of turning it into a test_expecations.txt
formatting string and parsing that.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser):
(TestExpectationParser.expectation_for_skipped_test):
(TestExpectationParser._parse_line):
(TestExpectationParser._collect_matching_tests):
(TestExpectations.init):
(TestExpectations._add_skipped_tests):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(test_add_skipped_tests):
(test_add_skipped_tests_duplicate):

  • Scripts/webkitpy/layout_tests/port/base.py:

(Port):
(Port.test_isfile):
(Port.normalize_test_name):
(Port.layout_tests_dir):
(Port.abspath_for_test):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
15:06 Changeset [106292] by rniwa@webkit.org

webkit-perf.appspot.com should have an ability to merge tests
https://bugs.webkit.org/show_bug.cgi?id=77250

Reviewed by Adam Barth.

Added admin/merge-tests. This page allows administrators to easily merge test objects.

Also add the forgotten title.png and rename api/create to admin/create since we don't allow
non-admins to create new models anyway.

  • Websites/webkit-perf.appspot.com/app.yaml:
  • Websites/webkit-perf.appspot.com/css: Added.
  • Websites/webkit-perf.appspot.com/css/title.png: Added.
  • Websites/webkit-perf.appspot.com/main.py:
  • Websites/webkit-perf.appspot.com/merge_tests.yaml: Added.
  • Websites/webkit-perf.appspot.com/merge_tests_handler.py: Added.

(MergeTestHandler):
(MergeTestHandler.get):
(MergeTestHandler.post):

  • Websites/webkit-perf.appspot.com/models.py:

(deleteModelWithNumericIdHolder):

  • Websites/webkit-perf.appspot.com/static/create-models.html:
14:54 Changeset [106291] by leviw@chromium.org

!m_insideRegionPaint assertion in RenderRegion.cpp is invalid
https://bugs.webkit.org/show_bug.cgi?id=77372

Reviewed by David Hyatt.

Removing the !m_insideRegionPaint assertion that's in three functions in
RenderRegion. It's triggering in numerous layout tests and isn't valid.

No new tests as this just removes assertions.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):

14:48 Changeset [106290] by commit-queue@webkit.org

[BlackBerry] OS(QNX) also has TM_GMTOFF, TM_ZONE, and TIMEGM
https://bugs.webkit.org/show_bug.cgi?id=77360

Patch by Yong Li <yoli@rim.com> on 2012-01-30
Reviewed by Rob Buis.

Turn on HAVE(TM_GMTOFF), HAVE(TM_ZONE), and HAVE(TIMEGM)
for OS(QNX).

  • wtf/Platform.h:
14:10 Changeset [106289] by enne@google.com

[chromium] Always pre-reserve scrollbar and scroll corner textures
https://bugs.webkit.org/show_bug.cgi?id=77251

Reviewed by James Robinson.

Source/WebCore:

Add a flag to LayerChromium that says that a layer's textures should
always be reserved. Prior to painting layers, find all layers marked
as such and reserve their textures. This will prevent texture memory
limits from being hit before the root layer's scrollbars are reserved
and painted.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):
(WebCore::LayerChromium::reserveTextures):
(WebCore::LayerChromium::setAlwaysReserveTextures):
(WebCore::LayerChromium::alwaysReserveTextures):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::reserveTextures):

  • platform/graphics/chromium/TiledLayerChromium.h:

():

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::reserveTextures):
(WebCore):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

():

Source/WebKit/chromium:

  • src/NonCompositedContentHost.cpp:

(WebKit::reserveScrollbarLayers):
(WebKit):
(WebKit::NonCompositedContentHost::setViewport):

14:07 Changeset [106288] by barraclough@apple.com

Speculative Windows build fix.

  • assembler/MacroAssemblerCodeRef.h:

(FunctionPtr):

14:01 Changeset [106287] by jocelyn.turcotte@nokia.com

[Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
https://bugs.webkit.org/show_bug.cgi?id=77362

Reviewed by Noam Rosenthal.

This fixes crashes seen in layout tests under certain timing circumstances
that appeared after r106109 was landed.

  • WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:

(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):

13:44 Changeset [106286] by bdakin@apple.com

Speculative 32-bit build-fix.

  • WebCore.exp.in:
13:22 Changeset [106285] by leviw@chromium.org

Unreviewed gardening. Marking fast/js/dfg-int32array-overflow-values.html as slow
for Chromium Debug bots.

  • platform/chromium/test_expectations.txt:
13:21 Changeset [106284] by rniwa@webkit.org

Roll Chromium DEPS from 119623 to 119700.

  • DEPS:
13:19 Changeset [106283] by leviw@chromium.org

fast/css/fontsize-unit-rems-crash.html should use dumpAsText
https://bugs.webkit.org/show_bug.cgi?id=77351

Reviewed by Simon Fraser.

Switching the above test to only use text results as the html element is display:none.

  • fast/css/fontsize-unit-rems-crash-expected.txt:
  • fast/css/fontsize-unit-rems-crash.html:
13:15 Changeset [106282] by alexis.menard@openbossa.org

Unreviewed. Add myself to CSS, GStreamer, Qt related watchlists.

  • Scripts/webkitpy/common/config/watchlist:
13:11 Changeset [106281] by mihnea@adobe.com

[CSSRegions]Add support for background-color in region styling
https://bugs.webkit.org/show_bug.cgi?id=71488

Reviewed by David Hyatt.

Source/WebCore:

Based on work by Alexandru Chiculita (achicu@adobe.com).
Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
(including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
Step1: before each region is repainted, we compute the style for each box that falls into the region
Step2: before paint, we store the box original style
Step3: paint the region contents using the style in region
Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)

Tests for region styling are also enabled with this patch.

  • WebCore.exp.in:
  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
(WebCore::RenderFlowThread::setRegionRangeForBox):

  • rendering/RenderFlowThread.h:

():

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::hitTest):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:

(WebCore::RenderObject::style):
(RenderObject):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::setRegionBoxesRegionStyle):
(WebCore):
(WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::takeRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
(WebCore::RenderRegion::renderBoxRegionStyle):
(WebCore::RenderRegion::computeStyleInRegion):
(WebCore::RenderRegion::clearBoxStyleInRegion):

  • rendering/RenderRegion.h:

(RenderRegion):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:

(WebCore):
(RenderView):

LayoutTests:

Enable the region styling tests again.

  • platform/mac-snowleopard/Skipped:
13:08 Changeset [106280] by jberlin@webkit.org

WebCore build exceeds address space on 32-bit Windows builders (again).
https://bugs.webkit.org/show_bug.cgi?id=77357

Reviewed by Adam Roben.

Add an Inspector All-In-One file, but only use it in Release and Production builds.
This differs from our other All-In-One files, but it is a better approach because it makes
debugging possible in the Debug configuration (the symbols will be in the correct .obj file
for the original .cpp files).

  • WebCore.vcproj/WebCore.vcproj:

Also, let VS have its way with the vcproj file.

  • inspector/InspectorAllInOne.cpp: Added.
13:07 Changeset [106279] by jsbell@chromium.org

IndexedDB: Add tests for structured clone data
https://bugs.webkit.org/show_bug.cgi?id=74897

Validate that the types listed in the HTML5 "structured clone algorithm"
round trip properly through Indexed DB storage. Types with incomplete
support in the Chromium port are excluded (http://crbug.com/108012).
Landing disabled since cr-linux is failing test for unknown reasons.

Reviewed by Tony Chang.

  • platform/chromium/test_expectations.txt:
  • storage/indexeddb/resources/test-data.html: Added.
  • storage/indexeddb/resources/test-data.txt: Added.
  • storage/indexeddb/structured-clone-expected.txt: Added.
  • storage/indexeddb/structured-clone.html: Added.
12:59 Changeset [106278] by mdelaney@apple.com

Limit periodic flushing inside ImageBufferCG to just Lion
https://bugs.webkit.org/show_bug.cgi?id=77353
<rdar://problem/10328309>

Reviewed by Chris Marrin.

  • platform/graphics/cg/ImageBufferCG.cpp:
  • platform/graphics/cg/ImageBufferDataCG.h:
12:57 Changeset [106277] by barraclough@apple.com

https://bugs.webkit.org/show_bug.cgi?id=77163
MacroAssemblerCodeRef.h uses OS(WIN) instead of OS(WINDOWS)

Rubber stamped by Geoff Garen

  • assembler/MacroAssemblerCodeRef.h:
12:38 Changeset [106276] by barraclough@apple.com

Unreviewed build fix for interpreter builds.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • tools/CodeProfile.cpp:

(JSC::CodeProfile::sample):

12:25 Changeset [106275] by tommyw@google.com

Memory leak caused by PeerConnection add a NULL media stream
https://bugs.webkit.org/show_bug.cgi?id=76150

Source/WebCore:

It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
null or undefined arguments, it doesn't. Added checks for null pointers.

Reviewed by Adam Barth.

Test: fast/mediastream/peerconnection-addstream.html

  • mediastream/PeerConnection.cpp:

(WebCore::PeerConnection::addStream):
(WebCore::PeerConnection::removeStream):

LayoutTests:

Added a basic LayoutTest for null/undefined arguments to PeerConnection::addStream().

Reviewed by Adam Barth.

  • fast/mediastream/peerconnection-addstream-expected.txt: Added.
  • fast/mediastream/peerconnection-addstream.html: Added.
  • fast/mediastream/script-tests/peerconnection-addstream.js: Added.
12:01 Changeset [106274] by aestes@apple.com

[Windows] Optionally invert colors when drawing to a WebView's backing store.
https://bugs.webkit.org/show_bug.cgi?id=77168

Reviewed by Sam Weinig.

Source/WebCore:

  • css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is

not converted to a CSS value. Exposing a new compositing operation to
CSS is outside the scope of this patch.
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • platform/graphics/GraphicsTypes.h: Add CompositeDifference as a

CompositeOperator. Also, remove an outdated comment.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation): Map
CompositeDifference to kCGBlendModeDifference.

Source/WebKit/win:

  • WebView.cpp:

(WebView::WebView): Initialize m_shouldInvertColors to false.
(WebView::paintIntoBackingStore): If m_shouldInvertColors is true, draw
an opaque white quad using the CompositeDifference blend mode. This
blend operation instructs CoreGraphics to take the difference between
the source pixel (white) and the background pixel, resulting in an
inverted pixel.

  • WebView.h: Define m_shouldInvertColors.
11:50 Changeset [106273] by mdelaney@apple.com

Limit the shadow offset CG hack to just SL and Lion
https://bugs.webkit.org/show_bug.cgi?id=77348
<rdar://problem/10158016>

Reviewed by Chris Marrin.

No new tests, current tests cover this.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformShadow):

11:47 Changeset [106272] by mrobinson@webkit.org

Update NEWS and libtool version in preparation for the 1.6.2 release

11:47 Changeset [106271] by bdakin@apple.com

https://bugs.webkit.org/show_bug.cgi?id=77263
PlatformScreenMac should not rely on NSWindow for important bits of data

Reviewed by Geoff Garen.

../WebCore:

The main problem is that we cannot rely on the NSWindow for information about
the deviceScaleFactor because we cannot access an NSWindow from within
WebCore for WebKit2 windows. Instead, we can fetch it from
WebCore::deviceScaleFactor(), but we need a Frame to call that. So
screenAvailableRect and screenRect both now take a FrameView* instead of a
Widget*. All existing call sites actually sent a FrameView in anyway, so this
is not a big change, but it does require touching a lot of platforms.

  • WebCore.exp.in:
  • platform/PlatformScreen.h:

(WebCore):

  • platform/blackberry/PlatformScreenBlackBerry.cpp:

(WebCore::screenAvailableRect):
(WebCore::screenRect):

  • platform/chromium/PlatformScreenChromium.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):
():

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/qt/PlatformScreenQt.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

  • platform/wx/ScreenWx.cpp:

(WebCore::screenRect):
(WebCore::screenAvailableRect):

The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to
take a parameter for the deviceScaleFactor.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenRect):
(WebCore::screenAvailableRect):
(WebCore::toUserSpace):
(WebCore::toDeviceSpace):

../WebKit/chromium:

These two functions now take a FrameView instead of a Widget.

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::screenRect):
(WebCore::PlatformSupport::screenAvailableRect):

../WebKit/mac:

toUserSpace() and toDeviceSpace() now take a parameter for the
deviceScaleFactor.

  • WebCoreSupport/WebChromeClient.mm:

(windowScaleFactor):
(WebChromeClient::setWindowRect):
(WebChromeClient::windowRect):

../WebKit2:

toUserSpace() and toDeviceSpace() now take a parameter for the
deviceScaleFactor.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _convertToDeviceSpace:]):
(-[WKView _convertToUserSpace:]):

11:38 WebKitGTK/1.6.x edited by mrobinson@webkit.org
(diff)
11:37 WebKitGTK/1.6.x edited by mrobinson@webkit.org
(diff)
11:37 Changeset [106270] by mrobinson@webkit.org

Merging r102958

11:35 Changeset [106269] by mrobinson@webkit.org

Merging r100725

11:33 Changeset [106268] by mrobinson@webkit.org

Merging r98699

11:32 Changeset [106267] by mrobinson@webkit.org

Mergigg r97979

11:28 Changeset [106266] by leviw@chromium.org

Enable web intents layout tests for Chromium build.
https://bugs.webkit.org/show_bug.cgi?id=77347

Patch by Greg Billock <gbillock@google.com> on 2012-01-30
Reviewed by Ryosuke Niwa.

  • platform/chromium/test_expectations.txt:
11:28 Changeset [106265] by mrobinson@webkit.org

Merging r97913

11:26 Changeset [106264] by barraclough@apple.com

Unreviewed build fix following bug#76855

Source/JavaScriptCore:

Tools:

  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:

():
(TestWebKitAPI::TEST_F):

11:23 Changeset [106263] by mrobinson@webkit.org

Merging r97901

11:16 Changeset [106262] by mrobinson@webkit.org

Merging r97269

11:13 Changeset [106261] by mrobinson@webkit.org

Merging r96378

11:09 Changeset [106260] by msaboff@apple.com

CaseFoldingHash::hash() doesn't handle 8 bit strings directly
https://bugs.webkit.org/show_bug.cgi?id=76652

Reviewed by Andreas Kling.

  • wtf/text/StringHash.h:

(WTF::CaseFoldingHash::hash): Added 8 bit string code path.

11:06 Changeset [106259] by commit-queue@webkit.org

[chromium] enable -Wexit-time-destructors for webkit unit tests
https://bugs.webkit.org/show_bug.cgi?id=77300

Patch by Ami Fischman <fischman@chromium.org> on 2012-01-30
Reviewed by Tony Chang.

  • WebKitUnitTests.gyp: Enable clang check for exit time destructors.
10:52 Changeset [106258] by antti@apple.com

Kill CSSMutableStyleDeclarationConstIterator
https://bugs.webkit.org/show_bug.cgi?id=77342

Reviewed by Sam Weinig.

CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.

  • css/CSSMutableStyleDeclaration.cpp:

(WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
(WebCore::CSSMutableStyleDeclaration::parseDeclaration):
(WebCore::CSSMutableStyleDeclaration::addParsedProperties):
(WebCore::CSSMutableStyleDeclaration::addParsedProperty):
(WebCore::CSSMutableStyleDeclaration::merge):
(WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):

  • css/CSSMutableStyleDeclaration.h:

(WebCore):
(WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
(CSSMutableStyleDeclaration):

  • css/CSSStyleDeclaration.cpp:

(WebCore::CSSStyleDeclaration::CSSStyleDeclaration):

  • css/CSSStyleDeclaration.h:

(CSSStyleDeclaration):
():

  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::styleForKeyframe):
(WebCore::CSSStyleSelector::applyDeclaration):

  • editing/EditingStyle.cpp:
10:51 Changeset [106257] by msaboff@apple.com

stringProtoFuncReplace converts 8 bit strings to 16 bit during replacement
https://bugs.webkit.org/show_bug.cgi?id=76651

Reviewed by Geoffrey Garen.

Made local function substituteBackreferencesSlow a template function
based on character width. Cleaned up getCharacters() in both UString
and StringImpl. Changed getCharacters<UChar> to up convert an 8 bit
string to 16 bits if necessary.

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):
(JSC::substituteBackreferences):

  • runtime/UString.h:

(JSC::LChar):
(JSC::UChar):

  • wtf/text/StringImpl.h:

(WTF::UChar):

10:50 WebKitGTK/1.6.x edited by mrobinson@webkit.org
(diff)
10:36 Changeset [106256] by tommyw@google.com

[chromium] MediaStream API: Fix a few memory leaks
https://bugs.webkit.org/show_bug.cgi?id=77334

Reviewed by Darin Fisher.

It seems that either the behaviour of WebPrivatePtr has changed or I misunderstood
something, but I fixed a memory leak in WebMediaStreamDescriptor and safeguarded
WebMediaStreamSource.

  • public/platform/WebMediaStreamDescriptor.h:

(WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):

  • public/platform/WebMediaStreamSource.h:

(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::operator=):
(WebMediaStreamSource):

  • src/WebMediaStreamDescriptor.cpp:

(WebKit::WebMediaStreamDescriptor::assign):

  • src/WebMediaStreamSource.cpp:

(WebKit::WebMediaStreamSource::assign):
(WebKit):

10:28 Changeset [106255] by barraclough@apple.com

Clean up putDirect
https://bugs.webkit.org/show_bug.cgi?id=76232

Reviewed by Sam Weinig.

Part 3 - merge op_put_getter & op_put_setter.

Putting these separately is inefficient (and makes future optimiation,
e.g. making GetterSetter immutable) harder. Change to emit a single
op_put_getter_setter bytecode op. Ultimately we should probably be
able to merge this with put direct, to create a common op to initialize
object literal properties.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC):
():

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitPutGetterSetter):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitBytecode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:

(JIT):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_getter_setter):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_put_getter_setter):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:

():

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectVirtual):
(JSC::JSObject::putDirectAccessor):
(JSC):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnProperty):

  • runtime/JSObject.h:

():
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirect):
(JSC::JSObject::putDirectWithoutTransition):

10:22 Changeset [106254] by msaboff@apple.com

Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=76649

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Source/WebCore:

No functionality change, therefore no new tests.

Added 8 bit patch for parseSimpleLengthValue().

  • css/CSSParser.cpp:

(WebCore::parseSimpleLengthValue):

10:10 Changeset [106253] by msaboff@apple.com

WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
https://bugs.webkit.org/show_bug.cgi?id=76648

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Added a new overloaded append member that takes a String& argument, an offest
and a length to do direct sub string appending to a StringBuilder.

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::append):

Source/WebCore:

Using new overloaded append(String&, offset, length) member to build result string.
The new member properly handles 8/16 bit-ness of strings.

Functionality not changed, therefore no new tests.

  • platform/text/DecodeEscapeSequences.h:

(WebCore::decodeEscapeSequences):

09:53 Changeset [106252] by pfeldman@chromium.org

Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.

  • inspector/front-end/BreakpointsSidebarPane.js:

(WebInspector.EventListenerBreakpointsSidebarPane):

09:31 Changeset [106251] by commit-queue@webkit.org

REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
https://bugs.webkit.org/show_bug.cgi?id=61989

Patch by Parag Radke <nrqv63@motorola.com> on 2012-01-30
Reviewed by Simon Fraser.

Source/WebCore:

According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
of the root element. In this case as HTML element has a property 'display:none' and hence renderer
is NULL causes this crash.

Test: fast/css/fontsize-unit-rems-crash.html

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLengthDouble):
Added a null check for the root element's RenderStyle as it can be null in case of html has a property
hidden or display:none.

LayoutTests:

Added a test case to check rems unit (css3) with html property display:none.

  • fast/css/fontsize-unit-rems-crash-expected.txt: Added.
  • fast/css/fontsize-unit-rems-crash.html: Added.
09:27 Changeset [106250] by jocelyn.turcotte@nokia.com

[Qt] WKTR: Use a software rendering pipiline when running tests.
https://bugs.webkit.org/show_bug.cgi?id=76708

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

  • platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.

(WebCore::TextureMapperQt::setGraphicsContext):

  • platform/graphics/qt/TextureMapperQt.h:

(WebCore::TextureMapperQt::initialize):

Source/WebKit2:

Animation layout tests require the graphics layers tree to be updated
to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
prevents the rendering pipeline to run and then in turn blocks the web
process from processing further graphics layer updates.

This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
message queue and render the layers in software on an offscreen buffer.

  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::paint):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::setNeedsDisplay):
(QQuickWebViewExperimental::setRenderToOffscreenBuffer):
(QQuickWebViewExperimental::renderToOffscreenBuffer):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate::setRenderToOffscreenBuffer):
(QQuickWebViewPrivate::renderToOffscreenBuffer):

  • UIProcess/qt/LayerTreeHostProxyQt.cpp:

(WebKit::LayerTreeHostProxy::paintToGraphicsContext):

Tools:

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::WrapperWindow):
(WTR::PlatformWebView::PlatformWebView): Use software rendering of layers since the wrapping QQuickView isn't shown.

LayoutTests:

  • platform/qt-wk2/Skipped:
09:19 Changeset [106249] by abecsi@webkit.org

[Qt][WK2] Render layers do not get flushed when the scroll animation finishes
https://bugs.webkit.org/show_bug.cgi?id=77338

Reviewed by Noam Rosenthal.

Schedule a layer flush when setting the visible content rect and scale.

Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):

08:58 Changeset [106248] by enrica@apple.com

Remove all references to NSPasteboard objects from the Pasteboard
class interface on Mac.
https://bugs.webkit.org/show_bug.cgi?id=77261

This is cleanup work needed as first step in the direction of
removing access to NSPasteboard from the WebProcess.
This way all access to the NSPasteboard object are internal to
the class.
Removed static methods taking NSPasteboard as paramenter and changed
the constructor of the class to take the pasteboard name instead of
the NSPasteboard object.

Reviewed by Alexey Proskuryakov.

No new tests. There is no change in behavior.

  • editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.

(WebCore):

  • editing/Editor.h: Ditto.

(Editor):
():

  • editing/mac/EditorMac.mm:

(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::Editor::readSelectionFromPasteboard):

  • platform/Pasteboard.h:

(Pasteboard):

  • platform/mac/ClipboardMac.mm:

(WebCore::ClipboardMac::writeRange):
(WebCore::ClipboardMac::writePlainText):
(WebCore::ClipboardMac::writeURL):

  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asPlainText):
(WebCore::DragData::asURL):
(WebCore::DragData::asFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeSelectionForTypes): Added.
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeURLForTypes): Added.
(WebCore::Pasteboard::writeURL):
(WebCore::Pasteboard::writeImage):

08:46 Changeset [106247] by antti@apple.com

Reduce non-CSSOM API of CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=77299

Reviewed by Andreas Kling.

../WebCore:

CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only.
This will move us closer to being able to split the CSSOM API from the internal implementation.

  • Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
  • Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
  • Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
  • Switch a bunch of places to use internal API instead of CSSOM.
  • bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:

(WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
(WebCore::V8CSSStyleDeclaration::namedPropertySetter):

Switch to *Internal versions of the CSSOM functions.


  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
(WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):

Move copyPropertiesInSet to subclasses, devirtualize.


(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
(WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
(WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
(WebCore::CSSComputedStyleDeclaration::setProperty):
(WebCore::CSSComputedStyleDeclaration::removeProperty):

  • css/CSSComputedStyleDeclaration.h:

(CSSComputedStyleDeclaration):

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::cssText):

  • css/CSSMutableStyleDeclaration.cpp:

(WebCore::CSSMutableStyleDeclaration::length):
(WebCore::CSSMutableStyleDeclaration::asText):
(WebCore::CSSMutableStyleDeclaration::cssText):
(WebCore):
(WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSMutableStyleDeclaration::getPropertyValue):
(WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
(WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
(WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
(WebCore::CSSMutableStyleDeclaration::setProperty):
(WebCore::CSSMutableStyleDeclaration::removeProperty):
(WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):

Move copyPropertiesInSet to subclasses, devirtualize.


(WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
(WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):

Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
this object instead of the argument object.


  • css/CSSMutableStyleDeclaration.h:

(CSSMutableStyleDeclaration):
(WebCore::CSSMutableStyleDeclaration::propertyCount):
(WebCore::CSSMutableStyleDeclaration::isEmpty):
(WebCore::CSSMutableStyleDeclaration::propertyAt):

Expose properties and property count internally (iterator should be removed in favor of these).


  • css/CSSStyleDeclaration.cpp:

(WebCore):

  • css/CSSStyleDeclaration.h:

(CSSStyleDeclaration):
(WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::CSSStyleDeclaration::getPropertyValueInternal):
(WebCore::CSSStyleDeclaration::setPropertyInternal):

Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
These take propertyIDs instead of strings names.

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::cssText):

  • css/CSSStyleSelector.cpp:

(WebCore::leftToRightDeclaration):
(WebCore::rightToLeftDeclaration):
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
(WebCore::CSSStyleSelector::matchPageRulesForList):

  • css/WebKitCSSKeyframeRule.cpp:

(WebCore::WebKitCSSKeyframeRule::cssText):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
(WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
(WebCore::ApplyStyleCommand::addBlockStyle):
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):

  • editing/EditingStyle.cpp:

():
(WebCore::copyEditingProperties):
(WebCore):
(WebCore::propertyCSSValue):
(WebCore::getRGBAFontColor):
(WebCore::EditingStyle::overrideWithStyle):
(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
(WebCore::StyleChange::StyleChange):
(WebCore::fontWeightIsBold):
(WebCore::getPropertiesNotIn):
(WebCore::getIdentifierValue):
(WebCore::hasTransparentBackgroundColor):

  • editing/EditingStyle.h:


Adapt to changes.


(WebCore):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::handleStyleSpansBeforeInsertion):
(WebCore::ReplaceSelectionCommand::handleStyleSpans):

  • editing/mac/EditorMac.mm:

(WebCore::styleForSelectionStart):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::StyledMarkupAccumulator::appendElement):

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::resizeImageToFit):
(WebCore::ImageDocument::restoreImageSize):
(WebCore::ImageDocument::windowSizeChanged):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont):

  • html/canvas/CanvasStyle.cpp:

(WebCore::currentColor):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::revalidateStyle):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):

  • rendering/RenderTreeAsText.cpp:

(WebCore::isEmptyOrUnstyledAppleStyleSpan):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::getPresentationAttribute):

../WebKit/qt:

  • Api/qwebelement.cpp:

(QWebElement::styleProperty):
(QWebElement::setStyleProperty):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo):

08:40 Changeset [106246] by pfeldman@chromium.org

Web Inspector: protocol validator should fail if one of response fields turns optional
https://bugs.webkit.org/show_bug.cgi?id=76452

Reviewed by Yury Semikhatsky.

  • inspector/Inspector-0.1.json:
  • inspector/Inspector.json:
  • inspector/generate-inspector-protocol-version:

(compare_commands):
(compare_events):
(compare_params_list):
(compare_types):
(self_test):

08:17 Changeset [106245] by yurys@chromium.org

Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
https://bugs.webkit.org/show_bug.cgi?id=77326

Keyboard navigation in the detailed heap snapshot view now updates retainers view.

Reviewed by Pavel Feldman.

  • inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.

(WebInspector.DataGridNode.prototype.select):
(WebInspector.DataGridNode.prototype.deselect):

  • inspector/front-end/DetailedHeapshotView.js:

(WebInspector.DetailedHeapshotView.prototype._selectionChanged):
(WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):

08:05 BuildingQtOnLinux edited by rafael.lobo@openbossa.org
Remove --no-webkit2 flag comment, this is not important. (diff)
07:49 Changeset [106244] by yurys@chromium.org

2012-01-30 Yury Semikhatsky <yurys@chromium.org>

Unreviewed. Fix inspector front-end compilation.

07:24 Changeset [106243] by jochen@chromium.org

[chromium] remove exit time destructors from TextureManagerTest
https://bugs.webkit.org/show_bug.cgi?id=77333

Reviewed by Tony Gentilcore.

Non-trivial, global objects require an at-exit time destructor which add
unnecessary complexity and delays to shutdown.

  • tests/FakeCCLayerTreeHostClient.h: added newline at EOF
  • tests/TextureManagerTest.cpp:

(WTF::FakeTextureAllocator::~FakeTextureAllocator):
(TextureManagerTest):
(WTF::TextureManagerTest::TextureManagerTest):
(WTF::TextureManagerTest::~TextureManagerTest):
(WTF::TextureManagerTest::texturesMemorySize):
(WTF::TextureManagerTest::createTextureManager):
(WTF::TextureManagerTest::requestTexture):
(WTF::TEST_F):

07:19 Changeset [106242] by rolandsteiner@chromium.org

Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
https://bugs.webkit.org/show_bug.cgi?id=77332

Reviewed by Kent Tamura.

No new tests. (simple refactoring)

  • dom/Node.cpp:

(WebCore::Node::parentOrHostElement):

07:05 Changeset [106241] by kenneth@webkit.org

Add manual tests for tap highlighting

Rubberstamped by Simon Hausmann.

  • ManualTests/qt/tap-highlighting-colors.html: Added.
  • ManualTests/qt/tap-highlighting-images.html: Added.
  • ManualTests/qt/tap-highlighting-inlines.html: Added.
06:25 Changeset [106240] by carlosgc@webkit.org

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to

EXTRA_DIST.

  • GNUmakefile.list.am: Add missing files.

Source/WebKit2:

  • GNUmakefile.am: Add missing files.
  • WebProcess/WebPage/TapHighlightController.cpp: Add #if

ENABLE(TOUCH_EVENTS).

06:18 BuildingQtOnLinux edited by rafael.lobo@openbossa.org
Add a link to qt5 build script. (diff)
05:34 Changeset [106239] by ossy@webkit.org

[Qt][WK2] http/tests/history/replacestate-post-to-get-2.html fails with timeout
https://bugs.webkit.org/show_bug.cgi?id=76784

  • platform/qt-wk2/Skipped: Unskip now passing test.
05:28 BuildingQt5OnHarmattan edited by zarvai@inf.u-szeged.hu
(diff)
05:13 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
05:11 MiniBrowser.png attached to SettingUpDevelopmentEnvironmentForN9 by zarvai@inf.u-szeged.hu
05:10 Changeset [106238] by vsevik@chromium.org

Web Inspector: TabbedEditorContainer should save open tabs.
https://bugs.webkit.org/show_bug.cgi?id=76912

Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/tabbed-editors-history.html

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype._showFile):
(WebInspector.ScriptsPanel.prototype._updateExecutionLine):
(WebInspector.ScriptsPanel.prototype._editorSelected):
(WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
(WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
(WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):

  • inspector/front-end/TabbedEditorContainer.js:

(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype.showFile):
(WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
(WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
(WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
(WebInspector.TabbedEditorContainer.prototype._updateHistory):
(WebInspector.TabbedEditorContainer.prototype._appendFileTab):
(WebInspector.TabbedEditorContainer.prototype._tabClosed):
(WebInspector.TabbedEditorContainer.prototype._tabSelected):
(WebInspector.TabbedEditorContainer.prototype.reset):
(WebInspector.TabbedEditorContainer.History):
(WebInspector.TabbedEditorContainer.History.prototype.index):
(WebInspector.TabbedEditorContainer.History.prototype.update):
(WebInspector.TabbedEditorContainer.History.prototype.remove):
(WebInspector.TabbedEditorContainer.History.prototype.save):

  • inspector/front-end/TabbedPane.js:

(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype.closeTab):
(WebInspector.TabbedPane.prototype._innerCloseTab):
(WebInspector.TabbedPane.prototype.closeAllTabs):
(WebInspector.TabbedPane.prototype.lastOpenedTabIds):
(WebInspector.TabbedPane.prototype._tabsSelectChanged):

LayoutTests:

  • inspector/tabbed-editors-history-expected.txt: Added.
  • inspector/tabbed-editors-history.html: Added.
05:04 Changeset [106237] by apavlov@chromium.org

Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
https://bugs.webkit.org/show_bug.cgi?id=77209

Reviewed by Pavel Feldman.

Source/WebCore:

Check if the property value contains a ";" before kicking the freeflow text update.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype):

LayoutTests:

  • inspector/styles/styles-add-blank-property-expected.txt:
  • inspector/styles/styles-add-blank-property.html:
05:02 Changeset [106236] by vsevik@chromium.org

Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=77321

Reviewed by Pavel Feldman.

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.JavaScriptOutlineDialog.createShortcut):
(WebInspector.OpenResourceDialog.createShortcut):

  • inspector/front-end/ScriptsPanel.js:
05:00 Changeset [106235] by yurys@chromium.org

Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
https://bugs.webkit.org/show_bug.cgi?id=77330

Reviewed by Pavel Feldman.

  • inspector/front-end/DetailedHeapshotView.js:

(WebInspector.DetailedHeapshotView.prototype.willHide):

04:50 Changeset [106234] by commit-queue@webkit.org

[BlackBerry] Credential backing store implementation
https://bugs.webkit.org/show_bug.cgi?id=76761

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-01-30
Reviewed by Antonio Gomes.

Implemented credential backing store database and related
operations in class CredentialBackingStore.

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::CredentialBackingStore::~CredentialBackingStore):
(WebCore::CredentialBackingStore::open):
(WebCore::CredentialBackingStore::close):
(WebCore::CredentialBackingStore::addLogin):
(WebCore::CredentialBackingStore::updateLogin):
(WebCore::CredentialBackingStore::hasLogin):
(WebCore::CredentialBackingStore::getLogin):
(WebCore::CredentialBackingStore::removeLogin):
(WebCore::CredentialBackingStore::clear):

04:47 Changeset [106233] by vestbo@webkit.org

[Qt] Store build config immediately instead of waiting for a successfull build

Otherwise we will not pick up changes to the config if the build is aborted,
for example due to build errors or if the user pressed Ctrl+Z. We now write
the new config before starting a build, but still defer to write the SVN
revision once the build completes successfully.

Reviewed by Ossy.

04:36 Changeset [106232] by commit-queue@webkit.org

.: Manual test of number of resize events emitted during page generation.
https://bugs.webkit.org/show_bug.cgi?id=77212

Is needed to test if too many resize events are send when using fixed
layout, and needs to be a manual test because the test framework does
not currently support testing fixed layout.

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-01-30
Reviewed by Kenneth Rohde Christiansen.

  • ManualTests/resize-events.html: Added.

Source/WebCore: Only send resize events when layout size changes.
https://bugs.webkit.org/show_bug.cgi?id=77212

When using fixed layout the widget size is the size of content, therefore
resize checks must check against layoutsize and not widget size.

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-01-30
Reviewed by Kenneth Rohde Christiansen.

Needs to be manual tests because the test framework does not currently
support testing fixed layout.

Tests: ManualTests/resize-events.html

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::performPostLayoutTasks):

04:10 Changeset [106231] by commit-queue@webkit.org

[Qt] Add "New Window" button to the Qt MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=77281

Patch by Alexander Færøy <ahf@0x90.dk> on 2012-01-30
Reviewed by Tor Arne Vestbø.

  • MiniBrowser/qt/BrowserWindow.cpp:

(BrowserWindow::BrowserWindow):

  • MiniBrowser/qt/MiniBrowser.qrc:
  • MiniBrowser/qt/icons/plus.png: Added.
  • MiniBrowser/qt/qml/BrowserWindow.qml:
04:08 WebKitEFLLayoutTest edited by kubo@profusion.mobi
Add section on debugging (diff)
04:06 WebKitEFLLayoutTest edited by kubo@profusion.mobi
Improve formatting (diff)
04:06 Changeset [106230] by pfeldman@chromium.org

Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
https://bugs.webkit.org/show_bug.cgi?id=77301

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._registerShortcuts):

03:39 Changeset [106229] by zimmermann@webkit.org

2012-01-30 Nikolas Zimmermann <nzimmermann@rim.com>

Not reviewed. Fix Clang build for real after r106218.

  • inspector/CodeGeneratorInspector.py: (Generator.go): Add virtual destructor to the ABCs.
03:32 Changeset [106228] by commit-queue@webkit.org

No need to keep anonymous RenderBlock in DETAILS.
https://bugs.webkit.org/show_bug.cgi?id=77322

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-30
Reviewed by Hajime Morita.

Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
However, it should be removed.

No new tests. Should be covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::canMergeContiguousAnonymousBlocks):

03:20 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
03:17 Changeset [106227] by zherczeg@webkit.org

Custom written CSS lexer
https://bugs.webkit.org/show_bug.cgi?id=70107

Rubber Stamped by Csaba Osztrogonác.

Do not advance pointer at the end of input, just
keep returning with END_TOKEN.

  • css/CSSParser.cpp:

(WebCore::CSSParser::lex):

03:10 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
02:48 Changeset [106226] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
fast/js/dfg-int32array.html is slow on WIN DEBUG and MAC DEBUG.

  • platform/chromium/test_expectations.txt:
02:44 rsync-scripts.tar.gz attached to SettingUpDevelopmentEnvironmentForN9 by zarvai@inf.u-szeged.hu
02:40 Changeset [106225] by commit-queue@webkit.org

The query selector for HTMLContentElement should follow the shadow dom spec.
https://bugs.webkit.org/show_bug.cgi?id=75946

Patch by Shinya Kawanaka <shinyak@google.com> on 2012-01-30
Reviewed by Hajime Morita.

Source/WebCore:

Checks the query selector of HTMLContentElement is valid.
If not valid, the selector won't match anything, and shows fallback element.

Test: fast/dom/shadow/content-selector-query.html

  • html/shadow/ContentSelectorQuery.cpp:

(WebCore::ContentSelectorQuery::ContentSelectorQuery):
(WebCore::ContentSelectorQuery::isValidSelector):
(WebCore::ContentSelectorQuery::matches):

When a select query is not valid, any element won't be matched.

(WebCore::validateSubSelector):
(WebCore::validateSelector):
(WebCore::ContentSelectorQuery::validateSelectorList):

Validate selectors.

  • html/shadow/ContentSelectorQuery.h:
  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::isSelectValid):

Returns true if select attribute is valid.

  • html/shadow/HTMLContentElement.h:
  • testing/Internals.cpp:

(WebCore::Internals::isValidContentSelect):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • fast/dom/shadow/content-selector-query-expected.txt: Added.
  • fast/dom/shadow/content-selector-query.html: Added.
02:39 Changeset [106224] by ossy@webkit.org

Unreviewed rolling out r106222.

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:

(SingleTestRunner.init):

  • Scripts/webkitpy/layout_tests/controllers/worker.py:

(Worker.handle_test_list):

  • Scripts/webkitpy/layout_tests/models/test_input.py:

(TestInput.init):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options):
(parse_args):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(MainTest.test_repeat_each):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::setIsPixelTest):

02:10 Changeset [106223] by hans@chromium.org

Unreviewed, rolling out r106219.
http://trac.webkit.org/changeset/106219
https://bugs.webkit.org/show_bug.cgi?id=77083

This broke Chromium's test_shell.

Source/WebCore:

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mock/SpeechInputClientMock.cpp: Added.

(WebCore):
(WebCore::SpeechInputClientMock::SpeechInputClientMock):
(WebCore::SpeechInputClientMock::setListener):
(WebCore::SpeechInputClientMock::startRecognition):
(WebCore::SpeechInputClientMock::stopRecording):
(WebCore::SpeechInputClientMock::cancelRecognition):
(WebCore::SpeechInputClientMock::addRecognitionResult):
(WebCore::SpeechInputClientMock::clearResults):
(WebCore::SpeechInputClientMock::timerFired):

  • platform/mock/SpeechInputClientMock.h: Added.

(WebCore):
(SpeechInputClientMock):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/WebSpeechInputControllerMock.h: Added.

(WebKit):
(WebSpeechInputControllerMock):
(WebKit::WebSpeechInputControllerMock::~WebSpeechInputControllerMock):

  • public/WebSpeechInputResult.h:

(WebSpeechInputResult):

  • src/WebSpeechInputControllerMockImpl.cpp: Added.

(WebKit):
(WebKit::WebSpeechInputControllerMock::create):
(WebKit::WebSpeechInputControllerMockImpl::WebSpeechInputControllerMockImpl):
(WebKit::WebSpeechInputControllerMockImpl::~WebSpeechInputControllerMockImpl):
(WebKit::WebSpeechInputControllerMockImpl::addMockRecognitionResult):
(WebKit::WebSpeechInputControllerMockImpl::clearResults):
(WebKit::WebSpeechInputControllerMockImpl::didCompleteRecording):
(WebKit::WebSpeechInputControllerMockImpl::didCompleteRecognition):
(WebKit::WebSpeechInputControllerMockImpl::setRecognitionResult):
(WebKit::WebSpeechInputControllerMockImpl::startRecognition):
(WebKit::WebSpeechInputControllerMockImpl::cancelRecognition):
(WebKit::WebSpeechInputControllerMockImpl::stopRecording):

  • src/WebSpeechInputControllerMockImpl.h: Added.

(WebCore):
(WebKit):
(WebSpeechInputControllerMockImpl):

  • src/WebSpeechInputResult.cpp:

Tools:

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::addMockSpeechInputResult):

  • DumpRenderTree/chromium/LayoutTestController.h:

(WebKit):
(LayoutTestController):
():

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp: Removed.
  • DumpRenderTree/chromium/MockWebSpeechInputController.h: Removed.
  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::speechInputController):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebKit):
(WebViewHost::speechInputControllerMock):
(WebViewHost):
():

02:06 Changeset [106222] by kbalazs@webkit.org

2012-01-30 Balazs Kelemen <kbalazs@webkit.org>

[WK2] add flag to only check pixel results if png files exist
https://bugs.webkit.org/show_bug.cgi?id=70484

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner.init): (SingleTestRunner._should_fetch_expected_checksum):
  • Scripts/webkitpy/layout_tests/controllers/worker.py: (Worker.handle_test_list):
  • Scripts/webkitpy/layout_tests/models/test_input.py: (TestInput.init):
  • Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): (parse_args):
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_skip_pixel_test_if_no_baseline_option):
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::setIsPixelTest):
01:42 Changeset [106221] by yurys@chromium.org

2012-01-30 Yury Semikhatsky <yurys@chromium.org>

Unreviewed. Clang build fix after r106218

  • inspector/CodeGeneratorInspector.py:
01:40 Changeset [106220] by commit-queue@webkit.org

Make GraphicsContext3DPrivate of GTK port shareable.
https://bugs.webkit.org/show_bug.cgi?id=77296

Patch by ChangSeok Oh <shivamidow@gmail.com> on 2012-01-30
Reviewed by Eric Seidel.

GraphicsContext3DPrivate.cpp/h of GTK port look shareable with another port
using glx backend for WebGL. For example, EFL port.
Moved GraphicsContext3DPrivate.cpp and its header into Source/WebCore/platform/graphics/glx.

No new tests required, because of no new feature.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • platform/graphics/glx/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.cpp.

(sharedDisplay):
(WebCore):
(WebCore::activeGraphicsContexts):
(WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
(WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
(WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
(WebCore::GraphicsContext3DPrivate::create):
(WebCore::GraphicsContext3DPrivate::createPbufferContext):
(WebCore::GraphicsContext3DPrivate::createPixmapContext):
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):

  • platform/graphics/glx/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.h.

(WebCore):
(GraphicsContext3DPrivate):

01:31 Changeset [106219] by hans@chromium.org

Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
https://bugs.webkit.org/show_bug.cgi?id=77083

Reviewed by Darin Fisher.

Source/WebCore:

Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
implementation.

No new tests, just refactoring.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mock/SpeechInputClientMock.cpp: Removed.
  • platform/mock/SpeechInputClientMock.h: Removed.

Source/WebKit/chromium:

Remove the WebSpeechInputControllerMock interface and proxy
implementation. The mock is moving to the DumpRenderTree
implementation instead, which removes the need to expose this
interface in the WebKit API.

Also add a proper copy constructor for WebSpeechInputResult.
The default one doesn't do a proper copy.

  • WebKit.gyp:
  • public/WebSpeechInputControllerMock.h: Removed.
  • public/WebSpeechInputResult.h:

(WebKit::WebSpeechInputResult::WebSpeechInputResult):
(WebSpeechInputResult):

  • src/WebSpeechInputControllerMockImpl.cpp: Removed.
  • src/WebSpeechInputControllerMockImpl.h: Removed.
  • src/WebSpeechInputResult.cpp:

(WebKit::WebSpeechInputResult::set):
(WebKit):

Tools:

Add MockWebSpeechInputController which provides a mock implementation
of the WebSpeechInputController interface, and use that in
DumpRenderTree.

  • DumpRenderTree/DumpRenderTree.gypi:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::addMockSpeechInputResult):

  • DumpRenderTree/chromium/LayoutTestController.h:

():

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp: Added.

(MockWebSpeechInputController::create):
(MockWebSpeechInputController::addMockRecognitionResult):
(MockWebSpeechInputController::clearResults):
(MockWebSpeechInputController::startRecognition):
(MockWebSpeechInputController::cancelRecognition):
(MockWebSpeechInputController::stopRecording):
(MockWebSpeechInputController::MockWebSpeechInputController):
(MockWebSpeechInputController::speechTaskFired):
(MockWebSpeechInputController::SpeechTask::SpeechTask):
(MockWebSpeechInputController::SpeechTask::stop):
(MockWebSpeechInputController::SpeechTask::runIfValid):

  • DumpRenderTree/chromium/MockWebSpeechInputController.h: Added.

(WebKit):
(MockWebSpeechInputController):
(MockWebSpeechInputController::taskList):
(SpeechTask):

  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::speechInputController):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebKit):
(WebViewHost::speechInputControllerMock):
(WebViewHost):
():

00:57 Changeset [106218] by yurys@chromium.org

Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h
https://bugs.webkit.org/show_bug.cgi?id=77062

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-01-30
Reviewed by Yury Semikhatsky.

Code generator is changed. Now it generates InspectorBackendDispatcher
as an abstract class so that implementation details could be fully
hidden in .cpp file in a separate 'impl' class. This should make .h
file more clear.
Also new formal interfaces to domain agents are generated. This is an
improvement over the current case when interfaces to agents are
definen implicitly at calling sites.

  • inspector/CodeGeneratorInspector.py:

(RawTypes):
(RawTypes.OutputPassModel):
(RawTypes.OutputPassModel.ByPointer):
(RawTypes.OutputPassModel.ByPointer.get_argument_prefix):
(RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix):
(RawTypes.OutputPassModel.ByReference):
(RawTypes.OutputPassModel.ByReference.get_argument_prefix):
(RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix):
(RawTypes.BaseType.is_event_param_check_optional):
(RawTypes.String):
(RawTypes.String.get_output_pass_model):
(RawTypes.String.is_heavy_value):
(RawTypes.Int):
(RawTypes.Int.get_output_pass_model):
(RawTypes.Int.is_heavy_value):
(RawTypes.Number):
(RawTypes.Number.get_output_pass_model):
(RawTypes.Number.is_heavy_value):
(RawTypes.Bool.get_c_param_type):
(RawTypes.Bool):
(RawTypes.Bool.get_output_pass_model):
(RawTypes.Bool.is_heavy_value):
(RawTypes.Object):
(RawTypes.Object.get_output_pass_model):
(RawTypes.Object.is_heavy_value):
(RawTypes.Any.get_c_initializer):
(RawTypes.Any):
(RawTypes.Any.get_output_pass_model):
(RawTypes.Any.is_heavy_value):
(RawTypes.Array):
(RawTypes.Array.get_output_pass_model):
(RawTypes.Array.is_heavy_value):
(InspectorBackendDispatcherImpl):
(void):
(Generator):
(Generator.go):
(Generator.process_command):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::connectFrontend):

  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::connectFrontend):

00:56 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)

01/29/12:

23:30 Changeset [106217] by zherczeg@webkit.org

Custom written CSS lexer
https://bugs.webkit.org/show_bug.cgi?id=70107

Reviewed by Antti Koivisto and Oliver Hunt.

.:

Remove tokenizer.cpp from intermediate sources.

  • wscript:

Source/JavaScriptCore:

Add new helper functions for the custom written CSS lexer.

  • wtf/ASCIICType.h:

(WTF::toASCIILowerUnchecked):
(WTF):
(WTF::isASCIIAlphaCaselessEqual):

Source/WebCore:

This patch replaces the flex based CSS lexer to a
new, custom written one. The new code is more
than 2 times faster according to oprofile and CPU
cycle counters.

The code structure is quite straightforward: it choose
the possible token group based on the first character
and employ utility functions to parse the longer than
one character long ones. Most of the utilities are inline
to make the lexer fast.

All build systems updated. Including removing the flex support.

Existing tests cover this feature.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gyp/scripts/action_maketokenizer.py: Removed.
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::setupParser):
(WebCore::parseSimpleLengthValue):
(WebCore::mightBeRGBA):
(WebCore::mightBeRGB):
():
(WebCore::isCSSLetter):
(WebCore):
(WebCore::isCSSEscape):
(WebCore::isURILetter):
(WebCore::isIdentifierStartAfterDash):
(WebCore::isEqualToCSSIdentifier):
(WebCore::checkAndSkipEscape):
(WebCore::skipWhiteSpace):
(WebCore::CSSParser::isIdentifierStart):
(WebCore::CSSParser::checkAndSkipString):
(WebCore::CSSParser::parseEscape):
(WebCore::CSSParser::parseIdentifier):
(WebCore::CSSParser::parseString):
(WebCore::CSSParser::parseURI):
(WebCore::CSSParser::parseUnicodeRange):
(WebCore::CSSParser::parseNthChild):
(WebCore::CSSParser::parseNthChildExtra):
(WebCore::CSSParser::detectFunctionTypeToken):
(WebCore::CSSParser::detectMediaQueryToken):
(WebCore::CSSParser::detectNumberToken):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::detectAtToken):
(WebCore::CSSParser::lex):
(WebCore::CSSParser::markSelectorListStart):
(WebCore::CSSParser::markSelectorListEnd):
(WebCore::CSSParser::markRuleBodyStart):
(WebCore::CSSParser::markRuleBodyEnd):
(WebCore::CSSParser::markPropertyStart):
(WebCore::CSSParser::markPropertyEnd):

  • css/CSSParser.h:

(WebCore::CSSParser::token):
(CSSParser):
():

  • css/tokenizer.flex: Removed.
23:22 Changeset [106216] by tkent@chromium.org

[Chromium] REGRESSION(r87067): WebFrame::setFindEndstateFocusAndSelection()
doesn't set the selection for <input> and <textarea>
https://bugs.webkit.org/show_bug.cgi?id=77186

Reviewed by Hajime Morita.

When the find-in-page box is closed, WebFrame::stopFinding(false) is
called. It calls setFindEndstateFocusAndSelection(). Before r87067,
m_activeMatch was stored as the normal selection in <input> or
<textarea> by accident. r87067 stopped this accidental behavior.

However the behavior of pre-r87067 is useful and we should support it
for contentEditable elements too.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::setFindEndstateFocusAndSelection):

  • Add special handing for <input> and <textarea> to find a focusable parent.
  • Sets the active match as the selection even if a focusable parent is found.
  • tests/WebFrameTest.cpp:

(WebKit::TEST_F): Add tests for find() and stopFinding().

  • tests/data/find.html: Added.
23:07 Changeset [106215] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
inspector/extensions/extensions-{events,sidebar}.html time out for WIN DBG.

  • platform/chromium/test_expectations.txt:
22:55 Changeset [106214] by commit-queue@webkit.org

[chromium/mac] Fix two-finger scrolling
https://bugs.webkit.org/show_bug.cgi?id=77316

http://trac.webkit.org/changeset/106021/trunk changed the phase enums
to match AppKit. This changes WebMouseWheelEvent accordingly.

No tests, because DRT doesn't support synthetic scroll events with
event phases.

Patch by Nico Weber <nicolasweber@gmx.de> on 2012-01-29
Reviewed by Anders Carlsson.

  • public/WebInputEvent.h:
  • src/mac/WebInputEventFactory.mm:
21:50 Changeset [106213] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
svg/W3C-SVG-1.1/masking-intro-01-f.svg does not crash after r105978.

  • platform/chromium/test_expectations.txt:
20:08 Changeset [106212] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
fast/events/touch/touch-gesture-scroll.html is flaky on MAC and WIN.

  • platform/chromium/test_expectations.txt:
19:59 Changeset [106211] by rniwa@webkit.org

DOM/DOMDivWalk.html result is unreliable
https://bugs.webkit.org/show_bug.cgi?id=77313

Reviewed by Adam Birth.

Trigger garbage collection manually between test runs to avoid GC
to occur in the middle of runs.

  • DOM/resources/dom-perf.js:

(BenchmarkSuite.prototype.RunSingle):

  • resources/runner.js:

(gc.else.gcRec):
(gc):
(runLoop):

19:59 Changeset [106210] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
Layout Test fast/events/touch/send-oncancel-event.html is flaky on MAC and WIN.

  • platform/chromium/test_expectations.txt:
19:49 Changeset [106209] by commit-queue@webkit.org

Prepare WebCore.gyp for ffmpeg source transition.
https://bugs.webkit.org/show_bug.cgi?id=77254

We're migrating our ffmpeg repo from a set of patches living on top of
a tarball to an actual git fork of upstream. The paths have changed
slightly.

In order to not break the current build, we'll keep both paths around
until the transition is complete. Afterward the 'patched-ffmpeg' path
will be removed.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-01-29
Reviewed by Tony Chang.

No new tests. GYP change, if it doesn't work, nothing will compile.

  • WebCore.gyp/WebCore.gyp:
19:47 Changeset [106208] by hayato@chromium.org

Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
https://bugs.webkit.org/show_bug.cgi?id=76354

Reviewed by Hajime Morita.

We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
since this is a feature under development.

Source/WebCore:

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):
(WebCore):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):

  • dom/ShadowRoot.idl:
  • page/DOMWindow.idl:

LayoutTests:

  • fast/dom/shadow/shadow-root-js-api.html:
18:39 Changeset [106207] by fpizlo@apple.com

REGRESSION (r105576-r105582): Web Inspector Crash in JSC::JSValue::toString(JSC::ExecState*) const
https://bugs.webkit.org/show_bug.cgi?id=77146
<rdar://problem/10770586>

Reviewed by Oliver Hunt.

The old JIT expects that the result of the last operation is in the lastResultRegister. The DFG JIT is
designed to correctly track the lastResultRegister by looking at SetLocal nodes. However, when the DFG
JIT inlines a code block, it forgets that the inlined code block's result would have been placed in the
lastResultRegister. Hence if we OSR exit on the first node following the end of an inlined code block
that had a return value, and that first node uses the return value, the old JIT will get massively
confused. This patch takes a surgical approach: instead of making the DFG smarter, it makes the old
JIT slightly dumber.

  • jit/JITCall.cpp:

(JSC::JIT::emit_op_call_put_result):

18:23 Changeset [106206] by yuzo@google.com

[Chromium] Unreviewed test expectation change.
fast/js/navigator-language.html is flaky.

  • platform/chromium/test_expectations.txt:
18:08 Changeset [106205] by leviw@chromium.org

Unreviewed gardening. css3/flexbox/cross-axis-scrollbar.html is failing on Chromium Windows.
Removing an incorrect pixel expectation (it's a ref test) and marking it as failing on
Chromium Windows.

  • platform/chromium-win/css3/flexbox/cross-axis-scrollbar-expected.png: Removed.
  • platform/chromium/test_expectations.txt:
17:41 Changeset [106204] by fpizlo@apple.com

Build fix for Mac non-x64 platforms.

  • tools/CodeProfiling.cpp:

(JSC):

16:21 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
15:59 Changeset [106203] by noel.gordon@gmail.com

[chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
https://bugs.webkit.org/show_bug.cgi?id=74286

Reviewed by Kenneth Russell.

No new tests. Covered by many existing tests: in particular

fast/images/*, fast/canvas/*,
tables/mozilla/bugs/bug29314.html
tables/mozilla/bugs/bug13169.html
tables/mozilla/bugs/bug10565.html
tables/mozilla/bugs/bug11026.html
fast/repaint/backgroundSizeRepaint.html
fast/repaint/block-layout-inline-children-replaced.html
fast/repaint/clipped-relative.html
fast/repaint/selected-replaced.html
tables/mozilla/bugs/bug12908-1.html

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.

15:49 Changeset [106202] by ossy@webkit.org

Unreviewed, rolling out r106022.
http://trac.webkit.org/changeset/106022
https://bugs.webkit.org/show_bug.cgi?id=77305

It broke Qt-WK2 API tests (Requested by Ossy_weekend on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebView::geometryChanged):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qwebviewportinfo.cpp:

(QWebViewportInfo::currentScale):
(QWebViewportInfo::devicePixelRatio):
(QWebViewportInfo::initialScale):
(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):
(QWebViewportInfo::isScalable):
(QWebViewportInfo::layoutSize):

15:47 SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)
15:41 Changeset [106201] by leviw@chromium.org

Unreviewed, rolling out r105999.
http://trac.webkit.org/changeset/105999
https://bugs.webkit.org/show_bug.cgi?id=77304

Validating that this caused a performance regression in page
load tests. (Requested by leviw on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

  • dom/NamedNodeMap.cpp:
  • dom/NamedNodeMap.h:

(NamedNodeMap):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::createInlineStyleDecl):
(WebCore):
(WebCore::StyledElement::destroyInlineStyleDecl):
(WebCore::StyledElement::ensureInlineStyleDecl):
(WebCore::StyledElement::style):
(WebCore::StyledElement::addSubresourceAttributeURLs):

  • dom/StyledElement.h:

(WebCore::StyledElement::inlineStyleDecl):
(StyledElement):

15:36 Changeset [106200] by leviw@chromium.org

Reserved Word tests fail on Chromium after r106198
https://bugs.webkit.org/show_bug.cgi?id=77303

Unreviewed gardening. disabling new reserved word tests on Chromium after r106198.

  • platform/chromium/test_expectations.txt:
15:23 Changeset [106199] by ossy@webkit.org

Unreviewed, rolling out r106109.
http://trac.webkit.org/changeset/106109
https://bugs.webkit.org/show_bug.cgi?id=77302

It made tests crash (Requested by Ossy_weekend on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-29

Source/WebCore:

  • platform/graphics/qt/TextureMapperQt.cpp:

(WebCore::TextureMapperQt::setGraphicsContext):

  • platform/graphics/qt/TextureMapperQt.h:

(WebCore::TextureMapperQt::initialize):

Source/WebKit2:

  • UIProcess/API/qt/qquickwebpage.cpp:
  • UIProcess/API/qt/qquickwebpage_p_p.h:

(QQuickWebPagePrivate):

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/DrawingAreaProxy.h:
  • UIProcess/DrawingAreaProxyImpl.cpp:
  • UIProcess/DrawingAreaProxyImpl.h:

(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeHostProxy.h:

(LayerTreeHostProxy):

  • UIProcess/qt/LayerTreeHostProxyQt.cpp:

(WebKit::LayerTreeHostProxy::paintToCurrentGLContext):

  • UIProcess/qt/QtPageClient.cpp:

(QtPageClient::setViewNeedsDisplay):

Tools:

  • WebKitTestRunner/qt/PlatformWebViewQt.cpp:

(WTR::WrapperWindow::WrapperWindow):
(WTR::PlatformWebView::PlatformWebView):

LayoutTests:

  • platform/qt-wk2/Skipped:
00:23 Changeset [106198] by barraclough@apple.com

Reserve 'let'
https://bugs.webkit.org/show_bug.cgi?id=77293

Rubber stamped by Oliver Hunt.

'let' may become a keyword in ES6. We're going to try experimentally reserving it,
to see if this breaks the web.

Source/JavaScriptCore:

  • parser/Keywords.table:

LayoutTests:

  • fast/js/keywords-and-reserved_words-expected.txt:
  • fast/js/reserved-words-as-property-expected.txt:
  • fast/js/reserved-words-strict-expected.txt:
  • fast/js/script-tests/keywords-and-reserved_words.js:
  • fast/js/script-tests/reserved-words-as-property.js:
  • fast/js/script-tests/reserved-words-strict.js:

01/28/12:

19:47 Changeset [106197] by barraclough@apple.com

Implement a JIT-code aware sampling profiler for JSC
https://bugs.webkit.org/show_bug.cgi?id=76855

Reviewed by Oliver Hunt.

To enable the profiler, set the JSC_CODE_PROFILING environment variable to
1 (no tracing the C stack), 2 (trace one level of C code) or 3 (recursively
trace all samples).

The profiler requires -fomit-frame-pointer to be removed from the build flags.

  • JavaScriptCore.exp:
    • Removed an export.
  • JavaScriptCore.xcodeproj/project.pbxproj:
    • Added new files
  • bytecode/CodeBlock.cpp:
    • For baseline codeblocks, cache the result of canCompileWithDFG.
  • bytecode/CodeBlock.h:
    • For baseline codeblocks, cache the result of canCompileWithDFG.
  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::initializeAllocator):

  • Notify the profiler when the allocator is created.

(JSC::ExecutableAllocator::allocate):

  • Inform the allocated of the ownerUID.
  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::ExecutableAllocator::initializeAllocator):

  • Notify the profiler when the allocator is created.

(JSC::ExecutableAllocator::allocate):

  • Inform the allocated of the ownerUID.
  • jit/JITStubs.cpp:
    • If profiling, don't mask the return address in JIT code. (We do so to provide nicer backtraces in debug builds).
  • runtime/Completion.cpp:

(JSC::evaluate):

  • Notify the profiler of script evaluations.
  • tools: Added.
  • tools/CodeProfile.cpp: Added.

(JSC::symbolName):

  • Helper function to get the name of a symbol in the framework.

(JSC::truncateTrace):

  • Helper to truncate traces into methods know to have uninformatively deep stacks.

(JSC::CodeProfile::sample):

  • Record a stack trace classifying samples.

(JSC::CodeProfile::report):

  • {Print profiler output.
  • tools/CodeProfile.h: Added.
    • new class, captures a set of samples associated with an evaluated script, and nested to record samples from subscripts.
  • tools/CodeProfiling.cpp: Added.

(JSC::CodeProfiling::profilingTimer):

  • callback fired then a timer event occurs.

(JSC::CodeProfiling::notifyAllocator):

  • called when the executable allocator is constructed.

(JSC::CodeProfiling::getOwnerUIDForPC):

  • helper to lookup the codeblock from an address in JIT code

(JSC::CodeProfiling::begin):

  • enter a profiling scope.

(JSC::CodeProfiling::end):

  • exit a profiling scope.
  • tools/CodeProfiling.h: Added.
    • new class, instantialed from Completion to define a profiling scope.
  • tools/ProfileTreeNode.h: Added.
    • new class, used to construct a tree of samples.
  • tools/TieredMMapArray.h: Added.
    • new class, a malloc-free vector (can be used while the main thread is suspended, possibly holding the malloc heap lock).
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocatorHandle::MetaAllocatorHandle):
(WTF::MetaAllocator::allocate):

  • Allow allocation handles to track information about their owner.
  • wtf/MetaAllocator.h:

(MetaAllocator):

  • Allow allocation handles to track information about their owner.
  • wtf/MetaAllocatorHandle.h:

(MetaAllocatorHandle):
(WTF::MetaAllocatorHandle::ownerUID):

  • Allow allocation handles to track information about their owner.
  • wtf/OSAllocator.h:

(WTF::OSAllocator::reallocateCommitted):

  • reallocate an existing, committed memory allocation.
16:20 Changeset [106196] by commit-queue@webkit.org

Unreviewed. Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • DEPS:
15:43 Changeset [106195] by thakis@chromium.org

[chromium] Add support for building standalone webkit/chromium checkouts with ninja.
https://bugs.webkit.org/show_bug.cgi?id=77243

Reviewed by Adam Barth.

Source/WebKit/chromium:

  • gyp_webkit:

Tools:

  • Scripts/update-webkit:
  • Scripts/webkitdirs.pm:

(isChromiumNinja):
(determineIsChromiumNinja):
(buildChromiumNinja):
(buildChromium):

13:41 Changeset [106194] by leviw@chromium.org

Unreviewed gardening. Adding Chromium platform expectations for canvas tests after 106184.

  • platform/chromium-linux-x86/canvas: Added.
  • platform/chromium-linux-x86/canvas/philip: Added.
  • platform/chromium-linux-x86/canvas/philip/tests: Added.
  • platform/chromium-linux-x86/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-linux-x86/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-linux-x86/fast/canvas: Added.
  • platform/chromium-linux-x86/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-linux/canvas: Added.
  • platform/chromium-linux/canvas/philip: Added.
  • platform/chromium-linux/canvas/philip/tests: Added.
  • platform/chromium-linux/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-linux/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-linux/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win-vista/canvas: Added.
  • platform/chromium-win-vista/canvas/philip: Added.
  • platform/chromium-win-vista/canvas/philip/tests: Added.
  • platform/chromium-win-vista/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win-vista/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win-vista/fast/canvas: Added.
  • platform/chromium-win-vista/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win-xp/canvas: Added.
  • platform/chromium-win-xp/canvas/philip: Added.
  • platform/chromium-win-xp/canvas/philip/tests: Added.
  • platform/chromium-win-xp/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win-xp/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win-xp/fast/canvas: Added.
  • platform/chromium-win-xp/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
  • platform/chromium-win/canvas/philip/tests/2d.line.cap.round-expected.txt: Added.
  • platform/chromium-win/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Added.
  • platform/chromium-win/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Added.
13:31 Changeset [106193] by leviw@chromium.org

Layout Test webaudio/panner-set-model.html crashes on debug Chromium bots
https://bugs.webkit.org/show_bug.cgi?id=77283

Unreviewed gardening. Marking webaudio/panner-set-model.html crashing on Debug Chromium bots.

  • platform/chromium/test_expectations.txt:
12:19 Changeset [106192] by commit-queue@webkit.org

[Qt] Remove references to CSSBorderImageValue.h in Target.pri
https://bugs.webkit.org/show_bug.cgi?id=77277

Patch by Alexander Færøy <ahf@0x90.dk> on 2012-01-28
Reviewed by Antonio Gomes.

CSSBorderImageValue.h was removed in r105502.

  • Target.pri:
11:28 Changeset [106191] by jchaffraix@webkit.org

REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
https://bugs.webkit.org/show_bug.cgi?id=76126

Reviewed by Simon Fraser.

Source/WebCore:

Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html

fast/layers/scroll-no-visible-content-but-visible-descendant.html

The optimization missed out that if the current layer does not have some visible content
(m_hasVisibleContent is false), a descendant could totally be visible and would need to
have its repaint rectangles recomputed.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
Bail out only if the layer doesn't have visible content AND no visible descendants.

LayoutTests:

Added testing for a layer with no visible content but one of its descendant has some visible content.
The reverse case is already profusely tested.

  • fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html: Added.
  • fast/layers/scroll-no-visible-content-but-visible-descendant.html: Added.
11:02 Changeset [106190] by cmarrin@apple.com

Get rid of TransformOperationList
https://bugs.webkit.org/show_bug.cgi?id=77249

Reviewed by Dan Bernstein.

Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
of transform operations. These are not needed, they are already available in the keyframe lists and they
make it more difficult to add support for hardware animated filters. No behavior changes.

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateTransformOperations):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:

():

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/TextureMapperAnimation.cpp:

(WebCore::applyTransformAnimation):
(WebCore::TextureMapperAnimation::TextureMapperAnimation):
(WebCore::TextureMapperAnimation::applyInternal):

  • platform/graphics/texmap/TextureMapperAnimation.h:

(TextureMapperAnimation):

07:58 ApplicationsGtk edited by manuq@laptop.org
(diff)
07:23 Changeset [106189] by commit-queue@webkit.org

Unreviewed, rolling out r106187.
http://trac.webkit.org/changeset/106187
https://bugs.webkit.org/show_bug.cgi?id=77276

The last rollout was a false charge. (Requested by morrita on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • runtime/ExceptionHelpers.h:

(InterruptedExecutionError):

  • runtime/JSBoundFunction.h:

(JSBoundFunction):

  • runtime/RegExp.h:

(RegExp):

  • runtime/RegExpMatchesArray.h:

(RegExpMatchesArray):

06:44 Changeset [106188] by morrita@google.com

Unreviewed, another attempt for warning elimination.

  • platform/win/Skipped:
05:39 Changeset [106187] by commit-queue@webkit.org

Unreviewed, rolling out r106151.
http://trac.webkit.org/changeset/106151
https://bugs.webkit.org/show_bug.cgi?id=77275

may break windows build (Requested by morrita on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-01-28

  • runtime/ExceptionHelpers.h:

(InterruptedExecutionError):

  • runtime/JSBoundFunction.h:

(JSBoundFunction):

  • runtime/RegExp.h:

(RegExp):

  • runtime/RegExpMatchesArray.h:

(RegExpMatchesArray):

05:22 Changeset [106186] by morrita@google.com

fixed

02:18 Changeset [106185] by fpizlo@apple.com

GC invoked while doing an old JIT property storage reallocation may lead
to an object that refers to a dead structure
https://bugs.webkit.org/show_bug.cgi?id=77273
<rdar://problem/10770565>

Reviewed by Gavin Barraclough.

The put_by_id transition was already saving the old structure by virtue of
having the object on the stack, so that wasn't going to get deleted. But the
new structure was unprotected in the transition. I've now changed the
transition code to save the new structure, ensuring that the GC will know it
to be marked if invoked from within put_by_id_transition_realloc.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::privateCompilePutByIdTransition):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:

(JSC):
():

Note: See TracTimeline for information about the timeline view.