WebKit-https.git
7 years agoWeb Inspector: Add more diagnostics output to testRendererProcessNativeMemorySize
commit-queue@webkit.org [Thu, 7 Mar 2013 14:17:25 +0000 (14:17 +0000)]
Web Inspector: Add more diagnostics output to testRendererProcessNativeMemorySize
https://bugs.webkit.org/show_bug.cgi?id=111599

Patch by Alexei Filippov <alph@chromium.org> on 2013-03-07
Reviewed by Yury Semikhatsky.

Add the process size to the test output.

* src/js/Tests.js:

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

7 years agoFix painting phases for composited scrolling
vollick@chromium.org [Thu, 7 Mar 2013 14:00:57 +0000 (14:00 +0000)]
Fix painting phases for composited scrolling
https://bugs.webkit.org/show_bug.cgi?id=107618

Reviewed by Simon Fraser.

With composited scrolling, the scrolling contents layer paints the
foreground and the main graphics layer paints the background. This
causes a few problems:

  1) If we create a foreground layer, we end up with two layers painting
     the foreground phase.
  2) Focus rings / outlines paint into the foreground layer, so they end
     up moving around with the scrolling contents.
  3) Neg z-order descendants paint in the the main graphics layer and
     will therefore not scroll.

To deal with 1) we need to stop painting the foreground into both the
foreground and scrolling contents layers. We also need to ensure that
the foreground layer is the right size and has the right offset from
renderer if we're on the composited scrolling path.

To deal with 2) and 3), I have added a new graphics layer painting phase
flag -- GraphicsLayerPaintCompositedScroll -- and applied it to two
layers in the subtree created by RenderLayerBacking. This ultimately
affects the paint phase passed to RenderLayer::paintLayerContents and
allows us to paint the focus rings, outlines and negative z-order
descendants into the proper layers.

Source/WebCore:

Tests: compositing/overflow/composited-scrolling-paint-phases.html
       compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html
       compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html

* page/Frame.h:
  Added a flag for including painting phases in the layer tree dump.
(WebCore::GraphicsLayer::dumpProperties):
  Can now dump painting phase information, but only if requested.
* platform/graphics/GraphicsLayerClient.h:
  Added a new entry to GraphicsLayerPaintingPhaseFlags for comp-scroll.
(WebCore::RenderLayer::paintLayerContents):
  Updated the logic to account for the new comp-scroll-related paint
  phase flag.
* rendering/RenderLayer.h:
  Added the RenderLayer painting phase counterpart to
  GraphicsLayerPaintCompositedScroll.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  Ensures that the foreground layer is sized correctly for comp-scroll.
(WebCore::RenderLayerBacking::updateScrollingLayers):
  If we have a foreground layer, the scrolling contents layer no
  longer gets assigned the foreground painting phase.
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
  If we're comp-scrolling, then the primary layer gets the new phase.
(WebCore::RenderLayerBacking::paintIntoLayer):
  Simply translates the new graphics layer painting phase to its
  render layer counterpart.
(WebCore::RenderLayerCompositor::layerTreeAsText):
* testing/Internals.cpp:
(WebCore::Internals::layerTreeAsText):
* testing/Internals.h:
* testing/Internals.idl:
  The above changes are solely plumbing to allow layout tests to
  request that paint phase information be included in the layer tree
  dump.

LayoutTests:

* compositing/overflow/composited-scrolling-paint-phases-expected.txt: Added.
* compositing/overflow/composited-scrolling-paint-phases.html: Added.
* platform/mac/compositing/overflom/composited-scrolling-paint-phases-expected.txt: Added.
  This is a text-based test that checks that the graphics layer
  painting phases are correct with composited scrolling + foreground
  layers.
* compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html: Added.
* compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html: Added.
  These tests cover cases 2) and 3) above.
* platform/chromium/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
  These have been updated to reflect the missing baselines.

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

7 years ago[Qt] Use Qt5.1 supportedMimeTypes methods.
allan.jensen@digia.com [Thu, 7 Mar 2013 13:52:35 +0000 (13:52 +0000)]
[Qt] Use Qt5.1 supportedMimeTypes methods.
https://bugs.webkit.org/show_bug.cgi?id=111185

Reviewed by Jocelyn Turcotte.

Uses the supportedMimeTypes() methods from QImageReader and QImageWriter when available.

* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):

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

7 years agoWeb Inspector: Flame Chart. Stick item color to the function.
loislo@chromium.org [Thu, 7 Mar 2013 13:36:43 +0000 (13:36 +0000)]
Web Inspector: Flame Chart. Stick item color to the function.
https://bugs.webkit.org/show_bug.cgi?id=111697

Reviewed by Yury Semikhatsky.

Different nodes associated with a single function have to use the same color.
Minor polish: do not filter out (idle) and (program) items. They were big due to an error on v8 side.
Set minimum width to 0 for more precise picture.

* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart):
(WebInspector.FlameChart.prototype._rootNodes):
(WebInspector.FlameChart.prototype.draw):
(WebInspector.FlameChart.prototype._drawNode):
(WebInspector.FlameChart.prototype._drawBar):

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

7 years agoWeb Inspector: [ACE] gutter size should be fixed.
commit-queue@webkit.org [Thu, 7 Mar 2013 12:55:51 +0000 (12:55 +0000)]
Web Inspector: [ACE] gutter size should be fixed.
https://bugs.webkit.org/show_bug.cgi?id=111576

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

Add a custom ace editor build that supports setFixedGutterWidth configuration
parameter and switch this setting on.

No new tests.

* inspector/front-end/AceTextEditor.js:
(WebInspector.AceTextEditor): Switch fixedGutterWidth setting on.
* inspector/front-end/ace/ace.js:
(.):

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

7 years agoUnreviewed, rolling out r145059.
commit-queue@webkit.org [Thu, 7 Mar 2013 11:49:33 +0000 (11:49 +0000)]
Unreviewed, rolling out r145059.
http://trac.webkit.org/changeset/145059
https://bugs.webkit.org/show_bug.cgi?id=111707

crash webkit build (Requested by tasak on #webkit).

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

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/DocumentRuleSets.cpp:
(WebCore::ShadowDistributedRules::collectMatchRequests):
* css/DocumentRuleSets.h:
* css/ElementRuleCollector.cpp: Removed.
* css/ElementRuleCollector.h: Removed.
* css/PageRuleCollector.cpp: Removed.
* css/PageRuleCollector.h: Removed.
* css/StyleResolver.cpp:
(WebCore::leftToRightDeclaration):
(WebCore):
(WebCore::rightToLeftDeclaration):
(WebCore::StyleResolver::State::ensureRuleList):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::addMatchedProperties):
(WebCore::StyleResolver::addElementStyleProperties):
(MatchingUARulesScope):
(WebCore::MatchingUARulesScope::MatchingUARulesScope):
(WebCore::MatchingUARulesScope::~MatchingUARulesScope):
(WebCore::MatchingUARulesScope::isMatchingUARules):
(WebCore::StyleResolver::collectMatchingRules):
(WebCore::StyleResolver::collectMatchingRulesForRegion):
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::matchScopedAuthorRules):
(WebCore::StyleResolver::matchHostRules):
(WebCore::StyleResolver::matchAuthorRules):
(WebCore::StyleResolver::matchUserRules):
(WebCore::StyleResolver::matchUARules):
(WebCore::StyleResolver::collectMatchingRulesForList):
(WebCore::compareRules):
(WebCore::StyleResolver::sortMatchedRules):
(WebCore::StyleResolver::matchAllRules):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::ruleMatches):
(WebCore::StyleResolver::checkRegionSelector):
(WebCore::comparePageRules):
(WebCore::StyleResolver::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::StyleResolver::matchPageRulesForList):
(WebCore::StyleResolver::isLeftPage):
(WebCore::StyleResolver::isFirstPage):
(WebCore::StyleResolver::pageName):
* css/StyleResolver.h:
(WebCore::MatchRequest::MatchRequest):
(MatchRequest):
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
(State):
(WebCore::StyleResolver::State::takeRuleList):
(WebCore::StyleResolver::State::setSameOriginOnly):
(WebCore::StyleResolver::State::isSameOriginOnly):
(WebCore::StyleResolver::State::pseudoStyleRequest):
(WebCore::StyleResolver::State::setMode):
(WebCore::StyleResolver::State::mode):
(WebCore::StyleResolver::State::matchedRules):
(WebCore::StyleResolver::State::addMatchedRule):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

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

7 years agoUnreviewed. Rebaselined run-bindings-tests.
haraken@chromium.org [Thu, 7 Mar 2013 11:43:54 +0000 (11:43 +0000)]
Unreviewed. Rebaselined run-bindings-tests.

* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):

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

7 years ago[Refactoring] Implement RuleCollector
tasak@google.com [Thu, 7 Mar 2013 11:19:30 +0000 (11:19 +0000)]
[Refactoring] Implement RuleCollector
https://bugs.webkit.org/show_bug.cgi?id=109916

Reviewed by Antti Koivisto.

Implemented rule collector for an element and collector for a page.
Not all members in class State are required entire while resolving
a style.

No new tests, because just refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
Added ElementRuleCollector and PageRuleCollector.
* css/DocumentRuleSets.cpp:
(WebCore::ShadowDistributedRules::collectMatchRequests):
Since behaviorAtBoundary is a state owned by ElementRuleCollector,
removed from here.
* css/DocumentRuleSets.h:
(WebCore::ShadowDistributedRules::isEmpty):
Added to quickly check whether there exist any ShadowDistributedRules
or not.
* css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore):
(WebCore::ElementRuleCollector::matchedResult):
(WebCore::ElementRuleCollector::matchedRuleList):
(WebCore::ElementRuleCollector::addMatchedRule):
(WebCore::ElementRuleCollector::clearMatchedRules):
(WebCore::ElementRuleCollector::ensureRuleList):
(WebCore::ElementRuleCollector::addElementStyleProperties):
(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
(WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
(WebCore::ElementRuleCollector::matchScopedAuthorRules):
(WebCore::ElementRuleCollector::matchHostRules):
(WebCore::ElementRuleCollector::matchShadowDistributedRules):
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::matchUARules):
(WebCore::ElementRuleCollector::ruleMatches):
(WebCore::ElementRuleCollector::collectMatchingRulesForList):
(WebCore::ElementRuleCollector::sortMatchedRules):
(WebCore::ElementRuleCollector::matchAllRules):
Moved these methods from StyleResolver to this class.
(WebCore::ElementRuleCollector::hasAnyMatchingRules):
This method is used for checking whether a given element can share
a cache.
* css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::ElementRuleCollector::ElementRuleCollector):
Use styleResolver instance to initialize its member variables, i.e.
SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
StyleScopedResolver.
(ElementRuleCollector):
(WebCore::ElementRuleCollector::setMode):
(WebCore::ElementRuleCollector::setPseudoStyleRequest):
(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling):
Mode, SameOriginOnly, RegionForStyling are only used while collecting
matched rules.
(WebCore::ElementRuleCollector::setMedium):
Need to know which default stylesheet should be looked up.
(WebCore::ElementRuleCollector::document):
* css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
(WebCore::comparePageRules):
(WebCore::PageRuleCollector::isLeftPage):
(WebCore::PageRuleCollector::isFirstPage):
(WebCore::PageRuleCollector::pageName):
(WebCore::PageRuleCollector::matchAllPageRules):
(WebCore::PageRuleCollector::matchPageRules):
(WebCore::checkPageSelectorComponents):
(WebCore::PageRuleCollector::matchPageRulesForList):
Moved from StyleResolver.
* css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
(WebCore):
(WebCore::PageRuleCollector::PageRuleCollector):
(PageRuleCollector):
(WebCore::PageRuleCollector::matchedResult):
* css/StyleResolver.cpp:
(WebCore):
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::MatchResult::addMatchedProperties):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::pseudoStyleRulesForElement):
(WebCore::StyleResolver::applyMatchedProperties):
* css/StyleResolver.h:
(WebCore::MatchRequest::MatchRequest):
Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
state.
(MatchRequest):
(WebCore::StyleResolver::selectorFilter):
Added to obtain SelectorFilter in ElementRuleCollector's constructor.
(StyleResolver):
(MatchResult):
(WebCore::StyleResolver::State::State):
To pass ASSERT in StyleResolver::applyProperties, need to keep
m_regionForStyling.
(State):
(WebCore::StyleResolver::State::regionForStyling):
(WebCore::StyleResolver::State::useSVGZoomRules):
(WebCore::StyleResolver::hasSelectorForId):
(WebCore):
(WebCore::checkRegionSelector):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::willMatchRule):
Removed StyleResolver from its parameter list. Instead, added
InspectorCSSOMWrappers and DocumentStyleSheetCollection.
* inspector/InspectorCSSAgent.h:
(WebCore):
(InspectorCSSAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::willMatchRuleImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::willMatchRule):

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

7 years agoWeb Inspector: [ACE] add experimental breakpoint support
commit-queue@webkit.org [Thu, 7 Mar 2013 10:41:25 +0000 (10:41 +0000)]
Web Inspector: [ACE] add experimental breakpoint support
https://bugs.webkit.org/show_bug.cgi?id=111573

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-07
Reviewed by Pavel Feldman.

No new tests.

- Implement attributes model for ace editor. Update attribute
locations by handling onTextChange event from editor.
- Implement breakpoints atop of attributes model.

* inspector/front-end/AceTextEditor.js:
(WebInspector.AceTextEditor):
(WebInspector.AceTextEditor.prototype._updateBreakpoints):
(WebInspector.AceTextEditor.prototype._updateLineAttributes):
(WebInspector.AceTextEditor.prototype._onTextChange):
(WebInspector.AceTextEditor.prototype.addBreakpoint):
(WebInspector.AceTextEditor.prototype.removeBreakpoint):
(WebInspector.AceTextEditor.prototype.getAttribute):
(WebInspector.AceTextEditor.prototype.setAttribute):
(WebInspector.AceTextEditor.prototype.removeAttribute):
* inspector/front-end/ace/acedevtools.css:
(.ace-editor-container):
(.ace_gutter-cell.webkit-breakpoint):
(.ace_gutter-cell.webkit-breakpoint-conditional):
(.ace_gutter-cell.webkit-breakpoint-disabled):
(.ace_gutter-cell):

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

7 years agoWeb Inspector: identify layers for CSS generated content in LayerTreeAgent
graouts@apple.com [Thu, 7 Mar 2013 10:39:15 +0000 (10:39 +0000)]
Web Inspector: identify layers for CSS generated content in LayerTreeAgent
https://bugs.webkit.org/show_bug.cgi?id=111551

Source/WebCore:

Layers can be associated with pseudo elements, elements that are generated
when ::before or ::after pseudo-classes are used to style an element and
provide additional rendering using the CSS "content" property. In order to
identify that a layer is associated to a pseudo element, we add a new set of
optional properties on the Layer object: "isGeneratedContent", "pseudoElementId"
and "pseudoClass".

We need to provide the "pseudoElementId" for the same reason we provide a
"nodeId" for the Layer. This is so that the front-end can identify that a
layer whose "layerId" may have changed between two layer tree updates is
used to render content for the same pseudo element.

In the instance that a layer is rendering generated content, we also set
the "nodeId" to be the generating node's id. The generating node is the
node in the DOM that the user styled using ::before or ::after pseudo-classes.
We also add the pseudo-class used as the "pseudoClass" property such that the
front-end may provide useful information to the user about what type of
pseudo-class yielded the generation of this layer. We also deal with the
possibility that the layer is a reflection for a pseudo element.

Since pseudo elements are not part of the user-visible DOM, and thus can't be
pushed to the front-end, we maintain a special ID hash map in the LayerTreeAgent.
In order to be able to unbind a pseudo element id and a pseudo element, we add a
destructor method to PseudoElement and provide a new instrumentation call so that
the LayerTreeAgent may be notified of a PseudoElement being destroyed. This
reflects the principle we use to update the RenderLayer bindings when a
RenderLayer is destroyed, as notified by the RenderLayerCompositor.

Reviewed by Simon Fraser.

Test: inspector-protocol/layers/layers-generated-content.html

* dom/PseudoElement.cpp:
(WebCore::PseudoElement::~PseudoElement): New destructor used to notify
InspectorInstrumentation of a PseudoElement being destroyed, such that
it can eventually be relayed to the InspectorLayerTreeAgent.
(WebCore):
* dom/PseudoElement.h:
(PseudoElement):
* inspector/Inspector.json: Add the new PseudoElementId type used for
the new "pseudoElementId" property on Layer, to which we also add the
"isGeneratedContent" and "pseudoClass" properties.
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::pseudoElementDestroyed): New method
called in the PseudoElement destructor used to relay the fact that a
PseudoElement was destroyed to the InspectorLayerTreeAgent.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::reset): Clear the new PseudoElement
identifier maps.
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed): Remove any
identifier binding for the provided PseudoElement being destroyed.
(WebCore):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer): Set the new
"isGeneratedContent", "pseudoElementId" and "pseudoClass" properties on
the Layer object for layers associated with a pseudo element.
(WebCore::InspectorLayerTreeAgent::bind): Use emptyString() instead of "".
(WebCore::InspectorLayerTreeAgent::unbind): Use an iterator instead of a
get() and remove() combination in order to reduce lookups and mimick the
code written for unbindPseudoElement().
(WebCore::InspectorLayerTreeAgent::bindPseudoElement): Binds the provided
PseudoElement to a unique identifier.
(WebCore::InspectorLayerTreeAgent::unbindPseudoElement): Unbinds the
provided PseudoElement from its unique identifier.
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

New tests for layers associated with pseudo elements.

Reviewed by Simon Fraser.

* inspector-protocol/layers/layers-generated-content-expected.txt: Added.
* inspector-protocol/layers/layers-generated-content.html: Added.

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

7 years ago[Qt] Unreviewed gardneing. Skipped some failing tests.
kadam@inf.u-szeged.hu [Thu, 7 Mar 2013 10:08:03 +0000 (10:08 +0000)]
[Qt] Unreviewed gardneing. Skipped some failing tests.

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoAdd clear button to date/time input types
keishi@webkit.org [Thu, 7 Mar 2013 10:06:19 +0000 (10:06 +0000)]
Add clear button to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=111319

Reviewed by Kent Tamura.

Source/WebCore:

We want to remove the clear button from the calendar picker (Bug 109439)
so we are adding the clear button to the right side of the input element.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html
       fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html

* CMakeLists.txt: Added ClearButtonElement.cpp
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/html.css:
(input::-webkit-clear-button): Styles for the clear button.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::editControlValueChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::~BaseMultipleFieldsDateAndTimeInputType):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::createShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::destroyShadowSubtree):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::disabledAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::requiredAttributeChanged): Hide clear button if the value is required.
(WebCore):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::readonlyAttributeChanged):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::focusAndSelectClearButtonOwner): Called on mouse down on clear button.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldClearButtonRespondToMouseEvents):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::clearValue):
(WebCore::BaseMultipleFieldsDateAndTimeInputType::updateClearButtonVisibility): We want to hide the clear button if the value is required or the value is empty.
* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateClearButtonVisibility):
(WebCore):
(WebCore::HTMLInputElement::requiredAttributeChanged):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore::InputType::requiredAttributeChanged): Notifies the InputType that the required attribute has changed.
(WebCore):
(WebCore::InputType::updateClearButtonVisibility):
* html/InputType.h:
(InputType):
* html/shadow/ClearButtonElement.cpp: Added.
(WebCore):
(WebCore::ClearButtonElement::ClearButtonElement):
(WebCore::ClearButtonElement::create):
(WebCore::ClearButtonElement::detach):
(WebCore::ClearButtonElement::releaseCapture): Stop capturing mouse events.
(WebCore::ClearButtonElement::defaultEventHandler):
* html/shadow/ClearButtonElement.h: Added.
(WebCore):
(ClearButtonElement):
(ClearButtonOwner):
(WebCore::ClearButtonElement::ClearButtonOwner::~ClearButtonOwner):
(WebCore::ClearButtonElement::removeClearButtonOwner):
(WebCore::ClearButtonElement::isMouseFocusable):

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events-expected.txt:
* fast/forms/date-multiple-fields/date-multiple-fields-mouse-events.html:
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt:
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html:
* fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/month-multiple-fields/month-multiple-fields-mouse-events-expected.txt:
* fast/forms/month-multiple-fields/month-multiple-fields-mouse-events.html:
* fast/forms/resources/common-clearbutton-change-and-input-events.js: Added.
(.testInput.onchange):
(.testInput.oninput):
(testClearButtonChangeAndInputEvents):
* fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-mouse-events.html:
* fast/forms/time-multiple-fields/time-multiple-fields-narrow-width-scroll.html:
* fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events-expected.txt: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-clearbutton-change-and-input-events.html: Added.
* fast/forms/week-multiple-fields/week-multiple-fields-mouse-events-expected.txt:
* fast/forms/week-multiple-fields/week-multiple-fields-mouse-events.html:
* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: Refactorings: Prepare SuggestBox for reuse.
eustas@chromium.org [Thu, 7 Mar 2013 09:49:44 +0000 (09:49 +0000)]
Web Inspector: Refactorings: Prepare SuggestBox for reuse.
https://bugs.webkit.org/show_bug.cgi?id=111301

Reviewed by Alexander Pavlov.

1) Remove userEnteredText from delegate interface.
   Pass prefix to updateSuggestions instead.
2) Clarify that suggestions array is never null.

* inspector/front-end/SuggestBox.js:
(WebInspector.SuggestBox): Renamed parameter/member.
(WebInspector.SuggestBox.prototype._updateItems):
Minor readability changes.
(WebInspector.SuggestBox.prototype._canShowBox):
Use userEnteredText parameter.
(WebInspector.SuggestBox.prototype.updateSuggestions):
Pass userEnteredText to _canShowBox.
* inspector/front-end/DatabaseQueryView.js: Fix JSDocs.
* inspector/front-end/RuntimeModel.js: Ditto.
* inspector/front-end/TextPrompt.js: Ditto.
(WebInspector.TextPrompt.prototype._completionsReady):
Pass userEnteredText to updateSuggestions.

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

7 years agoTextTrackRegion Constructor
vcarbune@chromium.org [Thu, 7 Mar 2013 09:29:10 +0000 (09:29 +0000)]
TextTrackRegion Constructor
https://bugs.webkit.org/show_bug.cgi?id=110511

Reviewed by Adam Barth.

Source/WebCore:

This is an initial patch for implementing the TextTrackRegion
defined in the "WebVTT Extension: Regions for rendering cue groups":
https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/region.html

The feature components are hidden behind the WEBVTT_REGIONS flag
and is currently disabled by default in all ports and tests skipped.

Test: media/track/regions-webvtt/text-track-region-constructor.html

* WebCore.gypi: Added files to be included for building Chromium with
feature enabled (it is disabled by default).
* html/track/TextTrackRegion.cpp: Added.
(WebCore):
(WebCore::TextTrackRegion::TextTrackRegion):
(WebCore::TextTrackRegion::~TextTrackRegion):
(WebCore::TextTrackRegion::setId): Setter.
(WebCore::TextTrackRegion::setWidth): Setter.
(WebCore::TextTrackRegion::setHeight): Setter.
(WebCore::TextTrackRegion::setRegionAnchorX): Setter.
(WebCore::TextTrackRegion::setRegionAnchorY): Setter.
(WebCore::TextTrackRegion::setViewportAnchorX): Setter.
(WebCore::TextTrackRegion::setViewportAnchorY): Setter.
(WebCore::TextTrackRegion::scroll): Getter. Internally, the scroll
value is stored as a boolean, but when returned is converted to either
the empty string or "up".
(WebCore::TextTrackRegion::setScroll): Setter.
(WebCore::TextTrackRegion::setRegionSettings): Not used yet (see b/109818)
* html/track/TextTrackRegion.h: Added.
(WebCore):
(TextTrackRegion):
(WebCore::TextTrackRegion::create):
(WebCore::TextTrackRegion::track): Getter.
(WebCore::TextTrackRegion::id): Getter.
(WebCore::TextTrackRegion::width): Getter.
(WebCore::TextTrackRegion::height): Getter.
(WebCore::TextTrackRegion::regionAnchorX): Getter.
(WebCore::TextTrackRegion::regionAnchorY): Getter.
(WebCore::TextTrackRegion::viewportAnchorX): Getter.
(WebCore::TextTrackRegion::viewportAnchorY): Getter.
(WebCore::TextTrackRegion::regionSettings): Getter, used only internally (see b/109818).
* html/track/TextTrackRegion.idl: Added.
* page/DOMWindow.idl: Constructor support.

LayoutTests:

* TestExpectations:
* media/track/regions-webvtt/text-track-region-constructor-expected.txt: Added.
* media/track/regions-webvtt/text-track-region-constructor.html: Added.

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

7 years agoConvertThis should be turned into Identity based on predictions in Fixup, rather...
fpizlo@apple.com [Thu, 7 Mar 2013 09:04:57 +0000 (09:04 +0000)]
ConvertThis should be turned into Identity based on predictions in Fixup, rather than based on proofs in ConstantFolding
https://bugs.webkit.org/show_bug.cgi?id=111674

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This gets rid of the speculated forms of ConvertThis in the backend, and has Fixup
convert them to either Identity(Object:@child) if the child is predicted object, or
Phantom(Other:@child) ; WeakJSConstant(global this object) if it's predicted Other.

The goal of this is to ensure that the optimization fixpoint doesn't create
Identity's, since doing so requires a rerun of CSE. So far this isn't a speed-up
but I'm hoping this will be a step towards reducing the need to rerun the fixpoint
so as to ultimately reduce compile times.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::executeEffects):
* dfg/DFGAssemblyHelpers.h:
(AssemblyHelpers):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(FixupPhase):
(JSC::DFG::FixupPhase::observeUseKindOnNode):
(JSC::DFG::FixupPhase::setUseKindAndUnboxIfProfitable):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::globalThisObjectFor):
(Graph):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::convertToIdentity):
(JSC::DFG::Node::convertToWeakConstant):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

Reviewed by Oliver Hunt.

* fast/js/dfg-convert-this-object-then-exit-on-other-expected.txt: Added.
* fast/js/dfg-convert-this-object-then-exit-on-other.html: Added.
* fast/js/dfg-convert-this-other-then-exit-on-object-expected.txt: Added.
* fast/js/dfg-convert-this-other-then-exit-on-object.html: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other-expected.txt: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-other.html: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string-expected.txt: Added.
* fast/js/dfg-convert-this-polymorphic-object-then-exit-on-string.html: Added.
* fast/js/jsc-test-list:
* fast/js/script-tests/dfg-convert-this-object-then-exit-on-other.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-other-then-exit-on-object.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-other.js: Added.
(foo):
* fast/js/script-tests/dfg-convert-this-polymorphic-object-then-exit-on-string.js: Added.
(foo):

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 08:52:51 +0000 (08:52 +0000)]
Unreviewed gardening.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:

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

7 years ago[v8] remove latin-1 transition flag
commit-queue@webkit.org [Thu, 7 Mar 2013 08:51:42 +0000 (08:51 +0000)]
[v8] remove latin-1 transition flag
https://bugs.webkit.org/show_bug.cgi?id=111692

Patch by Dan Carney <dcarney@google.com> on 2013-03-07
Reviewed by Jochen Eisinger.

No new tests. No change in functionality.

* bindings/v8/V8ValueCache.cpp:
(WebCore::makeExternalString):

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

7 years agoWeb Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
vsevik@chromium.org [Thu, 7 Mar 2013 08:27:14 +0000 (08:27 +0000)]
Web Inspector: NavigatorView should show (program) for uiSourceCodes with empty name.
https://bugs.webkit.org/show_bug.cgi?id=111691

Reviewed by Alexander Pavlov.

Source/WebCore:

Made String.prototype methods return string literal, not String object.

* inspector/front-end/utilities.js:
(String.prototype.escapeCharacters):

LayoutTests:

* inspector/debugger/navigator-view-expected.txt:
* inspector/debugger/navigator-view.html:

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

7 years agoChildren method in LLINT AST Not class should return [@child]
commit-queue@webkit.org [Thu, 7 Mar 2013 08:18:45 +0000 (08:18 +0000)]
Children method in LLINT AST Not class should return [@child]
https://bugs.webkit.org/show_bug.cgi?id=90740

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2013-03-07
Reviewed by Filip Pizlo.

* offlineasm/ast.rb: Fixed the return value of the children method in the Not AST class.

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

7 years ago[chromium] expose UserGestureToken via WebKit API so PPAPI plugins can correctly...
jochen@chromium.org [Thu, 7 Mar 2013 08:12:31 +0000 (08:12 +0000)]
[chromium] expose UserGestureToken via WebKit API so PPAPI plugins can correctly consume it
https://bugs.webkit.org/show_bug.cgi?id=104268

Reviewed by Darin Fisher.

Currently, the PPAPI creates a WebScopedUserGesture up to 10 seconds
after a call with an currently active user gesture was made. It should
use the newly added WebUserGestureToken to make sure this user gesture
is not consumed multiple times.

We can't require a WebUserGestureToken for a WebScopedUserGesture, since
e.g. the extension API needs to be able to create a WebScopedUserGesture
out of the blue.

* WebKit.gyp:
* WebKit.gypi:
* public/WebScopedUserGesture.h:
(WebKit):
(WebKit::WebScopedUserGesture::WebScopedUserGesture):
(WebScopedUserGesture):
* public/WebUserGestureIndicator.h:
(WebKit):
(WebUserGestureIndicator):
* public/WebUserGestureToken.h: Copied from Source/WebKit/chromium/public/WebScopedUserGesture.h.
(WebCore):
(WebKit):
(WebUserGestureToken):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator=):
(WebKit::WebUserGestureToken::~WebUserGestureToken):
(WebKit::WebUserGestureToken::isNull):
* src/WebScopedUserGesture.cpp:
(WebKit::WebScopedUserGesture::initializeWithToken):
(WebKit):
* src/WebUserGestureIndicator.cpp:
(WebKit::WebUserGestureIndicator::currentUserGestureToken):
(WebKit):
* src/WebUserGestureToken.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.
(WebKit):
(WebKit::WebUserGestureToken::WebUserGestureToken):
(WebKit::WebUserGestureToken::operator WebCore::UserGestureToken*):
(WebKit::WebUserGestureToken::assign):
(WebKit::WebUserGestureToken::reset):
* tests/WebUserGestureTokenTest.cpp: Copied from Source/WebKit/chromium/src/WebUserGestureIndicator.cpp.
(WebCore):
(WebCore::TEST):

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

7 years agoWeb Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
eustas@chromium.org [Thu, 7 Mar 2013 08:08:58 +0000 (08:08 +0000)]
Web Inspector: Cmd+L (Go-to-Line) masks Go to location bar action
https://bugs.webkit.org/show_bug.cgi?id=111357

Reviewed by Pavel Feldman.

Allow panel shortcut handlers to bubble event.

* inspector/front-end/GoToLineDialog.js:
(WebInspector.GoToLineDialog.install): Minor refactoring, added JSDocs.
(WebInspector.GoToLineDialog._show): Added JSDocs and return value.
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.handleShortcut):
Mark event as handled iff handler returned true.
* inspector/front-end/ScriptsPanel.js: Added return values to handlers.
* inspector/front-end/TimelinePanel.js: Ditto.

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

7 years agoBox-shadow displayed improperly with border-radius.
tasak@google.com [Thu, 7 Mar 2013 07:52:44 +0000 (07:52 +0000)]
Box-shadow displayed improperly with border-radius.
https://bugs.webkit.org/show_bug.cgi?id=111256

Reviewed by Simon Fraser.

Source/WebCore:

RoundedRect::adjustRadii doesn't adjust radii correctly, because
the method compares maxRadiusWidth with maxRadiusHeight. However,
we have to compare maxRadiusWidth / rect.width() with
maxRadiusHeight / rect.height().

Test: fast/borders/border-radius-with-box-shadow-01.html

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::adjustRadii):
Should check which ratio is smaller.

LayoutTests:

* fast/borders/border-radius-with-box-shadow-01-expected.txt: Added.
* fast/borders/border-radius-with-box-shadow-01.html: Added.
* platform/chromium-linux/fast/borders/border-radius-with-box-shadow-01-expected.png: Added.

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

7 years ago[V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
mkwst@chromium.org [Thu, 7 Mar 2013 07:49:06 +0000 (07:49 +0000)]
[V8] Preprocess constant values to avoid a "static_cast<signed int>" in CodeGeneratorV8.
https://bugs.webkit.org/show_bug.cgi?id=111625

Reviewed by Kentaro Hara.

When processing constants in IDL files, CodeGeneratorV8 currently runs
the values through 'static_cast<signed int>' in the generated code. We
can avoid this miniscule bit of overhead by preprocessing the hex value
in Perl when generating the code.

The FIXME has been in the code since it originally landed in 2009[1].
Now's as good a time as any to take care of it.

[1]: http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm?rev=144976#L2933

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
    If we're presented with a string which begins with '0x', run it
    through some fairly obtuse Perlisms to first convert from a hex
    string to an integer ('hex($value)'), "pack" the integer as an
    unsigned integer ('pack("I", ...)'), and then "unpack" it as a
    signed integer ('unpack("i", ...)'). Because that's _of course_
    how you would do things.

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

7 years ago SandboxExtension::createHandle raises an uncaught Objective-C exception if...
ap@apple.com [Thu, 7 Mar 2013 07:25:20 +0000 (07:25 +0000)]
    SandboxExtension::createHandle raises an uncaught Objective-C exception if path is empty
        https://bugs.webkit.org/show_bug.cgi?id=111689

        Reviewed by Filip Pizlo.

        * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::createHandle):
        Use a function from WebCore platform layer instead of Foundation one equivalent.
        We already do this elsewhere in this file.

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

7 years agoWebKit does not build without accelerated compositing after Changeset 144823
commit-queue@webkit.org [Thu, 7 Mar 2013 06:47:21 +0000 (06:47 +0000)]
WebKit does not build without accelerated compositing after Changeset 144823
https://bugs.webkit.org/show_bug.cgi?id=111597

Patch by Paweł Forysiuk <tuxator@o2.pl> on 2013-03-06
Reviewed by Kentaro Hara.

Properly guard functions ifdefed in ScrollingCoordinator.h.
Remove redundant checks and fallback code inside those functions.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
(WebCore):

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

7 years agoCustom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
morrita@google.com [Thu, 7 Mar 2013 06:32:27 +0000 (06:32 +0000)]
Custom Elements Refactoring: CustomElementConstructor API shouldn't bound to HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=111678

Reviewed by Kentaro Hara.

The latest Custom Elements standard supports non-HTML custom elements. Even though current implementation
support only HTML, it'd be better off to make API generic enough to support them.

This change

- eliminates HTMLElement from the API signature by replacing it with Element, and
- rename V8HTMLCustomElement to V8CustomElement.

No new tests, just changing signatures and a class name.

* WebCore.gypi:
* bindings/v8/V8CustomElement.cpp: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp.
(WebCore):
(WebCore::findWrapperTypeOf):
(WebCore::V8CustomElement::createWrapper):
* bindings/v8/V8CustomElement.h: Renamed from Source/WebCore/bindings/v8/V8HTMLCustomElement.h.
(WebCore):
(V8CustomElement):
(WebCore::V8CustomElement::toV8):
(WebCore::V8CustomElement::wrap):
(WebCore::HTMLCustomElement::wrap):
* bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
(WebCore::V8CustomElementConstructor::callAsFunctionCallback):
* dom/CustomElementConstructor.cpp:
(WebCore::CustomElementConstructor::createElement):
* dom/CustomElementConstructor.h:
(WebCore):
(CustomElementConstructor):
* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::constructorOf):
(WebCore::CustomElementRegistry::createElement):
* dom/CustomElementRegistry.h:
(WebCore):
(CustomElementRegistry):
* dom/Document.cpp: Ensured that the document is an HTML.
(WebCore::Document::registerElement):
* dom/Document.idl:
* dom/make_names.pl:
(printWrapperFactoryCppFile):
* html/HTMLDocument.idl: Moved an API to Document.idl

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

7 years ago[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:58:57 +0000 (05:58 +0000)]
[wk2] Page overlays shouldn't dirty the entire layer when flushing if the main frame can't scroll
https://bugs.webkit.org/show_bug.cgi?id=111662
<rdar://problem/13355808>

Reviewed by Simon Fraser.

Instead of setNeedsDisplay()ing the whole page overlay layer every time through
TCADA::flushLayers, do it at scroll time instead. Repainting on scroll is
necessary to keep things painted in the right place when we scroll (the overlay
is fixed to the size of the view), but is quite wasteful in apps that don’t scroll.

This works with threaded scrolling because overlay installation forces us
into main-thread scrolling mode.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

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

7 years agoTileCache debug minimap should fit inside the intersection of the visible rect and...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:55:29 +0000 (05:55 +0000)]
TileCache debug minimap should fit inside the intersection of the visible rect and exposed rect
https://bugs.webkit.org/show_bug.cgi?id=111655
<rdar://problem/13355773>

Reviewed by Simon Fraser.

If content clips to the exposed rect, make the TileCache minimap fit in the exposed rect too.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::updateTileCoverageMap):

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

7 years ago[wk2] Page overlays should use the accelerated drawing setting instead of hardcoding...
timothy_horton@apple.com [Thu, 7 Mar 2013 05:54:16 +0000 (05:54 +0000)]
[wk2] Page overlays should use the accelerated drawing setting instead of hardcoding it on
https://bugs.webkit.org/show_bug.cgi?id=111654
<rdar://problem/13364085>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):

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

7 years agoUnreviewed, rolling out r144726.
commit-queue@webkit.org [Thu, 7 Mar 2013 05:49:15 +0000 (05:49 +0000)]
Unreviewed, rolling out r144726.
http://trac.webkit.org/changeset/144726
https://bugs.webkit.org/show_bug.cgi?id=111681

caused performance regression for Dromaeo attribute tests.
(Requested by arpitab on #webkit).

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

Source/WebCore:

* dom/Element.h:
(WebCore::ElementData::getAttributeItemIndex):

LayoutTests:

* fast/dom/Element/getAttribute-case-insensitivity-expected.txt: Removed.
* fast/dom/Element/getAttribute-case-insensitivity.html: Removed.

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

7 years agoFile.lastModifiedDate() should return the current date/time if the file date/time...
kinuko@chromium.org [Thu, 7 Mar 2013 05:20:29 +0000 (05:20 +0000)]
File.lastModifiedDate() should return the current date/time if the file date/time is not available
https://bugs.webkit.org/show_bug.cgi?id=111403

Reviewed by Kent Tamura.

Source/WebCore:

Per the recent File API spec change:
http://www.w3.org/TR/2012/WD-FileAPI-20121025/#dfn-lastModifiedDate

Test: http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js:

* fileapi/File.cpp:
(WebCore::File::lastModifiedDate): Changed to return the current date/time instead null if the valid file date/time is not available.
* fileapi/File.h:
(File):

LayoutTests:

* http/tests/local/fileapi/file-last-modified-after-delete-expected.txt: Updated.
* http/tests/local/fileapi/script-tests/file-last-modified-after-delete.js: Updated.

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

7 years agoMake RuleData support up to 8191 selectors
commit-queue@webkit.org [Thu, 7 Mar 2013 04:54:39 +0000 (04:54 +0000)]
Make RuleData support up to 8191 selectors
https://bugs.webkit.org/show_bug.cgi?id=111663

Patch by Philippe Liard <pliard@chromium.org> on 2013-03-06
Reviewed by Andreas Kling.

r125294 made RuleData consume less memory by replacing a pointer with
an index encoded on 12 bits.
This unfortunately breaks Chrome for Android (and others) when a lot of
CSS is used or more precisely when selectorIndex cannot be stored on 12
bits.

Threfore this change decreases the number of bits used to store
m_position by 1 (from 19 to 18) and adds this extra bit to
m_selectorIndex so that values up to 8191 can be stored safely without
overflowing.

* css/RuleSet.h:
(RuleData):

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

7 years ago[chromium] Fix typo: destoryPage() => destroyPage()
commit-queue@webkit.org [Thu, 7 Mar 2013 04:47:51 +0000 (04:47 +0000)]
[chromium] Fix typo: destoryPage() => destroyPage()
https://bugs.webkit.org/show_bug.cgi?id=111664

Patch by David Dorwin <ddorwin@chromium.org> on 2013-03-06
Reviewed by Kentaro Hara.

* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::closeHelperPlugin):
(WebKit::WebHelperPluginImpl::destroyPage):
* src/WebHelperPluginImpl.h:
(WebHelperPluginImpl):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::destroyPage):
(WebKit::WebPagePopupImpl::close):
(WebKit::WebPagePopupImpl::closePopup):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):

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

7 years agoWeb Inspector: Remove unused code from contextmenu of element panel
commit-queue@webkit.org [Thu, 7 Mar 2013 04:47:29 +0000 (04:47 +0000)]
Web Inspector: Remove unused code from contextmenu of element panel
https://bugs.webkit.org/show_bug.cgi?id=111658

Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-03-06
Reviewed by Pavel Feldman.

No new tests (no functional changes).

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype._contextMenuEventFired.set get var):
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

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

7 years agoSource/WebKit: Unreviewed partial roll-out of r145003. Disable
jer.noble@apple.com [Thu, 7 Mar 2013 04:46:16 +0000 (04:46 +0000)]
Source/WebKit: Unreviewed partial roll-out of r145003. Disable
ENABLE_CURSOR_VISIBILITY on win.

* WebKit.vcxproj/FeatureDefines.props:

WebKitLibraries: Unreviewed roll-out of r145011.

* win/tools/vsprops/FeatureDefines.vsprops:

LayoutTests: Unreviewed gardening.

* platform/win/TestExpectations:

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

7 years ago[CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
jchaffraix@webkit.org [Thu, 7 Mar 2013 03:51:55 +0000 (03:51 +0000)]
[CSS Grid Layout] Extend our grammar to support 2 positions for grid-{row|column}
https://bugs.webkit.org/show_bug.cgi?id=110777

Reviewed by Tony Chang.

Source/WebCore:

Now that we support all the logical grid properties, we can change grid-{row|column}
into shorthands. That's what this change does along with extending our parsing support
to handle 2 positions.

Tests: fast/css-grid-layout/grid-item-column-row.html
       fast/css-grid-layout/grid-item-end-after-get-set.html
       fast/css-grid-layout/grid-item-start-before-get-set.html

* css/CSSComputedStyleDeclaration.cpp:
Removed grid-{row|column} from computedProperties as they are shorthands (see comments
at computedProperties definition).

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForGridShorthand):
Switched to using the StylePropertyShorthand and reusing the existing longhand code.

* css/CSSComputedStyleDeclaration.h:
Added getCSSPropertyValuesForGridShorthand.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridItemPositionShorthand):
Added custom parsing for the shorthand, that builds on top of the longhand code.

* css/CSSParser.h:
Added parseGridItemPositionShorthand.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
Removed the previous handling as shorthand are expanded at parse time.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
Added the new shorthands to the list.

* css/StylePropertyShorthand.cpp:
(WebCore::webkitGridColumnShorthand):
(WebCore::webkitGridRowShorthand):
(WebCore::shorthandForProperty):
* css/StylePropertyShorthand.h:
Registered grid-{row|column} as shorthands.

LayoutTests:

* fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
* fast/css-grid-layout/grid-item-column-row-get-set.html:
* fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
* fast/css-grid-layout/grid-item-end-after-get-set.html:
* fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
* fast/css-grid-layout/grid-item-start-before-get-set.html:
Extended the following test to ensure that grid-{row|column} are a
shortand for resp. grid-{before|after} and grid-{start|end}.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:
Removed grid-{row|column} as they are now shorthands so they don't appear
in the list of supported properties.

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

7 years agoDashboard cleanup: Move all dashboard ui related code into ui.js.
jparent@chromium.org [Thu, 7 Mar 2013 03:48:16 +0000 (03:48 +0000)]
Dashboard cleanup: Move all dashboard ui related code into ui.js.
https://bugs.webkit.org/show_bug.cgi?id=111621

Reviewed by Ojan Vafai.

Creates ui.js, a package for the common UI code the various
dashboards use. HTML generation is now in the ui.html namespace
and popup handling is in ui.popup.
Also moves the event listening for popups to ui.popup.show and
removes it on ui.popup.hid rather than having listener always
around.

* TestResultServer/static-dashboards/aggregate_results.html:
* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(showPopupForBuild):
(htmlForNavBar):
(generatePageForIndividualTests.if):
(generatePageForIndividualTests):
* TestResultServer/static-dashboards/flakiness_dashboard_embedded_unittests.js:
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
* TestResultServer/static-dashboards/run-embedded-unittests.html:
* TestResultServer/static-dashboards/run-unittests.html:
* TestResultServer/static-dashboards/timeline_explorer.html:
* TestResultServer/static-dashboards/treemap.html:
* TestResultServer/static-dashboards/ui.js: Added.
(.):

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

7 years ago[Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
kbr@google.com [Thu, 7 Mar 2013 03:46:27 +0000 (03:46 +0000)]
[Chromium] Fix byte ordering bugs reading back WebGL canvases' content on Android
https://bugs.webkit.org/show_bug.cgi?id=111661

Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
    Better documented contract of readBackFrameBuffer.

Source/WebCore:

No new tests; covered by existing tests. Ran WebGL conformance
tests on Android and desktop Linux to verify fix.

* platform/chromium/support/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
    Avoid incorrect byte swap on Android and other OSs which don't
    swizzle R and B channels.

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 03:43:11 +0000 (03:43 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fast/js/exception-sequencing-binops.html

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

7 years ago[EFL] Improve warning messages when input value is out of range.
gyuyoung.kim@samsung.com [Thu, 7 Mar 2013 03:32:17 +0000 (03:32 +0000)]
[EFL] Improve warning messages when input value is out of range.
https://bugs.webkit.org/show_bug.cgi?id=111534

Reviewed by Laszlo Gombos.

Show input value range when user inputs greater or less value.

* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageRangeUnderflowText):

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

7 years ago[EFL][WK2] Enable interactive form validation for email and url input type validation
gyuyoung.kim@samsung.com [Thu, 7 Mar 2013 03:25:33 +0000 (03:25 +0000)]
[EFL][WK2] Enable interactive form validation for email and url input type validation
https://bugs.webkit.org/show_bug.cgi?id=111026

Reviewed by Laszlo Gombos.

WebKit EFL can check if input value is valid by enabling this feature.

Source/WebCore:

* platform/efl/LocalizedStringsEfl.cpp: Change validation messages of email and url the same with chromium port.
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
* platform/efl/RenderThemeEfl.cpp: Add type checking conditions for email and url.
(WebCore::RenderThemeEfl::supportsDataListUI):

Source/WebKit2:

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):

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

7 years agoUnreviewed gardening.
hayato@chromium.org [Thu, 7 Mar 2013 03:22:08 +0000 (03:22 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: media/encrypted-media/encrypted-media-events.html

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

7 years agoBuild fix: PageAllocationAligned no longer has executable flag
rniwa@webkit.org [Thu, 7 Mar 2013 03:03:05 +0000 (03:03 +0000)]
Build fix: PageAllocationAligned no longer has executable flag
https://bugs.webkit.org/show_bug.cgi?id=111659

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2013-03-06
Reviewed by Kentaro Hara.

Build fix: use false as parameter to execution flag.

* wtf/PageAllocationAligned.cpp:
(WTF::PageAllocationAligned::allocate):

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

7 years agoRemove WebCore::Node::isActiveNode() since it isn't called anywhere.
acolwell@chromium.org [Thu, 7 Mar 2013 02:30:15 +0000 (02:30 +0000)]
Remove WebCore::Node::isActiveNode() since it isn't called anywhere.
https://bugs.webkit.org/show_bug.cgi?id=111646

Reviewed by Kentaro Hara.

No new tests. This removes dead code.

* dom/Node.h:
(Node):
* html/HTMLAudioElement.h:

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

7 years agoAtomicStringImpls are not safe to send between threads
eric@webkit.org [Thu, 7 Mar 2013 02:22:36 +0000 (02:22 +0000)]
AtomicStringImpls are not safe to send between threads
https://bugs.webkit.org/show_bug.cgi?id=111652

Reviewed by Benjamin Poulain.

We don't have this problem yet, but it's good to be safe.

* wtf/text/WTFString.cpp:
(WTF::String::isSafeToSendToAnotherThread):

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

7 years agoDon't give PageAllocationAligned the option to allocate executable memory
oliver@apple.com [Thu, 7 Mar 2013 02:14:37 +0000 (02:14 +0000)]
Don't give PageAllocationAligned the option to allocate executable memory
https://bugs.webkit.org/show_bug.cgi?id=111657

Reviewed by Geoffrey Garen.

* wtf/PageAllocationAligned.cpp:
(WTF::PageAllocationAligned::allocate):
* wtf/PageAllocationAligned.h:
(PageAllocationAligned):

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

7 years agoUnreviewed gardening AppleWin port.
roger_fong@apple.com [Thu, 7 Mar 2013 01:39:20 +0000 (01:39 +0000)]
Unreviewed gardening AppleWin port.

* platform/win/TestExpectations:
* platform/win/cssom: Removed.
* platform/win/cssom/cssvalue-comparison-expected.txt: Removed.

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

7 years ago[EFL] Missing implementation of AccessibilityControllerEfl and AccessibilityUIElement...
commit-queue@webkit.org [Thu, 7 Mar 2013 01:27:49 +0000 (01:27 +0000)]
[EFL] Missing implementation of AccessibilityControllerEfl and AccessibilityUIElementEfl files
https://bugs.webkit.org/show_bug.cgi?id=110584

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-03-06
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Adds support for help text in DumpRenderTree.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::accessibilityHelpText):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Adds missing implementation of AccessibilityControllerEfl
and AccessibilityUIElementEfl files. Modify DumpRenderTreeChrome
so that it can make accessibilityController as a js object.

* DumpRenderTree/AccessibilityController.h:
(AccessibilityController):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/atk/AccessibilityControllerAtk.cpp:
(AccessibilityController::childElementById): Moved declaration to base class.
Implementation can be shared among other ports.
* DumpRenderTree/efl/AccessibilityControllerEfl.cpp: Copied from Tools/DumpRenderTree/gtk/AccessibilityControllerGtk.cpp.
(AccessibilityController::focusedElement):
(AccessibilityController::rootElement):
(AccessibilityController::accessibleElementById):
* DumpRenderTree/efl/AccessibilityUIElementEfl.cpp: Copied from Tools/DumpRenderTree/atk/AccessibilityControllerAtk.cpp.
(AccessibilityUIElement::helpText):
* DumpRenderTree/efl/CMakeLists.txt:
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::DumpRenderTreeChrome):
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
(DumpRenderTreeChrome::onWindowObjectCleared):
(DumpRenderTreeChrome::accessibilityController):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):
* DumpRenderTree/gtk/AccessibilityControllerGtk.cpp:

LayoutTests:

Unskipping LayoutTests/accessibility folder.
Added failure tests. Skipping those with missing expected results.

* platform/efl-wk1/TestExpectations:

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

7 years agoCrash in SVGViewSpec::viewTarget
inferno@chromium.org [Thu, 7 Mar 2013 01:24:42 +0000 (01:24 +0000)]
Crash in SVGViewSpec::viewTarget
https://bugs.webkit.org/show_bug.cgi?id=111648

Reviewed by Philip Rogers.

* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewTarget):

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

7 years agoWebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
benjamin@webkit.org [Thu, 7 Mar 2013 01:17:41 +0000 (01:17 +0000)]
WebKitTestRunner needs layoutTestController.elementDoesAutoCompleteForElementWithId
https://bugs.webkit.org/show_bug.cgi?id=42696

Reviewed by Andreas Kling.

Source/WebCore:

Since the method acts directly on a WebCore element and strictly test
HTMLInputElement::shouldAutoComplete(), the test function is moved to internals.

* testing/Internals.cpp:
(WebCore::Internals::elementShouldAutoComplete):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

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

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Tools:

* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunnerQt):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:

LayoutTests:

* security/set-form-autocomplete-attribute.html: Update the test.
* platform/wk2/TestExpectations: Unskip it for WebKit2.

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

7 years agoUnreviewed build fix. Add ENABLE_CURSOR_VISIBILITY to the list of FEATURE_DEFINES for
jer.noble@apple.com [Thu, 7 Mar 2013 01:16:03 +0000 (01:16 +0000)]
Unreviewed build fix.  Add ENABLE_CURSOR_VISIBILITY to the list of FEATURE_DEFINES for
(non-Cairo) Windows builds.

* win/tools/vsprops/FeatureDefines.vsprops:

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

7 years agoREGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
dino@apple.com [Thu, 7 Mar 2013 01:15:54 +0000 (01:15 +0000)]
REGRESSION (r143931): set-cookie-on-redirect.html still breaking subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=111650

Unreviewed gardening.

* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 01:04:20 +0000 (01:04 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: platform/chromium/fast/events/intercept-postmessage.html

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

7 years agoREGRESSION (r144748-r144750): sputnik/Conformance/07_Lexical_Conventions/7.8_Literals...
dino@apple.com [Thu, 7 Mar 2013 00:58:55 +0000 (00:58 +0000)]
REGRESSION (r144748-r144750): sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A1.1_T2.html failing on Apple MountainLion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=111647

Unreviewed skip in test expectations for Mac.

* platform/mac/TestExpectations:

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

7 years ago [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing...
ap@apple.com [Thu, 7 Mar 2013 00:35:55 +0000 (00:35 +0000)]
    [Mac] Synthetic ResourceResponses cannot be sent over IPC without losing most information
        https://bugs.webkit.org/show_bug.cgi?id=111623

        Reviewed by Brady Eidson.

        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:
        (CoreIPC::::encode): Made the decision on whether to serialize WebCore data in
        ResourceResponse dynamic. If the platform data is out of date, we need both
        (because some platforms use encodePlatformData() to pass additional information).
        (CoreIPC::::decode): Decode platform data first, because this overwrites the ResourceResponse.

        * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData): Don't
        encode NSURLResponse if it's out of date. We may have a bad NSURLResponse with 0
        status code given to client, but it was almost certainly the same on sending side.
        WebCore doesn't mutate real responses - it either keeps them as is, or builds
        entirely synthetic ones.

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

7 years ago[chromium] Remove WebSharedGraphicsContext3D class
danakj@chromium.org [Thu, 7 Mar 2013 00:32:31 +0000 (00:32 +0000)]
[chromium] Remove WebSharedGraphicsContext3D class
https://bugs.webkit.org/show_bug.cgi?id=111492

Reviewed by James Robinson.

Source/Platform:

* Platform.gypi:
* chromium/public/WebSharedGraphicsContext3D.h: Removed.

Source/WebCore:

Removing dead code, no new tests.

* WebCore.gypi:
* platform/chromium/support/WebSharedGraphicsContext3D.cpp: Removed.

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

7 years agoUnreviewed gardening: rebaselines.
rafaelw@chromium.org [Thu, 7 Mar 2013 00:31:05 +0000 (00:31 +0000)]
Unreviewed gardening: rebaselines.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:
* platform/chromium-win/svg/custom/foreign-object-skew-expected.png:
* platform/chromium-win/svg/custom/foreign-object-skew-expected.txt:

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

7 years ago[chromium] Don't get callbacks or create GrContext from unowned WebGraphicsContext3D
danakj@chromium.org [Thu, 7 Mar 2013 00:29:35 +0000 (00:29 +0000)]
[chromium] Don't get callbacks or create GrContext from unowned WebGraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=111638

Reviewed by James Robinson.

If the context is not owned, it's lifetime is not guaranteed, and by the time
the GraphicsContext3D is destroyed, the WGC3D can already be deleted.

When the context is not owned by the GraphicsContext3D, then don't clean it up
in the destructor or set up callbacks, as these are the owner's responsibility.

* platform/chromium/support/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::grContext):
(WebCore::GraphicsContext3DPrivate::setContextLostCallback):
(WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):

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

7 years agoDefault mouse cursor behavior should be auto-hide for full screen video with custom...
jer.noble@apple.com [Thu, 7 Mar 2013 00:27:59 +0000 (00:27 +0000)]
Default mouse cursor behavior should be auto-hide for full screen video with custom controls
https://bugs.webkit.org/show_bug.cgi?id=107601

Reviewed by Beth Dakin.

Source/WebCore:

Test: fullscreen/video-cursor-auto-hide.html

To facilitate automatically hiding the mouse cursor after a certain amount of idle mouse
time, add a new CSS property '-webkit-cursor-visibility', and handle that value inside of
EventHandler. When that value is present, the EventHandler will start a timer which, when
fired, will set the view's cursor to the None cursor. Subsequent mouse moves will either
cancel the timer, or reset the auto-hide timer.

Add a new CSS property, '-webkit-cursor-visibility':
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ECursorVisibility):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

Add a rule for video descendants of full screen elements to auto-hide the cursor on hover:
* css/fullscreen.css:
(:-webkit-full-screen video:hover):

Add a new timer, m_autoHideCursorTimer, to control resetting the view's cursor to None after
enough mouse idle time has passed.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::~EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::startAutoHideCursorTimer):
(WebCore::EventHandler::cancelAutoHideCursorTimer):
(WebCore::EventHandler::autoHideCursorTimerFired):
* page/EventHandler.h:

Make FrameView::isActive() a public function (like it is in its superclass).
* page/FrameView.h:
(FrameView):

Move the definition for timeWithoutMouseMovementBeforeHidingControls from page->theme()
to page->settings() and allow that setting to be overridden in InternalSettings for
testing purposes:
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setTimeWithoutMouseMovementBeforeHidingControls):
(WebCore::Settings::timeWithoutMouseMovementBeforeHidingControls):
* rendering/RenderTheme.h:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:
* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::startHideFullscreenControlsTimer):

Add support to FeatureObserver for CURSOR_VISIBILITY:
* page/FeatureObserver.h:

Enable the feature flag:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Enable the CURSOR_VISIBILITY feature.

* WebKit.vcxproj/FeatureDefines.props:

Source/WebKit/mac:

Enable the CURSOR_VISIBILITY feature.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enable the CURSOR_VISIBILITY feature.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Enable the CURSOR_VISIBILITY feature.

* wtf/FeatureDefines.h:

LayoutTests:

* fullscreen/video-cursor-auto-hide-expected.txt: Added.
* fullscreen/video-cursor-auto-hide.html: Added.

Add an expected failing result in platforms which do not enable CURSOR_VISIBILITY.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

7 years ago[GTK] Return m_inspectorFilesPath if it is not null
commit-queue@webkit.org [Thu, 7 Mar 2013 00:27:51 +0000 (00:27 +0000)]
[GTK] Return m_inspectorFilesPath if it is not null
https://bugs.webkit.org/show_bug.cgi?id=111633

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-06
Reviewed by Martin Robinson.

Added missing return in InspectorClient::inspectorFilesPath().

* WebCoreSupport/InspectorClientGtk.cpp:
(WebKit::InspectorClient::inspectorFilesPath):

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

7 years agoFull screen from an iframe with a z-index style will allow siblings with higher z...
jer.noble@apple.com [Thu, 7 Mar 2013 00:26:01 +0000 (00:26 +0000)]
Full screen from an iframe with a z-index style will allow siblings with higher z-index to overlay full screen content.
https://bugs.webkit.org/show_bug.cgi?id=111637

Reviewed by Simon Fraser.

Source/WebCore:

No new tests; updated fullscreen/full-screen-iframe-zIndex.html to expose bug.

Pages with explicit z-index: styles on their iframes will override the default z-index: UA style when
elements within that iframe enter full screen mode. Mark the UA style as !important so as to not allow
iframe siblings with higher z-index styles to overlay the full screen element.

* css/fullscreen.css:
(:-webkit-full-screen):

LayoutTests:

* fullscreen/full-screen-iframe-zIndex.html:

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

7 years agoBring back eager resolution of function scoped variables
oliver@apple.com [Thu, 7 Mar 2013 00:25:20 +0000 (00:25 +0000)]
Bring back eager resolution of function scoped variables
https://bugs.webkit.org/show_bug.cgi?id=111497

Reviewed by Geoffrey Garen.

This reverts the get/put_scoped_var part of the great non-local
variable resolution refactoring.  This still leaves all the lazy
variable resolution logic as it's necessary for global property
resolution, and i don't want to make the patch bigger than it
already is.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC):
(UnlinkedFunctionExecutable):
(UnlinkedCodeBlock):
(JSC::UnlinkedCodeBlock::usesGlobalObject):
(JSC::UnlinkedCodeBlock::setGlobalObjectRegister):
(JSC::UnlinkedCodeBlock::globalObjectRegister):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::ResolveResult::checkValidity):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitLoadGlobalObject):
(JSC):
(JSC::BytecodeGenerator::resolve):
(JSC::BytecodeGenerator::resolveConstDecl):
(JSC::BytecodeGenerator::emitResolve):
(JSC::BytecodeGenerator::emitResolveBase):
(JSC::BytecodeGenerator::emitResolveBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithBaseForPut):
(JSC::BytecodeGenerator::emitResolveWithThis):
(JSC::BytecodeGenerator::emitGetStaticVar):
(JSC::BytecodeGenerator::emitPutStaticVar):
* bytecompiler/BytecodeGenerator.h:
(JSC::ResolveResult::lexicalResolve):
(JSC::ResolveResult::isStatic):
(JSC::ResolveResult::depth):
(JSC::ResolveResult::index):
(ResolveResult):
(JSC::ResolveResult::ResolveResult):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::ResolveNode::isPure):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::debugFail):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
(JIT):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_scoped_var):
(JSC):
(JSC::JIT::emit_op_put_scoped_var):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
* runtime/CodeCache.h:
(JSC):
(CodeCache):
* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
(JSC::FunctionExecutable::produceCodeBlockFor):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
* runtime/Options.cpp:
(JSC::Options::initialize):

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

7 years agoediting/pasteboard/paste-4035648-fix.html should be a dump-as-markup test
rniwa@webkit.org [Thu, 7 Mar 2013 00:24:06 +0000 (00:24 +0000)]
editing/pasteboard/paste-4035648-fix.html should be a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=111639

Reviewed by Levi Weintraub.

Converted the test. Also renamed it to line-feed-between-br-and-b-should-not-reorder-pasted-content.html
to reflect the semantics of the test, and also added more description per radar bug.

* editing/pasteboard/line-feed-between-br-and-b-should-not-reorder-pasted-content-expected.txt: Added.
* editing/pasteboard/line-feed-between-br-and-b-should-not-reorder-pasted-content.html: Copied from
LayoutTests/editing/pasteboard/paste-4035648-fix.html.
* editing/pasteboard/paste-4035648-fix.html: Removed.
* platform/chromium-linux/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/gtk/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-4035648-fix-expected.txt: Removed.

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Thu, 7 Mar 2013 00:14:38 +0000 (00:14 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: fast/dom/Window/window-special-properties.html

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

7 years agoRe-enable WinEWS test and decrease iterations before clean build back to 10.
roger_fong@apple.com [Thu, 7 Mar 2013 00:11:28 +0000 (00:11 +0000)]
Re-enable WinEWS test and decrease iterations before clean build back to 10.

* EWSTools/start-queue-win.sh:
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(WinEWS):

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

7 years agoASSERTION FAILED: m_tokenizer->state() == HTMLTokenizer::DataState
dino@apple.com [Thu, 7 Mar 2013 00:10:29 +0000 (00:10 +0000)]
ASSERTION FAILED: m_tokenizer->state() == HTMLTokenizer::DataState
https://bugs.webkit.org/show_bug.cgi?id=110546

Unreviewed change to test expectations while the above bug is open.

* platform/mac/TestExpectations:

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

7 years agoInsertUnorderedList can lead to lost content and assertions in moveParagraphs
leviw@chromium.org [Thu, 7 Mar 2013 00:07:02 +0000 (00:07 +0000)]
InsertUnorderedList can lead to lost content and assertions in moveParagraphs
https://bugs.webkit.org/show_bug.cgi?id=111228

Reviewed by Ryosuke Niwa.

Source/WebCore:

When a list is wrapped in a presentational inline like a b tag, we'd create markup that included
everything up to the b tag from moveParagraphs when intending to only move the contents of the
list item. This could make it impossible to remove content from a list and trigger loss of
editable text.

Test: editing/execCommand/insert-remove-block-list-inside-presentational-inline.html

* editing/EditingStyle.cpp:
(WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl): Ensure there's an inline style
before calling propertyExistsInStyle.
(WebCore::HTMLElementEquivalent::propertyExistsInStyle): Removing null check for style.
All callers ensure this value isn't null.
* editing/markup.cpp:
(WebCore::highestAncestorToWrapMarkup): Avoid going over RenderBlocks when finding the highest
presentational ancestor to avoid leaving the bounds of the original paragraph.

LayoutTests:

* editing/deleting/pruning-after-merge-1-expected.txt:
* editing/execCommand/insert-remove-block-list-inside-presentational-inline-expected.txt: Added.
* editing/execCommand/insert-remove-block-list-inside-presentational-inline.html: Added.
* editing/pasteboard/paste-and-sanitize-expected.txt:
* editing/pasteboard/paste-and-sanitize.html:

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

7 years ago[V8] Use implicit references instead of object groups to keep registered MutationObse...
adamk@chromium.org [Wed, 6 Mar 2013 23:56:27 +0000 (23:56 +0000)]
[V8] Use implicit references instead of object groups to keep registered MutationObservers alive
https://bugs.webkit.org/show_bug.cgi?id=111382

Reviewed by Adam Barth.

.:

* ManualTests/mutation-observer-leaks-nodes.html: Added.

Source/WebCore:

Two-phase approach to implicit references: after grouping objects
together, add an implicit reference between each registered node's
group and the MutationObserver's group (which includes wrappers from
all worlds).

Also changed many uses of v8::Value to v8::Object where we know we're
dealing with Object and the V8 API expects them.

Test: ManualTests/mutation-observer-leaks-nodes.html

* bindings/v8/V8GCController.cpp:
(WebCore::ImplicitConnection::ImplicitConnection):
(WebCore::ImplicitConnection::wrapper):
(ImplicitConnection):
(WebCore::ImplicitReference::ImplicitReference): Wrapper class holding a parent who should have an implicit reference to a child.
(ImplicitReference):
(WebCore::operator<): Needed for std::sort() call to avoid the overhead of using a HashMap
(WebCore::WrapperGrouper::addObjectWrapperToGroup):
(WebCore::WrapperGrouper::addNodeWrapperToGroup):
(WebCore::WrapperGrouper::addImplicitReference):
(WrapperGrouper):
(WebCore::WrapperGrouper::apply):

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

7 years agoUnreviewed, roll out http://trac.webkit.org/changeset/144989
fpizlo@apple.com [Wed, 6 Mar 2013 23:14:02 +0000 (23:14 +0000)]
Unreviewed, roll out trac.webkit.org/changeset/144989

I think we want the assertion that I removed.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::merge):
(JSC::DFG::AbstractState::mergeVariableBetweenBlocks):
* dfg/DFGAbstractState.h:
(AbstractState):

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

7 years agoBuild fix. Fixes problems building code that uses deprecated functions from GTK+ 2,
kov@webkit.org [Wed, 6 Mar 2013 23:08:35 +0000 (23:08 +0000)]
Build fix. Fixes problems building code that uses deprecated functions from GTK+ 2,
such as RenderThemeGtk2.cpp, in debug mode. RenderThemeGtk2.cpp tries to allow usage
of deprecated functions by undefining GTK_DISABLE_DEPRECATED, but it ended up being
redefined because autotoolsconfig.h was included again by headers that came after
config.h.

Reviewed by Martin Robinson.

* Source/autotools/SetupWebKitFeatures.m4: add checks to ensure the
autotoolsconfig.h header is only included once.

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

7 years agoDFG::AbstractState::merge() is still more complicated than it needs to be
fpizlo@apple.com [Wed, 6 Mar 2013 23:04:18 +0000 (23:04 +0000)]
DFG::AbstractState::merge() is still more complicated than it needs to be
https://bugs.webkit.org/show_bug.cgi?id=111619

Reviewed by Mark Hahnenberg.

This method is the one place where we still do some minimal amount of liveness pruning, but the style with
which it is written is awkward, and it makes an assertion about variablesAtTail that will be invalidated
by https://bugs.webkit.org/show_bug.cgi?id=111539.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::merge):
(JSC::DFG::AbstractState::mergeVariableBetweenBlocks):
* dfg/DFGAbstractState.h:
(AbstractState):

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

7 years agoSource/WebCore: Modify log method in V8DOMActivityLogger so that the apiName and
commit-queue@webkit.org [Wed, 6 Mar 2013 22:56:30 +0000 (22:56 +0000)]
Source/WebCore: Modify log method in V8DOMActivityLogger so that the apiName and
extraInfo arguments are of type const String& instead of const char*.
This change gets rid of some of the memory ownership issues that arise
with char* pointers.
https://bugs.webkit.org/show_bug.cgi?id=111483

Patch by Ankur Taly <ataly@google.com> on 2013-03-06
Reviewed by Adam Barth.

There are no new tests as there is no change in behavior.

* bindings/v8/V8DOMActivityLogger.h:
(WebCore::V8DOMActivityLogger::log):

Source/WebKit/chromium: Modify log method in WebDOMActivityLogger so that the apiName and
extraInfo arguments are of type const WebString& instead of const char*.
This change gets rid of some of the memory ownership issues that arise
with char* pointers.
https://bugs.webkit.org/show_bug.cgi?id=111483

Patch by Ankur Taly <ataly@google.com> on 2013-03-06
Reviewed by Adam Barth.

There are no new tests as there is no change in behavior.

* public/WebDOMActivityLogger.h: Added property svn:eol-style.
(WebKit::WebDOMActivityLogger::log):
* src/WebDOMActivityLogger.cpp: Added property svn:eol-style.
(WebKit::DOMActivityLoggerContainer::log):

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Wed, 6 Mar 2013 22:55:28 +0000 (22:55 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: compositing/rtl/..

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

7 years agoUnreviewed. Rolled Chromium DEPS to r186511. Requested by
commit-queue@webkit.org [Wed, 6 Mar 2013 22:52:53 +0000 (22:52 +0000)]
Unreviewed.  Rolled Chromium DEPS to r186511.  Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.

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

* DEPS:

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

7 years agoUnreviewed gardening of AppleWin port.
roger_fong@apple.com [Wed, 6 Mar 2013 22:44:05 +0000 (22:44 +0000)]
Unreviewed gardening of AppleWin port.

* platform/win/TestExpectations:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Wed, 6 Mar 2013 22:35:05 +0000 (22:35 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: svg/css/font-face-crash.html

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

7 years ago[GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of...
commit-queue@webkit.org [Wed, 6 Mar 2013 22:26:51 +0000 (22:26 +0000)]
[GTK][WK2] Implement WebInspector::localizedStringsURL() to return the file URL of localizedStrings.js
https://bugs.webkit.org/show_bug.cgi?id=111448

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-06
Reviewed by Alexey Proskuryakov.

Implement WebInspector::localizedStringsURL() method to return the
file URL of the localizedStrings.js.

This prevents printing warnings about "Localized string not found" in
the console.

* WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
(WebKit::WebInspector::localizedStringsURL):

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Wed, 6 Mar 2013 22:24:31 +0000 (22:24 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: svg/custom/foreign-object-skew.svg

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

7 years ago[chromium] |m_gestureScrollOnImplThread| is not reset to false following the end...
tdanderson@chromium.org [Wed, 6 Mar 2013 22:24:24 +0000 (22:24 +0000)]
[chromium] |m_gestureScrollOnImplThread| is not reset to false following the end of a fling on the fast path
https://bugs.webkit.org/show_bug.cgi?id=111390

Reviewed by James Robinson.

If there is a fast path gesture scroll which turns into a fling, the member
|m_gestureScrollOnImplThread| is not reset to false once the fling ends. As a
result, GestureScrollUpdate events belonging to a subsequent scroll are always
handled on the fast path, even if they should have been handled on the slow
path instead.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
* src/WebCompositorInputHandlerImpl.h:
(WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::isGestureScrollOnImplThread):
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebKit::TEST_F):
(WebKit):

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

7 years ago[BlackBerry] Selection handles don't drag to expand correctly for RTL languages
nghanavatian@rim.com [Wed, 6 Mar 2013 22:12:27 +0000 (22:12 +0000)]
[BlackBerry] Selection handles don't drag to expand correctly for RTL languages
https://bugs.webkit.org/show_bug.cgi?id=111618

Reviewed by Rob Buis.

PR 303712
If we are using a RTL language, we should ensure that the selection handles are angled the right way.
Further, when expanding the selection, the start and end handles should be appropriately set so that
expansion in the natural direction is possible.

Internally reviewed by Mike Fenton.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::SelectionHandler):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

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

7 years agoUse SkTypeface API directly, rather than (soon to be private) SkFontHost
reed@google.com [Wed, 6 Mar 2013 21:38:19 +0000 (21:38 +0000)]
Use SkTypeface API directly, rather than (soon to be private) SkFontHost
https://bugs.webkit.org/show_bug.cgi?id=111588

Reviewed by Stephen White.

No new tests, as existing tests in fast/writing-mode exercise this code.

e.g. japanese-rl-text-with-broken-font.html
     vertical-subst-font-vert-no-dflt.html

* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::emSizeInFontUnits):
(WebCore::FontPlatformData::openTypeTable):
* platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp:
(WebCore::harfBuzzSkiaGetTable):
(WebCore::HarfBuzzFace::createFace):
* platform/graphics/skia/SimpleFontDataSkia.cpp:
(WebCore::SimpleFontData::platformInit):

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

7 years ago[EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_chan...
commit-queue@webkit.org [Wed, 6 Mar 2013 21:35:22 +0000 (21:35 +0000)]
[EFL][WK2] REGRESSION(r143582): API test EWK2UnitTestBase.ewk_view_contents_size_changed failing
https://bugs.webkit.org/show_bug.cgi?id=110608

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2013-03-06
Reviewed by Kenneth Rohde Christiansen.

Test was expecting ContentsSizeChanged signal from ViewClientEfl, but
WebView was not calling client callback if useFixedLayout() is true.

This patch prevent early return if useFixedLayout() is true and call
client callback didChangeContentsSize(), which will emit the signal.

* UIProcess/efl/ViewClientEfl.cpp:
(WebKit::ViewClientEfl::didChangeContentsSize):
* UIProcess/efl/WebView.cpp:
(WebKit::WebView::didChangeContentsSize):

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

7 years agoSource/WebCore: Cleanup in multipart FormData sending code.
commit-queue@webkit.org [Wed, 6 Mar 2013 21:25:35 +0000 (21:25 +0000)]
Source/WebCore: Cleanup in multipart FormData sending code.
https://bugs.webkit.org/show_bug.cgi?id=111603

Patch by Victor Costan <costan@gmail.com> on 2013-03-06
Reviewed by Alexey Proskuryakov.

No new tests. This is cleanup.

* platform/network/FormDataBuilder.cpp:
(WebCore::appendQuotedString): use proper types (e.g, size_t instead of
unsigned long)

LayoutTests: Cleanup in multipart FormData tests.
https://bugs.webkit.org/show_bug.cgi?id=111603

Patch by Victor Costan <costan@gmail.com> on 2013-03-06
Reviewed by Alexey Proskuryakov.

* http/tests/local/formdata/resources/send-form-data-common.js:
(sendFormData): JavaScript style cleanup.
(testSendingFormData): JavaScript style, bugfix in checking if
eventSender.beginDragWithFiles needs to be called.
* http/tests/local/formdata/send-form-data-with-filename-expected.txt: Better test description.
* http/tests/local/formdata/send-form-data-with-filename.html: Better test description.

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

7 years agoDFG should not run full CSE after the optimization fixpoint, since it really just...
fpizlo@apple.com [Wed, 6 Mar 2013 21:23:39 +0000 (21:23 +0000)]
DFG should not run full CSE after the optimization fixpoint, since it really just wants store elimination
https://bugs.webkit.org/show_bug.cgi?id=111536

Reviewed by Oliver Hunt and Mark Hahnenberg.

The fixpoint will do aggressive load elimination and pure CSE. There's no need to do it after the fixpoint.
On the other hand, the fixpoint does not profit from doing store elimination (except for SetLocal/Flush).
Previously we had CSE do both, and had it avoid doing some store elimination during the fixpoint by querying
the fixpoint state. This changes CSE to be templated on mode - either NormalCSE or StoreElimination - so
that we explicitly put it into one of those modes depending on where we call it from. The goal is to reduce
time spent doing load elimination after the fixpoint, since that is just wasted cycles.

* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::CSEPhase):
(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::performBlockCSE):
(JSC::DFG::performCSE):
(DFG):
(JSC::DFG::performStoreElimination):
* dfg/DFGCSEPhase.h:
(DFG):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):

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

7 years agoThreaded HTML parser should use 8 bit strings for attributes
tonyg@chromium.org [Wed, 6 Mar 2013 21:21:48 +0000 (21:21 +0000)]
Threaded HTML parser should use 8 bit strings for attributes
https://bugs.webkit.org/show_bug.cgi?id=111610

Reviewed by Eric Seidel.

This fixes a 27% regression in dromaeo_jslibattrjquery on the threaded HTML parser vs. the main thread parser.

No new tests because no new functionality.

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

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

7 years agoMake fastmalloc use guardpages
oliver@apple.com [Wed, 6 Mar 2013 21:16:45 +0000 (21:16 +0000)]
Make fastmalloc use guardpages
https://bugs.webkit.org/show_bug.cgi?id=111353

Reviewed by Anders Carlsson.

Add PROT_NONE pages at the beginning and end of every
mmap call made by fastmalloc.

* wtf/TCSystemAlloc.cpp:
(TryMmap):

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

7 years ago[chromium] Express webkit_unit_tests' dependency on DumpRenderTree.pak in gyp
commit-queue@webkit.org [Wed, 6 Mar 2013 21:12:04 +0000 (21:12 +0000)]
[chromium] Express webkit_unit_tests' dependency on DumpRenderTree.pak in gyp
https://bugs.webkit.org/show_bug.cgi?id=111508

Patch by James Robinson <jamesr@chromium.org> on 2013-03-06
Reviewed by Dirk Pranke.

Some tests in webkit_unit_tests, for example WebPageSerializerTest.HTMLNodes, depend on localizable resources
from a pak file. Since unit tests initialize for testing with the same webkit_support functions as layout tests
they end up using DumpRenderTree.pak, but this dependency isn't listed explicitly in the gyp so if you manage to
run webkit_unit_tests without building DumpRenderTree first these tests just crash.

This adds a dependency from webkit_unit_tests to DumpRenderTree_resources so the pak is always built. It's a bit
weird for a gyp file in Source/WebKit/chromium/ to reach into Tools/DumpRenderTree, but I can't think of
anything better.

* WebKitUnitTests.gyp:

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

7 years ago[WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
commit-queue@webkit.org [Wed, 6 Mar 2013 21:09:34 +0000 (21:09 +0000)]
[WK2][GTK] Fix unit test WebKit2APITests/WebKitWebView/mouse-target
https://bugs.webkit.org/show_bug.cgi?id=82866

Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-03-06
Reviewed by Martin Robinson.

Source/WebKit2:

Test was failing because of new media controls needs more space to be
painted than just 10x10 pixels. This is similar to r144070.

* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(testWebViewMouseTarget): Modified HTML in order to give more space to the media controls.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Unflag WebKit2APITests/WebKitWebView/mouse-target test as
it is passing now.

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

7 years agoDashboard cleanup: remove dashboard time logging.
jparent@chromium.org [Wed, 6 Mar 2013 21:00:54 +0000 (21:00 +0000)]
Dashboard cleanup: remove dashboard time logging.
https://bugs.webkit.org/show_bug.cgi?id=111608

Reviewed by Dirk Pranke.

Remove logTime.  It was never accurate, and the dev tools
have better ways to measure this if anyone cares to look
into dashboard perf.

* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
(processTestRunsForBuilder):
(appendHTML):

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

7 years ago[chromium] making DumpRenderTree_resources a separate bundle breaks xcode
tony@chromium.org [Wed, 6 Mar 2013 20:45:35 +0000 (20:45 +0000)]
[chromium] making DumpRenderTree_resources a separate bundle breaks xcode
https://bugs.webkit.org/show_bug.cgi?id=111509

Reviewed by Dirk Pranke.

Add DumpRenderTree.pak to DumpRenderTree.app again.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:

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

7 years agoAdd a flaky crash test expectation to platform/mac/fast/speechsynthesis/speech-synthe...
rniwa@webkit.org [Wed, 6 Mar 2013 20:42:32 +0000 (20:42 +0000)]
Add a flaky crash test expectation to platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html
on Mac per 111613.

* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening.
rafaelw@chromium.org [Wed, 6 Mar 2013 20:31:03 +0000 (20:31 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations: animations/animation-delay-changed.html

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

7 years agofast/css/hover-update.html is flaky
tony@chromium.org [Wed, 6 Mar 2013 20:24:14 +0000 (20:24 +0000)]
fast/css/hover-update.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=111592

Reviewed by Ryosuke Niwa.

Speculative fix for a flaky test. The test sometimes fails on slower machines (mostly debug).
Re-check the results in a loop for up to 200ms to see if the :hover pseudo style applies.

Also force a layout after changing the style, which should also trigger the :hover style.

* fast/css/hover-update.html:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

7 years agoUnreviewed gardening: svg/custom/foreign-object-skew.svg
rafaelw@chromium.org [Wed, 6 Mar 2013 20:16:23 +0000 (20:16 +0000)]
Unreviewed gardening: svg/custom/foreign-object-skew.svg

* platform/chromium/TestExpectations:

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

7 years agoMore cleanup in GIFImageReader
hclam@chromium.org [Wed, 6 Mar 2013 20:09:06 +0000 (20:09 +0000)]
More cleanup in GIFImageReader
https://bugs.webkit.org/show_bug.cgi?id=111137

Reviewed by Stephen White.

Refactor GIFImageReaderReader with the following changes:
+ Separate GIFLZWContext for decoding states.
+ Replace unsigned char* with Vector<unsigned char>

There is no change in code behavior and just refactoring.

No new tests. This is covered by existing GIFImageReaderTest.
I also did a local testing on a 50k image corpus and showed no regression.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):
* platform/image-decoders/gif/GIFImageDecoder.h:
(GIFImageDecoder):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::outputRow):
(GIFImageReader::doLZW):
(GIFImageReader::decodeInternal):
(GIFImageReader::prepareLZWContext):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFLZWContext):
(GIFLZWContext::GIFLZWContext):
(GIFImageReader):

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

7 years ago[wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay...
timothy_horton@apple.com [Wed, 6 Mar 2013 20:05:33 +0000 (20:05 +0000)]
[wk2] Page Overlays: Hook up the layer border/repaint counter setting to the overlay layer
https://bugs.webkit.org/show_bug.cgi?id=111547
<rdar://problem/13355801>

Reviewed by Simon Fraser.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
Keep the page overlay layer's debug border and repaint counter settings updated.

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

7 years agoFix typo'd MainThreadScrollingBecauseOfStyleIndictaion
timothy_horton@apple.com [Wed, 6 Mar 2013 19:51:58 +0000 (19:51 +0000)]
Fix typo'd MainThreadScrollingBecauseOfStyleIndictaion
https://bugs.webkit.org/show_bug.cgi?id=111557

Reviewed by Geoff Garen.

* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::commitTreeState):
* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::updateTileCoverageMap):

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

7 years agoJoing the adoptNS/adoptCF/adoptRef club.
ggaren@apple.com [Wed, 6 Mar 2013 19:48:33 +0000 (19:48 +0000)]
Joing the adoptNS/adoptCF/adoptRef club.
https://bugs.webkit.org/show_bug.cgi?id=111467

Reviewed by Darin Adler.

Responding to review comments by Darin Adler.

* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Tighten up this code
by reducing extraneous local variables.

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

7 years agoPack Structure members better.
akling@apple.com [Wed, 6 Mar 2013 19:43:24 +0000 (19:43 +0000)]
Pack Structure members better.
<http://webkit.org/b/111593>
<rdar://problem/13359200>

Reviewed by Mark Hahnenberg.

Shrink Structure by 8 bytes (now at 104 bytes) on 64-bit by packing the members better.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
* runtime/Structure.h:
(Structure):

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

7 years agoediting/pasteboard/paste-table-cells.html should be a dump-as-markup test
rniwa@webkit.org [Wed, 6 Mar 2013 19:34:32 +0000 (19:34 +0000)]
editing/pasteboard/paste-table-cells.html should be a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=111491

Reviewed by Levi Weintraub.

Converted the test.

* editing/pasteboard/paste-table-cells-expected.txt: Added.
* editing/pasteboard/paste-table-cells.html:
* platform/chromium-linux/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/chromium-mac-lion/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/chromium-mac-snowleopard/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/chromium-mac/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/chromium-win/editing/pasteboard/paste-table-cells-expected.txt: Removed.
* platform/chromium/editing/pasteboard/paste-table-cells-expected.txt: Removed.
* platform/gtk/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/gtk/editing/pasteboard/paste-table-cells-expected.txt: Removed.
* platform/mac/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/mac/editing/pasteboard/paste-table-cells-expected.txt: Removed.
* platform/qt/editing/pasteboard/paste-table-cells-expected.png: Removed.
* platform/qt/editing/pasteboard/paste-table-cells-expected.txt: Removed.

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