WebKit-https.git
7 years agoUnreviewed, merge the arguments fix in r118138 to get bots green.
fpizlo@apple.com [Thu, 24 May 2012 06:58:52 +0000 (06:58 +0000)]
Unreviewed, merge the arguments fix in r118138 to get bots green.

* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):

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

7 years agoUnreviewed: Web Inspector single line fix for r118162.
loislo@chromium.org [Thu, 24 May 2012 06:55:28 +0000 (06:55 +0000)]
Unreviewed: Web Inspector single line fix for r118162.

* inspector/front-end/HeapSnapshotDataGrids.js:
(WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren):

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

7 years agoDFG CFA should record if a node can OSR exit
fpizlo@apple.com [Thu, 24 May 2012 06:24:36 +0000 (06:24 +0000)]
DFG CFA should record if a node can OSR exit
https://bugs.webkit.org/show_bug.cgi?id=86905

Reviewed by Oliver Hunt.

Merged r117931 from dfgopt.

Adds a NodeFlag that denotes nodes that are known to not have OSR exits.
This ought to aid any backwards analyses that need to know when a
backward flow merge might happen due to a side exit.

Also added assertions into speculationCheck() that ensure that we did not
mark a node as non-exiting and then promptly compile in an exit. This
helped catch some minor bugs where we were doing unnecessary speculation
checks.

This is a perf-neutral change. The speculation checks that this removes
were not on hot paths of major benchmarks.

* bytecode/PredictedType.h:
(JSC):
(JSC::isAnyPrediction):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::speculateInt32Unary):
(AbstractState):
(JSC::DFG::AbstractState::speculateNumberUnary):
(JSC::DFG::AbstractState::speculateBooleanUnary):
(JSC::DFG::AbstractState::speculateInt32Binary):
(JSC::DFG::AbstractState::speculateNumberBinary):
* dfg/DFGNode.h:
(JSC::DFG::Node::mergeFlags):
(JSC::DFG::Node::filterFlags):
(Node):
(JSC::DFG::Node::setCanExit):
(JSC::DFG::Node::canExit):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
* dfg/DFGNodeFlags.h:
(DFG):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

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

7 years agoDFG should not do unnecessary indirections when storing to objects
fpizlo@apple.com [Thu, 24 May 2012 05:51:05 +0000 (05:51 +0000)]
DFG should not do unnecessary indirections when storing to objects
https://bugs.webkit.org/show_bug.cgi?id=86959

Reviewed by Oliver Hunt.

Merged r117819 from dfgopt.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
* 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@118324 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDFG should optimize aliased uses of the Arguments object of the current call frame
fpizlo@apple.com [Thu, 24 May 2012 05:33:09 +0000 (05:33 +0000)]
DFG should optimize aliased uses of the Arguments object of the current call frame
https://bugs.webkit.org/show_bug.cgi?id=86552

Source/JavaScriptCore:

Reviewed by Geoff Garen.

Merged r117542 and r117543 from dfgopt.

Performs must-alias and escape analysis on uses of CreateArguments, and if
a variable is must-aliased to CreateArguments and does not escape, then we
turn all uses of that variable into direct arguments accesses.

36% speed-up on V8/earley leading to a 2.3% speed-up overall in V8.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::uncheckedArgumentsRegister):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::argumentsThatWereNotCreated):
(ValueRecovery):
(JSC::ValueRecovery::dump):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGAdjacencyList.h:
(AdjacencyList):
(JSC::DFG::AdjacencyList::removeEdgeFromBag):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUses):
(JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
(JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
(JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
* dfg/DFGGPRInfo.h:
(GPRInfo):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectGarbage):
(DFG):
* dfg/DFGGraph.h:
(Graph):
(JSC::DFG::Graph::executableFor):
(JSC::DFG::Graph::argumentsRegisterFor):
(JSC::DFG::Graph::uncheckedArgumentsRegisterFor):
(JSC::DFG::Graph::clobbersWorld):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler.h:
(JSC::DFG::OSRExitCompiler::OSRExitCompiler):
(OSRExitCompiler):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOperations.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueSource::dump):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsArgumentsAlias):
(VariableAccessData):
(JSC::DFG::VariableAccessData::isArgumentsAlias):
* jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_get_argument_by_val):

LayoutTests:

Rubber stamped by Geoff Garen.

Merged r117542 from dfgopt.

Added a bunch of tests that check that our optimizations for aliased uses of the
'arguments' object are robust against various forms of JavaScript crazy.

* fast/js/dfg-arguments-alias-escape-expected.txt: Added.
* fast/js/dfg-arguments-alias-escape.html: Added.
* fast/js/dfg-arguments-alias-expected.txt: Added.
* fast/js/dfg-arguments-alias.html: Added.
* fast/js/dfg-arguments-cross-code-origin-expected.txt: Added.
* fast/js/dfg-arguments-cross-code-origin.html: Added.
* fast/js/dfg-arguments-mixed-alias-expected.txt: Added.
* fast/js/dfg-arguments-mixed-alias.html: Added.
* fast/js/dfg-arguments-osr-exit-expected.txt: Added.
* fast/js/dfg-arguments-osr-exit.html: Added.
* fast/js/dfg-arguments-unexpected-escape-expected.txt: Added.
* fast/js/dfg-arguments-unexpected-escape.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-arguments-alias-escape.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-alias.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-cross-code-origin.js: Added.
(foo):
(bar):
(baz):
* fast/js/script-tests/dfg-arguments-mixed-alias.js: Added.
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-osr-exit.js: Added.
(baz):
(foo):
(bar):
* fast/js/script-tests/dfg-arguments-unexpected-escape.js: Added.
(baz):
(foo):
(bar):

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

7 years agosort the array 'non_wrapper_types'
commit-queue@webkit.org [Thu, 24 May 2012 05:24:47 +0000 (05:24 +0000)]
sort the array 'non_wrapper_types'
https://bugs.webkit.org/show_bug.cgi?id=87335

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-05-23
Reviewed by Kentaro Hara.

* bindings/scripts/CodeGeneratorV8.pm:

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

7 years agoChange EFL debug build name with more detail one
gyuyoung.kim@samsung.com [Thu, 24 May 2012 04:39:04 +0000 (04:39 +0000)]
Change EFL debug build name with more detail one
https://bugs.webkit.org/show_bug.cgi?id=87254

Reviewed by Ryosuke Niwa.

EFL Linux Debug buildbot name needs to be consistent with other EFL buildbot name.
In addition, remove efl-linux-debug triggerable since nobody uses it.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

7 years agoAdd a test case of event dispatching which uses inactive insertion points.
hayato@chromium.org [Thu, 24 May 2012 04:23:25 +0000 (04:23 +0000)]
Add a test case of event dispatching which uses inactive insertion points.
https://bugs.webkit.org/show_bug.cgi?id=87229

Reviewed by Darin Adler.

* fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
* fast/dom/shadow/shadow-dom-event-dispatching.html:

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

7 years agoDocument.elementFromPoint exposes inner element of Shadow DOM.
shinyak@chromium.org [Thu, 24 May 2012 03:59:41 +0000 (03:59 +0000)]
Document.elementFromPoint exposes inner element of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87235

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::elementFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/element-from-point-in-nested-shadow.html

* dom/Document.cpp:
(WebCore::Document::elementFromPoint):

LayoutTests:

* fast/dom/shadow/element-from-point-in-nested-shadow-expected.txt: Added.
* fast/dom/shadow/element-from-point-in-nested-shadow.html: Added.

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

7 years agoUnreviewed, rolling out r118297.
commit-queue@webkit.org [Thu, 24 May 2012 03:48:39 +0000 (03:48 +0000)]
Unreviewed, rolling out r118297.
http://trac.webkit.org/changeset/118297
https://bugs.webkit.org/show_bug.cgi?id=87338

It caused several layout failures on Mac (Requested by
sundiamonde on #webkit).

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

Source/WebCore:

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

* fast/block/float/floats-with-margin-should-not-wrap-expected.html: Removed.
* fast/block/float/floats-with-margin-should-not-wrap.html: Removed.

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

7 years agoDocument.caretRangeFromPoint exposes inner elemnet of Shadow DOM.
shinyak@chromium.org [Thu, 24 May 2012 03:45:18 +0000 (03:45 +0000)]
Document.caretRangeFromPoint exposes inner elemnet of Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87231

Reviewed by Dimitri Glazkov.

Source/WebCore:

Document::caretRangeFromPoint didn't consider nested Shadow DOM.
The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.

Test: fast/dom/shadow/caret-range-from-point-in-nested-shadow.html

* dom/Document.cpp:
(WebCore::Document::caretRangeFromPoint):

LayoutTests:

* fast/dom/shadow/caret-range-from-point-in-nested-shadow-expected.txt: Added.
* fast/dom/shadow/caret-range-from-point-in-nested-shadow.html: Added.

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

7 years agoCrash in RenderTableCol::nextColumn
jchaffraix@webkit.org [Thu, 24 May 2012 03:42:27 +0000 (03:42 +0000)]
Crash in RenderTableCol::nextColumn
https://bugs.webkit.org/show_bug.cgi?id=87314

Reviewed by Abhishek Arya.

Source/WebCore:

Tests: fast/table/canvas-column-in-column-group.html
       fast/table/columngroup-inside-columngroup.html

The issue comes from elements not abiding by the display property (e.g. canvas). This means
that any renderer with display: table-column would pass the current isChildAllowed check and
would confuse our algorithm to iterate.

We were getting away with allowing those children as table columns or column groups don't
paint themselves but it's better to just not allow such children in the first place.

* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::isChildAllowed):
Fixed the logic to only accept proper column renderer (RenderTableCol with display: column
to ignore column-groups). Also removed an unneeded NULL-check.

LayoutTests:

* fast/table/canvas-column-in-column-group-expected.txt: Added.
* fast/table/canvas-column-in-column-group.html: Added.
* fast/table/columngroup-inside-columngroup-expected.txt: Added.
* fast/table/columngroup-inside-columngroup.html: Added.

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

7 years ago[EFL] Gardening after r118203 and r118171.
rakuco@webkit.org [Thu, 24 May 2012 03:11:50 +0000 (03:11 +0000)]
[EFL] Gardening after r118203 and r118171.

Remove wrong expectations added in r118171 and unskip passing
tests after r118203.

* platform/efl/compositing/layer-creation/fixed-position-scroll-expected.png: Removed.
* platform/efl/compositing/layer-creation/fixed-position-scroll-expected.txt: Removed.
* platform/efl/test_expectations.txt:

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

7 years agoREGRESSION: compositing/video/video-poster.html fails on Mac
jer.noble@apple.com [Thu, 24 May 2012 02:44:14 +0000 (02:44 +0000)]
REGRESSION: compositing/video/video-poster.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=87199

Reviewed by Maciej Stachowiak.

No new tests; fixes failing compositing/video/video-poster.html test.

Instead of creating the video layer directly, simply allow the layer
to be created in updateStates() by changing the definition of
isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
the player reports a video track is present.  This causes the video layer
to be created and for future calls to prepareForRendering() to result
in calls to mediaPlayerRenderingModeChanged().

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
(WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):

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

7 years ago[CMake] Unreviewed, add ENABLE_CSS3_FLEXBOX after r118304.
rakuco@webkit.org [Thu, 24 May 2012 02:43:51 +0000 (02:43 +0000)]
[CMake] Unreviewed, add ENABLE_CSS3_FLEXBOX after r118304.

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

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

7 years ago[chromium/mac] Unbreak popup menus.
thakis@chromium.org [Thu, 24 May 2012 02:41:16 +0000 (02:41 +0000)]
[chromium/mac] Unbreak popup menus.
https://bugs.webkit.org/show_bug.cgi?id=87325

Reviewed by David Levin.

http://svn.webkit.org/repository/webkit/trunk@117607 added this function, but the
Chromium/Mac build doesn't use the file added in that change and hence didn't have
the category method.. Adding it doesn't help, as the category calls a
10.7-only function. Just don't use the category for chromium/mac. Fixes
http://crbug.com/129418

* platform/mac/WebCoreNSCellExtras.h:

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

7 years ago[EFL][DRT] Fix WebCore library path and rebaseline result
commit-queue@webkit.org [Thu, 24 May 2012 02:38:50 +0000 (02:38 +0000)]
[EFL][DRT] Fix WebCore library path and rebaseline result
https://bugs.webkit.org/show_bug.cgi?id=86355

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-23
Reviewed by Dirk Pranke.

Currently EFL DRT uses wrong WebCore library path when running DRT.
Therefore, this patch adjusted the path correctly.

Tools:

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort._path_to_webcore_library):

LayoutTests:

* platform/efl/test_expectations.txt: Added some cases to skipped list since we don't support those at this stage

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

7 years agoDFGCapabilities should not try to get an arguments register from code blocks that...
fpizlo@apple.com [Thu, 24 May 2012 02:34:09 +0000 (02:34 +0000)]
DFGCapabilities should not try to get an arguments register from code blocks that don't have one
https://bugs.webkit.org/show_bug.cgi?id=87332

Reviewed by Andy Estes.

* dfg/DFGCapabilities.h:
(JSC::DFG::canInlineOpcode):

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

7 years agoDFG should have sparse conditional constant propagation
fpizlo@apple.com [Thu, 24 May 2012 02:28:52 +0000 (02:28 +0000)]
DFG should have sparse conditional constant propagation
https://bugs.webkit.org/show_bug.cgi?id=86580

Reviewed by Oliver Hunt.

Merged r117370 from dfgopt.

This enhances CFA so that if it suspects at any point during the fixpoint that a
branch will only go one way, then it only propagates in that one way.

This vastly increases the opportunities for CFG simplification. For example, it
enables us to evaporate this loop:

for (var i = 0; i < 1; ++i) doThings(i);

As a result, it uncovered loads of bugs in the CFG simplifier. In particular:

- Phi fixup was assuming that all Phis worth fixing up are shouldGenerate().
  That's not true; we also fixup Phis that are dead.

- GetLocal fixup was assuming that it's only necessary to rewire links to a
  GetLocal, and that the GetLocal's own links don't need to be rewired. Untrue,
  because the GetLocal may not be rewirable (first block has no GetLocal for r42
  but second block does have a GetLocal), in which case it will refer to a Phi
  in the second block. We need it to refer to a Phi from the first block to
  ensure that subsequent transformations work.

- Tail operand fixup was ignoring the fact that Phis in successors may contain
  references to the children of our tail variables. Hence, successor Phi child
  substitution needs to use the original second block variable table as its
  prior, rather than trying to reconstruct the prior later (since by that point
  the children of the second block's tail variables will have been fixed up, so
  we will not know what the prior would have been).

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::beginBasicBlock):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::reset):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGAbstractState.h:
(JSC::DFG::AbstractState::branchDirectionToString):
(AbstractState):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::removePotentiallyDeadPhiReference):
(JSC::DFG::CFGSimplificationPhase::OperandSubstitution::OperandSubstitution):
(OperandSubstitution):
(JSC::DFG::CFGSimplificationPhase::skipGetLocal):
(JSC::DFG::CFGSimplificationPhase::recordPossibleIncomingReference):
(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::changeEdge):

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

7 years agoSee https://bugs.webkit.org/show_bug.cgi?id=87208
slewis@apple.com [Thu, 24 May 2012 02:08:49 +0000 (02:08 +0000)]
See https://bugs.webkit.org/show_bug.cgi?id=87208

Unreviewed, skipping new test that can have side effects.

* platform/mac/Skipped:

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

7 years agoadd back the ability to disable flexbox
ojan@chromium.org [Thu, 24 May 2012 02:03:04 +0000 (02:03 +0000)]
add back the ability to disable flexbox
https://bugs.webkit.org/show_bug.cgi?id=87147

Reviewed by Tony Chang.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):

Source/WebKit/chromium:

* features.gypi:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

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

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

7 years ago[Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
shinyak@chromium.org [Thu, 24 May 2012 01:57:45 +0000 (01:57 +0000)]
[Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=87218

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::handleWheelEvent re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html
       fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

* fast/dom/shadow/wheel-event-in-shadow-dom-expected.txt: Added.
* fast/dom/shadow/wheel-event-in-shadow-dom.html: Added.
* fast/dom/shadow/wheel-event-on-input-in-shadow-dom-expected.txt: Added.
* fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html: Added.

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

7 years agoRemove an unused setter in CachedResource.h.
commit-queue@webkit.org [Thu, 24 May 2012 01:53:58 +0000 (01:53 +0000)]
Remove an unused setter in CachedResource.h.
https://bugs.webkit.org/show_bug.cgi?id=87324

CachedResource::setInLiveDecodedResourcesList was defined in r24925, but it has
been unused.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

* loader/cache/CachedResource.h:

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

7 years agoAdjust a target node of a mouse event correctly when a distributed text node is clicked.
hayato@chromium.org [Thu, 24 May 2012 01:47:38 +0000 (01:47 +0000)]
Adjust a target node of a mouse event correctly when a distributed text node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=86999

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make EventHandler::updateMouseEventTargetNode() be aware of shadow dom subtree
so that an insertion point can receive an event when a distributed text node is clicked.

Tests: fast/dom/shadow/shadow-dom-event-dispatching.html

* page/EventHandler.cpp:
(WebCore::EventHandler::updateMouseEventTargetNode):

LayoutTests:

* fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
* fast/dom/shadow/shadow-dom-event-dispatching.html:

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

7 years ago[Shadow] drop event is not fired on nodes in Shadow DOM
shinyak@chromium.org [Thu, 24 May 2012 01:40:28 +0000 (01:40 +0000)]
[Shadow] drop event is not fired on nodes in Shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=85774

Reviewed by Dimitri Glazkov.

Source/WebCore:

EventHander::updateDragAndDrop re-targets an event to a shadow ancestor node,
however it should be done by adjusting event target. So we don't need to have it.

Tests: fast/dom/shadow/drop-event-for-input-in-shadow.html
       fast/dom/shadow/drop-event-in-shadow.html

* page/EventHandler.cpp:
(WebCore::EventHandler::updateDragAndDrop):

LayoutTests:

Confirms drop event is fired on div and input in Shadow DOM.

* fast/dom/shadow/drop-event-for-input-in-shadow-expected.txt: Added.
* fast/dom/shadow/drop-event-for-input-in-shadow.html: Added.
* fast/dom/shadow/drop-event-in-shadow-expected.txt: Added.
* fast/dom/shadow/drop-event-in-shadow.html: Added.

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

7 years agoREGRESSION (115573): Incorrect rounding of margins for floats
eae@chromium.org [Thu, 24 May 2012 01:31:06 +0000 (01:31 +0000)]
REGRESSION (115573): Incorrect rounding of margins for floats
https://bugs.webkit.org/show_bug.cgi?id=87319

Reviewed by Eric Seidel.

Source/WebCore:

In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
accumulate margins for floating children while the children themselves
represent their margins as LayoutUnits. Due to lack of rounding this can
cause the block to be too small at certain certain zoom levels, causing
unwanted wrapping.

This patch changes computeInlinePreferredLogicalWidths to use a
LayoutUnit to accumulate the margins and thus ensures that the margin
values are rounded the same way.

Test: fast/block/float/floats-with-margin-should-not-wrap.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):

LayoutTests:

Add new test ensuring that using margins with floats doesn't cause
undesired wrapping.

* fast/block/float/floats-with-margin-should-not-wrap-expected.html: Added.
* fast/block/float/floats-with-margin-should-not-wrap.html: Added.

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

7 years agoRemove unused declarations in MemoryCache.h
commit-queue@webkit.org [Thu, 24 May 2012 01:09:13 +0000 (01:09 +0000)]
Remove unused declarations in MemoryCache.h
https://bugs.webkit.org/show_bug.cgi?id=87323

It is originated from r75912.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-05-23
Reviewed by Darin Adler.

* loader/cache/MemoryCache.h:

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

7 years agoAdd seamless layout code (and pass most of the remaining seamless tests)
eric@webkit.org [Thu, 24 May 2012 01:07:22 +0000 (01:07 +0000)]
Add seamless layout code (and pass most of the remaining seamless tests)
https://bugs.webkit.org/show_bug.cgi?id=86608

Reviewed by Ojan Vafai.

Source/WebCore:

This patch contains almost all the layout changes needed for seamless iframes.
I removed the scroll-bar avoiding code at the last moment, as it didn't
work for platforms other than mac-lion.  I'll add that, as well as the
HTMLIFrameElement.seamless idl attribute in a follow-up patch.

Seamless iframes piggy-back a bit on the existing frame-flattening
logic, however seamless is different from frame-flattening in a few ways:
- Frame flattening can only ever make an iframe larger (seamless just behaves like a normal div).
- Frame flattening disables scrollbars (seamless frames behave like normal overflow: auto divs).
- Seamless only has to work with iframes (flattening works with frame/frameset as well).
- Seamless support shrink-wrap size negotiation when the iframe is inline.

Test: fast/frames/seamless/seamless-percent-height.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle): map inline -> inline-block for seamless iframes.
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
 - Seamless iframes don't manage their own style recalc.
(WebCore::Document::recalcStyle):
 - We should make sure our parent is resolved before we are, but currently that causes some tests to crash
   I don't have a test to demonstrate this need yet, as presumably it's fulfilled through other codepaths atm.
* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayout): Do the cheaper check first.
(WebCore::FrameView::isInChildFrameWithFrameFlattening): Make frameview layout abort child layouts like how frame flattening does.
* rendering/RenderBox.h:
(WebCore::RenderBox::stretchesToViewport): Disable the stretch-to-viewport quirk for seamless iframes (it makes no sense and breaks the layout code).
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::computeLogicalHeight):
 - This function is needed for the child document to participate in the normal block shrink-wrap algorithm.
   Thankfully all the shrink-wrap logic is in RenderBox instead of RenderBlock. In the future we may make
   RenderIframe a RenderBlock for the seamless case. We may just split RenderIframe into two renderers.
(WebCore::RenderIFrame::computeLogicalWidth):
(WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
 - seamless iframes behave like blocks, not inline replaced elements.
(WebCore):
(WebCore::RenderIFrame::isInlineBlockOrInlineTable):
 - Behave like an inline-block when marked inline.
(WebCore::RenderIFrame::minPreferredLogicalWidth):
 - When asked for our pref widths, return those of our child document.
(WebCore::RenderIFrame::maxPreferredLogicalWidth):
(WebCore::RenderIFrame::isSeamless): helper function
(WebCore::RenderIFrame::contentRootRenderer): helper function
(WebCore::RenderIFrame::flattenFrame): seamless iframes never use the frame-flattening feature.
(WebCore::RenderIFrame::layoutSeamlessly): The guts of seamless layout.
(WebCore::RenderIFrame::layout):
* rendering/RenderIFrame.h:
(WebCore):
(RenderIFrame):

LayoutTests:

Add a test for percent height in child documents, as well as
disabling the expand-to-fill-viewport quirk of html/body elements
in quirks mode.
Also update all the expectations now that we pass almost all the tests.

* fast/frames/seamless/resources/percent-square.html: Added.
* fast/frames/seamless/resources/two-inline-blocks.html:
* fast/frames/seamless/seamless-basic-expected.txt:
* fast/frames/seamless/seamless-float-expected.txt:
* fast/frames/seamless/seamless-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-inherited-origin.html:
* fast/frames/seamless/seamless-inline-expected.txt:
* fast/frames/seamless/seamless-nested-expected.txt:
* fast/frames/seamless/seamless-percent-height-expected.txt: Added.
* fast/frames/seamless/seamless-percent-height.html: Added.
* fast/frames/seamless/seamless-quirks-expected.txt:
* fast/frames/seamless/seamless-sandbox-flag-expected.txt:
* fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt:

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

7 years agoUnreviewed, fix Windows build.
fpizlo@apple.com [Thu, 24 May 2012 01:04:55 +0000 (01:04 +0000)]
Unreviewed, fix Windows build.

* bytecode/CodeBlock.h:
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canCompileOpcodes):
* dfg/DFGCommon.h:
(DFG):

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

7 years ago[Qt] GraphicsContext should avoid converting rotation angle to degrees
rafael.lobo@openbossa.org [Thu, 24 May 2012 01:00:50 +0000 (01:00 +0000)]
[Qt] GraphicsContext should avoid converting rotation angle to degrees
https://bugs.webkit.org/show_bug.cgi?id=87317

Reviewed by Noam Rosenthal.

The angle for rotate is already in radians, so we should take advantage of it
by using QTransform::rotateRadians, rather than converting it back internally.

* platform/graphics/qt/GraphicsContextQt.cpp:
(WebCore::GraphicsContext::rotate):

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

7 years agoRemove the Chromium Grid Layout bot from the waterfall
tony@chromium.org [Thu, 24 May 2012 00:58:54 +0000 (00:58 +0000)]
Remove the Chromium Grid Layout bot from the waterfall
https://bugs.webkit.org/show_bug.cgi?id=87311

Reviewed by Ryosuke Niwa.

I removed the compiler define in r117613, so we don't need a separate
bot to compile/test this code.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

7 years agoAX: Prevents assertion from potentially dereferencing null pointer.
commit-queue@webkit.org [Thu, 24 May 2012 00:30:53 +0000 (00:30 +0000)]
AX: Prevents assertion from potentially dereferencing null pointer.
https://bugs.webkit.org/show_bug.cgi?id=87290

Patch by David Tseng <dtseng@google.com> on 2012-05-23
Reviewed by Chris Fleizach.

Changes to assertions. Coverage by existing tests.

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::cellForColumnAndRow):

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

7 years agoauto margins on flexbox should allocate space in the cross direction
tony@chromium.org [Thu, 24 May 2012 00:19:40 +0000 (00:19 +0000)]
auto margins on flexbox should allocate space in the cross direction
https://bugs.webkit.org/show_bug.cgi?id=86913

Reviewed by Ojan Vafai.

Source/WebCore:

Test: css3/flexbox/auto-margins.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
(WebCore):
(WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline.
(WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align.
* rendering/RenderFlexibleBox.h:

LayoutTests:

* css3/flexbox/auto-margins-expected.html: Added.
* css3/flexbox/auto-margins.html: Added. These are the test cases in the spec.
* css3/flexbox/flex-align-vertical-writing-mode.html: Fix tests with auto margins and add more tests.
Also reduce the height so it's easier to see the test cases (these vertical tests don't check the height).
* css3/flexbox/flex-align.html: Fix tests with auto margins and add more tests.
* css3/flexbox/flex-flow-auto-margins.html: Fix results now that we handle auto in the cross direction.

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

7 years agoDFG should optimize inlined uses of arguments.length and arguments[i]
fpizlo@apple.com [Thu, 24 May 2012 00:18:55 +0000 (00:18 +0000)]
DFG should optimize inlined uses of arguments.length and arguments[i]
https://bugs.webkit.org/show_bug.cgi?id=86327

Reviewed by Gavin Barraclough.

Merged r117017 from dfgopt.

Turns inlined uses of arguments.length into a constant.

Turns inlined uses of arguments[constant] into a direct reference to the
argument.

Big win on micro-benchmarks. Not yet a win on V8 because the hot uses of
arguments.length and arguments[i] are aliased. I'll leave the aliasing
optimizations to a later patch.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/DFGExitProfile.h:
(FrequentExitSite):
(JSC::DFG::FrequentExitSite::FrequentExitSite):
(JSC::DFG::QueryableExitProfile::hasExitSite):
(QueryableExitProfile):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArgumentsSimplificationPhase.cpp: Added.
(DFG):
(ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::ArgumentsSimplificationPhase):
(JSC::DFG::ArgumentsSimplificationPhase::run):
(JSC::DFG::performArgumentsSimplification):
* dfg/DFGArgumentsSimplificationPhase.h: Added.
(DFG):
* dfg/DFGAssemblyHelpers.cpp:
(JSC::DFG::AssemblyHelpers::executableFor):
(DFG):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::executableFor):
(Graph):
(JSC::DFG::Graph::clobbersWorld):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToGetLocalUnlinked):
(Node):
(JSC::DFG::Node::unlinkedLocal):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSiteSlow):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* 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@118278 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Enable the CCLayerTreeHostTestCanDrawBlocksDrawing test in single-threaded...
danakj@chromium.org [Thu, 24 May 2012 00:15:14 +0000 (00:15 +0000)]
[chromium] Enable the CCLayerTreeHostTestCanDrawBlocksDrawing test in single-threaded mode
https://bugs.webkit.org/show_bug.cgi?id=87308

Reviewed by James Robinson.

Chromium bug: http://crbug.com/127481

Unit test: CCLayerTreeHostTestCanDrawBlocksDrawing.runSingleThread

* tests/CCLayerTreeHostTest.cpp:
(WTF::TestHooks::didCommit):
(WTF):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::didCommit):

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

7 years agoUnreviewed, rolling out r118120.
haraken@chromium.org [Thu, 24 May 2012 00:13:07 +0000 (00:13 +0000)]
Unreviewed, rolling out r118120.
http://trac.webkit.org/changeset/118120
https://bugs.webkit.org/show_bug.cgi?id=87193

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::toV8):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::toV8):

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

7 years agoUnreviewed, rolling out r118129.
haraken@chromium.org [Thu, 24 May 2012 00:12:16 +0000 (00:12 +0000)]
Unreviewed, rolling out r118129.
http://trac.webkit.org/changeset/118129
https://bugs.webkit.org/show_bug.cgi?id=87202

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateFunctionCallback):
(NativeToJSValue):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):

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

7 years agoUnreviewed, rolling out r118133.
haraken@chromium.org [Thu, 24 May 2012 00:11:16 +0000 (00:11 +0000)]
Unreviewed, rolling out r118133.
http://trac.webkit.org/changeset/118133
https://bugs.webkit.org/show_bug.cgi?id=87207

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/v8/custom/V8BlobCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSRuleCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8CSSValueCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ClipboardCustom.cpp:
(WebCore::V8Clipboard::typesAccessorGetter):
* bindings/v8/custom/V8CoordinatesCustom.cpp:
(WebCore::V8Coordinates::altitudeAccessorGetter):
(WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
(WebCore::V8Coordinates::headingAccessorGetter):
(WebCore::V8Coordinates::speedAccessorGetter):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMTokenListCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DataViewCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
(WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
(WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
(WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
(WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
* bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
(WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
(WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorGetter):
* bindings/v8/custom/V8EntryCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EntrySyncCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8EventCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Float64ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::toV8):

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

7 years agoUnreviewed, rolling out r118134.
haraken@chromium.org [Thu, 24 May 2012 00:10:13 +0000 (00:10 +0000)]
Unreviewed, rolling out r118134.
http://trac.webkit.org/changeset/118134
https://bugs.webkit.org/show_bug.cgi?id=87209

some LayoutTests crash since the patch passes a NULL to
Null(isolate)

* bindings/v8/custom/V8HTMLElementCustom.cpp:
(WebCore::toV8Object):
(WebCore::toV8):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::stateAccessorGetter):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8IDBKeyCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ImageDataCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Int8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8NodeCustom.cpp:
(WebCore::V8Node::insertBeforeCallback):
(WebCore::V8Node::replaceChildCallback):
(WebCore::V8Node::removeChildCallback):
(WebCore::V8Node::appendChildCallback):
(WebCore::toV8Slow):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter):
* bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
(WebCore::V8SQLResultSetRowList::itemCallback):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGElementCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGPathSegCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8TrackEventCustom.cpp:
(WebCore::V8TrackEvent::trackAccessorGetter):
* bindings/v8/custom/V8Uint16ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint32ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
(WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
(WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
* bindings/v8/custom/V8WorkerContextCustom.cpp:
(WebCore::toV8):

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

7 years agoDFG should be able to optimize foo.apply(bar, arguments)
fpizlo@apple.com [Thu, 24 May 2012 00:05:21 +0000 (00:05 +0000)]
DFG should be able to optimize foo.apply(bar, arguments)
https://bugs.webkit.org/show_bug.cgi?id=86306

Reviewed by Gavin Barraclough.

Merge r116912 from dfgopt.

Enables compilation of op_jneq_ptr and some forms of op_call_varargs.

Also includes a bunch of bug fixes that were made necessary by the increased
pressure on the CFG simplifier.

This is a 1-2% win on V8.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::CodeBlock):
(JSC::ProgramCodeBlock::canCompileWithDFGInternal):
(JSC::EvalCodeBlock::canCompileWithDFGInternal):
(JSC::FunctionCodeBlock::canCompileWithDFGInternal):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::canCompileWithDFG):
(JSC::CodeBlock::canCompileWithDFGState):
(ProgramCodeBlock):
(EvalCodeBlock):
(FunctionCodeBlock):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getLocalLoadElimination):
(CSEPhase):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::debugFail):
(DFG):
(JSC::DFG::canHandleOpcodes):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canInlineOpcodes):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
(DFG):
(JSC::DFG::canCompileOpcodes):
(JSC::DFG::canCompileEval):
(JSC::DFG::canCompileProgram):
(JSC::DFG::canCompileFunctionForCall):
(JSC::DFG::canCompileFunctionForConstruct):
* dfg/DFGCommon.h:
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGValidate.cpp:
(Validate):
(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::checkOperand):
(JSC::DFG::Validate::reportValidationContext):
* jit/JIT.cpp:
(JSC::JIT::emitOptimizationCheck):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::compileBinaryArithOp):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::privateCompilePutByIdTransition):
* tools/CodeProfile.cpp:
(JSC::CodeProfile::sample):

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

7 years agoRefactored WeakBlock to use malloc, clarify behavior
ggaren@apple.com [Wed, 23 May 2012 23:55:27 +0000 (23:55 +0000)]
Refactored WeakBlock to use malloc, clarify behavior
https://bugs.webkit.org/show_bug.cgi?id=87318

Reviewed by Filip Pizlo.

We want to use malloc so we can make these smaller than 4KB,
since an individual MarkedBlock will usually have fewer than
4KB worth of weak pointers.

* heap/Heap.cpp:
(JSC::Heap::markRoots): Renamed visitLiveWeakImpls to visit, since
we no longer need to distinguish from "visitDeadWeakImpls".

Renamed "visitDeadWeakImpls" to "reap" because we're not actually
doing any visiting -- we're just tagging things as dead.

* heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::destroy):
(JSC::WeakBlock::WeakBlock): Malloc!

(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap): Renamed as above.

* heap/WeakBlock.h:
(WeakBlock): Reduced to 3KB, as explained above.

* heap/WeakSet.cpp:
(JSC::WeakSet::visit):
(JSC::WeakSet::reap):
* heap/WeakSet.h:
(WeakSet): Updated for renames, and to match WebKit style.

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

7 years ago[Chromium] Marking a pair of fast/history layout tests as flaky (TEXT).
jsbell@chromium.org [Wed, 23 May 2012 23:41:58 +0000 (23:41 +0000)]
[Chromium] Marking a pair of fast/history layout tests as flaky (TEXT).
https://bugs.webkit.org/show_bug.cgi?id=87321

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years ago[Chromium] http/tests/cache/history-only-cached-subresource-loads{-max-age-https...
jsbell@chromium.org [Wed, 23 May 2012 23:30:25 +0000 (23:30 +0000)]
[Chromium] http/tests/cache/history-only-cached-subresource-loads{-max-age-https}.html are now
failing with TEXT differences, so updated failure expectations.

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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

7 years agoAdd a Setting to make position:fixed form a new stacking context
commit-queue@webkit.org [Wed, 23 May 2012 23:14:13 +0000 (23:14 +0000)]
Add a Setting to make position:fixed form a new stacking context
https://bugs.webkit.org/show_bug.cgi?id=87186

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

Source/WebCore:

position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
issues, so we need a runtime setting in order to stage the change carefully.

Tests: fast/block/positioning/fixed-position-stacking-context.html
       fast/block/positioning/fixed-position-stacking-context2.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setFixedPositionCreatesStackingContext):
(WebCore::Settings::fixedPositionCreatesStackingContext):
(Settings):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::InternalSettings):
(WebCore::InternalSettings::restoreTo):
(WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setFixedPositionCreatesStackingContext):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

LayoutTests:

Adds layout tests that confirm we don't creates stacking contexts for position:fixed by default, but we do when
the fixedPositionCreatesStackingContext Setting is true.

Qt and Blackberry will need different expectations since they set this via an #ifdef

* fast/block/positioning/fixed-position-stacking-context-expected.png: Added.
* fast/block/positioning/fixed-position-stacking-context-expected.txt: Added.
* fast/block/positioning/fixed-position-stacking-context.html: Added.
* fast/block/positioning/fixed-position-stacking-context2-expected.png: Added.
* fast/block/positioning/fixed-position-stacking-context2-expected.txt: Added.
* fast/block/positioning/fixed-position-stacking-context2.html: Added.

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

7 years agoUse after free in JSC::DFG::ByteCodeParser::processPhiStack
fpizlo@apple.com [Wed, 23 May 2012 23:12:59 +0000 (23:12 +0000)]
Use after free in JSC::DFG::ByteCodeParser::processPhiStack
https://bugs.webkit.org/show_bug.cgi?id=87312
<rdar://problem/11518848>

Reviewed by Oliver Hunt.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):

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

7 years ago[chromium] Turn ENABLE(OVERFLOW_SCROLLING) off for Chromium port
jamesr@google.com [Wed, 23 May 2012 23:06:30 +0000 (23:06 +0000)]
[chromium] Turn ENABLE(OVERFLOW_SCROLLING) off for Chromium port
https://bugs.webkit.org/show_bug.cgi?id=87177

Reviewed by Eric Seidel.

Source/WebKit/chromium:

Removes ENABLE(OVERFLOW_SCROLLING) from the set of enables set by Chromium. This guards a new non-standard
CSS property, -webkit-overflow-scrolling, that was introduced by iOS5 intended for mobile browsers. This
property is very partially implemented in Chromium but the way it's implemented does cause new stacking contexts
to be created that otherwise would not be, breaking "desktop" pages.

This turns the feature off until we can figure out how to deal with the compatibility issues.

* features.gypi:

LayoutTests:

Mark test depending on ENABLE(OVERFLOW_SCROLLING) as an expected failure since the define is off.

* platform/chromium/test_expectations.txt:

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

7 years ago[chromium] Provides a way to cancel an external popup menu before it is shown.
jcivelli@chromium.org [Wed, 23 May 2012 22:28:24 +0000 (22:28 +0000)]
[chromium] Provides a way to cancel an external popup menu before it is shown.
https://bugs.webkit.org/show_bug.cgi?id=83474

Reviewed by Kent Tamura.

* src/ExternalPopupMenu.cpp:
(WebKit::ExternalPopupMenu::show):

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

7 years agoIt should be possible to make C function calls from DFG code on ARM in debug mode
fpizlo@apple.com [Wed, 23 May 2012 22:25:21 +0000 (22:25 +0000)]
It should be possible to make C function calls from DFG code on ARM in debug mode
https://bugs.webkit.org/show_bug.cgi?id=87313

Reviewed by Gavin Barraclough.

* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):

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

7 years ago[Qt] fast/url/path.html with Qt5 differ results on both WK1 and WK2
commit-queue@webkit.org [Wed, 23 May 2012 22:22:16 +0000 (22:22 +0000)]
[Qt] fast/url/path.html with Qt5 differ results on both WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=77380

Patch by Hugo Parente Lima <hugo.lima@openbossa.org> on 2012-05-23
Reviewed by Kenneth Rohde Christiansen.

The test pass on qt5-wk2, but not on qt5-wk1.

* platform/qt-5.0-wk1/Skipped:
* platform/qt-5.0/Skipped:

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

7 years agoSource/WebCore: [chromium] DomStorage events handling needs TLC (3)
michaeln@google.com [Wed, 23 May 2012 22:04:51 +0000 (22:04 +0000)]
Source/WebCore: [chromium] DomStorage events handling needs TLC (3)
https://bugs.webkit.org/show_bug.cgi?id=87031
https://code.google.com/p/chromium/issues/detail?id=128482
Create WebCore::Storage instances as a side effect of attaching storage event handlers.
This allows storage events in chromium to be propagated with less IPC chatter.

Worth noting that in non-chromium ports, creation of the localStorage instance can have
an additional side effect of scheduling a background task to read the area's values
from disk, which given the interest in events is probably a beneficial side effect.

Reviewed by Adam Barth.

No new tests. Existing tests cover this.

* page/DOMWindow.cpp:
(WebCore::didAddStorageEventListener):
(WebCore::DOMWindow::addEventListener):

Source/WebKit/chromium: [chromium] DomStorage events handling needs TLC (3)
https://bugs.webkit.org/show_bug.cgi?id=87031
https://code.google.com/p/chromium/issues/detail?id=128482
Only queue storage events for Documents which have allocated
a WebCore::Storage instance since pages that have attached onstorage
event handlers must have a non-null Storage instance.

Reviewed by Adam Barth.

* src/StorageAreaProxy.cpp:
(WebCore::StorageAreaProxy::dispatchLocalStorageEvent):
(WebCore::StorageAreaProxy::dispatchSessionStorageEvent):
(WebCore::StorageAreaProxy::isEventSource):

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

7 years agoCrash in fast/files/read tests during Garbage Collection
msaboff@apple.com [Wed, 23 May 2012 21:59:44 +0000 (21:59 +0000)]
Crash in fast/files/read tests during Garbage Collection
https://bugs.webkit.org/show_bug.cgi?id=87165

Reviewed by Alexey Proskuryakov.

Changed hasPendingActivity() processing to use ActiveDOMObject::hasPendingActivity()
and associated setPendingActivity() / unsetPendingActivity().

Fixed two existing tests with change.

* Modules/filesystem/FileWriter.cpp:
(WebCore::FileWriter::stop):
(WebCore::FileWriter::write):
(WebCore::FileWriter::truncate):
(WebCore::FileWriter::signalCompletion):
* Modules/filesystem/FileWriter.h:
* fileapi/FileReader.cpp:
(WebCore::FileReader::readInternal):
(WebCore::FileReader::doAbort):
(WebCore::FileReader::didFinishLoading):
(WebCore::FileReader::didFail):
* fileapi/FileReader.h:

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

7 years agoUnreviewed, rolling out r118218.
jsbell@chromium.org [Wed, 23 May 2012 21:59:29 +0000 (21:59 +0000)]
Unreviewed, rolling out r118218.
http://trac.webkit.org/changeset/118218
https://bugs.webkit.org/show_bug.cgi?id=87299

breaks webkit win builder (Requested by pilgrim_google__ on
#webkit).

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

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
* chromium/public/WebLocalizedString.h: Removed.

Source/WebKit/chromium:

* WebKit.gyp:
* public/platform/WebKitPlatformSupport.h:
(WebKitPlatformSupport):
(WebKit::WebKitPlatformSupport::queryLocalizedString):
* public/platform/WebLocalizedString.h:
(WebKit):
* src/LocalizedStrings.cpp:
(WebCore::query):

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

7 years agowebgl/context-lost failing on Lion
kbr@google.com [Wed, 23 May 2012 21:56:41 +0000 (21:56 +0000)]
webgl/context-lost failing on Lion
https://bugs.webkit.org/show_bug.cgi?id=81284

Unreviewed test expectations update. The fix for Bug 87136 fixed
the underlying bug here; adjusting test expectations.

* platform/mac-snowleopard/fast/canvas/webgl/context-lost-expected.txt: Removed.
* platform/mac/fast/canvas/webgl/context-lost-expected.txt: Removed.

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

7 years agoAdd vollick to list of contributors.
commit-queue@webkit.org [Wed, 23 May 2012 21:54:56 +0000 (21:54 +0000)]
Add vollick to list of contributors.
https://bugs.webkit.org/show_bug.cgi?id=87305

Patch by Ian Vollick <vollick@chromium.org> on 2012-05-23
Reviewed by Adam Barth.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoCrash in run-ins with continuations while moving back to original position.
inferno@chromium.org [Wed, 23 May 2012 21:51:06 +0000 (21:51 +0000)]
Crash in run-ins with continuations while moving back to original position.
https://bugs.webkit.org/show_bug.cgi?id=87264

Reviewed by Julien Chaffraix.

Source/WebCore:

Run-in that are now placed in sibling block can break up into continuation
chains when new children are added to it. We cannot easily send them back to their
original place since that requires writing integration logic with RenderInline::addChild
and all other places that might cause continuations to be created (without blowing away
|this|). Disabling this feature for now to prevent crashes.

Test: fast/runin/runin-continuations-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveRunInToOriginalPosition):

LayoutTests:

* fast/runin/runin-continuations-crash-expected.txt: Added.
* fast/runin/runin-continuations-crash.html: Added.

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

7 years agoCrash in RenderInline::linesVisualOverflowBoundingBox.
inferno@chromium.org [Wed, 23 May 2012 21:47:51 +0000 (21:47 +0000)]
Crash in RenderInline::linesVisualOverflowBoundingBox.
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Dave Hyatt.

Source/WebCore:

Defer layout of replaced elements to the next line break function.
We shouldn't do it while we are clearing our inline chilren
lineboxes in full layout mode.

Test: fast/block/inline-children-root-linebox-crash.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

* fast/block/inline-children-root-linebox-crash-expected.txt: Added.
* fast/block/inline-children-root-linebox-crash.html: Added.

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

7 years agoSource/WebCore: AudioParam must support fan-in (multiple audio connections) (take 2)
crogers@google.com [Wed, 23 May 2012 21:46:15 +0000 (21:46 +0000)]
Source/WebCore: AudioParam must support fan-in (multiple audio connections) (take 2)
https://bugs.webkit.org/show_bug.cgi?id=83610

Reviewed by Kenneth Russell.

This re-lands bug: https://bugs.webkit.org/show_bug.cgi?id=83610
Now that a fix has been landed: http://trac.webkit.org/changeset/118099

Test: webaudio/audioparam-summingjunction.html

* Modules/webaudio/AudioParam.cpp:
* Modules/webaudio/AudioParam.h:
(WebCore::AudioParam::calculateSampleAccurateValues):
(WebCore::AudioParam::calculateAudioRateSignalValues):
Sums intrinsic parameter value with all audio-rate connections.

(WebCore::AudioParam::connect):
(WebCore::AudioParam::disconnect):
Support multiple connections.

(WebCore::AudioParam::hasSampleAccurateValues):
If we have one or more audio-rate connections.

(WebCore::AudioParam::AudioParam):
AudioParam now sub-classes AudioSummingJunction.

LayoutTests: AudioParam must support fan-in (multiple audio connections)
https://bugs.webkit.org/show_bug.cgi?id=83610

Reviewed by Kenneth Russell.

* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction-expected.txt: Added.
* webaudio/audioparam-summingjunction.html: Added.

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

7 years agoThere are no shared worker filesystem tests
ericu@chromium.org [Wed, 23 May 2012 21:37:04 +0000 (21:37 +0000)]
There are no shared worker filesystem tests
https://bugs.webkit.org/show_bug.cgi?id=83828

Reviewed by David Levin.

* fast/filesystem/resources/file-writer-events.js:
Minor tweak to prevent double-import of js-test-pre.js
* fast/filesystem/resources/shared-worker-stub.js: Added.
Stub that imports js-test-pre.js for shared workers, so that we don't
actually import the test script until postMessage has somewhere to go.
* fast/filesystem/workers/file-writer-events-shared-worker-expected.txt: Added.
* fast/filesystem/workers/file-writer-events-shared-worker.html: Added.
The new test, running the same old file-writer-events.js that runs in
document and worker context.
* fast/js/resources/js-test-pre.js:
Previously it looked like startWorker supported creating shared workers;
there was an option, but it was a lie.  If you used it, it was
completely broken.  This adds a functional minimal implementation.
(startWorker.worker.port.onmessage):
(startWorker):
(.self.onconnect.workerPort.onmessage):
(.self.onconnect):
(.description):
(.testFailed):
(.testPassed):
(.finishJSTest):
(.debug):
* platform/chromium/test_expectations.txt:
DumpRenderTree and test_shell don't support shared workers; you have to
run this by hand in Chrome.

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

7 years agoREGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick...
jer.noble@apple.com [Wed, 23 May 2012 21:15:21 +0000 (21:15 +0000)]
REGRESSION (117623) - Entering/exiting fullscreen HTML5 videos, there is a quick animated fade
https://bugs.webkit.org/show_bug.cgi?id=87294

Reviewed by Darin Adler.

When setting the sublayers array on the layer hosting view, wrap the call in a CATransaction which disables
animations.

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateAcceleratedCompositingMode:WebKit::]):

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

7 years ago[Chromium-Android] Fix chromium_android_unittest
wangxianzhu@chromium.org [Wed, 23 May 2012 21:13:51 +0000 (21:13 +0000)]
[Chromium-Android] Fix chromium_android_unittest
https://bugs.webkit.org/show_bug.cgi?id=87196

Reviewed by Tony Chang.

Update unit tests after ChromiumAndroidPort supported apk based
DumpRenderTree.

* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
(ChromiumAndroidPortTest):
(ChromiumAndroidPortTest.mock_run_command_fn): Moved out from test_get_last_stacktrace so that other tests can use it as a common command line handler.
(ChromiumAndroidPortTest.test_get_last_stacktrace):
(ChromiumAndroidPortTest.test_get_crash_log): Added to test our overridden _get_crash_log()
(ChromiumAndroidDriverTest):
(ChromiumAndroidDriverTest.setUp):
(ChromiumAndroidDriverTest.test_cmd_line): Added to test our overridden cmd_line()
(ChromiumAndroidDriverTest.test_write_command_and_read_line): Added test of unexpected EOF (indicating crash on Android)

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

7 years ago[watchlist] Add myself and create a watch rule to catch Attribute related patches
caio.oliveira@openbossa.org [Wed, 23 May 2012 21:02:33 +0000 (21:02 +0000)]
[watchlist] Add myself and create a watch rule to catch Attribute related patches
https://bugs.webkit.org/show_bug.cgi?id=87303

Reviewed by Alexis Menard.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
commit-queue@webkit.org [Wed, 23 May 2012 20:58:48 +0000 (20:58 +0000)]
[EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
https://bugs.webkit.org/show_bug.cgi?id=87092

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-23
Reviewed by Adam Barth.

Source/WebCore:

Remove readonly keyword from the webkitIntent attribute. This is
needed otherwise the [Replaceable] extended attribute has not effect
with JSC. This is tested by webintents/web-intents-delivery-reuse.html
test case.

* Modules/intents/DOMWindowIntents.idl:

LayoutTests:

Remove webintents/web-intents-delivery-reuse.html from test
expectations now that window.webkitIntent is really replaceable and
now that the test is passing.

* platform/efl/test_expectations.txt:

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

7 years agoDFG should be able to inline functions that use arguments reflectively
fpizlo@apple.com [Wed, 23 May 2012 20:52:42 +0000 (20:52 +0000)]
DFG should be able to inline functions that use arguments reflectively
https://bugs.webkit.org/show_bug.cgi?id=86132

Reviewed by Oliver Hunt.

Merged r116838 from dfgopt.

This turns on inlining of functions that use arguments reflectively, but it
does not do any of the obvious optimizations that this exposes. I'll save that
for another patch - the important thing for now is that this contains all of
the plumbing necessary to make this kind of inlining sound even in bizarro
cases like an inline callee escaping the arguments object to parts of the
inline caller where the arguments are otherwise dead. Or even more fun cases
like where you've inlined to an inline stack that is three-deep, and the
function on top of the inline stack reflectively accesses the arguments of a
function that is in the middle of the inline stack. Any subsequent
optimizations that we do for the obvious cases of arguments usage in inline
functions will have to take care not to break the baseline functionality that
this patch plumbs together.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::dump):
* bytecode/CodeBlock.h:
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(AssemblyHelpers):
* dfg/DFGByteCodeParser.cpp:
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):
* dfg/DFGCapabilities.h:
(JSC::DFG::canInlineOpcode):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/CallFrame.cpp:
(JSC):
(JSC::CallFrame::someCodeBlockForPossiblyInlinedCode):
* interpreter/CallFrame.h:
(ExecState):
(JSC::ExecState::someCodeBlockForPossiblyInlinedCode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::retrieveArgumentsFromVMCode):
* runtime/Arguments.cpp:
(JSC::Arguments::tearOff):
(JSC):
(JSC::Arguments::tearOffForInlineCallFrame):
* runtime/Arguments.h:
(Arguments):
(JSC::Arguments::create):
(JSC::Arguments::finishCreation):
(JSC):

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

7 years agoEvery OSR exit on ARM results in a crash
fpizlo@apple.com [Wed, 23 May 2012 20:51:21 +0000 (20:51 +0000)]
Every OSR exit on ARM results in a crash
https://bugs.webkit.org/show_bug.cgi?id=87307

Reviewed by Geoffrey Garen.

* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):

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

7 years agoRefactored heap tear-down to use normal value semantics (i.e., destructors)
ggaren@apple.com [Wed, 23 May 2012 20:47:46 +0000 (20:47 +0000)]
Refactored heap tear-down to use normal value semantics (i.e., destructors)
https://bugs.webkit.org/show_bug.cgi?id=87302

Reviewed by Oliver Hunt.

This is a step toward incremental DOM finalization.

* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::~CopiedSpace):
* heap/CopiedSpace.h:
(CopiedSpace): Just use our destructor, instead of relying on the heap
to send us a special message at a special time.

* heap/Heap.cpp:
(JSC::Heap::Heap): Use OwnPtr for m_markListSet because this is not Sparta.

(JSC::Heap::~Heap): No need for delete or freeAllBlocks because normal
destructors do this work automatically now.

(JSC::Heap::lastChanceToFinalize): Just call lastChanceToFinalize on our
sub-objects, and assume it does the right thing. This improves encapsulation,
so we can add items requiring finalization to our sub-objects.

* heap/Heap.h: Moved m_blockAllocator to get the right destruction order.

* heap/MarkedSpace.cpp:
(Take):
(JSC):
(JSC::Take::Take):
(JSC::Take::operator()):
(JSC::Take::returnValue): Moved to the top of the file so it can be used
in another function.

(JSC::MarkedSpace::~MarkedSpace): Delete all outstanding memory, like a good
destructor should.

(JSC::MarkedSpace::lastChanceToFinalize): Moved some code here from the heap,
since it pertains to our internal implementation details.

* heap/MarkedSpace.h:
(MarkedSpace):
* heap/WeakBlock.cpp:
(JSC::WeakBlock::lastChanceToFinalize):
* heap/WeakBlock.h:
(WeakBlock):
* heap/WeakSet.cpp:
(JSC::WeakSet::lastChanceToFinalize):
* heap/WeakSet.h:
(WeakSet): Stop using a special freeAllBlocks() callback and just implement
lastChanceToFinalize.

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

7 years ago[Chromium] Move themeEngine to Platform.h
pilgrim@chromium.org [Wed, 23 May 2012 20:43:20 +0000 (20:43 +0000)]
[Chromium] Move themeEngine to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=87268

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::themeEngine):
* chromium/public/android: Added.
* chromium/public/android/WebThemeEngine.h: Added.
(WebKit):
(WebThemeEngine):
(ScrollbarTrackExtraParams):
(ButtonExtraParams):
(TextFieldExtraParams):
(MenuListExtraParams):
(SliderExtraParams):
(InnerSpinButtonExtraParams):
(ProgressBarExtraParams):
(WebKit::WebThemeEngine::getSize):
(WebKit::WebThemeEngine::paint):
* chromium/public/linux: Added.
* chromium/public/linux/WebThemeEngine.h: Added.
(WebKit):
(WebThemeEngine):
(ScrollbarTrackExtraParams):
(ButtonExtraParams):
(TextFieldExtraParams):
(MenuListExtraParams):
(SliderExtraParams):
(InnerSpinButtonExtraParams):
(ProgressBarExtraParams):
(WebKit::WebThemeEngine::getSize):
(WebKit::WebThemeEngine::paint):
* chromium/public/mac: Added.
* chromium/public/mac/WebThemeEngine.h: Added.
(WebKit):
(WebThemeEngine):
(ScrollbarInfo):
(WebKit::WebThemeEngine::paintScrollbarThumb):
* chromium/public/win: Added.
* chromium/public/win/WebThemeEngine.h: Added.
(WebKit):
(WebThemeEngine):
(WebKit::WebThemeEngine::paintSpinButton):
(WebKit::WebThemeEngine::paintProgressBar):

Source/WebKit/chromium:

* WebKit.gyp:
* public/platform/WebKitPlatformSupport.h:
(WebKit):
(WebKit::WebKitPlatformSupport::sandboxSupport):
* public/platform/android/WebThemeEngine.h:
* public/platform/linux/WebThemeEngine.h:
* public/platform/mac/WebThemeEngine.h:
* public/platform/win/WebThemeEngine.h:
* src/AssertMatchingEnums.cpp:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::paintButton):
(WebCore::PlatformSupport::paintMenuList):
(WebCore::PlatformSupport::paintScrollbarArrow):
(WebCore::PlatformSupport::paintScrollbarThumb):
(WebCore::PlatformSupport::paintScrollbarTrack):
(WebCore::PlatformSupport::paintSpinButton):
(WebCore::PlatformSupport::paintTextField):
(WebCore::PlatformSupport::paintTrackbar):
(WebCore::PlatformSupport::paintProgressBar):
(WebCore::PlatformSupport::getThemePartSize):
(WebCore::PlatformSupport::paintThemePart):

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

7 years agoASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
inferno@chromium.org [Wed, 23 May 2012 20:41:11 +0000 (20:41 +0000)]
ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
https://bugs.webkit.org/show_bug.cgi?id=87274

Reviewed by Darin Adler.

Source/WebCore:

Progress bar can't run-in. Prevent it from becoming a run-in, leading to an
unworkable RenderInline.

Test: fast/runin/progress-run-in-crash.html

* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::didElementStateChange):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):

LayoutTests:

* fast/runin/progress-run-in-crash-expected.txt: Added.
* fast/runin/progress-run-in-crash.html: Added.

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

7 years agogarden-o-matic should not fetch from debug bots if it also knows about the release...
dpranke@chromium.org [Wed, 23 May 2012 20:35:48 +0000 (20:35 +0000)]
garden-o-matic should not fetch from debug bots if it also knows about the release bots
https://bugs.webkit.org/show_bug.cgi?id=86916

Reviewed by Adam Barth.

This change pushes all of the logic for rebaselining a cluster
of failures (a list of tests failing a list of suffixes on a
list of bots) onto the server, so there is a single call from
the web page; we will then be able to optimize the performance
of the rebaselining better.

Also remove the 'optimizebaseline' entry point on garden-o-matic
(and the client-side call) since we don't need it any more.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler.rebaselineall):
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:

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

7 years agoRemove minimum and maximum scroll position as they are no
commit-queue@webkit.org [Wed, 23 May 2012 20:30:24 +0000 (20:30 +0000)]
Remove minimum and maximum scroll position as they are no
longer required due to changes in ScrollViewBase.
https://bugs.webkit.org/show_bug.cgi?id=87298

Patch by Genevieve Mak <gmak@rim.com> on 2012-05-23
Reviewed by Antonio Gomes.

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
* WebKitSupport/InRegionScrollableArea.h:
(InRegionScrollableArea):

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

7 years agoMac DRT should be able to load external URLs for replay performance tests
rniwa@webkit.org [Wed, 23 May 2012 20:21:45 +0000 (20:21 +0000)]
Mac DRT should be able to load external URLs for replay performance tests
https://bugs.webkit.org/show_bug.cgi?id=86191

Reviewed by Alexey Proskuryakov.

Let external URL requests go through if the test file is not a local file or hosted at localhost.
e.g. "DumpRenderTree http://webkit.org/" as supposed to "DumpRenderTree test.html" or
"DumpRenderTree http://localhost:8000/".

* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(isLocalhost):
(hostIsUsedBySomeTestsToGenerateError):
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

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

7 years ago[BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAn...
commit-queue@webkit.org [Wed, 23 May 2012 20:12:34 +0000 (20:12 +0000)]
[BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAnimationFrames
https://bugs.webkit.org/show_bug.cgi?id=87289

Patch by Andrew Lo <anlo@rim.com> on 2012-05-23
Reviewed by Antonio Gomes.

requestAnimationFrame already covered by tests in LayoutTests/fast/animation.

If UI thread cannot acquire DisplayRefreshMonitor mutex immediately,
avoid blocking on the mutex, it can trigger the frame change on the next
animation tick instead.

* platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
(WebCore::DisplayRefreshMonitor::displayLinkFired):

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

7 years ago[Qt][Wk2] Assertion failure when selecting an option in select list with size attribu...
commit-queue@webkit.org [Wed, 23 May 2012 19:43:57 +0000 (19:43 +0000)]
[Qt][Wk2] Assertion failure when selecting an option in select list with size attribute greater than one
https://bugs.webkit.org/show_bug.cgi?id=86974

Patch by Dinu Jacob <dinu.jacob@nokia.com> on 2012-05-23
Reviewed by Simon Hausmann.

Select list with size attribute greater than one will not initially have any
item in selected state (if no option has 'selected' tag), resulting in
m_selectedModelIndex in WebPopupMenuProxyQt to be invalid. Hence, need to check
whether the old index is invalid before accessing the item at that index.

* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Added new test that
  tests selection in a select list with size attribute value of 2.
* UIProcess/API/qt/tests/qmltests/common/selectwithsize.html: Added.
* UIProcess/qt/WebPopupMenuProxyQt.cpp:
(WebKit::PopupMenuItemModel::select): Check whether old index is valid before accessing
  the item at that index.

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

7 years agoImplement DOM4 DOMError
commit-queue@webkit.org [Wed, 23 May 2012 19:38:55 +0000 (19:38 +0000)]
Implement DOM4 DOMError
https://bugs.webkit.org/show_bug.cgi?id=87055

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-23
Reviewed by Adam Barth.

Implement the DOMError class and it's IDL interface.

No new tests. Not testable yet, as it's not used.

* WebCore.gypi:
* dom/DOMError.cpp: Added.
(WebCore):
(WebCore::DOMError::DOMError):
* dom/DOMError.h: Added.
(WebCore):
(DOMError):
(WebCore::DOMError::create):
(WebCore::DOMError::name):
* dom/DOMError.idl: Added.

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

7 years agoREGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing...
kbr@google.com [Wed, 23 May 2012 19:22:03 +0000 (19:22 +0000)]
REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots.
https://bugs.webkit.org/show_bug.cgi?id=87136

Reviewed by Stephen White.

Source/WebCore:

Fixed longstanding bug in GraphicsContext3D constructor in Mac
port, and logic error in tracking of texture bound to unit 0. Also
fixed up Cairo port's constructor by code inspection. This code is
ripe for cleanup; Bug 87198 filed for this.

Covered by existing tests.

* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
    Initialize missing members.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
    Correctly initialize m_activeTexture.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::bindTexture):
    Fix logic error in tracking of texture bound to unit 0.

LayoutTests:

Unskipped tests.

* platform/mac/Skipped:

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

7 years agoChange acceptMIMETypes member to acceptTypes now that file extensions are legal accep...
commit-queue@webkit.org [Wed, 23 May 2012 19:09:40 +0000 (19:09 +0000)]
Change acceptMIMETypes member to acceptTypes now that file extensions are legal accept types
https://bugs.webkit.org/show_bug.cgi?id=87271

Patch by Raymes Khoury <raymes@chromium.org> on 2012-05-23
Reviewed by Darin Fisher.

* public/WebFileChooserParams.h:
(WebFileChooserParams):
* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::runOpenPanel):

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

7 years ago[chromium] Layers on main thread should get a RenderSurface for animating transform...
danakj@chromium.org [Wed, 23 May 2012 18:57:36 +0000 (18:57 +0000)]
[chromium] Layers on main thread should get a RenderSurface for animating transform only if masksToBounds is true also
https://bugs.webkit.org/show_bug.cgi?id=87184

Reviewed by James Robinson.

Source/WebCore:

Layers on main thread get a RenderSurface if their impl counterpart may
have a RenderSurface due to its animating transform. We currently create
a RenderSurface for all layers with an animating transform and
a descendant that drawsContents. But a RenderSurface on impl also
implies that the layer masksToBounds. So only make a RenderSurface on
main thread when the layer also masksToBounds.

Modified unit test CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::subtreeShouldRenderToSeparateSurface):

Source/WebKit/chromium:

* tests/CCLayerTreeHostCommonTest.cpp:
(WebKitTests::TEST):

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

7 years ago[Chromium] Move queryLocalizedString to Platform.h
pilgrim@chromium.org [Wed, 23 May 2012 18:53:26 +0000 (18:53 +0000)]
[Chromium] Move queryLocalizedString to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85762

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(Platform):
(WebKit::Platform::queryLocalizedString):
* chromium/public/WebLocalizedString.h: Added.
(WebKit):

Source/WebKit/chromium:

* WebKit.gyp:
* public/platform/WebKitPlatformSupport.h:
(WebKit::WebKitPlatformSupport::getPluginList):
* public/platform/WebLocalizedString.h:
* src/LocalizedStrings.cpp:
(WebCore::query):

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

7 years agoSource/WebCore: Regression(r112694): Crash in WebCore::AXObjectCache::postNotification
cfleizach@apple.com [Wed, 23 May 2012 18:45:15 +0000 (18:45 +0000)]
Source/WebCore: Regression(r112694): Crash in WebCore::AXObjectCache::postNotification
https://bugs.webkit.org/show_bug.cgi?id=86029

Reviewed by Abhishek Arya.

Test: accessibility/content-changed-notification-causes-crash.html

* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isDetached):
(AccessibilityObject):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::contentChanged):

LayoutTests: Regression(r112694): Crash in WebCore::AXObjectCache::postNotification
https://bugs.webkit.org/show_bug.cgi?id=86029

Reviewed by Abhishek Arya.

* accessibility/content-changed-notification-causes-crash-expected.txt: Added.
* accessibility/content-changed-notification-causes-crash.html: Added.

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

7 years agoREGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline...
jer.noble@apple.com [Wed, 23 May 2012 18:31:23 +0000 (18:31 +0000)]
REGRESSION (r116188): After exiting full screen, Safari window is frozen, then inline video speeds through frames as it catches up with audio
https://bugs.webkit.org/show_bug.cgi?id=87206

Reviewed by Darin Adler.

When re-enabling the Safari window's autodisplay flag, also force the window to re-display.
Otherwise, the window will not repaint itself until it is forced to by user interaction.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):

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

7 years agoEncapsulated some calculations for whether portions of the heap are empty
ggaren@apple.com [Wed, 23 May 2012 18:29:55 +0000 (18:29 +0000)]
Encapsulated some calculations for whether portions of the heap are empty
https://bugs.webkit.org/show_bug.cgi?id=87210

Reviewed by Gavin Barraclough.

This is a step toward incremental DOM finalization.

* heap/Heap.cpp:
(JSC::Heap::~Heap): Explicitly call freeAllBlocks() instead of relying
implicitly on all blocks thinking they're empty. In future, we may
choose to tear down the heap without first setting all data structures
to "empty".

* heap/MarkedBlock.h:
(JSC::MarkedBlock::isEmpty):
(JSC::MarkedBlock::gatherDirtyCells): Renamed markCountIsZero to isEmpty,
in preparation for making it check for outstanding finalizers in addition
to marked cells.

* heap/MarkedSpace.cpp:
(Take):
(JSC::Take::Take):
(JSC::Take::operator()):
(JSC::Take::returnValue):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::freeAllBlocks): Refactored the "Take" functor to support
a conditional isEmpty check, so it dould be shared by shrink() and freeAllBlocks().

* heap/WeakBlock.cpp:
(JSC::WeakBlock::WeakBlock):
(JSC::WeakBlock::visitLiveWeakImpls):
(JSC::WeakBlock::visitDeadWeakImpls):
* heap/WeakBlock.h:
(WeakBlock):
(JSC::WeakBlock::isEmpty):
* heap/WeakSet.cpp:
(JSC::WeakSet::sweep):
(JSC::WeakSet::shrink): Use isEmpty(), in preparation for changes in
its implementation.

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

7 years ago[wx] Fix memory leak in FontHolder.
kevino@webkit.org [Wed, 23 May 2012 18:24:39 +0000 (18:24 +0000)]
[wx] Fix memory leak in FontHolder.
https://bugs.webkit.org/show_bug.cgi?id=87281

Reviewed by Kevin Ollivier.

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

7 years agoUnreviewed gardening - one more media/track test is crashy.
jsbell@chromium.org [Wed, 23 May 2012 18:23:29 +0000 (18:23 +0000)]
Unreviewed gardening - one more media/track test is crashy.

* platform/chromium/test_expectations.txt:

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

7 years ago[wx] Make sure we do not create a substitute font if the facename is not found.
kevino@webkit.org [Wed, 23 May 2012 18:22:04 +0000 (18:22 +0000)]
[wx] Make sure we do not create a substitute font if the facename is not found.
https://bugs.webkit.org/show_bug.cgi?id=87280

Reviewed by Kevin Ollivier.

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

7 years ago[wx] Implement transparency layer support.
kevino@webkit.org [Wed, 23 May 2012 18:17:43 +0000 (18:17 +0000)]
[wx] Implement transparency layer support.
https://bugs.webkit.org/show_bug.cgi?id=87279

Reviewed by Kevin Ollivier.

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

7 years agoGenericClock loses precision due to float->double conversion.
jer.noble@apple.com [Wed, 23 May 2012 18:11:55 +0000 (18:11 +0000)]
GenericClock loses precision due to float->double conversion.
https://bugs.webkit.org/show_bug.cgi?id=87227

Reviewed by Darin Adler.

No new tests; fixes media/media-controller-time.html on Chromium.

Only narrow to float after the entire calculation is complete. This requires now() and m_offset
to be double-precision.

* platform/ClockGeneric.cpp:
(ClockGeneric::currentTime):
(ClockGeneric::now): Make double-precision.
* platform/ClockGeneric.h:
(ClockGeneric): Make m_offset double-precision.

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

7 years agoPlatformClockCM has uninitialized m_rate member.
jer.noble@apple.com [Wed, 23 May 2012 18:11:48 +0000 (18:11 +0000)]
PlatformClockCM has uninitialized m_rate member.
https://bugs.webkit.org/show_bug.cgi?id=87217

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-controller-time.html

Initialize the m_rate member to a default of 1 (second-per-second), matching the implementation
of ClockGeneric.

* platform/mac/PlatformClockCM.mm:
(PlatformClockCM::PlatformClockCM):

LayoutTests:

* media/media-controller-time-expected.txt: Added.
* media/media-controller-time.html: Added.

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

7 years agoUnreviewed, rolling out r118096.
commit-queue@webkit.org [Wed, 23 May 2012 18:02:50 +0000 (18:02 +0000)]
Unreviewed, rolling out r118096.
http://trac.webkit.org/changeset/118096
https://bugs.webkit.org/show_bug.cgi?id=87285

caused multiple crashes on the mac bots (Requested by
jessieberlin on #webkit).

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

* dom/ContainerNodeAlgorithms.h:

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

7 years agoBuild fix.
antti@apple.com [Wed, 23 May 2012 18:00:24 +0000 (18:00 +0000)]
Build fix.

Not reviewed.

* src/WebDocument.cpp:
(WebKit::WebDocument::insertUserStyleSheet):

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

7 years ago[BlackBerry] Reset JS state for each test
commit-queue@webkit.org [Wed, 23 May 2012 17:46:30 +0000 (17:46 +0000)]
[BlackBerry] Reset JS state for each test
https://bugs.webkit.org/show_bug.cgi?id=86899

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-05-23
Reviewed by Nikolas Zimmermann.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
 (BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

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

7 years agofast/sub-pixel/layout-boxes-with-zoom.html fails at 166% zoom on Windows only
leviw@chromium.org [Wed, 23 May 2012 17:41:58 +0000 (17:41 +0000)]
fast/sub-pixel/layout-boxes-with-zoom.html fails at 166% zoom on Windows only
https://bugs.webkit.org/show_bug.cgi?id=87282

Unreviewed. Marking fast/sub-pixel/layout-boxes-with-zoom.html as failing on Chromium Windows.

* platform/chromium/test_expectations.txt:

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

7 years agoSpeed up traverseNextNode when called on a ContainerNode or Element
darin@apple.com [Wed, 23 May 2012 17:33:06 +0000 (17:33 +0000)]
Speed up traverseNextNode when called on a ContainerNode or Element
https://bugs.webkit.org/show_bug.cgi?id=87224

Reviewed by Geoffrey Garen.

* dom/ContainerNode.h: Added overrides of traverseNextNode for ContainerNode.
That way, when we know at compile time something is ContainerNode, we can
skip a branch at the start of this hot function.

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

7 years ago[wx] In wxWebKit release builds on MSW, keep release settings but also build the
kevino@webkit.org [Wed, 23 May 2012 17:32:29 +0000 (17:32 +0000)]
[wx] In wxWebKit release builds on MSW, keep release settings but also build the
debug symbols for easier debugging.
https://bugs.webkit.org/show_bug.cgi?id=87151

Reviewed by Kevin Ollivier.

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

7 years agoUse PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF
commit-queue@webkit.org [Wed, 23 May 2012 17:31:26 +0000 (17:31 +0000)]
Use PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF
https://bugs.webkit.org/show_bug.cgi?id=87096

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-23
Reviewed by Andy Estes.

Fix a build error by adding an extra check in PluginData.cpp to use
PluginStrategy only when NETSCAPE_PLUGIN_API is ON.

No new tests. This is only a build fix.

* plugins/PluginData.cpp:
(WebCore):

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

7 years ago[wx] Fix scrollbar drawing under wxGTK.
kevino@webkit.org [Wed, 23 May 2012 17:29:46 +0000 (17:29 +0000)]
[wx] Fix scrollbar drawing under wxGTK.
https://bugs.webkit.org/show_bug.cgi?id=87150

Reviewed by Kevin Ollivier.

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

7 years agoUnreviewed gardening - inspector/profiler/heap-snapshot-summary-show-ranges.html
jsbell@chromium.org [Wed, 23 May 2012 17:21:59 +0000 (17:21 +0000)]
Unreviewed gardening - inspector/profiler/heap-snapshot-summary-show-ranges.html
flakes on non-debug test runs too.

* platform/chromium/test_expectations.txt:

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

7 years agoRename StyleSheetInternal to StyleSheetContents
antti@apple.com [Wed, 23 May 2012 17:17:43 +0000 (17:17 +0000)]
Rename StyleSheetInternal to StyleSheetContents
https://bugs.webkit.org/show_bug.cgi?id=87272

Reviewed by Andreas Kling.

The name is more descriptive and the code reads better.

Plain "StyleSheet" would be good too but that is a CSSOM type and the name can't be used without
changing idl code generation and resolving bunch of other issues.

* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
* css/CSSFontFaceSrcValue.h:
(CSSFontFaceSrcValue):
* css/CSSImportRule.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
(WebCore::StyleRuleImport::requestStyleSheet):
* css/CSSImportRule.h:
(WebCore):
(WebCore::StyleRuleImport::parentStyleSheet):
(WebCore::StyleRuleImport::setParentStyleSheet):
(WebCore::StyleRuleImport::styleSheet):
(StyleRuleImport):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::insertRule):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseRule):
(WebCore::CSSParser::parseKeyframeRule):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseSelector):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::setStyleSheet):
(WebCore::CSSParser::parseFlowThread):
* css/CSSParser.h:
(WebCore):
(CSSParser):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
* css/CSSPrimitiveValue.h:
(CSSPrimitiveValue):
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::addSubresourceStyleURLs):
* css/CSSReflectValue.h:
(CSSReflectValue):
* css/CSSRule.cpp:
(WebCore::CSSRule::parserContext):
* css/CSSStyleSheet.cpp:
(WebCore::StyleSheetContents::estimatedSizeInBytes):
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::~StyleSheetContents):
(WebCore::StyleSheetContents::isCacheable):
(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::ruleAt):
(WebCore::StyleSheetContents::ruleCount):
(WebCore::StyleSheetContents::clearCharsetRule):
(WebCore::StyleSheetContents::clearRules):
(WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
(WebCore::StyleSheetContents::wrapperDeleteRule):
(WebCore::StyleSheetContents::parserAddNamespace):
(WebCore::StyleSheetContents::determineNamespace):
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
(WebCore::StyleSheetContents::parseStringAtLine):
(WebCore::StyleSheetContents::isLoading):
(WebCore::StyleSheetContents::checkLoaded):
(WebCore::StyleSheetContents::notifyLoadedSheet):
(WebCore::StyleSheetContents::startLoadingDynamicSheet):
(WebCore::StyleSheetContents::rootStyleSheet):
(WebCore::StyleSheetContents::singleOwnerNode):
(WebCore::StyleSheetContents::singleOwnerDocument):
(WebCore::StyleSheetContents::completeURL):
(WebCore::StyleSheetContents::addSubresourceStyleURLs):
(WebCore::StyleSheetContents::parentStyleSheet):
(WebCore::StyleSheetContents::registerClient):
(WebCore::StyleSheetContents::unregisterClient):
(WebCore::StyleSheetContents::addedToMemoryCache):
(WebCore::StyleSheetContents::removedFromMemoryCache):
(WebCore::CSSStyleSheet::createInline):
(WebCore::CSSStyleSheet::CSSStyleSheet):
(WebCore::CSSStyleSheet::~CSSStyleSheet):
(WebCore::CSSStyleSheet::willMutateRules):
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::length):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):
(WebCore::CSSStyleSheet::cssRules):
* css/CSSStyleSheet.h:
(WebCore::StyleSheetContents::create):
(StyleSheetContents):
(WebCore::StyleSheetContents::copy):
(WebCore::CSSStyleSheet::create):
(WebCore::CSSStyleSheet::contents):
(CSSStyleSheet):
* css/CSSValue.cpp:
(WebCore::CSSValue::addSubresourceStyleURLs):
* css/CSSValue.h:
(WebCore):
(CSSValue):
* css/CSSValueList.cpp:
(WebCore::CSSValueList::addSubresourceStyleURLs):
* css/CSSValueList.h:
(CSSValueList):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
* css/PropertySetCSSStyleDeclaration.h:
(WebCore):
(PropertySetCSSStyleDeclaration):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet::parseDeclaration):
(WebCore::StylePropertySet::addSubresourceStyleURLs):
* css/StylePropertySet.h:
(WebCore):
(StylePropertySet):
* css/StyleResolver.cpp:
(RuleSet):
(WebCore):
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
(WebCore::StyleResolver::appendAuthorStylesheets):
(WebCore::parseUASheet):
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleResolver.h:
(StyleResolver):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::insertRule):
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createCSSStyleSheet):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
(WebCore::Document::updateBaseURL):
(WebCore::Document::pageUserSheet):
(WebCore::Document::pageGroupUserSheets):
(WebCore::Document::addUserSheet):
(WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
(WebCore::Document::analyzeStylesheetChange):
(WebCore::styleSheetsUseRemUnits):
* dom/Document.h:
(WebCore):
(Document):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setCSSStyleSheet):
(WebCore::ProcessingInstruction::parseStyleSheet):
* dom/StyleElement.cpp:
(WebCore::StyleElement::createSheet):
* dom/StyledElement.cpp:
(WebCore::StyledElement::setInlineStyleProperty):
(WebCore::StyledElement::addSubresourceAttributeURLs):
(WebCore::StyledElement::addPropertyToAttributeStyle):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
(WebCore::HTMLLinkElement::styleSheetIsLoading):
(WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
* inspector/InspectorStyleSheet.cpp:
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::setPropertyText):
(WebCore::InspectorStyleSheet::styleSheetURL):
(WebCore::InspectorStyleSheet::reparseStyleSheet):
(WebCore::InspectorStyleSheet::ensureSourceData):
(WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
* loader/cache/CachedCSSStyleSheet.h:
(WebCore):
(CachedCSSStyleSheet):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeCSSStyleSheet):

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

7 years agoUnreviewed gardening - add timeout and crash expectations for a few tests.
jsbell@chromium.org [Wed, 23 May 2012 17:16:30 +0000 (17:16 +0000)]
Unreviewed gardening - add timeout and crash expectations for a few tests.

* platform/chromium/test_expectations.txt:

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

7 years agoUse ContainerNode instead of Node where possible
darin@apple.com [Wed, 23 May 2012 16:56:33 +0000 (16:56 +0000)]
Use ContainerNode instead of Node where possible
https://bugs.webkit.org/show_bug.cgi?id=87220

Reviewed by Geoffrey Garen.

It's better to use a more specific type; in some cases we even generate
more efficient code if we have a more specific type. Also, we want any
type casts to be as close as possible to the corresponding type checks,
so eliminating these uses of toContainerNode is a plus, also.

* dom/ContainerNodeAlgorithms.h: Changed insertionPoint to be a ContainerNode
instead of a Node. Fixed spelling error "inseretions". Changed
(WebCore::ChildFrameDisconnector::Target::Target): Changed type of frame owner
element to HTMLFrameOwnerElement from Node.

* dom/DocumentType.cpp:
(WebCore::DocumentType::insertedInto):
(WebCore::DocumentType::removedFrom):
* dom/DocumentType.h:
* dom/Element.cpp:
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
* dom/Element.h:
* dom/Node.cpp:
(WebCore::Node::insertedInto):
(WebCore::Node::removedFrom):
* dom/Node.h:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::insertedInto):
(WebCore::ProcessingInstruction::removedFrom):
* dom/ProcessingInstruction.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::insertedInto):
* dom/ScriptElement.h:
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::insertedInto):
(WebCore::FormAssociatedElement::removedFrom):
* html/FormAssociatedElement.h:
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::insertedInto):
(WebCore::HTMLBaseElement::removedFrom):
* html/HTMLBaseElement.h:
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::insertedInto):
(WebCore::HTMLBodyElement::didNotifyDescendantInsertions):
* html/HTMLBodyElement.h:
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::insertedInto):
(WebCore::HTMLFormControlElement::removedFrom):
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::insertedInto):
(WebCore::HTMLFormElement::didNotifyDescendantInsertions):
(WebCore::HTMLFormElement::removedFrom):
* html/HTMLFormElement.h:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::insertedInto):
(WebCore::HTMLFrameElementBase::didNotifyDescendantInsertions):
* html/HTMLFrameElementBase.h:
* html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::insertedInto):
(WebCore::HTMLFrameSetElement::removedFrom):
* html/HTMLFrameSetElement.h:
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::insertedInto):
(WebCore::HTMLIFrameElement::removedFrom):
* html/HTMLIFrameElement.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::insertedInto):
(WebCore::HTMLImageElement::removedFrom):
* html/HTMLImageElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::insertedInto):
(WebCore::HTMLInputElement::removedFrom):
* html/HTMLInputElement.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::insertedInto):
(WebCore::HTMLLinkElement::removedFrom):
* html/HTMLLinkElement.h:
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::insertedInto):
(WebCore::HTMLMapElement::removedFrom):
* html/HTMLMapElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::removedFrom):
* html/HTMLMediaElement.h:
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::insertedInto):
* html/HTMLMetaElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::insertedInto):
(WebCore::HTMLObjectElement::removedFrom):
* html/HTMLObjectElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::insertedInto):
* html/HTMLOptionElement.h:
* html/HTMLQuoteElement.cpp:
(WebCore::HTMLQuoteElement::insertedInto):
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::insertedInto):
* html/HTMLScriptElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::insertedInto):
* html/HTMLSelectElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::insertedInto):
(WebCore::HTMLSourceElement::removedFrom):
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::insertedInto):
(WebCore::HTMLStyleElement::removedFrom):
* html/HTMLStyleElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::insertedInto):
* html/HTMLTextFormControlElement.h:
* html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::insertedInto):
(WebCore::HTMLTitleElement::removedFrom):
* html/HTMLTitleElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::insertedInto):
(WebCore::HTMLTrackElement::removedFrom):
* html/HTMLTrackElement.h:
* mathml/MathMLMathElement.cpp:
(WebCore::MathMLMathElement::insertedInto):
* mathml/MathMLMathElement.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::removedFrom):
* svg/SVGElement.h:
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::insertedInto):
(WebCore::SVGFEImageElement::removedFrom):
* svg/SVGFEImageElement.h:
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::insertedInto):
(WebCore::SVGFontFaceElement::removedFrom):
* svg/SVGFontFaceElement.h:
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::insertedInto):
* svg/SVGFontFaceUriElement.h:
* svg/SVGGlyphElement.cpp:
(WebCore::SVGGlyphElement::insertedInto):
(WebCore::SVGGlyphElement::removedFrom):
* svg/SVGGlyphElement.h:
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::insertedInto):
(WebCore::SVGHKernElement::removedFrom):
* svg/SVGHKernElement.h:
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::insertedInto):
* svg/SVGImageElement.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::insertedInto):
(WebCore::SVGSVGElement::removedFrom):
* svg/SVGSVGElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::insertedInto):
* svg/SVGScriptElement.h:
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::insertedInto):
(WebCore::SVGStyleElement::removedFrom):
* svg/SVGStyleElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::insertedInto):
(WebCore::SVGStyledElement::removedFrom):
* svg/SVGStyledElement.h:
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::insertedInto):
(WebCore::SVGTRefElement::removedFrom):
* svg/SVGTRefElement.h:
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::insertedInto):
* svg/SVGTextPathElement.h:
* svg/SVGTitleElement.cpp:
(WebCore::SVGTitleElement::insertedInto):
(WebCore::SVGTitleElement::removedFrom):
* svg/SVGTitleElement.h:
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::insertedInto):
(WebCore::SVGUseElement::removedFrom):
* svg/SVGUseElement.h:
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::insertedInto):
(WebCore::SVGVKernElement::removedFrom):
* svg/SVGVKernElement.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedInto):
(WebCore::SVGSMILElement::removedFrom):
* svg/animation/SVGSMILElement.h:
Changed arguments of insertedInto and removedFrom to ContainerNode instead of Node.
Did the same with didNotifyDescendantInsertions, while fixing the typo in its name.

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply): Put a typecast toHTMLElement here.
The check for isListElement and isLegacyAppleStyleSpan takes care of the type checking.
(WebCore::ReplaceSelectionCommand::insertAsListItems): Changed this function to take
an HTMLElement instead of a Node, then we can drop use of the toContainerNode function.
* editing/ReplaceSelectionCommand.h:

* editing/TextIterator.cpp: Fixed a typo in a comment.

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

7 years agoOptimize iteration of empty hash tables
darin@apple.com [Wed, 23 May 2012 16:32:56 +0000 (16:32 +0000)]
Optimize iteration of empty hash tables
https://bugs.webkit.org/show_bug.cgi?id=87215

Reviewed by Geoffrey Garen.

Iteration of empty hash tables was showing up on simple page loading
profiles due to the use of hash tables in the
NodeListsNodeData::invalidateCaches and
NodeListsNodeData::invalidateCachesThatDependOnAttributes functions.
It's worth optimizing the case of an empty table.

* wtf/HashTable.h:
(WTF::HashTable::begin): Return the known-good end iterator when the
table is empty. This makes iterating an empty table faster because we
avoid skipping empty and deleted buckets.

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

7 years agoAdd crashing expectation for more media/track tests:
jsbell@chromium.org [Wed, 23 May 2012 16:30:00 +0000 (16:30 +0000)]
Add crashing expectation for more media/track tests:
track-language-preference.html, track-load-from-element-readyState.html, and
track-webvtt-tc019-cue-size.html - tracked in http://webkit.org/b/87258

Unreviewed gardening.

* platform/chromium/test_expectations.txt:

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