[chromium] Move a FilterOperationsTest and WebInputEventConversionTest back to webkit_unittest_files variable
https://bugs.webkit.org/show_bug.cgi?id=96964

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

These targets are really webkit unit tests and shouldn't be guarded by use_libcc_for_compositor.

* WebKit.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, fix build.

* css/CSSRule.cpp:
(SameSizeAsCSSRule):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: --results-directory isn't getting printed properly
https://bugs.webkit.org/show_bug.cgi?id=96965

Reviewed by Ojan Vafai.

options.results_directory isn't actually initialized with the
default values until after we call print_config(), so this
changes things to print the value directly.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(run):
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_config):
* Scripts/webkitpy/layout_tests/views/printing_unittest.py:
(Testprinter.test_print_config):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Unreviewed, fix build.

Patch by Filip Pizlo <fpizlo@apple.com> on 2012-09-17

* css/CSSRule.cpp:
(SameSizeAsCSSRule):

Source/WebKit2: Fixing the build after http://trac.webkit.org/changeset/128813

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit):
(WebKit::JSNPObject::JSNPObject):
* WebProcess/Plugins/Netscape/JSNPObject.h:
(JSNPObject):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=96688

Rubber-stamped by Alexey Proskuryakov.

These platform-specific results are not necessary. They are identical to the 
cross-platform results.
* platform/mac/compositing/rtl: Removed.
* platform/mac/compositing/rtl/rtl-fixed-expected.txt: Removed.
* platform/mac/compositing/rtl/rtl-fixed-overflow-expected.txt: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add rendering commit statistics
https://bugs.webkit.org/show_bug.cgi?id=96938

Patch by Brian Anderson <brianderson@chromium.org> on 2012-09-17
Reviewed by James Robinson.

Adds total commit time and total commit count to WebRenderingStats.
Allows us to caculate average commit time in performance tests.

Source/Platform:

* chromium/public/WebRenderingStats.h:
(WebRenderingStats):
(WebKit::WebRenderingStats::WebRenderingStats):
(WebKit::WebRenderingStats::enumerateFields):

Source/WebKit/chromium:

* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::renderingStats):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Including HexNumber.h fails build if hexDigitsForMode is not referenced
https://bugs.webkit.org/show_bug.cgi?id=96873

Patch by Glenn Adams <glenn@skynav.com> on 2012-09-17
Reviewed by Benjamin Poulain.

Ensure release build is possible when hexDigitsForMode is not referenced by
template expansion.

* wtf/HexNumber.h:
(WTF::Internal::hexDigitsForMode):
Change hexDigitsForMode to inline (rather than static). Make string literals
{lower,upper}HexDigits non-local and non-static, but const, to which the linker
should merge references in the RO data segment.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed, test expectations update.

These tests are failing from the beginning (r128802)
fast/js/array-bad-time.html
fast/js/array-slow-put.html
fast/js/cross-frame-bad-time.html
fast/js/object-bad-time.html
fast/js/object-slow-put.html

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening, test expectations update.

fast/js/cross-frame-really-bad-time.html is failing from the beginning (r128816)

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Refactored the arguments object so it doesn't dictate closure layout
https://bugs.webkit.org/show_bug.cgi?id=96955

Reviewed by Oliver Hunt.

* bytecode/CodeBlock.h:
(JSC::ExecState::argumentAfterCapture): Helper function for accessing an
argument that has been moved for capture.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator): Generate metadata for arguments
that are captured. We don't move any arguments yet, but we do use this
metadata to tell the arguments object if an argument is stored in the
activation.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Updated for the arguments object not
malloc'ing a separate backing store, and for a rename from deletedArguments
to slowArguments.

* interpreter/CallFrame.h:
(ExecState):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwindCallFrame):
(JSC::Interpreter::privateExecute):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL): Updated for small interface changes.

* runtime/Arguments.cpp:
(JSC::Arguments::visitChildren):
(JSC::Arguments::copyToArguments):
(JSC::Arguments::fillArgList):
(JSC::Arguments::getOwnPropertySlotByIndex):
(JSC::Arguments::createStrictModeCallerIfNecessary):
(JSC::Arguments::createStrictModeCalleeIfNecessary):
(JSC::Arguments::getOwnPropertySlot):
(JSC::Arguments::getOwnPropertyDescriptor):
(JSC::Arguments::getOwnPropertyNames):
(JSC::Arguments::putByIndex):
(JSC::Arguments::put):
(JSC::Arguments::deletePropertyByIndex):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):
(JSC::Arguments::tearOff): Moved all data inline into the object, for speed,
and refactored all internal argument accesses to use helper functions, so
we can change the implementation without changing lots of code.

(JSC::Arguments::didTearOffActivation): This function needs to account
for arguments that were moved by the activation object. We do this accounting
through a side vector that tells us where our arguments will be in the
activation.

(JSC::Arguments::tearOffForInlineCallFrame):
* runtime/Arguments.h:
(Arguments):
(JSC::Arguments::length):
(JSC::Arguments::isTornOff):
(JSC::Arguments::Arguments):
(JSC::Arguments::allocateSlowArguments):
(JSC::Arguments::tryDeleteArgument):
(JSC::Arguments::trySetArgument):
(JSC::Arguments::tryGetArgument):
(JSC::Arguments::isDeletedArgument):
(JSC::Arguments::isArgument):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

* runtime/JSActivation.h:
(JSC::JSActivation::create):
(JSActivation):
(JSC::JSActivation::captureStart):
(JSC::JSActivation::storageSize):
(JSC::JSActivation::registerOffset):
(JSC::JSActivation::isValid): The activation object is no longer responsible
for copying extra arguments provided by the caller. The argumnents object
does this instead. This means we can allocate and initialize an activation
without worrying about the call frame's argument count.

* runtime/SymbolTable.h:
(JSC::SlowArgument::SlowArgument):
(SlowArgument):
(JSC):
(JSC::SharedSymbolTable::parameterCount):
(SharedSymbolTable):
(JSC::SharedSymbolTable::slowArguments):
(JSC::SharedSymbolTable::setSlowArguments): Added data structures to back
the algorithms above.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening, test expectations update.

fast/js/cross-frame-really-bad-time-with-__proto__.html is failing from the beginning (r128816)

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] ASAN bot is crashing at the end of the run
https://bugs.webkit.org/show_bug.cgi?id=96967

Reviewed by Abhishek Arya.

The ASAN bot is crashing attempting to decode some output into
UTF-8; there's no reason to do this, so let's not do this and
see if something else is going on as well.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._get_crash_log):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Several key codes are not mapped with evas key name.
https://bugs.webkit.org/show_bug.cgi?id=96915

Reviewed by Gyuyoung Kim.

* platform/efl/EflKeyboardUtilities.cpp:
(WebCore::createWindowsKeyMap):
Added missing items of hashmap for virtual key code.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add experimental code to enter a sandbox for a plug-in.
Based on a patch by Ivan Krstić.
<rdar://problem/11823151>

Reviewed by Anders Carlsson.

Enter a sandbox for a plug-in if a sandbox profile is found in /usr/share/sandbox/ that
has the plug-ins bundle identifier for a name.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::initializeSandbox):
(WebKit::PluginProcess::platformInitialize):
Enter the sandbox provided if a profile can be found.

* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):
Factor out the core sandbox entering logic (so if can be used above) and make sure
that Remote Save Panel is enabled.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128836 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert MathML to use flexboxes
https://bugs.webkit.org/show_bug.cgi?id=96843

Reviewed by Eric Seidel.

Source/WebCore: 

Using the CSS Flexible Box Model simplifies MathML in many ways. Control over alignment, row vs.
column layout, and child layout order are all much easier. Complexities involving floats,
continuations, and most anonymous boxes are eliminated, as are their potential for crashes and
security vulnerabilities.

In a flexbox, column alignment is done with align-items or align-self, instead of text-align.
vertical-align and baselinePosition() are replaced by the firstLineBoxBaseline() virtual
function.

Tested by existing tests.

* css/mathml.css:
(math):
(math[display="block"]):
(mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
(math, mrow, mfenced, msqrt, mroot):
(msqrt > *):
(mo, mfrac, munder, mover, munderover):
(munder, mover, munderover):
(mfrac > *):
(mfrac[numalign="left"] > :first-child):
(mfrac[numalign="right"] > :first-child):
(mfrac[denomalign="left"] > :last-child):
(mfrac[denomalign="right"] > :last-child):
(msubsup > :last-child, mover > :last-child, munderover > :last-child):
(msub > * + *, msup > * + *, msubsup > * + *, munder > * + *, mover > * + *, munderover > * + *):
(mroot):
(mroot > * + *):
(mtable):
        
* mathml/MathMLInlineContainerElement.cpp:
(WebCore::MathMLInlineContainerElement::createRenderer):
* mathml/mathtags.in:
        
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
(WebCore::RenderMathMLBlock::baselinePosition):
(WebCore::RenderMathMLBlock::renderName):
(WebCore::RenderMathMLBlock::paint):
(WebCore::RenderMathMLTable::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
(RenderMathMLTable):
(WebCore::RenderMathMLTable::RenderMathMLTable):
    - Change RenderMathMLBlock's base class to RenderFlexibleBox, and its display to FLEX or INLINE_FLEX.
    - Add RenderMathMLTable for its firstLineBoxBaseline() function, like { vertical-align: middle }.
        
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
    - Use RenderMathMLRow::addChild as a more robust name for RenderBlock::addChild.
(WebCore::RenderMathMLFenced::addChild):
    - All inline children of a flexbox are treated as blocks automatically.
        
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::fixChildStyle):
(WebCore::RenderMathMLFraction::updateFromElement):
    - numalign and denomalign attributes are now handled by mathml.css.
(WebCore::RenderMathMLFraction::addChild):
(WebCore::RenderMathMLFraction::layout):
(WebCore::RenderMathMLFraction::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLFraction.h:
(RenderMathMLFraction):
        
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createStackableStyle):
(WebCore::RenderMathMLOperator::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLOperator.h:
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
        
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
(WebCore::RenderMathMLSubSup::fixScriptsStyle):
(WebCore::RenderMathMLSubSup::addChild):
(WebCore::RenderMathMLSubSup::styleDidChange):
(WebCore::RenderMathMLSubSup::layout):
* rendering/mathml/RenderMathMLSubSup.h:
    - Rename Sup to Super, to make it more readable vs. Sub.
    - Instead of vertical-align, msub and msup now use the m_scripts anonymous box like msubsup does.
    - Individual anonymous block wrappers are no longer needed around the superscript and subscript to
      lay them out in a column.
    - Handle msub and msup layout, and improve msubsup layout, by requiring a superscript's baseline
      to be at least (int) fontSize / 3 + 1 above the main baseline, and a subscript's baseline to be
      at least (int) fontSize / 5 + 1 below it.
        
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::unembellishedOperator):
(WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
* rendering/mathml/RenderMathMLUnderOver.h:
(RenderMathMLUnderOver):
    - RenderMathMLUnderOver no longer needs to use anonymous wrappers for column layout. Centering and
      child layout order (overscript first) are also handled by mathml.css.

LayoutTests: 

* mathml/EmptyMFracCrash-expected.txt:
* mathml/EmptyMunderOverCrash-expected.txt:
* mathml/empty-mroot-crash-expected.txt:
* mathml/fenced-whitespace-separators-crash-expected.txt:
* mathml/msub-anonymous-child-render-crash-expected.txt:
* mathml/msubsup-no-grandchild-expected.txt:
* mathml/msubsup-remove-children-expected.txt:
* mathml/munderover-remove-children-expected.txt:
        
* mathml/presentation/fenced.xhtml:
* mathml/presentation/mo.xhtml:
* mathml/presentation/row.xhtml:
* mathml/xHeight.xhtml:
    - The <div>s are wrapped in <mtext> elements to make them valid in MathML, with the intended layout.
        
* platform/mac/mathml/presentation/attributes-expected.png:
* platform/mac/mathml/presentation/attributes-expected.txt:
* platform/mac/mathml/presentation/fenced-expected.txt:
* platform/mac/mathml/presentation/fenced-mi-expected.png:
* platform/mac/mathml/presentation/fenced-mi-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-expected.png:
* platform/mac/mathml/presentation/mo-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mroot-pref-width-expected.txt:
* platform/mac/mathml/presentation/over-expected.png:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/row-expected.png:
* platform/mac/mathml/presentation/row-expected.txt:
* platform/mac/mathml/presentation/style-expected.png:
* platform/mac/mathml/presentation/style-expected.txt:
* platform/mac/mathml/presentation/sub-expected.png:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/mathml/presentation/sup-expected.txt:
* platform/mac/mathml/presentation/tables-expected.png:
* platform/mac/mathml/presentation/tables-expected.txt:
* platform/mac/mathml/presentation/tokenElements-expected.txt:
* platform/mac/mathml/presentation/under-expected.txt:
* platform/mac/mathml/presentation/underover-expected.png:
* platform/mac/mathml/presentation/underover-expected.txt:
* platform/mac/mathml/xHeight-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the Snow Leopard build.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitialize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/12316935> [mac WebKit1]: -[WebView _setPaginationBehavesLikeColumns:] is a no-op
https://bugs.webkit.org/show_bug.cgi?id=96971

Reviewed by Sam Weinig.

* WebView/WebView.mm:
(-[WebView _setPaginationBehavesLikeColumns:]): Added a call to setPagination().



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening, rebaseline after r128811

* platform/chromium-linux-x86/fast/writing-mode/english-lr-text-expected.png: Removed.
* platform/chromium-linux-x86/transitions/svg-text-shadow-transition-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/fast/text/chromium-linux-fontconfig-renderstyle-expected.png:
* platform/chromium-win-xp/fast/multicol/shadow-breaking-expected.png: Added.
* platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/text/shadow-translucent-fill-expected.png:
* platform/chromium-win-xp/fast/text/stroking-decorations-expected.png:
* platform/chromium-win-xp/fast/text/stroking-expected.png:
* platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
* platform/chromium-win-xp/fast/writing-mode/english-lr-text-expected.png:
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-002-expected.png: Added.
* platform/chromium-win-xp/ietestcenter/css3/text/textshadow-010-expected.png: Added.
* platform/chromium-win-xp/svg/css/composite-shadow-text-expected.png:
* platform/chromium-win-xp/svg/css/shadow-changes-expected.png:
* platform/chromium-win-xp/svg/css/text-gradient-shadow-expected.png:
* platform/chromium-win-xp/svg/css/text-shadow-multiple-expected.png: Added.
* platform/chromium-win-xp/transitions/svg-text-shadow-transition-expected.png:
* platform/gtk/transitions/svg-text-shadow-transition-expected.png: Removed.
* transitions/svg-text-shadow-transition-expected.png: Renamed from LayoutTests/platform/efl/transitions/svg-text-shadow-transition-expected.png.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening, more rebaseline after r128811

* platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-win-xp/fast/css/shadow-multiple-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@128841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: remove "unexpected EOF" warnings
https://bugs.webkit.org/show_bug.cgi?id=96970

Reviewed by Ojan Vafai.

After debugging this a bit, it looks like there aren't any cases
that I can reproduce where a read() of zero indicates something
actually wrong; either it is a prelude to a crash, or a false
negative. So, I'm removing these warnings and adding a comment.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):


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