Timeline


and

06/28/12:

23:54 Changeset [121522] by rniwa@webkit.org

Mac build fix after r121518.

  • WebCore.exp.in:
23:38 Changeset [121521] by rniwa@webkit.org

DOMHTMLCollection::item may return a wrong element after namedItem is called
https://bugs.webkit.org/show_bug.cgi?id=90240

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by namedItem updating m_cache.current without updating m_cache.position.
Fixed the bug by updating both. This is similar to the bug I fixed in r121478.

WebKit API Test: WebKit1.HTMLCollectionNamedItemTest

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::namedItem):

Tools:

Add a WebKit API test since namedItem is not used in the JS/V8 binding code.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.html: Copied from Tools/TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.html.
  • TestWebKitAPI/Tests/mac/HTMLCollectionNamedItem.mm: Copied from Tools/TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm.

(TestWebKitAPI::TEST):

23:20 Changeset [121520] by haraken@chromium.org

Change argument types of Element::getAttribute*() from String to AtomicString
https://bugs.webkit.org/show_bug.cgi?id=90246

Reviewed by Ryosuke Niwa.

This is a follow-up patch for r121439. r121439 changed an argument type of
Element::getAttribute() from String to AtomicString, which optimized
performance of Dromaeo/dom-attr.html. This patch changes other argument types
of Element::getAttribute*() from String to AtomicString. See the ChangeLog in
http://trac.webkit.org/changeset/121439 for more details about why this change
optimizes performance.

No tests. No change in behavior.

  • dom/DatasetDOMStringMap.cpp:

(WebCore::convertPropertyNameToAttributeName):

  • dom/Element.cpp:

(WebCore::Element::getAttributeNS):
(WebCore::Element::removeAttribute):
(WebCore::Element::removeAttributeNS):
(WebCore::Element::getAttributeNode):
(WebCore::Element::getAttributeNodeNS):
(WebCore::Element::hasAttribute):
(WebCore::Element::hasAttributeNS):

  • dom/Element.h:

(Element):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::getAttributeNode):

  • dom/ElementAttributeData.h:

(ElementAttributeData):

23:12 Changeset [121519] by tkent@chromium.org

REGRESSION(r106388): Form hidden element values being restored
incorrectly for dynamically generated content
https://bugs.webkit.org/show_bug.cgi?id=88685

Reviewed by Hajime Morita.

Source/WebCore:

We should not save value attribute updated during parsing.

Test: fast/forms/state-restore-to-non-edited-controls.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
Initialize m_valueAttributeWasUpdatedAfterParsing.
(WebCore::HTMLInputElement::parseAttribute):
Set true to m_valueAttributeWasUpdatedAfterParsing if value
attribute is updated and it's not in parsing.

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::valueAttributeWasUpdatedAfterParsing):
Added for HiddenInputType.

  • html/HiddenInputType.cpp:

(WebCore::HiddenInputType::saveFormControlState):
Save the value only if valueAttributeWasUpdatedAfterParsing() is true.

LayoutTests:

  • fast/forms/state-restore-to-non-edited-controls-expected.txt:

A failing test is fixed.

23:00 Changeset [121518] by morrita@google.com

[Refactoring] NodeRenderingContext ctor could be built on top of the ComposedShadowTreeWalker
https://bugs.webkit.org/show_bug.cgi?id=89732

Reviewed by Dimitri Glazkov.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

The constructor of NodeRenderingContext implements almost same
logic as ComposedShadowTreeWalker::parent(). This change
eliminates the duplication by employing ComposedShadowTreeWalker in the constructor.

ComposedShadowTreeWalker has same difference from
NodeRenderingContext though. So this change also extends
ComposedShadowTreeWalker to support these missing pieces, which
are encapsulated in newly introduced ParentTranversalDetails
class where:

  • not only the parent, but also the insertion point of the child is returned,
  • resetStyleInheritance from the child-parent traversal is computed and
  • if the starting point is out of the composition, it returns null as a parent.

This change also inlines some ComposedShadowTreeWalker methods for speed.

No new tests. Covered by existing tests.

  • WebCore.exp.in:
  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::shadowOfParent):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseInsertionPoint):
(WebCore):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didTraverseShadowRoot):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::didFindNode):
(WebCore::ComposedShadowTreeWalker::findParent):
(WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
(WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
(WebCore::ComposedShadowTreeWalker::traverseParent):
(WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
(WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):

  • dom/ComposedShadowTreeWalker.h:

(ParentTranversalDetails):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::ParentTranversalDetails):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::node):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::insertionPoint):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::resetStyleInheritance):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::outOfComposition):
(WebCore::ComposedShadowTreeWalker::ParentTranversalDetails::childWasOutOfComposition):
(ComposedShadowTreeWalker):
(WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
(WebCore):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):

  • dom/NodeRenderingContext.h:

(NodeRenderingContext):
(WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
(WebCore::NodeRenderingContext::resetStyleInheritance):
(WebCore::NodeRenderingContext::insertionPoint):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
21:45 Changeset [121517] by bashi@chromium.org

[Chromium] unreviewed test expectations update after r121510.

  • platform/chromium-mac-leopard/css3/font-feature-settings-rendering-expected.png: Added.
  • platform/chromium-mac-snowleopard/css3/font-feature-settings-rendering-expected.png: Added.
  • platform/chromium-mac/css3/font-feature-settings-rendering-expected.png: Added.
  • platform/chromium-mac/css3/font-feature-settings-rendering-expected.txt: Added.
  • platform/chromium/TestExpectations:
21:20 Changeset [121516] by commit-queue@webkit.org

[BlackBerry] Selection items show as garbage for non-ascii characters.
https://bugs.webkit.org/show_bug.cgi?id=89969

Add charset utf-8 to the select popup's page.

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-06-28
Reviewed by Antonio Gomes.

.:

  • ManualTests/blackberry/select-popup-items-unicode-display.html: Added.

Source/WebKit/blackberry:

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::generateHTML):

20:59 Changeset [121515] by keishi@webkit.org

[Chromium] Mark 4 tests in css3/filters as MISSING. Caused by r121513.

Unreviewed.

  • platform/chromium/TestExpectations:
19:52 Changeset [121514] by leo.yang@torchmobile.com.cn

[BlackBerry] Checkerboard shown when clicking on error page buttons
https://bugs.webkit.org/show_bug.cgi?id=90152
RIM PR #161867

Reviewed by George Staikos.

Reset m_hasBlitJobs when resetting tiles to prevent ui thread from drawing checkerboard unintentionally.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::resetTiles):

19:50 Changeset [121513] by senorblanco@chromium.org

Source/WebCore: Implement filter url() function.
https://bugs.webkit.org/show_bug.cgi?id=72443

url() references can be internal, in which case the DOM nodes are
retrieved directly from the current document, or external, in which
case a CachedSVGDocument request is made, and the filter node build is
deferred until the document is loaded. WebKitSVGDocumentValue
holds the CachedSVGDocument (if any) and the URL as a CSSValue,
and is stored in the CSSValue chain as the argument to the reference
filter.

One notable difference between internal and external references is
that internal references will automatically update on an SVG filter node
attribute change, while external references will not, since they live
in a separate document. This is consistent with the Mozilla
implementation. In order to make this work, the RenderLayer is made a
client of the RenderSVGResourceContainer, and calls
filterNeedsRepaint() when the SVG nodes are invalidated.

Some plumbing: The CSS StyleResolver was refactored to load all
all external resources (images, shaders and (now) SVG filters) in a
single function, loadPendingResources(). The PlatformLayer typedef
was moved out into its own file, in order to break a cyclic
dependency. SVGFilterBuilder was modified to accept the SourceGraphic
and SourceAlpha FilterEffects in its constructor and factory function,
rather than extracting them from the parent Filter. (This is necessary
so that the url() filter can correctly hook up its inputs from
previous CSS filters.)

Reviewed by Dean Jackson.

Tests: css3/filters/effect-reference-external.html

css3/filters/effect-reference-hw.html
css3/filters/effect-reference-ordering.html
css3/filters/effect-reference.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add WebKitCSSSVGDocumentValue to the various build files.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::valueForFilter):
Use the reference filter's url when getting the computed style for
a reference filter.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFilter):
Create the referenceFilterValue's argument as a
WebKitCSSSVGDocumentValue instead of a CSS string.

  • css/CSSValue.cpp:

(WebCore::CSSValue::cssText):
Add support for WebKitCSSSVGDocumentValue.
(WebCore::CSSValue::destroy):
Add support for WebKitCSSSVGDocumentValue.

  • css/CSSValue.h:

(WebCore::CSSValue::isWebKitCSSSVGDocumentValue):
Add support for WebKitCSSSVGDocumentValue.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):
Keep track of pending SVG document references, and load them when
necessary.

  • css/StyleResolver.h:
  • css/WebKitCSSSVGDocumentValue.cpp: Added.

New CSSValue subclass for holding SVG document references.
(WebCore::WebKitCSSSVGDocumentValue::WebKitCSSSVGDocumentValue):
(WebCore::WebKitCSSSVGDocumentValue::~WebKitCSSSVGDocumentValue):
(WebCore::WebKitCSSSVGDocumentValue::load):
(WebCore::WebKitCSSSVGDocumentValue::customCssText):

  • css/WebKitCSSSVGDocumentValue.h: Added.

(WebCore::WebKitCSSSVGDocumentValue::create):
(WebCore::WebKitCSSSVGDocumentValue::cachedSVGDocument):
(WebCore::WebKitCSSSVGDocumentValue::url):
(WebCore::WebKitCSSSVGDocumentValue::loadRequested):

  • platform/graphics/GraphicsLayer.h:

Refactor PlatformLayer out into its own file, to avoid circular
includes.

  • platform/graphics/ImageBuffer.h:

Include PlatformLayer.h instead of GraphicsLayer.h.

  • platform/graphics/PlatformLayer.h: Added.

Refactor PlatformLayer out into its own file, to avoid circular
includes.

  • platform/graphics/filters/FilterOperation.h:

(WebCore::ReferenceFilterOperation::create):
(WebCore::ReferenceFilterOperation::clone):
(WebCore::ReferenceFilterOperation::url):
(WebCore::ReferenceFilterOperation::fragment):
(ReferenceFilterOperation):
(WebCore::ReferenceFilterOperation::data):
(WebCore::ReferenceFilterOperation::setData):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
Augment ReferenceFilterOperation to maintain a data pointer,
in order to preserve context while loading external SVG documents.
Replace "reference" with "url" and "fragment" members, in order to
ease retrieval of the appropriate DOM objects.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::hasReferenceFilter):
Convenience function for finding reference filters.

  • platform/graphics/filters/FilterOperations.h:

(FilterOperations):

  • platform/mac/ScrollbarThemeMac.mm:

Include GraphicsLayer.h explicitly, since ImageBuffer.h no longer
includes it (and only includes PlatformLayer.h).

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::buildReferenceFilter):
Utility function to build a FilterEffect node graph for a
ReferenceFilterOperation.
(WebCore::FilterEffectRenderer::build):
Call the above builder function for ReferenceFilterOperations.

  • rendering/FilterEffectRenderer.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffect):
If we have reference filters, update them along with other filters.
(WebCore::RenderLayer::filterNeedsRepaint):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
(WebCore::RenderLayerFilterInfo::notifyFinished):
Implement callback function when external SVGDocuments are loaded.
(WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
Add the FilterInfo as a client to be called when SVGDocuments are
loaded.
(WebCore::RenderLayerFilterInfo::removeReferenceFilterClients):
Remove this from the list of notified clients.

  • rendering/RenderLayerFilterInfo.h:

Add new member vars for tracking internal and external SVG
references, so we can remove ourselves as a client when done.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
When marking client DOM nodes for repaint, also mark any RenderLayers
referring to this DOM tree via filters as needing repaint.
(WebCore::RenderSVGResourceContainer::addClientRenderLayer):
(WebCore::RenderSVGResourceContainer::removeClientRenderLayer):

  • rendering/svg/RenderSVGResourceContainer.h:

Maintain a list of RenderLayer clients on each SVG resource container,
and turn SVG DOM repaint notifications into filter repaint (CSS)
notifications.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):
Construct a SourceGraphic and SourceAlpha node explicitly for the
SVG builder case.

  • svg/graphics/filters/SVGFilterBuilder.cpp:

(WebCore::SVGFilterBuilder::SVGFilterBuilder):

  • svg/graphics/filters/SVGFilterBuilder.h:

(WebCore::SVGFilterBuilder::create):
Add the SourceGraphic and SourceAlpha as parameters to the constructor
and create() methods, so they can be supplied by the caller.

LayoutTests: Add tests for the url() filter function.
https://bugs.webkit.org/show_bug.cgi?id=72443

Reviewed by Dean Jackson.

  • css3/filters/effect-reference-external.html: Added.
  • css3/filters/effect-reference-hw.html: Added.
  • css3/filters/effect-reference-ordering.html: Added.
  • css3/filters/effect-reference.html: Added.
  • css3/filters/resources/hueRotate.svg: Added.
  • platform/chromium-linux/css3/filters/effect-reference-expected.png: Added.
  • platform/chromium-linux/css3/filters/effect-reference-expected.txt: Added.
  • platform/chromium-linux/css3/filters/effect-reference-external-expected.png: Added.
  • platform/chromium-linux/css3/filters/effect-reference-external-expected.txt: Added.
  • platform/chromium-linux/css3/filters/effect-reference-hw-expected.png: Added.
  • platform/chromium-linux/css3/filters/effect-reference-hw-expected.txt: Added.
  • platform/chromium-linux/css3/filters/effect-reference-ordering-expected.png: Added.
  • platform/chromium-linux/css3/filters/effect-reference-ordering-expected.txt: Added.
  • platform/chromium/TestExpectations:
19:46 Changeset [121512] by dpranke@chromium.org

nrwt: remove the 'google-chrome' port code
https://bugs.webkit.org/show_bug.cgi?id=88824

Reviewed by Ojan Vafai.

NRWT now supports passing additional baseline directories
and expectations files on the command line, so there's no need
to support the concept of a 'google-chrome' port directly.

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

(Port.path_to_test_expectations_file):

  • Scripts/webkitpy/layout_tests/port/builders.py:
  • Scripts/webkitpy/layout_tests/port/chromium_mac.py:

(ChromiumMacPort.init):

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

(ChromiumWinPort.init):

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

(PortFactory):

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

(FactoryTest.test_win):

  • Scripts/webkitpy/layout_tests/port/google_chrome.py: Removed.
  • Scripts/webkitpy/layout_tests/port/google_chrome_unittest.py: Removed.
19:40 Changeset [121511] by fpizlo@apple.com

DFG recompilation heuristics should be based on count, not rate
https://bugs.webkit.org/show_bug.cgi?id=90146

Reviewed by Oliver Hunt.

This removes a bunch of code that was previously trying to prevent spurious
reoptimizations if a large enough majority of executions of a code block did
not result in OSR exit. It turns out that this code was purely harmful. This
patch removes all of that logic and replaces it with a dead-simple
heuristic: if you exit more than N times (where N is an exponential function
of the number of times the code block has already been recompiled) then we
will recompile.

This appears to be a broad ~1% win on many benchmarks large and small.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::osrExitCounter):
(JSC::CodeBlock::countOSRExit):
(CodeBlock):
(JSC::CodeBlock::addressOfOSRExitCounter):
(JSC::CodeBlock::offsetOfOSRExitCounter):
(JSC::CodeBlock::adjustedExitCountThreshold):
(JSC::CodeBlock::exitCountThresholdForReoptimization):
(JSC::CodeBlock::exitCountThresholdForReoptimizationFromLoop):
(JSC::CodeBlock::shouldReoptimizeNow):
(JSC::CodeBlock::shouldReoptimizeFromLoopNow):

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::setThreshold):

  • bytecode/ExecutionCounter.h:

(ExecutionCounter):
(JSC::ExecutionCounter::clippedThreshold):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileBody):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitCompiler.cpp:

(JSC::DFG::OSRExitCompiler::handleExitCounts):

  • dfg/DFGOperations.cpp:
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

19:37 Changeset [121510] by bashi@chromium.org

[Chromium] CTFontCopyTable of MacOSX10.5 SDK doesn't work for layout tables
https://bugs.webkit.org/show_bug.cgi?id=90235

Reviewed by Kent Tamura.

Use CGFontCopyTableForTag instead.

No new tests. css3/font-feature-settings-rendering.html should pass. I'll rebase expectations once bots get the result.

  • platform/graphics/harfbuzz/ng/HarfBuzzFaceCoreText.cpp:

(WebCore::harfbuzzCoreTextGetTable):

19:37 Changeset [121509] by dpranke@chromium.org

nrwt: clean up how arguments are passed to workers
https://bugs.webkit.org/show_bug.cgi?id=90126

Reviewed by Ojan Vafai.

The way arguments are passed to workers has been crufty. It
turns out it can be a lot cleaner via two things:
1) using a factory method instead of instantiating objects
directly in manager_worker_broker removes the need for passing
'worker arguments' to the broker.
2) it turns out that since mock hosts and test ports are purely
in-memory constructions, they can be pickled and passed to child
workers, meaning that the worker no longer needs hacky code to
pass the port in a special case or to guess what to do if we
don't have a host - all of the test-specific logic can move to
the test file, where we can stub out the mock host's
port_factory to return the same already-created port when it
needs to be shared.

This change also moves WorkerException to manager_worker_broker.py
where it belongs, and removes several useless tests that were
just a maintenance burden (and would've needed rewriting when we
change the rest of the broker implementation).

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._run_tests.worker_factory):
(Manager._run_tests):

  • Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:

(get):
(WorkerException):
(AbstractWorker.init):
(_ManagerConnection.init):
(_ManagerConnection.start_worker):
(_InlineManager.init):
(_InlineManager.start_worker):
(_MultiProcessManager._can_pickle_host):
(_MultiProcessManager):
(_MultiProcessManager.start_worker):
(_WorkerConnection.init):
(_InlineWorkerConnection.init):
(_InlineWorkerConnection.join):
(_InlineWorkerConnection.run):
(_Process.run):
(_MultiProcessWorkerConnection.init):
(_MultiProcessWorkerConnection.start):
(_MultiProcessWorkerConnection):
(_MultiProcessWorkerConnection.run):

  • Scripts/webkitpy/layout_tests/controllers/manager_worker_broker_unittest.py:

(_TestWorker.init):
(_TestWorker.run):
(_TestsMixin.test_name):
(_TestsMixin.test_cancel):
(_TestsMixin.test_done):
(_TestsMixin.test_unknown_message):
(InlineBrokerTests.setUp):
(MultiProcessBrokerTests.setUp):

  • Scripts/webkitpy/layout_tests/controllers/worker.py:

(Worker.init):
(Worker.run):

  • Scripts/webkitpy/layout_tests/controllers/worker_unittest.py: Removed.
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(passing_run):
(logging_run):
(run_and_capture):
(MainTest.test_child_processes_2):
(MainTest.test_child_processes_min):
(MainTest.test_exception_raised):
(MainTest.test_keyboard_interrupt):
(MainTest.test_retrying_and_flaky_tests):
(MainTest.test_run_orderinline):

19:36 Changeset [121508] by pdr@google.com

Add preventative assert in SVGTRefElement
https://bugs.webkit.org/show_bug.cgi?id=90203

Reviewed by Abhishek Arya.

SVGTRefElement::detachTarget() adds a pending resource via addPendingResource.
Due to some recent bugs in this area, an assert is being added to prevent
users from calling detachTarget when not in a document. Doing
so would create a bug such as in WK90042.

This assert will not fire currently because detachTarget is only called after
a DOMNodeRemovedFromDocumentEvent event fires, which only comes from
dispatchChildRemovalEvents when the node is in a document.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::detachTarget):

19:13 Changeset [121507] by dpranke@chromium.org

nrwt: don't try to catch worker exceptions in run_webkit_tests.main
https://bugs.webkit.org/show_bug.cgi?id=90125

Reviewed by Ojan Vafai.

It turns out run_webkit_tests.py wasn't really using
WorkerException and the catch we had for it was pointless. I've
removed the symbol import and moved it to the integration tests
where it is needed. Eventually the definition of the exception
moves to the broker module, and so minimizing the number of
users of it is a good thing.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(MainTest.test_exception_raised):

19:09 Changeset [121506] by mikelawther@chromium.org

Unreviewed gardening.

Mark css3/calc/transitions.html flaky (http://webkit.org/b/90234)

  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
18:59 Changeset [121505] by dpranke@chromium.org

nrwt: clean up passing of log messages between processes
https://bugs.webkit.org/show_bug.cgi?id=90123

Reviewed by Ojan Vafai.

It turns out log messages are perfectly picklable by themselves
and contain the process id of the process that generated the
message, so if we just pass the record from the worker to the
manager and call logger.handle() in the manager, everything just
works :).

The change is covered by existing tests.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._log_messages):

  • Scripts/webkitpy/layout_tests/controllers/worker.py:

(_WorkerLogHandler.emit):

  • Scripts/webkitpy/layout_tests/views/metered_stream.py:

(MeteredStream.init):
(_LogHandler.emit):

18:56 Changeset [121504] by wsiegrist@apple.com

Make sure master umask is set correctly

18:45 Changeset [121503] by commit-queue@webkit.org

[Qt] Remove unnecessary AffineTransform calls
https://bugs.webkit.org/show_bug.cgi?id=90178

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-06-28
Reviewed by Noam Rosenthal.

Qt currently ignores the const AffineTransform& parameter on
Pattern::createPlatformPattern, so removing it from all its Qt calls and
changing the function signature if platform is Qt.

  • platform/graphics/Pattern.h:

(Pattern):

  • platform/graphics/qt/FontQt.cpp:

(WebCore::fillPenForContext):
(WebCore::strokePenForContext):

  • platform/graphics/qt/FontQt4.cpp:

(WebCore::fillPenForContext):
(WebCore::strokePenForContext):

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::drawRepeatPattern):

  • platform/graphics/qt/PatternQt.cpp:

(WebCore::Pattern::createPlatformPattern):

18:45 Changeset [121502] by dpranke@chromium.org

add a pylint wrapper for linting python code
https://bugs.webkit.org/show_bug.cgi?id=90232

Reviewed by Adam Barth.

Currently we use 'pep8' to check python code in
check-webkit-style. pep8 is fast but simple; pylint is slower
but has much more robust linting capabilities and will catch
variable typos and all sorts of other things. Eventually we
should switch check-webkit-style to use this, but our code is
far from linting now so it needs to be cleaned up first.

This change adds the infrastructure and a wrapper so we can
start doing that.

  • Scripts/lint-webkitpy: Added.
  • Scripts/webkitpy/pylintrc: Added.
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_pylint):

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

[Qt] When uploading an opaque image to a texture for TextureMapper, unnecessary alpha operations take place
https://bugs.webkit.org/show_bug.cgi?id=90229

Reviewed by Luiz Agostini.

For opaque web content in WebKit2, we use the RGB32 image format. When we special-case
it in GraphicsContext3DQt, we can avoid any alpha operations and perform a regular copy.

Covered existing API tests, as this code path is always used when rendering.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):

18:30 Changeset [121500] by jamesr@google.com

[chromium] Compile chromium compositor implementation files into separate .lib
https://bugs.webkit.org/show_bug.cgi?id=90233

Reviewed by Adam Barth.

  • WebCore.gyp/WebCore.gyp:
18:18 Changeset [121499] by tony@chromium.org

[GTK] Use WEBKITOUTPUTDIR to find fonts in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=90215

Reviewed by Martin Robinson.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(initializeFonts): Check for WEBKITOUTPUTDIR first.

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

(GtkPort.setup_environ_for_server): Copy the environment variable to the child process.

  • WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:

(WTR::inititializeFontConfigSetting): Check for WEBKITOUTPUTDIR first.

18:18 Changeset [121498] by wsiegrist@apple.com

Switch master ditto command to unzip since the new master does not have ditto.

18:14 Changeset [121497] by dpranke@chromium.org

derive ChromiumPort from WebKitPort in NRWT in order to support skipping tests if symbols are missing
https://bugs.webkit.org/show_bug.cgi?id=89706

Reviewed by Ojan Vafai.

Try again to land the change first landed in r121363. This patch
adds a bunch more tests and reworks the handling of
port-specific default values for --pixel-tests and --time-out-ms
to be more consistent (adding a default_pixel_tests() method,
pushing the webkit default_timeout_ms() value up into base.py,
and overriding it properly in the chromium and apple mac ports.

Also change the logic in
run_webkit_tests._setup_derived_options() to not second-guess
what the port wants the timeout value to be for debug builds;
computing this in two different places led to several bugs.

This change also changes the Chromium unittest ports to derive
from ChromiumPortTestCase instead of PortTestCase, so that we
ensure that we're running the same tests on all port variants
more easily. There's more cleanup that can be done here, but
this is good enough for now

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

(Port.default_pixel_tests):
(Port):
(Port.default_timeout_ms):

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

(ChromiumPort):
(ChromiumPort.init):
(ChromiumPort.default_pixel_tests):
(ChromiumPort.default_timeout_ms):
(ChromiumPort.driver_name):
(ChromiumPort._driver_class):
(ChromiumPort._missing_symbol_to_skipped_tests):
(ChromiumPort.skipped_layout_tests):
(ChromiumPort.setup_test_run):
(ChromiumPort._path_to_image_diff):
(ChromiumPort._convert_path):

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

(ChromiumAndroidPortTest):
(ChromiumAndroidPortTest.test_expectations_files):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(ChromiumLinuxPortTest):

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

(ChromiumMacPort._modules_to_search_for_symbols):

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

(ChromiumMacPortTest):

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

split off from chromium_unittest.

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

(ChromiumWinPort._modules_to_search_for_symbols):

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

(ChromiumWinTest):

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

(MacPort.default_timeout_ms):

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

(MacTest.test_default_timeout_ms):

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

(MockDRTPort.start_http_server):

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

(PortTestCase.test_default_timeout_ms):
(PortTestCase):
(PortTestCase.test_default_pixel_tests):

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

(TestPort.default_pixel_tests):

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

(WebKitPort._modules_to_search_for_symbols):
(WebKitPort):
(WebKitPort._symbols_string):
(WebKitPort._skipped_tests_for_unsupported_features):

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

(TestWebKitPort._symbols_string):
(TestWebKitPort._tests_for_disabled_features):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options):

18:13 Changeset [121496] by arv@chromium.org

[V8] NodeList wrappers are not kept alive as needed
https://bugs.webkit.org/show_bug.cgi?id=90194

Reviewed by Ojan Vafai.

Source/WebCore:

We need to add custom reachability code for DynamicNodeLists. If the owner of
a DynamicNodeList is reachable then the DynamicNodeList must also be reachable.

Test: fast/dom/NodeList/nodelist-reachable.html

  • bindings/v8/custom/V8NodeListCustom.cpp:

(WebCore::V8NodeList::visitDOMWrapper): AddImplicitReferences from the owner wrapper.
(WebCore):

  • dom/NodeList.idl:

LayoutTests:

  • fast/dom/NodeList/nodelist-reachable-expected.txt: Added.
  • fast/dom/NodeList/nodelist-reachable.html: Added.
  • platform/chromium/fast/dom/NodeList/nodelist-reachable-expected.txt: Added.
17:59 Changeset [121495] by hayato@chromium.org

Add a test for a 'user-modify' css property of distributed nodes.
https://bugs.webkit.org/show_bug.cgi?id=90197

Reviewed by Ryosuke Niwa.

  • fast/dom/shadow/user-modify-inheritance-expected.txt:
  • fast/dom/shadow/user-modify-inheritance.html:
17:55 Changeset [121494] by commit-queue@webkit.org

frameborder="no" on frameset is ignored if border attribute set
https://bugs.webkit.org/show_bug.cgi?id=17767

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-06-28
Reviewed by Tony Chang.

Source/WebCore:

Fixes <frameset> frameborder and border handling. Previously we'd
override the frameborder=no setting if border was set. We also
treated frameborder="anything" the same as frameborder=0 since we
we just converted it to a number so frameborder=yes was incorrectly
treated the same as frameborder=no.

Tests: fast/frames/frameset-frameborder-boolean-values.html

fast/frames/frameset-frameborder-inheritance.html
fast/frames/frameset-frameborder-overrides-border.html

  • html/HTMLFrameSetElement.cpp: Proper parsing of yes,no,1,0 values.

(WebCore::HTMLFrameSetElement::parseAttribute):

  • html/HTMLFrameSetElement.h:

(WebCore::HTMLFrameSetElement::border): Border should be 0 if frameborder=no.

LayoutTests:

Add lots of tests for <frameset> frameborder and border handling.

  • fast/frames/frameset-frameborder-boolean-values-expected.txt: Added.
  • fast/frames/frameset-frameborder-boolean-values.html: Added.
  • fast/frames/frameset-frameborder-inheritance-expected.txt: Added.
  • fast/frames/frameset-frameborder-inheritance.html: Added.
  • fast/frames/frameset-frameborder-overrides-border-expected.txt: Added.
  • fast/frames/frameset-frameborder-overrides-border.html: Added.
17:47 Changeset [121493] by jsbell@chromium.org

run-bindings-tests should return non-zero exit code on test failure
https://bugs.webkit.org/show_bug.cgi?id=90205

Reviewed by Adam Barth.

  • Scripts/run-bindings-tests:

(main):

17:38 Changeset [121492] by jsbell@chromium.org

IndexedDB: Implement IDBTransaction internal active flag
https://bugs.webkit.org/show_bug.cgi?id=89379

Reviewed by Tony Chang.

Source/WebCore:

IDB transactions should only be "active" during IDB success/error callbacks;
attempts to make new requests otherwise (e.g. in a setTimeout callback)
should fail even if the transaction has not yet finished. Implement this logic,
and the closely related requirement that transactions are deactivated when
the context they were created in returns to the event loop, and finally that
when so deactivated they should commit rather than abort (as previously
implemented) if no requests have been filed.

Tests: storage/indexeddb/transaction-active-flag.html

storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html
storage/indexeddb/transaction-complete-with-js-recursion.html
storage/indexeddb/transaction-complete-workers.html

  • Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Simplify API.

(WebCore::transactions):
(WebCore::IDBPendingTransactionMonitor::addNewTransaction):
(WebCore::IDBPendingTransactionMonitor::deactivateNewTransactions):

  • Modules/indexeddb/IDBPendingTransactionMonitor.h:

(WebCore):
(IDBPendingTransactionMonitor):

  • Modules/indexeddb/IDBRequest.cpp: Unregisters from transaction when done,

not on destruction. No longer responsible for working with the pending monitor.
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::~IDBRequest):
(WebCore::IDBRequest::markEarlyDeath):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent): Set active flag on transaction during callback.

  • Modules/indexeddb/IDBTransaction.cpp: Use state enum to better track lifecycle, and

take ownership of relationship with pending monitor.
(WebCore::IDBTransaction::IDBTransaction): Special cases for version change
transactions.
(WebCore::IDBTransaction::~IDBTransaction):
(WebCore::IDBTransaction::error):
(WebCore::IDBTransaction::setError):
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::objectStoreCreated):
(WebCore::IDBTransaction::objectStoreDeleted):
(WebCore::IDBTransaction::setActive): Let IDBRequest and IDBPendingTransactionMonitor
toggle the active state. Needs some smarts because (1) state may move to Finishing during
the request's dispatch phase due to an implicit/explicit abort, and (2) a monitor call
will only trigger a commit if the transaction hasn't had any requests filed.
(WebCore):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::registerRequest):
(WebCore::IDBTransaction::unregisterRequest):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):
(WebCore::IDBTransaction::hasPendingActivity):
(WebCore::IDBTransaction::dispatchEvent):
(WebCore::IDBTransaction::canSuspend):
(WebCore::IDBTransaction::enqueueEvent):

  • Modules/indexeddb/IDBTransaction.h:

(WebCore::IDBTransaction::isFinished):
(IDBTransaction):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::commit): Allow explicit commit() calls from the front end
if no requests have been filed.

  • Modules/indexeddb/IDBTransactionBackendInterface.h:

(IDBTransactionBackendInterface): Expose commit() method.

  • bindings/js/JSMainThreadExecState.cpp:

(WebCore::JSMainThreadExecState::didLeaveScriptContext): Change target function name.

  • bindings/v8/V8RecursionScope.cpp:

(WebCore::V8RecursionScope::didLeaveScriptContext): Change target function name.

Source/WebKit/chromium:

To match the IDB spec, transactions that have had no requests
filed against them should commit, not abort. This requires plumbing
through the commit() call from front-end to back-end.

  • src/IDBTransactionBackendProxy.cpp:

(WebKit::IDBTransactionBackendProxy::commit):
(WebKit):

  • src/IDBTransactionBackendProxy.h:

(IDBTransactionBackendProxy):

  • src/WebIDBTransactionImpl.cpp:

(WebKit::WebIDBTransactionImpl::commit):
(WebKit):

  • src/WebIDBTransactionImpl.h:

LayoutTests:

  • storage/indexeddb/resources/transaction-active-flag.js: Added.
  • storage/indexeddb/resources/transaction-basics.js:

(completeCallback): Empty transactions now commit rather than abort.
(emptyCompleteCallback):

  • storage/indexeddb/resources/transaction-complete-workers.js: Renamed from LayoutTests/storage/indexeddb/resources/transaction-abort-workers.js.
  • storage/indexeddb/structured-clone.html: Assumed empty transactions aborted.
  • storage/indexeddb/transaction-active-flag-expected.txt: Added.
  • storage/indexeddb/transaction-active-flag.html: Added.
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame-expected.txt: Renamed from LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt.
  • storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html: Renamed from LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html.
  • storage/indexeddb/transaction-complete-with-js-recursion-expected.txt: Renamed from LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion-expected.txt.
  • storage/indexeddb/transaction-complete-with-js-recursion.html: Renamed from LayoutTests/storage/indexeddb/transaction-abort-with-js-recursion.html.
  • storage/indexeddb/transaction-complete-workers-expected.txt: Renamed from LayoutTests/storage/indexeddb/transaction-abort-workers-expected.txt.
  • storage/indexeddb/transaction-complete-workers.html: Renamed from LayoutTests/storage/indexeddb/transaction-abort-workers.html.
  • storage/indexeddb/tutorial.html: Assumed empty transactions aborted.
17:13 Changeset [121491] by pdr@google.com

Prevent crash in animate resource handling
https://bugs.webkit.org/show_bug.cgi?id=90042

Reviewed by Abhishek Arya.

Source/WebCore:

This patch adds a check that we are in a document before registering animation
resources and creating a target element in SVGSMILElement. This prevents a crash where
we would register resources and create the target when we were not in a document
but fail to deregister / reset the target when we were removed from a document.
In failing to reset the target, we can crash when trying to deregister resources that
were not created after being inserted into a document and then removed.

The existence of m_targetResources and registered animation resources is now
tied to being in a document.

Test: svg/custom/animate-reference-crash.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::targetElement):

LayoutTests:

  • svg/custom/animate-reference-crash-expected.txt: Added.
  • svg/custom/animate-reference-crash.html: Added.
17:06 Changeset [121490] by wsiegrist@apple.com

Update buildbot config for new hardware.

17:01 Changeset [121489] by abarth@webkit.org

[chromium] Reset the device scale factor to 1 before each test is run
https://bugs.webkit.org/show_bug.cgi?id=90212

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

Some tests change the device scale factor, so this needs to be reset to
1.0 at the start of each test to avoid test flakiness.

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::reset):

16:48 Changeset [121488] by jsbell@chromium.org

IndexedDB: IDBDatabase should have a close pending field.
https://bugs.webkit.org/show_bug.cgi?id=71129

Reviewed by Tony Chang.

Source/WebCore:

Handle the IDB spec case that "versionchange" events should not be fired
against connections that have the internal "closePending" flag set but
are not yet closed due to running transactions.

Test: storage/indexeddb/database-closepending-flag.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::onVersionChange):

LayoutTests:

  • storage/indexeddb/database-closepending-flag-expected.txt: Added.
  • storage/indexeddb/database-closepending-flag.html: Added.
  • storage/indexeddb/resources/database-closepending-flag.js: Added.

(test):
(openConnection.request.onsuccess.request.onsuccess):
(openConnection.request.onsuccess):
(openConnection):
(testIDBDatabaseName):
(testIDBDatabaseObjectStoreNames.request.onsuccess.request.onsuccess.transaction.oncomplete):
(testIDBDatabaseObjectStoreNames.request.onsuccess.request.onsuccess):
(testIDBDatabaseObjectStoreNames.request.onsuccess):
(testIDBDatabaseObjectStoreNames):
(testIDBDatabaseTransaction):
(testVersionChangeTransactionSteps.request.onsuccess.request.onsuccess.request.onblocked):
(testVersionChangeTransactionSteps.request.onsuccess.request.onsuccess.request.onsuccess.transaction.oncomplete):
(testVersionChangeTransactionSteps.request.onsuccess.request.onsuccess.request.onsuccess):
(testVersionChangeTransactionSteps.request.onsuccess.request.onsuccess):
(testDatabaseDeletion.request.onsuccess.request.onblocked):
(testDatabaseDeletion.request.onsuccess.request.onsuccess):

16:38 Changeset [121487] by ojan@chromium.org

Replace a BUG_OJAN with a proper tracking bug and unskip two
tests in preparation for rebaselining them.

  • platform/chromium/TestExpectations:
16:27 Changeset [121486] by enne@google.com

[chromium] Split WebScrollbar into WebPluginScrollbar and WebScrollbar
https://bugs.webkit.org/show_bug.cgi?id=90117

Reviewed by James Robinson.

Source/Platform:

Move WebScrollbar from client API to Platform.

  • Platform.gypi:
  • chromium/public/WebScrollbar.h: Copied from Source/WebKit/chromium/public/WebPluginScrollbarClient.h.

(WebKit):
(WebScrollbar):
(WebKit::WebScrollbar::~WebScrollbar):

Source/WebCore:

Make WebCore also depend on Platform.

  • WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

Convert WebScrollbar/WebScrollbarClient/WebScrollbarImpl to be
WebPluginScrollbar, WebPluginScrollbarClient, and
WebPluginScrollbarImpl. Modify ScrollbarGroup
to use this instead.

WebScrollbar is now the base interface for a pre-existing scrollbar
that is accessed in a const manner. It also provides all of the common
WebKit ScrollTypes.h enums. WebPluginScrollbar is now a scrollbar that
has been externally created and is externally modified in terms of its
position, invalidation, and painting.

This is a pre-refactoring for adding Web versions of ScrollbarTheme
into the Platform directory which will operate on WebScrollbar, but
that don't need all of what WebPluginScrollbar provides.

As WebScrollbar is moved to Platform, WebKit.gyp now must depend on
Platform as well.

  • WebKit.gyp:
  • public/WebPluginScrollbar.h:

(WebKit):
(WebPluginScrollbar):
(WebKit::WebPluginScrollbar::~WebPluginScrollbar):

  • public/WebPluginScrollbarClient.h:

(WebKit):
(WebPluginScrollbarClient):

  • public/WebScrollbar.h: Removed.
  • public/WebScrollbarClient.h: Removed.
  • src/AssertMatchingEnums.cpp:
  • src/ScrollbarGroup.cpp:

(WebKit::ScrollbarGroup::scrollbarCreated):
(WebKit::ScrollbarGroup::scrollbarDestroyed):
(WebKit::ScrollbarGroup::scrollSize):
(WebKit::ScrollbarGroup::scrollPosition):
(WebKit::ScrollbarGroup::contentsSize):

  • src/ScrollbarGroup.h:

(WebKit):
(ScrollbarGroup):

  • src/WebPluginScrollbarImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarImpl.cpp.

(WebKit):
(WebKit::WebPluginScrollbar::createForPlugin):
(WebKit::WebPluginScrollbar::defaultThickness):
(WebKit::WebPluginScrollbarImpl::WebPluginScrollbarImpl):
(WebKit::WebPluginScrollbarImpl::~WebPluginScrollbarImpl):
(WebKit::WebPluginScrollbarImpl::setScrollOffset):
(WebKit::WebPluginScrollbarImpl::invalidateScrollbarRect):
(WebKit::WebPluginScrollbarImpl::getTickmarks):
(WebKit::WebPluginScrollbarImpl::convertFromContainingViewToScrollbar):
(WebKit::WebPluginScrollbarImpl::scrollbarStyleChanged):
(WebKit::WebPluginScrollbarImpl::isOverlay):
(WebKit::WebPluginScrollbarImpl::value):
(WebKit::WebPluginScrollbarImpl::setLocation):
(WebKit::WebPluginScrollbarImpl::setValue):
(WebKit::WebPluginScrollbarImpl::setDocumentSize):
(WebKit::WebPluginScrollbarImpl::scroll):
(WebKit::WebPluginScrollbarImpl::paint):
(WebKit::WebPluginScrollbarImpl::handleInputEvent):
(WebKit::WebPluginScrollbarImpl::onMouseDown):
(WebKit::WebPluginScrollbarImpl::onMouseUp):
(WebKit::WebPluginScrollbarImpl::onMouseMove):
(WebKit::WebPluginScrollbarImpl::onMouseLeave):
(WebKit::WebPluginScrollbarImpl::onMouseWheel):
(WebKit::WebPluginScrollbarImpl::onKeyDown):

  • src/WebPluginScrollbarImpl.h: Added.

(WebCore):
(WebKit):
(WebPluginScrollbarImpl):
(WebKit::WebPluginScrollbarImpl::scrollOffset):
(WebKit::WebPluginScrollbarImpl::scrollbar):

  • src/WebScrollbarImpl.h: Removed.
16:25 Changeset [121485] by hclam@chromium.org

[chromium] Mark a test as failing on Linux debug

fast/forms/select/select-state-restore.html is failing on Linux debug because of timeout.

Not reviewed.

  • platform/chromium/TestExpectations:
16:21 Changeset [121484] by ojan@chromium.org

Rebaselines after http://trac.webkit.org/changeset/119507.
These were all done using "webkit-patch rebaseline-expectations".

  • platform/chromium-mac-leopard/tables/mozilla/bugs/bug131020-expected.png:
  • platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug131020-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug131020-expected.png:
  • platform/chromium-mac/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/chromium-win/tables/mozilla/bugs/bug131020-expected.png:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/tables/mozilla/bugs/bug131020-expected.txt: Copied from LayoutTests/tables/mozilla/bugs/bug131020-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/gtk/tables/mozilla/bugs/bug131020-expected.txt: Renamed from LayoutTests/tables/mozilla/bugs/bug131020-expected.txt.
  • platform/mac/TestExpectations:
  • platform/mac/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/qt/TestExpectations:
  • platform/qt/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/win/TestExpectations:
16:20 Changeset [121483] by abarth@webkit.org

[Chromium] On Android, we should be able to ask the embedder what intents exist in a region of the page
https://bugs.webkit.org/show_bug.cgi?id=90210

Reviewed by Dimitri Glazkov.

This patch introduces a function that asks the embedder to analyze the
region around a hit test result for interesting content, like phone
numbers, email addresses, or physical addresses. The embedder then
responds with the "most interesting" content, together with an intent
URL for enacting the intent embodied by that content.

This function will be used in a subsequent patch to detect content
after touch events.

  • WebKit.gyp:
  • public/WebContentDetectionResult.h: Added.

(WebKit):
(WebContentDetectionResult):
(WebKit::WebContentDetectionResult::WebContentDetectionResult):
(WebKit::WebContentDetectionResult::isValid):
(WebKit::WebContentDetectionResult::range):
(WebKit::WebContentDetectionResult::string):
(WebKit::WebContentDetectionResult::intent):

  • public/WebViewClient.h:

(WebViewClient):
(WebKit::WebViewClient::detechContentAround):

16:12 Changeset [121482] by sullivan@apple.com

<https://bugs.webkit.org/show_bug.cgi?id=90216>
<rdar://problem/11766518>
Undo handling in WebKit2 is not robust against some page-closing code paths

Reviewed by Enrica Casucci.

  • UIProcess/API/mac/PageClientImpl.h:

Declared public function viewWillMoveToAnotherWindow().

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
New function, calls clearAllEditCommands() to remove any Undo actions from the stack.
This guarantees that no Undo actions will be abandoned when the PageClientImpl is dealloc'ed.

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewWillMoveToWindow:]):
Now informs PageClientImpl via new function PageClientImpl::viewWillMoveToAnotherWindow().

16:05 Changeset [121481] by hayato@chromium.org

CompositeShadowTreeWalker should use InsertionPoint::hasDistribution() instead of InsertionPoint::isActive().
https://bugs.webkit.org/show_bug.cgi?id=89177

Reviewed by Dimitri Glazkov.

Source/WebCore:

Prevents ComposedShadowTreeWalker from escaping out of an
insertion point (which has distributed nodes) from a non-used
fallback element in the insertion point. Such a fallback element
should be treated as in an orphaned subtree.

ComposedShadowTreeParentWalker will be also fixed in a follow-up patch.

Test: fast/dom/shadow/composed-shadow-tree-walker.html

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):

LayoutTests:

  • fast/dom/shadow/composed-shadow-tree-walker-expected.txt:
  • fast/dom/shadow/composed-shadow-tree-walker.html:
16:03 Changeset [121480] by commit-queue@webkit.org

Adding a commenting utility to record BytecodeGenerator comments
with opcodes that are emitted. Presently, the comments can only
be constant strings. Adding comments for opcodes is optional.
If a comment is added, the comment will be printed following the
opcode when CodeBlock::dump() is called.

This utility is disabled by default, and is only meant for VM
development purposes. It should not be enabled for product builds.

To enable this utility, set ENABLE_BYTECODE_COMMENTS in CodeBlock.h
to 1.

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

Patch by Mark Lam <mark.lam@apple.com> on 2012-06-28
Reviewed by Geoffrey Garen.

  • GNUmakefile.list.am:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecodeCommentAndNewLine): Dumps the comment.
(JSC):
(JSC::CodeBlock::printUnaryOp): Add comment dumps.
(JSC::CodeBlock::printBinaryOp): Add comment dumps.
(JSC::CodeBlock::printConditionalJump): Add comment dumps.
(JSC::CodeBlock::printCallOp): Add comment dumps.
(JSC::CodeBlock::printPutByIdOp): Add comment dumps.
(JSC::CodeBlock::dump): Add comment dumps.
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::commentForBytecodeOffset):

Finds the comment for an opcode if available.

(JSC::CodeBlock::dumpBytecodeComments):

For debugging whether comments are collected.
It is not being called anywhere.

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::bytecodeComments):

  • bytecode/Comment.h: Added.

(JSC):
(Comment):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitOpcode): Calls emitComment().
(JSC):
(JSC::BytecodeGenerator::emitComment): Adds comment to CodeBlock.
(JSC::BytecodeGenerator::prependComment):

Registers a comment for emitComemnt() to use later.

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):
(JSC::BytecodeGenerator::emitComment):
(JSC::BytecodeGenerator::prependComment):

These are inlined versions of these functions that nullify them
when ENABLE_BYTECODE_COMMENTS is 0.

(JSC::BytecodeGenerator::comments):

16:02 Changeset [121479] by rniwa@webkit.org

Fix a typo in the change log per review comment.

16:01 Changeset [121478] by rniwa@webkit.org

Cleanup HTMLFormCollection
https://bugs.webkit.org/show_bug.cgi?id=90111

Reviewed by Andreas Kling.

Source/WebCore:

Got rid of getNamedItem and enamed getNamedFormItem to firstNamedItem and got rid of duplicateNumber argument since
it's always 0. Also made it a static local function. In addition, removed nextItem() since it's not used anywhere.

WebKit API Test: WebKit1.HTMLFormCollectionNamedItemTest

  • html/HTMLFormCollection.cpp:

(WebCore::firstNamedItem):
(WebCore):
(WebCore::HTMLFormCollection::namedItem):

  • html/HTMLFormCollection.h:

(HTMLFormCollection):

Tools:

Add a WebKit API test using copy-paste design pattern per kling's request.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.html: Added.
  • TestWebKitAPI/Tests/mac/HTMLFormCollectionNamedItem.mm: Added.

(-[HTMLFormCollectionNamedItemTest webView:didFinishLoadForFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

15:57 Changeset [121477] by commit-queue@webkit.org

IndexedDB: Hook up render-side key ASSERTing for get()
https://bugs.webkit.org/show_bug.cgi?id=90001

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-28
Reviewed by Tony Chang.

Source/WebCore:

Hook up the new onSuccess and add it to the interface. For now,
simply assert that the right value is set. Add the same assertion
logic in the value-construction logic when the cursor advances.

No new tests, existing tests verify this refactor is correct.

  • Modules/indexeddb/IDBCallbacks.h:

(IDBCallbacks):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::getInternal):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore):
(WebCore::IDBRequest::onSuccess):

  • Modules/indexeddb/IDBRequest.h:
  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromSerializedValueAndKeyPath):

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

Source/WebKit/chromium:

Hook up Chromium WebKit API to new onSuccess handler.

  • src/WebIDBCallbacksImpl.cpp:

(WebKit::WebIDBCallbacksImpl::onSuccess):

  • tests/IDBAbortOnCorruptTest.cpp:

(WebCore::MockIDBCallbacks::onSuccess):

  • tests/IDBDatabaseBackendTest.cpp:
15:45 Changeset [121476] by timothy_horton@apple.com

[mac] WKTR windows still don't stay off screen sometimes
https://bugs.webkit.org/show_bug.cgi?id=90214
<rdar://problem/11760263>

Reviewed by Simon Fraser.

In some cases, the system itself will consult [WebKitTestRunnerWindow frame], so we should refrain from
overriding it and instead provide a different method to use when we want the web-facing "fake" window origin
(for PlatformWebView::windowFrame()).

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(-[WebKitTestRunnerWindow frameRespectingFakeOrigin]):
(WTR::PlatformWebView::windowFrame):

15:41 NewRunWebKitTests edited by rafael.lobo@openbossa.org
Adding a tip about how to put expected results into a given platform path. (diff)
15:34 Changeset [121475] by mrobinson@webkit.org

[GTK] Add unit tests for GtkInputMethodFilter
https://bugs.webkit.org/show_bug.cgi?id=88698

Reviewed by Carlos Garcia Campos.

Add unit tests for GtkInputMethodFilter in the WebCore platform layer.
This change adds the TestGtk test suite which will be used for all non-API
layer GTK unit tests.

  • TestWebKitAPI/GNUmakefile.am: Update the build to include the new tests.
  • TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp: Added.

(TestWebKitAPI::PlatformWebView::PlatformWebView): Remove the call to gtk_init here
as it's now in main.cpp.

  • TestWebKitAPI/gtk/main.cpp: Change the g_type_init call to gtk_init, because now

a majority of all unit tests depend on GTK+ being initialized.

14:55 Changeset [121474] by commit-queue@webkit.org

Add support for DEPTH_STENCIL to WEBGL_depth_texture
https://bugs.webkit.org/show_bug.cgi?id=90109

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

Source/WebCore:

  • html/canvas/WebGLDepthTexture.idl:
  • html/canvas/WebGLFramebuffer.cpp:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):

LayoutTests:

  • fast/canvas/webgl/webgl-depth-texture-expected.txt:
  • fast/canvas/webgl/webgl-depth-texture.html:
14:51 Changeset [121473] by commit-queue@webkit.org

[chromium] Move chromium compositor implementation files into separate section in WebCore.gypi
https://bugs.webkit.org/show_bug.cgi?id=90201

Patch by James Robinson <jamesr@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

This moves the chromium compositor implementation files to a separate gyp variable to make future changes
easier. The files still all link into webcore_platform.lib, as before.

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
14:43 Changeset [121472] by commit-queue@webkit.org

Unreviewed. Rolled DEPS.

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

  • DEPS:
14:30 Changeset [121471] by schenney@chromium.org

[chromium] rebaseline svg text layouts?
https://bugs.webkit.org/show_bug.cgi?id=89936

Unreviewed Chromium test expectations update.

The SVG tests for this bug all seem OK, so they are being rebaselined.
The other content is less clear, so it is being left for an expert.

  • platform/chromium-win-xp/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Added.
  • platform/chromium-win-xp/svg/W3C-SVG-1.1/animate-elem-52-t-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png: Added.
  • platform/chromium-win-xp/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Added.
  • platform/chromium-win-xp/svg/custom/js-late-gradient-and-object-creation-expected.png: Added.
  • platform/chromium-win-xp/svg/text/text-intro-05-t-expected.txt: Added.
  • platform/chromium-win-xp/svg/zoom/page/zoom-foreignObject-expected.png: Added.
  • platform/chromium/TestExpectations:
14:26 Changeset [121470] by hclam@chromium.org

[chromium] Mark a test as slow.
https://bugs.webkit.org/show_bug.cgi?id=90207

fast/forms/select/select-state-restore.html is a slow test on debug builds.
Not reviewed.

  • platform/chromium/TestExpectations:
14:10 Changeset [121469] by hclam@chromium.org

Unreviewed, rolling out r121463.
http://trac.webkit.org/changeset/121463
https://bugs.webkit.org/show_bug.cgi?id=90094

Broke Windows build.

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:
  • tests/AssociatedURLLoaderTest.cpp:

(WebKit::AssociatedURLLoaderTest::AssociatedURLLoaderTest):
(WebKit::AssociatedURLLoaderTest::SetUp):
(WebKit::AssociatedURLLoaderTest::CheckMethodFails):
(WebKit::AssociatedURLLoaderTest::CheckHeaderFails):
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::registerMockedURLLoad):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:

(WebKit::SelectPopupMenuTest::registerMockedURLLoad):
(WebKit::SelectPopupMenuTest::loadFrame):
(WebKit::TEST_F):

  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Removed.
  • tests/URLTestHelpers.h: Removed.
  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):
(WebKit::TEST_F):

  • tests/WebPageNewSerializerTest.cpp:

(WebKit::WebPageNewSerializeTest::registerMockedURLLoad):
(WebPageNewSerializeTest):
(WebKit::WebPageNewSerializeTest::setUpCSSTestPage):
(WebKit::WebPageNewSerializeTest::loadURLInTopFrame):
(WebKit::WebPageNewSerializeTest::resourceVectorContains):
(WebKit::TEST_F):

  • tests/WebPageSerializerTest.cpp:

(WebKit::WebPageSerializerTest::registerMockedURLLoad):
(WebKit::WebPageSerializerTest::loadURLInTopFrame):
(WebKit::WebPageSerializerTest::webVectorContains):
(WebKit::TEST_F):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

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

[EFL] Enable support for HTML5 datalist
https://bugs.webkit.org/show_bug.cgi?id=90157

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Martin Robinson.

.:

Turn on DATALIST flag by default on EFL port to
support HTML5 datalist tag.

  • Source/cmake/OptionsEfl.cmake:

Tools:

Turn on DATALIST flag by default on EFL port to
support HTML5 datalist tag.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/efl/Skipped: Unskip fast/forms/datalist tests now that

the DATALIST flag is turned on by default on EFL port.

  • platform/efl/fast/forms/datalist/input-list-expected.txt: Added.

We need platform-specific result because we don't support datalist
UI for any element yet. This should be progressively added later
on and the expected result will evolve.

13:56 Changeset [121467] by commit-queue@webkit.org

[EFL] Use Eina_Module API instead of dlopen in PluginPackageEfl
https://bugs.webkit.org/show_bug.cgi?id=89972

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Antonio Gomes.

Use convenience helpers in Eina_Module to load plugins instead
of POSIX dlopen().

No new tests, behavior has not changed.

  • platform/FileSystem.h:

(WebCore):

  • platform/efl/FileSystemEfl.cpp:

(WebCore::unloadModule):

  • plugins/efl/PluginPackageEfl.cpp:

(WebCore::PluginPackage::load):

13:54 Changeset [121466] by oliver@apple.com

32bit DFG incorrectly claims an fpr is fillable even if it has not been proven double
https://bugs.webkit.org/show_bug.cgi?id=90127

Reviewed by Filip Pizlo.

The 32-bit version of fillSpeculateDouble doesn't handle Number->fpr loads
correctly. This patch fixes this by killing the fill info in the GenerationInfo
when the spillFormat doesn't guarantee the value is a double.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):

13:47 Changeset [121465] by bfulgham@webkit.org

[WinCairo] Unreviewed build correction. Add two missing macro
declarations to vsprops file.

  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Add missing

ENABLE_HIGH_DPI_CANVAS and ENABLE_REQUEST_ANIMATION_FRAME macros.

13:37 Changeset [121464] by tony@chromium.org

Enable CSS grid layout LayoutTests on platform Mac
https://bugs.webkit.org/show_bug.cgi?id=90113

Reviewed by Ojan Vafai.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetDefaultsToConsistentValues): Reset the value to NO between tests.

LayoutTests:

Use 1 instead of true, since that's what WebView.mm expects.

  • fast/css-grid-layout/containing-block-grids.html:
  • fast/css-grid-layout/display-grid-set-get.html:
  • fast/css-grid-layout/floating-empty-grids.html:
  • fast/css-grid-layout/grid-columns-rows-get-set-multiple.html:
  • fast/css-grid-layout/grid-columns-rows-get-set.html:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • platform/mac/Skipped: Unskip tests.
13:34 Changeset [121463] by shawnsingh@chromium.org

[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by Adam Barth.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:

(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):

  • tests/AssociatedURLLoaderTest.cpp:
  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:
  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:
  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Added.

(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):

  • tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.

(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):

  • tests/WebFrameTest.cpp:
  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebViewTest.cpp:
13:33 Changeset [121462] by commit-queue@webkit.org

[Qt] Fix TextureMapper rendering of GraphicsSurface on Mac
https://bugs.webkit.org/show_bug.cgi?id=90154

Patch by Jocelyn Turcotte <turcotte.j@gmail.com> on 2012-06-28
Reviewed by Noam Rosenthal.

Fix a regression introduced in r120608.
texture2DRect takes texel coordinates, unlike texture2D which needs normalized coordinates.

Pass an additional textureSize uniform and multiply it by the normalized coordinates.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTextureRectangleARB):

  • platform/graphics/texmap/TextureMapperShaderManager.cpp:

(WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
(WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(WebCore::TextureMapperShaderProgram::textureSizeLocation):
(TextureMapperShaderProgram):

13:28 Changeset [121461] by simon.fraser@apple.com

Improve compositing logging output
https://bugs.webkit.org/show_bug.cgi?id=90199

Reviewed by Tim Horton (w00t!).

Improve the compositing logging channel output in a few
useful ways:

  1. Report memory use, rather than megapixels
  2. Show element class names
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::backingStoreMemoryEstimate):

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::backingStoreMemoryEstimate):

  • platform/graphics/ca/GraphicsLayerCA.h:

(GraphicsLayerCA):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::nameForLayer):
(WebCore::RenderLayerBacking::backingStoreMemoryEstimate):

  • rendering/RenderLayerBacking.h:

(RenderLayerBacking):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

13:27 Changeset [121460] by mifenton@rim.com

[BlackBerry] Add watchlist options for Blackberry and editing.
https://bugs.webkit.org/show_bug.cgi?id=90193

Unreviewed.

Add BlackBerry and Editing watchlist and monitor them.

  • Scripts/webkitpy/common/config/watchlist:
13:22 Changeset [121459] by senorblanco@chromium.org

Unreviewed gardening.

Remove a duplicate expectation.

  • platform/chromium/TestExpectations:
13:19 Changeset [121458] by jamesr@google.com

[chromium] Fix up more includes in compositor code
https://bugs.webkit.org/show_bug.cgi?id=90200

Reviewed by Adrienne Walker.

Adds includes we are using and removes ones that we aren't using.

  • platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/ContentLayerChromium.cpp:
  • platform/graphics/chromium/ProgramBinding.cpp:
  • platform/graphics/chromium/RenderSurfaceChromium.cpp:
  • platform/graphics/chromium/cc/CCGraphicsContext.h:
  • platform/graphics/chromium/cc/CCRenderSurface.h:

(WebCore):

  • platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
13:13 Changeset [121457] by schenney@chromium.org

[chromium] svg/custom/clip-path-referencing-use2.svg fails in "drt mode" in DRT
https://bugs.webkit.org/show_bug.cgi?id=85085

Unreviewed Chromium expectations update.

NRWT is not printing the stdout from this test, which is not really
enough to warrant keeping the expectations incorrect. The bug stays
open.

  • platform/chromium-mac/svg/custom/clip-path-referencing-use2-expected.txt:
  • platform/chromium-win/svg/custom/clip-path-referencing-use2-expected.txt:
  • platform/chromium/TestExpectations:
13:02 Changeset [121456] by commit-queue@webkit.org

[CSSRegions]Rename NamedFlow::contentNodes to NamedFlow::getContent()
https://bugs.webkit.org/show_bug.cgi?id=90163

Patch by Andrei Onea <onea@adobe.com> on 2012-06-28
Reviewed by Andreas Kling.

Source/WebCore:

Latest CSS Regions spec defines the NamedFlow interface as having a function named getContent,
rather than an attribute named contentNodes.
http://www.w3.org/TR/css3-regions/#the-namedflow-interface

Test: fast/regions/webkit-named-flow-get-content.html

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::getContent):

  • dom/WebKitNamedFlow.h:

(WebKitNamedFlow):

  • dom/WebKitNamedFlow.idl:

LayoutTests:

Changed test for NameFlow::contentNodes to reflect new spec, which uses
NameFlow::getContent().

  • fast/regions/webkit-named-flow-content-nodes-expected.txt: Removed.
  • fast/regions/webkit-named-flow-get-content-expected.txt: Added.
  • fast/regions/webkit-named-flow-get-content.html: Renamed from LayoutTests/fast/regions/webkit-named-flow-content-nodes.html.
12:56 Changeset [121455] by timothy_horton@apple.com

Unreviewed, upgrade myself to a reviewer!

http://www.webkit.org/blog/2082/tim-horton-is-now-a-webkit-reviewer/

  • Scripts/webkitpy/common/config/committers.py:
12:48 Changeset [121454] by rniwa@webkit.org

REGRESSION(r121232): named properties on document and window may return wrong object
https://bugs.webkit.org/show_bug.cgi?id=90133

Reviewed by Andreas Kling.

Source/WebCore:

Fixed the bug. Also replaced hasAnyItem by isEmpty (hasAnyItem() is equivalent to !isEmpty()).

Test: fast/dom/HTMLDocument/named-item-multiple-match.html

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::GetNamedProperty):

  • html/HTMLCollection.h:

(WebCore::HTMLCollection::isEmpty):
(WebCore::HTMLCollection::hasExactlyOneItem):

LayoutTests:

Add a regression test.

  • fast/dom/HTMLDocument/named-item-multiple-match-expected.txt: Added.
  • fast/dom/HTMLDocument/named-item-multiple-match.html: Added.
12:45 Changeset [121453] by commit-queue@webkit.org

[Chromium] Chromium's LayoutTestController is missing setBackingScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=83635

Patch by Terry Anderson <tdanderson@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

Added InvokeCallbackTask, a new derived class of MethodTask. When
setBackingScaleFactor is called, a call to setDeviceScaleFactor in
WebView is made and then postTask is used to invoke the callback
function specified in testRunner.setBackingScaleFactor.

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):
(InvokeCallbackTask):
(InvokeCallbackTask::InvokeCallbackTask):
(InvokeCallbackTask::runIfValid):
(LayoutTestController::setBackingScaleFactor):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

12:37 Changeset [121452] by commit-queue@webkit.org

[Skia] Computing the resampling mode ignores scale applied to the canvas
https://bugs.webkit.org/show_bug.cgi?id=72073

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-28
Reviewed by Stephen White.

Source/WebCore:

Re-basing earlier patch by Daniel Sievers; updated tests.

Take into account canvas scale when computing image resampling mode.

When drawing a bitmap and computing the best resampling mode based
on the requested scale, take into account CSS scale and page scale
that are applied to the canvas. This allows for single-pass scaling
in potentially better quality (RESAMPLE_AWESOME) and also takes
better advantage of the scaled image cache in that codepath.

Existing tests updated to expect different resampling method (and
therefore a different image) whenever canvas scaling changes.

  • platform/graphics/skia/ImageSkia.cpp:

(WebCore::paintSkBitmap):

LayoutTests:

Updated tests to expect different image when resampling method changed.

  • platform/chromium-linux/fast/borders/border-image-scale-transform-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.png:
  • platform/chromium-linux/svg/W3C-I18N/text-anchor-no-markup-expected.png:
  • platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
  • platform/chromium-linux/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
  • platform/chromium-linux/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
  • platform/chromium-linux/svg/carto.net/scrollbar-expected.png:
  • platform/chromium-linux/svg/custom/image-small-width-height-expected.png:
  • platform/chromium-linux/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
  • platform/chromium-linux/transitions/cross-fade-background-image-expected.png:
  • platform/chromium/TestExpectations:
12:35 Changeset [121451] by commit-queue@webkit.org

[chromium] Change WebViewImpl::textInputInfo to use root editable element.
https://bugs.webkit.org/show_bug.cgi?id=90179

Patch by Oli Lan <olilan@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

WebViewImpl::textInputInfo currently returns text value and offsets relative to the
focused node. For contenteditable nodes, this may not give the expected result.

This patch changes the method to return value and offsets for the root editable element.
This also allows the implementation to be simplified somewhat.

This also ensures that the offsets returned will use the same basis as the recently added
method Editor::setSelectionOffsets (and WebViewImpl::setEditableSelectionOffsets).

Testing for textInputInfo has been added to WebViewTest.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputInfo):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):

12:27 Changeset [121450] by commit-queue@webkit.org

[chromium] Should schedule a commit when dropping contents textures
https://bugs.webkit.org/show_bug.cgi?id=90031

Patch by James Robinson <jamesr@chromium.org> on 2012-06-28
Reviewed by Adrienne Walker.

Source/WebCore:

If we're dropping contents textures on the impl thread, we need to schedule a commit to pick up new contents at
the next commit opportunity. Also adds some traces to make debugging issues like this easier.

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

(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):

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

(WebCore::CCScheduler::processScheduledActions):

Source/WebKit/chromium:

Adds a somewhat vacuous test unit test for committing when releasing textures.

  • tests/CCLayerTreeHostImplTest.cpp:
12:20 Changeset [121449] by commit-queue@webkit.org

[WK2] Add C API to inspect a Web Intent service
https://bugs.webkit.org/show_bug.cgi?id=89276

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Anders Carlsson.

Add C API for Web intent service so that it can be queried
on client side.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • UIProcess/API/C/WKIntentServiceInfo.cpp: Added.

(WKIntentServiceInfoGetTypeID):
(WKIntentServiceInfoCopyAction):
(WKIntentServiceInfoCopyType):
(WKIntentServiceInfoCopyHref):
(WKIntentServiceInfoCopyTitle):
(WKIntentServiceInfoCopyDisposition):

  • UIProcess/API/C/WKIntentServiceInfo.h: Added.
12:15 Changeset [121448] by commit-queue@webkit.org

ThreadingWin: Silence GCC compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=89491

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Adam Roben.

  • wtf/ThreadingWin.cpp:

(WTF::createThreadInternal):
(WTF::PlatformCondition::timedWait):
(WTF::PlatformCondition::signal): Fix unused-but-set-variable
warnings.

12:03 Changeset [121447] by ojan@chromium.org

Make rebaseline-test and rebaseline-expectations work for non-Chromium ports
https://bugs.webkit.org/show_bug.cgi?id=90186

Reviewed by Adam Barth.

This makes rebaselining work for all ports that have a TestExpectations file
in the tree. I didn't test other ports.

This doesn't address 100% of the problem. The rebaseline code puts the expectations
in the most specific directory and relies on optimize-baselines to merge baselines
appropriately. This only works if every platform directory has an equivalent bot
that runs the tests, which is not true for most ports.

  • Scripts/webkitpy/common/net/buildbot/buildbot.py:

(Builder._revision_and_build_for_filename):
Some bots have filenames that aren't revision/build number pairs
e.g. they are random junk like aQhxvx. Handle this gracefully.
(Builder._fetch_revision_to_build_map):
(Builder._file_info_list_to_revision_to_build_list):

  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

(BuilderTest.test_build_and_revision_for_filename):
(BuilderTest.test_file_info_list_to_revision_to_build_list):

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

Update the list of builders. This list needs to be kept up
to date for the rebaseline tool to work.

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

(RebaselineTest._results_url):
(RebaselineExpectations._run_webkit_patch):
(RebaselineExpectations._rebaseline_port):

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

Qt port uses qmake to determine the right version. Systems without qmake correctly fallback
to a specific version.

11:58 Changeset [121446] by antti@apple.com

Don't malloc RenderGeometryMap steps individually
https://bugs.webkit.org/show_bug.cgi?id=90074

Reviewed by Simon Fraser.

Mallocs and frees for steps under RenderGeometryMap::pus/popMappingsToAncestor can total ~2% of the profile when animating transforms.

  • rendering/RenderGeometryMap.cpp:

(WebCore):
(WebCore::RenderGeometryMap::absolutePoint):
(WebCore::RenderGeometryMap::absoluteRect):
(WebCore::RenderGeometryMap::mapToAbsolute):
(WebCore::RenderGeometryMap::push):
(WebCore::RenderGeometryMap::pushView):
(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:

(WebCore):
(WebCore::RenderGeometryMapStep::RenderGeometryMapStep):

Move to header.

(RenderGeometryMapStep):
(RenderGeometryMap):

Make the step vector hold RenderGeometryMapSteps instead of RenderGeometryMapStep*'s.

(WTF):

Give RenderGeometryMapSteps SimpleClassVectorTraits. This is needed for dealing with OwnPtr in the struct (and makes it faster too).
The type is simple enought to move by memcpy.

11:22 WebKitGTK/1.8.x edited by kalevlember@gmail.com
Add patches for Windows NPAPI plugin support (diff)
11:15 Changeset [121445] by commit-queue@webkit.org

[GTK] Remove Windows support from plugins/gtk/
https://bugs.webkit.org/show_bug.cgi?id=89501

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Martin Robinson.

The GTK+ port now uses plugins/gtk/ on Windows, which leaves
PluginPackageGtk.cpp and PluginViewGtk.cpp solely for XP_UNIX platforms.

  • plugins/gtk/PluginPackageGtk.cpp:

(WebCore::PluginPackage::fetchInfo):
(WebCore::webkitgtkXError):
(WebCore::PluginPackage::load):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::getRootWindow):
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::paint):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::setXCrossingEventSpecificFields):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::handleFocusOutEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformGetValueStatic):
(WebCore::PluginView::platformGetValue):
(WebCore::getPluginDisplay):
(WebCore::getVisualAndColormap):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformDestroy):

11:09 Changeset [121444] by jschuh@chromium.org

Merge 120881

TBR=raymes@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10692027

11:08 Changeset [121443] by simon.fraser@apple.com

Change FrameView::scrollContentsFastPath to use m_fixedObjects
https://bugs.webkit.org/show_bug.cgi?id=90045

Reviewed by James Robinson.

FrameView now has a hash set of fixed-position objects, so use
that instead of RenderBlock::positionedObjects(); we'll avoid traversing
through absolutely positioned objects, and this will work better for sticky
positioning in future.

No behavior change, so no new tests.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

11:06 Changeset [121442] by tony@chromium.org

Split flex into flex-grow/flex-shrink/flex-basis
https://bugs.webkit.org/show_bug.cgi?id=86525

Reviewed by Ojan Vafai.

Source/WebCore:

Split flex into 3 separate properties per the spec:
http://dev.w3.org/csswg/css3-flexbox/#flex-components

Tests: css3/flexbox/flex-longhand-parsing.html

css3/flexbox/flex-property-parsing.html: Updated test results.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore): -webkit-flex is no longer enumerable.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Fix indent.
(WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
(WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
preferred size -> basis) and assign to longhand properties.

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty): Add new properties.

  • css/CSSPropertyNames.in: Add new properties.
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitFlexShorthand): Add new shorthand.
(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.
Handle initial and inherit for flex.

LayoutTests:

If -webkit-flex is set to none, when the user reads the value back out, it is
now 0 0 auto. 'none' is for convenience, not an actual value.

  • css3/flexbox/flex-longhand-parsing-expected.txt:
  • css3/flexbox/flex-longhand-parsing.html: Test flex-grow, flex-shrink and flex-basis.
  • css3/flexbox/flex-property-parsing-expected.txt:
  • css3/flexbox/flex-property-parsing.html: Update results for 'none'.
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js: Remove -webkit-flex since it's no longer enumerable.
  • svg/css/getComputedStyle-basic-expected.txt:
11:00 Changeset [121441] by commit-queue@webkit.org

[GTK][Win]: Fix plugin drawing to an offscreen buffer
https://bugs.webkit.org/show_bug.cgi?id=89499

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-06-28
Reviewed by Brent Fulgham.

Take into account that the GTK+ port draws to a backing store and adjust
the target rectangle calculation accordingly.

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::paint):
(WebCore::PluginView::setNPWindowRect):

10:14 Changeset [121440] by kling@webkit.org

[WK2] platform/mac/editing/spelling/autocorrection-blockquote-crash.html fails.
<http://webkit.org/b/90156>

Skip this test on mac-wk2 for now.

  • platform/mac-wk2/Skipped:
10:07 Changeset [121439] by haraken@chromium.org

Optimize Dromaeo/dom-attr.html by speeding up Element::getAttribute()
https://bugs.webkit.org/show_bug.cgi?id=90174

Reviewed by Adam Barth.

This patch improves performance of Dromaeo/dom-attr.html by 4.0%.
The patch improves performance of getAttribute() and JavaScript
property setter for DOM objects (e.g. 'div.foo = 123').
The performance improvement becomes larger, as the number of
attributes defined on the DOM object increases.

Without the patch in Chromium/Linux (runs/s)
7679.4, 7739.7, 7634.0, 7726.4, 7663.9

With the patch in Chromium/Linux (runs/s)
7977.7, 8032.2, 8112.8, 7948.1, 7924.5

This patch just changes a type of 'name' of Element::getAttribute(String& name)
from String& to AtomicString&.

The key observation is that AtomicString(String& x) is faster than
operator==(String& x, AtomicString& y). AtomicString(String& x) calculates
a hash of a given String and adds it to a hash table. The calculation
complexity is O(the length of x). On the other hand,
operator==(String& x, AtomicString& y) compares a String and an AtomicString by
StringImpl::equal(StringImpl*, StringImpl*), the calculation complexity of
which is O(2 * min(the length of x, the length of y)).
In addition, the comparison logic is more complicated than the logic
of calculating the hash. Consequently, AtomicString(String& x) is
faster than operator==(String& x, AtomicString& y).

Keeping that in mind, let's estimate the performance of
Element::getAttribute("class") for <div id="A" lang="B" title="C" class="D" dir="E">.
Here "id", "lang", "title", "class" and "dir" are stored as AtomicStrings
in QualifiedName::localName(). Initially, "class" in Element::getAttribute("class")
is a String.

If we use Element::getAttribute(String& name) (i.e. without the patch),
ElementAttributeData::getAttributeItemIndex() executes four
operator==(String&, AtomicString&) by the time it finds the "class" attribute:

(1) if ("class" == "id") operator==(String&, AtomicString&)
(2) if ("class" == "lang")
operator==(String&, AtomicString&)
(3) if ("class" == "title") operator==(String&, AtomicString&)
(4) if ("class" == "class")
operator==(String&, AtomicString&)

On the other hand, if we use Element::getAttribute(AtomicString& name)
(i.e. with the patch), ElementAttributeData::getAttributeItemIndex()
executes one AtomicString(String&) and four operator==(AtomicString&, AtomicString&)
by the time it finds the "class" attribute:

(1) AtomicString("class") AtomicString(String&)
(2) if ("class" == "id")
operator==(AtomicString&, AtomicString&)
(3) if ("class" == "lang") operator==(AtomicString&, AtomicString&)
(4) if ("class" == "title")
operator==(AtomicString&, AtomicString&)
(5) if ("class" == "class") operator==(AtomicString&, AtomicString&)

Considering that the overhead of operator==(AtomicString&, AtomicString&) is close
to 0 since it is just a pointer comparison, the latter approach is faster than
the former approach.

Performance improvement will be large for elements that have multiple attributes,
but it is faster even for elements that have only one attribute.
For exmaple, Dromaeo/dom-attr.html tests getAttribute() for an element that has
only one attribute, the result shows 4.0% improvement.

Another example optimized by this patch is 'div.foo = 123', where foo is not
an attribute of div. In this case, before 123 is set, JavaScript calls back
Element::getAttribute() to check whether 'foo' is defined on div by
scanning all the attributes of div.

No tests. No change in behavior.

  • dom/Element.cpp:

(WebCore::Element::getAttribute):

  • dom/Element.h:

(Element):
(WebCore::Element::getAttributeItemIndex):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):

  • dom/ElementAttributeData.h:

(ElementAttributeData):
(WebCore::ElementAttributeData::getAttributeItem):
(WebCore::ElementAttributeData::getAttributeItemIndex):

09:52 Changeset [121438] by hans@chromium.org

Speech JavaScript API: Don't dispatch end event after ActiveDOMObject::stop()
https://bugs.webkit.org/show_bug.cgi?id=90176

Reviewed by Adam Barth.

Source/WebCore:

It is probably not safe to dispatch an event on an object that has
been ActiveDOMObject::stop()'ed.

This used to happen in the navigate-away.html test, which I believe
then caused speechgrammar-basics.html (which was typically run
afterwards, by the same worker), to crash flakily. See Bug 89717.

Test: speechgrammar-basics.html should no longer be flaky.

  • Modules/speech/SpeechRecognition.cpp:

(WebCore::SpeechRecognition::didEnd):
(WebCore::SpeechRecognition::stop):
(WebCore::SpeechRecognition::SpeechRecognition):

  • Modules/speech/SpeechRecognition.h:

LayoutTests:

speechgrammar-basics.html should no longer be flaky.

  • platform/chromium/TestExpectations:
09:43 Changeset [121437] by commit-queue@webkit.org

[GTK] [WK2] Memory leak in ResourceHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=90168

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-28
Reviewed by Martin Robinson.

Fixed a memory leak in WebCoreSynchronousLoader by using adoptGRef
instead of just getting new reference of GMainLoop.

No new tests. No change in behavior.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):

09:35 Changeset [121436] by danakj@chromium.org

[chromium] Do not multiply bounds by contentsScale in TiledLayerChromium and CanvasLayerTextureUpdater
https://bugs.webkit.org/show_bug.cgi?id=90103

Reviewed by Adrienne Walker.

Source/WebCore:

Non-integer scale factors can scale the bounds of a layer such that
different rounding is applied to the width and height in the content
bounds. We should never multiply bounds by contentsScale in order to
work correctly with non-integer scale factors. Instead, always use the
contentBounds/bounds ratio for width and height independently.

Tests: TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringPaint

TiledLayerChromiumTest.nonIntegerContentsScaleIsNotDistortedDuringInvalidation

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:

(WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:

(BitmapCanvasLayerTextureUpdater):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:

(BitmapSkPictureCanvasLayerTextureUpdater):

  • platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:

(WebCore::CanvasLayerTextureUpdater::paintContents):

  • platform/graphics/chromium/CanvasLayerTextureUpdater.h:

(CanvasLayerTextureUpdater):

  • platform/graphics/chromium/LayerTextureUpdater.h:

(WebCore::LayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/ScrollbarLayerChromium.cpp:

(WebCore::ScrollbarLayerChromium::updatePart):

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:

(SkPictureCanvasLayerTextureUpdater):

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::setNeedsDisplayRect):
(WebCore::TiledLayerChromium::updateTiles):

Source/WebKit/chromium:

  • tests/CCTiledLayerTestCommon.cpp:

(WebKitTests::FakeLayerTextureUpdater::prepareToUpdate):

  • tests/CCTiledLayerTestCommon.h:

(FakeTiledLayerChromium):

  • tests/TiledLayerChromiumTest.cpp:
09:14 Changeset [121435] by commit-queue@webkit.org

[Qt] Make GC's fill{Rounded}Rect use optimized shadow blur code
https://bugs.webkit.org/show_bug.cgi?id=90082

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-06-28
Reviewed by Noam Rosenthal.

ShadowBlur::drawRectShadow makes use of optimized tiles-based drawPattern, which
is not present when using {begin/end}shadowLayer.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::pushTransparencyLayerInternal):

09:05 Changeset [121434] by commit-queue@webkit.org

[chromium] Introduce way to reload a page using the original request URL
https://bugs.webkit.org/show_bug.cgi?id=89788

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-06-28
Reviewed by Adam Barth.

Adds a new reload method for cases where we need to override the URL
when reloading a page. This is needed for situations where a server
redirects navigation based on information that may have changed since
the last time the page was loaded.

User agents, for example, can cause a server to redirect to the mobile
version of a page. Changing to the desktop version by switching user agents
requires loading a URL from before the redirect occurred.

Also adds a unit test to confirm that scroll position and page scale are
saved when the reload occurs.

  • public/WebFrame.h:

(WebFrame):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::reloadWithGivenURL):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setClearPageScaleFactorOnLoad):
(WebKit):
(WebKit::WebViewImpl::didCommitLoad):

  • src/WebViewImpl.h:

(WebViewImpl):

08:43 Changeset [121433] by commit-queue@webkit.org

Web Inspector: Provide context menu 'Delete all watch expressions.'
https://bugs.webkit.org/show_bug.cgi?id=89735

Patch by Rahul Tiwari <rahultiwari.cse.iitr@gmail.com> on 2012-06-28
Reviewed by Yury Semikhatsky.

Added context menu delete and delete all watch expressions.

No new tests required as its a minor UI related change.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionsSection.prototype.updateExpression):
(WebInspector.WatchExpressionsSection.prototype._deleteAllExpressions):
(WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
(WebInspector.WatchExpressionTreeElement.prototype.update):
(WebInspector.WatchExpressionTreeElement.prototype._contextMenu):
(WebInspector.WatchExpressionTreeElement.prototype._deleteAllButtonClicked):

08:33 Changeset [121432] by commit-queue@webkit.org

m_cssVariablesEnabled member is not initialized in Page Settings
https://bugs.webkit.org/show_bug.cgi?id=90147

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-28
Reviewed by Simon Hausmann.

Properly initialize the m_cssVariablesEnabled member in Page
Settings.

No new tests, no behavior change.

  • page/Settings.cpp:

(WebCore::Settings::Settings):

07:43 Changeset [121431] by ossy@webkit.org

[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Unreviewed trivial typo fix after r121430.

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

(QtPortTest._assert_search_path):
(QtPortTest._assert_skipped_path):

07:33 Changeset [121430] by ossy@webkit.org

[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-06-28
Reviewed by Csaba Osztrogonác.

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

(QtPort._search_paths):
(QtPort):
(QtPort.baseline_search_path):
(QtPort._skipped_file_search_paths):

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

(QtPortTest):
(QtPortTest._assert_skipped_path):
(QtPortTest.test_baseline_search_path):
(QtPortTest.test_skipped_file_search_path):

07:27 Changeset [121429] by apavlov@chromium.org

[Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS)
https://bugs.webkit.org/show_bug.cgi?id=90167

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::removeUserStyleSheets):

  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

DRT should remove user stylesheets from the page group when resetting before running another test.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting):

LayoutTests:

Unskip the previously offensive test.

  • platform/qt/Skipped:
07:10 Changeset [121428] by ossy@webkit.org

[WK2] New fast/events/drag-display-none-element.html fails
https://bugs.webkit.org/show_bug.cgi?id=90177

Unreviewed gardening, skip the new failing test.

  • platform/wk2/Skipped:
06:16 Changeset [121427] by ossy@webkit.org

[Qt] css3/filters/huge-region-composited.html makes css3/filters/huge-region.html crash
https://bugs.webkit.org/show_bug.cgi?id=90165

[Qt] inspector/styles/inject-stylesheet.html makes 4 tests flakey (TEXT PASS)
https://bugs.webkit.org/show_bug.cgi?id=90167

Unreviewed gardening, skip the guilty tests.

  • platform/qt/Skipped:
06:07 Changeset [121426] by ossy@webkit.org

[Qt][DRT] Reset AcceleratedCompositingEnabled between tests
https://bugs.webkit.org/show_bug.cgi?id=90164

Reviewed by Simon Hausmann.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

04:39 Changeset [121425] by ossy@webkit.org

[Qt] Restore original value of mock scrollbars between tests
https://bugs.webkit.org/show_bug.cgi?id=90155

Reviewed by Simon Hausmann.

Source/WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockScrollbarsEnabled):

  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings):

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::setMockScrollbarsEnabled):

  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

LayoutTests:

  • platform/qt/Skipped: Unskip tests which doesn't break anything now.
02:57 Changeset [121424] by commit-queue@webkit.org

[EFL] Gardening after r121388
https://bugs.webkit.org/show_bug.cgi?id=90145

Unreviewed EFL gardening. The new fast/events/drag-display-none-element.html
test added in r121388 does not pass on EFL port because of missing drag'n'drop support.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-06-28

  • platform/efl/TestExpectations:
02:36 Changeset [121423] by kbalazs@webkit.org

[Qt] plugin is loaded to the web process via MainResourceLoader::substituteMIMETypeFromPluginDatabase
https://bugs.webkit.org/show_bug.cgi?id=86489

Reviewed by Simon Hausmann.

Removed the substituteMIMETypeFromPluginDatabase quirk from
MainResourceLoader. It would be possible to fix it in a way
that is compatible with WebKit2, but given that it was a Qt
only fix, and that it's not clear that we still need it, and
it's not even work currently, I decided to remove it. At least
it is -1 platform ifdef in common code.

Just removed a non-tested quirk, no test needed.

  • loader/MainResourceLoader.cpp:

(WebCore::MainResourceLoader::didReceiveResponse):

02:30 Changeset [121422] by mrowe@apple.com

<http://webkit.org/b/90096> Building within Xcode sometimes does a full rebuild after building via build-webkit

We need to ensure that build-webkit uses the same setting for SHARED_PRECOMPS_DIR
as what Xcode itself will use when building, otherwise switching between the two
can result in the precompiled headers being rebuilt and thus the entire world
rebuilding.

Reviewed by Dan Bernstein.

  • Scripts/webkitdirs.pm:

(determineBaseProductDir):

01:51 Changeset [121421] by haraken@chromium.org

[V8] Optimize Integer::New() by caching persistent handles for small integers
https://bugs.webkit.org/show_bug.cgi?id=90043

Reviewed by Adam Barth.

The patch improves performance of Dromaeo/dom-query.html by 3.6%,
and Bindings/scroll-top.html by 17.3%.

The performance results in my Chromium/Linux:

[Dromaeo/dom-query.html]
796310.4 runs/s => 824745.4 runs/s (+3.6%)

[Bindings/scroll-top.html]
204.68 runs/s => 240.15 runs/s (+17.3%)

This patch introduces V8BindingPerIsolateData::IntegerCache (just like
V8BindingPerIsolateData::StringCache) to cache persistent handles
for small integers.

No new tests. No change in behavior.

  • bindings/v8/V8Binding.h: Implemented v8Integer() and v8UnsignedInteger(),

which returns cached persistent handles for integers smaller than 64.
(WebCore):
(IntegerCache):
(WebCore::IntegerCache::IntegerCache):
(WebCore::IntegerCache::v8Integer):
(WebCore::IntegerCache::v8UnsignedInteger):
(WebCore::V8BindingPerIsolateData::integerCache):
(V8BindingPerIsolateData):
(WebCore::v8Integer):
(WebCore::v8UnsignedInteger):

  • bindings/v8/V8Binding.cpp:

(WebCore):
(WebCore::IntegerCache::createSmallIntegers):

  • bindings/v8/WorkerScriptController.cpp:

(~WorkerScriptController): ~V8BindingPerIsolateData() should be called before
isolate->Exit(), since ~V8BindingPerIsolateData() calls V8 APIs that requires
the current isolate.

  • bindings/scripts/CodeGeneratorV8.pm: Replaced Integer::New() and Integer::NewFromUnsigned()

with v8Integer() and v8UnsignedInteger().
(GenerateNormalAttrGetter):
(NativeToJSValue):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.

(WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetter):

  • bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

(WebCore::TestObjV8Internal::readOnlyIntAttrAttrGetter):
(WebCore::TestObjV8Internal::shortAttrAttrGetter):
(WebCore::TestObjV8Internal::unsignedShortAttrAttrGetter):
(WebCore::TestObjV8Internal::intAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetter):
(WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetter):
(WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr1AttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr2AttrGetter):
(WebCore::TestObjV8Internal::conditionalAttr3AttrGetter):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetter):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetter):
(WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
(WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
(WebCore::TestObjV8Internal::strawberryAttrGetter):
(WebCore::TestObjV8Internal::descriptionAttrGetter):
(WebCore::TestObjV8Internal::idAttrGetter):
(WebCore::TestObjV8Internal::intMethodCallback):
(WebCore::TestObjV8Internal::intMethodWithArgsCallback):
(WebCore::TestObjV8Internal::classMethodWithOptionalCallback):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.

(WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):

01:48 Changeset [121420] by tkent@chromium.org

Classify form control states by their owner forms
https://bugs.webkit.org/show_bug.cgi?id=89950

Reviewed by Hajime Morita.

Source/JavaScriptCore:

Expose WTF::StringBuilder::canShrink()

Source/WebCore:

To improve robustness of the form state restore feature, we classify
form control states by their owner forms. Owner forms are identified by
their action URLs and index numbers in forms with the same action URLs.

Implementation approach:
Extend FormElementKey class to have "formKey" string, which is a
combination of the action URL and an index number, or a fixed string for
no form owner.
FormKeyGenerator class is responsible to generate the "formKey" strings

Test: fast/forms/state-restore-per-form.html

  • html/FormController.cpp:

(FormKeyGenerator):
(WebCore::FormKeyGenerator::create): A factory function.
(WebCore::FormKeyGenerator::FormKeyGenerator): A private constructor.
(WebCore::createKey):
A helper for formKey(). This makes strings like "<action URL> #<index>".
(WebCore::FormKeyGenerator::formKey):
Returns a formKey for the specified HTMLFormElement*.
(WebCore::FormKeyGenerator::willDeleteForm):
Unregister HTMLFormElement*. This function is necessary because form
restore feature works during parsing and a script might delete form
elements.
(WebCore::formStateSignature): Bump the version.
(WebCore::FormController::formElementsState):
Records a formKey string for each of control state.
(WebCore::FormController::setStateForNewFormElements):
Loads formKeys from stateVector, and uses them for FormElementKey.
(WebCore::FormController::takeStateForFormElement):

  • Construct and destruct FormKeyGenerator if needed.
  • Passing a formKey for the specified form control to FormElementKey.

(WebCore::FormController::willDeleteForm):
Delegate to FormKeyGenerator::willDeleteForm.

(WebCore::FormElementKey::FormElementKey): Add formKey argument and member.
(WebCore::FormElementKey::operator=): ditto.
(WebCore::FormElementKey::ref): ditto.
(WebCore::FormElementKey::deref): ditto.

  • html/FormController.h:

(FormElementKey): Add formKey argument and member.
(FormController): Add a FormKeyGenerator member which is used during restoring.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::~HTMLFormElement): Notify the death to FormController.

LayoutTests:

  • fast/forms/resources/state-restore-per-form-back.html: Added.
  • fast/forms/state-restore-per-form-expected.txt:

Added. This contains some FAIL lines. They are expected and will
be fixed in webkit.org/b/89962.

  • fast/forms/state-restore-per-form.html: Added.
  • fast/forms/state-restore-broken-state-expected.txt:

Updated for the serialization format change.

01:44 Changeset [121419] by tkent@chromium.org

[Chromium] Test expectation update

  • platform/chromium/TestExpectations:

platform/chromium/accessibility/add-to-menu-list-crashes.html is passing.

01:39 Changeset [121418] by zandobersek@gmail.com

Unreviewed GTK gardening, removing crash expectation for the
fast/workers/worker-context-gc.html test as the offending revision
was rolled out in r121417.

  • platform/gtk/TestExpectations:
01:34 Changeset [121417] by zandobersek@gmail.com

Unreviewed, rolling out r121395.
http://trac.webkit.org/changeset/121395
https://bugs.webkit.org/show_bug.cgi?id=90143

Patch causes crashes in fast/workers/worker-context-gc.html
(Requested by zdobersek on #webkit).

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

Source/WebCore:

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::open):

  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):

  • workers/DedicatedWorkerThread.h:

(DedicatedWorkerThread):

  • workers/DefaultSharedWorkerRepository.cpp:

(SharedWorkerProxy):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):

  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):

  • workers/SharedWorkerThread.h:

(SharedWorkerThread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):

  • workers/WorkerThread.h:

(WorkerThread):

Source/WebKit/chromium:

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::startWorkerContext):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

00:46 Changeset [121416] by kbalazs@webkit.org

[Qt] KURL assert at fast/loader/opaque-base-url.html
https://bugs.webkit.org/show_bug.cgi?id=89468

Reviewed by Simon Hausmann.

Don't use the KURL(ParsedURLStringTag, const String&) constructor.
We cannot be sure that the url in encode was valid and even if it
was the message could have been corrupted.

  • Shared/qt/WebCoreArgumentCodersQt.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

00:30 Changeset [121415] by yosin@chromium.org

[Platform] Implement functions for localized time format information
https://bugs.webkit.org/show_bug.cgi?id=89965

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces three functions for time format:

  1. localizedTimeFormatText()
  2. localizedShortTimeFormatText()
  3. timeAMPMLabels()

for input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.

Having both localizedTimeFormat and localizedShortTimeFormat is for
displaying only two fields hour and minute when step >= 60. There is
no way to remove second field from "h:m:s" pattern string. We don't
know whether ":" after "m" belongs minute or second field.

Test: WebKit/chromium/tests/LocalizedDateICUTest.cpp

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::LocaleICU):
(WebCore::createFallbackAMPMLabels): Added.
(WebCore::LocaleICU::initializeDateTimeFormat): Added.
(WebCore::LocaleICU::localizedTimeFormatText): Added.
(WebCore::LocaleICU::localizedShortTimeFormatText): Added.
(WebCore::LocaleICU::timeAMPMLabels): Added.

  • platform/text/LocaleICU.h:

(LocaleICU):

  • platform/text/LocalizedDate.h:
  • platform/text/LocalizedDateICU.cpp:

(WebCore::localizedTimeFormatText): Added.
(WebCore::localizedShortTimeFormatText): Added.
(WebCore::timeAMPMLabels): Added.

Source/WebKit/chromium:

This patch adds new test LocalizedDateICUTest if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
is true.

  • WebKit.gypi:
  • tests/LocalizedDateICUTest.cpp: Added.

(LocalizedDateICUTest):
(Labels):
(LocalizedDateICUTest::Labels::Labels):
(LocalizedDateICUTest::Labels::operator==):
(LocalizedDateICUTest::Labels::toString):
(LocalizedDateICUTest::labels):
(LocalizedDateICUTest::localizedDateFormatText):
(LocalizedDateICUTest::localizedShortDateFormatText):
(LocalizedDateICUTest::timeAMPMLabels):
(operator<<):
(TEST_F):

00:25 Changeset [121414] by ossy@webkit.org

[Qt] Unreviewed gardening, skip a new test to hide an annoying bug
https://bugs.webkit.org/show_bug.cgi?id=87680 (and paint the bot green)

  • platform/qt/Skipped:
00:17 Changeset [121413] by zandobersek@gmail.com

Unreviewed GTK gardening, adding a crash expectation for the
fast/workers/worker-context-gc.html test that started crashing after r121395.

  • platform/gtk/TestExpectations:

06/27/12:

23:29 Changeset [121412] by haraken@chromium.org

Performance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
https://bugs.webkit.org/show_bug.cgi?id=90059

Reviewed by Ryosuke Niwa.

This patch improves performance of document.getElementsBy*().
e.g. the patch makes Dromaeo/dom-query.html 5.4% faster.

Dromaeo/dom-query.html without the patch (Chromium/Linux):
784714 runs/s, 765947 runs/s, 803109 runs/s, 804450 runs/s

Dromaeo/dom-query.html with the patch (Chromium/Linux):
839245 runs/s, 829867 runs/s, 811032 runs/s, 847486 runs/s

Based on the assumption that document.getElementsByClassName(),
document.getElementsByTagName() and document.getElementsByName()
would be used frequently in the real world, this patch implements
a fast path for Document methods that require to access NodeRareData.
Specifically, this patch caches a pointer to NodeRareData on Document,
by which Document can access NodeRareData without looking up a HashMap.

The only performance concern is the overhead of the isDocumentNode() check
that this patch added to Node::ensureRareData. However, I could not
observe any performance regression caused by the overhead.

No tests. No change in behavior.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setCachedRareData): I didn't inline this method,
since the inlining slightly regressed performance for some reason.
(WebCore):

  • dom/Document.h:

(WebCore):
(WebCore::Document::cachedRareData):
(Document):
(~Document): Moved 'm_document = 0' to the tail of the destructor,
since isDocumentNode() has to return true in clearRareData() that is called
in ~Document().

  • dom/Node.cpp:

(WebCore::Node::ensureRareData):
(~Node): Moved the assertion into clearRareData().

23:24 Changeset [121411] by carlosgc@webkit.org

Unreviewed. Fix the build without TEXTURE_MAPPER_GL.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize):

23:13 FeatureFlags edited by tkent@chromium.org
Add INPUT_TYPE_TIME_MULTIPLE_FIELDS (diff)
23:09 Changeset [121410] by mary.wu@torchmobile.com.cn

[BlackBerry] 0-length response with no content-type shouldn't download
https://bugs.webkit.org/show_bug.cgi?id=89860

Reviewed by Rob Buis.

RIM PR# 168419

For 0-length response, if we can't get its mimetype from the filename,
we set the mimetype to "text/plain" instead of "application/octet-stream",
so it won't go to download.

Reviewed internally by Charles Wei.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::sendResponseIfNeeded):

22:36 Changeset [121409] by ryuan.choi@samsung.com

Unreviewed, rolling out r121398.
http://trac.webkit.org/changeset/121398
https://bugs.webkit.org/show_bug.cgi?id=90136

broke efl build (Requested by ryuan on #webkit).

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

Source/WebKit:

  • PlatformEfl.cmake:

Source/WebKit/efl:

  • tests/UnitTestUtils/EWKTestBase.cpp: Removed.
  • tests/UnitTestUtils/EWKTestBase.h: Removed.
  • tests/UnitTestUtils/EWKTestConfig.h: Removed.
  • tests/UnitTestUtils/EWKTestView.cpp: Removed.
  • tests/UnitTestUtils/EWKTestView.h: Removed.
  • tests/resources/default_test_page.html: Removed.
  • tests/test_ewk_view.cpp: Removed.
  • tests/test_runner.cpp: Removed.
22:34 Changeset [121408] by commit-queue@webkit.org

Unreviewed, rolling out r121405.
http://trac.webkit.org/changeset/121405
https://bugs.webkit.org/show_bug.cgi?id=90135

broke windows build (Requested by shawnsingh_ on #webkit).

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

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:
  • tests/AssociatedURLLoaderTest.cpp:

(WebKit::AssociatedURLLoaderTest::AssociatedURLLoaderTest):
(WebKit::AssociatedURLLoaderTest::SetUp):
(WebKit::AssociatedURLLoaderTest::CheckMethodFails):
(WebKit::AssociatedURLLoaderTest::CheckHeaderFails):
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::registerMockedURLLoad):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:

(WebKit::SelectPopupMenuTest::registerMockedURLLoad):
(WebKit::SelectPopupMenuTest::loadFrame):

  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Removed.
  • tests/URLTestHelpers.h: Removed.
  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):
(WebKit::TEST_F):

  • tests/WebPageNewSerializerTest.cpp:

(WebKit::WebPageNewSerializeTest::registerMockedURLLoad):
(WebPageNewSerializeTest):
(WebKit::WebPageNewSerializeTest::setUpCSSTestPage):
(WebKit::WebPageNewSerializeTest::loadURLInTopFrame):
(WebKit::WebPageNewSerializeTest::resourceVectorContains):
(WebKit::TEST_F):

  • tests/WebPageSerializerTest.cpp:

(WebKit::WebPageSerializerTest::registerMockedURLLoad):
(WebKit::WebPageSerializerTest::loadURLInTopFrame):
(WebKit::WebPageSerializerTest::webVectorContains):
(WebKit::TEST_F):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

22:17 Changeset [121407] by bfulgham@webkit.org

[WinCairo] Unreviewed build correction. Accidentally turned on
CSS_FILTERS, which is not available in tree.

  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Turn CSS_FILTERS

back off for WinCairo target.

22:15 Changeset [121406] by ossy@webkit.org

Unreviewed, rolling out r121363, r121367, r121384, and
r121390.
http://trac.webkit.org/changeset/121363
http://trac.webkit.org/changeset/121367
http://trac.webkit.org/changeset/121384
http://trac.webkit.org/changeset/121390
https://bugs.webkit.org/show_bug.cgi?id=90134

It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT
on #webkit).

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

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

(ChromiumPort):
(ChromiumPort.init):
(ChromiumPort._check_file_exists):
(ChromiumPort.default_results_directory):
(ChromiumPort._driver_class):
(ChromiumPort._build_path):
(ChromiumPort._path_to_image_diff):

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

(ChromiumLinuxPort.baseline_search_path):

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

(ChromiumMacPort.baseline_search_path):

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

(ChromiumPortTest):

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

(ChromiumWinPort.baseline_search_path):

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

(WebKitPort.init):
(WebKitPort._webcore_symbols_string):
(WebKitPort._skipped_tests_for_unsupported_features):

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

(TestWebKitPort._webcore_symbols_string):
(WebKitPortUnitTests.test_default_options):

22:00 Changeset [121405] by shawnsingh@chromium.org

[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by James Robinson.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:

(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):

  • tests/AssociatedURLLoaderTest.cpp:
  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:
  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:
  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Added.

(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):

  • tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.

(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):

  • tests/WebFrameTest.cpp:
  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebViewTest.cpp:
21:58 Changeset [121404] by yosin@chromium.org

[Platform] Implement localizedDecimalSeparator function
https://bugs.webkit.org/show_bug.cgi?id=90036

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces new function localizedDecimalSeparator() when
ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS). It will be used for
displaying millisecond for time fields UI.

Test: WebKit/chromium/tests/LocalizedNumberICUTest.cpp

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::localizedDecimalSeparator): Added

  • platform/text/LocaleICU.h:

(LocaleICU): Added localizedDecimalSeparator.

  • platform/text/LocalizedNumber.h:
  • platform/text/LocalizedNumberICU.cpp:

(WebCore::localizedDecimalSeparator): Added.

  • platform/text/LocalizedNumberNone.cpp:

(WebCore::localizedDecimalSeparator): Added.

  • platform/text/mac/LocalizedNumberMac.mm:

(WebCore::localizedDecimalSeparator): Added.

Source/WebKit/chromium:

This patch adds test case for localizedDecimalSeparator().

  • tests/LocalizedNumberICUTest.cpp:

(testDecimalSeparator):
(TEST):

21:49 Changeset [121403] by commit-queue@webkit.org

Add OVERRIDE to functions in UnthrottledTextureUploader class
https://bugs.webkit.org/show_bug.cgi?id=90130

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-06-27
Reviewed by James Robinson.

No new tests required.

  • platform/graphics/chromium/LayerRendererChromium.cpp:
21:08 Changeset [121402] by bfulgham@webkit.org

[WinCairo] Unreviewed build correction. Resync feature defines with
Apple port. Things have drifted apart a little.

  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Update to match

Apple port, define some missing features.

20:58 Changeset [121401] by commit-queue@webkit.org

pattern="" should only accept the empty string
https://bugs.webkit.org/show_bug.cgi?id=89569

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Source/WebCore:

An empty pattern attribute was being treated essentially as if the
pattern wasn't present.

No new tests. Covered by existing tests (plus a modified one).

  • html/BaseTextInputType.cpp:

(WebCore::BaseTextInputType::patternMismatch):

Check if the pattern attribute is present. If it is then use the
pattern as is (in the particular case of this bug, an empty pattern
will only match an empty value).

LayoutTests:

  • fast/forms/ValidityState-patternMismatch-expected.txt:
  • fast/forms/ValidityState-patternMismatch.html:

Modified the test to check the results of an empty pattern both with an empty
value, and with some value specified.

20:33 Changeset [121400] by commit-queue@webkit.org

[BlackBerry] Selection overlay can become visible after it has been hidden
https://bugs.webkit.org/show_bug.cgi?id=90105

Patch by Andrew Lo <anlo@rim.com> on 2012-06-27
Reviewed by George Staikos.

When SelectionOverlay::hide is called from UI thread,
rather than setting the override opacity, dispatch to the
WebKit thread, which removes the overlay (normal case).

Internal PR164183.
Internally Reviewed by: Arvid Nilsson.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::selectionOverlay):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • Api/WebSelectionOverlay.h:
  • WebKitSupport/SelectionOverlay.cpp:

(BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
(BlackBerry::WebKit::SelectionOverlay::hide):

  • WebKitSupport/SelectionOverlay.h:

(BlackBerry::WebKit::SelectionOverlay::create):
(SelectionOverlay):

20:22 Changeset [121399] by yosin@chromium.org

Merge 121019 - REGRESSION(r117738):[Forms] validationMessage IDL attribute should not have range overflow message if value isn't range overflow
https://bugs.webkit.org/show_bug.cgi?id=89736

Reviewed by Kent Tamura.

Source/WebCore:

Tests: fast/forms/date/input-date-validation-message.html

fast/forms/number/input-number-validation-message.html
fast/forms/range/input-range-validation-message.html

This patch changes comparison operator for range overflow message in
InputType::validationMessage().

  • html/InputType.cpp:

(WebCore::InputType::validationMessage):

LayoutTests:

Tests for HTMLInputElement.validationMessage attribute.

  • fast/forms/date/input-date-validation-message-expected.txt: Added.
  • fast/forms/date/input-date-validation-message.html: Added.
  • fast/forms/number/input-number-validation-message-expected.txt: Added.
  • fast/forms/number/input-number-validation-message.html: Added.
  • fast/forms/range/input-range-validation-message-expected.txt: Added.
  • fast/forms/range/input-range-validation-message.html: Added.

TBR=yosin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10695026

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

Source/WebKit: [EFL] Add support for Unit Tests, based on the gtest library.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Add configuration for building gtest library, testing framework and unit tests.

  • PlatformEfl.cmake:

Source/WebKit/efl: [EFL] Implementation of testing framework and unit tests for WebKit-EFL port.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Testing framework is based on gtest library. Gtest library is part of the WebKit project. Framework is devided into base part and view part.
Base part takes care of efl initialization, defines test macros and prepares test to run. View part is a context of each test.

  • tests/UnitTestUtils/EWKTestBase.cpp: Added.

(EWKUnitTests):
(EWKUnitTests::EWKTestBase::init):
(EWKUnitTests::EWKTestBase::shutdown):
(EWKUnitTests::EWKTestBase::shutdownAll):
(EWKUnitTests::EWKTestBase::startTest):
(EWKUnitTests::EWKTestBase::endTest):
(EWKUnitTests::EWKTestBase::createTest):
(EWKUnitTests::EWKTestBase::runTest):

  • tests/UnitTestUtils/EWKTestBase.h: Added.

(EWKUnitTests):
(EWKTestBase):

  • tests/UnitTestUtils/EWKTestConfig.h: Added.

(Config):

  • tests/UnitTestUtils/EWKTestView.cpp: Added.

(EWKUnitTests):
(EWKUnitTests::EWKTestEcoreEvas::EWKTestEcoreEvas):
(EWKUnitTests::EWKTestEcoreEvas::evas):
(EWKUnitTests::EWKTestEcoreEvas::show):
(EWKUnitTests::EWKTestView::EWKTestView):
(EWKUnitTests::EWKTestView::init):
(EWKUnitTests::EWKTestView::show):
(EWKUnitTests::EWKTestView::mainFrame):
(EWKUnitTests::EWKTestView::evas):
(EWKUnitTests::EWKTestView::bindEvents):

  • tests/UnitTestUtils/EWKTestView.h: Added.

(EWKUnitTests):
(EWKTestEcoreEvas):
(EWKTestView):
(EWKUnitTests::EWKTestView::webView):

  • tests/resources/default_test_page.html: Added.
  • tests/test_ewk_view.cpp: Added.

(ewkViewEditableGetCb):
(TEST):
(ewkViewUriGetCb):

  • tests/test_runner.cpp: Added.

(parseCustomArguments):
(main):

19:06 Changeset [121397] by commit-queue@webkit.org

[chromium] Improve keyboardEvent() so a web page could receive a DOM3 spec compliant keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=89637

Patch by Yusuke Sato <yusukes@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

This is a Gtk port of http://crrev.com/142209.

Normalizes event->state to make it Windows/Mac compatible. Since the
way of setting modifier mask on X is very different than Windows/Mac
as shown in http://crbug.com/127142#c8, the normalization is necessary.

  • src/gtk/WebInputEventFactory.cpp:

(WebKit):
(WebKit::normalizeEventState):
(WebKit::WebInputEventFactory::keyboardEvent):

19:03 Changeset [121396] by jamesr@google.com

[chromium] Use SkColor in compositor internals
https://bugs.webkit.org/show_bug.cgi?id=90108

Reviewed by Adrienne Walker.

Source/WebCore:

As the title says, cutting dependencies. If we support color spaces in the compositor we will probably need to
use a more sophisticated type, but for our current use SkColor is sufficient and matches our API better.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundColor):
(WebCore::LayerChromium::setDebugBorderColor):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):
(WebCore::LayerChromium::backgroundColor):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawSolidColorQuad):

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

(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):

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

(CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::color):

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

(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundColor):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::hasDebugBorders):

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

(CCLayerImpl):
(WebCore::CCLayerImpl::backgroundColor):
(WebCore::CCLayerImpl::debugBorderColor):

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

(WebCore::CCLayerTreeHost::CCLayerTreeHost):

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

(WebCore::CCLayerTreeHost::setBackgroundColor):

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

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):

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

(WebCore::CCLayerTreeHostImpl::backgroundColor):
(WebCore::CCLayerTreeHostImpl::setBackgroundColor):
(CCLayerTreeHostImpl):

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

(WebCore::appendQuadInternal):

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

(WebCore::CCRenderPass::appendQuadsToFillScreen):

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

(WebCore):
(CCRenderPass):

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

(WebCore::CCRenderSurface::appendQuads):

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

(WebCore::CCSolidColorDrawQuad::create):
(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):

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

(CCSolidColorDrawQuad):
(WebCore::CCSolidColorDrawQuad::color):

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

(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::setBackgroundColor):

  • tests/CCLayerImplTest.cpp:

(WebCore::TEST):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCSolidColorLayerImplTest.cpp:

(CCLayerTestCommon::TEST):

  • tests/LayerChromiumTest.cpp:
18:58 Changeset [121395] by charles.wei@torchmobile.com.cn

IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
https://bugs.webkit.org/show_bug.cgi?id=88338

Reviewed by David Levin.

Source/WebCore:

If the indexedDB runs in main thread it can access the GroupSettings via the document;
otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
to the indexedDB running in WorkerContext.

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::open):

  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):

  • workers/DedicatedWorkerThread.h:

(DedicatedWorkerThread):

  • workers/DefaultSharedWorkerRepository.cpp:

(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::groupSettings):
(WebCore):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):

  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):

  • workers/SharedWorkerThread.h:

(SharedWorkerThread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::groupSettings):
(WebCore):

  • workers/WorkerThread.h:

(WorkerThread):

Source/WebKit/chromium:

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::startWorkerContext):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

18:14 Changeset [121394] by msaboff@apple.com

[Win] jscore-tests flakey
https://bugs.webkit.org/show_bug.cgi?id=88118

Reviewed by Jessie Berlin.

jsDriver.pl on windows intermittently doesn't get the returned value from jsc,
instead it gets 126. Added a new option to jsc (-x) which prints the exit
code before exiting. jsDriver.pl uses this option on Windows and parses the
exit code output for the exit code, removing it before comparing the actual
and expected outputs. Filed a follow on "FIXME" defect:
[WIN] Intermittent failure for jsc return value to propagate through jsDriver.pl
https://bugs.webkit.org/show_bug.cgi?id=90119

  • jsc.cpp:

(CommandLine::CommandLine):
(CommandLine):
(printUsageStatement):
(parseArguments):
(jscmain):

  • tests/mozilla/jsDriver.pl:

(execute_tests):

18:09 Changeset [121393] by commit-queue@webkit.org

Unreviewed, rolling out r121359.
http://trac.webkit.org/changeset/121359
https://bugs.webkit.org/show_bug.cgi?id=90115

Broke many inspector tests (Requested by jpfau on #webkit).

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

Source/JavaScriptCore:

  • interpreter/Interpreter.h:

(JSC::StackFrame::toString):

Source/WebCore:

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

18:05 Changeset [121392] by alexis.menard@openbossa.org

Implement selectedOptions attribute of HTMLSelectElement.
https://bugs.webkit.org/show_bug.cgi?id=80631

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add a new collection as a member of HTMLSelectElement which is
used to store the selected elements. Extend HTMLCollection to
support the new collection type needed by this feature. Make sure
that we invalidate the collection when the select state of an
option changes as the select state change does not trigger a dom
tree version change.

Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions

Test: fast/dom/HTMLSelectElement/select-selectedOptions.html

  • html/CollectionType.h:
  • html/HTMLCollection.cpp:

(WebCore::shouldIncludeChildren):
(WebCore::HTMLCollection::clearCache):
(WebCore):
(WebCore::HTMLCollection::isAcceptableElement):

  • html/HTMLCollection.h:

(HTMLCollection):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setSelectedState):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectedOptions):
(WebCore):
(WebCore::HTMLSelectElement::invalidateSelectedItems):
(WebCore::HTMLSelectElement::setRecalcListItems):

  • html/HTMLSelectElement.h:

(WebCore):
(HTMLSelectElement):

  • html/HTMLSelectElement.idl:

LayoutTests:

New tests to cover the feature.

  • fast/dom/HTMLSelectElement/select-selectedOptions-expected.txt: Added.
  • fast/dom/HTMLSelectElement/select-selectedOptions.html: Added.
  • fast/dom/htmlcollection-non-html-expected.txt:
  • fast/dom/htmlcollection-non-html.html:
17:49 Changeset [121391] by fpizlo@apple.com

Javascript SHA-512 gives wrong hash on second and subsequent runs unless Web Inspector Javascript Debugging is on
https://bugs.webkit.org/show_bug.cgi?id=90053
<rdar://problem/11764613>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The problem is that the code was assuming that the recovery should be Undefined if the source of
the SetLocal was !shouldGenerate(). But that's wrong, since the DFG optimizer may skip around a
UInt32ToNumber node (hence making it !shouldGenerate()) and keep the source of that node alive.
In that case we should base the recovery on the source of the UInt32ToNumber. The logic for this
was already in place but the fast check for !shouldGenerate() broke it.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-uint32-to-number-skip-then-exit-expected.txt: Added.
  • fast/js/dfg-uint32-to-number-skip-then-exit.html: Added.
  • fast/js/script-tests/dfg-uint32-to-number-skip-then-exit.js: Added.

(foo):

17:48 Changeset [121390] by dpranke@chromium.org

Fix typo in r121384 :(

Unreviewed, build fix.

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

(WebKitPort.default_test_timeout_ms):

17:32 Changeset [121389] by hclam@chromium.org

[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

  • platform/chromium-linux/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
17:09 Changeset [121388] by dcheng@chromium.org

Fix crash in Frame::nodeImage.
https://bugs.webkit.org/show_bug.cgi?id=89911

Reviewed by Abhishek Arya.

Source/WebCore:

We were caching a pointer to a RenderObject and then calling updateLayout(). Instead, we
need to get a pointer to the RenderObject again after updateLayout().

Test: fast/events/drag-display-none-element.html

  • page/Frame.cpp:

(WebCore::Frame::nodeImage):

  • page/mac/FrameMac.mm:

(WebCore::Frame::snapshotDragImage):
(WebCore::Frame::nodeImage):

LayoutTests:

  • fast/events/drag-display-none-element-expected.txt: Added.
  • fast/events/drag-display-none-element.html: Added.
17:04 Changeset [121387] by tony@chromium.org

Unreviewed, rolling out r121380.
http://trac.webkit.org/changeset/121380
https://bugs.webkit.org/show_bug.cgi?id=86525

Hits an ASSERT in debug.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFlex):

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/StyleBuilder.cpp:

(ApplyPropertyFlex):
(WebCore::ApplyPropertyFlex::applyInheritValue):
(WebCore::ApplyPropertyFlex::applyInitialValue):
(WebCore::ApplyPropertyFlex::applyValue):
(WebCore::ApplyPropertyFlex::createHandler):
(WebCore::ApplyPropertyFlex::getFlexValue):
(WebCore):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitFlexFlowShorthand):
(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:

(WebCore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

  • css3/flexbox/flex-longhand-parsing-expected.txt: Removed.
  • css3/flexbox/flex-longhand-parsing.html: Removed.
  • css3/flexbox/flex-property-parsing-expected.txt:
  • css3/flexbox/flex-property-parsing.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • svg/css/getComputedStyle-basic-expected.txt:
16:53 Changeset [121386] by commit-queue@webkit.org

HTMLFieldSetElement::m_documentVersion is not initialized
https://bugs.webkit.org/show_bug.cgi?id=90038

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Initialised m_documentVersion member as HTMLFieldSetElement::elements can return an wrong collection.

Covered by existing tests.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
Initialised m_documentVersion.

16:50 Changeset [121385] by jpfau@apple.com

[Mac] Fix test expectation introduced in r121299

Unreviewed.

  • platform/mac/editing/spelling/autocorrection-blockquote-crash-expected.txt:
16:49 Changeset [121384] by dpranke@chromium.org

nrwt: default timeout for debug bots broke in r121363
https://bugs.webkit.org/show_bug.cgi?id=90112

Unreviewed, build fix.

I forgot to account for release and debug having different
default values :(.

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

(ChromiumPort.default_test_timeout_ms):

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

(WebKitPort):
(WebKitPort.default_test_timeout_ms):

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

(WebKitPortUnitTests.test_default_options):

16:27 Changeset [121383] by hclam@chromium.org

[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

  • platform/chromium-mac-snowleopard/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium-win/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
16:16 Changeset [121382] by fpizlo@apple.com

DFG disassembly should be easier to read
https://bugs.webkit.org/show_bug.cgi?id=90106

Reviewed by Mark Hahnenberg.

Did a few things:

  • Options::showDFGDisassembly now shows OSR exit disassembly as well.


  • Phi node dumping doesn't attempt to do line wrapping since it just made the dump harder to read.


  • DFG graph disassembly view shows a few additional node types that turn out to be essential for understanding OSR exits.


Put together, these changes reinforce the philosophy that anything needed for computing
OSR exit is just as important as the machine code itself. Of course, we still don't take
that philosophy to its full extreme - for example Phantom nodes are not dumped. We may
revisit that in the future.

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::finalizeCodeWithDisassembly):

  • assembler/LinkBuffer.h:

(JSC):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGOSRExitCompiler.cpp:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

16:08 Changeset [121381] by mhahnenberg@apple.com

JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • API/APIShims.h:

(APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Added an extra parameter to the constructor to
determine whether we should ref the JSGlobalData or not. We want to ref all the time except for in the
HeapTimer class because timerDidFire could run after somebody has started to tear down that particular
JSGlobalData, so we wouldn't want to resurrect the ref count of that JSGlobalData from 0 back to 1 after
its destruction has begun.
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APIEntryShim::init): Factored out common initialization code for the various APIEntryShim constructors.
Also moved the timeoutChecker stop and start here because we need to start after we've grabbed the API lock
and before we've released it, which can only done in APIEntryShim.
(JSC::APICallbackShim::~APICallbackShim): We no longer need to synchronize here.

  • API/JSContextRef.cpp:

(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):

  • heap/Heap.h: Changed m_activityCallback and m_sweeper to be raw pointers rather than OwnPtrs because they

are now responsible for their own lifetime. Also changed the order of declaration of the GCActivityCallback
and the IncrementalSweeper to make sure they're the last things that get initialized during construction to
prevent any issues with uninitialized memory in the JSGlobalData/Heap they might care about.
(Heap):

  • heap/HeapTimer.cpp: Refactored to allow for thread-safe operation and shutdown.

(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC):
(JSC::HeapTimer::didStartVMShutdown): Called at the beginning of ~JSGlobalData. If we're on the same thread
that the HeapTimer is running on, we kill the HeapTimer ourselves. If not, then we set some state in the
HeapTimer and schedule it to fire immediately so that it can notice and kill itself.
(JSC::HeapTimer::timerDidFire): We grab our mutex and check our JSGlobalData pointer. If it has been zero-ed
out, then we know the VM has started to shutdown and we should kill ourselves. Otherwise, grab the APIEntryShim,
but without ref-ing the JSGlobalData (we don't want to bring the JSGlobalData's ref-count from 0 to 1) in case
we were interrupted between releasing our mutex and trying to grab the APILock.

  • heap/HeapTimer.h:

(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork): We no longer need the API shim here since HeapTimer::timerDidFire handles
all of that for us.
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::reap):

  • jsc.cpp:

(functionGC):
(functionReleaseExecutableMemory):
(jscmain):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/GCActivityCallback.h:

(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData): Signals to the two HeapTimers (GCActivityCallback and IncrementalSweeper)
that the VM has started shutting down. It then waits until the HeapTimer is done with whatever activity
it needs to do before continuing with any further destruction. Also asserts that we do not currently hold the
APILock because this could potentially cause deadlock when we try to signal to the HeapTimers using their mutexes.
(JSC::JSGlobalData::sharedInstance): Protect the initialization for the shared instance with the GlobalJSLock.
(JSC::JSGlobalData::sharedInstanceInternal):

  • runtime/JSGlobalData.h: Change to be ThreadSafeRefCounted so that we don't have to worry about refing and

de-refing JSGlobalDatas on separate threads since we don't do it that often anyways.
(JSGlobalData):
(JSC::JSGlobalData::apiLock):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSLock.cpp:

(JSC):
(JSC::GlobalJSLock::GlobalJSLock): For accessing the shared instance.
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder): MutexLocker for JSLock. Also refs the JSGlobalData to keep it alive so that
it can successfully unlock it later without it disappearing from underneath it.
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(JSC::JSLock::lock): Uses the spin lock for guarding the lock count and owner thread fields. Uses the mutex for
actually waiting for long periods.
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(GlobalJSLock):
(JSLockHolder):
(JSLock):
(DropAllLocks):

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):

  • testRegExp.cpp:

(realMain):

Source/WebCore:

No new tests. Current regression tests are sufficient.

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallbackCustom.cpp:

(WebCore::JSMutationCallback::handleEvent):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/objc/WebScriptObject.mm:

(_didExecute):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):

  • bridge/c/c_runtime.cpp:

(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):

  • bridge/jni/jni_jsobject.mm:

(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):

  • bridge/jni/jni_objc.mm:

(JSC::Bindings::dispatchJNICall):

  • bridge/jni/jsc/JNIUtilityPrivate.cpp:

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::~JavaClass):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::stringValue):

  • bridge/jni/jsc/JavaMethodJSC.cpp:

(appendClassName):
(JavaMethod::signature):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::gcProtect):
(JSC::Bindings::RootObject::gcUnprotect):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebCoreSupport/ClientExtension.cpp:
  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::installDomFunction):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • DOM/WebDOMOperations.mm:

(JSC):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • Api/qwebframe.cpp:

(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

16:05 Changeset [121380] by tony@chromium.org

Split flex into flex-grow/flex-shrink/flex-basis
https://bugs.webkit.org/show_bug.cgi?id=86525

Reviewed by Ojan Vafai.

Source/WebCore:

Split flex into 3 separate properties per the spec:
http://dev.w3.org/csswg/css3-flexbox/#flex-components

Tests: css3/flexbox/flex-longhand-parsing.html

css3/flexbox/flex-property-parsing.html: Updated test results.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore): -webkit-flex is no longer enumerable.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Fix indent.
(WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
(WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
preferred size -> basis) and assign to longhand properties.

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty): Add new properties.

  • css/CSSPropertyNames.in: Add new properties.
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitFlexShorthand): Add new shorthand.
(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.

LayoutTests:

If -webkit-flex is set to none, when the user reads the value back out, it is
now 0 0 auto. 'none' is for convenience, not an actual value.

  • css3/flexbox/flex-longhand-parsing-expected.txt:
  • css3/flexbox/flex-longhand-parsing.html: Test flex-grow, flex-shrink and flex-basis.
  • css3/flexbox/flex-property-parsing-expected.txt:
  • css3/flexbox/flex-property-parsing.html: Update results for 'none'.
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js: Remove -webkit-flex since it's no longer enumerable.
  • svg/css/getComputedStyle-basic-expected.txt:
15:51 Changeset [121379] by haraken@chromium.org

Make Element::elementRareData() and Element::ensureElementRareData() private
https://bugs.webkit.org/show_bug.cgi?id=90060

Reviewed by Andreas Kling.

This is a simple refactoring. Element::elementRareData() and
Element::ensureElementRareData() can be private methods.

No tests. No change in behavior.

  • dom/Element.h:

(Element):

15:16 Changeset [121378] by jamesr@google.com

[chromium] Delete unused includes and forward declarations from compositor code
https://bugs.webkit.org/show_bug.cgi?id=90102

Reviewed by Adrienne Walker.

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:
  • platform/graphics/chromium/ShaderChromium.h:
  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::updateTiles):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
15:13 Changeset [121377] by commit-queue@webkit.org

IndexedDB: make IDBKey immutable
https://bugs.webkit.org/show_bug.cgi?id=90016

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

Make all members of IDBKey const, so that this can be considered
an immutable, and thus safe to copy and/or stop ref-counting.

No new tests, existing tests show this works.

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::compare):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::createInvalid):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
(WebCore::IDBKey::createMultiEntryArray):
(WebCore::IDBKey::createArray):
(WebCore::IDBKey::date):
(WebCore::IDBKey::IDBKey):
(IDBKey):

15:00 Changeset [121376] by arv@chromium.org

[V8] Improve variable resolution order on window
https://bugs.webkit.org/show_bug.cgi?id=84247

Reviewed by Ojan Vafai.

This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.

This is the second (third?) try. Last time there was a bug in the V8 code related to the split window.
I added a test that tests the failure that caused this to be rolled back last time.

Source/WebCore:

Tests: fast/dom/Window/es52-globals.html

fast/dom/Window/window-property-shadowing-onclick.html

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

  • fast/dom/Window/es52-globals-expected.txt: Added.
  • fast/dom/Window/es52-globals.html: Added.
  • fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.
  • fast/dom/Window/window-property-shadowing-onclick.html: Added.
  • platform/chromium/fast/dom/Window/es52-globals-expected.txt: Added.
  • platform/chromium/fast/dom/Window/window-property-shadowing-name-expected.txt: Added.
  • platform/chromium/fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.
14:50 Changeset [121375] by jamesr@google.com

[chromium] Use categorized TRACE_EVENTN() macros in compositor code
https://bugs.webkit.org/show_bug.cgi?id=90100

Reviewed by Adrienne Walker.

Specify the category in all traces in the compositor. Patch generated mostly by the sed command
's/TRACE_EVENT(\(.*\), this, 0)/TRACE_EVENT0("cc", \1)/'.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::finish):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tileCheckerboardProgram):
(WebCore::LayerRendererChromium::solidColorProgram):
(WebCore::LayerRendererChromium::headsUpDisplayProgram):
(WebCore::LayerRendererChromium::renderPassProgram):
(WebCore::LayerRendererChromium::renderPassProgramAA):
(WebCore::LayerRendererChromium::renderPassMaskProgram):
(WebCore::LayerRendererChromium::renderPassMaskProgramAA):
(WebCore::LayerRendererChromium::tileProgram):
(WebCore::LayerRendererChromium::tileProgramOpaque):
(WebCore::LayerRendererChromium::tileProgramAA):
(WebCore::LayerRendererChromium::tileProgramSwizzle):
(WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tileProgramSwizzleAA):
(WebCore::LayerRendererChromium::textureProgram):
(WebCore::LayerRendererChromium::textureProgramFlip):
(WebCore::LayerRendererChromium::textureIOSurfaceProgram):
(WebCore::LayerRendererChromium::videoYUVProgram):
(WebCore::LayerRendererChromium::videoStreamTextureProgram):

  • platform/graphics/chromium/LayerTextureSubImage.cpp:

(WebCore::LayerTextureSubImage::uploadWithTexSubImage):
(WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):

  • platform/graphics/chromium/TextureCopier.cpp:

(WebCore::AcceleratedTextureCopier::copyTexture):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::evictTexture):

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

(WebCore::CCFrameRateController::setActive):
(WebCore::CCFrameRateController::onTimerTick):

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

(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::didLoseContext):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::animateLayers):

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

(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::compositeAndReadback):
(WebCore::CCSingleThreadProxy::stop):

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

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::initializeContext):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsAnimate):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
(WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
(WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::acquireLayerTextures):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

14:45 Changeset [121374] by fpizlo@apple.com

x86 disassembler confuses immediates with addresses
https://bugs.webkit.org/show_bug.cgi?id=90099

Reviewed by Mark Hahnenberg.

Prepend "$" to immediates to disambiguate between immediates and addresses. This is in
accordance with the gas and AT&T syntax.

  • disassembler/udis86/udis86_syn-att.c:

(gen_operand):

14:25 Changeset [121373] by dpranke@chromium.org

webkitpy: fix a couple of issues running under cygwin
https://bugs.webkit.org/show_bug.cgi?id=90035

Reviewed by Eric Seidel.

These were causing unit tests to fail on cygwin (apple win bot).

  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/performance_tests/perftest.py:
14:25 Changeset [121372] by fpizlo@apple.com

Add a comment clarifying Options::showDisassembly versus Options::showDFGDisassembly.

Rubber stamped by Mark Hahnenberg.

  • runtime/Options.cpp:

(JSC::Options::initializeOptions):

14:24 Changeset [121371] by wjmaclean@chromium.org

[chromium] ScrollbarLayerChromium should support painting forward-track and back-track in different styles.
https://bugs.webkit.org/show_bug.cgi?id=89908

Reviewed by Adrienne Walker.

Source/WebCore:

Test: platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

  • platform/graphics/chromium/ScrollbarLayerChromium.cpp:

(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::update):

  • platform/graphics/chromium/ScrollbarLayerChromium.h:

(ScrollbarLayerChromium):

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

(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore):
(WebCore::CCScrollbarLayerImpl::appendQuads):

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

(WebCore::CCScrollbarLayerImpl::setBackTrackTextureId):
(WebCore::CCScrollbarLayerImpl::setForeTrackTextureId):
(CCScrollbarLayerImpl):

LayoutTests:

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.txt: Added.
  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html: Added.
14:18 Changeset [121370] by commit-queue@webkit.org

REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
https://bugs.webkit.org/show_bug.cgi?id=89871

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-27
Reviewed by Simon Hausmann.

Added proper event synchronization to the test case.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
14:14 Changeset [121369] by abarth@webkit.org

[Chromium] DumpRenderTree on Android should call SkUseTestFontConfigFile once available
https://bugs.webkit.org/show_bug.cgi?id=89801

Reviewed by Nate Chapin.

Let's call SkUseTestFontConfigFile now that it exists.

  • DumpRenderTree/chromium/TestShellAndroid.cpp:

(platformInit):

14:12 Changeset [121368] by zandobersek@gmail.com

Unreviewed GTK gardening, adding a new baseline that's required
after the Gamepad API has been turned on in r121332.

  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Added.
14:09 Changeset [121367] by dpranke@chromium.org

Fix typo introduced in r121363.

Unreviewed, build fix.

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

(WebKitPort._symbols_string):

14:05 Changeset [121366] by jsbell@chromium.org

[Chromium] IndexedDB: Expose WebIDBTransaction::commit() method in public API
https://bugs.webkit.org/show_bug.cgi?id=90089

Reviewed by James Robinson.

Prep work for http://webkit.org/b/89379 which requires empty transactions to
trigger a commit from the front-end.

  • public/WebIDBTransaction.h:

(WebKit::WebIDBTransaction::commit):

14:02 Changeset [121365] by mhahnenberg@apple.com

Moving from committers to reviewers :-)

Rubber stamped by Filip Pizlo.

  • Scripts/webkitpy/common/config/committers.py:
14:00 Changeset [121364] by commit-queue@webkit.org

[chromium] Expose device scale factor in WebPluginContainer
https://bugs.webkit.org/show_bug.cgi?id=87874

Patch by Josh Horwich <jhorwich@chromium.org> on 2012-06-27
Reviewed by Adam Barth.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::deviceScaleFactor):
(WebKit):
(WebKit::WebPluginContainerImpl::pageScaleFactor):
(WebKit::WebPluginContainerImpl::pageZoomFactor):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

13:56 WebKit Team edited by mhahnenberg@apple.com
Moving myself from committers to reviewers. (diff)
13:52 Changeset [121363] by dpranke@chromium.org

Derive ChromiumPort from WebKitPort to add support for missing symbols to skip tests
https://bugs.webkit.org/show_bug.cgi?id=89706

Reviewed by Adam Barth.

Based on the original patch by Raymond Toy.

This patch changes ChromiumPort to derive from webkit.WebKitPort
instead of base.Port. This is a long-awaited change and a
precursor to merging base.Port and webkit.WebKitPort, but is
driven by the desire to dynamically detect whether the MP3 and
AAC codecs are compiled into DRT on Chromium, for which we
wanted to re-use the existing logic in WebKit port for determine
what to skip at compile time.

Most of the changes are shuffling things around so that we don't
change any other logic and so we override the necessary methods
in WebKitPort (and try to follow the same method definition
order where possible).

Also, on the Chromium port the mp3 and aac codecs are actually
defined in a separate library, so scanning webcore isn't
sufficient. This patch generalizes the symbol lookup to handle
multiple libraries, and uses different libraries as appropriate
for Chromium.

The only functional/visible changes should be in the value
returned for skipped_layout_tests().

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

(ChromiumPort):
(ChromiumPort.init):
(ChromiumPort.driver_name):
(ChromiumPort._driver_class):
(ChromiumPort._missing_symbol_to_skipped_tests):
(ChromiumPort.skipped_layout_tests):
(ChromiumPort.setup_test_run):
(ChromiumPort._path_to_image_diff):
(ChromiumPort._convert_path):

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

(ChromiumPortTest.test_missing_symbol_to_skipped_tests):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(WebKitPort):
(WebKitPort.init):
(WebKitPort._symbols_string):
(WebKitPort._modules_to_search_for_symbols):

13:38 Changeset [121362] by zhajiang@rim.com

[BlackBerry] Wrong scale after leaving fullscreen <video>
https://bugs.webkit.org/show_bug.cgi?id=89546

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 164948
When we were entering fullscreen, the current scale A was clamped to a
greater minimum scale B as we relayouted the contents during the change
of the viewport size. When leaving fullscreen, we still used that scale
B as the current scale which was incorrect.
To fix this, we can save the current scale when entering fullscreen and
restore it when leaving fullscreen.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):

  • Api/WebPage_p.h:

(WebPagePrivate):

13:31 Changeset [121361] by commit-queue@webkit.org

[chromium] Allow screen space rects and occluding rects to be visualized for debugging.
https://bugs.webkit.org/show_bug.cgi?id=90012

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-27
Reviewed by Adrienne Walker.

No new tests. No new functionality.

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

(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
(WebCore::CCDebugRectHistory::saveScreenSpaceRects):
(WebCore):
(WebCore::CCDebugRectHistory::saveOccludingRects):

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

(WebCore):
(CCDebugRectHistory):

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

(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawDebugRects):

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

(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):

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

(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(FrameData):

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

(WebCore::::CCOcclusionTrackerBase):
(WebCore::addOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):

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

(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::setOccludingScreenSpaceRectsContainer):

13:22 Changeset [121360] by commit-queue@webkit.org

[gtk] Spell checker doesn't recognize contractions (apostrophes)
https://bugs.webkit.org/show_bug.cgi?id=86118

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-06-27
Reviewed by Gustavo Noronha Silva.

Work-around a bug in Pango by trying to detect apostrophes
that create contractions. This work-around is similar to one
found in gtkspell.

  • webkit/webkitspellcheckerenchant.cpp:

(wordEndIsAContractionApostrophe): Added this helper which tries to detect
situations where a word end is both an apostrophe and followed by a alphabetic
character.
(checkSpellingOfString): When searching for the end of a word, skip over
apostrophes that appear to be part of contractions.

12:54 Changeset [121359] by commit-queue@webkit.org

Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
https://bugs.webkit.org/show_bug.cgi?id=40118

Patch by Anthony Scian <ascian@rim.com> on 2012-06-27
Reviewed by Yong Li.

Source/JavaScriptCore:

Added member functions to expose function name, urlString, and line #.
Refactored toString to make use of these member functions to reduce
duplicated code for future maintenance.

Manually tested refactoring of toString by tracing thrown exceptions.

  • interpreter/Interpreter.h:

(StackFrame):
(JSC::StackFrame::toString):
(JSC::StackFrame::friendlySourceURL):
(JSC::StackFrame::friendlyFunctionName):
(JSC::StackFrame::friendlyLineNumber):

Source/WebCore:

Implemented stub for createScriptCallStack to call into
Interpreter and extract the current stack frames, iterate
through the frames and create the return result required.

No new tests, manually tested thrown exception and inspector
tracebacks.

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

12:50 Changeset [121358] by rniwa@webkit.org

Let Xcode have its own way.

  • WebCore.xcodeproj/project.pbxproj:
12:42 Changeset [121357] by rniwa@webkit.org

REGRESSION (Safari 5?): Pasting a line into textarea inserts two newlines
https://bugs.webkit.org/show_bug.cgi?id=49288

Reviewed by Tony Chang.

Source/WebCore:

The bug was caused by positionAvoidingPrecedingNodes getting out of a block when the insertion point is at a line break.
It caused the subsequent code to be misinformed of the insertion position and ended up not pruning the extra line break.

Fixed the bug by checking this special case and bailing out so that we don't crawl out of the enclosing block.
It's similar to checks several lines below it.

Test: editing/pasteboard/copy-paste-pre-line-content.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::positionAvoidingPrecedingNodes):

LayoutTests:

Add a test regerssion test for copying & pasting a line in pre into textarea twice.

  • editing/pasteboard/copy-paste-pre-line-content-expected.txt: Added.
  • editing/pasteboard/copy-paste-pre-line-content.html: Added.
11:45 Changeset [121356] by hclam@chromium.org

[Chromium] Rebaseline svg/text/scaled-font.svg and svg/text/scaling-font-with-geometric-precision.html caused by r121343.

Not reviewed. Build fix.

  • platform/chromium-mac-snowleopard/svg/text/scaling-font-with-geometric-precision-expected.png:
  • platform/chromium-mac/svg/text/scaled-font-expected.png:
  • platform/chromium-mac/svg/text/scaling-font-with-geometric-precision-expected.png:
11:44 Changeset [121355] by zhajiang@rim.com

Scale was incorrect when reloading a simple web page after initial load https://bugs.webkit.org/show_bug.cgi?id=88889

Reviewed by Antonio Gomes.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 164442
For FrameLoadTypeStandard load, the layout timer can be fired which can
call dispatchDidFirstVisuallyNonEmptyLayout() after the load Finished
state, in which case the web page will have no chance to zoom to
initial scale. We should give it a chance as well as FrameLoadTypeSame
load.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):

11:28 Changeset [121354] by beidson@apple.com

https://bugs.webkit.org/show_bug.cgi?id=87513
WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.

Reviewed by Darin Adler.

  • We think a null entry might somehow be getting in the list so we now try to prevent that.
  • We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
  • A lot of index math - especially tracking "no current index" - was implicit or wrong.
  • Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
  • The session state data reading and writing code was fragile and needed an overhaul.
  • This includes adding a new V1 format of the session data that is easier to validate when reading back in.
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::~WebBackForwardList):
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebBackForwardList.h:

(WebBackForwardList):

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::createEmptySessionHistoryDictionary):
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
(WebKit::extractBackForwardListEntriesFromArray):

11:28 Changeset [121353] by ojan@chromium.org

Fix some styling errors in the TestExpecations files.
There were automatically fixed when trying to make
webkit-patch rebaseline-expectations work for non-Chromium ports.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
11:25 Changeset [121352] by commit-queue@webkit.org

[CSSRegions]Change display values that allow regions
https://bugs.webkit.org/show_bug.cgi?id=89759

Patch by Andrei Onea <onea@adobe.com> on 2012-06-27
Reviewed by Tony Chang.

Source/WebCore:

Allow only elements with display values of block, inline-block,
table-cell, table-caption and list-item to become regions, as per
CSSRegions spec: http://dev.w3.org/csswg/css3-regions .
Also added test for checking whether regions are destroyed and/or created
when changing display value.

Test: fast/regions/region-element-display-change.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added checks for more display values, and modified results to reflect proper values that can become
regions. Also created new test for dynamically changing display values, making sure regions are
created or destroyed correctly.

  • fast/regions/region-element-display-change-expected.txt: Added.
  • fast/regions/region-element-display-change.html: Added.
  • fast/regions/region-element-display-restriction-expected.txt:
  • fast/regions/script-tests/region-element-display-change.js: Added.

(testElement):

  • fast/regions/script-tests/region-element-display-restriction.js:
11:23 Changeset [121351] by mikelawther@chromium.org

CSS3 calc: blending involving expressions
https://bugs.webkit.org/show_bug.cgi?id=86160

Reviewed by Tony Chang.

Source/WebCore:

If either endpoint of a blend involves a calc expression, we create a new
expression to perform the blend calculation.

Test: css3/calc/transitions.html

css3/calc/transitions-dependent.html

  • platform/Length.cpp:

(WebCore):
(WebCore::Length::blendCalculation):

  • platform/Length.h:

(WebCore::Length::blend):
(Length):

LayoutTests:

Removed existing test as it was folded into transitions.html.

  • css3/calc/transition-start-end-with-calc-expected.txt: Removed.
  • css3/calc/transition-start-end-with-calc.html: Removed.
  • css3/calc/transitions-dependent-expected.txt: Added.
  • css3/calc/transitions-dependent.html: Added.
  • css3/calc/transitions-expected.txt: Added.
  • css3/calc/transitions.html: Added.
10:48 Changeset [121350] by shinyak@chromium.org

[Shadow] Triggers assertion in VisibleSelection::adjustSelectionToAvoidCrossingBoundaries()
https://bugs.webkit.org/show_bug.cgi?id=89918

Reviewed by Ryosuke Niwa.

This patch adds a testcase of selection from Shadow DOM to some elements outside of shadow host.
r121303, which is a patch for another issue, fixed this issue.

  • editing/shadow/breaking-editing-boundaries-2-expected.txt: Added.
  • editing/shadow/breaking-editing-boundaries-2.html: Added.
10:45 Changeset [121349] by commit-queue@webkit.org

Move CSSWrapShape style resolution from StyleResolver to StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=89668

Patch by Hans Muller <hmuller@adobe.com> on 2012-06-27
Reviewed by Andreas Kling.

Moved the resolution of the shapeInside and shapeOutside CSS properties
from the StyleResolver class to StyleBuilder. This is just refactoring
in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=89670.

No new tests were required.

  • css/StyleBuilder.cpp:

(WebCore):
(ApplyPropertyWrapShape):
(WebCore::ApplyPropertyWrapShape::setValue):
(WebCore::ApplyPropertyWrapShape::applyValue):
(WebCore::ApplyPropertyWrapShape::createHandler):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

10:38 Changeset [121348] by achicu@adobe.com

Blur filter causes issues when scrolling
https://bugs.webkit.org/show_bug.cgi?id=89475

Reviewed by Simon Fraser.

Source/WebCore:

This patch disables the fast scrolling when there is a fixed postioned element that
has a filter applied on its parent layer. Otherwise the scroll blitting will just
copy the outsets of the blur effect.

Test: css3/filters/blur-filter-page-scroll.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

LayoutTests:

Checking that the fixed positioned element repaints correctly when there is a blur filter
applied on its parent layer.

  • css3/filters/blur-filter-page-scroll.html: Added.
  • platform/chromium/css3/filters/blur-filter-page-scroll-expected.png: Added.
  • platform/chromium/css3/filters/blur-filter-page-scroll-expected.txt: Added.
  • platform/chromium/TestExpectations: The new test needs to be checked on Windows.
  • platform/mac/css3/filters/blur-filter-page-scroll-expected.png: Added.
  • platform/mac/css3/filters/blur-filter-page-scroll-expected.txt: Added.
10:22 Changeset [121347] by kling@webkit.org

REGRESSION(r121296): New zero-size background tests asserting on Mac.
<http://webkit.org/b/90071>

Reviewed by Dan Bernstein.

Remove ASSERT(patternTransform.isInvertible()) as this is now a valid scenario.

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::Image::drawPattern):

09:55 Changeset [121346] by ossy@webkit.org

[Qt] REGRESSION(r121339): It broke the build on the Qt Windows bots
https://bugs.webkit.org/show_bug.cgi?id=90081

Buildfix for Qt 4.8 Windows. Use the former path for Qt 4.8, and the newer one for Qt 5.

Reviewed by Noam Rosenthal.

  • qmake/mkspecs/features/features.prf:
08:52 Changeset [121345] by sergio@webkit.org

[WK2] [GTK] WebKit2 testing bot fails to run tests due to missing files
https://bugs.webkit.org/show_bug.cgi?id=90061

Reviewed by Gustavo Noronha Silva.

Add "-no-install -no-fast-install" to the LDFLAGS in bots. With
this flag libtool tells the linker to set the rpath for the output
file to the full path of the .libs directory, instead of using a
wrapper script to set up the LD_LIBRARY_PATH. This will allow us
to directly reuse builds in the pure testing bots.

  • BuildSlaveSupport/gtk/daemontools-buildbot.conf:
08:18 Changeset [121344] by shinyak@chromium.org

HTMLStyleElement::removedFrom seems incorrect.
https://bugs.webkit.org/show_bug.cgi?id=89986

Reviewed by Hajime Morita.

This is a follow-up patch for Bug 88495. The Same bug as Bug 88495 seems to exist on
HTMLStyleElement::removedFrom().

No new tests, hard to write a test case.

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::removedFrom):

08:06 Changeset [121343] by reed@google.com

Cleanup scaling code in text-decorations for SVG InlineText. Use scale() instead of getCTM/normalizeTransform/setCTM
to use more standard pattern for scaling, and to allow for these operations to be recorded and played back later
(potentially with a different starting matrix). This effectively reverts change# 78704.
https://bugs.webkit.org/show_bug.cgi?id=89888

Reviewed by Nikolas Zimmermann.

No new tests. Current layouttests exercise this code path.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):

07:55 Changeset [121342] by rjkroege@chromium.org

[chromium] out-of-order assert in WebViewImpl setDeviceScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=90006

The assert in WebViewImpl::setDeviceScaleFactor should test for non-scaling
after we have set both m_DeviceScaleInCompositor and page()->deviceScaleFactor()
instead of in between.

Reviewed by James Robinson.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setDeviceScaleFactor):

07:27 Changeset [121341] by vestbo@webkit.org

[Qt] Remove redundant NDEBUG definition

Already handled in default_post.prf.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • WebCore.pri:
07:24 Changeset [121340] by vestbo@webkit.org

[Qt] No need to save and restore TEMPLATE in a function

This was a leftover from when the logic was not in its own function scope.

QMAKE_FRAMEWORK_BUNDLE_NAME on the other hand is exported in qtLibraryTarget, which
will surprisingly affect the global scope as well, so we have to save and restore it.

Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27

Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/functions.prf:
06:29 WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
06:05 Changeset [121339] by vestbo@webkit.org

[Qt] Fix lookup location for sqlite sources

Don't look in the install dir - we are unlikely to find anything there
unless we are doing a developer build.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/features.prf:
06:02 Changeset [121338] by vestbo@webkit.org

[Qt] Remove redundant c++11 warning suppression code

This is already handled in default_post.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • Target.pri:
04:35 Changeset [121337] by apavlov@chromium.org

Unexpected end of style sheet in @font-face rule discards it rather than closes all open constructs
https://bugs.webkit.org/show_bug.cgi?id=89980

Reviewed by Antti Koivisto.

Source/WebCore:

Use the "closing_brace" at the end of font_face rather than the explicit "'}' maybe_space".

Test: fast/css/font-face-unexpected-end.html

  • css/CSSGrammar.y:

LayoutTests:

  • fast/css/font-face-unexpected-end-expected.html: Added.
  • fast/css/font-face-unexpected-end.html: Added.
04:30 Changeset [121336] by vestbo@webkit.org

[Qt] Add missing heades to HEADERS

For JavaScriptCore there aren't any Qt specific files, so we include all
headers for easy editing in Qt Creator.

Reviewed by Simon Hausmann.

03:45 WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
03:21 Changeset [121335] by haraken@chromium.org

Rename Element::rareData() to Element::elementRareData(), and Element::ensureRareData() to Element::ensureElementRareData()
https://bugs.webkit.org/show_bug.cgi?id=90050

Reviewed by Ryosuke Niwa.

Element::rareData()/Element::ensureRareData() and
Node::rareData()/Node::ensureRareData() are confusing. They are not virtual
methods. For clarification, we can rename Element::rareData() to
Element::elementRareData(), and Element::ensureRareData() to
Element::ensureElementRareData().

c.f. SVGRareData uses SVGElement::rareSVGData() and SVGElement::ensureRareSVGData().
(We might want to rename them to SVGElement::svgRareData() and
SVGElement::ensureSVGRareData() in a follow-up patch.)

No tests. No change in behavior.

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::elementRareData):
(WebCore::Element::ensureElementRareData):
(WebCore::Element::attributes):
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow):
(WebCore::Element::shadowPseudoId):
(WebCore::Element::setShadowPseudoId):
(WebCore::Element::focus):
(WebCore::Element::minimumSizeForResizing):
(WebCore::Element::setMinimumSizeForResizing):
(WebCore::Element::computedStyle):
(WebCore::Element::setStyleAffectedByEmpty):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::cancelFocusAppearanceUpdate):
(WebCore::Element::classList):
(WebCore::Element::optionalClassList):
(WebCore::Element::dataset):
(WebCore::Element::containsFullScreenElement):
(WebCore::Element::setContainsFullScreenElement):
(WebCore::Element::hasNamedNodeMap):
(WebCore::Element::ensureCachedHTMLCollection):
(WebCore::Element::savedLayerScrollOffset):
(WebCore::Element::setSavedLayerScrollOffset):

  • dom/Element.h:

(Element):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

02:44 Changeset [121334] by dominicc@chromium.org

[Chromium] Remove unused build scripts and empty folders for JavaScriptCore w/ gyp
https://bugs.webkit.org/show_bug.cgi?id=90029

Source/JavaScriptCore:

Reviewed by Adam Barth.

  • gyp: Removed.
  • gyp/generate-derived-sources.sh: Removed.
  • gyp/generate-dtrace-header.sh: Removed.
  • gyp/run-if-exists.sh: Removed.
  • gyp/update-info-plist.sh: Removed.

Source/WebCore:

  • gyp: Removed empty dir.
02:26 Changeset [121333] by commit-queue@webkit.org

Unreviewed, rolling out r121271.
http://trac.webkit.org/changeset/121271
https://bugs.webkit.org/show_bug.cgi?id=90056

Broke a whole bunch of tests and also caused crashes in some
tests (Requested by rniwa on #webkit).

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

  • editing/Editor.cpp:

(WebCore::Editor::markAndReplaceFor):

02:22 BuildingGtk edited by zandobersek@gmail.com
Add gudev as a dependency for building the Gtk port. (diff)
02:19 Changeset [121332] by zandobersek@gmail.com

[Gtk] Add support for the Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=87503

Reviewed by Carlos Garcia Campos.

.:

Only enable the Gamepad feature on Linux as support
for other operating systems is not present.

Check for the GIO Unix and GUdev dependencies when the
Gamepad feature is enabled.

  • configure.ac:

Source/WebCore:

Add support for the Gamepad feature on the GTK port.

The support is available only on Linux, with each gamepad device being presented
through a GamepadDeviceLinux object. The implementation of this class relies on
the Linux kernel joystick API.

Gamepad devices are recognized through the GamepadsGtk class, of which implementation
is based on GUdev. This way devices are properly registered on connection as objects of
the GamepadDeviceGtk class which inherits GamepadDeviceLinux. GamepadDeviceGtk reads the
joystick data through GIO pollable streams and updates the device state accordingly. The
GamepadsGtk object is then polled for gamepads data through the sampleGamepads method.

No new tests - tests already exist but require additional testing infrastructure.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • bindings/gobject/GNUmakefile.am:
  • bindings/js/JSDOMBinding.h: Add the jsArray method that operates on a Vector of floats.

(WebCore):
(WebCore::jsArray):

  • platform/gtk/GamepadsGtk.cpp: Added.

(WebCore):
(GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::create):
(WebCore::GamepadDeviceGtk::GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::~GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::readCallback):
(GamepadsGtk):
(WebCore::GamepadsGtk::GamepadsGtk):
(WebCore::GamepadsGtk::~GamepadsGtk):
(WebCore::GamepadsGtk::registerDevice):
(WebCore::GamepadsGtk::unregisterDevice):
(WebCore::GamepadsGtk::updateGamepadList):
(WebCore::GamepadsGtk::onUEventCallback):
(WebCore::GamepadsGtk::isGamepadDevice):
(WebCore::sampleGamepads):

  • platform/linux/GamepadDeviceLinux.cpp: Added.

(WebCore):
(WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::updateForEvent):
(WebCore::GamepadDeviceLinux::normalizeAxisValue):
(WebCore::GamepadDeviceLinux::normalizeButtonValue):

  • platform/linux/GamepadDeviceLinux.h: Added.

(WebCore):
(GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::connected):
(WebCore::GamepadDeviceLinux::id):
(WebCore::GamepadDeviceLinux::timestamp):
(WebCore::GamepadDeviceLinux::axesCount):
(WebCore::GamepadDeviceLinux::axesData):
(WebCore::GamepadDeviceLinux::buttonsCount):
(WebCore::GamepadDeviceLinux::buttonsData):

Source/WebKit/gtk:

Add the Gamepad feature dependencies libraries to the LIBADD
list for the libwebkitgtk library.

  • GNUmakefile.am:

Source/WebKit2:

Add the Gamepad feature dependencies libraries to the LIBADD
list for the libwebkitgtk2 library.

  • GNUmakefile.am:

Tools:

Enable the gamepad support for the GTK port.

  • Scripts/webkitperl/FeatureList.pm:
02:15 Changeset [121331] by rniwa@webkit.org

Fix gcc build after r121302
https://bugs.webkit.org/show_bug.cgi?id=90055

Reviewed by Mark Rowe.

Source/ThirdParty:

Assume RTTI is disabled so that gtest builds under XCode 3.2.6.

  • gtest/xcode/Config/General.xcconfig:

Tools:

Assume RTTI is always disabled so that gtest builds on XCode 3.2.6.

It appears that gcc doesn't like window.get().* inside a template so replace that by [window.get() *] instead.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:

(TestWebKitAPI::AcceptsFirstMouse::runTest):

01:54 Changeset [121330] by haraken@chromium.org

Rename rareSVGData() to svgRareData()
https://bugs.webkit.org/show_bug.cgi?id=90051

Reviewed by Nikolas Zimmermann.

Since rareSVGData() returns SVGRareData, it would make sense to
rename rareSVGData() to svgRareData(). Similarly, we can rename
ensureRareSVGData() to ensureSVGRareData(), and hasRareSVGData()
to hasSVGRareData().

c.f. bug 90050 is trying to introduce elementRareData() and
ensureElementRareData().

No tests. No change in behavior.

  • WebCore.order:
  • dom/Node.h:

(WebCore::Node::hasSVGRareData):
(WebCore::Node::setHasSVGRareData):
(WebCore::Node::clearHasSVGRareData):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::willRecalcStyle):
(WebCore::SVGElement::svgRareData):
(WebCore::SVGElement::ensureSVGRareData):
(WebCore::SVGElement::mapInstanceToElement):
(WebCore::SVGElement::removeInstanceMapping):
(WebCore::SVGElement::instancesForElement):
(WebCore::SVGElement::setCursorElement):
(WebCore::SVGElement::cursorElementRemoved):
(WebCore::SVGElement::setCursorImageValue):
(WebCore::SVGElement::cursorImageValueRemoved):
(WebCore::SVGElement::correspondingElement):
(WebCore::SVGElement::setCorrespondingElement):
(WebCore::SVGElement::animatedSMILStyleProperties):
(WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElement::setUseOverrideComputedStyle):
(WebCore::SVGElement::computedStyle):

  • svg/SVGElement.h:

(SVGElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::instanceUpdatesBlocked):
(WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
(WebCore::SVGStyledElement::hasPendingResources):
(WebCore::SVGStyledElement::setHasPendingResources):
(WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):

01:30 Changeset [121329] by kkristof@inf.u-szeged.hu

[Qt] Unreviewed gardening, rebaseline after r121303.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-06-27

  • platform/qt/editing/deleting/delete-br-002-expected.txt:
  • platform/qt/editing/deleting/delete-br-004-expected.txt:
  • platform/qt/editing/deleting/delete-br-005-expected.txt:
  • platform/qt/editing/deleting/delete-br-006-expected.txt:
01:27 Changeset [121328] by ossy@webkit.org

Add master.cfg unittest to help migration - pass BuildStep instances instead of BuildStep subclasses
https://bugs.webkit.org/show_bug.cgi?id=89564

Reviewed by Tony Chang.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(BuildStepsConstructorTest):
(BuildStepsConstructorTest.generateTests):
(BuildStepsConstructorTest.createTest):
(BuildStepsConstructorTest.createTest.doTest):

00:48 Changeset [121327] by haraken@chromium.org

LabelableElement.cpp should include not ElementRareData.h but NodeRareData.h
https://bugs.webkit.org/show_bug.cgi?id=90047

Reviewed by Kent Tamura.

This is a simple refactoring. What LabelableElement uses is
not ElementRareData but NodeRareData.

No tests. No change in behavior.

  • html/LabelableElement.cpp:
00:28 Changeset [121326] by haraken@chromium.org

[V8] Refactor V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get()
https://bugs.webkit.org/show_bug.cgi?id=90044

Reviewed by Adam Barth.

'static_cast<V8BindingPerIsolateData*>(isolate->GetData())' is duplicated
in V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get().
This patch removes the duplication.

No tests. No change in behavior.

  • bindings/v8/V8Binding.h:

(WebCore::V8BindingPerIsolateData::current):

00:26 Changeset [121325] by zandobersek@gmail.com

Unreviewed GTK gardening, updating baselines after r121303.

  • platform/gtk/editing/deleting/delete-br-002-expected.txt:
  • platform/gtk/editing/deleting/delete-br-004-expected.txt:
  • platform/gtk/editing/deleting/delete-br-005-expected.txt:
  • platform/gtk/editing/deleting/delete-br-006-expected.txt:
00:26 Changeset [121324] by hausmann@webkit.org

[Qt] Fix compilation of example platform plugin with Qt 5

Reviewed by Kenneth Christiansen.

Use QLatin1String where appropriate and use the Qt 5 plugin
system with Qt 5.

  • examples/platformplugin/WebPlugin.cpp:

(SingleSelectionPopup::SingleSelectionPopup):
(MultipleItemListDelegate::MultipleItemListDelegate):
(MultipleSelectionPopup::MultipleSelectionPopup):

  • examples/platformplugin/WebPlugin.h:

(WebPlugin):

00:09 Changeset [121323] by hausmann@webkit.org

[Qt] Avoid use of deprecated Qt API

Reviewed by Tor Arne Vestbø.

QGuiApplication::inputPanel() has been deprecated in favour of
inputMethod().

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
(WebKit::setInputPanelVisible):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
(WebKit::QtWebPageEventHandler::updateTextInputState):

06/26/12:

23:37 Changeset [121322] by commit-queue@webkit.org

Unreviewed. Rolled DEPS.

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

  • DEPS:
23:03 Changeset [121321] by yosin@chromium.org

[Platform] Change implementation of LocaleICU class to support more UDateFormat.
https://bugs.webkit.org/show_bug.cgi?id=89967

Reviewed by Kent Tamura.

This patch changes internal functions of LocaleICU class to process
multiple ICU date time format handles in addition to short date time
format handle.

This patch is a part of implementing input type time. I'll add time
format related ICU date time format handles.

No new tests. This patch doesn't change behavior.

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::initializeShortDateFormat): Changed to use openDateFormat().
(WebCore::LocaleICU::openDateFormat): Added for common usage of udt_open().
(WebCore::getDateFormatPattern): Added for common usage of udt_toPattern().
(WebCore::localizeFormat): Changed to take String parameter.
(WebCore::LocaleICU::initializeLocalizedDateFormatText): Changed to use getDateFormatPattern.
(WebCore::LocaleICU::createLabelVector): Changed to take UDateFormat parameter.
(WebCore::LocaleICU::initializeCalendar): Changed for helper functions.

  • platform/text/LocaleICU.h:

(LocaleICU):

22:40 Changeset [121320] by macpherson@chromium.org

Return correct value for css variables enabled runtime flag.
https://bugs.webkit.org/show_bug.cgi?id=90040

Reviewed by Dimitri Glazkov.

Was always returning true for the runtime flag when the compile time flag was on. That was good for testing,
but not so much for production.

  • page/Settings.h:

(WebCore::Settings::cssVariablesEnabled):

21:22 Changeset [121319] by commit-queue@webkit.org

DragData::asFilenames should not push same file names to result in Windows.
https://bugs.webkit.org/show_bug.cgi?id=79861

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2012-06-26
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: platform/win/fast/forms/file/drag-and-drop-files.html

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::asFilenames):

LayoutTests:

  • platform/win/fast/forms/file/drag-and-drop-files-expected.txt: Added.
  • platform/win/fast/forms/file/drag-and-drop-files.html: Added.
21:03 Changeset [121318] by rniwa@webkit.org

Rebaseline after r121286 and r121290.

  • editing/deleting/merge-into-empty-block-2-expected.txt:
20:49 Changeset [121317] by keishi@webkit.org

[Chromium] Rebaseline fast/backgrounds/size/zero.html. Caused by r121296

Unreviewed.

  • platform/chromium-mac-snowleopard/fast/backgrounds/size/zero-expected.png:
  • platform/chromium-mac/fast/backgrounds/size/zero-expected.png:
20:44 Changeset [121316] by ggaren@apple.com

Reduced (but did not eliminate) use of "berzerker GC"
https://bugs.webkit.org/show_bug.cgi?id=89237

Reviewed by Gavin Barraclough.

(PART 2)

../JavaScriptCore:

This part turns off "berzerker GC" and turns on incremental shrinking.

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep): Free or shrink after sweeping to
maintain the behavior we used to get from the occasional berzerker GC,
which would run all finalizers and then free or shrink all blocks
synchronously.

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::needsSweeping): Sweep zapped blocks, too. It's always
safe to sweep a zapped block (that's the point of zapping), and it's
sometimes profitable. For example, consider this case: Block A does some
allocation (transitioning Block A from Marked to FreeListed), then GC
happens (transitioning Block A to Zapped), then all objects in Block A
are free, then the incremental sweeper visits Block A. If we skipped
Zapped blocks, we'd skip Block A, even though it would be profitable to
run its destructors and free its memory.

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork): Don't sweep eagerly; we'll do
this incrementally.

../WebCore:

Don't ASSERT that RootObject's destructor runs and invalidates all
RuntimeObjects before their destructors run.

We don't guarantee this behavior because some RuntimeObjects may already
be garbage by the time RootObject's destructor runs, in which case
RootObject's weak pointers will be NULL, and RootObject will not call
invalidate() on them.

It's been theoretically possible for this ASSERT to fire for a while now.
This patch makes it fire all the time.

Luckily, we only needed the behavior guarded by this ASSERT for WebKit1
in Safari on Windows (cf. https://bugs.webkit.org/show_bug.cgi?id=61317),
to handle the way WebKit1 would unload plugin DLLs. If this ever becomes
an issue again, we can fix it by (a) not unloading plugin DLLs,
(b) migrating WebKit1 to the WebKit2 JS-plugin binding model, (c) making
the Instance pointer in a RuntimeObject an indirect pointer through
RootObject, or (c) giving RuntimeObject some sort of special way to
access a zombie weak pointer.

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::destroy): ASSERT removed. Anders said so.

20:30 Changeset [121315] by keishi@webkit.org

[Chromium] Rebaseline 4 tests in editing/deleting. Caused by r121303.

Unreviewed.

  • platform/chromium-linux-x86/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-win/editing/deleting/delete-br-002-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-004-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-005-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-006-expected.txt:
20:02 Changeset [121314] by commit-queue@webkit.org

REGRESSION(r107836): box shadow not drawn for opaque images with an opaque background
https://bugs.webkit.org/show_bug.cgi?id=89958

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-06-26
Reviewed by Simon Fraser.

Source/WebCore:

Don't attempt to draw the box shadow as part of the background if the background is
obscured.

Test: fast/box-shadow/image-box-shadow.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
(WebCore):

  • rendering/RenderImage.h:

(RenderImage):

LayoutTests:

  • fast/box-shadow/image-box-shadow-expected.html: Added.
  • fast/box-shadow/image-box-shadow.html: Added.
  • fast/box-shadow/resources/green-alpha.png: Added.
  • fast/box-shadow/resources/green.jpg: Added.
  • fast/box-shadow/resources/green.png: Added.
19:20 Changeset [121313] by thakis@chromium.org

Fix new Wunused-private-field violations that crept in
https://bugs.webkit.org/show_bug.cgi?id=90032

Reviewed by Adam Barth.

  • page/Performance.h:

(Performance):

19:11 Changeset [121312] by gyuyoung.kim@samsung.com

Change return type in bandwidth attribute of network information API
https://bugs.webkit.org/show_bug.cgi?id=89959

Reviewed by Adam Barth.

According to network information API spec, bandwidth attribute should return double type.
But, existing implementation has used *long* and *unsigned int* types.

Source/WebCore:

No new tests. Covered by existing tests.

  • Modules/networkinfo/NetworkInfo.cpp:

(WebCore::NetworkInfo::NetworkInfo):

  • Modules/networkinfo/NetworkInfo.h:

(WebCore::NetworkInfo::create):
(WebCore::NetworkInfo::bandwidth):
(NetworkInfo):

  • Modules/networkinfo/NetworkInfoClient.h:

(NetworkInfoClient):

  • Modules/networkinfo/NetworkInfoConnection.cpp:

(WebCore::NetworkInfoConnection::bandwidth):

  • Modules/networkinfo/NetworkInfoConnection.h:

(NetworkInfoConnection):

  • testing/Internals.cpp:

(WebCore::Internals::setNetworkInformation):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

  • WebCoreSupport/NetworkInfoClientEfl.cpp:

(WebCore::NetworkInfoClientEfl::bandwidth):

  • WebCoreSupport/NetworkInfoClientEfl.h:

(NetworkInfoClientEfl):

18:57 Changeset [121311] by macpherson@chromium.org

Be careful not to read past the end of input in CSSParser::lex() when looking for variable definitions.
https://bugs.webkit.org/show_bug.cgi?id=89949

Reviewed by Abhishek Arya.

Added repro case as fast/css/short-inline-style.html.

  • css/CSSParser.cpp:

(WebCore::CSSParser::lex):

18:49 Changeset [121310] by commit-queue@webkit.org

[chromium] Remove WebView::graphicsContext3D getter
https://bugs.webkit.org/show_bug.cgi?id=89916

Patch by James Robinson <jamesr@chromium.org> on 2012-06-26
Reviewed by Adrienne Walker.

Source/Platform:

Remove unused getter.

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):

Source/WebCore:

Deletes code supporting compositor context getter.

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

(CCLayerTreeHost):

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

(CCProxy):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:

(CCSingleThreadProxy):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

Removes WebView::graphicsContext3D getter. This getter was used to access the compositor's context, which is an
inherently dangerous operation since the compositor context may not be safe to use on the main thread and has
somewhat complicated creation / recreation semantics. A shared context is exposed
(WebView::sharedGraphicsContext3D) for callers who may want access to a context in a share group with the
compositor.

  • public/WebView.h:

(WebView):

  • src/WebLayerTreeView.cpp:
  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

18:41 Changeset [121309] by commit-queue@webkit.org

Unexpected element sizes when mixing inline-table with box-sizing
https://bugs.webkit.org/show_bug.cgi?id=89819

Patch by Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org> on 2012-06-26
Reviewed by Julien Chaffraix.

Source/WebCore:

This change handles box-sizing: border-box property for CSS tables properly.

Test: fast/box-sizing/css-table-with-box-sizing.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):

LayoutTests:

  • fast/box-sizing/css-table-with-box-sizing-expected.txt: Added.
  • fast/box-sizing/css-table-with-box-sizing.html: Added.
18:38 Changeset [121308] by mhahnenberg@apple.com

Add support for preciseTime() to WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=90027

Reviewed by Darin Adler.

It would be nice to be able to use preciseTime() in WebKitTestRunner like we can in DumpRenderTree.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::preciseTime):
(WTR):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(LayoutTestController):

18:34 Changeset [121307] by fpizlo@apple.com

DFG PutByValAlias is too aggressive
https://bugs.webkit.org/show_bug.cgi?id=90026
<rdar://problem/11751830>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

For CSE on normal arrays, we now treat PutByVal as impure. This does not appear to affect
performance by much.

For CSE on typed arrays, we fix PutByValAlias by making GetByVal speculate that the access
is within bounds. This also has the effect of making our out-of-bounds handling consistent
with WebCore.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):

LayoutTests:

Reviewed by Gavin Barraclough.

  • fast/js/dfg-put-by-val-setter-then-get-by-val-expected.txt: Added.
  • fast/js/dfg-put-by-val-setter-then-get-by-val.html: Added.
  • fast/js/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias-expected.txt: Added.
  • fast/js/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias.html: Added.
  • fast/js/script-tests/dfg-put-by-val-setter-then-get-by-val.js: Added.

(foo):
(for):

  • fast/js/script-tests/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias.js: Added.

(foo):

18:31 Changeset [121306] by simon.fraser@apple.com

Optimize mappings of simple transforms in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=90034

Reviewed by Dean Jackson.

For transforms that are identity or simple translations, don't
fall off the fast path in RenderGeometryMap; we can just
treat them as offsets.

Improves performance on pages with lots of translateZ(0) elements.

Remove RenderGeometryMapStep::mapPoint() and mapQuad(), which
were unused.

No new tests; optimization only, and tested by assertions.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::push):

17:41 Changeset [121305] by commit-queue@webkit.org

Touch adjustment does not target shadow DOM elements
https://bugs.webkit.org/show_bug.cgi?id=89556

Source/WebCore:

The position of internal shadow-DOM nodes were not being considered
when determining the snap position when TOUCH_ADJUSTMENT is enabled
for fine tuning the position of synthetic mouse events. This
restriction results in not being able to select the calendar picker
when input type=date, or to clear the search field for input
type=search.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-06-26
Reviewed by Antonio Gomes.

Test: touchadjustment/nested-shadow-node.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::bestClickableNodeForTouchPoint):

LayoutTests:

Cannot open calendar picker for input type=date using a touch tap
gesture if TOUCH_ADJUSTMENT is enabled. When touch adjustment is
enabled, the position of a touch point is snapped to the center of an
element when generating synthetic mouse events. The position of shadow
nodes was not being considered when determining the snap position.
This test verifies that touch adjustment now considers shadow-DOM
when calculating the snap position.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-06-26
Reviewed by Antonio Gomes.

  • touchadjustment/nested-shadow-node-expected.txt: Added.
  • touchadjustment/nested-shadow-node.html: Added.
17:06 Changeset [121304] by peter@chromium.org

[Chromium] Decrease the number of conditional blocks in features.gypi
https://bugs.webkit.org/show_bug.cgi?id=90013

Reviewed by Adam Barth.

Consolidate two Android-specific and accelerated-compositing-specific
conditional blocks into other blocks which serve an identical purpose.

  • features.gypi:
17:00 Changeset [121303] by rniwa@webkit.org

Stop calling node() and deprecatedEditingOffset() in comparePositions
https://bugs.webkit.org/show_bug.cgi?id=54535

Reviewed by Enrica Casucci.

Source/WebCore:

Replaced deprecatedNode() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode()
in comparePositions().

In addition, fixed a bunch of bugs in DeleteSelectionCommand::handleSpecialCaseBRDelete revealed by this change:

  • Use node after position instead of deprecated node in determinig whether start and end positions at a br.
  • Don't set m_startsAtEmptyLine true when BR is wrapped in a block element. The only reason this code had worked

was positions like (div, offset, 0) and (br, before) in <div><br> were treated differently, which we no longer do.

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):

  • editing/htmlediting.cpp:

(WebCore::comparePositions):

LayoutTests:

Rebaselined existing tests. There are no user-visible changes.

  • editing/inseting/font-size-clears-from-typing-style-expected.txt: No longer keeps div's around

when merging paragraphs.

  • platform/mac/editing/deleting/delete-br-002-expected.txt:
  • platform/mac/editing/deleting/delete-br-004-expected.txt:
  • platform/mac/editing/deleting/delete-br-005-expected.txt:
  • platform/mac/editing/deleting/delete-br-006-expected.txt:
16:54 Changeset [121302] by lforschler@apple.com

Teach the Apple port how to build the test tools in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=89540

Reviewed by Jon Lee & Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests.start): pass --no-build since tools should now be in the downloaded archive (RunUnitTests.start): ditto
  • Scripts/build-webkit: add tools to the projects build list
16:43 Changeset [121301] by ojan@chromium.org

Only show the platform-appropriate builders for non-layout test failures in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=90025

Reviewed by Simon Fraser.

Move the chromium-specific filtering code into config.js and replace it with a method on each platform
config. Also, let the webkit test step name be webkit_tests (build.chromium.org) or layout-test (build.webkit.org).

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
16:39 Changeset [121300] by commit-queue@webkit.org

[EFL] Use eina_file_ls() in EFL implementation of FileSystem listDirectory()
https://bugs.webkit.org/show_bug.cgi?id=89976

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Antonio Gomes.

Rewrite EFL implementation of Filesystem listDirectory() in order to
use eina_file_ls() instead of POSIX C functions. This results in
shorter code.

No new tests, behavior has not changed.

  • platform/efl/FileSystemEfl.cpp:

(WebCore::listDirectory):

16:34 Changeset [121299] by commit-queue@webkit.org

Crash at WebCore::TextIterator::handleTextBox
https://bugs.webkit.org/show_bug.cgi?id=89526
<rdar://problem/10305315>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-06-26
Reviewed by Darin Adler.

Source/WebCore:

The range used for marking becomes invalid after SpellingCorrectionCommand, due to changes in the DOM made by ReplaceSelectionCommand.
This invalid range caused marking to be incorrect, and Mail.app to crash when iterating through the invalid range. To fix this,
recalculate the range for marking after SpellingCorrectionCommand.

Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):

  • editing/Editor.cpp: (WebCore::Editor::markAndReplaceFor):
  • testing/Internals.cpp:

(WebCore):
(WebCore::Internals::hasAutocorrectedMarker):

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

LayoutTests:

  • platform/mac/editing/spelling/autocorrection-blockquote-crash-expected.txt: Added.
  • platform/mac/editing/spelling/autocorrection-blockquote-crash.html: Added.
16:32 Changeset [121298] by rniwa@webkit.org

Convert editing/inserting/font-size-clears-from-typing-style.html to a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=90024

Reviewed by Ojan Vafai.

Converted a script test to a dump-as-markup test because the test result can be understood much eaiser that way.

  • editing/inserting/font-size-clears-from-typing-style-expected.txt:
  • editing/inserting/font-size-clears-from-typing-style.html:
  • editing/inserting/script-tests: Removed.
  • editing/inserting/script-tests/TEMPLATE.html: Removed.
  • editing/inserting/script-tests/font-size-clears-from-typing-style.js: Removed.
16:18 Changeset [121297] by tsepez@chromium.org

[chromium] HTML5 audio/video tags - loading http content from https page doesn't trigger warning.
https://bugs.webkit.org/show_bug.cgi?id=89906

Reviewed by Nate Chapin.

This patch treats mixed CachedRawResources as affecting the display of insecure content.

Source/WebCore:

Tests: http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html

http/tests/security/mixedContent/insecure-xhr-in-main-frame.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::checkInsecureContent):

LayoutTests:

  • http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html: Added.
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-audio-video.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
16:08 Changeset [121296] by commit-queue@webkit.org

background-size:0 shows as 1px instead of invisible
https://bugs.webkit.org/show_bug.cgi?id=86942

Patch by Joe Thomas <joethomas@motorola.com> on 2012-06-26
Reviewed by Eric Seidel.

As per the specification http://www.w3.org/TR/css3-background/#background-size, if the background image's width or height resolves to zero,
this causes the image not to be displayed. The effect should be the same as if it had been a transparent image.
This is also mentioned in http://www.w3.org/TR/2002/WD-css3-background-20020802/#background-size.

Source/WebCore:

Test: fast/backgrounds/zero-background-size.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

LayoutTests:

  • fast/backgrounds/size/zero.html:
  • fast/backgrounds/zero-background-size-expected.html: Added.
  • fast/backgrounds/zero-background-size.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/backgrounds/size/zero-expected.png:
  • platform/mac/fast/backgrounds/size/zero-expected.txt:
  • platform/qt/TestExpectations:
16:02 Changeset [121295] by adamk@chromium.org

[v8] Clean up generated Dictionary-handling code
https://bugs.webkit.org/show_bug.cgi?id=89994

Reviewed by Adam Barth.

No change in behavior, so no new tests.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::optionsObjectCallback):

16:00 Changeset [121294] by ojan@chromium.org

Fix failing garden-o-matic unittests
https://bugs.webkit.org/show_bug.cgi?id=90021

Reviewed by Adam Barth.

These had all just fallen out of date.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
16:00 Changeset [121293] by commit-queue@webkit.org

Include stdio.h when DEBUG_AUDIONODE_REFERENCES is set
https://bugs.webkit.org/show_bug.cgi?id=89997

Patch by Raymond Toy <rtoy@google.com> on 2012-06-26
Reviewed by Eric Seidel.

No new tests needed for a compile issue

  • Modules/webaudio/AudioNode.cpp: Include stdio.h
15:51 Changeset [121292] by noam.rosenthal@nokia.com

[Qt] Use premultiplied alpha when extracting image data in WebGL
https://bugs.webkit.org/show_bug.cgi?id=89937

Reviewed by Jocelyn Turcotte.

Perform conversion in QImage only if the image format is not ARGB32 or
ARGB32_Premultiplied. Otherwise, allow packPixels to perform the conversion if the formats
don't match, as packPixels already performs pixel-specific operations.

Covered by tests in LayoutTests/fast/canvas/webgl, e.g. webgl-composite-modes.html.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):

15:07 Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
15:05 Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
15:04 Exposing WebKit internals for Layout Tests created by petewil@chromium.org
Added instructions (still needs formatting)
15:04 Changeset [121291] by jsbell@chromium.org

IndexedDB: Move method precondition checks to front end objects
https://bugs.webkit.org/show_bug.cgi?id=89377

Reviewed by Tony Chang.

Now that metadata exists on the front end, most of the pre-condition validation checks
done on IDB method calls from script can be moved to the front end which simplifies the
code significantly in the case of complex methods like IDBObjectStore::put().

Adds an internal "active" flag for transactions, although the behavior is not accurate
to the spec (it should only be true during event callbacks - http://webkit.org/b/89379).
The back-end methods can then be simplifed to just adding async tasks to the transaction,
and the front end methods can take care of all exception cases except for asynchronous
transaction abort which still requires plumbing back to the front end.

No functional changes - no new tests.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::update): Migrate from IDBObjectStoreBackendImpl::put.
(WebCore::IDBCursor::advance): Add more explicit transaction-is-active check.
(WebCore::IDBCursor::continueFunction): Ditto.
(WebCore::IDBCursor::deleteFunction): Ditto.
(WebCore::IDBCursor::effectiveObjectStore): Convenience function (source may be store or index).
(WebCore):

  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::isKeyCursor): Distinguish from IDBCursorWithValue.
(IDBCursor):

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::update): Remove migrated check.

  • Modules/indexeddb/IDBCursorWithValue.h:

(IDBCursorWithValue):

  • Modules/indexeddb/IDBDatabase.cpp: Migrate checks.

(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Replace checks with assertions.

(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):

  • Modules/indexeddb/IDBIndex.cpp: Add transaction-is-active checks.

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):

  • Modules/indexeddb/IDBObjectStore.cpp: Migrate cehcks.

(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add): Delegates to put(PutMode)
(WebCore::IDBObjectStore::put): Delegates to put(PutMode)
(WebCore): Adds put(PutMode) which has the unified checks migrated from
IDBObjectStoreBackendImpl::put.
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::deleteIndex):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):

  • Modules/indexeddb/IDBObjectStore.h: Adds put(PutMode).

(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::getInternal): Fix trace symbol.
(WebCore::IDBObjectStoreBackendImpl::put): Remove migrated checks.
(WebCore::IDBObjectStoreBackendImpl::createIndex): Remove migrated checks.
(WebCore::IDBObjectStoreBackendImpl::deleteIndex): Remove migrated checks.

  • Modules/indexeddb/IDBTransaction.cpp: Add active flag tracking.

(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):

  • Modules/indexeddb/IDBTransaction.h:

(WebCore::IDBTransaction::isActive):
(WebCore::IDBTransaction::isReadOnly): Group IDL/non-IDL methods.
(IDBTransaction):

15:03 WikiStart edited by petewil@chromium.org
(diff)
14:46 Changeset [121290] by rniwa@webkit.org

Fix a test after r121286.

  • editing/deleting/merge-into-empty-block-2.html:
14:35 Changeset [121289] by commit-queue@webkit.org

Unreviewed, rolling out r121285.
http://trac.webkit.org/changeset/121285
https://bugs.webkit.org/show_bug.cgi?id=90014

"We misinterpreted 'size of the initial containing block'"
(Requested by tomz on #webkit).

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

Source/WebCore:

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcBinaryOperation::toCalcValue):
(WebCore::CSSCalcBinaryOperation::computeLengthPx):

  • css/CSSCalculationValue.h:

(CSSCalcExpressionNode):
(WebCore::CSSCalcValue::toCalcValue):
(CSSCalcValue):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:

(CSSGradientValue):
(CSSRadialGradientValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSToStyleMap.h:

(CSSToStyleMap):

  • css/MediaQueryEvaluator.cpp:

(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(StyleResolver):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

LayoutTests:

  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border-expected.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border-expected.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border-expected.htm: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html: Removed.
  • ietestcenter/css3/valuesandunits/units-000.htm:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
14:30 Changeset [121288] by commit-queue@webkit.org

[chromium] Expose rendering statistics to WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=88268

Patch by Dave Tu <dtu@chromium.org> on 2012-06-26
Reviewed by James Robinson.

The WebKit side of a basic framework for exposing rendering statistics
to Chromium's --enable-benchmarking extension.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebRenderingStatistics):
(WebKit):
(WebLayerTreeView):

Source/WebCore:

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

(WebCore::CCLayerTreeHost::implFrameNumber):

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

(CCProxy):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::implFrameNumber):
(WebCore):
(WebCore::CCThreadProxy::implFrameNumberOnImplThread):

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

(CCThreadProxy):

Source/WebKit/chromium:

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::renderingStatistics):
(WebKit):

14:21 Changeset [121287] by ojan@chromium.org

Fix platform picker change handler in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=90010

Reviewed by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

The old code never worked. This is hard to test because change handlers require
a user-initiated action and the code is changing the window's location, which would
navigate the test page.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:

Fix the CSS so it doesn't cause the tabstrip to be disconnected from the tabs on Linux
due to the large margin-bottom.

14:06 Changeset [121286] by rniwa@webkit.org

Convert editing/deleting/delete-3959464-fix.html, delete-at-paragraph-boundaries-001.html, merge-into-empty-block-1.html and merge-into-empty-block-2.html to dump-as-markup tests
https://bugs.webkit.org/show_bug.cgi?id=90011

Reviewed by Eric Seidel.

  • editing/deleting/delete-3959464-fix-expected.txt: Added.
  • editing/deleting/delete-3959464-fix.html:
  • editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Added.
  • editing/deleting/delete-at-paragraph-boundaries-001.html:
  • editing/deleting/merge-into-empty-block-1-expected.txt: Added.
  • editing/deleting/merge-into-empty-block-1.html:
  • editing/deleting/merge-into-empty-block-2-expected.txt: Added.
  • editing/deleting/merge-into-empty-block-2.html:
  • platform/chromium-linux/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac-snowleopard/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac-snowleopard/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/gtk/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/mac/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/mac/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/qt/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/qt/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
13:23 Changeset [121285] by tomz@codeaurora.org

ietestcenter/css3/valuesandunits/units-000.htm asserts
https://bugs.webkit.org/show_bug.cgi?id=86176

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-06-26
Reviewed by Beth Dakin.

Source/WebCore:

Modified computeLengthDouble() to handle vh, vw, and vmin units. Per the spec
(http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) viewport -percentage
lengths are "relative to the size of the initial containing block", which I read to be
the size of the parent element. Since parentStyle was not available in computeLengthDouble,
most of the changes for this patch involved "pushing down" the parentStyle pointer through
the network of computeLength methods and dependencies.

Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html

css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html
css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcBinaryOperation::toCalcValue):
(WebCore::CSSCalcBinaryOperation::computeLengthPx):

  • css/CSSCalculationValue.h:

(CSSCalcExpressionNode):
(WebCore::CSSCalcValue::toCalcValue):
(CSSCalcValue):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:

(CSSGradientValue):
(CSSRadialGradientValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::parentStyle):
(WebCore):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSToStyleMap.h:

(CSSToStyleMap):

  • css/MediaQueryEvaluator.cpp:

(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(WebCore::StyleResolver::parentNode):
(StyleResolver):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

LayoutTests:

Adding explicit tests for viewport border length tests. Inspired by IE Test center
units-000 test which highlighted that vw, vh, and vmin were not being handled in computeLengthDouble().
Also, adjusting test_expectations and Skipped for units-000, which no longer Asserts with this
patch implemented.

  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border-expected.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border-expected.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border-expected.htm: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html: Added.
  • ietestcenter/css3/valuesandunits/units-000.htm:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
13:17 Changeset [121284] by jamesr@google.com

[chromium] Add WebLayer API for scrolling
https://bugs.webkit.org/show_bug.cgi?id=89913

Reviewed by Adrienne Walker.

Source/Platform:

Adds WebScrollableLayer type to represent a layer that can be scrolled by the user. Currently WebContentLayers
are scrollable and no other layer types are, although this might change in the future.

  • chromium/public/WebContentLayer.h:

(WebKit::WebContentLayer::WebContentLayer):

  • chromium/public/WebLayer.h:

(WebLayer):

  • chromium/public/WebScrollableLayer.h:

(WebKit):
(WebScrollableLayer):
(WebKit::WebScrollableLayer::WebScrollableLayer):
(WebKit::WebScrollableLayer::~WebScrollableLayer):
(WebKit::WebScrollableLayer::operator=):

Source/WebCore:

Use new WebScrollableLayer type in ScrollingCoordinatorChromium. This file peeks "under the hood" a fair amount
since we don't have WebLayer API for scrollbar layers yet.

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

Source/WebKit/chromium:

Use WebScrollableLayer type in NonCompositedContentHost.

  • WebKit.gyp:
  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::reserveScrollbarLayers):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::haveScrollLayer):
(WebKit):
(WebKit::NonCompositedContentHost::scrollLayer):

  • src/NonCompositedContentHost.h:

(WebCore):

  • src/WebContentLayer.cpp:

(WebKit::WebContentLayer::WebContentLayer):

  • src/WebLayer.cpp:

(WebKit::WebLayer::numberOfChildren):
(WebKit):
(WebKit::WebLayer::childAt):
(WebKit::WebLayer::setAlwaysReserveTextures):

  • src/WebScrollableLayer.cpp:

(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):

13:09 Changeset [121283] by jamesr@google.com

Unreviewed, rolling out r120501.
http://trac.webkit.org/changeset/120501
https://bugs.webkit.org/show_bug.cgi?id=89126

[skia] Fix is too heavy-handed

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::drawNeedsCopy):

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::PlatformContextSkia):

  • platform/graphics/skia/PlatformContextSkia.h:

(PlatformContextSkia):
(WebCore::PlatformContextSkia::isDeferred):
(WebCore::PlatformContextSkia::setDeferred):

12:55 Changeset [121282] by commit-queue@webkit.org

[BlackBerry] Add JSC statistics into about:memory
https://bugs.webkit.org/show_bug.cgi?id=89779

Patch by Yong Li <yoli@rim.com> on 2012-06-26
Reviewed by Rob Buis.

Fix non-JIT build on BlackBerry broken by r121196.

  • runtime/MemoryStatistics.cpp:

(JSC::globalMemoryStatistics):

12:52 Changeset [121281] by mifenton@rim.com

[BlackBerry] Add WebPage interface for Async spell check.
https://bugs.webkit.org/show_bug.cgi?id=89999

Reviewed by Rob Buis.

PR 124517.

Add interface for IMS async spell checking.

Reviewed Internally by Nima Ghanavatian.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::spellCheckingRequestProcessed):
(WebKit):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:

(WebKit):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):

  • WebKitSupport/InputHandler.h:

(InputHandler):

12:42 Changeset [121280] by fpizlo@apple.com

DFG::operationNewArray is unnecessarily slow, and may use the wrong array
prototype when inlined
https://bugs.webkit.org/show_bug.cgi?id=89821

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Fixes all array allocations to use the right structure, and hence the right prototype. Adds
inlining of new Array(...) with a non-zero number of arguments. Optimizes allocations of
empty arrays.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • runtime/JSArray.h:

(JSC):
(JSC::constructArray):

  • runtime/JSGlobalObject.h:

(JSC):
(JSC::constructArray):

LayoutTests:

Rubber stamped by Geoffrey Garen.

  • fast/js/dfg-cross-global-object-inline-new-array-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-elements-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-elements.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-size-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-size.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array.html: Added.
  • fast/js/script-tests/cross-global-object-inline-global-var.js:

(done):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-elements.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-size.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array.js: Added.

(foo):
(done):
(doit):

12:40 Changeset [121279] by jchaffraix@webkit.org

Crash in FixedTableLayout::layout
https://bugs.webkit.org/show_bug.cgi?id=88676

Unreviewed typo fix, pointed out by Darin Adler.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::layout):

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::layout):

12:36 Changeset [121278] by adamk@chromium.org

MutationObserver.observe should treat a null or undefined options argument as empty
https://bugs.webkit.org/show_bug.cgi?id=89992

Reviewed by Ojan Vafai.

Source/WebCore:

The WebIDL spec was recently updated to treat null or undefined
Dictionary arguments the same as the empty dictionary. This patch
updates MutationObserver.observe to follow that spec.

Note that we still throw a SYNTAX_ERR in this case, since it's an
error not to pass one of "attributes", "childList", or "characterData"
as a key in the dictionary.

  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::observe):

LayoutTests:

  • fast/mutation/observe-exceptions-expected.txt:
12:34 Changeset [121277] by commit-queue@webkit.org

[chromium] The single thread proxy should not automatically tick new animations.
https://bugs.webkit.org/show_bug.cgi?id=89996

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-26
Reviewed by James Robinson.

Source/WebCore:

No new tests. No change to existing functionality.

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

(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::didAddAnimation):

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

(WebCore):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/CCSingleThreadProxyTest.cpp: Removed.
12:21 Changeset [121276] by hclam@chromium.org

[chromium] Mark a layout test as timeout
https://bugs.webkit.org/show_bug.cgi?id=90003

fast/js/repeat-cached-vm-reentry.html started timing out on Mac debug and Win debug builds
between r121233:121239.

  • platform/chromium/TestExpectations:
12:16 Changeset [121275] by jchaffraix@webkit.org

Crash in FixedTableLayout::layout
https://bugs.webkit.org/show_bug.cgi?id=88676

Reviewed by Abhishek Arya.

Source/WebCore:

Tests: fast/table/auto-table-layout-colgroup-removal-crash.html

fast/table/fixed-table-layout/colgroup-removal-crash.html
fast/table/fixed-table-layout/prepend-in-fixed-table.html

The issue comes from RenderTable not properly dirtying its preferred logical
widths. As the table layout codes (both fixed and auto), recomputes their internal
structures at computePreferredLogicalWidth, the internal structure doesn't match
the table sizing and we crash.

This fix adds a work-around in FixedTableLayout::layout (which matches AutoTableLayout).
The long-term fix would be to properly fix the logic but this is a lot safer, especially
since our logic is really not bullet-proof at the moment.

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::layout):
Added an internal structure recomputation, if we have drifted from our table's structure.
Also we need to update nEffCols if we call calcWidthArray.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::layout):
Added a comment matching FixedTableLayout. The nEffCols is unneeded but kept for consistency
with FixedTableLayout.

LayoutTests:

  • fast/table/auto-table-layout-colgroup-removal-crash-expected.txt: Added.
  • fast/table/auto-table-layout-colgroup-removal-crash.html: Added.
  • fast/table/fixed-table-layout/colgroup-removal-crash-expected.txt: Added.
  • fast/table/fixed-table-layout/colgroup-removal-crash.html: Added.

2 cases where we remove a colgroup after having done layout.

  • fast/table/fixed-table-layout/prepend-in-fixed-table-expected.txt: Added.
  • fast/table/fixed-table-layout/prepend-in-fixed-table.html: Added.

This is a copy of fast/table/prepend-in-anonymous-table.html modified to work with
fixed table layout. This covers a bug found during testing that is fixed as part of
this broader change.

11:58 Changeset [121274] by jchaffraix@webkit.org

Merge 120934 - Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-start-margin-align-center-percent.html

fast/block/positive-margin-block-child-align-center-calc.html

Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.

LayoutTests:

  • fast/block/negative-start-margin-align-center-percent-expected.html: Added.
  • fast/block/negative-start-margin-align-center-percent.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10668050

11:42 Changeset [121273] by commit-queue@webkit.org

[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-26
Reviewed by James Robinson.

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
11:39 Changeset [121272] by hclam@chromium.org

[chromium] Mark a layout test as fail
https://bugs.webkit.org/show_bug.cgi?id=89998

compositing/webgl/webgl-nonpremultiplied-blend.html started failing after r121267, give it IMAGE failure.

  • platform/chromium/TestExpectations:
11:38 Changeset [121271] by jpu@apple.com

On Mac, autocorrection sometimes fails to take place in Safari.
https://bugs.webkit.org/show_bug.cgi?id=89982

Reviewed by Darin Adler.

Existing test was turned off due to intermittent failure, which is caused by autocorrection result depending on user data
that may be altered by previous test runs. Hopefully we can turn the test back on once we have a way to make autocorrection
behave consistently.

Basically we should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should
early return in markAndReplaceFor().

  • editing/Editor.cpp:

(WebCore::Editor::markAndReplaceFor):

11:34 Changeset [121270] by commit-queue@webkit.org

Do early-return when author and user styles are disabled.
https://bugs.webkit.org/show_bug.cgi?id=89947

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

  • dom/Document.cpp:

(WebCore::Document::collectActiveStylesheets):

11:27 Changeset [121269] by commit-queue@webkit.org

webkitpy: Make webkit-patch patches-to-review useful
https://bugs.webkit.org/show_bug.cgi?id=89470

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26
Reviewed by Eric Seidel.

webkit-patch patches-to-review will now output the list of
bugs with patches pending for review that has the user on CC,
excluding patches with cq-, sorted by the age of the patch.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(BugzillaQueries.fetch_bugs_from_review_queue):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_bugs_from_review_queue):
(MockBugzilla.init):
(MockBugzilla.authenticate):

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

(PatchesToReview):
(PatchesToReview.init):
(PatchesToReview._print_report):
(PatchesToReview._generate_report):
(PatchesToReview.execute):

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

(QueryCommandsTest.test_patches_to_review):

11:09 Changeset [121268] by commit-queue@webkit.org

[chromium] Remove dead compositor-related API from GraphicsContext3DPrivate / Extensions3DChromium
https://bugs.webkit.org/show_bug.cgi?id=89933

Patch by James Robinson <jamesr@chromium.org> on 2012-06-26
Reviewed by Kenneth Russell.

Source/WebCore:

GraphicsContext3DPrivate and Extensions3DChromium had a fair amount of plumbing and boilerplate to support the
compositor's use of GraphicsContext3D. A number of extensions, etc, only make sense for a compositor context.
Since the compositor doesn't use GC3D any more, these are no longer needed.

  • platform/chromium/support/Extensions3DChromium.cpp:
  • platform/chromium/support/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::create):

  • platform/chromium/support/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GrMemoryAllocationChangedCallbackAdapter::GrMemoryAllocationChangedCallbackAdapter):
(WebCore::GraphicsContext3DPrivate::grContext):

  • platform/chromium/support/GraphicsContext3DPrivate.h:

(WebCore):
(GraphicsContext3DPrivate):

  • platform/graphics/chromium/Extensions3DChromium.h:

Source/WebKit/chromium:

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

10:56 Changeset [121267] by commit-queue@webkit.org

[chromium] Add the workaround of IOSurface-related corruption during readback on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=89797

Patch by Yasuhiro Matsuda <mazda@chromium.org> on 2012-06-26
Reviewed by James Robinson.

No new tests. This patch doesn't change behavior.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::getFramebufferPixels):

10:48 WebKitGTK/1.8.x edited by mrobinson@webkit.org
(diff)
10:01 Changeset [121266] by dpranke@chromium.org

nrwt: broken for chromium on vista
https://bugs.webkit.org/show_bug.cgi?id=89988

Reviewed by Tony Chang.

r121194 removed support for 'chromium-win-vista' as a separate
port, but this actually prevented the code from running on vista
at all, which is unduly harsh and broke the websocket tests on
the (non-webkit) chromium bots that are still running on vista.

It's probably good enough to pretend that vista is win7 instead;
some layout tests will still fail but at least things'll run.

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

(ChromiumWinPort.determine_full_port_name):

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

(ChromiumWinTest.test_versions):

09:30 Changeset [121265] by commit-queue@webkit.org

Web Inspector: Native memory snapshots crash in debug mode.
https://bugs.webkit.org/show_bug.cgi?id=89977

Patch by Alexei Filippov <alexeif@chromium.org> on 2012-06-26
Reviewed by Yury Semikhatsky.

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::maybeDOMWrapper):

09:20 Changeset [121264] by shawnsingh@chromium.org

[chromium] Fix incorrect #ifdef WEBKIT_IMPLEMENTATION statements
https://bugs.webkit.org/show_bug.cgi?id=89931

Reviewed by James Robinson.

WEBKIT_IMPLEMENTATION is defined as either 0 or 1, so the usage of
#ifdef or #if have different behavior. There are some places in
the code that use "#ifdef WEBKIT_IMLPEMENTATION", but they should
actually be "#if WEBKIT_IMPLEMENTATION". This patch fixes those
#ifdef statements.

  • public/WebTextRun.h:

(WebTextRun):

  • public/linux/WebFontRenderStyle.h:
08:00 Changeset [121263] by ossy@webkit.org

master.cfg cleanup: Pass CheckOutSource instance instead of class to BuildStep.addStep
https://bugs.webkit.org/show_bug.cgi?id=89215

We need it because it is deprecated and will be dropped in buildbot 0.8.7

Reviewed by Tony Chang.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(CheckOutSource.init):
(Factory.init):

07:39 Changeset [121262] by commit-queue@webkit.org

[Qt] Baseline missing for 3D transforms tests.
https://bugs.webkit.org/show_bug.cgi?id=89973

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-26
Reviewed by Csaba Osztrogonác.

Unskip the transforms/3d/hit-testing, and skip one failing transforms/3d/point-mapping test.
Add missing baselines for all unskipped 3D transforms tests.

  • platform/qt/Skipped:
  • platform/qt/transforms/3d/hit-testing/backface-hit-test-expected.txt: Added.
  • platform/qt/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: Added.
07:01 Changeset [121261] by hausmann@webkit.org

[Qt][Win] Symbols are not exported in QtWebKit5.dll
https://bugs.webkit.org/show_bug.cgi?id=88873

Reviewed by Tor Arne Vestbø.

Source/WebKit:

  • api.pri: Remove MAKEDLL setting done now in win32/default_post.prf.

Tools:

When linking the target dll make sure to re-export the symbols from
the static libraries marked as export, with the help of a little python
script and a qmake extra compiler.

  • Scripts/generate-win32-export-forwards: Added.
  • qmake/mkspecs/features/win32/default_post.prf:
06:09 Changeset [121260] by commit-queue@webkit.org

[Texmap] Bug fix typo about computing bytesPerLine in BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=89924

"bytesPerLine == targetRect.width() / 4" is invalid.
This patch amended it into "bytesPerLine == targetRect.width() * 4".
Moreover, changed magic number 4 to bytesPerPixel.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-26
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContents):

06:07 Changeset [121259] by commit-queue@webkit.org

Shader compiler unprepared to make ESSL output when GLES is used
https://bugs.webkit.org/show_bug.cgi?id=87718

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-06-26
Reviewed by Noam Rosenthal.

Defined a new member that says what type of output code must be generated
(SH_GLSL_OUTPUT, SH_ESSL_OUTPUT). It is set within the constructor.

  • platform/graphics/ANGLEWebKitBridge.cpp:

(WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
(WebCore::ANGLEWebKitBridge::validateShaderSource):

  • platform/graphics/ANGLEWebKitBridge.h:

(ANGLEWebKitBridge):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

05:56 Changeset [121258] by pdr@google.com

Fix bug where animations failed to start
https://bugs.webkit.org/show_bug.cgi?id=89943

Reviewed by Nikolas Zimmermann.

Source/WebCore:

The unpause code previously checked that the animations had not started
before un-setting the pause state. This meant that if an animation was
paused and unpaused before the animations started, it would remain in the
paused state. This patch simply reorders the unpause logic to fix this bug.

Test: svg/custom/animate-initial-pause-unpause.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::resume):

LayoutTests:

  • svg/custom/animate-initial-pause-unpause-expected.txt: Added.
  • svg/custom/animate-initial-pause-unpause.html: Added.
05:49 Changeset [121257] by commit-queue@webkit.org

[EFL] Gardening of new passing tests
https://bugs.webkit.org/show_bug.cgi?id=89970

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26

  • platform/efl/TestExpectations:
05:32 Changeset [121256] by yurys@chromium.org

Web Inspector: popover is not shown for detached DOM nodes, not referenced directly from JS
https://bugs.webkit.org/show_bug.cgi?id=89955

Reviewed by Vsevolod Vlasov.

Show object popover for all heap snapshot nodes event for those whose
canBeQueried flag is false. We didn't show popover for such objects before
as it could lead to the backend crash. In the meantime the backend shouldn't
fail on such DOM wrappers and report an error if it cannot resolve
inspected object.

  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotView.prototype._getHoverAnchor):

05:17 Changeset [121255] by commit-queue@webkit.org

[BlackBerry] Limit session storage quota to 5MB by default
https://bugs.webkit.org/show_bug.cgi?id=89941

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-06-26
Reviewed by Rob Buis.

Limit session storage quota to 5MB by default for BlackBerry
porting.
Internally reviewed by George Staikos.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::sessionStorageQuota):
(BlackBerry::WebKit::WebSettings::setSessionStorageQuota):

  • Api/WebSettings.h:
05:10 Changeset [121254] by commit-queue@webkit.org

[EFL] Simplify SharedBuffer::createWithContentsOfFile() implementation
https://bugs.webkit.org/show_bug.cgi?id=89655

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Csaba Osztrogonác.

Simplify the implementation of SharedBuffer::createWithContentsOfFile()
in EFL port.

No new test, no behavior change.

  • platform/efl/SharedBufferEfl.cpp:

(WebCore::SharedBuffer::createWithContentsOfFile):

04:27 Changeset [121253] by commit-queue@webkit.org

[EFL] REGRESSION (r121163): fast/frames/iframe-access-screen-of-deleted.html crashes
https://bugs.webkit.org/show_bug.cgi?id=89964

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26
Reviewed by Andreas Kling.

Added missing null pointer check.

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):

03:36 Changeset [121252] by commit-queue@webkit.org

[GTK] Assert failure in fast/canvas/canvas-createImageData.html for 64bit Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89647

Unreviewed, update GTK test expectations.

r121215 has fixed the assertion failure, so the test doesn't crash
anymore.

Patch by Simon Pena <spena@igalia.com> on 2012-06-26

  • platform/gtk/TestExpectations:
03:26 Changeset [121251] by kinuko@chromium.org

Web Inspector: Add requestMetadata command and metadataReceived event to FileSystem
https://bugs.webkit.org/show_bug.cgi?id=87856

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-26
Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: http/tests/inspector/filesystem/get-metadata.html

  • inspector/Inspector.json:
  • inspector/InspectorFileSystemAgent.cpp:

(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
(WebCore::InspectorFileSystemAgent::requestDirectoryContent):
(WebCore::InspectorFileSystemAgent::requestMetadata):

  • inspector/InspectorFileSystemAgent.h:

(InspectorFileSystemAgent):

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._directoryContentReceived):
(WebInspector.FileSystemModel.prototype.requestMetadata):
(WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
(WebInspector.FileSystemModel.Entry.prototype.requestMetadata):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototype._directoryContentReceived):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata):
(WebInspector.FileSystemRequestManager.prototype._metadataReceived):
(WebInspector.FileSystemDispatcher.prototype.directoryContentReceived):
(WebInspector.FileSystemDispatcher.prototype.metadataReceived):

LayoutTests:

  • http/tests/inspector/filesystem/filesystem-test.js:

(initialize_FileSystemTest.InspectorTest.writeFile):
(initialize_FileSystemTest.InspectorTest.dumpMetadataRequestResult):
(initialize_FileSystemTest):
(writeFile.didGetFileSystem):
(writeFile):
(writeFile.didGetWriter.writer.onwrite):
(writeFile.didGetWriter):

  • http/tests/inspector/filesystem/get-metadata-expected.txt: Added.
  • http/tests/inspector/filesystem/get-metadata.html: Added.
03:19 Changeset [121250] by jocelyn.turcotte@nokia.com

[Qt] GraphicsSurface: Fix tile update artifacts on Mac
https://bugs.webkit.org/show_bug.cgi?id=89887

Reviewed by Noam Rosenthal.

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurface::platformCopyToGLTexture):

03:17 Changeset [121249] by jocelyn.turcotte@nokia.com

GraphicsSurface: Fix IOSurfaceLock failures on Intel video cards.
https://bugs.webkit.org/show_bug.cgi?id=89883

Reviewed by Noam Rosenthal.

Follow the documentation which says: "If locking the buffer requires a readback,
the lock will fail with an error return of kIOReturnCannotLock."
Also make sure that we use the same set of flags when locking and unlocking
for simplicity and to follow this requirement on the kIOSurfaceLockReadOnly flag.

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurface::platformLock):
(WebCore::GraphicsSurface::platformUnlock):

03:16 Changeset [121248] by jocelyn.turcotte@nokia.com

Add a note about hostname completion not working well with --cc completion

Reviewed by Simon Hausmann.

Hostname completion tries to resolve anything after an @ sign which is present
in the completed list of contributor emails to CC.

  • Scripts/webkit-tools-completion.sh:
03:11 Changeset [121247] by ossy@webkit.org

Unreviewed, rolling out r121244.
http://trac.webkit.org/changeset/121244
https://bugs.webkit.org/show_bug.cgi?id=89966

skip list path is incorrect now. (Requested by Ossy on
#webkit).

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

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

(QtPort.baseline_search_path):
(QtPort._skipped_file_search_paths):

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

(QtPortTest.test_baseline_search_path):

03:06 Changeset [121246] by pdr@google.com

Fix setCurrentTime for paused animations
https://bugs.webkit.org/show_bug.cgi?id=81350

Reviewed by Nikolas Zimmermann.

Source/WebCore:

SMILTimeContainer::setElapsed was not resetting the pause time, breaking
setCurrentTime if the animation was paused.

Test: svg/custom/animate-pause-resume.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::setElapsed):

LayoutTests:

This test does not use the SVG animation test framework because the framework
works by pausing animations and testing animated values at fixed times
(through calling setCurrentTime). Testing this patch requires that we run
the animation and cannot be tested with the animation test framework.

  • svg/custom/animate-pause-resume-expected.txt: Added.
  • svg/custom/animate-pause-resume.html: Added.
03:04 Changeset [121245] by charles.wei@torchmobile.com.cn

[BlackBerry] Use gesture SwipeDown to exit fullscreen for both video and plugin.
https://bugs.webkit.org/show_bug.cgi?id=89960

Reviewed by Antonio Gomes.

We used to use gesture swipedown to exit fullscreen for plugin, but not fullscreen
HTML5 video; When a swipe down happens, it applies this event to all the pluginviews
in a page, even though only the one in fullscreen mode will process this.

With this patch, the SwipeDown gesture will only apply to the fullscreen elemement,
which is either a plugin, or an Video element.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::notifySwipeEvent):

02:42 Changeset [121244] by commit-queue@webkit.org

[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-06-26
Reviewed by Csaba Osztrogonác.

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

(QtPort.baseline_search_path):

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

(QtPortTest.test_baseline_search_path):

02:22 Changeset [121243] by fpizlo@apple.com

New fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit.html fails on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=89953

Reviewed by Zoltan Herczeg.

DFG 32-bit JIT was confused about the difference between a predicted type and a
proven type. This is easy to get confused about, since a local that is predicted int32
almost always means that the local must be an int32 since speculations are hoisted to
stores to locals. But that is less likely to be the case for arguments, where there is
an additional least-upper-bounding step: any store to an argument with a weird type
may force the argument to be any type.

This patch basically duplicates the functionality in DFGSpeculativeJIT64.cpp for
GetLocal: the decision of whether to load a local as an int32 (or as an array, or as
a boolean) is made based on the AbstractValue::m_type, which is a type proof, rather
than the VariableAccessData::prediction(), which is a predicted type.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

02:21 Changeset [121242] by ossy@webkit.org

[Qt] Unreviewed typo fix after r121144.

  • Target.pri:
02:11 Changeset [121241] by tony@chromium.org

[Qt] Enable grid layout LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=89909

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

These tests pass, we just need to hook up the overridePreference.

  • Api/qwebsettings.cpp:

(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):

  • Api/qwebsettings.h: Add enum value for CSS grid layout

Tools:

These tests pass, we just need to hook up the overridePreference.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings): Reset grid layout and regions between tests.

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::overridePreference): Add WebKitCSSGridLayoutEnabled.

LayoutTests:

  • platform/qt/Skipped: Enable fast/css-grid-layout tests.
02:04 Changeset [121240] by yurys@chromium.org

Web Inspector: columns in heap snapshot summary view are not resizable
https://bugs.webkit.org/show_bug.cgi?id=89952

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize): overriden method
should call overriden one to make sure column resizers are added to the DataGrid.

01:25 Changeset [121239] by kkristof@inf.u-szeged.hu

Unreviewed, rolling out r121236.
http://trac.webkit.org/changeset/121236
https://bugs.webkit.org/show_bug.cgi?id=89956

It's broke the nrwt on qt and gtk platform (Requested by
kkristof on #webkit).

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

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

(QtPort._build_driver):

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

(XvfbDriver._start):
(XvfbDriver._start.x_filter):
(XvfbDriver.stop):

00:59 Changeset [121238] by mario@webkit.org

Unreviewed gardening after r120845.
Update expectations for test crashing in the GTK 64bit debug bot.

  • platform/gtk/TestExpectations: Add test to CRASHING section.
00:59 Changeset [121237] by commit-queue@webkit.org

Allow using <input type="color"> UI in ChromeOS.
https://bugs.webkit.org/show_bug.cgi?id=89944

Patch by Jun Mukai <mukai@chromium.org> on 2012-06-26
Reviewed by Kent Tamura.

http://crrev.com/144111 adds the UI of <input type="color"> for
ChromeOS, so now we can set its flag too.

  • features.gypi:
00:55 Changeset [121236] by kkristof@inf.u-szeged.hu

[NRWT] XvfbDriver should choose the next free display
https://bugs.webkit.org/show_bug.cgi?id=88414

Reviewed by Dirk Pranke.

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

(QtPort._driver_class):

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

(XvfbDriver.init):
(XvfbDriver._start):
(XvfbDriver._start.next_free_id):
(XvfbDriver.stop):

00:55 Changeset [121235] by tkent@chromium.org

Refactoring: Simplify FormController interface
https://bugs.webkit.org/show_bug.cgi?id=89951

Reviewed by Kentaro Hara.

  • Remove FormController::hasStateForNewFormElements() takeStateForFormElement() can check the emptiness, and return an empty FormControlState.
  • Change the argument of takeStateForFormElement() Passing just one HTMLFormControlElementWithState object instead of two AtomicStringImpl. This is a preparation to use HTMLFormControlElementWithState::form() in FormController.

No new tests. Just a refactoring.

  • html/FormController.cpp:

(WebCore::FormController::takeStateForFormElement):

  • html/FormController.h:

(FormController):

  • html/HTMLFormControlElementWithState.cpp:

(WebCore::HTMLFormControlElementWithState::finishParsingChildren):

00:41 Changeset [121234] by dominicc@chromium.org

WheelEvent should inherit from MouseEvent
https://bugs.webkit.org/show_bug.cgi?id=76104

Reviewed by Kentaro Hara.

Source/WebCore:

The spec for WheelEvent is
<http://www.w3.org/TR/DOM-Level-3-Events/#webidl-events-WheelEvent>

Tests: fast/events/event-creation.html

http://samples.msdn.microsoft.com/ietestcenter/dominheritance/showdominheritancetest.htm?Prototype_WheelEvent

  • bindings/objc/PublicDOMInterfaces.h: Remove redundant MouseEvent API from WheelEvent
  • bindings/scripts/CodeGeneratorObjC.pm: MouseEvents are Events
  • dom/MouseEvent.h: Expose no-arg constructor to WheelEvent
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent): Call MouseEvent superconstructor
(WebCore::WheelEvent::isMouseEvent): Existing callers use this just for
moves and clicks, ie the type is exactly MouseEvent.

  • dom/WheelEvent.h: Extend MouseEvent
  • dom/WheelEvent.idl: "

LayoutTests:

  • fast/events/event-creation-expected.txt:
  • fast/events/event-creation.html: Also check WheelEvent instanceof MouseEvent as well as UIEvent, Event
00:24 Changeset [121233] by commit-queue@webkit.org

[WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=89948

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Martin Robinson.

Properly initialize didInitializeState in
TextChecker::state().

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::state):

06/25/12:

23:29 Changeset [121232] by rniwa@webkit.org

Get rid of firstItem and nextItem from HTMLCollection
https://bugs.webkit.org/show_bug.cgi?id=89923

Reviewed by Andreas Kling.

Source/WebCore:

Removed HTMLCollection::firstItem and HTMLCollection::nextItem.
Also added hasAnyItem() and hasExactlyOneItem() to HTMLCollection so that named getter on Document
doesn't need to compute the full length before returning a HTMLCollection.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getDocumentLinks):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::GetNamedProperty):

  • dom/Document.cpp:

(WebCore::Document::openSearchDescriptionURL):

  • html/HTMLCollection.cpp:

(WebCore::shouldIncludeChildren):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore):
(WebCore::HTMLCollection::item):

  • html/HTMLCollection.h:

(HTMLCollection):
(WebCore::HTMLCollection::hasAnyItem):
(WebCore::HTMLCollection::hasExactlyOneItem):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::imageElement):

Source/WebKit/chromium:

Re-implement WebNodeCollection::firstItem() and WebNodeCollection::nextItem() in WebKit code
because we got rid of it from WebCore implementation.

This is an extremely poor API and we shouldn't be exposing it in the future.

  • public/WebNodeCollection.h:

(WebKit::WebNodeCollection::WebNodeCollection):
(WebNodeCollection):

  • src/WebNodeCollection.cpp:

(WebKit::WebNodeCollection::nextItem):
(WebKit::WebNodeCollection::firstItem):

  • src/WebPageSerializerImpl.cpp:

(WebKit::WebPageSerializerImpl::collectTargetFrames):

23:05 Changeset [121231] by psolanki@apple.com

JavaScript resources have low priority when SVG is enabled
https://bugs.webkit.org/show_bug.cgi?id=89932
<rdar://problem/11741325>

Reviewed by Adele Peterson.

r108785 inadvertently lowered the priority of JavaScript resources. Fix the code so we set
the correct priority for scripts. Also, move the code so that all ifdefs are together at the
bottom to make it a bit easier to read..

  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType):

22:32 Changeset [121230] by hausmann@webkit.org

Unreviewed build fix: Don't do QT += widgets with Qt 4

Source/WebKit:

  • WebKit1.pro: This is already done in WebKit1.pri.

Source/WebKit/qt:

  • examples/platformplugin/platformplugin.pro:
22:23 Changeset [121229] by macpherson@chromium.org

Add runtime flag to enable/disable CSS variables (in addition to existing compile-time flag).
https://bugs.webkit.org/show_bug.cgi?id=89542

Reviewed by Dimitri Glazkov.

Source/WebCore:

Added fast/css/variables/build-supports-variables.html to test runtime flag in test environment.
Updated all other css variables tests to enable the runtime flag from JS.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::cssVariablesEnabled):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • page/Settings.h:

(Settings):
(WebCore::Settings::setCSSVariablesEnabled):
(WebCore::Settings::cssVariablesEnabled):

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setExperimentalCSSVariablesEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

21:47 Changeset [121228] by hausmann@webkit.org

[Qt] Make it possible to build WebKit without QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=78109

Reviewed by Tor Arne Vestbø.

.:

  • Source/QtWebKit.pro: Don't build WK1 tests and examples if WK1 is disabled.
  • Source/api.pri: Move WK1 sources away from here and use WEBKIT += webkit1 instead
  • WebKit.pro: Add WK1 to SUBDIRS unless no_webkit1 is set.

Source/WebKit:

Moved WebKit1 sources into a separate static library. Only WK1
depends on QtWidgets.

  • WebKit1.pri: Added.
  • WebKit1.pro: Added.

Source/WebKit2:

  • WebKit2.pri: Add missing WK2 specific dependencies.
  • qt/MainQt.cpp: Do the QStyle initialization hook only if we are

compiling with QtWidgets support.
(WebKit):
(main):

Tools:

  • Tools.pro: Disable various tools that depend on WK1.
  • qmake/mkspecs/features/default_post.prf: Add WK1 as supported static lib in WEBKIT
  • qmake/mkspecs/features/default_pre.prf: Disable WK1 if QtWidgets is not built.
  • qmake/mkspecs/modules/webkit1.prf: Added.
21:43 Changeset [121227] by enne@google.com

[chromium] Add WebPluginScrollbar and WebPluginScrollbarClient stub implementations
https://bugs.webkit.org/show_bug.cgi?id=89928

Reviewed by Darin Fisher.

These classes are just typedef'd to be the non-Plugin version. The
next step is to change Chromium to use the Plugin version, then move
most of WebPluginScrollbar to a WebScrollbar in Platform to separate
out the base functionality, while providing the same top level API.

  • WebKit.gyp:
  • public/WebPluginScrollbar.h: Added.

(WebKit):

  • public/WebPluginScrollbarClient.h: Added.

(WebKit):

21:41 Changeset [121226] by hausmann@webkit.org

Unreviewed build fix after r121223.

Fix the --minimal Qt build, TextureMapperGL now requires WebGL to be enabled.

  • Target.pri:
  • WebCore.pri:
21:31 Changeset [121225] by leo.yang@torchmobile.com.cn

[BlackBerry] Fill more data in device motion event
https://bugs.webkit.org/show_bug.cgi?id=89857

Reviewed by Antonio Gomes.

Reviewed internally by Robin Cao.

Fill acceleration and rotation rate into DeviceMotionData.

  • WebCoreSupport/DeviceMotionClientBlackBerry.cpp:

(DeviceMotionClientBlackBerry::onMotion):

21:14 Changeset [121224] by danakj@chromium.org

[chromium] CCOverdrawMetrics should use the deviceViewportSize to count actual pixels
https://bugs.webkit.org/show_bug.cgi?id=89922

Reviewed by Adrienne Walker.

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

(WebCore::CCOverdrawMetrics::recordMetricsInternal):

20:59 Changeset [121223] by commit-queue@webkit.org

[Texmap] Remove platform specific code in BitmapImageGL::updateContents by using
GraphicsContext3D::extractImageData.
https://bugs.webkit.org/show_bug.cgi?id=89867

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore):
(WebCore::BitmapTextureGL::didReset):
(WebCore::BitmapTextureGL::updateContents):

20:46 Changeset [121222] by rakuco@webkit.org

[EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
https://bugs.webkit.org/show_bug.cgi?id=89804

Reviewed by Hajime Morita.

The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
includes) on Mac and Linux, even though that is not mandated by
POSIX and breaks other platforms (such as FreeBSD). Fix that by
explicitly including unistd.h, which is where the typedef is
supposed to come from.

  • Platform/PlatformProcessIdentifier.h:
20:41 Changeset [121221] by commit-queue@webkit.org

[WK2][Qt][EFL] Extract common code from LayerTreeHostQt
https://bugs.webkit.org/show_bug.cgi?id=89837

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-25
Reviewed by Noam Rosenthal.

Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
Also WebGraphicsLayer moved under that directory.

  • CMakeLists.txt:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Platform/CoreIPC/MessageID.h:
  • Target.pri:
  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::paint):
(QQuickWebPage::updatePaintNode):
(QQuickWebPagePrivate::updateSize):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):

  • UIProcess/DrawingAreaProxy.h:

(WebKit):
(WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
(DrawingAreaProxy):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.h:

(WebKit):
(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.

(WebKit):
(WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::updateViewport):
(WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
(WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::setContentsSize):
(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):

  • UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.

(WebKit):
(LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):

  • UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
(WebKit::WebLayerTreeRenderer::updateViewport):
(WebKit::WebLayerTreeRenderer::renderNextFrame):
(WebKit::WebLayerTreeRenderer::purgeBackingStores):
(WebKit::WebLayerTreeRenderer::detach):

  • UIProcess/WebLayerTreeRenderer.h:

(WebKit):
(WebLayerTreeRenderer):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveMessage):

  • WebKit2.pri:
  • WebProcess/WebPage/DrawingArea.h:

(DrawingArea):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.

(WebKit):
(WebKit::LayerTreeCoordinator::create):
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
(WebKit::LayerTreeCoordinator::scheduleLayerFlush):
(WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
(WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::setRootCompositingLayer):
(WebKit::LayerTreeCoordinator::invalidate):
(WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
(WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::sizeDidChange):
(WebKit::LayerTreeCoordinator::didInstallPageOverlay):
(WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
(WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
(WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::syncLayerState):
(WebKit::LayerTreeCoordinator::syncLayerChildren):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit::LayerTreeCoordinator::attachLayer):
(WebKit::LayerTreeCoordinator::detachLayer):
(WebKit::updateOffsetFromViewportForSelf):
(WebKit::updateOffsetFromViewportForLayer):
(WebKit::LayerTreeCoordinator::syncFixedLayers):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::layerFlushTimerFired):
(WebKit::LayerTreeCoordinator::createPageOverlayLayer):
(WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
(WebKit::LayerTreeCoordinator::notifyAnimationStarted):
(WebKit::LayerTreeCoordinator::notifySyncRequired):
(WebKit::LayerTreeCoordinator::paintContents):
(WebKit::LayerTreeCoordinator::showDebugBorders):
(WebKit::LayerTreeCoordinator::showRepaintCounter):
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):
(WebKit::LayerTreeCoordinator::renderNextFrame):
(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
(WebKit::LayerTreeCoordinator::beginContentUpdate):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.

(WebKit):
(LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::layerTreeContext):
(WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
(WebKit::LayerTreeCoordinator::pauseRendering):
(WebKit::LayerTreeCoordinator::resumeRendering):
(WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
  • WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.

(WebCore):
(WebCore::layerByIDMap):
(WebCore::WebGraphicsLayer::layerByID):
(WebCore::toWebLayerID):
(WebCore::WebGraphicsLayer::didChangeLayerState):
(WebCore::WebGraphicsLayer::didChangeChildren):
(WebCore::WebGraphicsLayer::didChangeFilters):
(WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore::WebGraphicsLayer::~WebGraphicsLayer):
(WebCore::WebGraphicsLayer::willBeDestroyed):
(WebCore::WebGraphicsLayer::setChildren):
(WebCore::WebGraphicsLayer::addChild):
(WebCore::WebGraphicsLayer::addChildAtIndex):
(WebCore::WebGraphicsLayer::addChildAbove):
(WebCore::WebGraphicsLayer::addChildBelow):
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):
(WebCore::WebGraphicsLayer::setPosition):
(WebCore::WebGraphicsLayer::setAnchorPoint):
(WebCore::WebGraphicsLayer::setSize):
(WebCore::WebGraphicsLayer::setTransform):
(WebCore::WebGraphicsLayer::setChildrenTransform):
(WebCore::WebGraphicsLayer::setPreserves3D):
(WebCore::WebGraphicsLayer::setMasksToBounds):
(WebCore::WebGraphicsLayer::setDrawsContent):
(WebCore::WebGraphicsLayer::setContentsOpaque):
(WebCore::WebGraphicsLayer::setBackfaceVisibility):
(WebCore::WebGraphicsLayer::setOpacity):
(WebCore::WebGraphicsLayer::setContentsRect):
(WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
(WebCore::WebGraphicsLayer::setContentsToCanvas):
(WebCore::WebGraphicsLayer::setFilters):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::setMaskLayer):
(WebCore::WebGraphicsLayer::setReplicatedByLayer):
(WebCore::WebGraphicsLayer::setNeedsDisplay):
(WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
(WebCore::WebGraphicsLayer::id):
(WebCore::WebGraphicsLayer::syncCompositingState):
(WebCore::toWebGraphicsLayer):
(WebCore::WebGraphicsLayer::syncChildren):
(WebCore::WebGraphicsLayer::syncFilters):
(WebCore::WebGraphicsLayer::syncLayerState):
(WebCore::WebGraphicsLayer::syncCanvas):
(WebCore::WebGraphicsLayer::ensureImageBackingStore):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
(WebCore::WebGraphicsLayer::setRootLayer):
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::effectiveContentsScale):
(WebCore::WebGraphicsLayer::adjustContentsScale):
(WebCore::WebGraphicsLayer::createBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStorePaint):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
(WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
(WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
(WebCore::WebGraphicsLayer::beginContentUpdate):
(WebCore::WebGraphicsLayer::createTile):
(WebCore::WebGraphicsLayer::updateTile):
(WebCore::WebGraphicsLayer::removeTile):
(WebCore::WebGraphicsLayer::updateContentBuffers):
(WebCore::WebGraphicsLayer::purgeBackingStores):
(WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
(WebCore::WebGraphicsLayer::adjustVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
(WebCore::createWebGraphicsLayer):
(WebCore::WebGraphicsLayer::initFactory):
(WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):

  • WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.

(WebCore):
(WebKit):
(WebGraphicsLayerClient):
(WebGraphicsLayer):
(WebCore::WebGraphicsLayer::image):
(WebCore::WebGraphicsLayer::fixedToViewport):
(WebCore::WebGraphicsLayer::setFixedToViewport):
(WebCore::WebGraphicsLayer::maskTarget):
(WebCore::WebGraphicsLayer::setMaskTarget):

  • WebProcess/WebPage/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::create):

  • WebProcess/WebPage/LayerTreeHost.h:

(LayerTreeHost):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceiveMessage):

20:37 Changeset [121220] by commit-queue@webkit.org

[chromium] Remove uncalled ManagedTexture::framebufferTexture2D
https://bugs.webkit.org/show_bug.cgi?id=89930

Patch by James Robinson <jamesr@chromium.org> on 2012-06-25
Reviewed by Adrienne Walker.

Removing dead code.

  • platform/graphics/chromium/ManagedTexture.cpp:
  • platform/graphics/chromium/ManagedTexture.h:

(ManagedTexture):

20:28 Changeset [121219] by commit-queue@webkit.org

Unreviewed. Rolled DEPS.

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

  • DEPS:
19:53 Changeset [121218] by fpizlo@apple.com

JSC should try to make profiling deterministic because otherwise reproducing failures is
nearly impossible
https://bugs.webkit.org/show_bug.cgi?id=89940

Rubber stamped by Gavin Barraclough.

This rolls out the part of http://trac.webkit.org/changeset/121215 that introduced randomness
into the system. Now, instead of randomizing the tier-up threshold, we always set it to an
artificially low (and statically predetermined!) value. This gives most of the benefit of
threshold randomization without actually making the system behave completely differently on
each invocation.

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::setThreshold):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

19:52 Changeset [121217] by commit-queue@webkit.org

Unreviewed, rolling out r121206.
http://trac.webkit.org/changeset/121206
https://bugs.webkit.org/show_bug.cgi?id=89935

[chromium] webkit_unit_tests
WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
(Requested by ukai on #webkit).

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

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit/chromium:

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::registerMockedURLLoad):
(WebKit::FrameTestHelpers::createWebViewAndLoad):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

19:28 Changeset [121216] by ukai@chromium.org

Unreviewed, update chromium test expectations.

  • platform/chromium/TestExpectations:
19:14 Changeset [121215] by fpizlo@apple.com

Value profiling should use tier-up threshold randomization to get more coverage
https://bugs.webkit.org/show_bug.cgi?id=89802

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

This patch causes both LLInt and Baseline JIT code to take the OSR slow path several
times before actually doing OSR. If we take the OSR slow path before the execution
count threshold is reached, then we just call CodeBlock::updateAllPredictions() to
compute the current latest least-upper-bound SpecType of all values seen in each
ValueProfile.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::llintExecuteCounter):
(JSC::CodeBlock::jitExecuteCounter):
(CodeBlock):
(JSC::CodeBlock::updateAllPredictions):

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::setThreshold):
(JSC::ExecutionCounter::status):
(JSC):

  • bytecode/ExecutionCounter.h:

(JSC::ExecutionCounter::count):
(ExecutionCounter):

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

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

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):
(JSC::JSGlobalObject::weakRandomInteger):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

  • runtime/WeakRandom.h:

(WeakRandom):
(JSC::WeakRandom::seedUnsafe):

LayoutTests:

Reviewed by Gavin Barraclough.

  • fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit-expected.txt: Added.
  • fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit.html: Added.
  • fast/js/script-tests/dfg-store-unexpected-value-into-argument-and-osr-exit.js: Added.

(foo):

19:02 Changeset [121214] by commit-queue@webkit.org

[chromium] Ensure that the compositor code which is aware of flipped status of video-textures
per platform executes on Windows.
https://bugs.webkit.org/show_bug.cgi?id=89914

Patch by Anantanarayanan G Iyengar <ananta@chromium.org> on 2012-06-25
Reviewed by James Robinson.

No new tests. (HW video decode is still only being tested manually for orientation)

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

(WebCore::CCVideoLayerImpl::appendQuads):

18:59 Changeset [121213] by abarth@webkit.org

[Chromium] Let the embedder override the max page scale factor set by the page
https://bugs.webkit.org/show_bug.cgi?id=89406

Reviewed by James Robinson.

Chrome on Android has an option to force the web site to allow page
scaling (for accessibility). This patch adds
WebView::setIgnoreViewportTagMaximumScale, which instructs the WebView
to ignore the maximum scale factor supplied by by the page in the
viewport meta tag.

This patch is a bit different from how this is implemented on the
chromium-android branch, but I'll clean up the branch once this patch
lands.

  • public/WebView.h:

(WebView):

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIgnoreViewportTagMaximumScale):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):
(WebKit::WebViewImpl::ignoreViewportTagMaximumScale):

  • tests/WebFrameTest.cpp:

(WebKit::TEST_F):
(WebKit):

18:57 Changeset [121212] by commit-queue@webkit.org

Unreviewed, rolling out r121176.
http://trac.webkit.org/changeset/121176
https://bugs.webkit.org/show_bug.cgi?id=89934

[chromium] browser_tests assert failed:
FATAL:native_theme_win.cc(1541)] Check failed: false. Invalid
part: 16 (Requested by ukai on #webkit).

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

Source/Platform:

  • chromium/public/win/WebThemeEngine.h:

(WebKit::WebThemeEngine::paintProgressBar):

Source/WebCore:

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::buttonSize):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:
18:49 Changeset [121211] by shinyak@chromium.org

[Shadow] Deleting list distributed to Shadow DOM does not work correctly.
https://bugs.webkit.org/show_bug.cgi?id=89170

Reviewed by Ryosuke Niwa.

Source/WebCore:

When deleting several elements distributed to Shadow DOM, some renderers might be gone in
processing deletion. To fix them, we should call isContentEditable() instead of rendererIsEditable().

Test: editing/shadow/delete-list-in-shadow.html

  • editing/DeleteFromTextNodeCommand.cpp:

(WebCore::DeleteFromTextNodeCommand::doApply):

LayoutTests:

  • editing/shadow/delete-list-in-shadow-expected.txt: Added.
  • editing/shadow/delete-list-in-shadow.html: Added.
18:34 Changeset [121210] by commit-queue@webkit.org

[Chromium] Fix the css stylesheet for android media controls after recent changes
https://bugs.webkit.org/show_bug.cgi?id=89910

Patch by Min Qin <qinmin@chromium.org> on 2012-06-25
Reviewed by Adam Barth.

After the recent changes on upstream chrome video controls, we need to change the css style sheet for chrome on android.
No tests needed, just css changes.

  • css/mediaControlsChromiumAndroid.css:

(audio):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(::-webkit-media-controls):
(audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
(video::-webkit-media-controls-enclosure):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(video::-webkit-media-controls-fullscreen-button):
(input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-media-slider-thumb):
(audio::-webkit-media-controls-fullscreen-button):

18:30 Changeset [121209] by commit-queue@webkit.org

[Qt] Avoid a deep copy of QImage in GraphicsContext3D::getImageData.
https://bugs.webkit.org/show_bug.cgi?id=89865

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):

18:26 Changeset [121208] by commit-queue@webkit.org

Reduce memory footprint of BitmapImage Vectors.
https://bugs.webkit.org/show_bug.cgi?id=86563

Patch by Nick Carter <nick@chromium.org> on 2012-06-25
Reviewed by Simon Fraser.

No new tests, affects template params only.

  • platform/graphics/BitmapImage.h:

(BitmapImage): use an inline capacity of 1 for the image frame Vector

  • platform/image-decoders/ImageDecoder.h:

(ImageDecoder): use an inline capacity of 1 for the image frame Vector

18:20 Changeset [121207] by tkent@chromium.org

Unreviewed, rolling out r121145.
http://trac.webkit.org/changeset/121145
https://bugs.webkit.org/show_bug.cgi?id=89847

Had an objection for the change.

Source/WebCore:

  • html/FormController.cpp:

(WebCore):
(WebCore::FormControlState::serializeTo):
(WebCore::FormControlState::deserialize):
(WebCore::formStateSignature):
(WebCore::FormController::formElementsState):
(WebCore::FormController::setStateForNewFormElements):

  • html/FormController.h:

(FormControlState):

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::addJavaScriptString):

Source/WTF:

  • wtf/text/StringBuilder.h:

LayoutTests:

  • fast/forms/state-restore-broken-state-expected.txt:
  • fast/forms/state-restore-various-values-expected.txt: Removed.
  • fast/forms/state-restore-various-values.html: Removed.
18:12 Changeset [121206] by jcivelli@chromium.org

Fix progress load reporting for MHTML documents.

MHTML documents containing references to resources they don't include
never finish loading.
https://bugs.webkit.org/show_bug.cgi?id=71859

Reviewed by Nate Chapin.

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit/chromium:

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(FrameTestHelpers):
(WebKit::FrameTestHelpers::registerMockedURLLoad):
(WebKit::FrameTestHelpers::registerMockedURLLoadAsHTML):
(WebKit::FrameTestHelpers::createWebViewAndLoad):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):
(TestWebViewClient):
(WebKit::TestWebViewClient::TestWebViewClient):
(WebKit::TestWebViewClient::didStartLoading):
(WebKit::TestWebViewClient::didStopLoading):
(WebKit::TestWebViewClient::didChangeLoadProgress):
(WebKit::TestWebViewClient::loadingStarted):
(WebKit::TestWebViewClient::loadingStopped):
(WebKit::TestWebViewClient::loadProgress):
(WebKit):

17:56 Changeset [121205] by dpranke@chromium.org

put vista back for chromium (non-webkit) bots ...
https://bugs.webkit.org/show_bug.cgi?id=89929

Unreviewed, build fix.

Turns out we've only gotten rid of vista on the webkit tests so
far. Put vista back for the other chromium bots ...

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(chromiumPlatform):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

17:55 Changeset [121204] by jamesr@google.com

[chromium] Use WebGraphicsContext3D in compositor implementation
https://bugs.webkit.org/show_bug.cgi?id=89700

Reviewed by Adrienne Walker.

Source/Platform:

Puts all callback destructors in protected section and removes obsolete memory callback signature.

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContextLostCallback):
(WebGraphicsErrorMessageCallback):
(WebGraphicsSwapBuffersCompleteCallbackCHROMIUM):
(WebGraphicsMemoryAllocationChangedCallbackCHROMIUM):

Source/WebCore:

This converts the compositor implementation from using WebCore::GraphicsContext3D to using the Platform-provided
WebGraphicsContext3D. This removes several unnecessary layers of indirection/wrapping and cuts down the
compositor's implementation dependencies. GraphicsContext3D.h is still widely used to provide GL enum values.
Most of the changes are purely mechanical - changing type names and the like.

Ownership is changed a bit. Instead of multiple components holding references to the compositor's context, the
context is now owned by the CCGraphicsContext, which is now owned directly by CCLayerTreeHostImpl.
CCLayerTreeHostImpl also has ownership of its CCRenderer (LayerRendererChromium in 3D mode) and passes a
non-owning pointer down to the CCRenderer.

Extension checking is a bit different. The compositor does not (and never has) used extensions provided by
WebGL's request/ensure mechanism. It simply checks for the existence of extensions it needs in the GL_EXTENSIONS
string.

FrameBufferSkPictureCanvasLayerTextureUpdater had to be patched as well, since it was grabbing a GrContext off
of the compositor's GraphicsContext3D. This caused many problems. It was inefficient, since it required a full
state flush when switching between ganesh and compositor calls. The gpu memory management was completely broken
since the compositor clobbered ganesh's onMemoryAllocationChanged callback. This moves FBSkPCLTU over to using
the appropriate SharedGraphicsContext3D, like filters.

  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):

  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:

(FrameBufferSkPictureCanvasLayerTextureUpdater):

  • platform/graphics/chromium/GeometryBinding.cpp:

(WebCore::GeometryBinding::GeometryBinding):

  • platform/graphics/chromium/GeometryBinding.h:

(WebKit):
(GeometryBinding):
(WebCore::GeometryBinding::context):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::context):
(WebCore::LayerRendererChromium::debugGLCall):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::drawStreamVideoQuad):
(WebCore::LayerRendererChromium::drawHeadsUpDisplay):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::onMemoryAllocationChanged):
(WebCore):
(WebCore::LayerRendererChromium::onMemoryAllocationChangedOnImplThread):
(WebCore::LayerRendererChromium::discardFramebuffer):
(WebCore::LayerRendererChromium::ensureFramebuffer):
(WebCore::LayerRendererChromium::onContextLost):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tileCheckerboardProgram):
(WebCore::LayerRendererChromium::solidColorProgram):
(WebCore::LayerRendererChromium::headsUpDisplayProgram):
(WebCore::LayerRendererChromium::renderPassProgram):
(WebCore::LayerRendererChromium::renderPassProgramAA):
(WebCore::LayerRendererChromium::renderPassMaskProgram):
(WebCore::LayerRendererChromium::renderPassMaskProgramAA):
(WebCore::LayerRendererChromium::tileProgram):
(WebCore::LayerRendererChromium::tileProgramOpaque):
(WebCore::LayerRendererChromium::tileProgramAA):
(WebCore::LayerRendererChromium::tileProgramSwizzle):
(WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tileProgramSwizzleAA):
(WebCore::LayerRendererChromium::textureProgram):
(WebCore::LayerRendererChromium::textureProgramFlip):
(WebCore::LayerRendererChromium::textureIOSurfaceProgram):
(WebCore::LayerRendererChromium::videoYUVProgram):
(WebCore::LayerRendererChromium::videoStreamTextureProgram):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::isContextLost):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebKit):
(WebCore):
(LayerRendererChromium):
(WebCore::LayerRendererChromium::isFramebufferDiscarded):

  • platform/graphics/chromium/LayerTextureSubImage.cpp:

(WebCore::LayerTextureSubImage::uploadWithTexSubImage):
(WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):

  • platform/graphics/chromium/ManagedTexture.cpp:

(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):

  • platform/graphics/chromium/PlatformColor.h:

(WebCore::PlatformColor::bestTextureFormat):

  • platform/graphics/chromium/ProgramBinding.cpp:

(WebCore::contextLost):
(WebCore::ProgramBindingBase::init):
(WebCore::ProgramBindingBase::cleanup):
(WebCore::ProgramBindingBase::loadShader):
(WebCore::ProgramBindingBase::createShaderProgram):

  • platform/graphics/chromium/ProgramBinding.h:

(WebKit):
(ProgramBindingBase):
(WebCore::ProgramBinding::ProgramBinding):
(WebCore::ProgramBinding::initialize):

  • platform/graphics/chromium/ShaderChromium.cpp:

(WebCore::VertexShaderPosTex::init):
(WebCore::VertexShaderPosTexYUVStretch::init):
(WebCore::VertexShaderPos::init):
(WebCore::VertexShaderPosTexTransform::init):
(WebCore::VertexShaderQuad::init):
(WebCore::VertexShaderTile::init):
(WebCore::VertexShaderVideoTransform::init):
(WebCore::FragmentTexAlphaBinding::init):
(WebCore::FragmentTexOpaqueBinding::init):
(WebCore::FragmentShaderOESImageExternal::init):
(WebCore::FragmentShaderRGBATexAlphaAA::init):
(WebCore::FragmentTexClampAlphaAABinding::init):
(WebCore::FragmentShaderRGBATexAlphaMask::init):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
(WebCore::FragmentShaderYUVVideo::init):
(WebCore::FragmentShaderColor::init):
(WebCore::FragmentShaderCheckerboard::init):

  • platform/graphics/chromium/ShaderChromium.h:

(WebKit):
(VertexShaderPosTex):
(VertexShaderPosTexYUVStretch):
(VertexShaderPos):
(WebCore::VertexShaderPosTexIdentity::init):
(VertexShaderPosTexTransform):
(VertexShaderQuad):
(VertexShaderTile):
(VertexShaderVideoTransform):
(FragmentTexAlphaBinding):
(FragmentTexOpaqueBinding):
(FragmentShaderOESImageExternal):
(FragmentShaderRGBATexAlphaAA):
(FragmentTexClampAlphaAABinding):
(FragmentShaderRGBATexAlphaMask):
(FragmentShaderRGBATexAlphaMaskAA):
(FragmentShaderYUVVideo):
(FragmentShaderColor):
(FragmentShaderCheckerboard):

  • platform/graphics/chromium/TextureCopier.cpp:

(WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
(WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
(WebCore::AcceleratedTextureCopier::copyTexture):

  • platform/graphics/chromium/TextureCopier.h:

(WebKit):
(WebCore):
(WebCore::AcceleratedTextureCopier::create):
(AcceleratedTextureCopier):

  • platform/graphics/chromium/TextureManager.h:
  • platform/graphics/chromium/ThrottledTextureUploader.cpp:

(WebCore::ThrottledTextureUploader::Query::Query):
(WebCore::ThrottledTextureUploader::Query::~Query):
(WebCore::ThrottledTextureUploader::Query::begin):
(WebCore::ThrottledTextureUploader::Query::end):
(WebCore::ThrottledTextureUploader::Query::isPending):
(WebCore::ThrottledTextureUploader::Query::wait):
(WebCore::ThrottledTextureUploader::ThrottledTextureUploader):

  • platform/graphics/chromium/ThrottledTextureUploader.h:

(WebKit):
(WebCore::ThrottledTextureUploader::create):
(WebCore::ThrottledTextureUploader::Query::create):
(Query):
(ThrottledTextureUploader):

  • platform/graphics/chromium/TrackingTextureAllocator.cpp:

(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore::TrackingTextureAllocator::deleteAllTextures):

  • platform/graphics/chromium/TrackingTextureAllocator.h:

(WebKit):
(WebCore::TrackingTextureAllocator::create):
(TrackingTextureAllocator):

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

(CCGraphicsContext):
(WebCore::CCGraphicsContext::create2D):
(WebCore::CCGraphicsContext::create3D):
(WebCore::CCGraphicsContext::context3D):
(WebCore::CCGraphicsContext::CCGraphicsContext):

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

(WebCore::CCHeadsUpDisplay::draw):

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

(WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
(WebCore::CCIOSurfaceLayerImpl::willDraw):

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

(WebCore::CCLayerTreeHost::createContext):

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

(CCLayerTreeHostClient):
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
(LayerRendererCapabilities):
(WebCore::CCLayerTreeHost::needsSharedContext):
(CCLayerTreeHost):

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

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImpl):

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

(WebCore::CCSingleThreadProxy::initializeContext):
(WebCore::CCSingleThreadProxy::recreateContext):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCTextureUpdater.cpp:

(WebCore::CCTextureUpdater::update):

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

(WebCore::CCThreadProxy::initializeContext):
(WebCore::CCThreadProxy::recreateContext):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

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

(CCThreadProxy):

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

(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::copyPlaneData):

Source/WebKit/chromium:

Updates tests for refactor, mostly by removing unnecessary GraphicsContext3D wrapper around mock contexts.

  • WebKit.gypi:
  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::context):

  • src/WebLayerTreeViewImpl.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestAtomicCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::drawLayersOnCCThread):

  • tests/CCSingleThreadProxyTest.cpp:
  • tests/CCThreadedTest.cpp:

(WebKitTests::TestHooks::createContext):

  • tests/CCThreadedTest.h:

(TestHooks):

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

  • tests/CompositorFakeGraphicsContext3D.h: Removed.
  • tests/DrawingBufferChromiumTest.cpp: Removed.
  • tests/FakeCCLayerTreeHostClient.h:
  • tests/FakeGraphicsContext3DTest.cpp:

(TEST):

  • tests/GraphicsLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(LayerRendererChromiumTest):
(TEST_F):
(TEST):

  • tests/TextureCopierTest.cpp:
  • tests/ThrottledTextureUploaderTest.cpp:

(WebKit::TEST):

  • tests/TiledLayerChromiumTest.cpp:
17:43 Changeset [121203] by andersca@apple.com

[Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
https://bugs.webkit.org/show_bug.cgi?id=89611
<rdar://problem/11714023>

Reviewed by Sam Weinig.

Source/WebKit2:

Make sure to send the response along to the plug-in in the case where the stream was empty.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::finishedLoading):

LayoutTests:

Remove the test from the Skipped list.

  • platform/mac-wk2/Skipped:
17:31 Changeset [121202] by dpranke@chromium.org

remove chromium vista baselines
https://bugs.webkit.org/show_bug.cgi?id=89927

Unreviewed, expectations change.

Now that we no longer run tests on Vista, no need for the
baselines either.

  • platform/chromium-win-vista/canvas/philip/tests/2d.line.cap.round-expected.txt: Removed.
  • platform/chromium-win-vista/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Removed.
  • platform/chromium-win-vista/compositing/geometry/horizontal-scroll-composited-expected.png: Removed.
  • platform/chromium-win-vista/compositing/overflow/theme-affects-visual-overflow-expected.txt: Removed.
  • platform/chromium-win-vista/compositing/shadows/shadow-drawing-expected.png: Removed.
  • platform/chromium-win-vista/css1/font_properties/font-expected.txt: Removed.
  • platform/chromium-win-vista/css1/text_properties/line_height-expected.txt: Removed.
  • platform/chromium-win-vista/css1/units/percentage_units-expected.png: Removed.
  • platform/chromium-win-vista/css2.1/t040103-ident-03-c-expected.png: Removed.
  • platform/chromium-win-vista/css2.1/t0803-c5505-imrgn-00-a-ag-expected.txt: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-32-expected.txt: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-68-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-68-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/editing/inserting/4959067-expected.txt: Removed.
  • platform/chromium-win-vista/editing/pasteboard/paste-xml-expected.txt: Removed.
  • platform/chromium-win-vista/editing/style/style-3681552-fix-002-expected.txt: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize20-expected.png: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize21-expected.png: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize22-expected.png: Removed.
  • platform/chromium-win-vista/fast/block/positioning/trailing-space-test-expected.png: Removed.
  • platform/chromium-win-vista/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-win-vista/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Removed.
  • platform/chromium-win-vista/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
  • platform/chromium-win-vista/fast/canvas/webgl/context-lost-expected.txt: Removed.
  • platform/chromium-win-vista/fast/compact/001-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/box-shadow-and-border-radius-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/text-rendering-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/text-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/fast/css/zoom-body-scroll-expected.txt: Removed.
  • platform/chromium-win-vista/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • platform/chromium-win-vista/fast/dom/HTMLProgressElement/progress-element-expected.txt: Removed.
  • platform/chromium-win-vista/fast/forms/select-writing-direction-natural-expected.txt: Removed.
  • platform/chromium-win-vista/fast/inline-block/002-expected.png: Removed.
  • platform/chromium-win-vista/fast/inline/002-expected.png: Removed.
  • platform/chromium-win-vista/fast/js/large-expressions-expected.txt: Removed.
  • platform/chromium-win-vista/fast/multicol/client-rects-expected.png: Removed.
  • platform/chromium-win-vista/fast/multicol/client-rects-expected.txt: Removed.
  • platform/chromium-win-vista/fast/multicol/vertical-rl/nested-columns-expected.png: Removed.
  • platform/chromium-win-vista/fast/parser/style-script-head-test-expected.png: Removed.
  • platform/chromium-win-vista/fast/repaint/background-misaligned-expected.png: Removed.
  • platform/chromium-win-vista/fast/repaint/inline-relative-positioned-expected.txt: Removed.
  • platform/chromium-win-vista/fast/replaced/image-tag-expected.png: Removed.
  • platform/chromium-win-vista/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.png: Removed.
  • platform/chromium-win-vista/fast/table/tableInsideCaption-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/atsui-kerning-and-ligatures-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/backslash-to-yen-sign-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/international/bidi-mirror-he-ar-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/international/bidi-neutral-run-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/international/danda-space-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/international/plane2-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/selection-painted-separately-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/selection-rect-rounding-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/stroking-decorations-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/stroking-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/unicode-variation-selector-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/whitespace/normal-after-nowrap-breaking-expected.png: Removed.
  • platform/chromium-win-vista/fast/writing-mode/broken-ideographic-font-expected.txt: Removed.
  • platform/chromium-win-vista/fast/writing-mode/english-lr-text-expected.png: Removed.
  • platform/chromium-win-vista/http/tests/misc/acid2-expected.txt: Removed.
  • platform/chromium-win-vista/http/tests/misc/acid2-pixel-expected.png: Removed.
  • platform/chromium-win-vista/platform/chromium/compositing/layout-width-change-expected.png: Removed.
  • platform/chromium-win-vista/platform/chromium/virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns-expected.txt: Removed.
  • platform/chromium-win-vista/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/animate-elem-52-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.png: Removed.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.txt: Removed.
  • platform/chromium-win-vista/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt: Removed.
  • platform/chromium-win-vista/svg/css/composite-shadow-text-expected.png: Removed.
  • platform/chromium-win-vista/svg/css/shadow-changes-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/bug45331-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/js-late-gradient-and-object-creation-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/js-late-pattern-and-object-creation-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/pattern-referencing-preserve-aspect-ratio-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-clipped-hit-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-disappears-after-style-update-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-modify-target-symbol-expected.txt: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/big-sized-filter-2-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feComposite-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feDisplacementMap-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feLighting-crash-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feMerge-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/shadow-on-filter-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/shadow-on-rect-with-filter-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/subRegion-in-userSpace-expected.png: Removed.
  • platform/chromium-win-vista/svg/stroke/zero-length-path-linecap-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/svg/stroke/zero-length-subpaths-linecap-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/bidi-text-query-expected.png: Removed.
  • platform/chromium-win-vista/svg/text/bidi-text-query-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/bidi-tspans-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/text/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-foreignObject-expected.png: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-mask-with-percentages-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug120107-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug1271-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug12908-2-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug13169-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug196870-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug50695-2-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/marvin/tables_align_center-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla_expected_failures/bugs/bug61042-1-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png: Removed.
  • platform/chromium-win-vista/transforms/2d/hindi-rotated-expected.png: Removed.
  • platform/chromium-win-vista/transforms/2d/hindi-rotated-expected.txt: Removed.
17:29 Changeset [121201] by enne@google.com

[chromium] Make CCThreadProxy not draw a frame mid-commit
https://bugs.webkit.org/show_bug.cgi?id=89905

Reviewed by James Robinson.

If commitComplete is not called before the next frame goes up, then
then the max scroll position on the root scroll layer is not updated.
This causes the compositor-side scrollbar to have an incorrect
visibleSize, causing the thumbRect to become stretched, relative to
when it was originally painted.

CCScheduler::setVisible has the side effect of kicking off a frame, so
move it last.

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

(WebCore::CCThreadProxy::scheduledActionCommit):

17:18 Changeset [121200] by dpranke@chromium.org

update flakiness dashboard after removing chromium-vista bots
https://bugs.webkit.org/show_bug.cgi?id=89925

Unreviewed, build fix.

More changes missed in r121194 :(.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(chromiumPlatform):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

17:17 Changeset [121199] by lforschler@apple.com

Versioning.

17:15 Changeset [121198] by lforschler@apple.com

New Tag.

17:11 Changeset [121197] by commit-queue@webkit.org

[Chromium] Add a chromium-webkit API to create a serializable file system.
https://bugs.webkit.org/show_bug.cgi?id=89776

In order to send a DOMFileSystem as part of WebIntent payload data it
should be serializable. Therefore, I added an API that allows us to
create serializable file system in chromium code.

Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-06-25
Reviewed by Adam Barth.

  • public/WebFrame.h:

(WebFrame):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

17:08 Changeset [121196] by commit-queue@webkit.org

[BlackBerry] Add JSC statistics into about:memory
https://bugs.webkit.org/show_bug.cgi?id=89779

Patch by Yong Li <yoli@rim.com> on 2012-06-25
Reviewed by Rob Buis.

Source/JavaScriptCore:

Add MemoryStatistics.cpp into build, and fill JITBytes for BlackBerry port.

  • PlatformBlackBerry.cmake:
  • runtime/MemoryStatistics.cpp:

(JSC::globalMemoryStatistics):

Source/WebKit/blackberry:

Add detailed JS memory statistics to about:memory page.

  • WebCoreSupport/AboutData.cpp:

(WebCore::dumpJSCTypeCountSetToTableHTML):
(WebCore):
(WebCore::memoryPage):

Source/WTF:

Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
This will make macros like JS_EXPORT_PRIVATE work without
extra porting.

  • wtf/Platform.h:
16:59 Changeset [121195] by commit-queue@webkit.org

EventSource: Events should not be dispatched after close()
https://bugs.webkit.org/show_bug.cgi?id=85346

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

Source/WebCore:

Spec changed to make sure that no events are dispatched after close() is
called, even if more data was received before the call to close().

See,
https://www.w3.org/Bugs/Public/show_bug.cgi?id=14331#c5
http://html5.org/tools/web-apps-tracker?from=6771&to=6772

Firefox behaves like this already.

Test: http/tests/eventsource/eventsource-events-after-close.html

  • page/EventSource.cpp:

(WebCore::EventSource::parseEventStream):

LayoutTests:

  • http/tests/eventsource/eventsource-events-after-close-expected.txt: Added.
  • http/tests/eventsource/eventsource-events-after-close.html: Added.
16:53 Changeset [121194] by dpranke@chromium.org

remove support for chromium vista from tools
https://bugs.webkit.org/show_bug.cgi?id=89915

Reviewed by Tony Chang.

Tools:

This change is all deleting code and updating tests to handle
the configuration being gone. All tests now pass except for a
few unittests for the flakiness dashboard which were failing
before this patch.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:

(BaselineOptimizerTest.test_complex_shadowing):

  • Scripts/webkitpy/layout_tests/port/builders.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort):

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

(ChromiumWinTest.test_versions):
(ChromiumWinTest.test_baseline_path):

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

(BuildCoverageExtrapolatorTest.test_extrapolate):

LayoutTests:

  • platform/chromium/TestExpectations:
16:28 Changeset [121193] by hclam@chromium.org

Unreviewed. Build fix.

Rebaseline layout test expectations from r121179.

  • platform/chromium-linux/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-win/compositing/reflections/animation-inside-reflection-expected.png:
16:15 Changeset [121192] by commit-queue@webkit.org

Fixing compilation failure in StyleResolver.cpp/CSSParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=89892

Patch by Mike West <mkwst@chromium.com> on 2012-06-25
Reviewed by Alexis Menard.

Adding CSSPropertyVariable to switch statements in CSSParser and
StyleResolver to fix compilation errors under ninja/clang. I've
added both as new cases to the switches, with FIXME comments for
implementation.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

16:03 Changeset [121191] by jcivelli@chromium.org

Fix for a memory leak with MHTMLArchives.

MHTML files present a flat list of frames and resources but the WebKit Archive
has a tree strcture. So the MHTMLArchive class make sures that every frame
knows about any other frames and resources.
Because these objects are ref counted, that would introduce circular references
preventing the entire Archive from being deleted.
This fixes this by:

  • making sure the top-frame (which appears as the first entry in the MHTML) is not referenced by the other frames.
  • when the main frame is deleted it traverse the entire subarchive (sub-frames) graph and makes sure they clear all their references to other subarchives.

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

Reviewed by Adam Barth.

  • loader/archive/Archive.cpp:

(WebCore::Archive::clearAllSubframeArchives):
(WebCore):
(WebCore::Archive::clearAllSubframeArchivesImpl):

  • loader/archive/Archive.h:

(Archive):

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::~MHTMLArchive):
(WebCore):
(WebCore::MHTMLArchive::create):

  • loader/archive/mhtml/MHTMLArchive.h:

(MHTMLArchive):

15:45 Changeset [121190] by hclam@chromium.org

Unreviewed, rolling out r121178.
http://trac.webkit.org/changeset/121178
https://bugs.webkit.org/show_bug.cgi?id=89784

New unit test added is failing on WebKit Linux (dbg)

Source/WebCore:

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
15:27 Changeset [121189] by hclam@chromium.org

Unreviewed, rolling out r121137.
http://trac.webkit.org/changeset/121137

Chromium build fix, (un)touch files to build on Chromium Win
Release

  • css/CSSParserMode.h:
  • css/CSSValue.h:

(WebCore):

  • css/CSSVariableValue.h:
  • page/Settings.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleVariableData.h:
15:25 Changeset [121188] by jonlee@apple.com

Mac bot gardening.
https://bugs.webkit.org/show_bug.cgi?id=89611

  • platform/mac-wk2/Skipped:
15:19 Changeset [121187] by hclam@chromium.org

Unreviewed, rolling out r121129.
http://trac.webkit.org/changeset/121129
https://bugs.webkit.org/show_bug.cgi?id=89542

Chromium ASan failure: crbug.com/134402

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/Settings.h:

(Settings):

  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/chromium:

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

(WebSettingsImpl):

LayoutTests:

  • fast/css/variables/border-width.html:
  • fast/css/variables/build-supports-variables-expected.txt: Removed.
  • fast/css/variables/build-supports-variables.html: Removed.
  • fast/css/variables/colors-test.html:
  • fast/css/variables/complex-cycle.html:
  • fast/css/variables/computed-style.html:
  • fast/css/variables/inherited-values.html:
  • fast/css/variables/inline-styles.html:
  • fast/css/variables/invalid-shorthand.html:
  • fast/css/variables/invalid-variable-value.html:
  • fast/css/variables/multi-level-cycle.html:
  • fast/css/variables/redefinition.html:
  • fast/css/variables/shorthand.html:
  • fast/css/variables/simple-cycle.html:
  • fast/css/variables/transform-test.html:
  • fast/css/variables/undefined.html:
  • fast/css/variables/use-before-defined.html:
  • fast/css/variables/var-inside-shorthand.html:
  • fast/css/variables/variable-chain.html:
15:13 Changeset [121186] by hclam@chromium.org

Roll Chromium DEPS to r144020
https://bugs.webkit.org/show_bug.cgi?id=89912

Build fixed now! Unreviewed.

Rolled DEPS to fix chromium build.
Patch by Scott Graham <scottmg@chromium.org>.

  • DEPS:
15:09 Changeset [121185] by commit-queue@webkit.org

IndexedDB: Stub out new onSuccess() handler for chromium
https://bugs.webkit.org/show_bug.cgi?id=89895

This is the chromium side of a refactor which will
introduce an onSuccess() method which includes the raw
SerializedScriptValue to the frontend, so the primaryKey
injection can happen in the front end, rather than
the V8 helper process.

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-25
Reviewed by Darin Fisher.

  • public/WebIDBCallbacks.h:

(WebKit):
(WebKit::WebIDBCallbacks::onSuccess):

  • src/IDBCallbacksProxy.cpp:

(WebKit::IDBCallbacksProxy::onSuccess):

  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

  • src/WebIDBCallbacksImpl.cpp:

(WebKit::WebIDBCallbacksImpl::onSuccess):
(WebKit):

  • src/WebIDBCallbacksImpl.h:

(WebIDBCallbacksImpl):

15:01 Changeset [121184] by abarth@webkit.org

Use InterpolationLow on chromium-android
https://bugs.webkit.org/show_bug.cgi?id=89849

Reviewed by Daniel Bates.

Source/WebCore:

Min Qin writes:

Using InterpolationHigh is very very expensive when resampling
images. For example, it took 1400ms to decode an image on
http://www.crossfitsunnyvale.com/blog/, but it took 2800 ms to do the
resampling Switch to InterpolationLow will result in linear
resampling. It is much faster as the time it tooks is almost
non-noticable [sic] on the trace.

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::State::State):

Source/WTF:

Introduce a USE macro to control image interpolation quality.

  • wtf/Platform.h:
14:57 Changeset [121183] by jsbell@chromium.org

IndexedDB: Remove unused backend property accessors
https://bugs.webkit.org/show_bug.cgi?id=89893

Reviewed by Darin Fisher.

Source/WebCore:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
the IDBXXXBackendInterface types no longer need per-property accessors.

No new tests - no functional changes.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Remove method implementation.
  • Modules/indexeddb/IDBDatabaseBackendImpl.h: Remove methods.

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h: Remove methods.

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBIndexBackendImpl.h: Make methods simple accessors.

(IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
(WebCore::IDBIndexBackendImpl::multiEntry):

  • Modules/indexeddb/IDBIndexBackendInterface.h: Remove methods.
  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Remove method implementation.
  • Modules/indexeddb/IDBObjectStoreBackendImpl.h: Make methods simple accessors.

(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):

  • Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove methods.

Source/WebKit/chromium:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
per-property accessors can be removed from the Chromium WebKit API.

  • src/WebIDBDatabaseImpl.cpp: Removed name, version, objectStoreNames.
  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

  • src/WebIDBIndexImpl.cpp: Removed name, keyPath, unique, multiEntry.
  • src/WebIDBIndexImpl.h:

(WebIDBIndexImpl):

  • src/WebIDBObjectStoreImpl.cpp: Removed name, keyPath, autoIncrement, indexNames.
  • src/WebIDBObjectStoreImpl.h:

(WebIDBObjectStoreImpl):

14:45 Changeset [121182] by commit-queue@webkit.org

Add layout tests for audio codecs
https://bugs.webkit.org/show_bug.cgi?id=88794

Patch by Raymond Toy <rtoy@google.com> on 2012-06-25
Reviewed by Chris Rogers.

New tests and expected results

  • webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/aac/vbr-128kbps-44khz.html: Added.
  • webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/mp3/128kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-96kbps-44khz.html: Added.
  • webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
  • webaudio/codec-tests/wav/24bit-22khz-resample.html: Added.
  • webaudio/codec-tests/wav/24bit-44khz-expected.wav: Added.
  • webaudio/codec-tests/wav/24bit-44khz.html: Added.
  • webaudio/resources/audio-codec-test.js: Added.

(runDecodingTest):
(finishedLoading):

Media files for the tests

  • webaudio/resources/media/128kbps-44khz.mp3: Added.
  • webaudio/resources/media/24bit-22khz.wav: Added.
  • webaudio/resources/media/24bit-44khz.wav: Added.
  • webaudio/resources/media/vbr-128kbps-44khz.m4a: Added.
  • webaudio/resources/media/vbr-128kbps-44khz.ogg: Added.
  • webaudio/resources/media/vbr-70kbps-44khz.ogg: Added.
  • webaudio/resources/media/vbr-96kbps-44khz.ogg: Added.

Platform-specific expected results

  • platform/chromium-linux/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-linux/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-linux/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
  • platform/chromium-mac/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-mac/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.

New test expectations

  • platform/chromium/TestExpectations: Disable aac/mp3 tests until bots have support.
  • platform/efl/TestExpectations: Disable all webaudio codec tests
  • platform/gtk/TestExpectations: Disable all webaudio codec tests
  • platform/mac/TestExpectations: Disable all webaudio codec tests
  • platform/qt/TestExpectations: Disable all webaudio codec tests
14:31 Changeset [121181] by hclam@chromium.org

[Chromium] add empty impl of WebThemeEngine::getSize() for DRT
https://bugs.webkit.org/show_bug.cgi?id=89907

Not reviewed. Fix build in Chromium.

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25

  • DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:

(WebThemeEngineDRTWin::getSize):

  • DumpRenderTree/chromium/WebThemeEngineDRTWin.h:

(WebThemeEngineDRTWin):

14:26 Changeset [121180] by commit-queue@webkit.org

[EFL] Add support for building with ENABLE_MEDIA_STREAM
https://bugs.webkit.org/show_bug.cgi?id=88413

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-25
Reviewed by Dirk Pranke.

Add files which are needed for supporting the Media Stream
feature.

No change in functionality so no new tests.

  • PlatformEfl.cmake:
14:18 Changeset [121179] by commit-queue@webkit.org

[Texmap] TextureMapperPaintOptions should keep current surface.
https://bugs.webkit.org/show_bug.cgi?id=89266

Source/WebCore:

Before this patch, if a replica layer has a descendant replica child, the child
layer does not render the result in the parent layer's surface because
TextureMapperPaintOptions does not keep current surface.
This patch amends that TextureMapperPaintOptions keeps current surface before
calling paintSelfAndChildrenWithReplica recursively, so previous surface could be
restored after paintSelfAndChildrenWithReplica.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

Test: compositing/reflections/animation-inside-reflection.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintRecursive):

LayoutTests:

Add a opacity property to two div layers in animation-insiVde-reflection
test.
Texmap has a bug when a transparent reflection layer has another
transparent reflection layer, so two reflection layer in
animation-inside-reflection test have opacity in order to cover Texmap's
bug.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

  • compositing/reflections/animation-inside-reflection.html:
  • platform/chromium-linux/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-leopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-win/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/efl/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/qt/compositing/reflections/animation-inside-reflection-expected.png: Added.
  • platform/qt/compositing/reflections/animation-inside-reflection-expected.txt: Added.
13:19 Changeset [121178] by commit-queue@webkit.org

[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
13:14 Changeset [121177] by kareng@chromium.org

Merge 120881 - Perform hit-test from correct frame in isRectTopmost()
https://bugs.webkit.org/show_bug.cgi?id=89492

Patch by Raymes Khoury <raymes@chromium.org> on 2012-06-20
Reviewed by Levi Weintraub.

Hit-testing was being performed from the main frame, which gave the
incorrect result if the plugin was in a different frame.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::isRectTopmost):

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10656025

12:47 Changeset [121176] by commit-queue@webkit.org

Source/Platform: Plumb Scrollbar button dimensions through WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

  • chromium/public/win/WebThemeEngine.h:

(WebKit):
(WebThemeEngine):

Source/WebCore: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

No new tests, as bounds are overridden for DRT.

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::buttonSize):

Source/WebKit/chromium: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getThemePartSize):
(WebCore):

12:33 Changeset [121175] by antti@apple.com

Fast path for simple transform parsing
https://bugs.webkit.org/show_bug.cgi?id=89898

Reviewed by Anders Carlsson.

When manipulating transforms using script, the transform value parsing can show up in profiles pretty heavily
(up 4% in some cases). We can optimize it easily by implementing a fast path that does not spin up the full CSS
parser, like we already do for several other common value types.

The patch implements a fast path for transform(), transformX/Y/Z() and transform3D(). It speeds up parsing by >5x.

  • css/CSSParser.cpp:

(WebCore):
(WebCore::parseTransformArguments):
(WebCore::parseTransformValue):
(WebCore::CSSParser::parseValue):

12:04 Changeset [121174] by commit-queue@webkit.org

Remove unused static function shadowFor
https://bugs.webkit.org/show_bug.cgi?id=89824

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

shadowFor is not used anymore after r117796. No behaviour changes.

  • dom/TreeScopeAdopter.cpp:
11:56 Changeset [121173] by commit-queue@webkit.org

Remove unused constant timeWithoutMouseMovementBeforeHidingControls
https://bugs.webkit.org/show_bug.cgi?id=89823

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

After r87692, timeWithoutMouseMovementBeforeHidingControls is not used anymore.

  • html/HTMLMediaElement.cpp:

(WebCore):

11:49 Changeset [121172] by commit-queue@webkit.org

[Chromium] RenderPass textures are evicted at the end of every frame
https://bugs.webkit.org/show_bug.cgi?id=89786

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-25
Reviewed by Adrienne Walker.

Source/WebCore:

Removed calls to TextureManager::reduceMemoryToLimit inside
finishDrawingFrame() method.

Added unit tests to verify new behavior.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::finishDrawingFrame):

Source/WebKit/chromium:

Added unit tests to verify large textures are staying in memory
and available for render pass optimization.

  • tests/CCLayerTreeHostImplTest.cpp:
11:05 Changeset [121171] by jonlee@apple.com

Missing implementation of textInputController.setComposition() causes bot redness
https://bugs.webkit.org/show_bug.cgi?id=89845

  • platform/mac/Skipped: Skip fast/forms/input-set-composition-scroll.html
11:01 Changeset [121170] by gyuyoung.kim@samsung.com

[EFL] Implement Network Information API
https://bugs.webkit.org/show_bug.cgi?id=87067

Reviewed by Kenneth Rohde Christiansen.

.:

  • Source/cmake/FindEFL.cmake: Find eeze library in build system.

Source/WebKit:

  • PlatformEfl.cmake: Add dependency of eeze library.

Source/WebKit/efl:

Implement NetworkInfoClientEfl.cpp using eeze library. However, this patch only
supports this feature on ethernet interface.

  • WebCoreSupport/NetworkInfoClientEfl.cpp:

(WebCore):
(WebCore::NetworkInfoClientEfl::NetworkInfoClientEfl):
(WebCore::NetworkInfoClientEfl::startUpdating):
(WebCore::NetworkInfoClientEfl::stopUpdating):
(WebCore::NetworkInfoClientEfl::bandwidth):
(WebCore::NetworkInfoClientEfl::metered):

  • WebCoreSupport/NetworkInfoClientEfl.h:

(NetworkInfoClientEfl):

Tools:

  • efl/jhbuild.modules: Add eeze library dependency.
10:47 Changeset [121169] by commit-queue@webkit.org

[GTK] Add graphviz debug output for the gstreamer video pipeline.
https://bugs.webkit.org/show_bug.cgi?id=89660

Patch by Allan Xavier <allan.xavier@undefinedltd.co.uk> on 2012-06-25
Reviewed by Martin Robinson.

Dump the current video pipeline as a graphviz DOT file when the
pipeline state changes or when an error occours.

No new tests as the change is only useful for debugging.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

10:43 Changeset [121168] by lforschler@apple.com

Merged r121138 -> <rdar://problem/11686974>

10:41 Changeset [121167] by lforschler@apple.com

Merged r121113 -> <rdar://problem/11686974>

10:39 Changeset [121166] by abarth@webkit.org

ASSERT(m_wheelEventHandlerCount > 0) can fire
https://bugs.webkit.org/show_bug.cgi?id=89856

Reviewed by Eric Seidel.

Source/WebCore:

When a node with a wheel or a touch event is moved from one document to
another, the didAddMumble/didRemoveMumble calls do not balance because
they're called on different documents. This patch twiddles the counts
appropriately in that case.

Test: fast/events/move-element-with-wheel-and-touch-event-listeners.html

  • dom/EventNames.h:

(WebCore::EventNames::isTouchEventType):
(EventNames):
(WebCore::EventNames::touchEventNames):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):

LayoutTests:

Test what happens when we move a node with wheel and/or touch events
from one document to another. Prior to this patch, this test triggers
ASSERT(m_wheelEventHandlerCount > 0) in Document.cpp.

  • fast/events/move-element-with-wheel-and-touch-event-listeners-expected.txt: Added.
  • fast/events/move-element-with-wheel-and-touch-event-listeners.html: Added.
10:38 Changeset [121165] by lforschler@apple.com

Rollout r121034 -> <rdar://problem/11718988>

10:36 Changeset [121164] by eric@webkit.org

Split map* functions out of StyleResolver into a helper object
https://bugs.webkit.org/show_bug.cgi?id=89881

Reviewed by Daniel Bates.

These map* functions are completely independent of the rest of StyleResolver
and only exist to serve StyleBuilder.
CSSToStyleMap doesn't even want to have a StyleResolver pointer, but
currently needs one to access the resolve-lifetime caches for the
current resolve. Once we split out that per-resolve state into
some sort of ResolveState/ResolveInfo object (akin to PaintInfo/LayoutState)
then this object will be even simpler.

No behavioral change, thus no tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSToStyleMap.cpp: Added.

(WebCore):
(WebCore::CSSToStyleMap::style):
(WebCore::CSSToStyleMap::rootElementStyle):
(WebCore::CSSToStyleMap::useSVGZoomRules):
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillImage):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImage):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):

  • css/CSSToStyleMap.h: Added.

(WebCore):
(CSSToStyleMap):
(WebCore::CSSToStyleMap::CSSToStyleMap):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyBorderImage::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore):
(WebCore::ApplyPropertyAnimation::map):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(WebCore::StyleResolver::styleMap):
(StyleResolver):

10:14 Changeset [121163] by gyuyoung.kim@samsung.com

[EFL] Support screenDepth() functionality.
https://bugs.webkit.org/show_bug.cgi?id=89423

Reviewed by Kenneth Rohde Christiansen.

Support screenDepth() based on ecore_x_window_depth_get(). This functionality may be used by
both WebKit1 and WebKit2. So, concrete function is placed into EflScreenUtilities.cpp.

This patch can't support existing test cases. Because, EFL DumpRenderTree works without X11 window
by default.

  • platform/efl/EflScreenUtilities.cpp:

(WebCore::getPixelDepth):
(WebCore):

  • platform/efl/EflScreenUtilities.h:

(WebCore):

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):

09:59 Changeset [121162] by shinyak@chromium.org

[Shadow] Executing Italic and InsertUnorderedList in Shadow DOM causes a crash
https://bugs.webkit.org/show_bug.cgi?id=88495

Reviewed by Ryosuke Niwa.

Source/WebCore:

InsertionPoint::removedFrom(insertionPoint) tries to find its owner ElementShadow from
parentNode or insertionPoint. If the parent node exsits but we cannot reach ElementShadow from
the parent node, InsertionPoint::removedFrom does not try to find ElementShadow anymore.

It's OK if the ElementShadow is being destructed, but there is a case ElementShadow is not being
destructed in editing. In this case, we should try to find ElementShadow from insertionPoint.
Otherwise it will bring inconsistency to Shadow DOM, and causes a crash.

Actually checking the existence of parentNode() does not make any sense. We should get
shadowRoot() directly.

Test: editing/shadow/insertorderedlist-crash.html

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::removedFrom):

LayoutTests:

  • editing/shadow/insertorderedlist-crash-expected.txt: Added.
  • editing/shadow/insertorderedlist-crash.html: Added.
09:56 Changeset [121161] by kinuko@chromium.org

Remove responseBlob field from XMLHttpResponse.idl
https://bugs.webkit.org/show_bug.cgi?id=89859

Reviewed by Eric Seidel.

Remove XMLHttpResponse.responseBlob from XMLHttpResponse.idl, which
has only been exposed for a very limited time (since r120574) but
probably should not have been done so since XHR2 spec no longer has
the field. A quick search also showed that no one seems to be using the field.

(More context: the field was added long time ago with a runtime guard
which had never been enabled until the guard was removed in r120574
to remove XHR_RESPONSE_BLOB on all platforms.)

No new tests as no tests use this field.

  • xml/XMLHttpRequest.idl: Removed responseBlob field.
09:30 Changeset [121160] by kinuko@chromium.org

Heap-use-after-free in WebKit::MainThreadFileSystemCallbacks
https://bugs.webkit.org/show_bug.cgi?id=87019

Reviewed by David Levin.

Should not access the CallbacksBridge's member field after it's freed.

  • src/WorkerFileSystemCallbacksBridge.cpp:

(WebKit::WorkerFileSystemCallbacksBridge::cleanUpAfterCallback):

08:40 Changeset [121159] by commit-queue@webkit.org

Add static qualifier to GraphicsContext3D::extractImageData.
https://bugs.webkit.org/show_bug.cgi?id=89866

GraphicsContext3D::extractImageData does not use member variables.
Each platform Accelerated-compositing implementation can use this method in
order to get pixel data of an Image or ImageBuffer object.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests since there's no change on code behavior.

  • platform/graphics/GraphicsContext3D.h:

(GraphicsContext3D):

08:27 Changeset [121158] by commit-queue@webkit.org

[BlackBerry] Use AIR controls if client doesn't support HTML control
https://bugs.webkit.org/show_bug.cgi?id=89777

Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-25
Reviewed by Yong Li.

Currently HTML controls depend on client implementing CreateWindow event, for those clients
that don't implement CreateWindow event, use old AIR controls so we don't break them.

PR 163818.

Internal reviewed by Mike Fenton.

  • Api/WebPageClient.h:
  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::openPagePopup):

  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest):

  • WebCoreSupport/PagePopupBlackBerry.h:

(PagePopupBlackBerry):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::openSelectPopup):

08:14 Changeset [121157] by commit-queue@webkit.org

[Qt] Unskip 3D transform tests.
https://bugs.webkit.org/show_bug.cgi?id=89878

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-25
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk2/Skipped:
  • platform/qt/Skipped:
07:36 Changeset [121156] by pfeldman@chromium.org

Web Inspector: toggling style should not start property edit first.
https://bugs.webkit.org/show_bug.cgi?id=89834

Reviewed by Yury Semikhatsky.

Source/WebCore:

Otherwise property flickers upon toggling.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype):

LayoutTests:

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles):
(initialize_ElementTest.InspectorTest.toggleStylePropertyEnabled):

  • inspector/styles/styles-disable-inherited.html:
  • inspector/styles/styles-disable-then-change.html:
  • inspector/styles/styles-disable-then-delete.html:
  • inspector/styles/styles-disable-then-enable.html:
  • inspector/styles/undo-property-toggle.html:
07:30 Changeset [121155] by rwlbuis@webkit.org

[BlackBerry] Require text editable element to be enabled for VKB
https://bugs.webkit.org/show_bug.cgi?id=89876

Reviewed by Yong Li.

After bug 58837 got in, children of <fieldset> now can inherit the disabled
state of the fieldset. When trying for instance fast/forms/fieldset/fieldset-disabled.html,
it can be seen that when they are visually disabled, the input handling can still be triggered. So
add an extra check to isTextBasedContentEditableElement that the element is enabled.

Reviewed internally by Mike Fenton.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):

07:26 Changeset [121154] by apavlov@chromium.org

Web Inspector: "Emulate Touch Events" breaks selecting elements with "touchstart" event listeners for inspection.
https://bugs.webkit.org/show_bug.cgi?id=89861

Reviewed by Vsevolod Vlasov.

Upon a mousepress, Inspector should be queried for the "Inspect element" mode up-front,
before dispatching a synthetic "touchstart" event.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

06:42 Changeset [121153] by carlosgc@webkit.org

Tagging the WebKitGTK+ 1.9.4 release

06:39 WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
06:38 Changeset [121152] by carlosgc@webkit.org

Unreviewed. Update NEWS and configure.ac for 1.9.4 release

.:

  • configure.ac: Bump version number.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.9.4.
06:16 Changeset [121151] by commit-queue@webkit.org

[WK2][Qt][EFL] Move LayerBackingStore into common directory
https://bugs.webkit.org/show_bug.cgi?id=89838

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-25
Reviewed by Noam Rosenthal.

Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.

  • Target.pri:
  • UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.

(WebKit):
(WebKit::LayerBackingStoreTile::swapBuffers):
(WebKit::LayerBackingStoreTile::setBackBuffer):
(WebKit::LayerBackingStore::createTile):
(WebKit::LayerBackingStore::removeTile):
(WebKit::LayerBackingStore::updateTile):
(WebKit::LayerBackingStore::texture):
(WebKit::LayerBackingStore::paintToTextureMapper):
(WebKit::LayerBackingStore::commitTileOperations):

  • UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.

(WebKit):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::scale):
(LayerBackingStore):
(WebKit::LayerBackingStore::create):
(WebKit::LayerBackingStore::LayerBackingStore):

05:41 Changeset [121150] by apavlov@chromium.org

Web Inspector: [Styles] Cannot visually set caret before the first CSS property name character
https://bugs.webkit.org/show_bug.cgi?id=89869

Reviewed by Vsevolod Vlasov.

The issue was due to the "editbox" SPAN having a negative margin, thus the leftmost caret position was getting clipped
by a synthetic SPAN container added by the TextPrompt.

  • inspector/front-end/elementsPanel.css:

(.styles-section .properties > li.child-editing .webkit-css-property):
(.styles-section .properties li.child-editing):

05:09 Changeset [121149] by arko@motorola.com

Microdata: document.getItems(typeNames) is not returning Microdata items when typeNames argument is not specified.
https://bugs.webkit.org/show_bug.cgi?id=89757

Reviewed by Ryosuke Niwa.

With r120979 change, it creates MicroDataItemList with m_typeNames = "http://webkit.org/microdata/undefinedItemType",
when typeNames argument is not specified. Modified the check in nodeMatches() accordingly.

This fixes the following failing tests :

fast/dom/MicroData/002.html
fast/dom/MicroData/003.html
fast/dom/MicroData/007.html
fast/dom/MicroData/009.html
fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html

  • dom/Document.cpp:

(WebCore::Document::getItems): Use undefinedItemType to avoid String conversion.

  • dom/MicroDataItemList.cpp:

(WebCore::MicroDataItemList::undefinedItemType): It defines "http://webkit.org/microdata/undefinedItemType"
string using DEFINE_STATIC_LOCAL to avoid String conversion.
(WebCore::MicroDataItemList::MicroDataItemList): Use document() method of DynamicNodeList to obtain
document of owner element.
(WebCore::MicroDataItemList::~MicroDataItemList): Removed originalTypeNames null check.
(WebCore::MicroDataItemList::nodeMatches): Return true if originalTypeNames is equal to undefinedItemType.

  • dom/MicroDataItemList.h:
04:55 Changeset [121148] by carlosgc@webkit.org

Unreviewed. Fix make distcheck.

  • GNUmakefile.list.am: Add missing header file.
04:21 Changeset [121147] by hausmann@webkit.org

[Qt] Fix Win32 debug build

Reviewed by Tor Arne Vestbø.

Source/WebCore:

Consistently use use_all_in_one_files when requested in the configuration. The previous
Linux condition has been moved to Tools/qmake/mkspecs/features/unix/default_pre.prf

  • Target.pri:

Tools:

Consolidate use_all_in_one_files into mac/unix/win32 default_pre.prf.

  • qmake/mkspecs/features/unix/default_pre.prf:
  • qmake/mkspecs/features/win32/default_pre.prf: Added.
03:31 Changeset [121146] by pdr@google.com

Fix rewinding of SVG animations
https://bugs.webkit.org/show_bug.cgi?id=89846

Reviewed by Nikolas Zimmermann.

Source/WebCore:

r116451 introduced an optimization to only clear non-freeze animations when
calling setCurrentTime (via reset()). This causes fill=freeze animations to
not clear which breaks rewinding of an animation.

In the presence of multiple animations, we reset the first animation to the
base value and accumulate all results into that; this masked the problem because
2 animations were required to hit the bug (our tests primarily cover just 1).

Test: svg/animations/animate-reset-freeze.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::reset):

LayoutTests:

  • svg/animations/animate-reset-freeze-expected.txt: Added.
  • svg/animations/animate-reset-freeze.html: Added.
02:43 Changeset [121145] by tkent@chromium.org

Change the serialization format of form control state to make the code simple
https://bugs.webkit.org/show_bug.cgi?id=89847

Reviewed by Hajime Morita.

Source/WebCore:

We used multiple strings to represent state of single form control. It
made the code complex. We change the serialization format so that one
CSV string represents state.

Examples in the old format:

"0"
"1", "value"
"3", "value1", "value2,value2", "value3"

Examples in the new format:

""
",value"
",value1,value2\,value2,value3"

Test: fast/forms/state-restore-various-values.html

  • html/FormController.cpp:

(WebCore::FormControlState::serialize):
Generate comma-separated string.
',' in a value is serialized as "\,".
We changed the signature because we don't need the out-argument.
(WebCore::FormControlState::deserialize):
Parses the input comma-separated string.
We changed the signature because we don't need multiple input strings.
(formStateSignature):
Bump up the version because of the representation change.
(WebCore::FormController::formElementsState):
The new serialized format occupies just one string for one control.

  • Expected size is now 3n+1.
  • Use FormControlState::serialize().

(WebCore::FormController::setStateForNewFormElements):
The new serialized format occupies just one string for one control.
So we can check the vector size before the iteration.

  • html/FormController.h:

(FormControlState): Change the function signatures.

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::addJavaScriptString): Use StringBuilder::appendEscaped().

Source/WTF:

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::appendEscaped): Added. This function adds the
escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
special=',', the appended string is foo\,bar.

LayoutTests:

  • fast/forms/state-restore-broken-state-expected.txt:

Apply the serialization format change.

  • fast/forms/state-restore-various-values-expected.txt: Added.
  • fast/forms/state-restore-various-values.html: Added.
02:26 Changeset [121144] by yurys@chromium.org

Web Inspector: add external resources size to the native memory diagram
https://bugs.webkit.org/show_bug.cgi?id=89754

Reviewed by Vsevolod Vlasov.

Size of external strings and arrays is now reported through the inspector
protocol and displayed on the native memory chart.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptProfiler.h:

(WebCore):
(WebCore::ScriptProfiler::visitJSDOMWrappers):
(WebCore::ScriptProfiler::visitExternalJSStrings):
(WebCore::ScriptProfiler::visitExternalJSArrays):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitJSDOMWrappers):
(WebCore::ScriptProfiler::visitExternalJSStrings):
(WebCore::ScriptProfiler::visitExternalJSArrays):
(WebCore):

  • bindings/v8/ScriptProfiler.h:

(WebCore):
(ScriptProfiler):

  • bindings/v8/V8Binding.cpp:

(WebCore::WebCoreStringResource::visitStrings):
(WebCore::V8BindingPerIsolateData::visitJSExternalStrings):

  • bindings/v8/V8Binding.h:

(WebCore):
(V8BindingPerIsolateData):

  • inspector/BindingVisitors.h: Renamed from Source/WebCore/inspector/DOMWrapperVisitor.h.

(WTF):
(WebCore):
(NodeWrapperVisitor):
(WebCore::NodeWrapperVisitor::~NodeWrapperVisitor):
(ExternalStringVisitor):
(WebCore::ExternalStringVisitor::~ExternalStringVisitor):
(ExternalArrayVisitor):
(WebCore::ExternalArrayVisitor::~ExternalArrayVisitor):

  • inspector/InspectorMemoryAgent.cpp:

(MemoryBlockName):
(WebCore):
(WebCore::jsExternalResourcesInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.MemoryBlockViewProperties._initialize):

01:42 Changeset [121143] by carlosgc@webkit.org

[GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
https://bugs.webkit.org/show_bug.cgi?id=89858

Reviewed by Xan Lopez.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewPermissionRequests): Make runtime warnings non-fatal
for test /webkit2/WebKitWebView/permission-requests.

00:18 Changeset [121142] by commit-queue@webkit.org

[GTK] Remove unused code in LayerTreeHostGtk.
https://bugs.webkit.org/show_bug.cgi?id=89854

LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
virtual float deviceScaleFactor() const;

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Martin Robinson.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(LayerTreeHostGtk):

00:02 Changeset [121141] by kkristof@inf.u-szeged.hu

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:

06/24/12:

23:34 Changeset [121140] by abarth@webkit.org

Remove USE(CHROMIUM_NET) because it is unused
https://bugs.webkit.org/show_bug.cgi?id=89850

Reviewed by Eric Seidel.

I didn't see any mentions of CHROMIUM_NET when I grepped the Source
directory. Also, this USE macro isn't defined on OS(DARWIN) or
OS(ANDROID), which seems a bit odd given that Chromium uses the same
network stack on all platforms.

  • wtf/Platform.h:
23:21 Changeset [121139] by kkristof@inf.u-szeged.hu

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:
22:08 Changeset [121138] by kling@webkit.org

REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>

Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
rather than didReceiveEvent().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::didReceiveKeyEvent):

21:33 Changeset [121137] by ukai@chromium.org

Unreviewed compile error fix of Chromium Win Release.
Touch header files for ENABLE(CSS_VARIABLES) so that
it forces to rebuild files by changing ENABLE(CSS_VARIABLES)
in Sources/WebKit/chromium/features.gypi at r121129

  • css/CSSParserMode.h:
  • css/CSSValue.h:

(WebCore):

  • css/CSSVariableValue.h:
  • page/Settings.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleVariableData.h:
20:40 Changeset [121136] by commit-queue@webkit.org

[Texmap] Minor cleanup for TextureMapper::accelerationMode()
https://bugs.webkit.org/show_bug.cgi?id=89825

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-06-24
Reviewed by Kenneth Rohde Christiansen.

Replace the virtual method with a simple member variable.

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::accelerationMode):
(WebCore::TextureMapper::TextureMapper):
(TextureMapper):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::TextureMapperGL):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperImageBuffer.h:

(WebCore::TextureMapperImageBuffer::TextureMapperImageBuffer):

20:32 Changeset [121135] by commit-queue@webkit.org

[Qt] Enable <input type="color"> support by default
https://bugs.webkit.org/show_bug.cgi?id=89653

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-24
Reviewed by Kenneth Rohde Christiansen.

This feature is complete for Qt WebKit2. Enabling by default
will help to mature the implementation.

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:
20:28 Changeset [121134] by commit-queue@webkit.org

[WK2][Qt][EFL] Modify Qt specific code to common code
https://bugs.webkit.org/show_bug.cgi?id=89839

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-24
Reviewed by Noam Rosenthal.

Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::paintToGraphicsContext):

20:25 Changeset [121133] by joone@webkit.org

Unreviewed GTK/EFL gardening after r121121.
Marked fast/forms/input-set-composition-scroll.html as known failure
tracked by the bug 89845.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
20:16 Changeset [121132] by mikelawther@chromium.org

CSS3 calc: transitions starting and ending with a calc expression move to end state
https://bugs.webkit.org/show_bug.cgi?id=89738

Reviewed by Tony Chang.

Source/WebCore:

The equality operator for CalculationValue was not working as expected. The
equality operator for OwnPtr is private, as OwnPtrs should always be different.
The OwnPtrs ended up getting cast to bool before being compared, and the
comparison was always returning true.

The comparison between OwnPtrs has been removed. It doesn't add value to compare
the raw pointers either, since OwnPtrs should always be unique. We cannot
ASSERT the uniqueness though, as it is legitimate to compare a CalculationValue
to itself.

Test: css3/calc/transition-start-end-with-calc.html

  • platform/CalculationValue.h:

(WebCore::CalculationValue::operator==):

LayoutTests:

  • css3/calc/transition-start-end-with-calc-expected.txt: Added.
  • css3/calc/transition-start-end-with-calc.html: Added.
19:25 Changeset [121131] by morrita@google.com

NodeRenderingContext::AttachingPhase is redundant.
https://bugs.webkit.org/show_bug.cgi?id=79220

Reviewed by Dimitri Glazkov.

This change removes NodeRenderingContext::AttachingPhase and
NodeRenderingContext::m_phase respectively. The state originally
represented as m_phase is naturally encoded into other member variables.

NodeRenderingContext::m_visualParentShadow is also replaced, with
a local variable parentScope.

Basically, what NodeRenderingContext wants to know is the parent of
the composed shadow tree and an optional insertion point where the
node is distributed. Once these becomes clear, m_phase is no longer required.
It was rather a historical artifact.

No new tests. No behavioral change.

  • dom/NodeRenderingContext.cpp: Replaced m_phase with implicit states.

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
(WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):

  • dom/NodeRenderingContext.h:

(NodeRenderingContext):
(WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle): Removed an assert which checks m_phase.
(WebCore::NodeRenderingContext::resetStyleInheritance): Removed an assert which checks m_phase.

  • html/shadow/InsertionPoint.h:

(WebCore::isInsertionPoint): Fix null case check.
(WebCore::isLowerEncapsulationBoundary): Renamed from isShadowBoundary()

19:14 Changeset [121130] by antti@apple.com

REGRESSION(r121124): LayoutTests/fast/block/inline-children-root-linebox-crash.html asserts
https://bugs.webkit.org/show_bug.cgi?id=89844

Reviewed by Dan Bernstein.

We need to check for the flipped writing mode and take the slow path if it is used.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::pushMappingsToAncestor):

19:03 Changeset [121129] by macpherson@chromium.org

Add runtime flag to enable/disable CSS variables (in addition to existing compile-time flag).
https://bugs.webkit.org/show_bug.cgi?id=89542

Reviewed by Dimitri Glazkov.

Source/WebCore:

Added fast/css/variables/build-supports-variables.html to test runtime flag in test environment.
Updated all other css variables tests to enable the runtime flag from JS.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::cssVariablesEnabled):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • page/Settings.h:

(Settings):
(WebCore::Settings::setCSSVariablesEnabled):
(WebCore::Settings::cssVariablesEnabled):

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setExperimentalCSSVariablesEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

18:47 Changeset [121128] by tkent@chromium.org

Selected option is not restored correctly
https://bugs.webkit.org/show_bug.cgi?id=89623

Reviewed by Hajime Morita.

Source/WebCore:

Details of the bug:
We saved a state of a <select> element as a string of which length was
the size of <select>'s children. e.g. If a <select> had five children
and the second and the fifth items were selected, the state string was:

".X..X"

This didn't work well if the structure of the children was updated after
parsing. For example,

  1. A page has the following <select> initially: <select multiple>

<option>Banana
<option>Lemon
<option>Orange
<option>Strawberry

<select>

  1. For some reasons, <option>Apple</option> is prepended to the children.
  2. Some items are selected.
  3. The page is unloaded. Selection state is saved.
  4. A user go back to the page again. A browser parses the page again.
  5. Try to restore the <select> state with the saved data at 4. But "Apple" is missing. The <select> has wrong selections.

Solution:
We save the state as a set of selected values. If "Banana" and
"Strawberry" are selected in the above <select>, we save two strings;
"Banana" and "Strawberry", not ".X..X".

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

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::saveFormControlState):
Store selected value strings to a FormControlState object.
(WebCore::HTMLSelectElement::searchOptionsForValue):
A helper function to find an <option> with the specified value.
(WebCore::HTMLSelectElement::restoreFormControlState):
Clear all of selections, then select options with saved values.
In order to avoid O(M x N) loop, we start searching at position we found
the previous value.

  • html/HTMLSelectElement.h: Declare searchOptionsForValue.
  • html/FormController.cpp:

(formStateSignature): Bump up the version because this is a incompatible
change.

LayoutTests:

  • fast/forms/select/select-state-restore-expected.txt: Added.
  • fast/forms/select/select-state-restore.html: Added.
18:46 Changeset [121127] by commit-queue@webkit.org

Add snap to css3-images image-resolution
https://bugs.webkit.org/show_bug.cgi?id=89745

Patch by David Barr <davidbarr@chromium.org> on 2012-06-24
Reviewed by Tony Chang.

Source/WebCore:

Due to floating point imprecision, it is difficult to be precise in dpcm.
So use PrimitiveValue::roundForImpreciseConversion rather than just floor.

No new tests; extended fast/css/image-resolution/image-resolution.html

  • css/CSSParser.cpp: Accept snap identifier in image-resolution property.

(WebCore::CSSParser::parseImageResolution): Map CSSValueSnap to identifier value from cssValuePool.

  • css/CSSValueKeywords.in: Add snap.
  • css/StyleBuilder.cpp: Extend ApplyPropertyImageResolution to apply RenderStyle::imageResolutionSnap.

(WebCore::ApplyPropertyImageResolution::applyInheritValue): Apply RenderStyle::imageResolutionSnap.
(WebCore::ApplyPropertyImageResolution::applyInitialValue): Apply RenderStyle::imageResolutionSnap.
(WebCore::ApplyPropertyImageResolution::applyValue): Map CSSValueSnap to ImageResolutionSnapPixels.

  • rendering/RenderImage.cpp: Extend conditions for recalculation of intrinsic size.

(WebCore::RenderImage::styleDidChange): Update intrinsic size if RenderStyle::imageResolutionSnap() has changed.
(WebCore::RenderImage::imageDimensionsChanged): Floor scale factor to int, round up if less than 0.01 away from ceiling.

  • rendering/style/RenderStyle.cpp: Include StyleRareInheritedData::m_imageResolutionSnap in style diff.

(WebCore::RenderStyle::diff): Map change in StyleRareInheritedData::m_imageResolutionSnap to StyleDifferenceLayout.

  • rendering/style/RenderStyle.h: Add RenderStyle::imageResolutionSnap, RenderStyle::setImageResolutionSnap, RenderStyle::initialImageResolutionSnap.
  • rendering/style/RenderStyleConstants.h: Add enum ImageResolutionSnap.
  • rendering/style/StyleRareInheritedData.cpp: Add StyleRareInheritedData::m_imageResolutionSnap.

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Add m_imageResolutionSnap to default and copy constructor.
(WebCore::StyleRareInheritedData::operator==): Include m_imageResolutionSnap in comparison.

  • rendering/style/StyleRareInheritedData.h: Add StyleRareInheritedData::m_imageResolutionSnap.

(StyleRareInheritedData): Add 1-bit field StyleRareInheritedData::m_imageResolutionSnap.

LayoutTests:

  • fast/css/image-resolution/image-resolution-expected.txt:
  • fast/css/image-resolution/image-resolution.html:
17:41 Changeset [121126] by commit-queue@webkit.org

Unreviewed, rolling out r121106.
http://trac.webkit.org/changeset/121106
https://bugs.webkit.org/show_bug.cgi?id=89841

Caused 85% performance regressions on Dromaeo/jslib-modify-
jquery.html (Requested by rniwa on #webkit).

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

  • dom/Document.cpp:

(WebCore::Document::clearNodeListCaches):

  • dom/Document.h:

(Document):

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):

  • dom/DynamicNodeList.h:

(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):

  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore):
(WebCore::NodeRareData::createNodeLists):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::adoptTreeScope):
(WebCore::NodeRareData::ensureNodeLists):
(NodeRareData):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):

  • dom/TreeScope.h:

(WebCore::TreeScope::addNodeListCache):
(WebCore::TreeScope::removeNodeListCache):
(WebCore::TreeScope::hasNodeListCaches):
(TreeScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::~RadioNodeList):

17:29 Changeset [121125] by abarth@webkit.org

Change the type of the second argument of FrameSelection::revealSelection to use RevealExtentOption
https://bugs.webkit.org/show_bug.cgi?id=89833

Reviewed by Ryosuke Niwa.

As requested by Ryosuke Niwa. Rare boolean parameters are hard to read.

  • WebCore.exp.in:
  • editing/Editor.cpp:

(WebCore::Editor::revealSelectionAfterEditingOperation):

  • editing/Editor.h:

(Editor):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::revealSelection):

  • editing/FrameSelection.h:
17:14 Changeset [121124] by antti@apple.com

Optimize RenderGeometryMap mappings gathering
https://bugs.webkit.org/show_bug.cgi?id=89828

Reviewed by Simon Fraser.

RenderGeometryMap currently gathers mappings by climbing the rendering tree. This is slow and can produce
large number of mapping steps. In the common case we already have the child layer coordinates available in
the layer tree and we can just use that.

The combination of faster mappings gathering and fewer number of applying steps reduces time spent under
RenderLayerCompositor::computeCompositingRequirements to less than half when scrolling the mobile version
of twitter.com.

  • rendering/RenderGeometryMap.cpp:

(WebCore):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

Use pre-computed mapping from the layer tree when possible.

(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:


Add some inline capacity.

(WebCore):
(RenderGeometryMap):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::canUseConvertToLayerCoords):
(RenderLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

17:11 Changeset [121123] by simon.fraser@apple.com

Rename isPositioned to isOutOfFlowPositioned for clarity
https://bugs.webkit.org/show_bug.cgi?id=89836

Reviewed by Antti Koivisto.

RenderObject and RenderStyle had an isPositioned() method that was
confusing, because it excluded relative positioning. Rename to
isOutOfFlowPositioned(), which makes it clearer that it only applies
to absolute and fixed positioning.

Simple rename; no behavior change.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getPositionOffsetValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • dom/Text.cpp:

(WebCore::Text::rendererIsNeeded):

  • editing/DeleteButtonController.cpp:

(WebCore::isDeletableElement):

  • editing/TextIterator.cpp:

(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

  • rendering/AutoTableLayout.cpp:

(WebCore::shouldScaleColumns):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::flipLinesInBlockDirection):
(WebCore::InlineFlowBox::computeOverflow):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/InlineIterator.h:

(WebCore::isIteratorTarget):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::addChildToContinuation):
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
(WebCore::RenderBlock::containingColumnsBlock):
(WebCore::RenderBlock::columnsBlockForSpanningElement):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::getInlineRun):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromBlockChildren):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
(WebCore::RenderBlock::handlePositionedChild):
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
(WebCore::isChildHitTestCandidate):
(WebCore::InlineMinMaxIterator::next):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::updateFirstLetter):
(WebCore::shouldCheckLines):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlock::adjustForBorderFit):
(WebCore::inNormalFlow):
(WebCore::RenderBlock::adjustLinePositionForPagination):
(WebCore::RenderBlock::adjustBlockChildForPagination):
(WebCore::RenderBlock::renderName):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::shouldSkipCreatingRunsForObject):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::setMarginsForRubyRun):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::requiresLineBox):
(WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateBoxModelInfoFromStyle):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::positionLineBox):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::renderBoxRegionInfo):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::percentageLogicalHeightIsResolvable):

  • rendering/RenderBox.h:

(WebCore::RenderBox::stretchesToViewport):
(WebCore::RenderBox::isDeprecatedFlexItem):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::requiresLayer):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::childDoesNotAffectWidthOrFlexing):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::renderName):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::findLegend):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::renderName):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore):
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::dirtyLineBoxes):

  • rendering/RenderLayer.cpp:

(WebCore::checkContainingBlockChainForPagination):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderListItem.cpp:

(WebCore::getParentOfFirstLineBox):

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::renderName):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::offsetParent):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isOutOfFlowPositioned):
(WebCore::RenderObject::isInFlowPositioned):
(WebCore::RenderObject::hasClip):
(WebCore::RenderObject::isFloatingOrOutOfFlowPositioned):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderReplaced.cpp:

(WebCore::hasAutoHeightOrContainingBlockWithAutoHeight):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::rubyText):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild):
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::layout):

  • rendering/style/RenderStyle.h:

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::isPositionedContainer):
(BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
(BlackBerry::WebKit::isFixedPositionedContainer):

Source/WebKit2:

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::updateOffsetFromViewportForSelf):

16:07 Changeset [121122] by mitz@apple.com

Made debug-{minibrowser,safari,test-runner} work with LLDB.

Reviewed by Sam Weinig.

  • Scripts/debug-minibrowser: Pass INCLUDE_OPTIONS_FOR_DEBUGGING to

printHelpAndExitForRunAndDebugWebKitAppIfNeeded().

  • Scripts/debug-safari: Ditto.
  • Scripts/debug-test-runner: Ditto.
  • Scripts/webkitdirs.pm:

(debugger): Added. Calls determineDebugger() if needed and returns the chosen debugger.
(determineDebugger): Added. Sets the debugger to "lldb" if the --use-lldb switch is present,
and to "gdb" otherwise.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Changed to print help for the
--target-web-process and --use-lldb switches if passed INCLUDE_OPTIONS_FOR_DEBUGGING.
(execMacWebKitAppForDebugging): Changed to use the chosen debugger.

14:44 Changeset [121121] by commit-queue@webkit.org

After Editor::setComposition is called, input should scroll to the end of the composition.
https://bugs.webkit.org/show_bug.cgi?id=88999

Patch by Oli Lan <olilan@chromium.org> on 2012-06-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

This fixes an issue where after a call to setComposition, the start of the composition is revealed
(scrolled to) instead of the end (where the caret/editing point should be).

The change is to allow revealSelectionAfterEditingOperation to take a revealExtent parameter,
and to pass that parameter as true when calling from setIgnoreCompositionSelectionChange, which is
called at the end of setComposition.

Test: fast/forms/input-set-composition-scroll.html

  • editing/Editor.cpp:

(WebCore::Editor::revealSelectionAfterEditingOperation):
(WebCore::Editor::setIgnoreCompositionSelectionChange):

  • editing/Editor.h:

(Editor):

LayoutTests:

This tests that after setComposition is called, the input scrolls to the end of the composition
(i.e. that the end of the selection/composition is revealed).

  • fast/forms/input-set-composition-scroll-expected.txt: Added.
  • fast/forms/input-set-composition-scroll.html: Added.
11:44 Changeset [121120] by abarth@webkit.org

The comment in test_expectations_android.txt is unclear as to the purpose of this file.
https://bugs.webkit.org/show_bug.cgi?id=89832

Reviewed by Ojan Vafai.

This patch attempts to clarify the purpose of this file and what will
happen to it in the future.

  • platform/chromium/test_expectations_android.txt:
10:25 Changeset [121119] by commit-queue@webkit.org

[EFL] Skip fast/text/hyphen-min-preferred-width.html
https://bugs.webkit.org/show_bug.cgi?id=89831

Unreviewed EFL gardening. Skip the auto-hyphenation added
in r121102 as the EFL port does not support the feature.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-24

  • platform/efl/TestExpectations:
09:29 Changeset [121118] by abarth@webkit.org

[Chromium] Release media resources after each LayoutTest on Android
https://bugs.webkit.org/show_bug.cgi?id=89720

Reviewed by Eric Carlson.

The LayoutTests can hang when run on Android because we sometimes run
out of media resources. This patch causes us to release our media
resources after each test in order to avoid running out of this
resource. In production, there are other mechanisms that manage this
resource.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::resetTestController):

08:26 WebKitGTK/WebKit2Roadmap edited by carlosgc@webkit.org
(diff)
08:06 Changeset [121117] by jsbell@chromium.org

Web Inspector: Simplify InspectorIndexedDBAgent to use IDB metadata API
https://bugs.webkit.org/show_bug.cgi?id=89495

Reviewed by Vsevolod Vlasov.

No new tests - no functional changes.

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

08:02 Changeset [121116] by joone@webkit.org

Unreviewed EFL gardening, generating baselines required after r121085.

  • platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt: Added.
04:30 Changeset [121115] by zandobersek@gmail.com

Unreviewed GTK gardening, generating baselines required after r121085.

  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt: Added.
04:26 Changeset [121114] by zandobersek@gmail.com

Unreviewed GTK gardening, move some flaky tests under the
proper section in the TestExpectations file and narrow down
test expectations for failures that were shown not to be flaky.

  • platform/gtk/TestExpectations:
01:15 Changeset [121113] by kling@webkit.org

REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>

Reviewed by Sam Weinig.

Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
invalidates the frame ID passed to DecidePolicyForNavigationAction.

This is a speculative fire-fighting fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveKeyEvent):
(WebKit::WebPageProxy::didReceiveEvent):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::keyEvent):

00:27 Changeset [121112] by pfeldman@chromium.org

Web Inspector: speed up Timeline and Elements panel rendering
https://bugs.webkit.org/show_bug.cgi?id=89771

Reviewed by Yury Semikhatsky.

I used timeline panel to find unnecessary style operations.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeElement.prototype.updateTitle):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._updateFrames):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype.onResize):
(WebInspector.TimelinePanel.prototype._onScroll):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype._adjustScrollPosition):

Note: See TracTimeline for information about the timeline view.