WebKit-https.git
6 years agoAdd a script to delete stale zero-byte build files
rniwa@webkit.org [Sat, 5 Jan 2013 08:20:09 +0000 (08:20 +0000)]
Add a script to delete stale zero-byte build files
https://bugs.webkit.org/show_bug.cgi?id=106131

Reviewed by Tony Chang.

Delete zero-byte build files on Mac port for now. It doesn't do anything on other ports.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DeleteStaleBuildFiles): Added.
(Factory.__init__): Add DeleteStaleBuildFiles step.
* BuildSlaveSupport/delete-stale-build-files: Added.
(main): Delete zero-byte files except ones intentionally generated by our build process.
(webkitBuildDirectory): Copied from build-product-archive.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138888 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Sat, 5 Jan 2013 07:36:55 +0000 (07:36 +0000)]
Unreviewed GTK gardening.

Adding failure expectations for two CSS Regions tests added in r138854.
Modifying a failure expectation for a CSS Image Set test that now times out after r138857.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138887 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a duplicate test expectation since the bug 106153 has been merged into the...
rniwa@webkit.org [Sat, 5 Jan 2013 03:58:36 +0000 (03:58 +0000)]
Remove a duplicate test expectation since the bug 106153 has been merged into the bug 106165.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138886 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a flaky failure expectation to a test added by r138834.
rniwa@webkit.org [Sat, 5 Jan 2013 03:55:12 +0000 (03:55 +0000)]
Add a flaky failure expectation to a test added by r138834.
The failure is tracked by the bug 106165.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138885 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. fast/ruby/base-shorter-than-text.html is failing on
tdanderson@chromium.org [Sat, 5 Jan 2013 03:53:49 +0000 (03:53 +0000)]
Unreviewed gardening. fast/ruby/base-shorter-than-text.html is failing on
Lion and MountainLion.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138884 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix failing API test.
weinig@apple.com [Sat, 5 Jan 2013 03:50:01 +0000 (03:50 +0000)]
Fix failing API test.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::initializeWebProcess):
The WebConnectionToUIProcess needs to be initialized before the injected bundle is,
so that if the user tries to use it, its there.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] Fix build error on GTK due to r138836
rniwa@webkit.org [Sat, 5 Jan 2013 03:20:41 +0000 (03:20 +0000)]
[GTK] Fix build error on GTK due to r138836
https://bugs.webkit.org/show_bug.cgi?id=106154

Patch by Michael Pruett <michael@68k.org> on 2013-01-04
Reviewed by Kentaro Hara.

* GNUmakefile.am:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConsolidate all the one time initialization functions into a single InitializeWebKit2...
weinig@apple.com [Sat, 5 Jan 2013 02:51:30 +0000 (02:51 +0000)]
Consolidate all the one time initialization functions into a single InitializeWebKit2() super function
https://bugs.webkit.org/show_bug.cgi?id=106161

Reviewed by Simon Fraser.

Adds InitializeWebKit2 and uses it.

* CMakeLists.txt:
* GNUmakefile.list.am:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* Shared/WebKit2Initialize.cpp: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
(WebKit::InitializeWebKit2):
* Shared/WebKit2Initialize.h: Copied from Source/WebKit2/NetworkProcess/mac/NetworkProcessInitialization.mm.
(WebKit):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* Target.pri:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoChromium windows compile fails because of the assertion in NodeRareData
rniwa@webkit.org [Sat, 5 Jan 2013 02:05:14 +0000 (02:05 +0000)]
Chromium windows compile fails because of the assertion in NodeRareData
https://bugs.webkit.org/show_bug.cgi?id=106149

Reviewed by Andreas Kling.

MSVC adds padding between bitfields of different types for better alignment.
Since we care more about the memory usage, use unsigned for all bitfields to work around this behavior.

* dom/NodeRareData.cpp:
(SameSizeAsNodeRareData):
(WebCore):
* dom/NodeRareData.h:
(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(NodeRareData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138879 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdated the exports file.
mitz@apple.com [Sat, 5 Jan 2013 01:59:27 +0000 (01:59 +0000)]
Updated the exports file.

Rubber-stamped by Andy Estes.

* WebCore.exp.in: Moved the DOMHTMLTableCellElement export out of the !PLATFORM(IOS) section.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138878 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate margin for label to 0
jonlee@apple.com [Sat, 5 Jan 2013 01:54:53 +0000 (01:54 +0000)]
Update margin for label to 0
https://bugs.webkit.org/show_bug.cgi?id=106152
<rdar://problem/12961387>

Reviewed by Brian Weinstein.

* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore): Change the margin constant from 10 to 0.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. Test is flaky on Linux and Mac.
tdanderson@chromium.org [Sat, 5 Jan 2013 01:53:16 +0000 (01:53 +0000)]
Unreviewed gardening. Test is flaky on Linux and Mac.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFollow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
weinig@apple.com [Sat, 5 Jan 2013 01:47:00 +0000 (01:47 +0000)]
Follow up to https://bugs.webkit.org/show_bug.cgi?id=106144, fixing some
of Alexey's review comments.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):
* Shared/ChildProcess.h:
(WebKit::ChildProcess::parentProcessConnection):
* SharedWorkerProcess/SharedWorkerProcess.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::addVisitedLink):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::getSitesWithPluginData):
(WebKit::WebProcess::clearPluginSiteData):
(WebKit::WebProcess::addPlugInAutoStartOrigin):
(WebKit::WebProcess::plugInDidReceiveUserInteraction):
(WebKit::WebProcess::getWebCoreStatistics):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a Mac test expectation for the test that has been intermittently failing on Mac...
rniwa@webkit.org [Sat, 5 Jan 2013 01:38:58 +0000 (01:38 +0000)]
Add a Mac test expectation for the test that has been intermittently failing on Mac Lion WebKit1.
The failure is tracked by the bug 106151.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRationalize exit site profiling for calls
fpizlo@apple.com [Sat, 5 Jan 2013 01:28:37 +0000 (01:28 +0000)]
Rationalize exit site profiling for calls
https://bugs.webkit.org/show_bug.cgi?id=106150

Reviewed by Sam Weinig.

This adds two new exit kinds for calls: BadFunction and BadExecutable. The latter is not used
yet, but is already integrated with profiling. CheckFunction uses a BadFunction speculation
instead of BadCache, now. This allows CallLinkStatus to turn itself into a closure call status
if we had a BadFunction exit site but the CallLinkInfo told us to use a non-closure call. This
might happen if we had call unlinking that led to information loss along the way.

No performance impact. This is meant as another step towards inlining closure calls.

* bytecode/CallLinkStatus.cpp:
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::setIsProved):
(JSC::CallLinkStatus::setHasBadFunctionExitSite):
(CallLinkStatus):
(JSC::CallLinkStatus::setHasBadCacheExitSite):
(JSC::CallLinkStatus::setHasBadExecutableExitSite):
* bytecode/ExitKind.cpp:
(JSC::exitKindToString):
* bytecode/ExitKind.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleCall):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138871 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove superfluous chromium test baselines for the test added by r138862 after r138869.
rniwa@webkit.org [Sat, 5 Jan 2013 01:26:42 +0000 (01:26 +0000)]
Remove superfluous chromium test baselines for the test added by r138862 after r138869.

* platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
* platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
* platform/chromium-mac-lion/fast/js: Removed.
* platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
* platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Removed.
* platform/chromium/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Copied from LayoutTests/platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138870 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. Adding new baselines for chromium.
tdanderson@chromium.org [Sat, 5 Jan 2013 01:21:07 +0000 (01:21 +0000)]
Unreviewed gardening. Adding new baselines for chromium.

* platform/chromium-linux-x86/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
* platform/chromium-linux/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
* platform/chromium-mac-lion/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
* platform/chromium-mac/fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138869 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConsolidate process initialization in ChildProcess
weinig@apple.com [Sat, 5 Jan 2013 01:19:30 +0000 (01:19 +0000)]
Consolidate process initialization in ChildProcess
https://bugs.webkit.org/show_bug.cgi?id=106144

Reviewed by Alexey Proskuryakov.

Consolidate more functionality down into ChildProcess.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
(WebKit::NetworkProcess::didReceiveSyncMessage):
(WebKit::NetworkProcess::downloadProxyConnection):
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/mac/NetworkProcessInitialization.h:
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
(WebKit::PluginProcess::createWebProcessConnection):
(WebKit::PluginProcess::getSitesWithData):
(WebKit::PluginProcess::clearSiteData):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeShim):
(WebKit::initializeCocoaOverrides):
(WebKit::PluginProcess::platformInitialize):
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessQt.cpp:
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializePluginProcess):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::ChildProcess):
(WebKit::watchdogCallback):
(WebKit::didCloseOnConnectionWorkQueue):
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeConnection):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::terminate):
* Shared/ChildProcess.h:
(ChildProcessInitializationParameters):
(ChildProcess):
(WebKit::ChildProcess::connection):
(WebKit::ChildProcess::destinationID):
(WebKit::ChildProcess::messageReceiverMap):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
(WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::downloadProxyConnection):
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::removeWebFrame):
(WebKit::WebProcess::initializeSandbox):
* WebProcess/WebProcess.h:
* WebProcess/efl/WebProcessMainEfl.cpp:
(WebKit::WebProcessMainEfl):
* WebProcess/gtk/WebProcessMainGtk.cpp:
(WebKit::WebProcessMainGtk):
* WebProcess/mac/WebProcessInitialization.h:
* WebProcess/mac/WebProcessInitialization.mm:
(WebKit::initializeWebProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitialize):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):
* WebProcess/qt/WebProcessMainQt.cpp:
(WebKit::WebProcessMainQt):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138868 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed cleanup. Remove media/track/ from Mac TestExpectations because
eric.carlson@apple.com [Sat, 5 Jan 2013 00:55:50 +0000 (00:55 +0000)]
Unreviewed cleanup. Remove media/track/ from Mac TestExpectations because
https://bugs.webkit.org/show_bug.cgi?id=105606 was fixed.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138867 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOptimize TransformationMatrix::multiply() for x86_64
benjamin@webkit.org [Sat, 5 Jan 2013 00:34:04 +0000 (00:34 +0000)]
Optimize TransformationMatrix::multiply() for x86_64
https://bugs.webkit.org/show_bug.cgi?id=105719

Reviewed by Sam Weinig.

On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
We can use that in two ways to optimize matrix multiplications:
-Keep the source matrix completely in registers. Write the result directly in
 the source matrix's memory. This avoids the memcpy at the end of the multiplication
 and various memory operations.
-Use SIMD with SSE to perform 2 operations at a time.

The parameter from the second matrix are loaded one by one in XMM registers.
Loading them with SSE then shuffling the values perform worse than loading
one by one.

This is only enabled on 64bits as x86 only has access to 8 XMM registers and
the function should be written differently.

On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.

* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::multiply):
* platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138866 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake private browsing work on Windows.
roger_fong@apple.com [Sat, 5 Jan 2013 00:18:50 +0000 (00:18 +0000)]
Make private browsing work on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106032.

Reviewed by Alexey Proskuryakov.

Code path never called ensurePrivateBrowsingSession which is what starts up the private browsing session.
This was causing many tests to involving private browsing to fail.

* WebView.cpp:
(WebView::notifyPreferencesChanged):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, fix Apple Win build following http://trac.webkit.org/changeset/138838
jsbell@chromium.org [Fri, 4 Jan 2013 23:57:44 +0000 (23:57 +0000)]
Unreviewed, fix Apple Win build following trac.webkit.org/changeset/138838
https://bugs.webkit.org/show_bug.cgi?id=105927

* WebCore.vcproj/WebCoreTestSupport.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHeap-use-after-free in WebCore::XMLDocumentParser::doEnd
inferno@chromium.org [Fri, 4 Jan 2013 23:47:58 +0000 (23:47 +0000)]
Heap-use-after-free in WebCore::XMLDocumentParser::doEnd
https://bugs.webkit.org/show_bug.cgi?id=100152

Reviewed by Adam Barth.

XMLDocumentParser can be blown away inside document()->styleResolverChanged()
call. Protect it with a local RefPtr in Document::explitClose.

No new tests. The site specific dependencies are hard to minimize.

* dom/Document.cpp:
(WebCore::Document::explicitClose): RefPtr m_parser into a local, since
it can be detached and nulled out in DocumentWriter::end().
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end): Bail out when we are detached.
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::doEnd): Bail out when we are detached.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138863 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDFG should not elide CheckStructure if it's needed to perform a cell check
fpizlo@apple.com [Fri, 4 Jan 2013 23:40:44 +0000 (23:40 +0000)]
DFG should not elide CheckStructure if it's needed to perform a cell check
https://bugs.webkit.org/show_bug.cgi?id=106074

Source/JavaScriptCore:

Reviewed by Ryosuke Niwa.

The problem here was that the constant folding phase was misinterpreting the meaning of the sets
in DFG::AbstractValue.  AbstractValue describes a constraint on the values that a variable (i.e.
a DFG Node, or a virtual register, i.e. local or argument) may have. It does so by containing
four sets: the set of JSValues (either empty, the singleton set containing one JSValue, or the
set of all JSValues); the set of "current known" structures, i.e. the set of structures that you
already know that this value may have right now (also either empty, the singleton set, or the set
of all structures); the set of "future possible" structures, i.e. the set of structures that this
value could have in the future if none of the structure transition watchpoints for those
structures had fired (also empty, singleton, or all); and the set of types, which is a
SpeculatedType bitmask. The correct way to interpret the sets is to think of the AbstractValue as
the intersection of these three sets of values:

- The set of JSValues that have a type that belongs to the m_type set.
- If m_value is not the empty value then: the set of all JSValues that are == m_value;
                                    else: the set of all JSValues.
  where '==' is as defined by JSValue::operator==.
- Union of { the set of all cells that have a structure that belongs to m_currentKnownStructure }
       and { the set of all JSValues that are not cells }.

You can then further intersect this set with the following set, if you guard the code with
watchpoints on all structures in the m_futurePossibleStructure:

- Union of { the set of all cells that have a structure that belongs to m_futurePossibleStructure }
       and { the set of all JSValues that are not cells }.

One way to think of this is that m_currentKnownStructure is filtered by m_futurePossibleStructure
(i.e. is set to the intersection of m_currentKnownStructure and m_futurePossibleStructure), if the
code for which you're doing this is always preceded by watchpoints on all structures in
m_futurePossibleStructure, and is always before any side-effects that could change the structures
of objects.

The incorrect optimization related to CheckStructure. CheckStructure checks that the value is a
cell, and that it has a particular structure. It was incorrectly assuming that you could eliminate
the CheckStructure, if m_currentKnownStructure contained the structure that CheckStructure was
checking. But this is not the case, since m_currentKnownStructure does not prove that the value is
a cell with a particular structure; it only proves that if the value was a cell then it would have
a particular structure. Hence, to eliminate CheckStructure, it is also necessary to check that
AbstractValue::m_type contains only cells (i.e. isCellSpeculation(m_type) == true).

It wasn't doing that, and this changes makes sure that it does do that.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

LayoutTests:

Reviewed by Ryosuke Niwa.

* fast/js/dfg-check-structure-elimination-for-non-cell-expected.txt: Added.
* fast/js/dfg-check-structure-elimination-for-non-cell.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-check-structure-elimination-for-non-cell.js: Added.
(foo):
(bar):
(baz):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. Temporarily skipping three tests
tdanderson@chromium.org [Fri, 4 Jan 2013 23:39:50 +0000 (23:39 +0000)]
Unreviewed gardening. Temporarily skipping three tests
in webaudio/codec-tests/vorbis because they need a
special rebaseline.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138861 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r138394): platform/mac/accessibility/file-upload-button-subrole.html is...
rniwa@webkit.org [Fri, 4 Jan 2013 23:36:09 +0000 (23:36 +0000)]
REGRESSION(r138394): platform/mac/accessibility/file-upload-button-subrole.html is failing
https://bugs.webkit.org/show_bug.cgi?id=105778

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Rename "file upload" to "file upload button".

* English.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:

LayoutTests:

Removed the old test expectations.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Remove WebWidget::layerTreeView(), ownership is the other way around
jamesr@google.com [Fri, 4 Jan 2013 23:21:00 +0000 (23:21 +0000)]
[chromium] Remove WebWidget::layerTreeView(), ownership is the other way around
https://bugs.webkit.org/show_bug.cgi?id=106139

Reviewed by Adrienne Walker.

This was added with the thought that it would be useful for transitioning code for a world where the
WebLayerTreeView for a given widget was owned by the WebWidgetClient instead of the WebWidget, but as it turns
out we've transitioned without every adding any callers to this.

* public/WebWidget.h:
(WebWidget):
* src/WebViewImpl.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138859 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[wk2] Remove non-visible tiles from the layer tree
timothy_horton@apple.com [Fri, 4 Jan 2013 23:15:40 +0000 (23:15 +0000)]
[wk2] Remove non-visible tiles from the layer tree
https://bugs.webkit.org/show_bug.cgi?id=106061
<rdar://problem/12761821>

Reviewed by Simon Fraser.

Unparenting tiles which aren't currently on-screen can allow underlying
frameworks to manage the layer's backing stores more effectively than we can.

In addition, add a setting (AggressiveTileRetentionEnabled) which keeps more
tiles around (we don't remove tiles in cohorts, nor when the TileCache moves
out of the window), which is off by default.

* WebCore.exp.in: Export Settings::setAggressiveTileRetentionEnabled.
* page/Settings.cpp:
(WebCore::Settings::Settings): Initialize m_aggressiveTileRetentionEnabled to false.
(WebCore::Settings::setAggressiveTileRetentionEnabled): Added.
* page/Settings.h:
(WebCore::Settings::aggressiveTileRetentionEnabled): Added.
* platform/graphics/TiledBacking.h: Add setter/getter to hand aggressivelyRetainsTiles through to TiledBackings.
* platform/graphics/ca/mac/TileCache.h:
(TileCache): Turn TileValidationPolicy into TileValidationPolicyFlags, and add
a flag for unparenting all tiles.
Implement aggressivelyRetainsTiles setter/getter.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache): Initialize m_aggressivelyRetainsTiles to false.
(WebCore::TileCache::setIsInWindow): Revalidate tiles immediately if the TileCache has just entered the window.
(WebCore::TileCache::tileRevalidationTimerFired):
This is called if coverage rect, tile cache layer bounds, or visibility changes. We will revalidate tiles:
    - Removing all tiles from the layer tree for background tile caches.
    - Not pruning old tiles if the aggressiveTileRetentionEnabled setting is on.
(WebCore::TileCache::revalidateTiles):
Adopt TileValidationPolicyFlags instead of the old enum, and use separate flags for foreground/background caches.
Unparent tiles when they move out of the tile coverage rect.
Only schedule the tile cohort removal timer if we're not aggressively keeping tiles around.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
Unparent all tiles if TileValidationPolicyFlags says to (from tileRevalidationTimerFired's background flags).
Only add new tiles to the TileCache's layer tree if we're currently in the window.
Don't prune secondary tiles if the visible rect changes; this will already occur because when the visibleRect
changes, we arrive via tileRevalidationTimerFired, which asks for PruneSecondaryTiles anyway (except if we're
aggressively retaining tiles). This prevents tiles from being deleted unexpectedly during rubber-banding or when zoomed (this part of the patch is thanks to Simon).
(WebCore::TileCache::ensureTilesForRect):
Don't ensure any tiles if the TileCache is offscreen.
Ensure that tiles are re-added to the TileCache layer tree if they already exist.
(WebCore::TileCache::drawTileMapContents):
Draw a thick purple border around tiles that have been unparented.

Add a setting to enable aggressive retention of TileCache tiles. If enabled,
TileCache will generally try to keep around all tiles. This setting is off by default.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAggressiveTileRetentionEnabled):
(WKPreferencesGetAggressiveTileRetentionEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Forward the setting to the TiledBacking.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURL duplication in mouse cursor tests mean minor typos can cause flakiness
commit-queue@webkit.org [Fri, 4 Jan 2013 22:45:30 +0000 (22:45 +0000)]
URL duplication in mouse cursor tests mean minor typos can cause flakiness
https://bugs.webkit.org/show_bug.cgi?id=104952

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Eric Seidel.

Replace the explicit list of images to preload with code that extracts
URLs from style definitions.  Also move all this image preload code to
a common helper file so that it can easily be used by other tests.

* fast/events/mouse-cursor-image-set.html:
* fast/events/mouse-cursor-multiframecur.html:
* fast/events/mouse-cursor.html:
* fast/js/resources/image-preload-helper.js: Added.
(preloadImagesFromStyle):
(onComplete):
(imagesToLoad):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138857 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewd. Fix break caused by using old internals.settings.setEnableCompositingForFi...
wangxianzhu@chromium.org [Fri, 4 Jan 2013 22:27:05 +0000 (22:27 +0000)]
Unreviewd. Fix break caused by using old internals.settings.setEnableCompositingForFixedPosition
(has been renamed to setAcceleratedCompositingForFixedPositionEnabled).

* compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138856 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHTMLTreeBuilder should ASSERT that it is on the main thread before touching elements
abarth@webkit.org [Fri, 4 Jan 2013 22:18:28 +0000 (22:18 +0000)]
HTMLTreeBuilder should ASSERT that it is on the main thread before touching elements
https://bugs.webkit.org/show_bug.cgi?id=106128

Reviewed by Eric Seidel.

Even if we move the HTML parser onto a background thread, we're likely
to keep fragment parsing on the main thread. These code paths touch
elements (which only exist on the main thread) but are only used during
fragment parsing. This patch adds ASSERTs to document that invariant.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::closestFormAncestor):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Regions] @region rules inside media queries are ignored
zoltan@webkit.org [Fri, 4 Jan 2013 22:01:44 +0000 (22:01 +0000)]
[CSS Regions] @region rules inside media queries are ignored
https://bugs.webkit.org/show_bug.cgi?id=102388

Reviewed by David Hyatt.

Using @region rules in media queries was ignored, but we should accept and apply it.

Source/WebCore:

Tests: fast/regions/region-rule-nested-region-rule.html
       fast/regions/region-styling-mediaquery.html

* css/CSSGrammar.y.in: Add new ruleList for region rule to handle the media query case
and avoid using nested region rules.
* css/RuleSet.cpp:
(WebCore::RuleSet::addRulesFromSheet): Add case for region rules inside media queries.

LayoutTests:

* fast/regions/region-rule-nested-region-rule-expected.html: Added.
* fast/regions/region-rule-nested-region-rule.html: Added.
* fast/regions/region-styling-mediaquery-expected.html: Added.
* fast/regions/region-styling-mediaquery.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138854 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Last text input caret left visible when WebView entirely loses focus.
commit-queue@webkit.org [Fri, 4 Jan 2013 21:48:50 +0000 (21:48 +0000)]
[BlackBerry] Last text input caret left visible when WebView entirely loses focus.
https://bugs.webkit.org/show_bug.cgi?id=106124

Patch by Mike Lattanzio <mlattanzio@rim.com> on 2013-01-04
Reviewed by George Staikos.

Internal PR 248834

There are numerous code paths that lead to repainting of the focus node
when the focus moves to another node, but none seem to cover the case
of focus leaving the document when there are no DocumentMarkers present.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setElementUnfocused):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[mac] WebKit1 has no equivalent of WKBundleNodeHandleCopyHTMLTableCellElementCellAbove
mitz@apple.com [Fri, 4 Jan 2013 21:39:39 +0000 (21:39 +0000)]
[mac] WebKit1 has no equivalent of WKBundleNodeHandleCopyHTMLTableCellElementCellAbove
https://bugs.webkit.org/show_bug.cgi?id=106121

Reviewed by Adele Peterson.

Source/WebCore:

Test: TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm.

* bindings/objc/DOM.mm:
(-[DOMHTMLTableCellElement _cellAbove]): Added. Calls HTMLTableCellElement::cellAbove().
* bindings/objc/DOMPrivate.h: Added declaration of the above.

Tools:

Added test for -[DOMTHMLTableCellElement _cellAbove].

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/DOMHTMLTableCellCellAbove.mm: Added.
(-[HTMLTableCellElementCellAboveTest webView:didFinishLoadForFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::expectCellAboveCell):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/DOMHTMLTableCellElementCellAbove.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrash in WebCore::RenderBlock::willBeDestroyed
inferno@chromium.org [Fri, 4 Jan 2013 21:37:46 +0000 (21:37 +0000)]
Crash in WebCore::RenderBlock::willBeDestroyed
https://bugs.webkit.org/show_bug.cgi?id=103455

Reviewed by Eric Seidel.

Source/WebCore:

It is not required to set beforeChild to :after child since DOM is
now pseudo element aware. See trac.webkit.org/changeset/137336. We
were incorrectly placing the inline continuation before the :after
content.

Test: fast/multicol/continuation-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): remove beforeChild
setting to afterPseudoElementRenderer.
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::addChild): add missing beforeChild argument.
setting to afterPseudoElementRenderer.
(WebCore::RenderRubyAsBlock::addChild): add missing beforeChild argument.
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addChild): remove beforeChild
setting to afterPseudoElementRenderer.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild): remove beforeChild
setting to afterPseudoElementRenderer.
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::addChild): remove beforeChild
setting to afterPseudoElementRenderer.

LayoutTests:

* fast/multicol/continuation-crash-expected.txt: Added.
* fast/multicol/continuation-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImplement WebIDL-style string constants in WebAudio (part 2)
crogers@google.com [Fri, 4 Jan 2013 21:33:16 +0000 (21:33 +0000)]
Implement WebIDL-style string constants in WebAudio (part 2)
https://bugs.webkit.org/show_bug.cgi?id=105977

Reviewed by Kentaro Hara.

Source/WebCore:

See Deprecation Notes for more detail:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes

PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
Legacy support in the setters for the old integer values should be supported.
This patch handles the changes for BiquadFilterNode and PannerNode.

Test: webaudio/pannernode-basic.html

* GNUmakefile.list.am:
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::type):
(WebCore):
(WebCore::BiquadFilterNode::setType):
* Modules/webaudio/BiquadFilterNode.h:
(BiquadFilterNode):
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::panningModel):
(WebCore):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):
* Modules/webaudio/PannerNode.h:
(PannerNode):
* Modules/webaudio/PannerNode.idl:
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
(WebCore):
(WebCore::JSBiquadFilterNode::setType):
* bindings/js/JSPannerNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
(WebCore):
(WebCore::JSPannerNode::setPanningModel):
(WebCore::JSPannerNode::setDistanceModel):
* bindings/v8/custom/V8BiquadFilterNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/BiquadFilterNode.cpp.
(WebCore):
(WebCore::V8BiquadFilterNode::typeAccessorSetter):
* bindings/v8/custom/V8PannerNodeCustom.cpp: Added.
(WebCore):
(WebCore::V8PannerNode::panningModelAccessorSetter):
(WebCore::V8PannerNode::distanceModelAccessorSetter):

LayoutTests:

* webaudio/audiopannernode-basic-expected.txt: Removed.
* webaudio/audiopannernode-basic.html: Removed.
* webaudio/biquad-getFrequencyResponse-expected.txt:
* webaudio/biquad-getFrequencyResponse.html:
* webaudio/biquadfilternode-basic-expected.txt:
* webaudio/biquadfilternode-basic.html:
* webaudio/pannernode-basic-expected.txt: Added.
* webaudio/pannernode-basic.html: Added.
* webaudio/resources/biquad-testing.js:
* webaudio/resources/distance-model-testing.js:
(createGraph):
(.return.renderedBuffer):
(checkDistanceResult):
* webaudio/resources/panner-model-testing.js:
(createGraph):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] FCC will show up as you type if you tap on the same input bar twice...
commit-queue@webkit.org [Fri, 4 Jan 2013 21:25:38 +0000 (21:25 +0000)]
[BlackBerry]  FCC will show up as you type if you tap on the same input bar twice before typing
https://bugs.webkit.org/show_bug.cgi?id=106116

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-01-04
Reviewed by Yong Li.
Internal reviewed by Gen Mak.
PR 267177

FCC is being invoked because the fatfinger result is no longer a reliable source
to tell whether the caret change is caused by user touch input. Instead, we recognize all
notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
by SelectionHandler:inputHandlerDidFinishProcessingChange.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
(BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Cached frame shouldn't access the page when being destroyed
yoli@rim.com [Fri, 4 Jan 2013 21:23:49 +0000 (21:23 +0000)]
[BlackBerry] Cached frame shouldn't access the page when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=105942

Reviewed by George Staikos.

Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
after Frame has been detached.

RIM PR# 271237.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMake process initialization more uniform by renaming initialization methods and remov...
weinig@apple.com [Fri, 4 Jan 2013 21:15:39 +0000 (21:15 +0000)]
Make process initialization more uniform by renaming initialization methods and removing extraneous parameters
https://bugs.webkit.org/show_bug.cgi?id=106120

Reviewed by Brady Eidson.

Rename FooProcess::initialize() -> FooProcess::initializeConnection() and removes
the RunLoop parameter since it is always the same the as RunLoop::main().

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.mm:
(WebKit::initializeNetworkProcess):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeConnection):
* PluginProcess/PluginProcess.h:
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeConnection):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. The following two tests are flaky on XP:
tdanderson@chromium.org [Fri, 4 Jan 2013 21:15:24 +0000 (21:15 +0000)]
Unreviewed gardening. The following two tests are flaky on XP:
svg/custom/feComponentTransfer-Table.svg
svg/custom/embedding-external-svgs.xhtml

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agowindow.Touch and TouchList should exist when touch events are enabled
commit-queue@webkit.org [Fri, 4 Jan 2013 21:12:58 +0000 (21:12 +0000)]
window.Touch and TouchList should exist when touch events are enabled
https://bugs.webkit.org/show_bug.cgi?id=96295

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Kentaro Hara.

Source/WebCore:

Add missing window.Touch and window.TouchList constructors under
ENABLE(TOUCH_EVENTS).

Make window.Touch, window.TouchList and window.TouchEvent enabled at runtime
under V8, to be consistent with all the other touch-related APIs.

Tests: fast/events/touch/document-create-touch-list.html
   fast/js/global-constructors.html

* bindings/generic/RuntimeEnabledFeatures.h:
* dom/Document.idl:
* dom/Element.idl:
* page/DOMWindow.idl:

LayoutTests:

Add new expected constructors and instanceof checks.

* fast/events/touch/document-create-touch-list-expected.txt:
* fast/events/touch/script-tests/document-create-touch-list.js:
* platform/efl/fast/js/global-constructors-expected.txt:
* platform/qt-5.0/fast/js/global-constructors-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTest compositing and slow scrolling behavior of fixed position elements under transfo...
wangxianzhu@chromium.org [Fri, 4 Jan 2013 21:04:52 +0000 (21:04 +0000)]
Test compositing and slow scrolling behavior of fixed position elements under transformed elements
https://bugs.webkit.org/show_bug.cgi?id=103470

Reviewed by Simon Fraser.

Add test case for the behavior change about fixed position elements under transformed elements in bug 102543 by the way.

* compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt: Added.
* compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138842 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[v8] Stop using an IDL to generate V8MutationCallback
adamk@chromium.org [Fri, 4 Jan 2013 21:03:20 +0000 (21:03 +0000)]
[v8] Stop using an IDL to generate V8MutationCallback
https://bugs.webkit.org/show_bug.cgi?id=106122

Reviewed by Adam Barth.

The only real code in the generated V8MutationCallback.{h,cpp} files
were specifically written in CodeGeneratorV8 for its use. By instead
Using completely-hand-written versions of these files, the
CodeGenerator can be simplified (as can all generated Callbacks).
All the actually shared code is still shared via subclassing of
ActiveDOMCallback.

This introduces additional flexibility into the implementation of
MutationCallback which will be used when fixing the MutationObserver
memory leak (http://webkit.org/b/90661) for JSC.

No changes to JSC for now, just a FIXME in the IDL file.

No new tests, refactoringonly.

* WebCore.gypi:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
* bindings/scripts/test/V8/V8TestCallback.cpp:
(WebCore::V8TestCallback::V8TestCallback):
* bindings/scripts/test/V8/V8TestCallback.h:
(WebCore::V8TestCallback::create):
(V8TestCallback):
* bindings/v8/V8MutationCallback.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MutationCallbackCustom.cpp.
(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):
* bindings/v8/V8MutationCallback.h: Added.
(V8MutationCallback):
(WebCore::V8MutationCallback::create):
(WebCore::V8MutationCallback::weakCallback):
* dom/MutationCallback.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove some autogenerated settings from InternalSettings.idl
tony@chromium.org [Fri, 4 Jan 2013 20:51:10 +0000 (20:51 +0000)]
Remove some autogenerated settings from InternalSettings.idl
https://bugs.webkit.org/show_bug.cgi?id=106114

Reviewed by Ojan Vafai.

Source/WebCore:

Remove 6 methods that are now autogenerated.
setAcceleratedFiltersEnabled was never called.
AcceleratedCompositingForOverflowScrollEnabled was never backed up/restored.
setEnableCompositingForFixedPosition and setEnableCompositingForScrollableFrames
are renamed to match the name in Settings.in.

No new tests, there should be no change in behavior. This is covered by
existing tests in compositing and platform/chromium/compositing.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Remove code.
(WebCore::InternalSettings::Backup::restoreTo): Remove code.
* testing/InternalSettings.h:
(Backup): Remove member variables.
(InternalSettings):
* testing/InternalSettings.idl: Remove methods that are no longer used.

LayoutTests:

Rename setters to match the name in Settings.in
setEnableCompositingForFixedPosition -> setAcceleratedCompositingForFixedPositionEnabled
setEnableCompositingForScrollableFrames -> setAcceleratedCompositingForScrollableFramesEnabled

* compositing/absolute-inside-out-of-view-fixed.html:
* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale-scroll.html:
* compositing/geometry/fixed-position-composited-page-scale-smaller-than-viewport.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-composited-switch.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe-scroll.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled-iframe.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled.html:
* compositing/layer-creation/fixed-position-out-of-view-scroll-reason.html:
* compositing/layer-creation/fixed-position-out-of-view.html:
* compositing/overflow/automatically-opt-into-composited-scrolling.html:
* platform/chromium/compositing/force-compositing-mode/force-composite-empty.html:
* platform/chromium/compositing/force-compositing-mode/no-overflow-iframe-layer.html:
* platform/chromium/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html:
* platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html:
* platform/chromium/compositing/force-compositing-mode/overflow-iframe-layer.html:
* platform/chromium/compositing/force-compositing-mode/overflow-iframe-leave-compositing.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Allow defaultTabEventHandler to trigger on tab
nghanavatian@rim.com [Fri, 4 Jan 2013 20:51:08 +0000 (20:51 +0000)]
[BlackBerry] Allow defaultTabEventHandler to trigger on tab
https://bugs.webkit.org/show_bug.cgi?id=106118

Reviewed by Yong Li.

In order to support tabbing through input elements, amongst
other things, we need to bipass the processing of the tab key as
'\t'. This will simply insert 4 spaces in the field. Remove tab
support from the key down map so that we don't translate it to
an editor command.

Internally reviewed by Mike Fenton.

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoVertical writing mode can overflow fixed size grandparent container
ojan@chromium.org [Fri, 4 Jan 2013 20:45:36 +0000 (20:45 +0000)]
Vertical writing mode can overflow fixed size grandparent container
https://bugs.webkit.org/show_bug.cgi?id=93655

Reviewed by David Hyatt.

Source/WebCore:

Add a hook to RenderBox::availableHeight to exclude the containing block's
margin, border and padding. This is for auto-sizing perpendicular writing modes
to restrict to the minimum of the fill-available height and the viewport height.

This will be used in a future patch to implement "height: fill-available".

This behavior was recently specced in http://dev.w3.org/csswg/css3-sizing/#extrinsic-sizing.

Test: fast/writing-mode/auto-sizing-orthogonal-flows.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
* rendering/RenderBox.h:
(RenderBox):
(WebCore::RenderBox::availableWidth):
(WebCore::RenderBox::availableHeight):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::computeIntrinsicRatioInformation):
* rendering/RenderView.cpp:
(WebCore::RenderView::availableLogicalHeight):
* rendering/RenderView.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

* fast/writing-mode/auto-sizing-orthogonal-flows-expected.txt: Added.
* fast/writing-mode/auto-sizing-orthogonal-flows.html: Added.
* fast/writing-mode/percentage-height-orthogonal-writing-modes-expected.txt:
* fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks-expected.txt:
* fast/writing-mode/percentage-height-orthogonal-writing-modes-quirks.html:
* fast/writing-mode/percentage-height-orthogonal-writing-modes.html:
* fast/writing-mode/table-percent-width-quirk-expected.png:
* fast/writing-mode/table-percent-width-quirk-expected.txt:
This test now correctly uses the containing blocks's availableHeight instead of the
initial containing block's height to size the perpendicular child.
* platform/chromium-linux/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-linux/fast/table/038-vertical-expected.png:
* platform/chromium-linux/fast/table/border-collapsing/004-vertical-expected.png:
The extra wrapping in this test is just because we subtract the body's margin when
computing the available height. If you force the table's container 16px smaller,
you get the same rendering at tip of tree WebKit.
* platform/chromium-win/fast/table/038-vertical-expected.txt:
* platform/chromium-win/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
Add tests that will need rebaseline once this patch lands.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Enable Input Focus when handling touch events for JS
mifenton@rim.com [Fri, 4 Jan 2013 20:43:39 +0000 (20:43 +0000)]
[BlackBerry] Enable Input Focus when handling touch events for JS
https://bugs.webkit.org/show_bug.cgi?id=106109

Reviewed by Yong Li.

PR 273325.

Toggle input mode active when a touch event is
received for JS processing to ensure state
is updated even when event is consumed.

Reviewed Internally by Gen Mak.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::touchEvent):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd tests for WebIDL type conversions
jsbell@chromium.org [Fri, 4 Jan 2013 20:42:37 +0000 (20:42 +0000)]
Add tests for WebIDL type conversions
https://bugs.webkit.org/show_bug.cgi?id=105927

Reviewed by Adam Barth.

Source/WebCore:

Expose attributes of various WebIDL types for testing ECMAScript value conversion,
including edge cases such as NaNs, Infinities, etc. These attributes hang off
a TypeConversions object created via window.internals.typeConversions().

Test: fast/js/webidl-type-mapping.html

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCoreTestSupport.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* testing/Internals.cpp:
(WebCore::Internals::typeConversions):
(WebCore):
* testing/Internals.h:
(WebCore):
* testing/Internals.idl:
* testing/TypeConversions.h: Added.
(WebCore):
(TypeConversions):
(WebCore::TypeConversions::create):
(WebCore::TypeConversions::testLong):
(WebCore::TypeConversions::setTestLong):
(WebCore::TypeConversions::testUnsignedLong):
(WebCore::TypeConversions::setTestUnsignedLong):
(WebCore::TypeConversions::testLongLong):
(WebCore::TypeConversions::setTestLongLong):
(WebCore::TypeConversions::testUnsignedLongLong):
(WebCore::TypeConversions::setTestUnsignedLongLong):
(WebCore::TypeConversions::TypeConversions):
* testing/TypeConversions.idl: Added.

LayoutTests:

This currently fails long long conversions of non-finites (which should map to 0). Patch
in progress at: http://wkbug.com/96798

* fast/js/webidl-type-mapping-expected.txt: Added.
* fast/js/webidl-type-mapping.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138836 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoInvalidation of some SVG filter attributes on HTML content doesn't work
senorblanco@chromium.org [Fri, 4 Jan 2013 20:40:25 +0000 (20:40 +0000)]
Invalidation of some SVG filter attributes on HTML content doesn't work
https://bugs.webkit.org/show_bug.cgi?id=105635

Reviewed by Dirk Schulze.

Source/WebCore:

Since HTML elements with filters are only added to m_clientLayers, not
m_clients, and do not use the FilterInfo used by SVG filters on SVG
elements, they must be invalidated separately.  Some filter attribute
invalidations call markAllClientsForInvalidation(), but some call
markClientForInvalidation() directly.  These invaldations must also
invalidate m_clientLayers.

Test: css3/filters/reference-filter-update-on-attribute-change.html

* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):
* rendering/svg/RenderSVGResourceContainer.h:
Refactor client layer invalidation out into its own function.
* rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
Mark all client layers for invalidation when a filter primitve attribute is
changed.

LayoutTests:

New reftest to verify filter attribute change invalidations.

* css3/filters/reference-filter-update-on-attribute-change-expected.html: Added.
* css3/filters/reference-filter-update-on-attribute-change.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138835 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSP 1.1: Experiment with adding line numbers to violation reports.
mkwst@chromium.org [Fri, 4 Jan 2013 20:38:26 +0000 (20:38 +0000)]
CSP 1.1: Experiment with adding line numbers to violation reports.
https://bugs.webkit.org/show_bug.cgi?id=105374

Reviewed by Adam Barth.

Source/WebCore:

Line numbers and URLs were added to the CSP 1.1 spec in
https://dvcs.w3.org/hg/content-security-policy/rev/e0270baace3d, and
already exist (and have for quite some time) in Firefox's
implementation. Based on developer feedback, it seems reasonable to
experiment a bit with adding them to WebKit's violation reports.
This patch generates a stack trace when constructing the violation
report object (iff a violation report object ought to be generated)
and adds a line number and URL to the object if possible.

Tests: http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html
       http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html

* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
    Generate a stack trace when building the violation report: if it
    has relevant detail, add the line number and URL to the report
    object.

LayoutTests:

* http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript.html: Added.
* http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138834 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSS3 calc: working with translate and scale transforms
mikelawther@chromium.org [Fri, 4 Jan 2013 20:32:35 +0000 (20:32 +0000)]
CSS3 calc: working with translate and scale transforms
https://bugs.webkit.org/show_bug.cgi?id=105985

Reviewed by Ojan Vafai.

Source/WebCore:

Allow convertTo[Float|Int]Length functions to process calculated values.

Tests: css3/calc/transforms-scale.html
       css3/calc/transforms-translate.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):

LayoutTests:

* css3/calc/transforms-scale-expected.html: Added.
* css3/calc/transforms-scale.html: Added.
* css3/calc/transforms-translate-expected.html: Added.
* css3/calc/transforms-translate.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPseudoElement should never dispatch events
esprehn@chromium.org [Fri, 4 Jan 2013 20:30:06 +0000 (20:30 +0000)]
PseudoElement should never dispatch events
https://bugs.webkit.org/show_bug.cgi?id=106048

Reviewed by Ojan Vafai.

Source/WebCore:

The new DOM based generated content can sometimes dispatch events
as a result of animations or transitions which is incorrect as it
exposes the PseudoElement to script. All event dispatch from a
PseudoElement should be ignored.

Per discussions with Tab Atkins in the future we might add support
by making events dispatched from a pseudo element fire with the
target as the parent element and add a new pseudo property to
events that has the value "before" or "after".

Test: fast/css-generated-content/pseudo-element-events.html

* dom/PseudoElement.h:

LayoutTests:

Add a test that events don't get dispatched from pseudo elements. The
only way right now to cause this is with transitions or animations.

* fast/css-generated-content/pseudo-element-events-expected.txt: Added.
* fast/css-generated-content/pseudo-element-events.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138832 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Remove static create functions from types WebCompositorSupport can construct
commit-queue@webkit.org [Fri, 4 Jan 2013 20:25:40 +0000 (20:25 +0000)]
[chromium] Remove static create functions from types WebCompositorSupport can construct
https://bugs.webkit.org/show_bug.cgi?id=99877

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Adrienne Walker.

* chromium/public/WebAnimation.h:
* chromium/public/WebContentLayer.h:
* chromium/public/WebExternalTextureLayer.h:
* chromium/public/WebFloatAnimationCurve.h:
* chromium/public/WebIOSurfaceLayer.h:
* chromium/public/WebImageLayer.h:
* chromium/public/WebLayer.h:
* chromium/public/WebLayerTreeView.h:
* chromium/public/WebScrollbarLayer.h:
* chromium/public/WebSolidColorLayer.h:
* chromium/public/WebTransformAnimationCurve.h:
* chromium/public/WebVideoLayer.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. Adding Lion image baseline for
tdanderson@chromium.org [Fri, 4 Jan 2013 20:25:34 +0000 (20:25 +0000)]
Unreviewed gardening. Adding Lion image baseline for
fast/regions/full-screen-video-from-region.html

* platform/chromium-mac-lion/fast/regions/full-screen-video-from-region-expected.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138830 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWebKitCSSTransformValue::customCssText() should always allocate once
benjamin@webkit.org [Fri, 4 Jan 2013 20:23:32 +0000 (20:23 +0000)]
WebKitCSSTransformValue::customCssText() should always allocate once
https://bugs.webkit.org/show_bug.cgi?id=105445

Reviewed by Alexis Menard.

When converting a WebKitCSSTransformValue to a String representation,
it was typically done with 2 memory allocations due to the string size in StringBuilder.

This patch changes the code to use the String Concatenate operations in order
to create the string at once.

The opening parenthesis is also moved in the prefix name in order to maximize
the range copied with memcopy.

* css/WebKitCSSTransformValue.cpp:
(WebCore::transformValueToCssString): New generic function for boxing values.
(WebCore::WebKitCSSTransformValue::customCssText):
(WebCore::WebKitCSSTransformValue::customSerializeResolvingVariables):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138829 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd a crash test expectation for the crashing test on Mac WebKit1 after r138782,
rniwa@webkit.org [Fri, 4 Jan 2013 20:13:56 +0000 (20:13 +0000)]
Add a crash test expectation for the crashing test on Mac WebKit1 after r138782,
which attempted to fix the crash but appears to did so only on WebKit2.

The failure is tracked by the bug 106123.

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoThe following two tests are starting to fail while on the verge of
tdanderson@chromium.org [Fri, 4 Jan 2013 20:06:39 +0000 (20:06 +0000)]
The following two tests are starting to fail while on the verge of
timing out. Adding Failure to their modifiers.

fast/canvas/webgl/context-creation-and-destruction.html
platform/chromium/virtual/gpu/fast/canvas/webgl/context-creation-and-destruction.html

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138827 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFlakyTestReporter should be re-enabled and taught how to post patches
eric@webkit.org [Fri, 4 Jan 2013 20:05:24 +0000 (20:05 +0000)]
FlakyTestReporter should be re-enabled and taught how to post patches
https://bugs.webkit.org/show_bug.cgi?id=103839

Reviewed by Adam Barth.

This moves LayoutTestResultsReader off of the DeprecatedPort object.
It also adds a real Port object to the EWS and CommitQueue objects
using a new PatchProcessingQueue superclass.
PatchProcessingQueue doesn't seem to be the cleanest insertion point
but works for this purpose.
I also moved _upload_results_archive_for_patch into PatchProcessingQueue
to resolve a FIXME.

This required some hacks/shiming between the non-specific "old"
port names which the EWS system is currently using, and the new
port objects.  This shimming is done in PatchProcessingQueue._new_port_name_from_old.

Hopefully this will fix the flaky test reporter and results uploading.
Certainly it's another small step towards getting rid of the old ports.py
infrastructure and making the NRWT Port class common webkitpy infrastructure.

Now that DeprecatedPort is no longer used for the results directory
I removed all the explicit results-dir code which webkit-patch was using
in --non-interactive mode to tell NRWT to use a results-dir it understood. :)

* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_perl_unittests_command):
* Scripts/webkitpy/common/config/ports_mock.py:
(MockPort.name):
* Scripts/webkitpy/common/system/outputcapture.py:
(OutputCapture.assert_outputs):
* Scripts/webkitpy/layout_tests/port/apple.py:
(ApplePort.determine_full_port_name):
* Scripts/webkitpy/tool/bot/layouttestresultsreader.py:
(LayoutTestResultsReader.__init__):
(LayoutTestResultsReader):
(LayoutTestResultsReader._read_file_contents):
(LayoutTestResultsReader._create_layout_test_results):
(LayoutTestResultsReader._create_unit_test_results):
(LayoutTestResultsReader.results):
(LayoutTestResultsReader.archive):
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
(LayoutTestResultsReaderTest.test_missing_layout_test_results):
(LayoutTestResultsReaderTest.test_create_unit_test_results):
(test_missing_unit_test_results_path):
(test_layout_test_results):
(test_archive_last_layout_test_results):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem):
(AbstractEarlyWarningSystem.__init__):
(AbstractEarlyWarningSystem.begin_work_queue):
(AbstractEarlyWarningSystem.run_command):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractPatchQueue.work_item_log_path):
(PatchProcessingQueue):
(PatchProcessingQueue._new_port_name_from_old):
(PatchProcessingQueue.begin_work_queue):
(PatchProcessingQueue._upload_results_archive_for_patch):
(CommitQueue):
(CommitQueue.begin_work_queue):
(CommitQueue.run_command):
(AbstractReviewQueue):
(AbstractReviewQueue.__init__):
(AbstractReviewQueue.begin_work_queue):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(AbstractPatchQueueTest.test_next_patch):
(PatchProcessingQueueTest):
(PatchProcessingQueueTest.test_upload_results_archive_for_patch):
* Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run):
* Scripts/webkitpy/tool/steps/runtests_unittest.py:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138826 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] WebTransformationMatrix shouldn't alias memory for TransformationMatrix
commit-queue@webkit.org [Fri, 4 Jan 2013 20:02:04 +0000 (20:02 +0000)]
[chromium] WebTransformationMatrix shouldn't alias memory for TransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=106025

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Adrienne Walker.

Source/Platform:

* chromium/public/WebTransformationMatrix.h:
(WebCore):
(WebKit::WebTransformationMatrix::~WebTransformationMatrix):
(WebTransformationMatrix):

Source/WebCore:

* platform/chromium/support/WebTransformationMatrix.cpp:
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::reset):
(WebKit):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator==):
(WebKit::WebTransformationMatrix::inverse):
(WebKit::WebTransformationMatrix::to2dTransform):
(WebKit::WebTransformationMatrix::multiply):
(WebKit::WebTransformationMatrix::makeIdentity):
(WebKit::WebTransformationMatrix::translate):
(WebKit::WebTransformationMatrix::translate3d):
(WebKit::WebTransformationMatrix::translateRight3d):
(WebKit::WebTransformationMatrix::scale):
(WebKit::WebTransformationMatrix::scaleNonUniform):
(WebKit::WebTransformationMatrix::scale3d):
(WebKit::WebTransformationMatrix::rotate):
(WebKit::WebTransformationMatrix::rotate3d):
(WebKit::WebTransformationMatrix::skewX):
(WebKit::WebTransformationMatrix::skewY):
(WebKit::WebTransformationMatrix::applyPerspective):
(WebKit::WebTransformationMatrix::blend):
(WebKit::WebTransformationMatrix::hasPerspective):
(WebKit::WebTransformationMatrix::isInvertible):
(WebKit::WebTransformationMatrix::isBackFaceVisible):
(WebKit::WebTransformationMatrix::isIdentity):
(WebKit::WebTransformationMatrix::isIdentityOrTranslation):
(WebKit::WebTransformationMatrix::isIntegerTranslation):
(WebKit::WebTransformationMatrix::m11):
(WebKit::WebTransformationMatrix::setM11):
(WebKit::WebTransformationMatrix::m12):
(WebKit::WebTransformationMatrix::setM12):
(WebKit::WebTransformationMatrix::m13):
(WebKit::WebTransformationMatrix::setM13):
(WebKit::WebTransformationMatrix::m14):
(WebKit::WebTransformationMatrix::setM14):
(WebKit::WebTransformationMatrix::m21):
(WebKit::WebTransformationMatrix::setM21):
(WebKit::WebTransformationMatrix::m22):
(WebKit::WebTransformationMatrix::setM22):
(WebKit::WebTransformationMatrix::m23):
(WebKit::WebTransformationMatrix::setM23):
(WebKit::WebTransformationMatrix::m24):
(WebKit::WebTransformationMatrix::setM24):
(WebKit::WebTransformationMatrix::m31):
(WebKit::WebTransformationMatrix::setM31):
(WebKit::WebTransformationMatrix::m32):
(WebKit::WebTransformationMatrix::setM32):
(WebKit::WebTransformationMatrix::m33):
(WebKit::WebTransformationMatrix::setM33):
(WebKit::WebTransformationMatrix::m34):
(WebKit::WebTransformationMatrix::setM34):
(WebKit::WebTransformationMatrix::m41):
(WebKit::WebTransformationMatrix::setM41):
(WebKit::WebTransformationMatrix::m42):
(WebKit::WebTransformationMatrix::setM42):
(WebKit::WebTransformationMatrix::m43):
(WebKit::WebTransformationMatrix::setM43):
(WebKit::WebTransformationMatrix::m44):
(WebKit::WebTransformationMatrix::setM44):
(WebKit::WebTransformationMatrix::a):
(WebKit::WebTransformationMatrix::setA):
(WebKit::WebTransformationMatrix::b):
(WebKit::WebTransformationMatrix::setB):
(WebKit::WebTransformationMatrix::c):
(WebKit::WebTransformationMatrix::setC):
(WebKit::WebTransformationMatrix::d):
(WebKit::WebTransformationMatrix::setD):
(WebKit::WebTransformationMatrix::e):
(WebKit::WebTransformationMatrix::setE):
(WebKit::WebTransformationMatrix::f):
(WebKit::WebTransformationMatrix::setF):
(WebKit::WebTransformationMatrix::toWebCoreTransform):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd Mac baselines for subpixel tests added in r125794, r137945, and r138200.
rniwa@webkit.org [Fri, 4 Jan 2013 19:55:39 +0000 (19:55 +0000)]
Add Mac baselines for subpixel tests added in r125794, r137945, and r138200.
https://bugs.webkit.org/show_bug.cgi?id=106070

Reviewed by Emil A Eklund.

Added baselines.

* platform/mac/fast/sub-pixel: Added.
* platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
* platform/mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
* platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.png: Added.
* platform/mac/fast/sub-pixel/sub-pixel-iframe-copy-on-scroll-expected.txt: Added.
* platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.png: Added.
* platform/mac/fast/sub-pixel/transformed-iframe-copy-on-scroll-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSS url() filters with forward references don't work
senorblanco@chromium.org [Fri, 4 Jan 2013 19:48:10 +0000 (19:48 +0000)]
CSS url() filters with forward references don't work
https://bugs.webkit.org/show_bug.cgi?id=90405

Based on a patch by Keyar Hood.

Reviewed by Dirk Schulze.

Source/WebCore:

In order for CSS to reference SVG filters that will occur later in
the document, or will be added at a future time, we need a way to
notify the target element (the one the filter style is applied to)
when the correct SVG filter is added to the DOM.
There is already code for SVG elements that handles this problem, in
SVGResourcesCache. This patch allows any element to have a reference to
an SVG element in SVGResourceCache.

Tests: css3/filters/effect-reference-after.html
       css3/filters/effect-reference-delete-crash.html
       css3/filters/effect-reference-delete.html
       css3/filters/effect-reference-removed-while-pending-resources.html
       css3/filters/effect-reference-rename.html
       css3/filters/effect-reference-reset-style-delete-crash.html
       svg/filters/filter-cycle.html

* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::removedFrom):
When an Element is deleted or removed from its container, and it
has pending resources, remove it from the SVGResourceCache resources
on deletion or when removed from its container.
(WebCore::Element::hasPendingResources):
(WebCore::Element::setHasPendingResources):
(WebCore::Element::clearHasPendingResources):
Accessors for ElementRareData's new bit flag.
* dom/Element.h:
(WebCore::Element::buildPendingResource):
Virtual function to override for referenced elements (moved from SVGElement).
* dom/ElementRareData.h:
(WebCore::ElementRareData::hasPendingResources):
(WebCore::ElementRareData::setHasPendingResources):
(WebCore::ElementRareData::ElementRareData):
Add a new bit flag to indicate whether the element depends on pending resources or not, and accessors.
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
The actual flag bit lives in NodeRareData, so it compacts better with
other flags.
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
Changed to the new function signature for FilterEffectRenderer::build().
* rendering/FilterEffectRenderer.cpp:
(WebCore::createCustomFilterEffect):
(WebCore::FilterEffectRenderer::buildReferenceFilter):
Changed signature to accept a RenderObject rather than a Document, so we know which node to notify when the SVG filter arrives.  If the referenced filter cannot be found, add its id as a pending reference.
(WebCore::FilterEffectRenderer::build):
* rendering/FilterEffectRenderer.h:
Change to signatures of build() and buildReferenceFilter() to pass
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer):
Use the new semantics for FilterEffectRenderer::build().
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
Call clearHasPendingResourceIfPossible on the SVGDocumentExtensions, not
on the element, since we want to support generic Elements.
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::addResourcesFromRenderObject):
(WebCore::SVGResourcesCache::clientStyleChanged):
For non-SVG elements, set a synthetic style change when parent resources
are invalidated.
(WebCore::SVGResourcesCache::resourceDestroyed):
Add support for non-SVG Elements.
* svg/SVGDocumentExtensions.cpp:
(WebCore::SVGDocumentExtensions::addPendingResource):
(WebCore::SVGDocumentExtensions::isElementPendingResources):
(WebCore::SVGDocumentExtensions::isElementPendingResource):
Changed to allow use of Element instead of SVGElement.
(WebCore::SVGDocumentExtensions::clearHasPendingResourcesIfPossible):
Moved from SVGElement, and made to work on any Element.  This way,
we avoid adding this function to Element itself.
(WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
(WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
Changed to allow use of Element instead of SVGElement.
* svg/SVGDocumentExtensions.h:
SVGElement -> Element.
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::removedFrom):
Don't handle pending resource notifications (Element will do it).
* svg/SVGElement.h:
All functions moved to Element, except for clearHasPendingResourcesIfPossible() moved to SVGDocumentExtensions.
* svg/SVGElementRareData.h:
(WebCore::SVGElementRareData::SVGElementRareData):
m_hasPendingResources and accessors moved to ElementRareData.
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
SVGElement -> Element, and call SVGDocumentExtensions for
clearHasPendingResourcesIfPossible().

LayoutTests:

* css3/filters/effect-reference-after-expected.html: Added.
* css3/filters/effect-reference-after.html: Added.
* css3/filters/effect-reference-delete-crash.html: Added.
* css3/filters/effect-reference-delete-expected.html: Added.
* css3/filters/effect-reference-delete.html: Added.
* css3/filters/effect-reference-removed-while-pending-resources-expected.html: Added.
* css3/filters/effect-reference-removed-while-pending-resources.html: Added.
* css3/filters/effect-reference-rename-expected.html: Added.
* css3/filters/effect-reference-rename.html: Added.
* css3/filters/effect-reference-reset-style-delete-crash-expected.txt: Added.
* css3/filters/effect-reference-reset-style-delete-crash.html: Added.
* css3/filters/script-tests/effect-reference-delete-crash.js: Added.
* css3/filters/script-tests/effect-reference-reset-style-delete-crash.js: Added.
* svg/filters/filter-cycle-expected.html: Added.
* svg/filters/filter-cycle.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138823 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Remove unneeded WebDelegatedRendererLayer and WebCompositorTransferableRes...
commit-queue@webkit.org [Fri, 4 Jan 2013 19:36:19 +0000 (19:36 +0000)]
[chromium] Remove unneeded WebDelegatedRendererLayer and WebCompositorTransferableResourceList headers
https://bugs.webkit.org/show_bug.cgi?id=105263

Patch by James Robinson <jamesr@chromium.org> on 2013-01-04
Reviewed by Darin Fisher.

These aren't needed any more since the delegation will be set up on the chromium side.

* Platform.gypi:
* chromium/public/WebCompositorSupport.h:
(WebKit):
* chromium/public/WebCompositorTransferableResourceList.h: Removed.
* chromium/public/WebDelegatedRendererLayer.h: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClamp font sizes to valid range in RenderStyle::setFontSize
commit-queue@webkit.org [Fri, 4 Jan 2013 19:34:18 +0000 (19:34 +0000)]
Clamp font sizes to valid range in RenderStyle::setFontSize
https://bugs.webkit.org/show_bug.cgi?id=106014

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Emil A Eklund.

There is a test-case attached to http://crbug.com/167443, but I can't
think of a good way of automatically testing this. Functionality
shouldn't change on normal pages.

* rendering/style/RenderStyleConstants.h:
    Add constant for maximum allowed font size.
* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyFontSize::applyValue):
    Use constant from RenderStyleConstants.h instead of hardcoding.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::getComputedSizeFromSpecifiedSize):
    Use constant from RenderStyleConstants.h instead of hardcoding.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setFontSize):
    Clamp non-finite and out of range font sizes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSP: Blocked 'track' sources should only log once to the console.
mkwst@chromium.org [Fri, 4 Jan 2013 19:32:56 +0000 (19:32 +0000)]
CSP: Blocked 'track' sources should only log once to the console.
https://bugs.webkit.org/show_bug.cgi?id=106091

Reviewed by Eric Carlson.

Source/WebCore:

HTMLTrackElement posts a message to the console when track data is
blocked by Content Security Policy. Now that we're logging inside the
ContentSecurityPolicy object itself, there's no need for the
duplication. This patch drops the extra log message (and, as a
side-effect, adds a test that ensures that 'track' content is governed
by the 'media-src' directive).

Test: http/tests/security/contentSecurityPolicy/media-src-track-block.html

* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::canLoadUrl):

LayoutTests:

* http/tests/security/contentSecurityPolicy/media-src-track-block-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/media-src-track-block.html: Added.
* http/tests/security/contentSecurityPolicy/resources/track.srt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCrash in media/unsupported-rtsp.html.
jer.noble@apple.com [Fri, 4 Jan 2013 19:18:10 +0000 (19:18 +0000)]
Crash in media/unsupported-rtsp.html.
https://bugs.webkit.org/show_bug.cgi?id=106038

Reviewed by Eric Carlson.

Fixes media/unsupported-rtsp.html on Mac platforms which support AVAssetResourceLoadingRequest.

Check that the CachedResource passed in the notifyFinished method didn't fail or error before
passing its (possibly nil) contents to the AVAssetResourceLoadingRequest.

* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::notifyFinished):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSP: 'frame-src' should block redirects to invalid sources.
mkwst@chromium.org [Fri, 4 Jan 2013 19:13:23 +0000 (19:13 +0000)]
CSP: 'frame-src' should block redirects to invalid sources.
https://bugs.webkit.org/show_bug.cgi?id=106084

Reviewed by Adam Barth.

Source/WebCore:

The 'frame-src' CSP directive whitelists valid iframe targets, but
currently fails to correctly deal with redirection. As long as the
initial target is valid, any redirection goes through without
question. This patch moves the CSP check out of
SubframeLoader::loadSubframe, and into
PolicyChecker::checkNavigationPolicy. In the new location, the check
is well-positioned to check each URL in a redirect chain, as opposed
to checking only the initial target.

Test: http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html

* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):

LayoutTests:

* http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSP: XHR from an isolated world should bypass a page's policy.
mkwst@chromium.org [Fri, 4 Jan 2013 19:09:12 +0000 (19:09 +0000)]
CSP: XHR from an isolated world should bypass a page's policy.
https://bugs.webkit.org/show_bug.cgi?id=104480

Reviewed by Adam Barth.

Source/WebCore:

Connections of various types are governed by the page's Content Security
Policy 'connect-src' directive. In the special case of connections
generated from an isolated world, we'd like to bypass these restrictions
in order to allow things like extensions to enjoy their uniquely high-
privilege lifestyle. This patch does just that.

We'll lock them down to their own policy in webkit.org/b/104520, but
that's a bit far away at the moment. Soon!

Test: http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html

* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
* page/EventSource.cpp:
(WebCore::EventSource::create):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::open):
    Check whether or not code is running in an isolated world that has
    its own Content Security Policy. If so, bypass the main world's CSP
    checks. Isolated worlds gotta be free, man.

LayoutTests:

* http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr-expected.txt: Added.
* http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html: Added.
    A new test! How wonderful!
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:
    Skipping the new test on ports that don't support it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoCSS3 calc: mixed percent/absolute for border-radius
mikelawther@chromium.org [Fri, 4 Jan 2013 19:02:51 +0000 (19:02 +0000)]
CSS3 calc: mixed percent/absolute for border-radius
https://bugs.webkit.org/show_bug.cgi?id=106046

Reviewed by Ojan Vafai.

Source/WebCore:

Add the calculation evaluation to the border radius code.

Test: css3/calc/border-radius.html

* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyBorderRadius::applyValue):

LayoutTests:

* css3/calc/border-radius-expected.html: Renamed from LayoutTests/css3/calc/border-radius-expected-mismatch.html.
* css3/calc/border-radius.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 4 Jan 2013 18:44:41 +0000 (18:44 +0000)]
Unreviewed GTK gardening.

Again updating baseline for editing/deleting/delete-to-select-table.html.

* platform/gtk/editing/deleting/delete-to-select-table-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[chromium] Remove lost-compositor-context layout tests
danakj@chromium.org [Fri, 4 Jan 2013 18:39:15 +0000 (18:39 +0000)]
[chromium] Remove lost-compositor-context layout tests
https://bugs.webkit.org/show_bug.cgi?id=106089

Reviewed by James Robinson.

Source/Platform:

Mark the loseCompositorContext() test function for removal.

* chromium/public/WebLayerTreeView.h:
(WebLayerTreeView):

Source/WebKit/chromium:

Remove the loseCompositorContext() test function.

* public/WebView.h:
(WebView):
* src/WebViewImpl.cpp:
* src/WebViewImpl.h:
(WebViewImpl):

Tools:

Remove the loseCompositorContext() test function.

* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):

LayoutTests:

Better test coverage for these issues is now provided by the unit tests
in the compositor's cc/layer_tree_host_unittest_context.cc file.

* platform/chromium-linux-x86/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
* platform/chromium-linux/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
* platform/chromium-mac/platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
* platform/chromium-win-xp/platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-expected.txt: Removed.
* platform/chromium/compositing/lost-compositor-context-permanently-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-permanently-expected.txt: Removed.
* platform/chromium/compositing/lost-compositor-context-permanently.html: Removed.
* platform/chromium/compositing/lost-compositor-context-twice-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-twice-expected.txt: Removed.
* platform/chromium/compositing/lost-compositor-context-twice.html: Removed.
* platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-with-rendersurface-expected.txt: Removed.
* platform/chromium/compositing/lost-compositor-context-with-rendersurface.html: Removed.
* platform/chromium/compositing/lost-compositor-context-with-video-expected.png: Removed.
* platform/chromium/compositing/lost-compositor-context-with-video-expected.txt: Removed.
* platform/chromium/compositing/lost-compositor-context-with-video.html: Removed.
* platform/chromium/compositing/lost-compositor-context.html: Removed.
* platform/chromium/compositing/webgl-loses-compositor-context-expected.png: Removed.
* platform/chromium/compositing/webgl-loses-compositor-context-expected.txt: Removed.
* platform/chromium/compositing/webgl-loses-compositor-context.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. fast/repaint/japanese-rl-selection-repaint-in-regions.html
tdanderson@chromium.org [Fri, 4 Jan 2013 18:34:46 +0000 (18:34 +0000)]
Unreviewed gardening. fast/repaint/japanese-rl-selection-repaint-in-regions.html
has image-only failures on SnowLeopard and Lion.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoEarly out from FontCache::releaseFontData if cached font data not found.
commit-queue@webkit.org [Fri, 4 Jan 2013 18:32:14 +0000 (18:32 +0000)]
Early out from FontCache::releaseFontData if cached font data not found.
https://bugs.webkit.org/show_bug.cgi?id=106104

Patch by John Mellor <johnme@chromium.org> on 2013-01-04
Reviewed by Abhishek Arya.

No tests, as no change in behavior.

* platform/graphics/FontCache.cpp:
(WebCore::FontCache::releaseFontData):

    Early out in release builds if cached font data not found.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138812 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove ENABLE_MUTATION_OBSERVERS #define
adamk@chromium.org [Fri, 4 Jan 2013 18:24:47 +0000 (18:24 +0000)]
Remove ENABLE_MUTATION_OBSERVERS #define
https://bugs.webkit.org/show_bug.cgi?id=105459

Reviewed by Ryosuke Niwa.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The flag has been on by default for quite awhile now (nearly a year)
and the feature is a standardized part of DOM4.

The only place it was disabled was under "unstable" features for the
gtk port, but the fact that it's shipping in several major WebKit
browsers as well as Firefox suggests that it's not too unstable.

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am: Removed ENABLE_MUTATION_OBSERVERS from the "unstable features" list.
* GNUmakefile.features.am.in:
* bindings/js/JSDictionary.cpp:
(WebCore):
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
* bindings/js/JSMainThreadExecState.cpp:
(WebCore::JSMainThreadExecState::didLeaveScriptContext):
* bindings/js/JSMutationCallbackCustom.cpp:
* bindings/js/JSMutationObserverCustom.cpp:
* bindings/v8/V8GCController.cpp:
* bindings/v8/V8RecursionScope.cpp:
(WebCore::V8RecursionScope::didLeaveScriptContext):
* bindings/v8/custom/V8MutationCallbackCustom.cpp:
* bindings/v8/custom/V8MutationObserverCustom.cpp:
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
* dom/CharacterData.cpp:
(WebCore::CharacterData::dispatchModifiedEvent):
* dom/ChildListMutationScope.cpp:
* dom/ChildListMutationScope.h:
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::insertBefore):
(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::updateTreeAfterInsertion):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(Document):
* dom/Element.cpp:
(WebCore::Element::willModifyAttribute):
* dom/MutationCallback.h:
* dom/MutationCallback.idl:
* dom/MutationObserver.cpp:
* dom/MutationObserver.h:
* dom/MutationObserver.idl:
* dom/MutationObserverInterestGroup.cpp:
* dom/MutationObserverInterestGroup.h:
* dom/MutationObserverRegistration.cpp:
* dom/MutationObserverRegistration.h:
* dom/MutationRecord.cpp:
* dom/MutationRecord.h:
* dom/MutationRecord.idl:
* dom/Node.cpp:
(WebCore::Node::clearRareData):
(WebCore::Node::setTextContent):
(WebCore::Node::didMoveToNewDocument):
(WebCore::Node::notifyMutationObserversNodeWillDetach):
* dom/Node.h:
(Node):
* dom/NodeRareData.cpp:
(SameSizeAsNodeRareData):
(WebCore::NodeRareData::reportMemoryUsage):
* dom/NodeRareData.h:
(NodeRareData):
(WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
* editing/markup.cpp:
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):
* page/DOMWindow.idl:

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataEnableFeatures.in:

Source/WebKit/chromium:

* features.gypi:
* src/WebKit.cpp:
(WebKit::initialize):
(WebKit::shutdown):

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary):

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
(DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Remove references to ENABLE(MUTATION_OBSERVERS) from tests.

* fast/dom/MutationObserver/cross-document.html:
* fast/dom/MutationObserver/database-callback-delivery.html:
* fast/dom/MutationObserver/disconnect-cancel-pending.html:
* fast/dom/MutationObserver/filesystem-callback-delivery.html:
* fast/dom/MutationObserver/mutation-observer-constructor.html:
* fast/dom/MutationObserver/observe-attributes.html:
* fast/dom/MutationObserver/observe-characterdata.html:
* fast/dom/MutationObserver/observe-childList.html:
* fast/dom/MutationObserver/observe-exceptions.html:
* fast/dom/MutationObserver/observe-subtree.html:
* fast/dom/MutationObserver/takeRecords.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoStatistics used in perftest_unittest.py and perftest_integrationtest.py are bogus
rniwa@webkit.org [Fri, 4 Jan 2013 18:20:01 +0000 (18:20 +0000)]
Statistics used in perftest_unittest.py and perftest_integrationtest.py are bogus
https://bugs.webkit.org/show_bug.cgi?id=106078

Reviewed by Tony Chang.

This patch updates values for individual iterations in dummy performance tests used in
perftest_unittest.py and perftest_integrationtest.py so that they match up with
statistics such as stdev and median reported in those tests. This change is required
to resolve the bug 97510.

This patch also refactors integration tests by extracting *TestData classes that
centralizes the definitions of each dummy performance test's text (DRT output),
runner output, and parsed results (JSON) so that we may share more data between
python tests.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest._assert_results_are_correct): Extracted from test_parse_output.
Use self.assertAlmostEqual when comparing the standard deviation.
(MainTest.test_parse_output):
(test_parse_output_with_failing_line):
(test_parse_output_with_description): Use _assert_results_are_correct.
(test_parse_output_with_subtests): Ditto.

* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(InspectorPassTestData): Extracted from tests below.
(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.
(TestDriver.run_test): Moved test definitions out of the method.
(MainTest._normalize_output): Truncate standard deviations at 5th decimal point.
(MainTest._load_output_json): Extracted from create_runner.
(MainTest.create_runner):
(MainTest.test_run_test_set_for_parser_tests):
(MainTest.test_run_memory_test):
(MainTest._test_run_with_json_output):
(MainTest.test_run_with_json_output):
(MainTest.test_run_with_description):
(MainTest.test_run_generates_json_by_default):
(MainTest.test_run_merges_output_by_default):
(MainTest.test_run_respects_reset_results):
(MainTest.test_run_generates_and_show_results_page):
(MainTest.test_run_with_slave_config_json):
(MainTest.test_run_with_multiple_repositories):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138810 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoChange RenderLayerBacking::nameForLayer() to RenderLayer::name()
wangxianzhu@chromium.org [Fri, 4 Jan 2013 17:59:29 +0000 (17:59 +0000)]
Change RenderLayerBacking::nameForLayer() to RenderLayer::name()
https://bugs.webkit.org/show_bug.cgi?id=105648

Reviewed by Simon Fraser.

No new tests. For debugging only.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::name):
(WebCore):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoExistence of window.Touch can break websites mobile device detection
commit-queue@webkit.org [Fri, 4 Jan 2013 17:58:11 +0000 (17:58 +0000)]
Existence of window.Touch can break websites mobile device detection
https://bugs.webkit.org/show_bug.cgi?id=106071

Source/WebCore:

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

* page/DOMWindow.idl:

LayoutTests:

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

* fast/events/touch/document-create-touch-list-expected.txt:
* fast/events/touch/script-tests/document-create-touch-list.js:
* platform/efl/fast/js/global-constructors-expected.txt:
* platform/qt-5.0/fast/js/global-constructors-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138808 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt][WK2] Unreviewed gardening, unskip a now passing test.
ossy@webkit.org [Fri, 4 Jan 2013 17:47:54 +0000 (17:47 +0000)]
[Qt][WK2] Unreviewed gardening, unskip a now passing test.

* platform/qt-5.0-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
commit-queue@webkit.org [Fri, 4 Jan 2013 17:41:40 +0000 (17:41 +0000)]
[GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
https://bugs.webkit.org/show_bug.cgi?id=106045

Patch by Martin Robinson <mrobinson@igalia.com> on 2013-01-04
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Be more selective about when to confirm WebKit compositions. If there is no current
preedit, reseting the GTK+ context shouldn't also do an empty confirmation in WebKit,
as this will trash the current selection. The second part of this patch also makes the
m_composingTextCurrently member more accurately reflect whether or not we are composing
text.

* platform/gtk/GtkInputMethodFilter.cpp:
(WebCore::GtkInputMethodFilter::notifyMouseButtonPress): Only confirm the current WebKit composition
if we have a preedit.
(WebCore::GtkInputMethodFilter::notifyFocusedOut): Ditto.
(WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Don't clear the m_composingTextCurrently
member if we are not sending a confirmed composition.

Tools:

Update test results to confirm that compositions without preedits do not trigger
a composition confirmation.

* TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp:
(TestWebKitAPI::verifyCanceledComposition):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[BlackBerry] Handle re-entrant destruction of MediaPlayerPrivate while a dialog is up
commit-queue@webkit.org [Fri, 4 Jan 2013 17:30:10 +0000 (17:30 +0000)]
[BlackBerry] Handle re-entrant destruction of MediaPlayerPrivate while a dialog is up
https://bugs.webkit.org/show_bug.cgi?id=105906

Patch by Max Feil <mfeil@rim.com> on 2013-01-04
Reviewed by George Staikos.

Now that dialogs are not truly modal anymore, we need to
handle the case where MediaPlayerPrivate gets destroyed by
re-entrant calls while a dialog is up. We do this by deferring
the destruction of MMRPlayer until the user dismisses the dialog.

No new tests because user dialog input is not yet part of the
layouttest framework.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
(WebCore::MediaPlayerPrivate::onShowErrorDialog):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Blackberry] Static code analysis warning fixes
commit-queue@webkit.org [Fri, 4 Jan 2013 17:16:08 +0000 (17:16 +0000)]
[Blackberry] Static code analysis warning fixes
https://bugs.webkit.org/show_bug.cgi?id=105679

Patch by Anthony Scian <ascian@rim.com> on 2013-01-04
Reviewed by Rob Buis.

Source/WebCore:

klocwork 1855: fixed by caching page, check against NULL and use cached value

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::determineFullScreenMultiplier):

Source/WebKit/blackberry:

Klocwork issue 959: check layer against NULL since it is used in both cases
of the subsequent if-stmt

* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
carlosgc@webkit.org [Fri, 4 Jan 2013 17:14:20 +0000 (17:14 +0000)]
[WK2] [Gtk] crash when web inspector is attached, and window height is reduced.
https://bugs.webkit.org/show_bug.cgi?id=106052

Reviewed by Martin Robinson.

Do not allocate more size for the inspector view than its parent
size. Also make sure that the view size is always at least 1.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(resizeWebKitWebViewBaseFromAllocation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Exclusions] The ExclusionPolygon classes should allow more than one type of...
commit-queue@webkit.org [Fri, 4 Jan 2013 16:58:06 +0000 (16:58 +0000)]
[CSS Exclusions] The ExclusionPolygon classes should allow more than one type of "Edge" class
https://bugs.webkit.org/show_bug.cgi?id=106026

Patch by Hans Muller <hmuller@adobe.com> on 2013-01-04
Reviewed by Dirk Schulze.

Refactored the ExclusionPolygonEdge class to pave the way for a similar
OffsetEdge class. The new VertexPair abstract base class provides the common
state and operations. ExclusionPolygonEdge now extends VertexPair and defines
ExclusionPolygon as a friend, since the ExclusionPolygon constructor initializes
its private state.

* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::ExclusionPolygon): Use ExclusionPolygonEdge accessors instead of direct field access.
(WebCore::getVertexIntersectionVertices): Ditto.
* rendering/ExclusionPolygon.h:
(VertexPair): New abstract base class.
(WebCore::VertexPair::~VertexPair):
(WebCore::VertexPair::minX): This method was defined in ExclusionPolygonEdge.
(WebCore::VertexPair::minY): Ditto.
(WebCore::VertexPair::maxX): Ditto.
(WebCore::VertexPair::maxY): Ditto.
(ExclusionPolygonEdge): Now extends VertexPair.
(WebCore::ExclusionPolygonEdge::previousEdge): Refer to m_ private class fields, instead of public struct fields.
(WebCore::ExclusionPolygonEdge::nextEdge): Ditto.
(WebCore::ExclusionPolygonEdge::polygon): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex1): Ditto.
(WebCore::ExclusionPolygonEdge::vertexIndex2): Ditto.
(WebCore::ExclusionPolygonEdge::edgeIndex): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Qt] Unreviewed gardening, skip a new failing test.
ossy@webkit.org [Fri, 4 Jan 2013 16:35:37 +0000 (16:35 +0000)]
[Qt] Unreviewed gardening, skip a new failing test.

* platform/qt/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd 'float FloatPoint::slopeAngleRadians()'
commit-queue@webkit.org [Fri, 4 Jan 2013 16:14:10 +0000 (16:14 +0000)]
Add 'float FloatPoint::slopeAngleRadians()'
https://bugs.webkit.org/show_bug.cgi?id=105997

Patch by Steve Block <steveblock@chromium.org> on 2013-01-04
Reviewed by Stephen White.

Refactoring only, no functional change.

* platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::slopeAngleRadians):
(WebCore):
* platform/graphics/FloatPoint.h:
Add 'float FloatPoint::slopeAngleRadians() const'
* platform/graphics/PathTraversalState.cpp:
(WebCore::PathTraversalState::processSegment):
* rendering/svg/SVGMarkerData.h:
(WebCore::SVGMarkerData::currentAngle):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::decomposeArcToCubic):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed gardening. New image baselines for test
tdanderson@chromium.org [Fri, 4 Jan 2013 15:55:18 +0000 (15:55 +0000)]
Unreviewed gardening. New image baselines for test
fast/regions/full-screen-video-from-region.html

* platform/chromium-mac-snowleopard/fast/regions/full-screen-video-from-region-expected.png: Added.
* platform/chromium-mac/fast/regions/full-screen-video-from-region-expected.png:
* platform/chromium-win-xp/fast/regions/full-screen-video-from-region-expected.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Chromium] Update some #includes to use headers in the new Platform directory
pilgrim@chromium.org [Fri, 4 Jan 2013 15:37:19 +0000 (15:37 +0000)]
[Chromium] Update some #includes to use headers in the new Platform directory
https://bugs.webkit.org/show_bug.cgi?id=106092

Reviewed by Kentaro Hara.

Working towards getting rid of legacy header files in
WebKit/chromium/public/ and WebKit/chromium/public/platform/

* src/AsyncFileSystemChromium.cpp:
* src/StorageAreaProxy.cpp:
* src/StorageNamespaceProxy.cpp:
* src/WebFileSystemCallbacksImpl.cpp:
* src/WebGraphicsContext3D.cpp:
* src/WebIDBCursorImpl.h:
* src/WebIDBDatabaseCallbacksImpl.cpp:
* src/WebIDBDatabaseCallbacksImpl.h:
* src/WebIDBDatabaseError.cpp:
* src/WebIDBDatabaseImpl.h:
* src/WebIDBIndexImpl.h:
* src/WebIDBKeyPath.cpp:
* src/WebIDBMetadata.cpp:
* src/WebIDBObjectStoreImpl.h:
* src/WebWorkerClientImpl.cpp:
* src/WebWorkerRunLoop.cpp:
* src/WorkerFileSystemCallbacksBridge.cpp:
* tests/AssociatedURLLoaderTest.cpp:
* tests/FrameTestHelpers.cpp:
* tests/PopupMenuTest.cpp:
* tests/URLTestHelpers.cpp:
* tests/WebFrameTest.cpp:
* tests/WebPageNewSerializerTest.cpp:
* tests/WebPageSerializerTest.cpp:
* tests/WebURLRequestTest.cpp:
* tests/WebURLResponseTest.cpp:
* tests/WebUnitTests.h:
* tests/WebViewTest.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 4 Jan 2013 15:25:35 +0000 (15:25 +0000)]
Unreviewed GTK gardening.

Rebaselining an editing test after r138654.

Adding failure expectations for two tests added in r138632.
Add a temporary failure expectation for transitions/transitions-parsing.html,
the test is fixed but just requires a clean build. It shouldn't paint the bots
red until then.

* platform/gtk/TestExpectations:
* platform/gtk/editing/deleting/delete-to-select-table-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Fri, 4 Jan 2013 14:37:19 +0000 (14:37 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (r138184): transitions/transitions-parsing.html is failing on GTK
zandobersek@gmail.com [Fri, 4 Jan 2013 14:15:34 +0000 (14:15 +0000)]
REGRESSION (r138184): transitions/transitions-parsing.html is failing on GTK
https://bugs.webkit.org/show_bug.cgi?id=105522

Reviewed by Xan Lopez.

.:

Remove the configuration flag covering unprefixed CSS transition property names.
It does not introduce any dependency. The unprefixed property names should be
available by default.

* configure.ac:

Source/WebCore:

Remove the feature define overriding for the unprefixed CSS transition property names
define as it is not required.

No new tests - no new functionality.

* GNUmakefile.am:

LayoutTests:

Remove a failure expectation for a test that's now passing.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 4 Jan 2013 14:13:28 +0000 (14:13 +0000)]
Unreviewed EFL gardening.

Skip new failing tests introduced in r138632 and r138756.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GObject bindings] Wrap event target interface code in feature define guards if necessary
zandobersek@gmail.com [Fri, 4 Jan 2013 14:13:26 +0000 (14:13 +0000)]
[GObject bindings] Wrap event target interface code in feature define guards if necessary
https://bugs.webkit.org/show_bug.cgi?id=105743

Reviewed by Xan Lopez.

Wrap the event target interface implementation code in feature define guards if the interface
is guarded by a conditional. A warning is reported if these methods get called with the specific
feature being disabled.

This was spotted when building with the video track feature disabled was causing build failures.

No new tests - no new functionality. The bindings tests don't test event targets under conditionals.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateEventTargetIface):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 4 Jan 2013 14:03:29 +0000 (14:03 +0000)]
Unreviewed EFL gardening.

Rebaseline editing/deleting/delete-to-select-table.html.

* platform/efl/editing/deleting/delete-to-select-table-expected.png:
* platform/efl/editing/deleting/delete-to-select-table-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK][Qt] Make compositing messages async again
commit-queue@webkit.org [Fri, 4 Jan 2013 13:24:40 +0000 (13:24 +0000)]
[GTK][Qt] Make compositing messages async again
https://bugs.webkit.org/show_bug.cgi?id=106082

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-01-04
Reviewed by Simon Hausmann.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::cancelComposition):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::confirmComposition):
(WebKit::WebPage::setComposition):
(WebKit::WebPage::cancelComposition):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRegression(r138728): Causes crashes on the build bots
christophe.dumez@intel.com [Fri, 4 Jan 2013 12:50:02 +0000 (12:50 +0000)]
Regression(r138728): Causes crashes on the build bots
https://bugs.webkit.org/show_bug.cgi?id=106083

Reviewed by Simon Hausmann.

Update encodeTimingFunction() to encode the x/y members only
if the bezierPreset is set to custom. This is needed because
decodeTimingFunction() only decodes x/y members if the
bezierPreset is set to custom.

This fixes assertion hits on the debug build bots.

* Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
(CoreIPC::encodeTimingFunction):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 4 Jan 2013 12:09:12 +0000 (12:09 +0000)]
Unreviewed EFL gardening.

Mark test webaudio/codec-tests/mp3/128kbps-44khz.html as Missing.

* platform/efl/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed EFL gardening.
sudarsana.nagineni@linux.intel.com [Fri, 4 Jan 2013 11:38:32 +0000 (11:38 +0000)]
Unreviewed EFL gardening.

Rebaseline 2 media/track test cases after r138784.

* platform/efl/media/track/track-cue-rendering-horizontal-expected.png:
* platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
* platform/efl/media/track/track-cue-rendering-vertical-expected.png:
* platform/efl/media/track/track-cue-rendering-vertical-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Mac] [WK2] platform/mac/fast/events/numpad-keycode-mapping.html fails
commit-queue@webkit.org [Fri, 4 Jan 2013 10:19:10 +0000 (10:19 +0000)]
[Mac] [WK2] platform/mac/fast/events/numpad-keycode-mapping.html fails
https://bugs.webkit.org/show_bug.cgi?id=105958

Patch by Sailesh Agrawal <sail@chromium.org> on 2013-01-04
Reviewed by Alexey Proskuryakov.

Tools:

Ported code from DumpRenderTree to WebKitTestRunner to map all numpad keys.

* WebKitTestRunner/mac/EventSenderProxy.mm:
(KeyMappingEntry):
(WTR):
(WTR::EventSenderProxy::keyDown): Added all numpad keys.

LayoutTests:

Fixed numpad-keycode-mapping.html failure in WebKitTestRunner.

* platform/mac-wk2/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GStreamer] Port WebAudio backend to 1.0 APIs
philn@webkit.org [Fri, 4 Jan 2013 10:14:43 +0000 (10:14 +0000)]
[GStreamer] Port WebAudio backend to 1.0 APIs
https://bugs.webkit.org/show_bug.cgi?id=105293

Reviewed by Martin Robinson.

Port the AudioFileReader and AudioDestination to GStreamer 1.0
APIs. It would be preferable to rely on at least GStreamer 1.0.4
for this to work properly as that release contains two bug fixes
for the deinterleave and interleave elements.

* platform/audio/FFTFrame.cpp:
(WebCore::FFTFrame::reportMemoryUsage): Don't report GstFFTF32
structures anymore because they're opaque in GStreamer 1.0.
* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
The wavparse element in 1.0 has no sometimes-pads anymore.
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(AudioFileReader): The decodebin2 element has been renamed to
decodebin in GStreamer 1.0.
(WebCore::getGStreamerAudioCaps): Audio caps description changed a
lot in GStreamer 1.0, the function now handles both APIs.
(WebCore::copyGstreamerBuffersToAudioChannel): Adapted to
GstBufferList and GstBuffer API changes.
(WebCore::onAppsinkPullRequiredCallback): Pull a sample or buffer,
depending on which API we use.
(WebCore::AudioFileReader::~AudioFileReader): Protect
GstBufferListIterators in 0.10-only code path.
(WebCore):
(WebCore::AudioFileReader::handleSample): Pull an audio sample
from appsink and insert it in the appropriate buffer list.
(WebCore::AudioFileReader::handleNewDeinterleavePad): Handle
appsink API changes from GStreamer 0.10 to 1.0.
(WebCore::AudioFileReader::decodeAudioForBusCreation): Create the
correct decodebin element.
(WebCore::AudioFileReader::createBus): Protect GstBufferListIterators
in 0.10-only code path.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(_WebKitWebAudioSourcePrivate): GstTask in GStreamer 1.0 uses a
GRecMutex instead of a (deprecated) GStaticRecMutex.
(getGStreamerMonoAudioCaps): Handle caps description changes
between GStreamer 0.10 and 1.0.
(webKitWebAudioGStreamerChannelPosition): POSITION_LFE in
GStreamer 1.0 is now POSITION_LFE1. Also map ChannelCenter to its
GStreamer equivalent.
(webkit_web_audio_src_class_init): Use generic setGstElementClassMetadata.
(webkit_web_audio_src_init): Handle GRecMutex initialisation.
(webKitWebAudioSrcConstructed): Set channel position on
capsfilter. This is done for GStreamer 1.0 code path only because
in 0.10 the caps have no way to store this information.
(webKitWebAudioSrcFinalize): Clear GRecMutex.
(webKitWebAudioSrcLoop): Handle GstBuffer API changes and add an
error check if buffers can't be chained to queue's source pad.
(webKitWebAudioSrcChangeState): As advised in the GStreamer docs,
fixup the state changes for this live source element: NO_PREROLL
in READY->PAUSED and start/stop the GstTask when going/coming
to/from PLAYING.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Regions]Content overflowing last region displayed wrong
mihnea@adobe.com [Fri, 4 Jan 2013 10:13:27 +0000 (10:13 +0000)]
[CSS Regions]Content overflowing last region displayed wrong
https://bugs.webkit.org/show_bug.cgi?id=105893

Reviewed by David Hyatt.

Source/WebCore:

For the last region in the region chain and flipped writing modes (horizontal-bt, vertical-rl),
the clipping rect should take overflow into account in the writing mode direction, which is
different in these cases than the direction for non-flipped writing modes.

Tests: fast/regions/overflow-last-region-horiz-bt.html
       fast/regions/overflow-last-region-vert-lr.html
       fast/regions/overflow-last-region-vert-rl.html
       fast/regions/overflow-last-region.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::computeRegionClippingRect): Helper function used to compute region clipping rect
for paint and hitTest.
(WebCore):
(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
* rendering/RenderFlowThread.h:

LayoutTests:

Add tests for all writing modes with content overflowing the last region in chain.
Hit testing for content overflowing the last region is not yet supported, therefore tests
for that will be added in the future.

* fast/regions/overflow-last-region-expected.html: Added.
* fast/regions/overflow-last-region-horiz-bt-expected.html: Added.
* fast/regions/overflow-last-region-horiz-bt.html: Added.
* fast/regions/overflow-last-region-vert-lr-expected.html: Added.
* fast/regions/overflow-last-region-vert-lr.html: Added.
* fast/regions/overflow-last-region-vert-rl-expected.html: Added.
* fast/regions/overflow-last-region-vert-rl.html: Added.
* fast/regions/overflow-last-region.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoImplement :future pseudo class for the WebVTT ::cue pseudo element
commit-queue@webkit.org [Fri, 4 Jan 2013 09:15:55 +0000 (09:15 +0000)]
Implement :future pseudo class for the WebVTT ::cue pseudo element
https://bugs.webkit.org/show_bug.cgi?id=105473

Patch by Dima Gorbik <dgorbik@apple.com> on 2013-01-04
Reviewed by Antti Koivisto.

Source/WebCore:

This patch changes the approach of showing past/future node objects.
Before upper-level containers were used to put past and future nodes inside. Styles were applied
to containers. Now styles could be applied directly to nodes by using ::cue(:future).
That allows to style future/past WebVTT nodes even if they are nested.

Existing test was modified to cover new cases.

* css/CSSSelector.cpp: added :future pseudo class support.
(WebCore::CSSSelector::pseudoId):
(WebCore::nameToPseudoTypeMap):
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
* css/SelectorChecker.cpp: ditto.
(WebCore::SelectorChecker::checkOneSelector):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::canShareStyleWithElement): define style sharing rules for WebVTT objects.
* css/mediaControls.css:
(video::-webkit-media-text-track-all-nodes):
(video::cue(:future)): added standard user-agent styles for the future nodes.
* dom/Element.cpp: setter functions don't have an argument now because WebVTT type enum was introduced and the right type is set
when the setter is being called.
(WebCore::Element::setIsWebVTTNode):
(WebCore):
(WebCore::Element::isWebVTTFutureNode):
(WebCore::Element::setIsWebVTTFutureNode):
* dom/Element.h:
(Element):
* dom/ElementRareData.h:
(ElementRareData):
* dom/NodeRareData.cpp:
(SameSizeAsNodeRareData): added a dummy enum value. Enum is integer type and is aligned in Windows when placed in the bitfield,
so it takes more space.
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::isWebVTTNode):
(WebCore::NodeRareData::setIsWebVTTNode):
(WebCore::NodeRareData::isWebVTTFutureNode):
(WebCore::NodeRareData::setIsWebVTTFutureNode):
(NodeRareData):
* html/shadow/MediaControlElements.cpp:
(WebCore):
* html/track/TextTrack.h: add a WebVTT node object type enum.
(TextTrack):
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::allNodesShadowPseudoId):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::getCueAsHTML):
(WebCore):
(WebCore::TextTrackCue::setNodeObjectFlags): determine if the node is future or past and mark as WebVTT node.
This combines the functionality related to marking nodes implemented before in updateDisplayTree and
markNodesAsWebVTTNodes.
(WebCore::TextTrackCue::updateDisplayTree):
(WebCore::TextTrackCue::getDisplayTree):
* html/track/TextTrackCue.h:
(TextTrackCue):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken): no need to mark nodes as WebVTT nodes when parsing. This is done at the
rendering stage later.
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): the container name has changed.

LayoutTests:

Modified the track css matching test to cover :future pseudo-class case.

* media/track/captions-webvtt/captions-inner-timestamps.vtt: Removed.
* media/track/captions-webvtt/styling.vtt:
* media/track/track-css-matching-expected.txt:
* media/track/track-css-matching.html:
* media/track/track-cue-rendering-inner-timestamps-expected.txt: Removed.
* media/track/track-cue-rendering-inner-timestamps.html: The test was removed because it was based on the old
future/past nodes rendering logic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138784 268f45cc-cd09-0410-ab3c-d52691b4dbfc