WebKit-https.git
7 years agoUnreviewed, rolling out r143536.
commit-queue@webkit.org [Thu, 21 Feb 2013 23:50:20 +0000 (23:50 +0000)]
Unreviewed, rolling out r143536.
http://trac.webkit.org/changeset/143536
https://bugs.webkit.org/show_bug.cgi?id=110523

Causing a bunch of tests to fail on Windows, requires
rebaselining (Requested by rfong on #webkit).

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

Source/WebCore:

* config.h:
* page/Settings.cpp:
(WebCore):
(WebCore::Settings::setShouldPaintNativeControls):
* page/Settings.h:
(Settings):
(WebCore::Settings::shouldPaintNativeControls):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore):
* rendering/RenderThemeWin.cpp:
(WebCore):

Source/WebKit/win:

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

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

7 years agoDon't make an overhang shadow layer when the WKView has a transparent background
simon.fraser@apple.com [Thu, 21 Feb 2013 23:29:23 +0000 (23:29 +0000)]
Don't make an overhang shadow layer when the WKView has a transparent background
https://bugs.webkit.org/show_bug.cgi?id=110429

Reviewed by Anders Carlsson.

When in coordinated scrolling mode, RenderLayerCompositor makes a layer to show
the shadow around the content when rubber-banding. However, if the view is
transparent, we don't want to make this layer, since it darkens the entire view.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Code was moved
into viewHasTransparentBackground(), so just call that here.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't make
a shadow layer when the view is transparent.
(WebCore::RenderLayerCompositor::viewHasTransparentBackground): Return
true if the view is transparent or has a non-opaque background color,
and optionally return that color.
* rendering/RenderLayerCompositor.h:

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

7 years ago[Safari] Crash with opacity + drop shadow filter + child element extending beyond...
simon.fraser@apple.com [Thu, 21 Feb 2013 23:29:17 +0000 (23:29 +0000)]
[Safari] Crash with opacity + drop shadow filter + child element extending beyond filter outsets
https://bugs.webkit.org/show_bug.cgi?id=107467

Source/WebCore:

Reviewed by Dean Jackson.

The filter code plays games with the current GraphicsContext, replacing the current
context with one which will get filtered.

This doesn't play nicely with the RenderLayer code which lazily starts transparency
layers. If we don't start a transparency layer until painting a child of the filtered
layer, then the transparency layer is started using the wrong context.

Fix by eagerly starting transparency layers if we have both a filter and opacity.

Test: css3/filters/filter-with-opacity-and-children.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

Reviewed by Dean Jackson.

Testcase with filtered element with opacity, and layer child.

* css3/filters/filter-with-opacity-and-children-expected.txt: Added.
* css3/filters/filter-with-opacity-and-children.html: Added.

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

7 years agoDFG should not change its mind about what type speculations a node does, by encoding...
fpizlo@apple.com [Thu, 21 Feb 2013 22:59:02 +0000 (22:59 +0000)]
DFG should not change its mind about what type speculations a node does, by encoding the checks in the NodeType, UseKind, and ArrayMode
https://bugs.webkit.org/show_bug.cgi?id=109371

Reviewed by Oliver Hunt.

FixupPhase now locks in the speculations that each node will do. The DFG then
remembers those speculations, and doesn't change its mind about them even if the
graph is transformed - for example if a node's child is repointed to a different
node as part of CSE, CFG simplification, or folding. Each node ensures that it
executes the speculations promised by its edges. This is true even for Phantom
nodes.

This still leaves some craziness on the table for future work, like the
elimination of speculating SetLocal's due to CFG simplification
(webkit.org/b/109388) and elimination of nodes via DCE (webkit.org/b/109389).

In all, this allows for a huge simplification of the DFG. Instead of having to
execute the right speculation heuristic each time you want to decide what a node
does (for example Node::shouldSpeculateInteger(child1, child2) &&
node->canSpeculateInteger()), you just ask for the use kinds of its children
(typically node->binaryUseKind() == Int32Use). Because the use kinds are
discrete, you can often just switch over them. This makes many parts of the code
more clear than they were before.

Having UseKinds describe the speculations being performed also makes it far
easier to perform analyses that need to know what speculations are done. This is
so far only used to simplify large parts of the CFA.

To have a larger vocabulary of UseKinds, this also changes the node allocator to
be able to round up Node sizes to the nearest multiple of 16.

This appears to be neutral on benchmarks, except for some goofy speed-ups, like
8% on Octane/box2d.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::startExecuting):
(DFG):
(JSC::DFG::AbstractState::executeEdges):
(JSC::DFG::AbstractState::verifyEdge):
(JSC::DFG::AbstractState::verifyEdges):
(JSC::DFG::AbstractState::executeEffects):
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractState.h:
(AbstractState):
(JSC::DFG::AbstractState::filterEdgeByUse):
(JSC::DFG::AbstractState::filterByType):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::filter):
* dfg/DFGAdjacencyList.h:
(JSC::DFG::AdjacencyList::AdjacencyList):
(JSC::DFG::AdjacencyList::child):
(JSC::DFG::AdjacencyList::setChild):
(JSC::DFG::AdjacencyList::reset):
(JSC::DFG::AdjacencyList::firstChild):
(JSC::DFG::AdjacencyList::setFirstChild):
(JSC::DFG::AdjacencyList::numChildren):
(JSC::DFG::AdjacencyList::setNumChildren):
(AdjacencyList):
* dfg/DFGAllocator.h:
(DFG):
(Allocator):
(JSC::DFG::Allocator::cellSize):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::payloadSize):
(JSC::DFG::Allocator::Region::payloadBegin):
(JSC::DFG::Allocator::Region::payloadEnd):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::::Allocator):
(JSC::DFG::::~Allocator):
(JSC::DFG::::allocate):
(JSC::DFG::::free):
(JSC::DFG::::freeAll):
(JSC::DFG::::reset):
(JSC::DFG::::indexOf):
(JSC::DFG::::allocatorOf):
(JSC::DFG::::bumpAllocate):
(JSC::DFG::::freeListAllocate):
(JSC::DFG::::allocateSlow):
(JSC::DFG::::freeRegionsStartingAt):
(JSC::DFG::::startBumpingIn):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::handleMinMax):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::eliminateIrrelevantPhantomChildren):
(JSC::DFG::CSEPhase::setReplacement):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCommon.h:
(DFG):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGEdge.cpp:
(JSC::DFG::Edge::dump):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::useKind):
(JSC::DFG::Edge::shift):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::run):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
(JSC::DFG::FixupPhase::blessArrayOperation):
(JSC::DFG::FixupPhase::fixIntEdge):
(JSC::DFG::FixupPhase::fixDoubleEdge):
(JSC::DFG::FixupPhase::injectInt32ToDoubleNode):
(FixupPhase):
(JSC::DFG::FixupPhase::truncateConstantToInt32):
(JSC::DFG::FixupPhase::truncateConstantsIfNecessary):
(JSC::DFG::FixupPhase::attemptToMakeIntegerAdd):
* dfg/DFGGraph.cpp:
(DFG):
(JSC::DFG::Graph::refChildren):
(JSC::DFG::Graph::derefChildren):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
(JSC::DFG::Graph::performSubstitution):
(JSC::DFG::Graph::isPredictedNumerical):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(DFG):
* dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::willHaveCodeGenOrOSR):
(JSC::DFG::Node::child1):
(JSC::DFG::Node::child2):
(JSC::DFG::Node::child3):
(JSC::DFG::Node::binaryUseKind):
(Node):
(JSC::DFG::Node::isBinaryUseKind):
* dfg/DFGNodeAllocator.h:
(DFG):
* dfg/DFGNodeFlags.cpp:
(JSC::DFG::nodeFlagsAsString):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::typeCheck):
(JSC::DFG::SpeculativeJIT::forwardTypeCheck):
(JSC::DFG::SpeculativeJIT::fillStorage):
(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithMod):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::speculateInt32):
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateRealNumber):
(JSC::DFG::SpeculativeJIT::speculateBoolean):
(JSC::DFG::SpeculativeJIT::speculateCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::speculate):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::valueOfNumberConstant):
(JSC::DFG::SpeculativeJIT::needsTypeCheck):
(JSC::DFG::IntegerOperand::IntegerOperand):
(JSC::DFG::IntegerOperand::edge):
(IntegerOperand):
(JSC::DFG::IntegerOperand::node):
(JSC::DFG::IntegerOperand::gpr):
(JSC::DFG::IntegerOperand::use):
(JSC::DFG::JSValueOperand::JSValueOperand):
(JSValueOperand):
(JSC::DFG::JSValueOperand::edge):
(JSC::DFG::JSValueOperand::node):
(JSC::DFG::JSValueOperand::gpr):
(JSC::DFG::JSValueOperand::fill):
(JSC::DFG::JSValueOperand::use):
(JSC::DFG::StorageOperand::StorageOperand):
(JSC::DFG::StorageOperand::edge):
(StorageOperand):
(JSC::DFG::StorageOperand::node):
(JSC::DFG::StorageOperand::gpr):
(JSC::DFG::StorageOperand::use):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::edge):
(JSC::DFG::SpeculateIntegerOperand::node):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(JSC::DFG::SpeculateIntegerOperand::use):
(JSC::DFG::SpeculateStrictInt32Operand::SpeculateStrictInt32Operand):
(SpeculateStrictInt32Operand):
(JSC::DFG::SpeculateStrictInt32Operand::edge):
(JSC::DFG::SpeculateStrictInt32Operand::node):
(JSC::DFG::SpeculateStrictInt32Operand::gpr):
(JSC::DFG::SpeculateStrictInt32Operand::use):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::edge):
(JSC::DFG::SpeculateDoubleOperand::node):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(JSC::DFG::SpeculateDoubleOperand::use):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::edge):
(JSC::DFG::SpeculateCellOperand::node):
(JSC::DFG::SpeculateCellOperand::gpr):
(JSC::DFG::SpeculateCellOperand::use):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::edge):
(SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::node):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(JSC::DFG::SpeculateBooleanOperand::use):
(DFG):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):
* dfg/DFGUseKind.cpp: Added.
(WTF):
(WTF::printInternal):
* dfg/DFGUseKind.h: Added.
(DFG):
(JSC::DFG::typeFilterFor):
(JSC::DFG::isNumerical):
(WTF):
* dfg/DFGValidate.cpp:
(JSC::DFG::Validate::reportValidationContext):

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

7 years agoUnreviewed, roll chromium deps 183552 -> 183788
dpranke@chromium.org [Thu, 21 Feb 2013 22:57:02 +0000 (22:57 +0000)]
Unreviewed, roll chromium deps 183552 -> 183788

* DEPS:

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

7 years agoAutogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
tony@chromium.org [Thu, 21 Feb 2013 22:21:17 +0000 (22:21 +0000)]
Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
https://bugs.webkit.org/show_bug.cgi?id=109989

Reviewed by Ryosuke Niwa.

.:

Add setters to export symbols.

* Source/autotools/symbols.filter:

Source/WebCore:

Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
when the value is changed. This allows us to generate 10 more settings. As a follow up, we
can remove some methods from DRT/WTR after this.

No new tests, this is a build refactor and should not impact any test results.

* page/Settings.cpp:
(WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
has the generated setter bodies.
* page/Settings.h:
(Settings): Remove code that is now generated.
* page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
* page/make_settings.pl:
(defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
(generateSettingsMacrosHeader): Print macro for setter bodies.
(printConditionalMacros): Add setter body code.
(printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
setter in the header or not.
(printGetterAndSetter): Ditto.
(printSetterBodies): Print macro for setter bodies.
(printSetterBody): Print setter body for a single setting.

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

7 years agoRebaseline 4 SVG tests after an aspect ratio change in r143389
pdr@google.com [Thu, 21 Feb 2013 22:03:04 +0000 (22:03 +0000)]
Rebaseline 4 SVG tests after an aspect ratio change in r143389

These 4 SVG tests needed a rebaseline after fixing WK99984.

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-linux/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac/svg/as-image/image-preserveAspectRatio-all-expected.png: Added.
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac/svg/filters/feImage-preserveAspectRatio-all-expected.png: Added.
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoPlug-in snapshotting code always accepts first snapshot
dino@apple.com [Thu, 21 Feb 2013 21:53:01 +0000 (21:53 +0000)]
Plug-in snapshotting code always accepts first snapshot
https://bugs.webkit.org/show_bug.cgi?id=110495

Reviewed by Tim Horton.

When we detect a plugin that can be snapshotted we start capturing
images until we find one that we believe isn't blank, or we timeout.
I introduced a regression recently where we swap renderers as
soon as the snapshot arrives, whether or not is is blank.

The fix was to have the embedder (currently only WK2) be the one
who tells the HTMLPlugInElement to start displaying snapshots.

Source/WebCore:

* html/HTMLPlugInElement.h:
(WebCore::HTMLPlugInElement::setDisplayState): Make this a virtual function.
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::setDisplayState): Override to call the
    base class version, but swap renderers if we should move to the snapshot.
(WebCore::HTMLPlugInImageElement::updateSnapshot): Don't swap renderers here any more.
* html/HTMLPlugInImageElement.h: New virtual version of setDisplayState.

Source/WebKit2:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired): When we find a
snapshot that we like, tell the HTMLPlugInElement to move to
the snapshot view.

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

7 years agoTune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
tonyg@chromium.org [Thu, 21 Feb 2013 21:46:26 +0000 (21:46 +0000)]
Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
https://bugs.webkit.org/show_bug.cgi?id=110408

Reviewed by Adam Barth.

This constant was tuned by running the top 25 sites in Telemetry on a Nexus 7 device.
The new value decreases the maximum time spent parsing by 40% without significantly impacting total parse time or DOMContentLoaded.

No new tests because no new functionality.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore):

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

7 years agoFix duplicate TestExpecataions entry for svg/custom/foreign-object-skew.svg
pdr@google.com [Thu, 21 Feb 2013 21:40:16 +0000 (21:40 +0000)]
Fix duplicate TestExpecataions entry for svg/custom/foreign-object-skew.svg

Unreviewed gardening of TestExpecations

* platform/chromium/TestExpectations:

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

7 years agoRebalance the running times of JSRegress somewhat.
fpizlo@apple.com [Thu, 21 Feb 2013 21:22:55 +0000 (21:22 +0000)]
Rebalance the running times of JSRegress somewhat.

Rubber stamped by Mark Hahnenberg.

* fast/js/regress/script-tests/adapt-to-double-divide.js:
(foo):
* fast/js/regress/script-tests/array-access-polymorphic-structure.js:
* fast/js/regress/script-tests/int-overflow-local.js:
* fast/js/regress/script-tests/method-on-number.js:
(foo):
* fast/js/regress/script-tests/rare-osr-exit-on-local.js:
* fast/js/regress/script-tests/slow-convergence.js:

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

7 years agoUnreviewed, rolling out r143419.
commit-queue@webkit.org [Thu, 21 Feb 2013 21:11:22 +0000 (21:11 +0000)]
Unreviewed, rolling out r143419.
http://trac.webkit.org/changeset/143419
https://bugs.webkit.org/show_bug.cgi?id=110507

Broke border-image on Mac (Requested by jpfau on #webkit).

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

Source/WebCore:

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawTiledImage):
* platform/graphics/GraphicsContext.h:
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(Image):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintNinePieceImage):

LayoutTests:

* fast/borders/border-image-02.html: Removed.
* platform/chromium-linux/fast/borders/border-image-02-expected.png: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/fast/borders/border-image-02-expected.txt: Removed.
* platform/efl/TestExpectations:
* platform/gtk/fast/borders/border-image-02-expected.png: Removed.
* platform/gtk/fast/borders/border-image-02-expected.txt: Removed.
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoAdd Apache's HashMap.java translated into JavaScript as a JSRegress test
fpizlo@apple.com [Thu, 21 Feb 2013 21:07:36 +0000 (21:07 +0000)]
Add Apache's HashMap.java translated into JavaScript as a JSRegress test

Rubber stamped by Geoffrey Garen.

* fast/js/regress/HashMap-put-get-iterate-keys.html: Added.
* fast/js/regress/HashMap-put-get-iterate.html: Added.
* fast/js/regress/HashMap-string-put-get-iterate.html: Added.
* fast/js/regress/script-tests/HashMap-put-get-iterate-keys.js: Added.
(HashMap):
(HashMap.):
(get var):
* fast/js/regress/script-tests/HashMap-put-get-iterate.js: Added.
(HashMap):
(HashMap.):
(get var):
* fast/js/regress/script-tests/HashMap-string-put-get-iterate.js: Added.
(HashMap):
(HashMap.):
(get var):

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

7 years agoXSSAuditor should block pages by redirecting to a sandboxed data: URL.
tsepez@chromium.org [Thu, 21 Feb 2013 21:00:20 +0000 (21:00 +0000)]
XSSAuditor should block pages by redirecting to a sandboxed data: URL.
https://bugs.webkit.org/show_bug.cgi?id=110406

Reviewed by Adam Barth.

Source/WebCore:

Patch originally by mkwst@chromium.org.
Tests: http/tests/security/xssAuditor/block-does-not-leak-location.html
       http/tests/security/xssAuditor/block-does-not-leak-referrer.html
       http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html

* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
    When blocking entire pages via the XSSAuditor, redirect to a data:
    URL to ensure that requests for properties don't leak information.

LayoutTests:

* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt: Added.
* http/tests/security/xssAuditor/block-does-not-leak-location.html: Added.
* http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt: Added.
* http/tests/security/xssAuditor/block-does-not-leak-referrer.html: Added.
* http/tests/security/xssAuditor/full-block-base-href-expected.txt:
* http/tests/security/xssAuditor/full-block-base-href.html:
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url.html:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit.php:
* http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
* http/tests/security/xssAuditor/full-block-javascript-link.html:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick.html:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag.html:
* http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt: Added.
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html: Added.
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source.html:
* http/tests/security/xssAuditor/full-block-script-tag.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9.html:
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-02.html:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03.html:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04.html:
    Rebaselined tests. Can no longer use final location of about:blank to
    indicate success.

* http/tests/security/xssAuditor/resources/utilities.js:
(checkIfFrameLocationMatchesSrcAndCallDone):
    Check final location against frame source (should only match when same
    origin and not blocked).

* http/tests/security/xssAuditor/resources/echo-intertag.pl:
    Clean up noise in httpd error log about undefined values.

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

7 years agoConvert buttons from DeprecatedFlexBox to nondeprecated FlexibleBox
commit-queue@webkit.org [Thu, 21 Feb 2013 20:56:18 +0000 (20:56 +0000)]
Convert buttons from DeprecatedFlexBox to nondeprecated FlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=109994

Patch by Christian Biesinger <cbiesinger@chromium.org> on 2013-02-21
Reviewed by Ojan Vafai.

Source/WebCore:

Covered by existing tests for <button> and <input
type="button|submit|reset">

* css/html.css:
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
Convert from box-align to align-items. We are using flex-start here in
conjunction with an auto margin for correct centering. See
RenderButton.cpp below for the margin & more explanation.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
Add a case for creating a non-deprecated flex box.

* rendering/RenderButton.cpp:
(WebCore::RenderButton::RenderButton):
(WebCore::RenderButton::addChild):
(WebCore::RenderButton::removeChild):
Forward to new base class
(WebCore::RenderButton::styleWillChange):
(WebCore::RenderButton::setupInnerStyle):
We are now using flexbox properties.
- min-width is needed for correct shrinking of the contents
- margin-top and margin-bottom are used for correct centering. We
can't use align-items: center because results are incorrect when the
content overflows. See LayoutTests/fast/forms/control-clip.html

* rendering/RenderButton.h:
Inherit from RenderFlexibleBox

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::createAnonymous):
(WebCore):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
Add a createAnonymous function to RenderFlexibleBox.

LayoutTests:

* fast/flexbox/box-orient-button.html: Change -webkit-box to
-webkit-flex, and related changes.
* fast/flexbox/resources/box-orient-button.js:
(setFlexDirection): webkitBoxOrient -> webkitFlexDirection

* fast/replaced/table-percent-height.html: Give a value to the
<input type="button"> so that the layout doesn't change. No need to
change expectations because this test uses dumpAsText() and just
compares one button's height to another.

* http/tests/security/isolatedWorld/userGestureEvents.html: Add text
to the button so that sending the click event doesn't miss the
now-smaller button.
* http/tests/security/isolatedWorld/userGestureEvents-expected.txt:
Add that text to the expectation too.

* fast/forms/button-generated-content-expected.txt:
* platform/chromium-linux/css2.1/20110323/replaced-elements-001-expected.png:
* platform/chromium-linux/css2.1/20110323/replaced-elements-001-expected.txt:
* platform/chromium-linux/fast/forms/button-generated-content-expected.png:
* platform/chromium-linux/fast/forms/button-generated-content-expected.txt:
* platform/chromium-linux/fast/forms/select-baseline-expected.png:
* platform/chromium-linux/fast/forms/select-baseline-expected.txt:
* platform/chromium-linux/svg/custom/foreign-object-skew-expected.png:
* platform/chromium-linux/svg/custom/foreign-object-skew-expected.txt:
* platform/chromium-linux/tables/mozilla/bugs/bug92647-2-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug92647-2-expected.txt:
* platform/mac/css2.1/20110323/replaced-elements-001-expected.txt:
* platform/mac/fast/forms/select-baseline-expected.txt:
* platform/mac/svg/custom/foreign-object-skew-expected.txt:
Rebaseline. Most changes come from the fact that an empty button now
consistently has a small height, when previously it would sometimes
have the height of the line. See this testcase:
https://bugs.webkit.org/attachment.cgi?id=188679
The new behavior is consistent with Firefox.

The only other difference is fast/forms/button-generated-content.html:
The empty buttons are now aligned on the baseline instead of being
vertically centered in the line. This is consistent with Firefox.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
Mark tests for rebaselining.

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

7 years ago[chromium] Simplify computation of screenRect/windowRect.
commit-queue@webkit.org [Thu, 21 Feb 2013 20:49:18 +0000 (20:49 +0000)]
[chromium] Simplify computation of screenRect/windowRect.
https://bugs.webkit.org/show_bug.cgi?id=110456

Patch by John Mellor <johnme@chromium.org> on 2013-02-21
Reviewed by Adam Barth.

This patch removes applyDeviceScaleFactorInCompositor checks
added by http://trac.webkit.org/changeset/139356 because
Chrome for Android now sizes its screen and window in DIP
units (like other platforms), so they are no longer necessary.

Source/WebCore:

No new tests, since this is just removing an unused codepath.

* platform/chromium/PlatformScreenChromium.cpp:
(WebCore::screenRect):
(WebCore::screenAvailableRect):
* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

Source/WebKit/chromium:

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::windowRect):

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

7 years agoOut-of-view fixed position check should not be affected by page scale at all on Mac
bdakin@apple.com [Thu, 21 Feb 2013 20:41:17 +0000 (20:41 +0000)]
Out-of-view fixed position check should not be affected by page scale at all on Mac
https://bugs.webkit.org/show_bug.cgi?id=110294
-and corresponding-
<rdar://problem/13247582>

Reviewed by Simon Fraser.

Source/WebCore:

Don't scale the layerBounds. Generally, the layerBounds should be relative to the
viewBounds which are also unscaled. Chromium used to want this behavior, but it is
covered by their pageScaleFactorAppliedInCompositor implementation now.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

LayoutTests:

These layer results should be the same regardless of the scale factor.

* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html:
* compositing/layer-creation/fixed-position-out-of-view-scaled.html:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt: Removed.
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt: Removed.
* platform/mac-wk2/tiled-drawing/fixed/four-bars-zoomed-expected.txt:

Skip these on Chromium for now.
* platform/chromium/TestExpectations:

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

7 years agoStop starting animations when leaving a page
pdr@google.com [Thu, 21 Feb 2013 20:37:25 +0000 (20:37 +0000)]
Stop starting animations when leaving a page
https://bugs.webkit.org/show_bug.cgi?id=110257

Reviewed by Stephen Chenney.

Source/WebCore:

SVGImage::resetAnimation() incorrectly started animations which could cause a crash
when leaving the page. This patch fixes resetAnimation to only stop the animation,
similar to BitmapImage::resetAnimation().

Additionally, this patch removes an unneeded call to Document::updateStyleForAllDocuments()
that was present in the animation loop. This makes the animation code more resistant to
similar bugs in the future.

Both of these changes are functionally covered with existing tests.

Test: svg/animations/reset-animation-crash.html

* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::updateAnimations):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::resetAnimation):

LayoutTests:

* svg/animations/reset-animation-crash-expected.html: Added.
* svg/animations/reset-animation-crash.html: Added.

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

7 years ago[chromium] Remove deprecated WebCompositorSupport::createLayerTreeView() declaration
commit-queue@webkit.org [Thu, 21 Feb 2013 20:33:11 +0000 (20:33 +0000)]
[chromium] Remove deprecated WebCompositorSupport::createLayerTreeView() declaration
https://bugs.webkit.org/show_bug.cgi?id=110492

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

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

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

7 years ago[chromium] document WebTestDelegate and WebTestRunner interfaces
jochen@chromium.org [Thu, 21 Feb 2013 20:31:41 +0000 (20:31 +0000)]
[chromium] document WebTestDelegate and WebTestRunner interfaces
https://bugs.webkit.org/show_bug.cgi?id=110472

Reviewed by Adam Barth.

Also remove the default implementation of the remaining WebTestDelegate
methods now that all embedders provide this interface.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestDelegate):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner):

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

7 years agoObjective-C API: Need a way to use the Objective-C JavaScript API with WebKit
mhahnenberg@apple.com [Thu, 21 Feb 2013 20:00:33 +0000 (20:00 +0000)]
Objective-C API: Need a way to use the Objective-C JavaScript API with WebKit
https://bugs.webkit.org/show_bug.cgi?id=106059

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

* API/JSBase.h: Renamed enable flag for API.
* API/JSBlockAdaptor.h: Using new flag.
* API/JSBlockAdaptor.mm: Ditto.
* API/JSContext.h: Add convenience C API conversion function for JSGlobalContextRef.
* API/JSContext.mm:
(-[JSContext JSGlobalContextRef]): Implementation of C API convenience function.
(-[JSContext initWithVirtualMachine:]): We don't use the m_apiData field any more.
(-[JSContext initWithGlobalContextRef:]): init method for allocating new JSContexts given a JSGlobalContextRef.
(-[JSContext dealloc]): No more m_apiData.
(-[JSContext wrapperForObjCObject:]): Renamed wrapperForObject.
(-[JSContext wrapperForJSObject:]): Fetches or allocates the JSValue for the specified JSValueRef in this JSContext.
(+[JSContext contextWithGlobalContextRef:]): Helper function to grab the lightweight JSContext wrapper for a given
JSGlobalContextRef from the global wrapper cache or allocate a new one if there isn't already one.
* API/JSContextInternal.h: New flag, new method declaration for initWithGlobalContextRef.
* API/JSExport.h: New flag.
* API/JSValue.h: New flag and new C API convenience method.
* API/JSValue.mm:
(-[JSValue JSValueRef]): Implementation of the C API convenience method.
(objectToValueWithoutCopy):
(+[JSValue valueWithValue:inContext:]): We now ask the JSContext for an Objective-C JSValue wrapper, which it can cache
in its internal JSWrapperMap.
* API/JSValueInternal.h:
* API/JSVirtualMachine.h:
* API/JSVirtualMachine.mm: Added global cache that maps JSContextGroupRef -> JSVirtualMachine lightweight wrappers.
(wrapperCacheLock):
(initWrapperCache):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
(-[JSVirtualMachine init]):
(-[JSVirtualMachine initWithContextGroupRef:]):
(-[JSVirtualMachine dealloc]):
(+[JSVirtualMachine virtualMachineWithContextGroupRef:]):
(-[JSVirtualMachine contextForGlobalContextRef:]):
(-[JSVirtualMachine addContext:forGlobalContextRef:]):
* API/JSVirtualMachineInternal.h:
* API/JSWrapperMap.h:
* API/JSWrapperMap.mm:
(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): We use the JSObjectSetPrototype C API call because
setting the __proto__ property causes all sorts of bad things to happen behind the scenes, which can cause crashes based on
when it gets called.
(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap jsWrapperForObject:]):
(-[JSWrapperMap objcWrapperForJSValueRef:]):
* API/JavaScriptCore.h:
* API/ObjCCallbackFunction.h:
* API/ObjCCallbackFunction.mm:
(ObjCCallbackFunction::ObjCCallbackFunction): We never actually should have retained the target in the case that we had a
block as a callback. Blocks are initially allocated on the stack and are only moved to the heap if we call their copy method.
Retaining the block on the stack was a bad idea because if that stack frame ever went away and we called the block later,
we'd crash and burn.
(ObjCCallbackFunction::setContext): We need a new setter for when the weak reference to a JSContext inside an ObjCCallbackFunction
disappears, we can allocate a new one in its place.
(ObjCCallbackFunction):
(objCCallbackFunctionCallAsFunction): Reset the callback's context if it's ever destroyed.
(objCCallbackFunctionForInvocation): Again, don't set the __proto__ property because it uses black magic that can cause us to crash
depending on when this is called.
(objCCallbackFunctionForBlock): Here is where we copy the block to the heap when we're first creating the callback object for it.
* API/tests/testapi.c:
(main):
* API/tests/testapi.mm: We're going to get rid of the automatic block conversion, since that is causing leaks. I changed it
here in this test just so that it wouldn't mask any other potential leaks. Also modified some of the tests since JSContexts are
just lightweight wrappers now, we're not guaranteed to get the same pointer back from the call to [JSValue context] as the one
that the value was created in.
(-[TestObject callback:]):
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData): No more m_apiData.
* runtime/JSGlobalData.h: Ditto.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject): Ditto.
* runtime/JSGlobalObject.h:

Source/WebCore:

Reviewed by Geoffrey Garen.

* WebCore.exp.in:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::setWindow): Since we're basically abandoning a JSDOMWindow here, we call
garbageCollectSoon().
* bindings/js/JSDOMWindowShell.h:
* bindings/js/ScriptController.h: New function to get the JSContext for the global object of the current main world.
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::javaScriptContext): Ditto.
* bindings/objc/WebScriptObject.h: Added ifdef guards. Also new convenience conversion function for the JSC Obj-C API.
* bindings/objc/WebScriptObject.mm: JSC::JSValue and JSValue conflict with one another, so we have to be more specific.
(-[WebScriptObject _globalContextRef]): Useful helper function for getting the JSGlobalContextRef of a particular WebScriptObject.
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject webScriptValueAtIndex:]):
(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
(-[WebScriptObject JSValue]): Implementation of convenience WebScriptObject conversion function to new Objective-C API.
* bindings/objc/WebScriptObjectPrivate.h:

Source/WebKit/mac:

Reviewed by Geoffrey Garen.

Addition of appropriate delegate callbacks and support to the WebKit API.

* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebDelegateImplementationCaching.h:
(WebFrameLoadDelegateImplementationCache):
* WebView/WebFrame.h:
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _javaScriptContextForScriptWorld:]):
(-[WebFrame javaScriptContext]):
* WebView/WebFrameLoadDelegate.h:
* WebView/WebFramePrivate.h:
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:JSC::]):
(-[WebScriptCallFrame exception]):
(-[WebScriptCallFrame evaluateWebScript:]):
* WebView/WebScriptWorld.h:
* WebView/WebScriptWorld.mm:
(+[WebScriptWorld scriptWorldForJavaScriptContext:]):
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WTF:

Reviewed by Geoffrey Garen.

* wtf/FeatureDefines.h: Added enable flag for JSC Objective-C API so it can be used in
export files.

Tools:

Reviewed by Geoffrey Garen.

Added new tests for the WebKit API portion of the JSC Objective-C API.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/JSContextBackForwardCache1.html: Added.
* TestWebKitAPI/Tests/mac/JSContextBackForwardCache2.html: Added.
* TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm: Added.
(-[MyConsole log:]):
(-[MyConsole printHelloWorld]):
(-[MyConsole add:to:]):
(-[DidCreateJavaScriptContextFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[DidCreateJavaScriptContextFrameLoadDelegate webView:didCreateJavaScriptContext:forFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

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

7 years ago[V8] Rename add{Node,Object}ToGroup() to add{Node,Object}WrapperToGroup()
haraken@chromium.org [Thu, 21 Feb 2013 19:56:03 +0000 (19:56 +0000)]
[V8] Rename add{Node,Object}ToGroup() to add{Node,Object}WrapperToGroup()
https://bugs.webkit.org/show_bug.cgi?id=110404

Reviewed by Adam Barth.

The current function name is confusing
(See discussion in bug 110396). We should rename the functions
so that it becomes clear that "Node"/"Object" refers to a type
of a wrapper in the second argument.

No tests. No change in behavior.

* bindings/v8/V8GCController.cpp:
(WebCore::WrapperGrouper::addObjectWrapperToGroup):
(WebCore::WrapperGrouper::addNodeWrapperToGroup):

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

7 years agoUnreviewed, add myself as a reviewer
schenney@chromium.org [Thu, 21 Feb 2013 19:39:58 +0000 (19:39 +0000)]
Unreviewed, add myself as a reviewer

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

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

7 years ago[JS Binding] ScriptObject default constructor should initialize the Script State...
vivek.vg@samsung.com [Thu, 21 Feb 2013 19:20:23 +0000 (19:20 +0000)]
[JS Binding] ScriptObject default constructor should initialize the Script State to 0
https://bugs.webkit.org/show_bug.cgi?id=110177

Reviewed by Geoffrey Garen.

Adding the initialization of ScriptState to 0.

* bindings/js/ScriptObject.h:
(WebCore::ScriptObject::ScriptObject):

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

7 years agoREGRESSION: Crash in MainResourceLoader::setDataBufferingPolicy when sharing an html5...
japhet@chromium.org [Thu, 21 Feb 2013 19:19:00 +0000 (19:19 +0000)]
REGRESSION: Crash in MainResourceLoader::setDataBufferingPolicy when sharing an html5 video via email
https://bugs.webkit.org/show_bug.cgi?id=110075

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: webarchive/loading/video-in-webarchive.html

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterContentPolicy): isStopping()
    isn't accurate to determine whether a SubstituteData load should
    continue, as this point in the code shouldn't be reachable from any point
    where isStopping() would return true. DocumentLoader might have completely
    stopped and believe that MainResourceLoader is complete, though. Don't
    continue in that case.
(WebCore::MainResourceLoader::setDataBufferingPolicy): m_resource can be null
    in a reasonable case, handle it rather \1athan asserting that it can't be null.

LayoutTests:

* webarchive/loading/resources/video-in-webarchive.webarchive: Added.
* webarchive/loading/video-in-webarchive-expected.txt: Added.
* webarchive/loading/video-in-webarchive.html: Added.

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

7 years ago[BlackBerry] WebPagePrivate::load should not check new window policy
commit-queue@webkit.org [Thu, 21 Feb 2013 19:09:07 +0000 (19:09 +0000)]
[BlackBerry] WebPagePrivate::load should not check new window policy
https://bugs.webkit.org/show_bug.cgi?id=110403

Patch by Andrew Lo <anlo@rim.com> on 2013-02-21
Reviewed by Rob Buis.

Based on my understanding of changeset 135952, we should
not check the new window policy in WebPagePrivate::load.

None of the other ports seem to do this, except for plugins.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::load):

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

7 years agoUnreviewed, rolling out r143616.
commit-queue@webkit.org [Thu, 21 Feb 2013 18:51:20 +0000 (18:51 +0000)]
Unreviewed, rolling out r143616.
http://trac.webkit.org/changeset/143616
https://bugs.webkit.org/show_bug.cgi?id=110491

Caused a test failure on Chromium Mac. (Requested by vollick
on #webkit).

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

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::visibleContentsResized):
* page/FrameView.h:
(FrameView):
* page/Page.cpp:
(WebCore::Page::setPageScaleFactor):

LayoutTests:

* platform/chromium/fast/repaint/relayout-fixed-position-after-scale-expected.html: Removed.
* platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html: Removed.

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

7 years agoOverflow can be cleared just before it is computed
robert@webkit.org [Thu, 21 Feb 2013 18:46:33 +0000 (18:46 +0000)]
Overflow can be cleared just before it is computed
https://bugs.webkit.org/show_bug.cgi?id=110361

Reviewed by David Hyatt.

Overflow can be cleared just before it is computed in a lot of places because overflow computation happens all at once
now rather than cumulatively during layout. Any object that doesn't use computeOverflow() will still need to clear it manually
though.

No new tests, refactoring.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::simplifiedLayout):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::layout):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):

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

7 years agoMark GraphicsLayers as opaque when possible
alokp@chromium.org [Thu, 21 Feb 2013 18:25:32 +0000 (18:25 +0000)]
Mark GraphicsLayers as opaque when possible
https://bugs.webkit.org/show_bug.cgi?id=70634

Reviewed by Simon Fraser.

Source/WebCore:

Mark layers as opaque in a very simple case - the main renderer has an
opaque background and covers the entire composited bounds.
RenderLayer::contentsOpaqueInRect has been implemented conservatively,
i.e. it errs towards returning false negative.

Tests: compositing/contents-opaque/contents-opaque-background-clip.html
       compositing/contents-opaque/contents-opaque-background-color.html
       compositing/contents-opaque/contents-opaque-layer-opacity.html
       compositing/contents-opaque/contents-opaque-layer-transform.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::backgroundIsOpaqueInRect):
(WebCore):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::backgroundIsOpaqueInRect):
(WebCore::RenderBoxModelObject::foregroundIsOpaqueInRect):
(RenderBoxModelObject):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::contentsOpaqueInRect):
(WebCore):
(WebCore::RenderLayer::listContentsOpaqueInRect):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerModelObject.h:
(RenderLayerModelObject):

LayoutTests:

* compositing/absolute-inside-out-of-view-fixed-expected.txt:
* compositing/backing/no-backing-for-clip-expected.txt:
* compositing/backing/no-backing-for-clip-overlap-expected.txt:
* compositing/backing/no-backing-for-perspective-expected.txt:
* compositing/clip-child-by-non-stacking-ancestor-expected.txt:
* compositing/columns/composited-in-paginated-expected.txt:
* compositing/contents-opaque/contents-opaque-background-clip-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
* compositing/contents-opaque/contents-opaque-background-clip.html: Added.
* compositing/contents-opaque/contents-opaque-background-color-expected.txt: Copied from LayoutTests/platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt.
* compositing/contents-opaque/contents-opaque-background-color.html: Added.
* compositing/contents-opaque/contents-opaque-layer-opacity-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* compositing/contents-opaque/contents-opaque-layer-opacity.html: Added.
* compositing/contents-opaque/contents-opaque-layer-transform-expected.txt: Copied from LayoutTests/compositing/clip-child-by-non-stacking-ancestor-expected.txt.
* compositing/contents-opaque/contents-opaque-layer-transform.html: Added.
* compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
* compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* compositing/geometry/bounds-ignores-hidden-expected.txt:
* compositing/geometry/clip-expected.txt:
* compositing/geometry/clip-inside-expected.txt:
* compositing/geometry/fixed-position-composited-switch-expected.txt:
* compositing/geometry/flipped-writing-mode-expected.txt:
* compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-expected.txt:
* compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* compositing/geometry/preserve-3d-switching-expected.txt:
* compositing/iframes/become-composited-nested-iframes-expected.txt:
* compositing/iframes/become-overlapped-iframe-expected.txt:
* compositing/iframes/composited-parent-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* compositing/iframes/connect-compositing-iframe-expected.txt:
* compositing/iframes/connect-compositing-iframe2-expected.txt:
* compositing/iframes/connect-compositing-iframe3-expected.txt:
* compositing/iframes/enter-compositing-iframe-expected.txt:
* compositing/iframes/iframe-resize-expected.txt:
* compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* compositing/iframes/invisible-nested-iframe-show-expected.txt:
* compositing/iframes/overlapped-iframe-expected.txt:
* compositing/iframes/overlapped-iframe-iframe-expected.txt:
* compositing/iframes/overlapped-nested-iframes-expected.txt:
* compositing/iframes/page-cache-layer-tree-expected.txt:
* compositing/iframes/scrolling-iframe-expected.txt:
* compositing/layer-creation/animation-overlap-with-children-expected.txt:
* compositing/layer-creation/fixed-position-and-transform-expected.txt:
* compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* compositing/layer-creation/fixed-position-under-transform-expected.txt:
* compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overlap-animation-clipping-expected.txt:
* compositing/layer-creation/overlap-animation-expected.txt:
* compositing/layer-creation/overlap-child-layer-expected.txt:
* compositing/layer-creation/overlap-clipping-expected.txt:
* compositing/layer-creation/overlap-transformed-3d-expected.txt:
* compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* compositing/layer-creation/overlap-transformed-layer-expected.txt:
* compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* compositing/layer-creation/overlap-transforms-expected.txt:
* compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* compositing/layer-creation/stacking-context-overlap-expected.txt:
* compositing/layer-creation/translatez-overlap-expected.txt:
* compositing/masks/mask-layer-size-expected.txt:
* compositing/overflow-trumps-transform-style-expected.txt:
* compositing/overflow/clip-descendents-expected.txt:
* compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* compositing/overflow/textarea-scroll-touch-expected.txt:
* compositing/plugins/no-backing-store-expected.txt:
* compositing/repaint/invalidations-on-composited-layers-expected.txt:
* compositing/rtl/rtl-absolute-expected.txt:
* compositing/rtl/rtl-absolute-overflow-expected.txt:
* compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-fixed-expected.txt:
* compositing/rtl/rtl-fixed-overflow-expected.txt:
* compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-absolute-expected.txt:
* compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
* compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-fixed-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
* compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
* compositing/rtl/rtl-iframe-relative-expected.txt:
* compositing/rtl/rtl-relative-expected.txt:
* compositing/tiled-layers-hidpi-expected.txt:
* compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* compositing/tiling/huge-layer-add-remove-child-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-expected.txt:
* compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* compositing/tiling/rotated-tiled-clamped-expected.txt:
* compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* compositing/tiling/tile-cache-zoomed-expected.txt:
* compositing/tiling/tiled-layer-resize-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/iframe-no-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux-x86/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux-x86/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-linux/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-mac/compositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/chromium-mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/softwarecompositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win-xp/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium-win/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium-win/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium-win/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
* platform/chromium-win/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium-win/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium-win/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/chromium-win/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium-win/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/chromium-win/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/backing/no-backing-for-clip-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/chromium/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/chromium/compositing/columns/composited-in-paginated-expected.txt:
* platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
* platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/chromium/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
* platform/chromium/compositing/geometry/clip-expected.txt:
* platform/chromium/compositing/geometry/clip-inside-expected.txt:
* platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/chromium/compositing/geometry/flipped-writing-mode-expected.txt:
* platform/chromium/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
* platform/chromium/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
* platform/chromium/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/chromium/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/chromium/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/chromium/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/chromium/compositing/iframes/iframe-resize-expected.txt:
* platform/chromium/compositing/iframes/iframe-size-from-zero-expected.txt:
* platform/chromium/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/chromium/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/chromium/compositing/iframes/resizer-expected.txt:
* platform/chromium/compositing/iframes/scrolling-iframe-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/chromium/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/chromium/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-animation-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-child-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-clipping-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-layer-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
* platform/chromium/compositing/layer-creation/overlap-transforms-expected.txt:
* platform/chromium/compositing/layer-creation/spanOverlapsCanvas-expected.txt:
* platform/chromium/compositing/layer-creation/stacking-context-overlap-expected.txt:
* platform/chromium/compositing/layer-creation/translatez-overlap-expected.txt:
* platform/chromium/compositing/overflow-trumps-transform-style-expected.txt:
* platform/chromium/compositing/overflow/clip-descendents-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/chromium/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-absolute-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-fixed-expected.txt:
* platform/chromium/compositing/rtl/rtl-iframe-relative-expected.txt:
* platform/chromium/compositing/rtl/rtl-relative-expected.txt:
* platform/chromium/css3/filters/filtered-compositing-descendant-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
* platform/chromium/platform/chromium/virtual/softwarecompositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
* platform/efl/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/compositing/geometry/fixed-position-composited-switch-expected.txt:
* platform/mac/compositing/iframes/resizer-expected.txt:
* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/mac/compositing/repaint/invalidations-on-composited-layers-expected.txt:
* platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
* platform/mac/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/mac/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/mac/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/tiling/tiled-layer-resize-expected.txt:
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/qt-5.0-wk2/compositing/columns/composited-in-paginated-expected.txt:
* platform/qt-5.0-wk2/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-composited-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/become-overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/composited-parent-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe2-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/connect-compositing-iframe3-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/enter-compositing-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/iframe-resize-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/overlapped-nested-iframes-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/page-cache-layer-tree-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/resizer-expected.txt:
* platform/qt-5.0-wk2/compositing/iframes/scrolling-iframe-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-and-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-under-transform-expected.txt:
* platform/qt-5.0-wk2/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-absolute-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* platform/qt-5.0-wk2/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* platform/qt-5.0-wk2/compositing/tiled-layers-hidpi-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-expected.txt:
* platform/qt-5.0-wk2/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
* platform/qt/compositing/backing/no-backing-for-clip-expected.txt:
* platform/qt/compositing/backing/no-backing-for-clip-overlap-expected.txt:
* platform/qt/compositing/backing/no-backing-for-perspective-expected.txt:
* platform/qt/compositing/geometry/preserve-3d-switching-expected.txt:
* platform/qt/compositing/iframes/invisible-nested-iframe-show-expected.txt:
* platform/qt/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
* platform/qt/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt:
* platform/win/compositing/iframes/overlapped-iframe-iframe-expected.txt:
* platform/win/compositing/tiling/huge-layer-add-remove-child-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:

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

7 years agoUnreviewed; add myself to the Media watchlist and update my committers.py setting...
jer.noble@apple.com [Thu, 21 Feb 2013 18:21:27 +0000 (18:21 +0000)]
Unreviewed; add myself to the Media watchlist and update my committers.py setting to Reviewer.

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

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

7 years ago[CSS Grid Layout] Implement grid growth during auto placement
jchaffraix@webkit.org [Thu, 21 Feb 2013 17:53:44 +0000 (17:53 +0000)]
[CSS Grid Layout] Implement grid growth during auto placement
https://bugs.webkit.org/show_bug.cgi?id=110418

Reviewed by Ojan Vafai.

Source/WebCore:

This change implements the last remaining piece of the auto placement algorithm:
growing the grid mid-placement. With that landed, we should handle all cases properly.

Change covered by : fast/css-grid-layout/grid-item-addition-auto-placement.html
                    fast/css-grid-layout/grid-item-removal-auto-placement.html

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::growGrid):
Added this helper function to grow the grid one item in a direction.

(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
Updated this function to grow in the minor axis direction and insert in the
newly created grid area.

(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
Updated this function to grow in the major axis direction and insert in the
newly create grid area. Unfortunately this code cannot use the iterator to find
the new position as the (auto, auto) case iterates orthogonally to the major axis
direction, which we just grew.

* rendering/RenderGrid.h:
Added growGrid.

LayoutTests:

* fast/css-grid-layout/grid-item-addition-auto-placement-update-expected.txt:
* fast/css-grid-layout/grid-item-removal-auto-placement-update-expected.txt:

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

7 years agogtk/DumpRenderTree.cpp is missing <locale.h> include
mrobinson@webkit.org [Thu, 21 Feb 2013 17:52:34 +0000 (17:52 +0000)]
gtk/DumpRenderTree.cpp is missing <locale.h> include
https://bugs.webkit.org/show_bug.cgi?id=109386

* DumpRenderTree/gtk/DumpRenderTree.cpp: Fix the WebKitGTK+ Mac build
by include locale.h when we use setlocale.

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

7 years ago[GTK] Remove subresource leaks from WebKit1 and WebKit2
commit-queue@webkit.org [Thu, 21 Feb 2013 17:50:37 +0000 (17:50 +0000)]
[GTK] Remove subresource leaks from WebKit1 and WebKit2
https://bugs.webkit.org/show_bug.cgi?id=108960

Patch by George McCollister <george.mccollister@gmail.com> on 2013-02-21
Reviewed by Martin Robinson.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::dispatchDidFinishLoading): Remove resource
if it isn't the main resource to prevent leak.
(WebKit::FrameLoaderClient::dispatchDidFailLoading): Ditto
* webkit/webkitwebview.cpp:
(cleanupTemporarilyCachedSubresources): Added to cleanup subresources.
(webkit_web_view_get_subresources): Use getSubresources from the
documentLoader to provide subresources since resources will be removed
from webview after loading.

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

7 years agoA couple more 'make dist' fixes for WebKitGTK+.
mrobinson@webkit.org [Thu, 21 Feb 2013 17:49:33 +0000 (17:49 +0000)]
A couple more 'make dist' fixes for WebKitGTK+.

Source/WebCore:

* GNUmakefile.list.am: Add a missing file to the source list.

Source/WTF:

* GNUmakefile.list.am: Add a missing file to the source list.

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

7 years ago-webkit-margin-collapse: separate doesn't work correctly for before margins
abucur@adobe.com [Thu, 21 Feb 2013 17:42:09 +0000 (17:42 +0000)]
-webkit-margin-collapse: separate doesn't work correctly for before margins
https://bugs.webkit.org/show_bug.cgi?id=109956

Reviewed by David Hyatt.

Source/WebCore:

The collapsing code for "-webkit-margin-collapse: separate" assumed the margin value inside
marginInfo always contributes to the position of the child. This is valid only if the collapse
doesn't happen at the before side of the container. In that case, the child needs to be positioned
at the margin value specified in the style sheet.

Test: fast/block/margin-collapse/webkit-margin-collapse-separate-position.html

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

LayoutTests:

The test verifies a child specifying "-webkit-margin-collapse: separate" is correctly positioned inside
its container, at a value equal with the top margin of the child. The container also need to be sized
accordingly.

* fast/block/margin-collapse/webkit-margin-collapse-separate-position-expected.txt: Added.
* fast/block/margin-collapse/webkit-margin-collapse-separate-position.html: Added.

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

7 years agoNeed to re-layout fixed position elements after scale when using settings()->fixedEle...
commit-queue@webkit.org [Thu, 21 Feb 2013 17:31:34 +0000 (17:31 +0000)]
Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
https://bugs.webkit.org/show_bug.cgi?id=105486

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-02-21
Reviewed by James Robinson.

In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
elements are layout relative to the current visible viewport, which can
be different from the layout viewport when using fixed-layout mode.
We need to re-layout fixed-position elements in case of visible content
size changes.

The test is currently chromium-specific due to difficulties to make this
test works on Mac. The mac port seems to work very differently with
visible content size when a page is scaled. And there is no reliable way
to hide scrollbars in mac-wk1 that doesn't cause a side effect.

Source/WebCore:

Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html

* page/FrameView.cpp:
(WebCore::FrameView::visibleContentsResized):
* page/FrameView.h:
(FrameView):
* page/Page.cpp:
(WebCore::Page::setPageScaleFactor):

LayoutTests:

* platform/chromium/fast/repaint/relayout-fixed-position-after-scale-expected.html: Added.
* platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html: Added.

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

7 years ago[BlackBerry] BackingStore: replace instrument{Begin,Cancel}Frame with did{Begin,Cance...
commit-queue@webkit.org [Thu, 21 Feb 2013 17:18:55 +0000 (17:18 +0000)]
[BlackBerry] BackingStore: replace instrument{Begin,Cancel}Frame with did{Begin,Cancel}Frame
https://bugs.webkit.org/show_bug.cgi?id=110460

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-21
Reviewed by Rob Buis.

This was renamed incorrectly in r142879.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
(BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):

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

7 years ago[BlackBerry] Extra ResourceRequest parameter in FrameLoaderClientBlackBerry::convertM...
commit-queue@webkit.org [Thu, 21 Feb 2013 17:11:36 +0000 (17:11 +0000)]
[BlackBerry] Extra ResourceRequest parameter in FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=110451

Patch by Carlos Garcia Campos <cargarcia@rim.com> on 2013-02-21
Reviewed by Rob Buis.

Remove the extra ResourceRequest parameter from
FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

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

7 years ago[CSS Regions] border-radius on a region causes overflow to be hidden
mihnea@adobe.com [Thu, 21 Feb 2013 17:09:29 +0000 (17:09 +0000)]
[CSS Regions]  border-radius on a region causes overflow to be hidden
https://bugs.webkit.org/show_bug.cgi?id=103684

Reviewed by Tony Chang.

The fix for https://bugs.webkit.org/show_bug.cgi?id=74132, making RenderRegion
inherit from RenderBlock instead of RenderReplaced, also fixed this bug.
Still, it deserves a test.

* fast/regions/last-region-border-radius-expected.html: Added.
* fast/regions/last-region-border-radius.html: Added.

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

7 years ago[BlackBerry] LayerFilterRenderer: fix inclusion of Vector.h
commit-queue@webkit.org [Thu, 21 Feb 2013 17:02:12 +0000 (17:02 +0000)]
[BlackBerry] LayerFilterRenderer: fix inclusion of Vector.h
https://bugs.webkit.org/show_bug.cgi?id=110476

Patch by Xan Lopez <xlopez@rim.com> on 2013-02-21
Reviewed by Rob Buis.

Added in r124242. The include line should be wtf/Vector.h

* platform/graphics/blackberry/LayerFilterRenderer.cpp:

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

7 years ago[BlackBerry] Adapt to name changes in WebCore::ViewPortArguments
commit-queue@webkit.org [Thu, 21 Feb 2013 16:54:58 +0000 (16:54 +0000)]
[BlackBerry] Adapt to name changes in WebCore::ViewPortArguments
https://bugs.webkit.org/show_bug.cgi?id=110469

Patch by Xan Lopez <xlopez@rim.com> on 2013-02-21
Reviewed by Rob Buis.

This changed in r134765.

* Api/WebViewportArguments.cpp:
(BlackBerry::WebKit::WebViewportArguments::zoom):
(BlackBerry::WebKit::WebViewportArguments::setZoom):
(BlackBerry::WebKit::WebViewportArguments::minZoom):
(BlackBerry::WebKit::WebViewportArguments::setMinZoom):
(BlackBerry::WebKit::WebViewportArguments::maxZoom):
(BlackBerry::WebKit::WebViewportArguments::setMaxZoom):
(BlackBerry::WebKit::WebViewportArguments::userZoom):
(BlackBerry::WebKit::WebViewportArguments::setUserZoom):
* Api/WebViewportArguments.h:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::didSetSVGZoomAndPan):

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

7 years ago[BlackBerry] Move posting and scrollbar updates to the page client.
jpetsovits@rim.com [Thu, 21 Feb 2013 16:50:04 +0000 (16:50 +0000)]
[BlackBerry] Move posting and scrollbar updates to the page client.
https://bugs.webkit.org/show_bug.cgi?id=110256
Internal PR 297099

Reviewed by Rob Buis.

In blitVisibleContents(), we were calling the WebKit thread
functions BackingStorePrivate::isScrollingOrZooming() and
WebPage::isVisible(). This is not the right spot to do it.
Furthermore, we want to move away from direct window access
in WebKit and leave that kind of dirtywork to the client.

This patch removes invalidateWindow() as well as the two
virtual scrollbar drawing functions and replaces it with
one new virtual, WebPageClient::postToSurface().
This clears up threading issues and gets us another step
further towards pure WebPageCompositor rendering.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
* Api/BackingStore_p.h:
(BackingStorePrivate):
* Api/WebPageClient.h:

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

7 years ago[New Multicolumn] Add a positioned object pagination test.
hyatt@apple.com [Thu, 21 Feb 2013 16:46:55 +0000 (16:46 +0000)]
[New Multicolumn] Add a positioned object pagination test.
https://bugs.webkit.org/show_bug.cgi?id=110480.

Reviewed by Antti Koivisto.

* fast/multicol/newmulticol/positioned-split-expected.html: Added.
* fast/multicol/newmulticol/positioned-split.html: Added.

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

7 years ago[EFL] Gardening; unskip test that is now passing on the bots.
rakuco@webkit.org [Thu, 21 Feb 2013 16:37:31 +0000 (16:37 +0000)]
[EFL] Gardening; unskip test that is now passing on the bots.

* platform/efl/TestExpectations:

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

7 years ago[BlackBerry] Rename Localizer to Locale
commit-queue@webkit.org [Thu, 21 Feb 2013 16:33:31 +0000 (16:33 +0000)]
[BlackBerry] Rename Localizer to Locale
https://bugs.webkit.org/show_bug.cgi?id=110449

Patch by Carlos Garcia Campos <cargarcia@rim.com> on 2013-02-21
Reviewed by Rob Buis.

* WebCoreSupport/ColorPickerClient.cpp:
(WebCore::ColorPickerClient::locale):
* WebCoreSupport/ColorPickerClient.h:
(ColorPickerClient):
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::locale):
* WebCoreSupport/DatePickerClient.h:
(DatePickerClient):
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::locale):
* WebCoreSupport/SelectPopupClient.h:
(SelectPopupClient):

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

7 years ago[New Multicolumn] Remove unneeded layout method in RenderMultiColumnFlowThread.
hyatt@apple.com [Thu, 21 Feb 2013 16:33:10 +0000 (16:33 +0000)]
[New Multicolumn] Remove unneeded layout method in RenderMultiColumnFlowThread.
https://bugs.webkit.org/show_bug.cgi?id=110477.

Reviewed by Antti Koivisto.

I forgot that both the sets and the flow thread lay out before the containing
RenderMultiColumnBlock has finished. That means it hasn't computed its overflow yet.
Therefore there is no need to force it to compute its overflow from inside
RenderMultiColumnFlowThread::layout, because the minute RenderMultiColumnFlowThread
finishes its layout, the block will compute its overflow anyway.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):

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

7 years ago[GTK] Move feature overriding to the configure phase
mrobinson@webkit.org [Thu, 21 Feb 2013 16:19:47 +0000 (16:19 +0000)]
[GTK] Move feature overriding to the configure phase
https://bugs.webkit.org/show_bug.cgi?id=110293

Reviewed by Gustavo Noronha Silva.

.:

Rework the feature overrides logic so all feature defines go into a
header rather than the command line. This has a few benefits. Most
notably, we can reuse the header in the gyp build. Another nice result
is that changes to the configuration automatically result in a full
rebuild and Debug and Release builds can have different configurations.

All feature define processing happens now during the configuration phase,
instead of when running autogen.sh. This means that we need to distribute
the feature processing script.

* GNUmakefile.am: Read feature defines from WebKitFeatures.txt when kicking
off a build. Also include generate-feature-defines-files in the distribution.
* Source/autotools/SetupAutoconfHeader.m4: Remove an extra ENABLE_3D_RENDERING
from the autoconf header, as it is already provided by the feature configuration.
* Source/autotools/SetupWebKitFeatures.m4: Added.
* Source/autotools/webkitfeature.m4: Removed. The functionality has been moved
to SetupWebKitFeatures.m4.
* autogen.sh: Remove the call to override-feature-defines.
* configure.ac: Now include SetupWebKitFeatures.

Source/WebCore:

* GNUmakefile.am: No longer include GNUmakefile.features.am. We don't
have to process the result of this file or do any modification of
feature_defines_override, because this variable is gone.

Tools:

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): Rename the feature file to
WebKitFeatureOverrides.txt to better match the other filenames used in
the new feature processing.
* gtk/generate-feature-defines-files: Added. A script which takes as an argument
the default features, overrides them with the contents of WebKitFeatureOverrrides.txt
and writes WebKitFeatures.txt and WebKitFeatures.h.
* gtk/override-feature-defines: Removed.

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

7 years agoUnreviewed. Rolling out an unindented change from r143580.
aandrey@chromium.org [Thu, 21 Feb 2013 16:04:11 +0000 (16:04 +0000)]
Unreviewed. Rolling out an unindented change from r143580.

* inspector/Inspector.json:

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

7 years ago[EFL] Unreviewed gardening.
rakuco@webkit.org [Thu, 21 Feb 2013 16:02:46 +0000 (16:02 +0000)]
[EFL] Unreviewed gardening.

Unskip some tests which are passing; too bad nobody cared to file
bugs for them in the first place.

* platform/efl/TestExpectations:

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

7 years agoGlyphPage: Bake per-glyph font data array into same allocation as GlyphPage.
akling@apple.com [Thu, 21 Feb 2013 15:44:02 +0000 (15:44 +0000)]
GlyphPage: Bake per-glyph font data array into same allocation as GlyphPage.

A hopeful fix for REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
<http://webkit.org/b/108835>

Reviewed by Antti Koivisto.

Rewire GlyphPage so that we have to decide at creation time whether there will be a per-glyph
array of SimpleFontData* or not. This removes one allocation and one step of indirection for
pages with glyphs from mixed fonts.

* platform/graphics/GlyphPage.h:
(WebCore::GlyphPage::createForMixedFontData):
(WebCore::GlyphPage::createForSingleFontData):
(WebCore::GlyphPage::createCopiedSystemFallbackPage):
(WebCore::GlyphPage::~GlyphPage):
(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::fontDataForCharacter):
(WebCore::GlyphPage::setGlyphDataForIndex):
(WebCore::GlyphPage::removeFontDataFromSystemFallbackPage):
(WebCore::GlyphPage::GlyphPage):
(WebCore::GlyphPage::hasPerGlyphFontData):
(GlyphPage):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):

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

7 years ago[BlackBerry] MediaPlayerPrivateBlackBerry: include Logging.h
commit-queue@webkit.org [Thu, 21 Feb 2013 15:38:04 +0000 (15:38 +0000)]
[BlackBerry] MediaPlayerPrivateBlackBerry: include Logging.h
https://bugs.webkit.org/show_bug.cgi?id=110455

Patch by Xan Lopez <xlopez@rim.com> on 2013-02-21
Reviewed by Eric Carlson.

LOG is used in this file, so it is needed.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

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

7 years ago[BlackBerry] Invalid use of COMPILE_ASSERT macro in WebKitTextCodec.cpp
commit-queue@webkit.org [Thu, 21 Feb 2013 15:33:24 +0000 (15:33 +0000)]
[BlackBerry] Invalid use of COMPILE_ASSERT macro in WebKitTextCodec.cpp
https://bugs.webkit.org/show_bug.cgi?id=110437

Patch by Carlos Garcia Campos <cargarcia@rim.com> on 2013-02-21
Reviewed by Yong Li.

* Api/WebKitTextCodec.cpp:
(WebKit): Define COMPILE_ASSERT_MATCHING_ENUM() macro and use it to
check enum values match between WebKit and WTF.
(BlackBerry::WebKit::base64Decode): Use a static cast directly to
convert from WebKit Base64DecodePolicy to WTF.
(BlackBerry::WebKit::base64Encode): Use a static cast directly to
convert from WebKit Base64EncodePolicy to WTF.

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

7 years agoAdd animation class for new calendar picker
keishi@webkit.org [Thu, 21 Feb 2013 14:57:41 +0000 (14:57 +0000)]
Add animation class for new calendar picker
https://bugs.webkit.org/show_bug.cgi?id=110132

Reviewed by Kent Tamura.

Adding animation related classes as part of the calendar picker
redesign(Bug 109439).

No new tests. Code is not used yet.

* Resources/pagepopups/calendarPicker.js:
(AnimationTimingFunction.Linear): Parameter t should be a number between 0 and 1.
(AnimationTimingFunction.EaseInOut): Ditto.
(AnimationManager): All animators are managed by this class so we
can dispatch "animationFrameWillFinish" event after all the updates.
(AnimationManager.prototype._startAnimation):
(AnimationManager.prototype._stopAnimation):
(AnimationManager.prototype.add): Adds an animator to the list of running animators.
(AnimationManager.prototype.remove): Removes an animator.
(AnimationManager.prototype._animationFrameCallback): Callback for requestAnimationFrame.
(AnimationManager.prototype._needsAnimationFrame): Returns true if we should request the next animation frame.
(AnimationManager.prototype.on): If we add a callback, request animation frame.
(AnimationManager.prototype.removeListener):
(Animator): Animates between the from value and to value.
(Animator.prototype.setFrom): Sets the from value.
(Animator.prototype.setTo): Sets the to value.
(Animator.prototype.start):
(Animator.prototype.stop):
(Animator.prototype.onAnimationFrame): Called by AnimationManager.

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

7 years agoWeb Inspector: [Canvas] UI: more intuitive control buttons
aandrey@chromium.org [Thu, 21 Feb 2013 14:26:17 +0000 (14:26 +0000)]
Web Inspector: [Canvas] UI: more intuitive control buttons
https://bugs.webkit.org/show_bug.cgi?id=110327

Reviewed by Pavel Feldman.

Source/WebCore:

Tweaks to the CanvasProfiler replay control buttons.
- NextDrawCall forward button (StepOver) should jump up to the last expanded node, otherwise a noop is not intuitive unless the last node is selected.
- NextDrawCall/PrevDrawCall buttons should not skip draw call nodes themselves.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):

LayoutTests:

* inspector/profiler/canvas2d/canvas-replay-log-grid.html:

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

7 years agoMake SpellCheckRequest's constructor private.
g.czajkowski@samsung.com [Thu, 21 Feb 2013 14:19:29 +0000 (14:19 +0000)]
Make SpellCheckRequest's constructor private.
https://bugs.webkit.org/show_bug.cgi?id=110462

Reviewed by Antonio Gomes.

It's no need to expose SpellCheckRequest's constructor.
There is SpellCheckRequest::create() method which is
responsible for creating SpellCheckRequest object.

No new tests, no behavior change.

* editing/SpellChecker.h:
(SpellCheckRequest):

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

7 years agoWeb Inspector: [Canvas] Remove arrays of DataGrid nodes from the View
aandrey@chromium.org [Thu, 21 Feb 2013 14:15:22 +0000 (14:15 +0000)]
Web Inspector: [Canvas] Remove arrays of DataGrid nodes from the View
https://bugs.webkit.org/show_bug.cgi?id=110325

Reviewed by Pavel Feldman.

Remove arrays of DataGrid nodes from the CanvasProfileView and use live DataGrid instead.
This is a prerequisite to support a non-fixed layered tree in the grid (for example, to hide
a single frame group node, or to combine several draw call groups into a pattern group).
Drive-by: added an assert to injected canvas module.
* inspector/InjectedScriptCanvasModuleSource.js:
* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype.dispose):
(WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
(WebInspector.CanvasProfileView.prototype._requestTraceLog):
(WebInspector.CanvasProfileView.prototype._selectedCallIndex):
(WebInspector.CanvasProfileView.prototype._peekLastRecursively):
(WebInspector.CanvasProfileView.prototype._appendCallNodes):
(WebInspector.CanvasProfileView.prototype.):
(WebInspector.CanvasProfileView.prototype.splitDrawCallGroup):
(WebInspector.CanvasProfileView.prototype._appendCallNodesToFrameNode):

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

7 years ago[EFL] Unreviewed gardening.
mikhail.pozdnyakov@intel.com [Thu, 21 Feb 2013 14:13:46 +0000 (14:13 +0000)]
[EFL] Unreviewed gardening.

* platform/efl/fast/dom/constructed-objects-prototypes-expected.txt: Rebaselining after r143505.
* platform/efl/fast/js/global-constructors-expected.txt: Ditto.
* platform/efl/TestExpectations: Added editing/spelling/spelling-changed-text.html after r143470.

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

7 years agoSource/WebCore: Web Inspector: Local/session storage tree items in the Resources...
apavlov@chromium.org [Thu, 21 Feb 2013 14:08:29 +0000 (14:08 +0000)]
Source/WebCore: Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
Re-landing r143581 with a build fix for Windows.
https://bugs.webkit.org/show_bug.cgi?id=109572

Reviewed by Vsevolod Vlasov.

This is a complete rework of the DOMStorage domain of the Web Inspector protocol. The most notable changes:
- Session and local DOM storages are considered to implicitly exist for each SecurityOrigin in the page
  (previously, only those that were lazily created by DOMWindow would exist).
- Consequently, the addDOMStorage event is gone.
- StorageId is now an object rather than an opaque numeric identifier.
- DOM storage modifiers no longer return a boolean indicating if the operation was successful.
  Clients should rely on the returned error message instead.

Implementation changes:
- InspectorDOMStorageResource would rely on the frame for which it was created throughout its lifetime.
  As such, the frame removal from the page would break the respective DOM storage inspection.
  Since this concept was entirely flawed, InspectorDOMStorageResource has been removed. Instead, a StorageArea
  is retrieved based on the security origin specified by the client.
- DOM storages can now be dynamically removed (upon the respective SecurityOrigin removal) in the frontend.

* CMakeLists.txt: Remove InspectorDOMStorageResource.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.order: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/WebCoreMemoryInstrumentation.cpp: Ditto.
* dom/WebCoreMemoryInstrumentation.h: Ditto.
* inspector/InjectedScriptSource.js: Account for the structured StorageId.
* inspector/Inspector.json: Update structures and API methods.
  Do not return boolean success flag and make use of the error message instead.
* inspector/InspectorAllInOne.cpp: Remove InspectorDOMStorageResource.
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController): Add InspectorPageAgent into InspectorDOMStorageAgent.
* inspector/InspectorDOMStorageAgent.cpp: Mostly remove InspectorDOMStorageResource usages.
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::clearFrontend):
(WebCore::InspectorDOMStorageAgent::isEnabled):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems): Renamed.
(WebCore::toErrorString): Stringify ExceptionCode.
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId): Make it structured rather than a plain string.
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
(WebCore::InspectorDOMStorageAgent::findStorageArea): Added.
(WebCore::InspectorDOMStorageAgent::reportMemoryUsage): Remove InspectorDOMStorageResource map.
* inspector/InspectorDOMStorageAgent.h:
(WebCore::InspectorDOMStorageAgent::create): Update signature.
(InspectorDOMStorageAgent):
* inspector/InspectorDOMStorageResource.cpp: Removed.
* inspector/InspectorDOMStorageResource.h: Removed.
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Do not call the removed clearResources().
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin): Added.
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):
* inspector/front-end/DOMStorage.js: Entirely reworked to use the SecurityOriginAdded/Removed events.
(WebInspector.DOMStorage):
(WebInspector.DOMStorage.storageId):
(WebInspector.DOMStorage.prototype.get id):
(WebInspector.DOMStorage.prototype.get securityOrigin):
(WebInspector.DOMStorage.prototype.getItems):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._securityOriginAdded):
(WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
(WebInspector.DOMStorageModel.prototype._storageKey):
(WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
(WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
(WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
* inspector/front-end/DOMStorageItemsView.js: Rename Entries -> Items to avoid confusion.
(WebInspector.DOMStorageItemsView.prototype._update):
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
(WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
* inspector/front-end/ResourcesPanel.js: Follow the updated DOMStorage model.
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._initialize):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._domStorageRemoved):
(WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
* page/DOMWindow.cpp: Remove instrumentation calls.
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):

LayoutTests: Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
https://bugs.webkit.org/show_bug.cgi?id=109572

Reviewed by Vsevolod Vlasov.

* http/tests/inspector-enabled/dom-storage-open-expected.txt:
* http/tests/inspector-enabled/dom-storage-open.html:

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

7 years agoUnreviewed. Fix make distcheck.
carlosgc@webkit.org [Thu, 21 Feb 2013 13:50:05 +0000 (13:50 +0000)]
Unreviewed. Fix make distcheck.

Source/WebCore:

* GNUmakefile.list.am: Add missing files to compilation.

Source/WebKit/gtk:

* GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
scanner.

Source/WebKit2:

* GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
scanner.
* GNUmakefile.list.am: Add missing header to compilation and
remove one that no longer exists.

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

7 years ago[BlackBerry] Element::getAttributeItem() no longer returns a mutable attribute
commit-queue@webkit.org [Thu, 21 Feb 2013 13:10:25 +0000 (13:10 +0000)]
[BlackBerry] Element::getAttributeItem() no longer returns a mutable attribute
https://bugs.webkit.org/show_bug.cgi?id=110439

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-21
Reviewed by Antonio Gomes.

This was changed in r142827.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::webContext):

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

7 years ago[BlackBerry] Fix access to ResourceHandle::context
commit-queue@webkit.org [Thu, 21 Feb 2013 12:40:22 +0000 (12:40 +0000)]
[BlackBerry] Fix access to ResourceHandle::context
https://bugs.webkit.org/show_bug.cgi?id=110443

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-21
Reviewed by Carlos Garcia Campos.

This changed in r141981.

* platform/network/blackberry/ResourceHandleBlackBerry.cpp:
(WebCore::ResourceHandle::start):

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

7 years ago[Qt] Replace QWebPageAdaptor::TouchAdjuster
allan.jensen@digia.com [Thu, 21 Feb 2013 12:39:47 +0000 (12:39 +0000)]
[Qt] Replace QWebPageAdaptor::TouchAdjuster
https://bugs.webkit.org/show_bug.cgi?id=110226

Reviewed by Antonio Gomes.

* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::adjustPointForClicking):
* WebCoreSupport/QWebPageAdapter.h:

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

7 years ago[BlackBerry] GraphicsLayerBlackBerry: rename showDebugBorder to isShowingDebugBorder
commit-queue@webkit.org [Thu, 21 Feb 2013 12:38:50 +0000 (12:38 +0000)]
[BlackBerry] GraphicsLayerBlackBerry: rename showDebugBorder to isShowingDebugBorder
https://bugs.webkit.org/show_bug.cgi?id=110453

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-21
Reviewed by Carlos Garcia Campos.

This changed in r133517.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::setupContentsLayer):

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

7 years agoWeb Inspector: take large strings out of CodeGeneratorInspector.py
commit-queue@webkit.org [Thu, 21 Feb 2013 12:37:46 +0000 (12:37 +0000)]
Web Inspector: take large strings out of CodeGeneratorInspector.py
https://bugs.webkit.org/show_bug.cgi?id=110159

Patch by Peter Rybin <prybin@chromium.org> on 2013-02-21
Reviewed by Yury Semikhatsky.

Python script is refactored.

* inspector/CodeGeneratorInspector.py:
* inspector/CodeGeneratorInspectorStrings.py: Added.
(InspectorFrontend_h):
(InspectorFrontendChannel):
(InspectorArray):
(InspectorObject):
(String):
(InspectorFrontend):
(InspectorBackendDispatcher_h):
(InspectorAgent):
(InspectorBackendDispatcherImpl):
(InspectorBackendDispatcher):
(CallbackBase):
(void):
(HashMap):
(OptOutput):
(ExactlyInt):
(RuntimeCastHelper):
(provides):
(typename):
(Array):
(Builder):

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

7 years agoUnreviewed, rolling out r143581.
commit-queue@webkit.org [Thu, 21 Feb 2013 12:29:42 +0000 (12:29 +0000)]
Unreviewed, rolling out r143581.
http://trac.webkit.org/changeset/143581
https://bugs.webkit.org/show_bug.cgi?id=110457

Breaks Windows builds (compile + link) (Requested by apavlov
on #webkit).

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

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCoreMemoryTypes):
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::clearFrontend):
(WebCore::InspectorDOMStorageAgent::restore):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
(WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
(WebCore::InspectorDOMStorageAgent::clearResources):
(WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
* inspector/InspectorDOMStorageAgent.h:
(WebCore):
(WebCore::InspectorDOMStorageAgent::create):
(InspectorDOMStorageAgent):
* inspector/InspectorDOMStorageResource.cpp: Added.
(WebCore):
(WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
(WebCore::InspectorDOMStorageResource::isSameOriginAndType):
(WebCore::InspectorDOMStorageResource::bind):
(WebCore::InspectorDOMStorageResource::unbind):
(WebCore::InspectorDOMStorageResource::reportMemoryUsage):
* inspector/InspectorDOMStorageResource.h: Added.
(WebCore):
(InspectorDOMStorageResource):
(WebCore::InspectorDOMStorageResource::create):
(WebCore::InspectorDOMStorageResource::id):
(WebCore::InspectorDOMStorageResource::storageArea):
(WebCore::InspectorDOMStorageResource::frame):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didUseDOMStorage):
(WebCore):
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage):
(WebInspector.DOMStorage.prototype.get id):
(WebInspector.DOMStorage.prototype.get domain):
(WebInspector.DOMStorage.prototype.getEntries):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._addDOMStorage):
(WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
(WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
(WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
(WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._update):
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
(WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._initialize):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._addDOMStorage):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):

LayoutTests:

* http/tests/inspector-enabled/dom-storage-open-expected.txt:
* http/tests/inspector-enabled/dom-storage-open.html:

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

7 years ago[BlackBerry] willComposite() and didComposite() are now in InspectorController
commit-queue@webkit.org [Thu, 21 Feb 2013 12:26:45 +0000 (12:26 +0000)]
[BlackBerry] willComposite() and didComposite() are now in InspectorController
https://bugs.webkit.org/show_bug.cgi?id=110343

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-21
Reviewed by Carlos Garcia Campos.

This was changed in r142879.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::willComposite):
(BlackBerry::WebKit::WebPagePrivate::didComposite):

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

7 years agoWeb Inspector: Get rid of parsedURL in uiSourceCode, use name and path for displayNam...
vsevik@chromium.org [Thu, 21 Feb 2013 12:09:38 +0000 (12:09 +0000)]
Web Inspector: Get rid of parsedURL in uiSourceCode, use name and path for displayName instead.
https://bugs.webkit.org/show_bug.cgi?id=110335

Reviewed by Alexander Pavlov.

Source/WebCore:

Replaced UISourceCode.parsedURL with UISourceCode.displayName().

* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView.prototype._updateScriptTitle):
(WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
(WebInspector.NavigatorFolderTreeElement):
* inspector/front-end/ResourceUtils.js:
(WebInspector.displayNameForURL):
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView.prototype._createUISourceCodeItem):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
(WebInspector.UISourceCode.prototype.displayName):
(WebInspector.UISourceCode.prototype.urlChanged):

Source/WebKit/chromium:

* src/js/Tests.js:
(.TestSuite.prototype._scriptsAreParsed):

LayoutTests:

* http/tests/inspector-enabled/dynamic-scripts.html:
* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest):
* inspector/debugger/dynamic-scripts.html:
* inspector/debugger/scripts-file-selector-expected.txt:
* inspector/debugger/source-url-comment.html:
* inspector/styles/edit-inspector-stylesheet.html:
* inspector/styles/styles-add-new-rule.html:

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

7 years ago[WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from...
mikhail.pozdnyakov@intel.com [Thu, 21 Feb 2013 11:58:51 +0000 (11:58 +0000)]
[WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
https://bugs.webkit.org/show_bug.cgi?id=110345

Reviewed by Andreas Kling.

WebView does not need to know about both PageViewportController and
PageViewportControllerClientEfl. Considering the fact that PageViewportController
will stop being WK2 internal and will be based on WK2 C API, it
should be owned by EwkView rather than WebView.

This patch is also a preparation for WKViewClient API extension to cover all
the places where PageViewportController and PageViewportControllerClientEfl
are accessed directly from WebView at the moment.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
* UIProcess/API/efl/EwkView.h:
(WebKit):
(EwkView::pageViewportControllerClient):
(EwkView::pageViewportController):
(EwkView):
* UIProcess/efl/WebView.cpp:
(WebKit::WebView::didCommitLoad):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::didChangeContentsSize):
(WebKit::WebView::didChangeViewportProperties):
(WebKit::WebView::pageDidRequestScroll):
(WebKit::WebView::didRenderFrame):
(WebKit::WebView::pageTransitionViewportReady):
* UIProcess/efl/WebView.h:
(WebView):

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

7 years agoWeb Inspector: Local/session storage tree items in the Resources panel after page...
apavlov@chromium.org [Thu, 21 Feb 2013 11:57:00 +0000 (11:57 +0000)]
Web Inspector: Local/session storage tree items in the Resources panel after page refresh are not shown
https://bugs.webkit.org/show_bug.cgi?id=109572

Reviewed by Vsevolod Vlasov.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/WebCoreMemoryInstrumentation.cpp:
(WebCore):
* dom/WebCoreMemoryInstrumentation.h:
(WebCoreMemoryTypes):
* inspector/InjectedScriptSource.js:
(.):
* inspector/Inspector.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
(WebCore::InspectorDOMStorageAgent::clearFrontend):
(WebCore::InspectorDOMStorageAgent::isEnabled):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::toErrorString):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
(WebCore::InspectorDOMStorageAgent::findStorageArea):
(WebCore::InspectorDOMStorageAgent::reportMemoryUsage):
* inspector/InspectorDOMStorageAgent.h:
(WebCore):
(WebCore::InspectorDOMStorageAgent::create):
(InspectorDOMStorageAgent):
* inspector/InspectorDOMStorageResource.cpp: Removed.
* inspector/InspectorDOMStorageResource.h: Removed.
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
(WebCore):
* inspector/InspectorPageAgent.h:
(InspectorPageAgent):
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage):
(WebInspector.DOMStorage.storageId):
(WebInspector.DOMStorage.prototype.get id):
(WebInspector.DOMStorage.prototype.get securityOrigin):
(WebInspector.DOMStorage.prototype.getItems):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._securityOriginAdded):
(WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
(WebInspector.DOMStorageModel.prototype._storageKey):
(WebInspector.DOMStorageModel.prototype._domStorageItemsCleared):
(WebInspector.DOMStorageModel.prototype._domStorageItemRemoved):
(WebInspector.DOMStorageModel.prototype._domStorageItemAdded):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
* inspector/front-end/DOMStorageItemsView.js:
(WebInspector.DOMStorageItemsView.prototype._update):
(WebInspector.DOMStorageItemsView.prototype._showDOMStorageItems):
(WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageItems):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._initialize):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._domStorageRemoved):
(WebInspector.ResourcesPanel.prototype._populateDOMStorageTree):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::sessionStorage):
(WebCore::DOMWindow::localStorage):

LayoutTests:

* http/tests/inspector-enabled/dom-storage-open-expected.txt:
* http/tests/inspector-enabled/dom-storage-open.html:

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

7 years agoWeb Inspector: [Console] Add console API message types for profile/profileEnd.
eustas@chromium.org [Thu, 21 Feb 2013 11:39:17 +0000 (11:39 +0000)]
Web Inspector: [Console] Add console API message types for profile/profileEnd.
https://bugs.webkit.org/show_bug.cgi?id=109790

Reviewed by Pavel Feldman.

With profile/profileEnd message types we will gain more control over
output messages.

* English.lproj/localizedStrings.js: Added corresponging strings.
* inspector/ConsoleAPITypes.h: Added enum members.
* inspector/Inspector.json: Ditto.
* inspector/front-end/ConsoleModel.js: Ditto.
* inspector/ConsoleMessage.cpp:
(WebCore::messageTypeValue): Added cases.
* inspector/InspectorProfilerAgent.cpp: Adopted changes.
* inspector/front-end/inspector.js: Ditto.
* inspector/front-end/ConsoleMessage.js:
Added message generators for introduced message types.
* inspector/front-end/ProfilesPanel.js:
Turned showProfileForURL(url) to showProfile(typeId, uid).
* inspector/front-end/ProfilesPanelDescriptor.js:
(WebInspector.ProfilesPanelDescriptor.resolveProfileTitle): Added.
* inspector/front-end/ResourceUtils.js: Removed linkifier plugins.

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

7 years ago[Qt] Unreviewed gardening.
zarvai@inf.u-szeged.hu [Thu, 21 Feb 2013 10:44:04 +0000 (10:44 +0000)]
[Qt] Unreviewed gardening.

* platform/qt-5.0-wk2/TestExpectations: Skip failing reftests.
* platform/qt/TestExpectations: Skip failing tests after r143541 and r110447.
* platform/qt/fast/dom/constructed-objects-prototypes-expected.txt: Rebaselining after r143505.
* platform/qt/fast/js/global-constructors-expected.txt: Rebaselining after r143505.

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

7 years agoOpenCL implementation of FEMerge filter.
commit-queue@webkit.org [Thu, 21 Feb 2013 10:43:03 +0000 (10:43 +0000)]
OpenCL implementation of FEMerge filter.
https://bugs.webkit.org/show_bug.cgi?id=110193

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2013-02-21
Reviewed by Zoltan Herczeg.

In case of odd number of parameters the first parameter is copied to the destination image and
the rest of the parameters are merged in pairs.

* Target.pri:
* platform/graphics/filters/FEMerge.h:
(FEMerge):
* platform/graphics/gpu/opencl/FilterContextOpenCL.h:
(WebCore::FilterContextOpenCL::FilterContextOpenCL):
(FilterContextOpenCL):
* platform/graphics/gpu/opencl/OpenCLFEMerge.cpp: Added.
(WebCore):
(WebCore::FilterContextOpenCL::compileFEMerge):
(WebCore::FilterContextOpenCL::copy): This is a simple copy method.
(WebCore::FilterContextOpenCL::applyFEMerge):
(WebCore::FEMerge::platformApplyOpenCL):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 21 Feb 2013 10:26:48 +0000 (10:26 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Adding failure expectations for tests introduced in r143470 and r143541.
* platform/gtk/fast/dom/constructed-objects-prototypes-expected.txt: Rebaselining after r143505.
* platform/gtk/fast/js/global-constructors-expected.txt: Ditto.

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

7 years agoAdd event dispatch class for the new calendar picker
keishi@webkit.org [Thu, 21 Feb 2013 10:16:32 +0000 (10:16 +0000)]
Add event dispatch class for the new calendar picker
https://bugs.webkit.org/show_bug.cgi?id=110131

Reviewed by Kent Tamura.

Adding event dispatcher class as part of the new calendar picker patch at Bug 109439.

No new tests. Code is not yet used.

* Resources/pagepopups/calendarPicker.js:
(EventEmitter):
(EventEmitter.prototype.on): Adds a callback for an event.
(EventEmitter.prototype.hasListener): Returns true if more than one listeners exist for an event type.
(EventEmitter.prototype.removeListener): Removes an event listener.
(EventEmitter.prototype.dispatchEvent): Dispatches an event to all callbacks. Takes variable number of arguments.

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

7 years ago[Qt] Unreviewed gardening. Skipped failing inpector tests after r143300.
kadam@inf.u-szeged.hu [Thu, 21 Feb 2013 10:09:15 +0000 (10:09 +0000)]
[Qt] Unreviewed gardening. Skipped failing inpector tests after r143300.
https://bugs.webkit.org/show_bug.cgi?id=110440.

* platform/qt/TestExpectations:

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

7 years agoWeb Inspector: Add command for selecting files for file input element
commit-queue@webkit.org [Thu, 21 Feb 2013 09:18:19 +0000 (09:18 +0000)]
Web Inspector: Add command for selecting files for file input element
https://bugs.webkit.org/show_bug.cgi?id=109308

Patch by Ken Kania <kkania@chromium.org> on 2013-02-21
Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector-protocol/dom/setFileInputFiles.html

* inspector/Inspector.json:
* inspector/InspectorClient.h:
(WebCore::InspectorClient::canSetFileInputFiles):
(InspectorClient):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::setFileInputFiles):
(WebCore):
* inspector/InspectorDOMAgent.h:
(WebCore):
(WebCore::InspectorDOMAgent::create):
(InspectorDOMAgent):

Source/WebKit/chromium:

* src/InspectorClientImpl.cpp:
(WebKit::InspectorClientImpl::canSetFileInputFiles):
(WebKit):
* src/InspectorClientImpl.h:
(InspectorClientImpl):

LayoutTests:

* inspector-protocol/dom/setFileInputFiles-expected.txt: Added.
* inspector-protocol/dom/setFileInputFiles.html: Added.
* platform/chromium/inspector-protocol/dom/setFileInputFiles-expected.txt: Added.

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

7 years agoSource/WebCore: [Web Inspector]Add WebSocket networking events in Timeline panel.
commit-queue@webkit.org [Thu, 21 Feb 2013 09:04:02 +0000 (09:04 +0000)]
Source/WebCore: [Web Inspector]Add WebSocket networking events in Timeline panel.
https://bugs.webkit.org/show_bug.cgi?id=105527.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-21
Reviewed by Pavel Feldman.

This patch add four WebSocket networking events in Timeline panel. The Events
are CreateWebSocket, SendWebSocketHandshakeRequest, ReceiveWebSocketHandShakeResponse
and DestoryWebSocket. Thanks to Kitamura san's previous work.

Test: http/tests/inspector/websocket/timeline-websocket-event.html

* English.lproj/localizedStrings.js:
* Modules/websockets/WebSocketChannel.cpp: Add protocol information
(WebCore::WebSocketChannel::connect):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add Timeline agent instrumentation for websocket
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Ditto
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Ditto
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Ditto
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didCreateWebSocket):
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorInstrumentation::didCloseWebSocket):
* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
(WebCore):
(WebCore::InspectorTimelineAgent::didCreateWebSocket): Add Timeline record for websocket create
(WebCore::InspectorTimelineAgent::addWebSocketRecord): Add general websocket record
(WebCore::InspectorTimelineAgent::willSendWebSocketHandshakeRequest): Add Timeline record for websocket handshake request send
(WebCore::InspectorTimelineAgent::didReceiveWebSocketHandshakeResponse): Add Timeline record for websocket handshake response receive
(WebCore::InspectorTimelineAgent::didDestroyWebSocket): Add Timeline record for websocket destroy
* inspector/InspectorTimelineAgent.h:
(WebCore):
(InspectorTimelineAgent):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):
(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):
* inspector/front-end/TimelineModel.js: Add Timeline record type for websocket
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel._initRecordStyles):
(WebInspector.TimelinePresentationModel.prototype.reset): Add slot to store WebSocket Create record
(WebInspector.TimelinePresentationModel.Record):
(WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview): Add PopupContent for websocket record, including url and protocol

LayoutTests: [Web Inspector]Add WebSocket networking events in WebInspector Timeline panel.
https://bugs.webkit.org/show_bug.cgi?id=105527.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-21
Reviewed by Pavel Feldman.

This change add the record event type to test expections. The Events are CreateWebSocket,
SendWebSocketHandshakeRequest, ReceiveWebSocketHandShakeResponse and DestoryWebSocket.
timeline-test.js was moved to http folder, since new added websocket test need it from server side.

* http/tests/inspector/timeline-test.js: Renamed from LayoutTests/inspector/timeline/timeline-test.js.
(initialize_Timeline.InspectorTest.startTimeline.addRecord):
(initialize_Timeline.InspectorTest.startTimeline):
(initialize_Timeline.addRecord):
(initialize_Timeline.InspectorTest.waitForRecordType):
(initialize_Timeline.InspectorTest.stopTimeline):
(initialize_Timeline.step1):
(initialize_Timeline.step2):
(initialize_Timeline.InspectorTest.evaluateWithTimeline):
(initialize_Timeline.):
(initialize_Timeline.InspectorTest.performActionsAndPrint):
(initialize_Timeline.InspectorTest.printTimelineRecords):
(initialize_Timeline.InspectorTest.printTimestampRecords):
(initialize_Timeline.InspectorTest.innerPrintTimelineRecords):
(initialize_Timeline.InspectorTest.dumpTimelineRecord):
(initialize_Timeline.InspectorTest.dumpTimelineRecords):
(initialize_Timeline.InspectorTest.printTimelineRecordProperties):
(initialize_Timeline.InspectorTest._timelineAgentTypeToString):
(initialize_Timeline.InspectorTest.findPresentationRecord.findByType):
(initialize_Timeline.InspectorTest.findPresentationRecord):
(initialize_Timeline.InspectorTest.FakeFileReader):
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.start):
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.cancel):
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.loadedSize):
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.fileSize):
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.fileName):
(initialize_Timeline.InspectorTest):
(initialize_Timeline):
* http/tests/inspector/websocket/timeline-websocket-event-expected.txt: Added.
* http/tests/inspector/websocket/timeline-websocket-event.html: Added.
* inspector/timeline/timeline-animation-frame.html: Modify address of script "timeline-test.js"
* inspector/timeline/timeline-decode-resize.html:
* inspector/timeline/timeline-dom-content-loaded-event.html:
* inspector/timeline/timeline-enum-stability-expected.txt:
* inspector/timeline/timeline-event-dispatch.html:
* inspector/timeline/timeline-frames.html:
* inspector/timeline/timeline-injected-script-eval.html:
* inspector/timeline/timeline-layout-reason.html:
* inspector/timeline/timeline-layout.html:
* inspector/timeline/timeline-load-event.html:
* inspector/timeline/timeline-load.html:
* inspector/timeline/timeline-mark-timeline.html:
* inspector/timeline/timeline-network-received-data.html:
* inspector/timeline/timeline-network-resource.html:
* inspector/timeline/timeline-paint.html:
* inspector/timeline/timeline-parse-html.html:
* inspector/timeline/timeline-recalculate-styles.html:
* inspector/timeline/timeline-receive-response-event.html:
* inspector/timeline/timeline-script-tag-1.html:
* inspector/timeline/timeline-script-tag-2.html:
* inspector/timeline/timeline-start-time.html:
* inspector/timeline/timeline-time-stamp.html:
* inspector/timeline/timeline-time.html:
* inspector/timeline/timeline-timer-fired-from-eval-call-site.html:
* inspector/timeline/timeline-timer.html:
* inspector/timeline/timeline-trivial.html:

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

7 years ago[Qt] Remove obsolete DEPENDPATH assignment
hausmann@webkit.org [Thu, 21 Feb 2013 09:03:59 +0000 (09:03 +0000)]
[Qt] Remove obsolete DEPENDPATH assignment

Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com> on 2013-02-21
Reviewed by Simon Hausmann

qmake now adds CONFIG+=depend_includepath by default, making manual
DEPENDPATH setup unnecessary.

* qmake/mkspecs/features/default_post.prf:

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

7 years ago[Qt] Fix pkg-config dependencies of QtWebKit itself
hausmann@webkit.org [Thu, 21 Feb 2013 09:01:38 +0000 (09:01 +0000)]
[Qt] Fix pkg-config dependencies of QtWebKit itself

Patch by Oswald Buddenhagen <oswald.buddenhagen@digia.com> on 2013-02-21
Reviewed by Simon Hausmann.

Don't override QMAKE_PKGCONFIG_REQUIRES needlessly.

* WebCore.pri:

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

7 years agoFile upload control doesn't apply CSS vertical padding or border to file name
commit-queue@webkit.org [Thu, 21 Feb 2013 09:00:07 +0000 (09:00 +0000)]
File upload control doesn't apply CSS vertical padding or border to file name
https://bugs.webkit.org/show_bug.cgi?id=109011

Patch by Nils Barth <nbarth@google.com> on 2013-02-21
Reviewed by Hajime Morrita.

Source/WebCore:

Test: fast/forms/file/file-vertical-padding-border.html

* rendering/RenderFileUploadControl.cpp:
    Add borderTop() and paddingTop() when computing position.
(WebCore::RenderFileUploadControl::paintObject):

LayoutTests:

* fast/forms/file/file-vertical-padding-border.html: Added.
* fast/forms/file/file-vertical-padding-border-expected.html: Added.

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

7 years ago Stop hardcoding knowledge about blob protocol in ResourceHandle
ap@apple.com [Thu, 21 Feb 2013 08:27:10 +0000 (08:27 +0000)]
    Stop hardcoding knowledge about blob protocol in ResourceHandle
        https://bugs.webkit.org/show_bug.cgi?id=110382

        Reviewed by Anders Carlsson.

        * platform/network/BlobRegistry.h:
        * platform/network/chromium/BlobRegistryProxy.h:
        Removed loadResourceSynchronously(). Chromium did not even implement it, and
        cross-platform code doesn't need it any more either.

        * platform/network/BlobRegistryImpl.cpp:
        (WebCore::loadResourceSynchronously): A function to load a blob synchronously,
        suitable for being in a ResourceHandle map.
        (WebCore::registerBlobResourceHandleConstructor): Register loadResourceSynchronously too.
        (WebCore::BlobRegistryImpl::createResourceHandle): Don't make policy decisions here,
        it's just a registry. Moved code for checking request method down to BlobResourceHandle.

        * platform/network/BlobRegistryImpl.h: Removed BlobRegistryImpl::loadResourceSynchronously().
        A registry shouldn't load resources, and it already has enough accessors to implement
        this externally.

        * platform/network/BlobResourceHandle.h:
        * platform/network/BlobResourceHandle.cpp:
        (WebCore::BlobResourceHandle::createAsync): Renamed from create(), to make it clear
        that it's not OK to call from synchronous loader. Moved method check here.
        (WebCore::BlobResourceHandle::loadResourceSynchronously): Moved method check here.
        We used to fall through to NSURLConnection based loader when method was not GET,
        which of course resulted in an error eventually, but was just wrong.

        * platform/network/ResourceHandle.cpp:
        (WebCore::builtinResourceHandleSynchronousLoaderMap): Added a map for synchronous case.
        (WebCore::ResourceHandle::registerBuiltinSynchronousLoader): Ditto.
        (WebCore::ResourceHandle::loadResourceSynchronously): We no longer need to hardcode
        knowledge about blobRegistry and blobs here.

        * platform/network/ResourceHandle.h: Added registerBuiltinSynchronousLoader().

        * platform/network/chromium/ResourceHandle.h: Removed loadResourceSynchronously(),
        which was not implemented for Chromium.

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

7 years agoWeb Inspector: TabbedEditorContainer and OpenResourceDialog should show uiSourceCode...
vsevik@chromium.org [Thu, 21 Feb 2013 07:53:49 +0000 (07:53 +0000)]
Web Inspector: TabbedEditorContainer and OpenResourceDialog should show uiSourceCode path and name instead of parsedURL
https://bugs.webkit.org/show_bug.cgi?id=110334

Reviewed by Alexander Pavlov.

Source/WebCore:

Introduced uiSourceCode.name() that returns a name based on uiSourceCode path.
OpenResourceDialog now shows uiSourceCode workspace path as a subtitle.
TabbedEditorContainer now shows uiSourceCode name in the tab header.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.OpenResourceDialog.filterOutEmptyURLs):
(WebInspector.OpenResourceDialog):
(WebInspector.OpenResourceDialog.prototype.itemTitleAt):
(WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
(WebInspector.OpenResourceDialog.prototype.itemKeyAt):
* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView.prototype._updateScriptTitle):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer.prototype._titleForFile):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.name):

LayoutTests:

* inspector/debugger/scripts-file-selector-expected.txt:
* inspector/debugger/ui-source-code-display-name-expected.txt:
* inspector/debugger/ui-source-code-display-name.html:

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

7 years agoWeb Inspector: debugger buttons are scrolled along with the sidebar content.
pfeldman@chromium.org [Thu, 21 Feb 2013 07:33:23 +0000 (07:33 +0000)]
Web Inspector: debugger buttons are scrolled along with the sidebar content.
https://bugs.webkit.org/show_bug.cgi?id=110434

Reviewed by Vsevolod Vlasov.

* inspector/front-end/scriptsPanel.css:
(div.sidebar-pane-stack#scripts-debug-sidebar-contents, #scripts-sidebar-stack-pane):

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

7 years agoChannelMergerNode may need check for deferred updating of output channels
james.wei@intel.com [Thu, 21 Feb 2013 06:34:16 +0000 (06:34 +0000)]
ChannelMergerNode may need check for deferred updating of output channels
https://bugs.webkit.org/show_bug.cgi?id=108863

There can in rare cases be a slight delay before the output bus is updated
to the new number of channels because of tryLocks() in the context's
updating system. So need to check the channel number before processing.

Reviewed by Chris Rogers.

* Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::ChannelMergerNode):
(WebCore::ChannelMergerNode::process):
(WebCore::ChannelMergerNode::checkNumberOfChannelsForInput):
* Modules/webaudio/ChannelMergerNode.h:
(ChannelMergerNode):

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

7 years ago[Web Inspector] Fix Sort by Initiator functionality of Network Panel.
commit-queue@webkit.org [Thu, 21 Feb 2013 06:26:04 +0000 (06:26 +0000)]
[Web Inspector] Fix Sort by Initiator functionality of Network Panel.
https://bugs.webkit.org/show_bug.cgi?id=109135.

Patch by Pan Deng <pan.deng@intel.com> on 2013-02-20
Reviewed by Pavel Feldman.

A refactor for request initiator types, and the sort by Initiator functionality
was changed to sort by url and line number that displayed in initiator cell.

No new tests.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell): save initiator displayedURL and displayedLineNumber
(WebInspector.NetworkDataGridNode.InitiatorComparator):
* inspector/front-end/NetworkRequest.js:

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

7 years agoWebVTTParser copies character buffer more often than necessary
eric@webkit.org [Thu, 21 Feb 2013 05:36:42 +0000 (05:36 +0000)]
WebVTTParser copies character buffer more often than necessary
https://bugs.webkit.org/show_bug.cgi?id=103319

Reviewed by Eric Carlson.

Previously this codepath was creating a String just to parse the timestamp
and then if the timestamp was valid, was creating a second string.
I've fixed it to only create one string and use it in both places.
I also fixed this codepath to use 8bit strings when possible, per the FIXME.

* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::constructTreeFromToken):

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

7 years agoDFG::SpeculativeJIT::compileInt32ToDouble() has an unnecessary case for constant...
fpizlo@apple.com [Thu, 21 Feb 2013 04:58:08 +0000 (04:58 +0000)]
DFG::SpeculativeJIT::compileInt32ToDouble() has an unnecessary case for constant operands
https://bugs.webkit.org/show_bug.cgi?id=110309

Reviewed by Sam Weinig.

It used to be necessary, back when we didn't have constant folding. Now we have
constant folding. So we don't need it.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInt32ToDouble):

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

7 years agoUnreviewed. Changing primary email id.
vivek.vg@samsung.com [Thu, 21 Feb 2013 04:38:03 +0000 (04:38 +0000)]
Unreviewed. Changing primary email id.

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

7 years agoMouseup event does not fire on Scroll Bar
mkwst@chromium.org [Thu, 21 Feb 2013 04:21:32 +0000 (04:21 +0000)]
Mouseup event does not fire on Scroll Bar
https://bugs.webkit.org/show_bug.cgi?id=25811

Reviewed by Tony Chang.

Source/WebCore:

Currently, clicking on a scrollbar fires a mousedown event, but not a
mouseup event. This causes problems for code like jQuery UI's
draggable[1], as the drag starts, but is never cancelled. Other use
cases are noted in the slightly old Chromium bug[2].

If a mouseup event is received after a mousedown event on a scrollbar,
this patch dispatches a mouseup event on the same node the mousedown
event dispatched on. This matches Gecko's behavior.

[1]: http://bugs.jqueryui.com/ticket/6925
[2]: http://crbug.com/14204

Tests: fast/scrolling/scrollbar-mousedown-mouseup.html
       fast/scrolling/scrollbar-mousedown-move-mouseup.html

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMouseReleaseEvent):
    If a mouseup event follow a mousedown event on a scrollbar,
    dispatch an event on the same node from which the mousedown event
    was triggered.

LayoutTests:

* fast/scrolling/scrollbar-mousedown-mouseup-expected.txt: Added.
* fast/scrolling/scrollbar-mousedown-mouseup.html: Added.
* fast/scrolling/scrollbar-mousedown-move-mouseup-expected.txt: Added.
* fast/scrolling/scrollbar-mousedown-move-mouseup.html: Added.

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

7 years agoUnreviewed gardening, update TestExpectations.
toyoshim@chromium.org [Thu, 21 Feb 2013 03:58:37 +0000 (03:58 +0000)]
Unreviewed gardening, update TestExpectations.

* platform/chromium/TestExpectations:

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

7 years agoProvide WKView SPI to defer telling the WebPageProxy and WebProcess about changes...
timothy_horton@apple.com [Thu, 21 Feb 2013 03:51:40 +0000 (03:51 +0000)]
Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
https://bugs.webkit.org/show_bug.cgi?id=110415
<rdar://problem/13095405>

Reviewed by Simon Fraser.

* UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
(-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
(-[WKView beginDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
the in-window state has actually changed.
(-[WKView isDeferringViewInWindowChanges]):
* UIProcess/API/mac/WKViewPrivate.h:

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

7 years agoUnreviewed gardening, add chromium-mac specific expectation image.
toyoshim@chromium.org [Thu, 21 Feb 2013 03:50:51 +0000 (03:50 +0000)]
Unreviewed gardening, add chromium-mac specific expectation image.

* platform/chromium-mac/fast/repaint/paint-caret-in-div-with-negative-indent-expected.png: Added.

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

7 years ago[Refactoring] Make m_state an on-stack object
tasak@google.com [Thu, 21 Feb 2013 03:39:42 +0000 (03:39 +0000)]
[Refactoring] Make m_state an on-stack object
https://bugs.webkit.org/show_bug.cgi?id=109909

Reviewed by Antti Koivisto.

Mode m_state, an instance of StyleResolver::State, an on-stack object.
The state is only required in styleForElement, styleForKeyframe and
so on. No need to keep the state outside of those methods.

No new tests, because just refactoring.

* css/BasicShapeFunctions.cpp:
(WebCore::convertToLength):
(WebCore::basicShapeForValue):
* css/BasicShapeFunctions.h:
(WebCore):
Replaced StyleResolver* with StyleResolver::State&.
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::gradientWithStylesResolved):
* css/CSSGradientValue.h:
(CSSGradientValue):
Replaced StyleResolver* with StyleResolver::State&.
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::style):
(WebCore::CSSToStyleMap::rootElementStyle):
(WebCore::CSSToStyleMap::useSVGZoomRules):
(WebCore::CSSToStyleMap::styleImage):
* css/CSSToStyleMap.h:
(WebCore):
(WebCore::CSSToStyleMap::CSSToStyleMap):
(CSSToStyleMap):
Replaced StyleResolver* with StyleResolver::State&.
* css/SVGCSSStyleSelector.cpp:
(WebCore::StyleResolver::applySVGProperty):
Replaced m_state with state which is given as an argument of
applySVGProperty.
* css/StyleBuilder.cpp:
(WebCore::ApplyPropertyExpanding::applyInheritValue):
(WebCore::ApplyPropertyExpanding::applyInitialValue):
(WebCore::ApplyPropertyExpanding::applyValue):
(WebCore::ApplyPropertyDefaultBase::applyInheritValue):
(WebCore::ApplyPropertyDefaultBase::applyInitialValue):
(WebCore::ApplyPropertyDefaultBase::applyValue):
(WebCore::ApplyPropertyDefault::applyValue):
(WebCore::ApplyPropertyNumber::applyValue):
(WebCore::ApplyPropertyStyleImage::applyValue):
(WebCore::ApplyPropertyAuto::applyInheritValue):
(WebCore::ApplyPropertyAuto::applyInitialValue):
(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyClip::applyInheritValue):
(WebCore::ApplyPropertyClip::applyInitialValue):
(WebCore::ApplyPropertyClip::applyValue):
(WebCore::ApplyPropertyColor::applyInheritValue):
(WebCore::ApplyPropertyColor::applyInitialValue):
(WebCore::ApplyPropertyColor::applyValue):
(WebCore::ApplyPropertyColor::applyColorValue):
(WebCore::ApplyPropertyDirection::applyValue):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyString::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyFillLayer::applyInheritValue):
(WebCore::ApplyPropertyFillLayer::applyInitialValue):
(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFont::applyInheritValue):
(WebCore::ApplyPropertyFont::applyInitialValue):
(WebCore::ApplyPropertyFont::applyValue):
(WebCore::ApplyPropertyFontSize::applyInheritValue):
(WebCore::ApplyPropertyFontSize::applyInitialValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyFontWeight::applyValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
(WebCore::ApplyPropertyFontVariantLigatures::applyValue):
(WebCore::ApplyPropertyBorderImage::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
(WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore::ApplyPropertyBorderImageSource::applyValue):
(WebCore::ApplyPropertyCounter::emptyFunction):
(WebCore::ApplyPropertyCounter::applyInheritValue):
(WebCore::ApplyPropertyCounter::applyValue):
(WebCore::ApplyPropertyCursor::applyInheritValue):
(WebCore::ApplyPropertyCursor::applyInitialValue):
(WebCore::ApplyPropertyCursor::applyValue):
(WebCore::ApplyPropertyTextAlign::applyValue):
(WebCore::ApplyPropertyTextDecoration::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyPageSize::applyInheritValue):
(WebCore::ApplyPropertyPageSize::applyInitialValue):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
(WebCore::ApplyPropertyAnimation::map):
(WebCore::ApplyPropertyAnimation::applyInheritValue):
(WebCore::ApplyPropertyAnimation::applyInitialValue):
(WebCore::ApplyPropertyAnimation::applyValue):
(WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
(WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
(WebCore::ApplyPropertyOutlineStyle::applyValue):
(WebCore::ApplyPropertyResize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):
(WebCore::ApplyPropertyAspectRatio::applyInheritValue):
(WebCore::ApplyPropertyAspectRatio::applyInitialValue):
(WebCore::ApplyPropertyAspectRatio::applyValue):
(WebCore::ApplyPropertyZoom::resetEffectiveZoom):
(WebCore::ApplyPropertyZoom::applyInheritValue):
(WebCore::ApplyPropertyZoom::applyInitialValue):
(WebCore::ApplyPropertyZoom::applyValue):
(WebCore::ApplyPropertyDisplay::isValidDisplayValue):
(WebCore::ApplyPropertyDisplay::applyInheritValue):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::ApplyPropertyDisplay::applyValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyExclusionShape::applyValue):
(WebCore::ApplyPropertyImageResolution::applyInheritValue):
(WebCore::ApplyPropertyImageResolution::applyInitialValue):
(WebCore::ApplyPropertyImageResolution::applyValue):
* css/StyleBuilder.h:
(WebCore):
(PropertyHandler):
(WebCore::PropertyHandler::applyInheritValue):
(WebCore::PropertyHandler::applyInitialValue):
(WebCore::PropertyHandler::applyValue):
Replaced StyleResolver* with StyleResolver::State&.
* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::StyleResolver):
Removed m_styleMap. Now m_styleMap is an on-stack object.
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::StyleResolver::sortMatchedRules):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::initElement):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::StyleResolver::findSiblingForStyleSharing):
(WebCore::StyleResolver::locateSharedStyle):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::keyframeStylesForAnimation):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::updateFont):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
(WebCore::StyleResolver::applyProperties):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::isLeftPage):
(WebCore::StyleResolver::applyPropertyWithNullCheck):
(WebCore::StyleResolver::applyFontPropertyToStyle):
(WebCore::StyleResolver::resolveVariables):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::cachedOrPendingFromValue):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::setOrPendingFromValue):
(WebCore::StyleResolver::cursorOrPendingFromValue):
(WebCore::StyleResolver::checkForTextSizeAdjust):
(WebCore::StyleResolver::checkForZoomChange):
(WebCore::StyleResolver::checkForGenericFamilyChange):
(WebCore::StyleResolver::initializeFontStyle):
(WebCore::StyleResolver::setFontSize):
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::styleShader):
(WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
(WebCore::StyleResolver::loadPendingShaders):
(WebCore::StyleResolver::parseCustomFilterTransformParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):
(WebCore::StyleResolver::parseCustomFilterParameterList):
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
(WebCore::StyleResolver::createCustomFilterOperation):
(WebCore::StyleResolver::createFilterOperations):
(WebCore::StyleResolver::loadPendingImage):
(WebCore::StyleResolver::loadPendingImages):
(WebCore::StyleResolver::loadPendingResources):
Just replaced m_state with state and added one more parameter to
provide the state.
(WebCore::StyleResolver::reportMemoryUsage):
Since m_state was removed, removed a code for reporting m_state's
memory usage.
* css/StyleResolver.h:
(StyleResolver):
(WebCore::StyleResolver::isRightPage):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::State::document):
Since State::m_element is not always available (sometimes, 0),
added m_document to State and modified to return the m_document.
(WebCore::StyleResolver::State::useSVGZoomRules):
Moved StyleResolver to State.
(State):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
Moved the code, updating a style by using a given StylePropertySet,
to StyleResolver.

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

7 years agoAutoTableLayout applies min-width redundantly with RenderTable
ojan@chromium.org [Thu, 21 Feb 2013 03:26:10 +0000 (03:26 +0000)]
AutoTableLayout applies min-width redundantly with RenderTable
https://bugs.webkit.org/show_bug.cgi?id=110426

Reviewed by Emil A Eklund.

* rendering/AutoTableLayout.cpp:
(WebCore::AutoTableLayout::computePreferredLogicalWidths):
This code used to do something, but has since been superceded by
code in RenderTable::computePreferredLogicalWidths.

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

7 years agoEnable CANVAS_PATH flag
krit@webkit.org [Thu, 21 Feb 2013 03:22:31 +0000 (03:22 +0000)]
Enable CANVAS_PATH flag
https://bugs.webkit.org/show_bug.cgi?id=108508

Source/WebCore:

Uneviewed attempt to fix Qt minimal build.

* html/canvas/DOMPath.h:
(WebCore::DOMPath::DOMPath):

LayoutTests:

Reviewed by Simon Fraser.

Unreviewed rebaseline after landing patch.

* fast/dom/constructed-objects-prototypes-expected.txt:

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

7 years agoDFG inlines Resolves that it doesn't know how to handle correctly
fpizlo@apple.com [Thu, 21 Feb 2013 02:43:36 +0000 (02:43 +0000)]
DFG inlines Resolves that it doesn't know how to handle correctly
https://bugs.webkit.org/show_bug.cgi?id=110405

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Don't try to be clever: if there's a failing resolve, we can't inline it, period.

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

LayoutTests:

Reviewed by Geoffrey Garen.

* fast/js/dfg-inline-resolve-expected.txt: Added.
* fast/js/dfg-inline-resolve.html: Added.

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

7 years agoDisable window occlusion notifications for App Store on Mac.
commit-queue@webkit.org [Thu, 21 Feb 2013 02:41:56 +0000 (02:41 +0000)]
Disable window occlusion notifications for App Store on Mac.
https://bugs.webkit.org/show_bug.cgi?id=110417

Patch by Kiran Muppala <cmuppala@apple.com> on 2013-02-20
Reviewed by Simon Fraser.

Temporary fix to workaround issues with window occlusion notifications
in App Store.

* UIProcess/API/mac/WKView.mm:
(+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
if the main bundle identifier matches that of App Store.

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

7 years ago\2013-02-20 Mark Lam <mark.lam@apple.com>
mark.lam@apple.com [Thu, 21 Feb 2013 02:36:26 +0000 (02:36 +0000)]
\2013-02-20  Mark Lam  <mark.lam@apple.com>

Rename DatabaseBackendAsync to DatabaseBackend.
https://bugs.webkit.org/show_bug.cgi?id=110422.

Reviewed by Geoffrey Garen.

This is a purely cosmetic change to make the naming consistent with
the front-end Database.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/ChangeVersionWrapper.cpp:
(WebCore::ChangeVersionWrapper::performPreflight):
(WebCore::ChangeVersionWrapper::performPostflight):
* Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::from):
(WebCore::Database::backend):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseBackend.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.cpp.
(WebCore::DatabaseBackend::DatabaseBackend):
(WebCore::DatabaseBackend::openAndVerifyVersion):
(WebCore::DatabaseBackend::performOpenAndVerify):
(WebCore::DatabaseBackend::close):
(WebCore::DatabaseBackend::runTransaction):
(WebCore::DatabaseBackend::inProgressTransactionCompleted):
(WebCore::DatabaseBackend::scheduleTransaction):
(WebCore::DatabaseBackend::scheduleTransactionStep):
(WebCore::DatabaseBackend::transactionClient):
(WebCore::DatabaseBackend::transactionCoordinator):
* Modules/webdatabase/DatabaseBackend.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackendAsync.h.
* Modules/webdatabase/DatabaseBackendAsync.cpp: Removed.
* Modules/webdatabase/DatabaseBackendAsync.h: Removed.
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::~DatabaseBackendBase):
* Modules/webdatabase/DatabaseManager.cpp:
* Modules/webdatabase/DatabaseServer.cpp:
* Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseTask::DatabaseTask):
(WebCore::DatabaseBackend::DatabaseOpenTask::DatabaseOpenTask):
(WebCore::DatabaseBackend::DatabaseOpenTask::doPerformTask):
(WebCore::DatabaseBackend::DatabaseOpenTask::debugTaskName):
(WebCore::DatabaseBackend::DatabaseCloseTask::DatabaseCloseTask):
(WebCore::DatabaseBackend::DatabaseCloseTask::doPerformTask):
(WebCore::DatabaseBackend::DatabaseCloseTask::debugTaskName):
(WebCore::DatabaseBackend::DatabaseTransactionTask::DatabaseTransactionTask):
(WebCore::DatabaseBackend::DatabaseTransactionTask::~DatabaseTransactionTask):
(WebCore::DatabaseBackend::DatabaseTransactionTask::doPerformTask):
(WebCore::DatabaseBackend::DatabaseTransactionTask::debugTaskName):
(WebCore::DatabaseBackend::DatabaseTableNamesTask::DatabaseTableNamesTask):
(WebCore::DatabaseBackend::DatabaseTableNamesTask::doPerformTask):
(WebCore::DatabaseBackend::DatabaseTableNamesTask::debugTaskName):
* Modules/webdatabase/DatabaseTask.h:
(WebCore::DatabaseTask::database):
(DatabaseTask):
(WebCore::DatabaseBackend::DatabaseOpenTask::create):
(DatabaseBackend::DatabaseOpenTask):
(WebCore::DatabaseBackend::DatabaseCloseTask::create):
(DatabaseBackend::DatabaseCloseTask):
(WebCore::DatabaseBackend::DatabaseTableNamesTask::create):
(DatabaseBackend::DatabaseTableNamesTask):
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::SameDatabasePredicate::SameDatabasePredicate):
(SameDatabasePredicate):
(WebCore::DatabaseThread::unscheduleDatabaseTasks):
* Modules/webdatabase/DatabaseThread.h:
* Modules/webdatabase/SQLStatementBackend.cpp:
(WebCore::SQLStatementBackend::execute):
(WebCore::SQLStatementBackend::setDatabaseDeletedError):
(WebCore::SQLStatementBackend::setVersionMismatchedError):
(WebCore::SQLStatementBackend::setFailureDueToQuota):
* Modules/webdatabase/SQLStatementBackend.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionBackend.h:
(WebCore::SQLTransactionBackend::database):
* Modules/webdatabase/SQLTransactionCoordinator.cpp:
(WebCore::getDatabaseIdentifier):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoUpstream SharedTimerIOS.mm
ddkilzer@apple.com [Thu, 21 Feb 2013 02:25:54 +0000 (02:25 +0000)]
Upstream SharedTimerIOS.mm
<http://webkit.org/b/110161>

Reviewed by Benjamin Poulain.

* Configurations/WebCore.xcconfig:
(EXCLUDED_SOURCE_FILE_NAMES_iphoneos): Add SharedTimerMac.mm.
* WebCore.xcodeproj/project.pbxproj: Add SharedTimerIOS.mm.
* platform/ios/SharedTimerIOS.mm: Add.
(WebCore):
(-[WebCoreResumeNotifierIOS init]):
(-[WebCoreResumeNotifierIOS dealloc]):
(-[WebCoreResumeNotifierIOS didWake]):
(WebCore::setSharedTimerFiredFunction):
(WebCore::timerFired):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

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

7 years agoSpeculative fix for EFL and Windows compilers not realizing
ojan@chromium.org [Thu, 21 Feb 2013 02:24:46 +0000 (02:24 +0000)]
Speculative fix for EFL and Windows compilers not realizing
that all possible cases have a return value from this switch.

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

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