WebKit-https.git
8 years ago[Chromium] Need to remove app/ from DEPS
commit-queue@webkit.org [Tue, 19 Jul 2011 20:33:52 +0000 (20:33 +0000)]
[Chromium] Need to remove app/ from DEPS
https://bugs.webkit.org/show_bug.cgi?id=64750

Patch by Robert Sesek <rsesek@chromium.org> on 2011-07-19
Reviewed by Tony Chang.

.:

Remove Source/WebKit/chromium/app/ from .gitignore.

* .gitignore:

Source/WebKit/chromium:

Roll DEPS and remove dependencies on Chromium's /src/app.

* DEPS:
* WebKit.gyp:

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

8 years ago2011-07-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 19 Jul 2011 20:32:58 +0000 (20:32 +0000)]
2011-07-19  Simon Fraser  <simon.fraser@apple.com>

        Possible recursion in GraphicsLayerCA::updateGeometry()
        https://bugs.webkit.org/show_bug.cgi?id=64815

        Reviewed by Sam Weinig.

        It was possible to recurse via updateGeometry/swapFromOrToTiledLayer/
        updateContentsScale because updateGeometry() and updateContentsScale()
        used different sizes; updateGeometry() used the scaled size, while
        updateContentsScale() used the unscaled size.

        Always use the unscaled size; the scaled size will be at most a couple
        of pixels bigger, and our threshold is not close to the max texture
        size limit, so using the slightly smaller size is OK.

        Test: compositing/scaling/tiled-layer-recursion.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateGeometry):
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
        (WebCore::GraphicsLayerCA::updateContentsScale):
        (WebCore::GraphicsLayerCA::requiresTiledLayer):
        * platform/graphics/ca/GraphicsLayerCA.h:

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

8 years ago2011-07-19 Rob Buis <rbuis@rim.com>
rwlbuis@webkit.org [Tue, 19 Jul 2011 20:20:36 +0000 (20:20 +0000)]
2011-07-19  Rob Buis  <rbuis@rim.com>

        REGRESSION (r89951): svg/foreignObject/text-tref-02-b.svg failing on Leopard Intel Release (Tests)
        https://bugs.webkit.org/show_bug.cgi?id=64817

        Rubber stamped by Darin Adler.

        Remove outdated, incorrect test results, hopefully the generic mac results are good enough.

        * platform/mac-leopard/svg/foreignObject/text-tref-02-b-expected.png: Removed.
        * platform/mac-leopard/svg/foreignObject/text-tref-02-b-expected.txt: Removed.

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

8 years agoAdd platform-specific results for r91277.
robert@webkit.org [Tue, 19 Jul 2011 20:08:27 +0000 (20:08 +0000)]
Add platform-specific results for r91277.

Unreviewed, add platform-specific results.

* platform/gtk/fast/table/align-right-within-left-aligned-div-expected.txt: Added.
* platform/mac/fast/table/align-right-within-left-aligned-div-expected.txt: Added.
* platform/qt/fast/table/align-right-within-left-aligned-div-expected.txt: Added.

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

8 years agoadd myself to committers.py
caryclark@google.com [Tue, 19 Jul 2011 20:06:47 +0000 (20:06 +0000)]
add myself to committers.py
https://bugs.webkit.org/show_bug.cgi?id=64816

No review needed.

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

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

8 years agoSource/JavaScriptCore: [JSC] WebKit allocates gigabytes of memory when doing repeated...
barraclough@apple.com [Tue, 19 Jul 2011 20:03:13 +0000 (20:03 +0000)]
Source/JavaScriptCore: [JSC] WebKit allocates gigabytes of memory when doing repeated string concatenation
https://bugs.webkit.org/show_bug.cgi?id=63918

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-07-19
Reviewed by Darin Adler.

When allocating JSStrings during concatenation, we needed to call the Heap's reportExtraMemoryCost
method due to additional string copying within several of the constructors when dealing with
UStrings.  This has been added to the UString version of the appendStringInConstruct method
within the JSString class.

* runtime/JSString.h:
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::appendStringInConstruct):

LayoutTests: Chromium rebaselines r91269 and r91277.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2011-07-19

* platform/chromium-linux/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.
* platform/chromium-mac/fast/table/align-right-within-left-aligned-div-expected.png: Added.
* platform/chromium-mac/fast/table/align-right-within-left-aligned-div-expected.txt: Added.
* platform/chromium-mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.

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

8 years ago[JSC] WebKit allocates gigabytes of memory when doing repeated string concatenation
commit-queue@webkit.org [Tue, 19 Jul 2011 19:49:07 +0000 (19:49 +0000)]
[JSC] WebKit allocates gigabytes of memory when doing repeated string concatenation
https://bugs.webkit.org/show_bug.cgi?id=63918

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-07-19
Reviewed by Darin Adler.

When allocating JSStrings during concatenation, we needed to call the Heap's reportExtraMemoryCost
method due to additional string copying within several of the constructors when dealing with
UStrings.  This has been added to the UString version of the appendStringInConstruct method
within the JSString class.

* runtime/JSString.h:
(JSC::RopeBuilder::JSString):
(JSC::RopeBuilder::appendStringInConstruct):

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

8 years agoChromium rebaselines r91269 and r91277.
rniwa@webkit.org [Tue, 19 Jul 2011 19:40:36 +0000 (19:40 +0000)]
Chromium rebaselines r91269 and r91277.

* platform/chromium-linux/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.
* platform/chromium-mac/fast/table/align-right-within-left-aligned-div-expected.png: Added.
* platform/chromium-mac/fast/table/align-right-within-left-aligned-div-expected.txt: Added.
* platform/chromium-mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png: Added.

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

8 years ago[CSSRegions]Parse -webkit-region-overflow property
commit-queue@webkit.org [Tue, 19 Jul 2011 19:32:00 +0000 (19:32 +0000)]
[CSSRegions]Parse -webkit-region-overflow property
https://bugs.webkit.org/show_bug.cgi?id=64444

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-19
Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/webkit-region-overflow-parsing.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RegionOverflow):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* css/CSSValueKeywords.in:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::regionOverflow):
(WebCore::InheritedFlags::setRegionOverflow):
(WebCore::InheritedFlags::initialRegionOverflow):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

LayoutTests:

* fast/regions/script-tests/webkit-region-overflow-parsing.js: Added.
* fast/regions/webkit-region-overflow-parsing-expected.txt: Added.
* fast/regions/webkit-region-overflow-parsing.html: Added.

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

8 years agohover then un-hover makes state change
commit-queue@webkit.org [Tue, 19 Jul 2011 19:25:30 +0000 (19:25 +0000)]
hover then un-hover makes state change
https://bugs.webkit.org/show_bug.cgi?id=56401

Source/WebCore:

When a 'before' pseudo-element is re-added, we should check whether the insertion point is an anonymous
block with inline children. If it is, then we should change the insertion point to the first child of the
anonymous block, otherwise the 'before' pseudo-element ends up in a different block.

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-19
Reviewed by David Hyatt.

Test: fast/dynamic/hover-before-position-after-style-change.html

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::updateBeforeAfterContent):

LayoutTests:

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-19
Reviewed by David Hyatt.

* fast/dynamic/hover-before-position-after-style-change-expected.txt: Added.
* fast/dynamic/hover-before-position-after-style-change.html: Added.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64677
barraclough@apple.com [Tue, 19 Jul 2011 19:16:28 +0000 (19:16 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64677
Fix bugs in String.prototype this handling.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

undefined/null this values should throw TypeErrors, not convert to
the global object, and primitive values should not be converted via
object types.

* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplit):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
    - These methods should throw if this value is undefined,
      convert ToString directly, not via ToObject.

LayoutTests:

* fast/js/script-tests/string-prototype-properties.js: Added.
* fast/js/string-prototype-properties-expected.txt: Added.
* fast/js/string-prototype-properties.html: Added.
    - Added layout test for string prototype functions with undefined/number as this value.

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

8 years agoImplement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
macpherson@chromium.org [Tue, 19 Jul 2011 19:13:50 +0000 (19:13 +0000)]
Implement CSSPropertyWebkitPerspectiveOrigin in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=64784

Reviewed by Simon Fraser.

No new tests / refactoring.

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):

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

8 years agoRename variable isEmptyTextPatch in svn-{apply, unapply}
dbates@webkit.org [Tue, 19 Jul 2011 19:00:58 +0000 (19:00 +0000)]
Rename variable isEmptyTextPatch in svn-{apply, unapply}
https://bugs.webkit.org/show_bug.cgi?id=64648

Reviewed by Adam Roben.

Rename the variable isEmptyTextPatch to hasTextChunks, which is
more descriptive and makes its usage read well in control statements.

* Scripts/svn-apply:
(patch):
* Scripts/svn-unapply:
(patch):

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

8 years agoImplement WaveShaperNode for Web Audio API
crogers@google.com [Tue, 19 Jul 2011 18:59:35 +0000 (18:59 +0000)]
Implement WaveShaperNode for Web Audio API
https://bugs.webkit.org/show_bug.cgi?id=64644

Reviewed by Kenneth Russell.

No new tests since audio API is not yet implemented.

* DerivedSources.make:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWaveShaperNodeCustom.cpp: Added.
(WebCore::JSWaveShaperNode::setCurve):
* webaudio/AudioContext.cpp:
(WebCore::AudioContext::createWaveShaper):
* webaudio/AudioContext.h:
* webaudio/AudioContext.idl:
* webaudio/AudioNode.h:
* webaudio/WaveShaperDSPKernel.cpp: Added.
(WebCore::WaveShaperDSPKernel::process):
* webaudio/WaveShaperDSPKernel.h: Added.
(WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel):
(WebCore::WaveShaperDSPKernel::reset):
(WebCore::WaveShaperDSPKernel::waveShaperProcessor):
* webaudio/WaveShaperNode.cpp: Added.
(WebCore::WaveShaperNode::WaveShaperNode):
(WebCore::WaveShaperNode::setCurve):
(WebCore::WaveShaperNode::curve):
* webaudio/WaveShaperNode.h: Added.
(WebCore::WaveShaperNode::create):
(WebCore::WaveShaperNode::waveShaperProcessor):
* webaudio/WaveShaperNode.idl: Added.
* webaudio/WaveShaperProcessor.cpp: Added.
(WebCore::WaveShaperProcessor::WaveShaperProcessor):
(WebCore::WaveShaperProcessor::~WaveShaperProcessor):
(WebCore::WaveShaperProcessor::createKernel):
(WebCore::WaveShaperProcessor::setCurve):
(WebCore::WaveShaperProcessor::process):
* webaudio/WaveShaperProcessor.h: Added.
(WebCore::WaveShaperProcessor::curve):

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

8 years agoDFG JIT sometimes emits spill code even when the respective values
commit-queue@webkit.org [Tue, 19 Jul 2011 18:55:16 +0000 (18:55 +0000)]
DFG JIT sometimes emits spill code even when the respective values
are never needed.
https://bugs.webkit.org/show_bug.cgi?id=64774

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-19
Reviewed by Gavin Barraclough.

The main high-level change is that it is now easier to call use() on a
virtual register.  JSValueOperand and its other-typed relatives now have
a handy use() method, and jsValueResult() and friends now make it easier to
pass UseChildrenCalledExplicitly.

The rest of this patch hoists the call to use() as high as possible for
all of those cases where either flushRegisters() or silentSpillAllRegisters()
may be called.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::cachedGetById):
(JSC::DFG::JITCodeGenerator::cachedGetMethod):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranch):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompare):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
(JSC::DFG::JITCodeGenerator::emitBranch):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::use):
(JSC::DFG::JITCodeGenerator::integerResult):
(JSC::DFG::JITCodeGenerator::jsValueResult):
(JSC::DFG::IntegerOperand::use):
(JSC::DFG::DoubleOperand::use):
(JSC::DFG::JSValueOperand::use):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::valueToNumber):
(JSC::DFG::NonSpeculativeJIT::valueToInt32):
(JSC::DFG::NonSpeculativeJIT::knownConstantArithOp):
(JSC::DFG::NonSpeculativeJIT::basicArithOp):
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculateStrictInt32Operand::use):
(JSC::DFG::SpeculateCellOperand::use):

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

8 years agoMake TestFailures show existing bugs and a new bug link for flaky tests
aroben@apple.com [Tue, 19 Jul 2011 18:51:27 +0000 (18:51 +0000)]
Make TestFailures show existing bugs and a new bug link for flaky tests

Fixes <http://webkit.org/b/63728> TestFailures page should make it easy to file bugs about
flaky tests
and
<http://webkit.org/b/63830> TestFailures page doesn't show related bugs for possibly-flaky
tests, but should

Reviewed by Sam Weinig.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm.js:
Added. This is what's used to file new bugs about flaky tests.
(FlakyTestBugForm): Calls up to the base class, stores the arguments, and sets our
title, description, and URL.

(FlakyTestBugForm.prototype._createBugDescription):
(FlakyTestBugForm.prototype._createBugTitle):
These do what they say.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm_unittests.js:
Added. Tests of the above.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
(#failure-history > li):
(#possibly-flaky-tests > li):
(#failure-history > li, #possibly-flaky-tests > li):
(#possibly-flaky-tests > li > :first-child):
(.flakiness-examples-list):
Styling to account for the new elements.

(.expandable):
(.expanded > .expandable):
Generalized the .flakiness-example-list code to a generic .expandable class. Removed the
transition properties because we can't transition to/from 'auto' (but really would like
to!).

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
(ViewController.prototype._displayBuilder): Moved code to create the FailingTestsBugForm
here from _domForNewAndExistingBugs. Updated for changes to _domForPossiblyFlakyTests.
(ViewController.prototype._domForNewAndExistingBugs): Changed to take a NewBugForm as an
argument instead of creating one ourselves.
(ViewController.prototype._domForPossiblyFlakyTests): Changed to take all analyzed builds as
an argument instead of just the number of analyzed builds. Put the examples list inside a
container <div>, which is also used to hold the new/existing bugs UI. Removed code to deal
with animating the height of the examples list; we don't do this anymore because it's hard
to make it work correctly with the asynchronous loading of existing bugs. When we populate
the examples list, also set up the new/existing bug UI.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in
FlakyTestBugForm.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
Pull in FlakyTestBugForm and its tests.

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

8 years agoREGRESSION: Incorrect layout at recline-online.com
robert@webkit.org [Tue, 19 Jul 2011 18:40:25 +0000 (18:40 +0000)]
REGRESSION: Incorrect layout at recline-online.com
https://bugs.webkit.org/show_bug.cgi?id=64030

Reviewed by David Hyatt.

Source/WebCore:

http://trac.webkit.org/changeset/68362 dropped the check for cases
where the render box is floating or inline. When the box is left or right
aligned it is considered to be floating and needs to its margins set appropriately.

Test: fast/table/align-right-within-left-aligned-div.html
      created by Dominic Cooney <dominicc@chromium.org>

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins):

LayoutTests:

* fast/table/align-right-within-left-aligned-div-expected.png: Added.
* fast/table/align-right-within-left-aligned-div-expected.txt: Added.
* fast/table/align-right-within-left-aligned-div.html: Added.

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

8 years agoARMv7 backend broken, lacks 3 parameter rshift32 method
xan@webkit.org [Tue, 19 Jul 2011 18:33:49 +0000 (18:33 +0000)]
ARMv7 backend broken, lacks 3 parameter rshift32 method
https://bugs.webkit.org/show_bug.cgi?id=64571

Reviewed by Zoltan Herczeg.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::rshift32): add missing rshift32 method.

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

8 years agoBuildbot marks a nrwt bot red when tests are missing results
rniwa@webkit.org [Tue, 19 Jul 2011 18:21:52 +0000 (18:21 +0000)]
Buildbot marks a nrwt bot red when tests are missing results
https://bugs.webkit.org/show_bug.cgi?id=64812

Reviewed by Tony Chang.

Added "missing results" label for tests that are missing results.

buildbot Now reports shows a label "X missing results" on a run when X tests were missing
expected results on that run.

Also rephrased "X failed" and "X were flaky" to "X failures" and "X flakes".

* BuildSlaveSupport/build.webkit.org-config/master.cfg:

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

8 years agoExtract some of FailingTestsBugForm's code into a base class
aroben@apple.com [Tue, 19 Jul 2011 18:11:39 +0000 (18:11 +0000)]
Extract some of FailingTestsBugForm's code into a base class

Prep work for fixing <http://webkit.org/b/63728> TestFailures page should make it easy to
file bugs about flaky tests

Reviewed by Sam Weinig.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js:
Moved BugzillaConstants to new WebKitBugzilla file. Moved a bunch of other code from here to
TestRelatedBugForm.js.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js:
Moved some tests to TestRelatedBugForm_unittests.js.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm.js: Added.
(TestRelatedBugForm):
(TestRelatedBugForm.prototype.domElement):
(TestRelatedBugForm.prototype._computeOperatingSystem):
(TestRelatedBugForm.prototype._computePlatform):
Code came from FailingTestsBugForm.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm_unittests.js:
Added. Tests came from FailingTestsBugForm_unittests.js

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBugzilla.js:
Added. Code came from FailingTestsBugForm.js.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in
TestRelatedBugForm.js and WebKitBugzilla.js. Moved Bugzilla.js out of the list of files that
need to be pulled in early for parsing reasons.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
Pull in TestRelatedBugForm and tests and WebKitBugzilla.

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

8 years agoAdd back a change that was accidentally removed in r91266.
bweinstein@apple.com [Tue, 19 Jul 2011 17:40:17 +0000 (17:40 +0000)]
Add back a change that was accidentally removed in r91266.

Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
its responder. Also make the comment more explicit, to keep this mistake from being made in the future.

Rubber-stamped by Darin Adler.

* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::dragEnded):

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

8 years agoSource/WebCore: Crash when removing unrenderered nodes in replacement fragment.
inferno@chromium.org [Tue, 19 Jul 2011 17:39:03 +0000 (17:39 +0000)]
Source/WebCore: Crash when removing unrenderered nodes in replacement fragment.
https://bugs.webkit.org/show_bug.cgi?id=64801

Reviewed by Ryosuke Niwa.

Test: editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html

* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplacementFragment::removeUnrenderedNodes):

LayoutTests: Tests that we do not crash when removing unrendering nodes
in a replacement fragment.
https://bugs.webkit.org/show_bug.cgi?id=64801

Reviewed by Ryosuke Niwa.

* editing/pasteboard/replacement-fragment-remove-unrendered-node-crash-expected.txt: Added.
* editing/pasteboard/replacement-fragment-remove-unrendered-node-crash.html: Added.

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

8 years ago2011-07-19 Rob Buis <rbuis@rim.com>
rwlbuis@webkit.org [Tue, 19 Jul 2011 17:26:12 +0000 (17:26 +0000)]
2011-07-19  Rob Buis  <rbuis@rim.com>

        https://bugs.webkit.org/show_bug.cgi?id=64673
        REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/styling-pres-02-f.html

        Reviewed by Nikolas Zimmermann.

        Prevent calling back to the owning SVGTRefElement upon handling DOMSubtreeModified events.

        Test: svg/W3C-SVG-1.1-SE/styling-pres-02-f.svg

        * svg/SVGTRefElement.cpp:
        (WebCore::SubtreeModificationEventListener::handleEvent):

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

8 years agouse more specific types in CSSFlexValue
tony@chromium.org [Tue, 19 Jul 2011 17:22:57 +0000 (17:22 +0000)]
use more specific types in CSSFlexValue
https://bugs.webkit.org/show_bug.cgi?id=64763

Reviewed by Ojan Vafai.

No new tests because no change in functionality.

* css/CSSFlexValue.h:
(WebCore::CSSFlexValue::create):
(WebCore::CSSFlexValue::isFlexValue): Make it possible to tell if
    we're a flex value or not.  Will be needed when we're copying
    values to RenderStyle.
(WebCore::CSSFlexValue::positiveFlex): Use floats for positive and
    negative flex because in the render code, we use floats.
(WebCore::CSSFlexValue::negativeFlex): Add accessors for these since
    we'll need it when reading the flex values.
(WebCore::CSSFlexValue::preferredSize):
(WebCore::CSSFlexValue::CSSFlexValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValidPrimitive): Make the type more
    specific.
(WebCore::CSSParser::parseFlex):
* css/CSSParser.h:
* css/CSSValue.h:
(WebCore::CSSValue::isFlexValue):

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

8 years agoIf the control associated with a <label> is hidden, the label is also hidden (incorre...
cfleizach@apple.com [Tue, 19 Jul 2011 17:22:00 +0000 (17:22 +0000)]
If the control associated with a <label> is hidden, the label is also hidden (incorrectly)
https://bugs.webkit.org/show_bug.cgi?id=64752

Reviewed by Darin Adler.

Source/WebCore:

Test: platform/mac/accessibility/label-element-with-hidden-control.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::exposesTitleUIElement):

LayoutTests:

* platform/mac/accessibility/label-element-with-hidden-control-expected.txt: Added.
* platform/mac/accessibility/label-element-with-hidden-control.html: Added.

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

8 years agoSpeculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
bweinstein@apple.com [Tue, 19 Jul 2011 17:14:47 +0000 (17:14 +0000)]
Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
https://bugs.webkit.org/show_bug.cgi?id=64766
<rdar://problem/9548174>

Reviewed by Enrica Casucci.

I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create
a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the
WKPasteboardFilePromiseOwner method is called.

The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
both objects alive.

This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.

* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
(WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
    which does the same thing.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.

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

8 years agoRemove failing Chromium test expectations after r91224.
rniwa@webkit.org [Tue, 19 Jul 2011 17:08:30 +0000 (17:08 +0000)]
Remove failing Chromium test expectations after r91224.

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: Backend should provide network resource identifiers that are unique...
vsevik@chromium.org [Tue, 19 Jul 2011 16:38:33 +0000 (16:38 +0000)]
Web Inspector: Backend should provide network resource identifiers that are unique across navigation.
https://bugs.webkit.org/show_bug.cgi?id=64746

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::addToFrontend):
* inspector/ConsoleMessage.h:
* inspector/IdentifiersFactory.cpp:
(WebCore::IdentifiersFactory::createIdentifier):
(WebCore::IdentifiersFactory::resourceId):
(WebCore::IdentifiersFactory::addProcessIdPrefixTo):
* inspector/IdentifiersFactory.h:
* inspector/Inspector.json:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::setInitialScriptContent):
(WebCore::InspectorResourceAgent::setInitialXHRContent):
(WebCore::InspectorResourceAgent::didReceiveXHRResponse):
(WebCore::InspectorResourceAgent::didCreateWebSocket):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::getResourceContent):
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willSendResourceRequest):
(WebCore::InspectorTimelineAgent::willReceiveResourceData):
(WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
(WebCore::InspectorTimelineAgent::didFinishLoadingResource):
* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::ResourceData::ResourceData):
(WebCore::NetworkResourcesData::resourceCreated):
(WebCore::NetworkResourcesData::responseReceived):
(WebCore::NetworkResourcesData::setResourceType):
(WebCore::NetworkResourcesData::resourceType):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeAddResourceData):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):
(WebCore::NetworkResourcesData::addCachedResource):
(WebCore::NetworkResourcesData::addResourceSharedBuffer):
(WebCore::NetworkResourcesData::data):
(WebCore::NetworkResourcesData::clear):
(WebCore::NetworkResourcesData::ensureNoDataForResourceId):
(WebCore::NetworkResourcesData::ensureFreeSpace):
* inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::resourceId):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
* inspector/TimelineRecordFactory.h:

LayoutTests:

* inspector/timeline/timeline-network-resource-expected.txt:
* platform/chromium/inspector/timeline/timeline-network-resource-expected.txt:

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

8 years agoFix assertion failure seen in plugins/return-npobject.html on Windows XP Debug bots.
jberlin@webkit.org [Tue, 19 Jul 2011 16:36:26 +0000 (16:36 +0000)]
Fix assertion failure seen in plugins/return-npobject.html on Windows XP Debug bots.

Rubber-stamped by Adam Roben.

* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveData):
It is possible for a subclass to cancel the load from within didReceiveData, which would
set m_documentLoader to 0.
Remove the assertion I added that the DocumentLoader's frame is non-null.

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

8 years agoRemove obsolete Mac NRWT test bots
weinig@apple.com [Tue, 19 Jul 2011 16:28:55 +0000 (16:28 +0000)]
Remove obsolete Mac NRWT test bots
https://bugs.webkit.org/show_bug.cgi?id=64806

Reviewed by Adam Roben.

Remove "Leopard Intel Release (NRWT)" and "SnowLeopard Intel Release (NRWT)"
which have been disconnected for some time and have been obsoleted by
the main testers using NRWT.

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

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

8 years agowebkit-patch rebaseline crashes on use
weinig@apple.com [Tue, 19 Jul 2011 16:13:33 +0000 (16:13 +0000)]
webkit-patch rebaseline crashes on use
https://bugs.webkit.org/show_bug.cgi?id=64775

Reviewed by Adam Roben.

Fix incorrectly spelled attribute name.

* Scripts/webkitpy/common/net/layouttestresults.py:
The attribute is test_name, not filename.

* Scripts/webkitpy/common/net/layouttestresults_unittest.py:
Add test for tests_matching_failure_types.

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

8 years agoREGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String...
steveblock@google.com [Tue, 19 Jul 2011 15:56:57 +0000 (15:56 +0000)]
REGRESSION (r82194): jvalueToJavaValue() does not correctly set length of String property
https://bugs.webkit.org/show_bug.cgi?id=64730

Reviewed by Alexey Proskuryakov.

Covered by existing tests.

* bridge/jni/v8/JNIUtilityPrivate.cpp:
(JSC::Bindings::jvalueToJavaValue):

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

8 years ago[chromium] rebaseline Chromium results after r91249 .
rniwa@webkit.org [Tue, 19 Jul 2011 15:55:44 +0000 (15:55 +0000)]
[chromium] rebaseline Chromium results after r91249 .
Unreviewed.

Patch by Jeremy Moskovich <jeremy@chromium.org> on 2011-07-19

* platform/chromium-linux/fast/speech/speech-bidi-rendering-expected.png: Added.
* platform/chromium-win/fast/speech/input-text-speechbutton-expected.txt: Added.
* platform/chromium-win/fast/speech/speech-bidi-rendering-expected.png: Added.
* platform/chromium-win/fast/speech/speech-bidi-rendering-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years ago[Chromium] Web Inspector: add sanity test for shared worker inspector
yurys@chromium.org [Tue, 19 Jul 2011 15:51:40 +0000 (15:51 +0000)]
[Chromium] Web Inspector: add sanity test for shared worker inspector
https://bugs.webkit.org/show_bug.cgi?id=64799

Reviewed by Pavel Feldman.

* src/js/Tests.js:
(.TestSuite.prototype.testSharedWorker):
(.TestSuite.prototype.evaluateInConsole_):

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

8 years agoCheck in Leopard specific results for Selectors 3 tests.
weinig@apple.com [Tue, 19 Jul 2011 15:46:11 +0000 (15:46 +0000)]
Check in Leopard specific results for Selectors 3 tests.

* platform/mac-leopard/css3/selectors3: Added.
* platform/mac-leopard/css3/selectors3/html: Added.
* platform/mac-leopard/css3/selectors3/html/css3-modsel-24-expected.txt: Copied from platform/mac/css3/selectors3/html/css3-modsel-24-expected.txt.
* platform/mac-leopard/css3/selectors3/html/css3-modsel-68-expected.txt: Copied from platform/mac/css3/selectors3/html/css3-modsel-68-expected.txt.
* platform/mac-leopard/css3/selectors3/xhtml: Added.
* platform/mac-leopard/css3/selectors3/xhtml/css3-modsel-174a-expected.txt: Copied from platform/mac/css3/selectors3/xhtml/css3-modsel-174a-expected.txt.
* platform/mac-leopard/css3/selectors3/xhtml/css3-modsel-174b-expected.txt: Copied from platform/mac/css3/selectors3/xhtml/css3-modsel-174b-expected.txt.
* platform/mac-leopard/css3/selectors3/xhtml/css3-modsel-24-expected.txt: Copied from platform/mac/css3/selectors3/xhtml/css3-modsel-24-expected.txt.
* platform/mac-leopard/css3/selectors3/xhtml/css3-modsel-68-expected.txt: Copied from platform/mac/css3/selectors3/xhtml/css3-modsel-68-expected.txt.
* platform/mac-leopard/css3/selectors3/xml: Added.
* platform/mac-leopard/css3/selectors3/xml/css3-modsel-174a-expected.txt: Copied from platform/mac/css3/selectors3/xml/css3-modsel-174a-expected.txt.
* platform/mac-leopard/css3/selectors3/xml/css3-modsel-174b-expected.txt: Copied from platform/mac/css3/selectors3/xml/css3-modsel-174b-expected.txt.
* platform/mac-leopard/css3/selectors3/xml/css3-modsel-24-expected.txt: Copied from platform/mac/css3/selectors3/xml/css3-modsel-24-expected.txt.
* platform/mac-leopard/css3/selectors3/xml/css3-modsel-68-expected.txt: Copied from platform/mac/css3/selectors3/xml/css3-modsel-68-expected.txt.

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

8 years ago2011-07-19 Vitaly Repeshko <vitalyr@chromium.org>
vitalyr@chromium.org [Tue, 19 Jul 2011 15:29:37 +0000 (15:29 +0000)]
2011-07-19  Vitaly Repeshko  <vitalyr@chromium.org>

        [V8] Don't put CSSRuleLists in object groups.
        https://bugs.webkit.org/show_bug.cgi?id=64798

        Reviewed by Pavel Feldman.

        Retention of CSSRuleLists should be implemented using hidden
        references from holder objects. By putting lists in groups we
        artificially extend their lifetimes much more than necessary.

        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperVisitor::visitDOMWrapper):

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

8 years ago[EFL] Add ewk_network.cpp|h files.
gyuyoung.kim@samsung.com [Tue, 19 Jul 2011 15:26:16 +0000 (15:26 +0000)]
[EFL] Add ewk_network.cpp|h files.
https://bugs.webkit.org/show_bug.cgi?id=63315

Source/WebCore:

Enable setOnLine(bool) on EFL port as well as Android and Chromium.

Reviewed by Antonio Gomes.

* platform/network/NetworkStateNotifier.cpp:
* platform/network/NetworkStateNotifier.h:

Source/WebKit/efl:

ewk_network.cpp|h files are added to ewk in order to support APIs related to networking.
In addition, ewk_network_state_notifier_online_set() is added to ewk_network.cpp in order
to notify NetworkStateNotifier of network status.

Reviewed by Antonio Gomes.

* CMakeListsEfl.txt:
* ewk/EWebKit.h:
* ewk/ewk_network.cpp: Added.
(ewk_network_proxy_uri_set):
(ewk_network_proxy_uri_get):
(ewk_network_state_notifier_online_set):
* ewk/ewk_network.h:
* ewk/ewk_settings.cpp:
* ewk/ewk_settings.h:

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

8 years ago[GTK] Google Calendar thinks we're mobile
kov@webkit.org [Tue, 19 Jul 2011 14:49:38 +0000 (14:49 +0000)]
[GTK] Google Calendar thinks we're mobile
https://bugs.webkit.org/show_bug.cgi?id=63994

Patch by Gustavo Noronha Silva  <gns@gnome.org> on 2011-07-11
Reviewed by Xan Lopez.

Further special-case Google Calendar, for it thinks WebKit+Linux
means mobile, so we also have to spoof the OS.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::userAgent): use the new WebKitGTK+
private API that centralizes the logic now.
* tests/testwebsettings.c: Add tests to make sure the Google
special-cases only apply for the expected domains and when quirks
special-casing is enabled.
(test_non_quirky_user_agents):
(test_webkit_web_settings_user_agent):
* webkit/webkitwebsettings.cpp:
(webkitUserAgent): make it static.
(safariUserAgent): returns a fake Safari in Mac OS X User-Agent.
(initializeDomainsList): moved from FrameLoaderClientGtk.
(isGoogleDomain):ditto.
(isGoogleCalendar): ditto.
(userAgentForURL): ditto.
(webkitWebSettingsUserAgentForUri): centralize the whole
user agent spoofing logic in this new private API that can be used
by the browser to know what's going to happen for a specific URI
and also allows our API testing.
* webkit/webkitwebsettingsprivate.h:

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

8 years agoWeb Inspector: implement import/export for timeline data.
loislo@chromium.org [Tue, 19 Jul 2011 13:45:04 +0000 (13:45 +0000)]
Web Inspector: implement import/export for timeline data.
https://bugs.webkit.org/show_bug.cgi?id=64601

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/timeline/timeline-load.html

* English.lproj/localizedStrings.js:
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._createFileSelector):
(WebInspector.TimelinePanel.prototype._contextMenu):
(WebInspector.TimelinePanel.prototype._exportToFile):
(WebInspector.TimelinePanel.prototype._importFromFile):
(WebInspector.TimelinePanel.prototype._addRecordToTimeline):
(WebInspector.TimelinePanel.prototype._clearPanel):
(WebInspector.TimelineModel):
(WebInspector.TimelineModel.prototype._addRecord):
(WebInspector.TimelineModel.prototype._importNextChunk):
(WebInspector.TimelineModel.prototype._importFromFile):
(WebInspector.TimelineModel.prototype._importFromFile.onError):
(WebInspector.TimelineModel.prototype._exportToFile):
(WebInspector.TimelineModel.prototype._reset):
* inspector/front-end/utilities.js:
():

LayoutTests:

* inspector/timeline/timeline-load-expected.txt: Added.
* inspector/timeline/timeline-load.html: Added.

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

8 years agoAdd missing expected file after r91191
loki@webkit.org [Tue, 19 Jul 2011 13:11:32 +0000 (13:11 +0000)]
Add missing expected file after r91191

* platform/qt/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.

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

8 years agoWeb Inspector: Rename agentIdentifierPrefix to processId, move out from page agent...
vsevik@chromium.org [Tue, 19 Jul 2011 13:02:19 +0000 (13:02 +0000)]
Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
https://bugs.webkit.org/show_bug.cgi?id=64729

Reviewed by Pavel Feldman.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/IdentifiersFactory.cpp: Added.
(WebCore::IdentifiersFactory::createIdentifier):
* inspector/IdentifiersFactory.h: Added.
(WebCore::IdentifiersFactory::setProcessId):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setProcessId):
* inspector/InspectorController.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameId):
(WebCore::InspectorPageAgent::loaderId):
* inspector/InspectorPageAgent.h:

Source/WebKit/chromium:

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::setAgentIdentifierPrefix):
(WebKit::WebDevToolsAgentImpl::setProcessId):
* src/WebDevToolsAgentImpl.h:

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

8 years agoFix microphone icon placement in speech input control for dir=rtl.
jeremy@chromium.org [Tue, 19 Jul 2011 12:22:20 +0000 (12:22 +0000)]
Fix microphone icon placement in speech input control for dir=rtl.
https://bugs.webkit.org/show_bug.cgi?id=64668

Reviewed by Dimitri Glazkov.

Source/WebCore:

Modify default stylesheet to propagate dir=rtl from the outer input
control to the shadow DOM container.  This makes the microphone
icon appear on the left for dir=rtl, which is the desired behavior.

Test: fast/speech/speech-bidi-rendering.html

* css/html.css:
(input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):

LayoutTests:

Added test that verifies placement of microphone icon for dir=rtl.

* fast/speech/speech-bidi-rendering.html: Added.
* platform/mac/fast/speech/speech-bidi-rendering-expected.png: Added.
* platform/mac/fast/speech/speech-bidi-rendering-expected.txt: Added.

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

8 years ago[Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
alexis.menard@openbossa.org [Tue, 19 Jul 2011 11:06:42 +0000 (11:06 +0000)]
[Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
https://bugs.webkit.org/show_bug.cgi?id=64690

Make the API usable with QML by declaring what's needed
with the macros.

Reviewed by Benjamin Poulain.

* UIProcess/API/qt/qdesktopwebview.h:

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

8 years ago[EFL] Account for the invalid pointer case in WebCore::screenRect()
commit-queue@webkit.org [Tue, 19 Jul 2011 10:24:16 +0000 (10:24 +0000)]
[EFL] Account for the invalid pointer case in WebCore::screenRect()
https://bugs.webkit.org/show_bug.cgi?id=64543

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-07-19
Reviewed by Antonio Gomes.

Fix a regression introduced in r88245: it assumes the pointer passed
to screenRect() is always valid.
fast/frames/crash-removed-iframe.html proves this is not always true,
so we need to do some sanity check on the pointer before using it.
No new tests as this has been caught by the current test suite.

* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):

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

8 years agoUnreviewed. Edit Chromium test expectation for http/tests/websocket/tests/hybi/reserv...
yutak@chromium.org [Tue, 19 Jul 2011 09:51:16 +0000 (09:51 +0000)]
Unreviewed. Edit Chromium test expectation for http/tests/websocket/tests/hybi/reserved-opcodes.html.

* platform/chromium/test_expectations.txt:

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

8 years agonew-run-webkit-tests should support --leaks
eric@webkit.org [Tue, 19 Jul 2011 09:25:46 +0000 (09:25 +0000)]
new-run-webkit-tests should support --leaks
https://bugs.webkit.org/show_bug.cgi?id=63832

Reviewed by Dirk Pranke.

This may not be sufficient to actually transition over the leaks bot,
but this is a huge step in the right direction.

I had to make parse-malloc-history understand being passed more than
one file (to avoid the silly cat | nonsense in old-run-webkit-tests).

I removed some dead code relating to previous iterations of our crash detection.

I created a new class "LeakDetector" to encapsulate all this logic.
Eventually we should consider pulling that class out of mac.py and
sharing with other ports.  However given that ORWT has had
--leaks support on Mac for almost 7 years and no other port has added
it, leaves me to believe we're in no rush to move LeakDetector.

I've tested --leaks locally.  I suspect there are more bugs to shake out
but it seems to work well enough to start.

I also added support for --guard-malloc, but have not tested it much.  It
should be viewed as experimental at this time.

I also fixed various os.path uses to self._filesystem as I was reading
through the various files to understand how best to fix this bug.

* Scripts/old-run-webkit-tests:
(parseLeaksandPrintUniqueLeaks):
* Scripts/parse-malloc-history:
(main):
* Scripts/webkitpy/common/system/crashlogs.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/controllers/worker.py:
* Scripts/webkitpy/layout_tests/port/base.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
* Scripts/webkitpy/layout_tests/port/gtk.py:
* Scripts/webkitpy/layout_tests/port/mac.py:
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
* Scripts/webkitpy/layout_tests/port/server_process.py:
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

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

8 years agoPatch by Robin Qiu <robin.qiu@torchmobile.com.cn> on 2011-07-19
commit-queue@webkit.org [Tue, 19 Jul 2011 09:21:01 +0000 (09:21 +0000)]
Patch by Robin Qiu <robin.qiu@torchmobile.com.cn> on 2011-07-19
Reviewed by Antonio Gomes.

ScrollBar should initialize current position in constructor.
https://bugs.webkit.org/show_bug.cgi?id=39284

When ScrollBar is created, m_currentPos should be initialized to
m_scrollableArea's current scrollPosition. Because scrollbars may
be created after the content of m_scrollableArea has been scrolled.

Source/WebCore:

Test: scrollbars/scrollbar-initial-position.html

* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar):

LayoutTests:

* scrollbars/scrollbar-initial-position-expected.png: Added.
* scrollbars/scrollbar-initial-position-expected.txt: Added.
* scrollbars/scrollbar-initial-position.html: Added.

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

8 years agoWebSocket: Implement hybi framing
yutak@chromium.org [Tue, 19 Jul 2011 08:57:29 +0000 (08:57 +0000)]
WebSocket: Implement hybi framing
https://bugs.webkit.org/show_bug.cgi?id=64522

Reviewed by Kent Tamura.

Source/WebCore:

Implement WebSocket framing protocol which is mainly described in
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.

Hybi protocol introduces a new frame format which is drastically different from
the old one. Notable differences are:
- Binary data support.
- Fragmentation support: a single message can be fragmented to multiple frames.
- Ping-pong support.
- Masking: frame content of a client must be masked to prevent cross-protocol attacks.

This patch covers the following features:
- Send a pong frame when a ping frame is received.
- Receive fragmented frames.
- Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)

The following features are NOT implemented yet:
- Send or receive binary messages.
- Send a ping message.
- Send fragmented frames. (It is unclear whether this is necessary.)
- Rewrite the frame content by WebSocket protocol extensions (like frame compression).

New tests: http/tests/websocket/tests/hybi/broken-utf8.html
           http/tests/websocket/tests/hybi/fragmented-control-frame.html
           http/tests/websocket/tests/hybi/fragmented-frames.html
           http/tests/websocket/tests/hybi/interleaved-fragments.html
           http/tests/websocket/tests/hybi/long-control-frame.html
           http/tests/websocket/tests/hybi/masked-frames.html
           http/tests/websocket/tests/hybi/pong.html
           http/tests/websocket/tests/hybi/reserved-bits.html
           http/tests/websocket/tests/hybi/reserved-opcodes.html
           http/tests/websocket/tests/hybi/too-long-payload.html

* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::send):
The original content of send() was moved to a private method sendFrameHixie76().
(WebCore::WebSocketChannel::fail):
Stop handling incoming data after the WebSocket connection is failed.
It was unclear to me whether we should do the same thing for hixie-76 connection;
for now, I kept the original behavior.
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::startClosingHandshake):
(WebCore::WebSocketChannel::closingTimerFired):
(WebCore::WebSocketChannel::parseFrame):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::processFrameHixie76):
(WebCore::WebSocketChannel::sendFrame):
(WebCore::WebSocketChannel::sendFrameHixie76):
* websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::isNonControlOpCode):
(WebCore::WebSocketChannel::isControlOpCode):
(WebCore::WebSocketChannel::isReservedOpCode):

LayoutTests:

Fix existing tests so they match the new frame format, and add tests for the new frame types
and error conditions related to the new frame format.

Unskip hybi tests on mac, win and chromium. Other ports (wk2, qt and gtk) still skip these tests
because they do not support changing the value of "WebKitHixie76WebSocketProtocolEnabled"
preference key via layoutTestController.overridePreferences() yet.

* http/tests/websocket/tests/hybi/broken-utf8-expected.txt: Added.
* http/tests/websocket/tests/hybi/broken-utf8.html: Added.
* http/tests/websocket/tests/hybi/broken-utf8_wsh.py: Added.
* http/tests/websocket/tests/hybi/client-close-expected.txt:
* http/tests/websocket/tests/hybi/client-close.html:
The format of a close frame has been changed. Currently, we do not include any payload
in a close frame, thus it must start with "\x88\x80" (see section 4.1 of hybi-10
specification for more details).
* http/tests/websocket/tests/hybi/client-close_wsh.py:
* http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/fragmented-control-frame.html: Added.
* http/tests/websocket/tests/hybi/fragmented-control-frame_wsh.py: Added.
* http/tests/websocket/tests/hybi/fragmented-frames-expected.txt: Added.
* http/tests/websocket/tests/hybi/fragmented-frames.html: Added.
* http/tests/websocket/tests/hybi/fragmented-frames_wsh.py: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments.html: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments_wsh.py: Added.
* http/tests/websocket/tests/hybi/long-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/long-control-frame.html: Added.
* http/tests/websocket/tests/hybi/long-control-frame_wsh.py: Added.
* http/tests/websocket/tests/hybi/masked-frames-expected.txt: Added.
* http/tests/websocket/tests/hybi/masked-frames.html: Added.
* http/tests/websocket/tests/hybi/masked-frames_wsh.py: Added.
* http/tests/websocket/tests/hybi/pong-expected.txt: Added.
* http/tests/websocket/tests/hybi/pong.html: Added.
* http/tests/websocket/tests/hybi/pong_wsh.py: Added.
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Added.
* http/tests/websocket/tests/hybi/reserved-bits.html: Added.
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes.html: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes_wsh.py: Added.
* http/tests/websocket/tests/hybi/send2_wsh.py:
Send two text frames at once.
* http/tests/websocket/tests/hybi/too-long-payload-expected.txt: Added.
* http/tests/websocket/tests/hybi/too-long-payload.html: Added.
* http/tests/websocket/tests/hybi/too-long-payload_wsh.py: Added.
* platform/chromium/test_expectations.txt:
Derive test expectations of hixie76 tests, because these tests are likely to behave
the same way as hixie76 tests. Will be checked later whether they really do.
* platform/mac/Skipped:
* platform/win/Skipped:

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

8 years ago2011-07-19 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 19 Jul 2011 08:12:46 +0000 (08:12 +0000)]
2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
        https://bugs.webkit.org/show_bug.cgi?id=64059

        REGRESSION (r88913): <object> has wrong computed height
        https://bugs.webkit.org/show_bug.cgi?id=62769

        Reviewed by Rob Buis.

        Add new layout test in fast/css covering both bugs.
        Update svg/zoom/page results (this is a progression, but the test itself remains broken, see comment inline).

        * fast/css/replaced-element-implicit-size.html: Added.
        * platform/mac/fast/css/replaced-element-implicit-size-expected.png: Added.
        * platform/mac/fast/css/replaced-element-implicit-size-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.png:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.txt:

2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
        https://bugs.webkit.org/show_bug.cgi?id=64059

        REGRESSION (r88913): <object> has wrong computed height
        https://bugs.webkit.org/show_bug.cgi?id=62769

        Reviewed by Rob Buis.

        Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
        It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
        content height), and this element is not absolutely positioned, the value computes to 'auto'".

        Checking whether the containing block height depends on the content height is not equal to checking
        whether the height property is set on the containing block, there are other ways to implicitly specify
        the height by setting top & bottom. Fix that by checking whether the containing block has a height
        property or top & bottom set.

        While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
        the code with the spec quoatations - this doesn't change the functionality only the readability.

        Test: fast/css/replaced-element-implicit-size.html

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
        (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
        * rendering/RenderReplaced.h:

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

8 years agogarden-o-matic should have a "Triage Failures" button for iterating over failures
abarth@webkit.org [Tue, 19 Jul 2011 07:38:05 +0000 (07:38 +0000)]
garden-o-matic should have a "Triage Failures" button for iterating over failures
https://bugs.webkit.org/show_bug.cgi?id=64769

Reviewed by Eric Seidel.

This patch adds some global static state and refactors things a bit so
that we can iterate over all the failures in the details pane.

* Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
    - Add a generic callback iterator to iterate through a series of
      callbacks. We use this to iterate through the failures we want to
      display the details of.
* Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
    - Add a toolbar for the results summary and change the buttons to
      be real buttons.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
    - Make the detail pane 75% of the window.
    - Make the buttons pretty.
    - Allow the failure type badges to apply to the details pane as well.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
    - Restructure how we bring up the details pane so we can iterate
      through a bunch of failures.
    - Remove the transition between results details because it's
      annoying when you want to click through a bunch of failures.
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
    - Add some more structure to the title bar for the results details
      so it's clearer which results we're currently displaying.

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

8 years agogarden-o-matic should live update as conditions change on the buildbot
abarth@webkit.org [Tue, 19 Jul 2011 07:37:01 +0000 (07:37 +0000)]
garden-o-matic should live update as conditions change on the buildbot
https://bugs.webkit.org/show_bug.cgi?id=64646

Reviewed by Eric Seidel.

This patch causes the garden-o-matic display to update every 10 minutes
to show the latest failures.  This patch required a moderately large
refactoring of main.js to make the display incremental instead of
all-at-once.

* Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:

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

8 years agoSolar Walk app-specific hack accidentally strips stylesheets from the document.
aestes@apple.com [Tue, 19 Jul 2011 05:33:10 +0000 (05:33 +0000)]
Solar Walk app-specific hack accidentally strips stylesheets from the document.
https://bugs.webkit.org/show_bug.cgi?id=64777

Reviewed by Adam Barth.

Solar Walk uses a self-closed title tag in its documents ("<title />").
The HTML5 parser does not recognize this as a valid self-closing tag,
so it treats the remainder of the document as title text.

We work around this in WebKit by injecting a script that calls
document.write() on the contents of document.title, thereby restoring
the contents of the document. Unfortunately this overwrote several
<style> tags that existed before the <title>, thereby causing the
document to not have the intended styling.

Fix this by having the injected script concatenate document.title to
the document instead of overwriting it during document.write(). We can
also take the opportunity to remove document.title since it does not
contain useful information.

* Misc/SolarWalkQuirksUserScript.js:

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

8 years agoFix Chromium test expectations.
rniwa@webkit.org [Tue, 19 Jul 2011 05:04:37 +0000 (05:04 +0000)]
Fix Chromium test expectations.

* platform/chromium/test_expectations.txt:

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

8 years agoREGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
rniwa@webkit.org [Tue, 19 Jul 2011 04:14:42 +0000 (04:14 +0000)]
REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=64767

Add a runtime check for font cascading optimization.

It's a constant value in Mac port so hopefully gcc will constant-propagate the value
and eliminate the function altogether.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::canSetCascadeListForCustomFont): Added.
(WebCore::FontPlatformData::ctFont):

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

8 years agoChromium test expectation update after r91229.
rniwa@webkit.org [Tue, 19 Jul 2011 04:03:58 +0000 (04:03 +0000)]
Chromium test expectation update after r91229.

* platform/chromium/test_expectations.txt:

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

8 years ago.: [ShadowContentElement] forwarded node should be able to access its hosting content...
morrita@google.com [Tue, 19 Jul 2011 02:55:22 +0000 (02:55 +0000)]
.: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Added GTK symbols for new window.internals methods.

* Source/autotools/symbols.filter:

Source/WebCore: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

- Introduced ShadowInclusionSet to manage included nodes to its includer content element.
  ShadowInclusionSet instance is owned by ShadowRoot.
- Updated the set on inclusion list changes.
- Used the set to retrieve the content element of NodeRenderingContext.

There are also related refactoring and cleanup:
- Renamed NodeRenderingContext::m_contentElement to m_includer
- ShadowContentSelector::m_activeElement is no longer used, thus removed.

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

* WebCore.exp.in:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
* dom/NodeRenderingContext.h:
(WebCore::NodeRenderingContext::includer):
* dom/ShadowContentElement.cpp:
(WebCore::removeFromSet):
(WebCore::addToSet):
(WebCore::ShadowContentElement::attach):
(WebCore::ShadowContentElement::detach):
* dom/ShadowContentElement.h:
(WebCore::ShadowInclusionSet::add):
(WebCore::ShadowInclusionSet::remove):
(WebCore::ShadowInclusionSet::isEmpty):
(WebCore::ShadowInclusionSet::Translator::hash):
(WebCore::ShadowInclusionSet::Translator::equal):
(WebCore::ShadowInclusionSet::Hash::hash):
(WebCore::ShadowInclusionSet::Hash::equal):
(WebCore::ShadowInclusionSet::find):
* dom/ShadowContentSelector.cpp:
(WebCore::ShadowContentSelector::ShadowContentSelector):
(WebCore::ShadowContentSelector::selectInclusion):
* dom/ShadowContentSelector.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::includerFor):
(WebCore::ShadowRoot::inclusions):
(WebCore::ShadowRoot::ensureInclusions):
* dom/ShadowRoot.h:
(WebCore::toShadowRoot):
* testing/Internals.cpp:
(WebCore::Internals::includerFor):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Exported additional symbols for window.internals object.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

- Added a new test.
- Updated expectations. This change make ShadowContentElement availability on NodeRenderingContext
  more strict. that makes some redundant node disappeared.

* fast/dom/shadow/content-element-includer-expected.txt: Added.
* fast/dom/shadow/content-element-includer.html: Added.
* platform/chromium-win/fast/html/details-nested-2-expected.txt:
* platform/gtk/fast/html/details-nested-2-expected.txt:
* platform/mac/fast/html/details-nested-2-expected.txt:
* platform/qt/fast/html/details-nested-2-expected.txt:

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

8 years agoAdd a failing test expectation for object-prototype-properties.html after r91225.
barraclough@apple.com [Tue, 19 Jul 2011 02:42:52 +0000 (02:42 +0000)]
Add a failing test expectation for object-prototype-properties.html after r91225.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2011-07-18

* platform/chromium/test_expectations.txt:

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

8 years agoTab Atkins is not in committers.py (as a non-committer)
commit-queue@webkit.org [Tue, 19 Jul 2011 02:25:46 +0000 (02:25 +0000)]
Tab Atkins is not in committers.py (as a non-committer)
https://bugs.webkit.org/show_bug.cgi?id=64770

Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
Reviewed by Eric Seidel.

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

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

8 years ago2011-07-18 Dean Jackson <dino@apple.com>
dino@apple.com [Tue, 19 Jul 2011 02:21:40 +0000 (02:21 +0000)]
2011-07-18  Dean Jackson  <dino@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=64742
        Expose WebPreferences for media playback requiring user gestures and inline playback

        Reviewed by Simon Fraser.

        Media playback already tested if it should require user gestures, but
        no setting was ever exposed to clients. Also, some ports only allow media
        playback to be fullscreen, so exposing a new setting for them.

        Two new WebPreferences: MediaPlaybackRequiresUserGesture and
        MediaPlaybackAllowsInline.

    WebCore:

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
        for user gestures.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Two new settings.
        (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
        (WebCore::Settings::mediaPlaybackRequiresUserGesture):
        (WebCore::Settings::setMediaPlaybackAllowsInline):
        (WebCore::Settings::mediaPlaybackAllowsInline):

    WebKit/mac:

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences mediaPlaybackRequiresUserGesture]):
        (-[WebPreferences setMediaPlaybackRequiresUserGesture:]):
        (-[WebPreferences mediaPlaybackAllowsInline]):
        (-[WebPreferences setMediaPlaybackAllowsInline:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

    WebKit/win:

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::setMediaPlaybackRequiresUserGesture):
        (WebPreferences::mediaPlaybackRequiresUserGesture):
        (WebPreferences::setMediaPlaybackAllowsInline):
        (WebPreferences::mediaPlaybackAllowsInline):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

    WebKit2:

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMediaPlaybackRequiresUserGesture):
        (WKPreferencesGetMediaPlaybackRequiresUserGesture):
        (WKPreferencesSetMediaPlaybackAllowsInline):
        (WKPreferencesGetMediaPlaybackAllowsInline):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

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

8 years agoLeopard build fix after r91229.
rniwa@webkit.org [Tue, 19 Jul 2011 01:42:19 +0000 (01:42 +0000)]
Leopard build fix after r91229.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont):

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

8 years agoAdd a failing test expectation for object-prototype-properties.html after r91225.
rniwa@webkit.org [Tue, 19 Jul 2011 01:25:36 +0000 (01:25 +0000)]
Add a failing test expectation for object-prototype-properties.html after r91225.

* platform/chromium/test_expectations.txt:

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

8 years agoREGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
mitz@apple.com [Tue, 19 Jul 2011 01:21:02 +0000 (01:21 +0000)]
REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=64767

Reviewed by Sam Weinig.

* platform/graphics/Font.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
fonts, because adding a cascade list apparently breaks the font.

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

8 years agoRemove drawsUsingCopy now that all ports handle the copying
mdelaney@apple.com [Tue, 19 Jul 2011 00:54:38 +0000 (00:54 +0000)]
Remove drawsUsingCopy now that all ports handle the copying
https://bugs.webkit.org/show_bug.cgi?id=64768

Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
was used to know whether or not an ImageBuffer should be explicitly copied before being
painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
handle the logic of copying or not in their ImageBuffer::draw() implementations, so
drawsUsingCopy() is no longer needed. This patch removes it.

Reviewed by Dan Bernstein.

No new tests; does not affect behavior.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::isAccelerated):
* platform/graphics/cairo/ImageBufferCairo.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/qt/ImageBufferQt.cpp:
* platform/graphics/skia/ImageBufferSkia.cpp:
* platform/graphics/wince/ImageBufferWinCE.cpp:
* platform/graphics/wx/ImageBufferWx.cpp:

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

8 years agoWeb Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is...
vsevik@chromium.org [Tue, 19 Jul 2011 00:39:02 +0000 (00:39 +0000)]
Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
https://bugs.webkit.org/show_bug.cgi?id=64748

Reviewed by Pavel Feldman.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._frameNavigated):

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

8 years agoDFG JIT does not optimize strict equality as effectively as the old JIT does.
commit-queue@webkit.org [Tue, 19 Jul 2011 00:36:37 +0000 (00:36 +0000)]
DFG JIT does not optimize strict equality as effectively as the old JIT does.
https://bugs.webkit.org/show_bug.cgi?id=64759

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Gavin Barraclough.

This adds a more complete set of strict equality optimizations.  If either
operand is known numeric, then the code reverts to the old style of optimizing
(first try integer comparison).  Otherwise it uses the old JIT's trick of
first simultaneously checking if both operands are either numbers or cells;
if not then a fast path is taken.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
* dfg/DFGJITCodeGenerator.h:
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64760
barraclough@apple.com [Tue, 19 Jul 2011 00:26:14 +0000 (00:26 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64760
DFG JIT - Should be able to compile program code.

Reviewed by Geoff Garen.

Add support for op_end, hooks to compile program code in Executable.cpp.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
    - Add support for op_end
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::link):
    - Added, separate out steps of compileFunction.
(JSC::DFG::JITCompiler::compile):
    - Added, compile program code.
(JSC::DFG::JITCompiler::compileFunction):
    - Sections separated out to helper functions.
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::JITCompiler):
    - Added m_exceptionCheckCount.
* runtime/Executable.cpp:
(JSC::tryDFGCompile):
(JSC::tryDFGCompileFunction):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
    - Renamed tryDFGCompile to tryDFGCompileFunction, added tryDFGCompile to compile program code.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64678
barraclough@apple.com [Tue, 19 Jul 2011 00:25:49 +0000 (00:25 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64678
Fix bugs in Object.prototype this handling.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

undefined/null this values should throw TypeErrors, not convert to the global object,
also, to toLocaleString should be calling the ToObject & invoking the object's toString
function, even for values that are already strings.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):

LayoutTests:

* fast/js/resources/js-test-pre.js:
    - Updated harness to not call Object.prototype.toString on undefined.
* fast/js/eval-var-decl-expected.txt:
* fast/js/object-prototype-properties-expected.txt: Added.
* fast/js/object-prototype-properties.html: Added.
* fast/js/object-prototype-toLocaleString-expected.txt
* fast/js/script-tests/eval-var-decl.js:
    - Fix test case, calling hasProperty with undefined as the this value should throw.
* fast/js/script-tests/object-prototype-properties.js: Added.
    - Place for test cases for Object.prototype properties; to being with, check that calling these methods on undefined throws!
* fast/js/script-tests/object-prototype-toLocaleString.js:
    - Added test cases for correct behaviour when this is a string primitive.
* sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T3-expected.txt:
    - These test cases are all incorrect. (See https://bugs.ecmascript.org/show_bug.cgi?id=117).
      We were incorrectly passing 15.5.4.11_String.prototype.replace, this should fail, as the others do.
      All the other 15.5.4 tests were failing & are still failing, but now have a better error message.
      S11.1.1_A2 is also invalid, calling toString() passing undefined as this should throw.

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

8 years agoFix a typo.
rniwa@webkit.org [Tue, 19 Jul 2011 00:20:42 +0000 (00:20 +0000)]
Fix a typo.

* platform/chromium/test_expectations.txt:

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

8 years agoPrep work for: Crash under WebPage::platformDragEnded when dragging on Mac
bweinstein@apple.com [Tue, 19 Jul 2011 00:14:48 +0000 (00:14 +0000)]
Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
https://bugs.webkit.org/show_bug.cgi?id=64766
<rdar://problem/9548174>

Reviewed by Darin Adler.

Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
This isn't used yet, but will be used by WebKit2 on Mac.

This patch also cleans up style in DragClient.h.

No change in behavior, no tests needed.

* page/DragClient.h:
(WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
    WebKit2 on Mac.
* page/DragController.cpp:
(WebCore::DragController::dragEnded): Call DragClient::dragEnded.

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

8 years agoAdd Chromium failing expectations for some font tests; failures are tracked by the...
rniwa@webkit.org [Mon, 18 Jul 2011 23:59:48 +0000 (23:59 +0000)]
Add Chromium failing expectations for some font tests; failures are tracked by the bug 64767.

* platform/chromium/test_expectations.txt:

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

8 years agoLoad ToT chromium bots by default in the flakiness dashboard
ojan@chromium.org [Mon, 18 Jul 2011 23:19:06 +0000 (23:19 +0000)]
Load ToT chromium bots by default in the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=64756

Reviewed by Adam Barth.

For now, these are the most useful bots to look at. Eventually,
we may want to load the build.webkit.org bots by default once
most of the bots there upload results.

* TestResultServer/static-dashboards/dashboard_base.js:

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

8 years agoFocus and selection events are not fired when a <select>'s selection
jhoneycutt@apple.com [Mon, 18 Jul 2011 23:16:31 +0000 (23:16 +0000)]
Focus and selection events are not fired when a <select>'s selection
changes
https://bugs.webkit.org/show_bug.cgi?id=64504
<rdar://problem/9319881>

Reviewed by Alice Liu.

Source/WebCore:

Test: platform/win/accessibility/option-element-selection-and-focus-events.html

* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Add new notification type to the section of unhandled notifications.

* accessibility/AXObjectCache.h:
Declare a new notification, AXMenuListItemSelected.

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::didUpdateActiveOption):
Tell our child popup that the active option changed, and post a
notification that our value changed.

* accessibility/AccessibilityMenuList.h:
Declare didUpdateActiveOption().

* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
Get the child <option> element that is selected, and fire focus and
selection events for it.

* accessibility/AccessibilityMenuListPopup.h:
Declare didUpdateActiveOption().

* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.

* dom/SelectElement.cpp:
(WebCore::SelectElement::setSelectedIndex):
Pass the newly-selected index.

* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
Update the initialization list for the renamed m_lastActiveIndex.
(WebCore::RenderMenuList::setTextFromOption):
A new selection has been made in the popup; call
didUpdateActiveOption().
(WebCore::RenderMenuList::didSetSelectedIndex):
Call didUpdateActiveOption(), passing the index of the newly-selected
<option>.
(WebCore::RenderMenuList::didUpdateActiveOption):
If accessibility is disabled, or if the active option has not changed,
return early. Check whether the option index is in the range of list
items, and assert that the item at that index is an <option> element.
Tell the AccessibilityMenuList for this element that we updated the
active option.

* rendering/RenderMenuList.h:
Updated the declaration of didSetSelectedIndex() to take the selected
index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
m_lastActiveIndex.

Tools:

* DumpRenderTree/AccessibilityController.h:
Added m_notificationsEventHook for addNotificationListener().
m_allEventsHook will now be used for setLogAccessibilityEvents().

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::AccessibilityController):
Initialize m_notificationsEventHook.
(AccessibilityController::~AccessibilityController):
Turn off logging of all accessibility events. If
m_notificationsEventHook is non-null, unhook it.
(logEventProc):
Add handling of EVENT_OBJECT_SELECTION.
(AccessibilityController::setLogAccessibilityEvents):
If the state of logging is not changing, return early. If we're turning
off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a
hook for all events.
(AccessibilityController::addNotificationListener):
Use m_notificationsEventHook rather than m_allEventsHook.

LayoutTests:

* platform/win/accessibility/option-element-selection-and-focus-events-expected.txt: Added.
* platform/win/accessibility/option-element-selection-and-focus-events.html: Added.

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

8 years agoJSC GC lazy sweep does not inline the common cases of cell destruction.
commit-queue@webkit.org [Mon, 18 Jul 2011 22:55:47 +0000 (22:55 +0000)]
JSC GC lazy sweep does not inline the common cases of cell destruction.
https://bugs.webkit.org/show_bug.cgi?id=64745

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Oliver Hunt.

This inlines the case of JSFinalObject destruction.

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::lazySweep):

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

8 years agoAdd regression tests for legacy color parsing of valid CSS colors
commit-queue@webkit.org [Mon, 18 Jul 2011 22:49:38 +0000 (22:49 +0000)]
Add regression tests for legacy color parsing of valid CSS colors
https://bugs.webkit.org/show_bug.cgi?id=64576

Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
Reviewed by Simon Fraser.

* fast/dom/attribute-legacy-colors-expected.txt:
* fast/dom/script-tests/attribute-legacy-colors.js:

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

8 years agoInterpreter build-fix
oliver@apple.com [Mon, 18 Jul 2011 22:42:57 +0000 (22:42 +0000)]
Interpreter build-fix

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

8 years agowebkit-patch apply-attachment does not work when not called from the root of the...
commit-queue@webkit.org [Mon, 18 Jul 2011 22:36:24 +0000 (22:36 +0000)]
webkit-patch apply-attachment does not work when not called from the root of the checkout
https://bugs.webkit.org/show_bug.cgi?id=64751

Unreviewed.  Just updating unit test results after bug 64751.

* Scripts/webkitpy/layout_tests/port/chromium_win.py:
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

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

8 years agosimplejson has trouble on chromium-linux
abarth@webkit.org [Mon, 18 Jul 2011 22:27:54 +0000 (22:27 +0000)]
simplejson has trouble on chromium-linux
https://bugs.webkit.org/show_bug.cgi?id=64757

Reviewed by Eric Seidel.

Use the native JSON, if available.

* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

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

8 years agoUnreviewed. Rolled DEPS.
rniwa@webkit.org [Mon, 18 Jul 2011 21:59:36 +0000 (21:59 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-18

* DEPS:

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

8 years agoupdate the flakiness dashboard to understand the new platforms/formats in test_expect...
ojan@chromium.org [Mon, 18 Jul 2011 21:51:18 +0000 (21:51 +0000)]
update the flakiness dashboard to understand the new platforms/formats in test_expectations
https://bugs.webkit.org/show_bug.cgi?id=64743

Reviewed by Adam Barth.

The test expectations format changed a long time ago and the flakiness dashboard
was never updated to match.

* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
* TestResultServer/static-dashboards/timeline_explorer.html:

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

8 years ago[SVG] [Chromium]: painting-control-04-f.svg and zero-path-square-cap-rendering.svg...
rniwa@webkit.org [Mon, 18 Jul 2011 21:27:10 +0000 (21:27 +0000)]
[SVG] [Chromium]: painting-control-04-f.svg and zero-path-square-cap-rendering.svg are failing
https://bugs.webkit.org/show_bug.cgi?id=64675

Rebaseline painting-control-04-f.svg since r91191 fixed it.

* platform/chromium-linux/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agowebkit-patch apply-attachment does not work when not called from the root of the...
commit-queue@webkit.org [Mon, 18 Jul 2011 21:16:45 +0000 (21:16 +0000)]
webkit-patch apply-attachment does not work when not called from the root of the checkout
https://bugs.webkit.org/show_bug.cgi?id=64751

Reviewed by Adam Barth.

Last week I removed a os.chdir in EnsureWorkingDirectoryClean, which
is a step that we run for most commands (as one of the earliest steps).
EnsureWorkingDirectoryClean was incorrectly calling os.chdir to change
the CWD to the checkout root.  This magically made a bunch of otherwise
wrong code work.

When I realized that apply-attachment no longer worked as expected today,
I went and fixed the bug, then realizing that we were not testing
what the cwd was when running various commands.  I fixed our MockExecutive
to always log what the cwd is and fixed a whole bunch of places
where we needed to be setting the cwd.

Hopefully this will solve our cwd problems once and for-all, and webkit-patch
will again correctly work when called from any directory (including outside
of a webkit checkout).

* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
* Scripts/webkitpy/common/system/executive.py:
* Scripts/webkitpy/common/system/workspace_unittest.py:
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
* Scripts/webkitpy/tool/bot/irc_command.py:
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/queues.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
* Scripts/webkitpy/tool/mocktool.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
* Scripts/webkitpy/tool/steps/build.py:
* Scripts/webkitpy/tool/steps/checkstyle.py:
* Scripts/webkitpy/tool/steps/editchangelog.py:
* Scripts/webkitpy/tool/steps/preparechangelog.py:
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
* Scripts/webkitpy/tool/steps/runtests.py:
* Scripts/webkitpy/tool/steps/steps_unittest.py:
* Scripts/webkitpy/tool/steps/update.py:

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

8 years agoSpecify a cascade list consisting of the last resort font for Core Text
mitz@apple.com [Mon, 18 Jul 2011 21:10:52 +0000 (21:10 +0000)]
Specify a cascade list consisting of the last resort font for Core Text
https://bugs.webkit.org/show_bug.cgi?id=64747

Reviewed by Sam Weinig.

No new tests, because this does not affect behavior.

This prevents Core Text from taking its default, longer fallback list when the primary font does
not include a character. This is OK to do because WebKit never uses the results of Core Text
fallback anyway.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
list consisting of the last resort font.
(WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
in the returned font.

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

8 years agoDFG JIT does not optimize equal-null comparisons and branches.
commit-queue@webkit.org [Mon, 18 Jul 2011 21:04:51 +0000 (21:04 +0000)]
DFG JIT does not optimize equal-null comparisons and branches.
https://bugs.webkit.org/show_bug.cgi?id=64659

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Gavin Barraclough.

Added a peephole-aware compare-to-null implementation to JITCodeGenerator,
which is used by both the speculative and non-speculative JIT.  Through
the use of the new isNullConstant helper, the two JITs invoke the
nonSpecualtiveCompareNull() helper instead of their regular comparison
helpers when compiling CompareEq.  Through the use of the new isKnownCell
helper, the compare-null code will skip the is-a-cell check if the
speculative JIT had been speculating cell.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownCell):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranchNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompareNull):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::isNullConstant):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agoTimer scheduling should be based off the monotonic clock
commit-queue@webkit.org [Mon, 18 Jul 2011 20:38:42 +0000 (20:38 +0000)]
Timer scheduling should be based off the monotonic clock
https://bugs.webkit.org/show_bug.cgi?id=64544

Patch by James Robinson <jamesr@chromium.org> on 2011-07-18
Reviewed by Darin Adler.

Source/JavaScriptCore:

Switches ThreadCondition::timedWait and related utility functions from currentTime() to
monotonicallyIncreasingTime().

Add WTF::monotonicallyIncreasingTime() to list of exported functions so it can be accessed from WebCore/WebKit.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/ThreadingPthreads.cpp:
(WTF::ThreadCondition::timedWait):
* wtf/ThreadingWin.cpp:
(WTF::absoluteTimeToWaitTimeoutInterval):
* wtf/gtk/ThreadingGtk.cpp:
(WTF::ThreadCondition::timedWait):
* wtf/qt/ThreadingQt.cpp:
(WTF::ThreadCondition::timedWait):

Source/WebCore:

Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
and predictability when the system clock is adjusted.

No automated tests since there is no way to modify the system clock from DRT.

* platform/SharedTimer.h:
(WebCore::MainThreadSharedTimer::setFireInterval):
* platform/ThreadTimers.cpp:
(WebCore::ThreadTimers::updateSharedTimer):
(WebCore::ThreadTimers::sharedTimerFiredInternal):
* platform/Timer.cpp:
(WebCore::TimerBase::start):
(WebCore::TimerBase::nextFireInterval):
* platform/android/SharedTimerAndroid.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/brew/SharedTimerBrew.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/chromium/PlatformBridge.h:
* platform/chromium/SharedTimerChromium.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/efl/SharedTimerEfl.cpp:
(WebCore::addNewTimer):
(WebCore::setSharedTimerFireInterval):
* platform/gtk/SharedTimerGtk.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/haiku/SharedTimerHaiku.cpp:
(WebCore::SharedTimerHaiku::start):
(WebCore::setSharedTimerFireInterval):
* platform/mac/SharedTimerMac.mm:
(WebCore::setSharedTimerFireInterval):
* platform/qt/SharedTimerQt.cpp:
(WebCore::SharedTimerQt::start):
(WebCore::setSharedTimerFireInterval):
* platform/win/SharedTimerWin.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/wince/SharedTimerWinCE.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/wx/SharedTimerWx.cpp:
(WebCore::setSharedTimerFireInterval):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerSharedTimer::setFireInterval):

Source/WebKit/chromium:

Renames setSharedTimerFireTime to setSharedTimerFireInterval to be consistent with WebCore.

* public/WebKitClient.h:
(WebKit::WebKitClient::setSharedTimerFireInterval):
* src/PlatformBridge.cpp:
(WebCore::PlatformBridge::setSharedTimerFireInterval):

Source/WebKit2:

Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::waitForSyncReply):
* Platform/RunLoop.h:

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

8 years agoPatch by Yuzhu Shen <yzshen@chromium.com> on 2011-07-18
commit-queue@webkit.org [Mon, 18 Jul 2011 20:36:31 +0000 (20:36 +0000)]
Patch by Yuzhu Shen <yzshen@chromium.com> on 2011-07-18
Reviewed by James Robinson.

[chromium] WebFontImpl::drawText needs to handle the canvasIsOpaque input.
https://bugs.webkit.org/show_bug.cgi?id=64555

This change handles canvasIsOpaque for the WEBKIT_USING_SKIA case.

* src/WebFontImpl.cpp: handled canvasIsOpaque.
* src/WebFontImpl.h: added method declaration.

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

8 years agoUpdate baseline. rbuis says this is an improvement.
abarth@webkit.org [Mon, 18 Jul 2011 20:16:02 +0000 (20:16 +0000)]
Update baseline.  rbuis says this is an improvement.

* platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.

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

8 years ago[chromium] Move a Linux specific test into chromium-linux and rebaseline
tony@chromium.org [Mon, 18 Jul 2011 19:31:02 +0000 (19:31 +0000)]
[chromium] Move a Linux specific test into chromium-linux and rebaseline
https://bugs.webkit.org/show_bug.cgi?id=64632

Reviewed by Ojan Vafai.

Rebaselining per the comment in test_expectations.txt.

* platform/chromium-linux/fast/text/chromium-linux-fontconfig-renderstyle-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle-expected.png: Removed.
* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed. Fix Windows build. Move static function defaultSessionCookieStorage(...
psolanki@apple.com [Mon, 18 Jul 2011 19:20:55 +0000 (19:20 +0000)]
Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
its use in defaultCookieStorage().

* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::defaultSessionCookieStorage):

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

8 years agoPart of https://bugs.webkit.org/show_bug.cgi?id=63674
psolanki@apple.com [Mon, 18 Jul 2011 18:55:56 +0000 (18:55 +0000)]
Part of https://bugs.webkit.org/show_bug.cgi?id=63674
Get webkit to compile with USE(CFNETWORK) enabled on Mac

Reviewed by David Kilzer.

Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.

No new tests because no change in functionality.

* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::defaultCookieStorage):
(WebCore::defaultSessionCookieStorage):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
* platform/network/mac/CookieStorageMac.mm:

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

8 years agoJSC JIT does not inline GC allocation fast paths
commit-queue@webkit.org [Mon, 18 Jul 2011 18:55:48 +0000 (18:55 +0000)]
JSC JIT does not inline GC allocation fast paths
https://bugs.webkit.org/show_bug.cgi?id=64582

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Oliver Hunt.

This addresses inlining allocation for the easiest-to-allocate cases:
op_new_object and op_create_this.  Inlining GC allocation fast paths
required three changes.  First, the JSGlobalData now saves the vtable
pointer of JSFinalObject, since that's what op_new_object and
op_create_this allocate.  Second, the Heap exposes a reference to
the appropriate SizeClass, so that the JIT may inline accesses
directly to the SizeClass for JSFinalObject allocations.  And third,
the JIT is extended with code to emit inline fast paths for GC
allocation.  A stub call is emitted in the case where the inline fast
path fails.

* heap/Heap.h:
(JSC::Heap::sizeClassFor):
(JSC::Heap::allocate):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateJSFinalObject):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::storeVPtrs):
* runtime/JSGlobalData.h:
* runtime/JSObject.h:
(JSC::JSFinalObject::JSFinalObject):
(JSC::JSObject::offsetOfInheritorID):

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

8 years agoPart of https://bugs.webkit.org/show_bug.cgi?id=63674
psolanki@apple.com [Mon, 18 Jul 2011 18:43:08 +0000 (18:43 +0000)]
Part of https://bugs.webkit.org/show_bug.cgi?id=63674
Get webkit to compile with USE(CFNETWORK) enabled on Mac

Reviewed by David Kilzer.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

Create an NSURLDownload from the CF objects that we have.

* Misc/WebDownload.mm:
(-[WebDownload _initWithLoadingCFURLConnection:request:response:delegate:proxy:]):
* Misc/WebDownloadInternal.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::download):

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

8 years agoIncrease information garden-o-matic information density by switching to a table
abarth@webkit.org [Mon, 18 Jul 2011 18:20:11 +0000 (18:20 +0000)]
Increase information garden-o-matic information density by switching to a table
https://bugs.webkit.org/show_bug.cgi?id=64642

Reviewed by Dimitri Glazkov.

The old layout couldn't handle the large number of failures we had
today.  This patch switches garden-o-matic to a table-based layout,
which can handle many more failures gracefully.  (I expect we'll need
more UI iterations.)

* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:

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

8 years agogarden-o-matic should be able to determine when compile breaks
abarth@webkit.org [Mon, 18 Jul 2011 18:18:48 +0000 (18:18 +0000)]
garden-o-matic should be able to determine when compile breaks
https://bugs.webkit.org/show_bug.cgi?id=64190

Reviewed by Dimitri Glazkov.

This patch adds a red-ish box to the top of the page whenever there is
a compile error on the bots.  The box automatically opens and closes as
appropriate and links to the waterfall display.  In the future, we
might want to compute a regression range.

* Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
    - Add the build-only bots to the config.  We use these to check
      whether the build failed, which is faster than waiting for the
      tester bots to cycle.
* Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
    - Add DOM for the alert bar.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
    - CSS to support the alert bar.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
    - Wiring up events to poll the buildbot to see whether compile has
      failed.
* Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
    - Infrastructure for fetching and parsing the buildbot status JSON
      blob.  This code could be better factored for testability.  :(
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
    - UI for displaying compile errors.
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:

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

8 years agoSpeculative fix for Leopard assertions caused by 91095.
barraclough@apple.com [Mon, 18 Jul 2011 18:11:01 +0000 (18:11 +0000)]
Speculative fix for Leopard assertions caused by 91095.

Rubber stamped by Sam Weinig.

* bridge/NP_jsobject.cpp:
(_NPN_Invoke):
    - ensure we pass the window shell, not the global object.

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

8 years ago2011-07-18 Mark Hahnenberg <mhahnenberg@apple.com>
oliver@apple.com [Mon, 18 Jul 2011 17:47:13 +0000 (17:47 +0000)]
2011-07-18  Mark Hahnenberg  <mhahnenberg@apple.com>

        Refactor JSC to replace JSCell::operator new with static create method
        https://bugs.webkit.org/show_bug.cgi?id=64466

        Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).

        First step in a longer refactoring process to remove the use of
        operator new overloading in order to allocate GC objects and to replace
        this method with static create methods for each individual type of heap-allocated
        JS object.  This particular patch only deals with replacing uses of
        operator new within JSC proper.  Future patches will remove it from the
        parts that interface with the DOM.  Due to the DOM's continued dependence
        on it, operator new has not actually been removed from JSCell.

        * API/JSCallbackConstructor.h:
        (JSC::JSCallbackConstructor::create):
        * API/JSCallbackFunction.h:
        (JSC::JSCallbackFunction::create):
        * API/JSCallbackObject.h:
        (JSC::JSCallbackObject::operator new):
        (JSC::JSCallbackObject::create):
        * API/JSCallbackObjectFunctions.h:
        (JSC::::staticFunctionGetter):
        * API/JSClassRef.cpp:
        (OpaqueJSClass::prototype):
        * API/JSContextRef.cpp:
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeConstructor):
        * JavaScriptCore.exp:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::createActivation):
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::BytecodeGenerator):
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::makeFunction):
        * bytecompiler/NodesCodegen.cpp:
        (JSC::RegExpNode::emitBytecode):
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::retrieveArguments):
        * jit/JITStubs.cpp:
        (JSC::DEFINE_STUB_FUNCTION):
        * jsc.cpp:
        (GlobalObject::create):
        (GlobalObject::GlobalObject):
        (functionRun):
        (jscmain):
        * runtime/Arguments.h:
        (JSC::Arguments::create):
        (JSC::Arguments::createNoParameters):
        * runtime/ArrayConstructor.cpp:
        (JSC::constructArrayWithSizeQuirk):
        * runtime/ArrayConstructor.h:
        (JSC::ArrayConstructor::create):
        * runtime/ArrayPrototype.cpp:
        (JSC::arrayProtoFuncSplice):
        * runtime/ArrayPrototype.h:
        (JSC::ArrayPrototype::create):
        * runtime/BooleanConstructor.cpp:
        (JSC::constructBoolean):
        (JSC::constructBooleanFromImmediateBoolean):
        * runtime/BooleanConstructor.h:
        (JSC::BooleanConstructor::create):
        * runtime/BooleanObject.h:
        (JSC::BooleanObject::create):
        * runtime/BooleanPrototype.h:
        (JSC::BooleanPrototype::create):
        * runtime/DateConstructor.cpp:
        (JSC::constructDate):
        * runtime/DateConstructor.h:
        (JSC::DateConstructor::create):
        * runtime/DateInstance.h:
        (JSC::DateInstance::create):
        * runtime/DatePrototype.h:
        (JSC::DatePrototype::create):
        * runtime/Error.cpp:
        (JSC::createError):
        (JSC::createEvalError):
        (JSC::createRangeError):
        (JSC::createReferenceError):
        (JSC::createSyntaxError):
        (JSC::createTypeError):
        (JSC::createURIError):
        (JSC::StrictModeTypeErrorFunction::create):
        (JSC::createTypeErrorFunction):
        * runtime/ErrorConstructor.h:
        (JSC::ErrorConstructor::create):
        * runtime/ErrorInstance.cpp:
        (JSC::ErrorInstance::ErrorInstance):
        (JSC::ErrorInstance::create):
        * runtime/ErrorInstance.h:
        * runtime/ErrorPrototype.cpp:
        (JSC::ErrorPrototype::ErrorPrototype):
        * runtime/ErrorPrototype.h:
        (JSC::ErrorPrototype::create):
        * runtime/ExceptionHelpers.cpp:
        (JSC::InterruptedExecutionError::InterruptedExecutionError):
        (JSC::InterruptedExecutionError::create):
        (JSC::createInterruptedExecutionException):
        (JSC::TerminatedExecutionError::TerminatedExecutionError):
        (JSC::TerminatedExecutionError::create):
        (JSC::createTerminatedExecutionException):
        * runtime/Executable.cpp:
        (JSC::FunctionExecutable::FunctionExecutable):
        (JSC::FunctionExecutable::fromGlobalCode):
        * runtime/Executable.h:
        (JSC::ExecutableBase::create):
        (JSC::NativeExecutable::create):
        (JSC::ScriptExecutable::ScriptExecutable):
        (JSC::EvalExecutable::create):
        (JSC::ProgramExecutable::create):
        (JSC::FunctionExecutable::create):
        (JSC::FunctionExecutable::make):
        * runtime/FunctionConstructor.cpp:
        (JSC::constructFunctionSkippingEvalEnabledCheck):
        * runtime/FunctionConstructor.h:
        (JSC::FunctionConstructor::create):
        * runtime/FunctionPrototype.cpp:
        (JSC::FunctionPrototype::addFunctionProperties):
        * runtime/FunctionPrototype.h:
        (JSC::FunctionPrototype::create):
        * runtime/GetterSetter.h:
        (JSC::GetterSetter::create):
        * runtime/JSAPIValueWrapper.h:
        (JSC::JSAPIValueWrapper::create):
        (JSC::jsAPIValueWrapper):
        * runtime/JSActivation.cpp:
        (JSC::JSActivation::argumentsGetter):
        * runtime/JSActivation.h:
        (JSC::JSActivation::create):
        * runtime/JSArray.h:
        (JSC::JSArray::create):
        * runtime/JSCell.h:
        (JSC::JSCell::allocateCell):
        * runtime/JSFunction.h:
        (JSC::JSFunction::create):
        * runtime/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::init):
        (JSC::JSGlobalObject::reset):
        * runtime/JSGlobalObject.h:
        (JSC::constructEmptyArray):
        (JSC::constructArray):
        * runtime/JSNotAnObject.h:
        (JSC::JSNotAnObject::create):
        * runtime/JSONObject.h:
        (JSC::JSONObject::create):
        * runtime/JSObject.cpp:
        (JSC::JSObject::defineGetter):
        (JSC::JSObject::defineSetter):
        (JSC::putDescriptor):
        * runtime/JSObject.h:
        (JSC::JSFinalObject::create):
        * runtime/JSPropertyNameIterator.cpp:
        (JSC::JSPropertyNameIterator::create):
        * runtime/JSPropertyNameIterator.h:
        (JSC::JSPropertyNameIterator::create):
        * runtime/JSString.cpp:
        (JSC::JSString::substringFromRope):
        (JSC::JSString::replaceCharacter):
        (JSC::StringObject::create):
        * runtime/JSString.h:
        (JSC::RopeBuilder::JSString):
        (JSC::RopeBuilder::create):
        (JSC::RopeBuilder::createHasOtherOwner):
        (JSC::jsSingleCharacterString):
        (JSC::jsSingleCharacterSubstring):
        (JSC::jsNontrivialString):
        (JSC::jsString):
        (JSC::jsSubstring):
        (JSC::jsOwnedString):
        * runtime/JSValue.cpp:
        (JSC::JSValue::toObjectSlowCase):
        (JSC::JSValue::synthesizeObject):
        (JSC::JSValue::synthesizePrototype):
        * runtime/Lookup.cpp:
        (JSC::setUpStaticFunctionSlot):
        * runtime/MathObject.h:
        (JSC::MathObject::create):
        * runtime/NativeErrorConstructor.cpp:
        (JSC::NativeErrorConstructor::NativeErrorConstructor):
        * runtime/NativeErrorConstructor.h:
        (JSC::NativeErrorConstructor::create):
        * runtime/NativeErrorPrototype.h:
        (JSC::NativeErrorPrototype::create):
        * runtime/NumberConstructor.cpp:
        (JSC::constructWithNumberConstructor):
        * runtime/NumberConstructor.h:
        (JSC::NumberConstructor::create):
        * runtime/NumberObject.cpp:
        (JSC::constructNumber):
        * runtime/NumberObject.h:
        (JSC::NumberObject::create):
        * runtime/NumberPrototype.h:
        (JSC::NumberPrototype::create):
        * runtime/ObjectConstructor.h:
        (JSC::ObjectConstructor::create):
        * runtime/ObjectPrototype.h:
        (JSC::ObjectPrototype::create):
        * runtime/Operations.h:
        (JSC::jsString):
        * runtime/RegExp.cpp:
        (JSC::RegExp::RegExp):
        (JSC::RegExp::createWithoutCaching):
        (JSC::RegExp::create):
        * runtime/RegExp.h:
        * runtime/RegExpCache.cpp:
        (JSC::RegExpCache::lookupOrCreate):
        * runtime/RegExpConstructor.cpp:
        (JSC::RegExpConstructor::arrayOfMatches):
        (JSC::constructRegExp):
        * runtime/RegExpConstructor.h:
        (JSC::RegExpConstructor::create):
        * runtime/RegExpMatchesArray.h:
        (JSC::RegExpMatchesArray::create):
        * runtime/RegExpObject.h:
        (JSC::RegExpObject::create):
        * runtime/RegExpPrototype.cpp:
        (JSC::regExpProtoFuncCompile):
        * runtime/RegExpPrototype.h:
        (JSC::RegExpPrototype::create):
        * runtime/ScopeChain.h:
        (JSC::ScopeChainNode::create):
        (JSC::ScopeChainNode::push):
        * runtime/SmallStrings.cpp:
        (JSC::SmallStrings::createEmptyString):
        (JSC::SmallStrings::createSingleCharacterString):
        * runtime/StringConstructor.cpp:
        (JSC::constructWithStringConstructor):
        * runtime/StringConstructor.h:
        (JSC::StringConstructor::create):
        * runtime/StringObject.h:
        (JSC::StringObject::create):
        * runtime/StringObjectThatMasqueradesAsUndefined.h:
        (JSC::StringObjectThatMasqueradesAsUndefined::create):
        * runtime/StringPrototype.cpp:
        (JSC::stringProtoFuncMatch):
        (JSC::stringProtoFuncSearch):
        * runtime/StringPrototype.h:
        (JSC::StringPrototype::create):
        * runtime/Structure.h:
        (JSC::Structure::create):
        (JSC::Structure::createStructure):
        * runtime/StructureChain.h:
        (JSC::StructureChain::create):

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

8 years ago[Qt] Compiling error in Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp with...
commit-queue@webkit.org [Mon, 18 Jul 2011 17:12:48 +0000 (17:12 +0000)]
[Qt] Compiling error in Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp with Qt 4.7 or older
https://bugs.webkit.org/show_bug.cgi?id=64560

Patch by Hui Huang <hui.2.huang@nokia.com> on 2011-07-18
Reviewed by Noam Rosenthal.

* tests/qwebelement/tst_qwebelement.cpp:
(tst_QWebElement::render):

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

8 years ago[Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause...
commit-queue@webkit.org [Mon, 18 Jul 2011 17:04:50 +0000 (17:04 +0000)]
[Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
https://bugs.webkit.org/show_bug.cgi?id=62587

Patch by Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> on 2011-07-18
Reviewed by Noam Rosenthal.

Fix unsync between m_parent and m_children list in child and parent texture mapper nodes
in syncCompositingStateSelf.

* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncCompositingStateSelf):

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

8 years agoStroking of zero-length paths in SVG should change according to erratum
commit-queue@webkit.org [Mon, 18 Jul 2011 17:01:41 +0000 (17:01 +0000)]
Stroking of zero-length paths in SVG should change according to erratum
https://bugs.webkit.org/show_bug.cgi?id=18356

Patch by Rob Buis <rbuis@rim.com> on 2011-07-18
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
it ourselves just like for stroke-linecap=square.

* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
(WebCore::RenderSVGPath::setupSquareCapPath):

LayoutTests:

* platform/mac/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png:
* platform/mac/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt:

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

8 years ago[REGRESSION] Value 'none' breaks multiple background-image display
commit-queue@webkit.org [Mon, 18 Jul 2011 16:54:03 +0000 (16:54 +0000)]
[REGRESSION] Value 'none' breaks multiple background-image display
https://bugs.webkit.org/show_bug.cgi?id=59274

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-18
Reviewed by Simon Fraser.

When taking fast path for simple color background, we should draw
the background only if it is the last in the list of backgrounds.
Otherwise, it will obscure the previously drawn backgrounds.

Source/WebCore:

Test: fast/backgrounds/background-fast-path-simple-color.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

LayoutTests:

* fast/backgrounds/background-fast-path-simple-color-expected.png: Added.
* fast/backgrounds/background-fast-path-simple-color-expected.txt: Added.
* fast/backgrounds/background-fast-path-simple-color.html: Added.

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

8 years ago[Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
yi.4.shen@nokia.com [Mon, 18 Jul 2011 16:48:32 +0000 (16:48 +0000)]
[Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
https://bugs.webkit.org/show_bug.cgi?id=62808

Source/WebCore:

The assertion in ResourceHandle::setDefersLoading assumes asynchronous
content delivery -- To resume a page, first, its main resource loader
calls setDefersLoading to resume loading the main content; then all the
sub-resource loaders calls setDefersLoading to resume sub-contents.
However, since QNetworkReplyHandler delivers content synchronously,
some new sub-resource loaders get created as soon as the main resource
loader resumed, and all these new sub-resource loaders set their
defersLoading flag to false. Then, the assertion fails for these new
sub-resource loaders when calling setDefersLoading on them. As a fix,
this path makes QNetworkReplyHandler deliver content asynchronously
when its load type is set to SynchronousLoad.

Reviewed by Benjamin Poulain.

Test: loader/load-defer-resume-crash.html

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
* platform/network/qt/QNetworkReplyHandler.h:
(WebCore::QNetworkReplyHandler::setLoadingDeferred):

LayoutTests:

Added a test for the crash occurs when load deferring is turned off.

Reviewed by Benjamin Poulain.

* loader/load-defer-resume-crash-expected.txt: Added.
* loader/load-defer-resume-crash.html: Added.
* loader/resources/images.html: Added.
* platform/chromium/test_expectations.txt: Skip this test since the LayoutTestController::setDefersLoading is not implemented for chromium.

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