[EFL] Compilation warning in DumpRenderTreeView.cpp
https://bugs.webkit.org/show_bug.cgi?id=87636

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-05-29
Reviewed by Filip Pizlo.

Source/WebKit/efl:

Fix return type of exceeded_application_cache_quota callback, it
should be int64_t, not uint64_t.

* ewk/ewk_view.h:

Tools:

Fix compilation error in DumpRenderTreeView.cpp due to wrong format
specifier in printf. Also fix the return type for
onExceededApplicationCacheQuota callback.

* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onExceededApplicationCacheQuota):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening after r118631. http/tests/appcache/load-from-appcache-defer-resume-crash.html
fails because of missing LayoutTestController::setUseDeferredFrameLoading implementation.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-05-29

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add WebKitWebInspector.h to the list of WebKit2 GTK public headers
https://bugs.webkit.org/show_bug.cgi?id=87703

Reviewed by Martin Robinson.

* GNUmakefile.list.am: Add WebKitWebInspector.h to webkit2gtk_h_api.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Add return value information to WebKitWebView::load-failed signal documentation
https://bugs.webkit.org/show_bug.cgi?id=87704

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r90971): the cursor is painted “behind” the placeholder text
https://bugs.webkit.org/show_bug.cgi?id=87155

Reviewed by Hajime Morita.

Source/WebCore:

This regression happened only on platforms on which
RenderTheme::shouldShowPlaceholderWhenFocused() returns true.

Because the order of renderers for the editable node and the placeholder
node was:
 - A renderer for the editable node
 - A renderer for the placeholder node,
The text caret was painted, then the palceholder was painted.

We should not use z-index in the built-in shadow nodes. So the patch
fixes this bug by re-ordering these renderers.

Tests: fast/forms/input-placeholder-paint-order-2.html
       fast/forms/input-placeholder-paint-order.html
       fast/forms/textarea/textarea-placeholder-paint-order-2.html
       fast/forms/textarea/textarea-placeholder-paint-order.html

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::fixPlaceholderRenderer):
Added. Reorder the order of renderers so that the placeholder renderer
precedes the inner text renderer.
* html/HTMLTextFormControlElement.h: Add fixPlaceholderRenderer() declaration.

* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::attach): Calls fixPlaceholderRenderer().
(WebCore::HTMLTextAreaElement::updatePlaceholderText):
ditto. Also, use innerTextElement() to improvde code readability.
* html/HTMLTextAreaElement.h:
(HTMLTextAreaElement): Overrides attach().

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::updatePlaceholderText):
Calls fixPlaceholderRenderer().
(WebCore::TextFieldInputType::attach): ditto.
* html/TextFieldInputType.h:
(TextFieldInputType): Overrides attach().

LayoutTests:

* fast/forms/input-placeholder-paint-order-2-expected.html: Added.
* fast/forms/input-placeholder-paint-order-2.html: Added.
* fast/forms/input-placeholder-paint-order.html: Added.
* fast/forms/textarea/textarea-placeholder-paint-order-2-expected.html: Added.
* fast/forms/textarea/textarea-placeholder-paint-order-2.html: Added.
* fast/forms/textarea/textarea-placeholder-paint-order.html: Added.
* platform/chromium-mac-snowleopard/fast/forms/input-placeholder-paint-order-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/input-placeholder-paint-order-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/forms/textarea/textarea-placeholder-paint-order-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/textarea/textarea-placeholder-paint-order-expected.txt: Added.
* platform/chromium/test_expectations.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Adjust expectations for fast/layers/clip-rects-assertion-expected.txt
https://bugs.webkit.org/show_bug.cgi?id=87671

Unreviewed gardening.
Test has been fixed by r118724, remove expectation.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SVGViewSpec DOM bindings aka SVGSVGElement.currentView is unimplemented
https://bugs.webkit.org/show_bug.cgi?id=15495

Reviewed by Rob Buis.

Source/WebCore:

Finish SVGViewSpec implementation and expose it to the Web. Numerous smaller bugs are fixed:
- SVGViewSpec and all of its contents should be read-only. Enforce that and test it.
  Add a new enum to SVGPropertyInfo so that each SVGAnimatedProperty knows if its content is supposed to be read-write or read-only.
- Make the 'transform' attribute of SVGViewSpec exposable by switching to a SVGTransformListProperty - it can now be accessed from JS.
- Assure that following XXXString methods are in sync with the corresponding SVG DOM interfaces
    readonly attribute DOMString viewBoxString;
    readonly attribute DOMString preserveAspectRatioString;
    readonly attribute DOMString transformString;
    readonly attribute DOMString viewTargetString;
- Cleanup code in svg/properties that was intended to handle SVGViewSpec. Turns out lot of the complexity was unncessary, and can be removed.
- Move SVGFitToViewBox to the same pattern SVGZoomAndPan uses since two days, that avoids any virtual function calls for attribute parsing.
- Create/expose ObjectiveC/JS bindings for SVGViewSpec.
- Enable SVGViewSpec constructor.

Tests: svg/custom/linking-a-03-b-all-expected.svg
       svg/dom/SVGViewSpec-defaults.html
       svg/dom/SVGViewSpec.html
       svg/dom/complex-svgView-specification.html
       svg/dom/viewspec-parser.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/objc/DOMSVG.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(NativeToJSValue):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
* bindings/v8/custom/V8SVGLengthCustom.cpp:
(WebCore::V8SVGLength::valueAccessorSetter):
(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
* page/DOMWindow.idl:
* rendering/svg/RenderSVGResourcePattern.cpp:
(WebCore::RenderSVGResourcePattern::buildTileImageTransform):
* svg/SVGFitToViewBox.cpp:
* svg/SVGFitToViewBox.h:
(SVGFitToViewBox):
(WebCore::SVGFitToViewBox::parseAttribute):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypePropertyInfo):
(WebCore::SVGMarkerElement::parseAttribute):
(WebCore::SVGMarkerElement::synchronizeOrientType):
(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::dPropertyInfo):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::pathByteStream):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::synchronizeD):
* svg/SVGPathSegWithContext.h:
(WebCore::SVGPathSegWithContext::animatedProperty):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::parseAttribute):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::pointsPropertyInfo):
(WebCore::SVGPolyElement::parseAttribute):
(WebCore::SVGPolyElement::synchronizePoints):
(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
* svg/SVGRect.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::currentView):
(WebCore::SVGSVGElement::parseAttribute):
(WebCore::SVGSVGElement::currentViewBoxRect):
(WebCore::SVGSVGElement::viewBoxToViewTransform):
(WebCore::SVGSVGElement::setupInitialView):
(WebCore::SVGSVGElement::inheritViewAttributes):
* svg/SVGSVGElement.h:
(SVGSVGElement):
* svg/SVGSVGElement.idl:
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::parseAttribute):
* svg/SVGTests.cpp:
(WebCore::SVGTests::requiredFeaturesPropertyInfo):
(WebCore::SVGTests::requiredExtensionsPropertyInfo):
(WebCore::SVGTests::systemLanguagePropertyInfo):
(WebCore::SVGTests::synchronizeRequiredFeatures):
(WebCore::SVGTests::synchronizeRequiredExtensions):
(WebCore::SVGTests::synchronizeSystemLanguage):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::textLengthPropertyInfo):
(WebCore::SVGTextContentElement::synchronizeTextLength):
(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
* svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::parseAttribute):
* svg/SVGViewElement.h:
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxPropertyInfo):
(WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
(WebCore::SVGViewSpec::transformPropertyInfo):
(WebCore::SVGViewSpec::SVGViewSpec):
(WebCore::SVGViewSpec::viewBoxIdentifier):
(WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
(WebCore::SVGViewSpec::transformIdentifier):
(WebCore::SVGViewSpec::setZoomAndPan):
(WebCore::SVGViewSpec::setTransformString):
(WebCore::SVGViewSpec::transformString):
(WebCore::SVGViewSpec::viewBoxString):
(WebCore::SVGViewSpec::preserveAspectRatioString):
(WebCore::SVGViewSpec::viewTarget):
(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
(WebCore::SVGViewSpec::reset):
(WebCore::SVGViewSpec::parseViewSpec):
* svg/SVGViewSpec.h:
(WebCore::SVGViewSpec::~SVGViewSpec):
(SVGViewSpec):
(WebCore::SVGViewSpec::create):
(WebCore::SVGViewSpec::setViewTargetString):
(WebCore::SVGViewSpec::setZoomAndPan):
(WebCore::SVGViewSpec::contextElement):
(WebCore::SVGViewSpec::resetContextElement):
(WebCore::SVGViewSpec::transformBaseValue):
(WebCore::SVGViewSpec::viewBoxAnimated):
(WebCore::SVGViewSpec::viewBox):
(WebCore::SVGViewSpec::viewBoxBaseValue):
(WebCore::SVGViewSpec::setViewBoxBaseValue):
(WebCore::SVGViewSpec::preserveAspectRatioAnimated):
(WebCore::SVGViewSpec::preserveAspectRatio):
(WebCore::SVGViewSpec::preserveAspectRatioBaseValue):
(WebCore::SVGViewSpec::setPreserveAspectRatioBaseValue):
* svg/SVGViewSpec.idl:
* svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::isReadOnly):
(WebCore::SVGAnimatedProperty::setIsReadOnly):
(SVGAnimatedProperty):
(WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):
(WebCore::SVGAnimatedProperty::lookupWrapper):
(WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
* svg/properties/SVGAnimatedPropertyMacros.h:
(WebCore::SVGSynchronizableAnimatedProperty::synchronize):
(SVGSynchronizableAnimatedProperty):
* svg/properties/SVGAnimatedPropertySynchronizer.h: Removed.
* svg/properties/SVGAttributeToPropertyMap.h:
* svg/properties/SVGListProperty.h:
* svg/properties/SVGListPropertyTearOff.h:
(SVGListPropertyTearOff):
(WebCore::SVGListPropertyTearOff::isReadOnly):
* svg/properties/SVGPathSegListPropertyTearOff.h:
(SVGPathSegListPropertyTearOff):
(WebCore::SVGPathSegListPropertyTearOff::isReadOnly):
* svg/properties/SVGProperty.h:
(SVGProperty):
* svg/properties/SVGPropertyInfo.h:
(WebCore::SVGPropertyInfo::SVGPropertyInfo):
(SVGPropertyInfo):
* svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::isReadOnly):
* svg/properties/SVGStaticListPropertyTearOff.h:
(SVGStaticListPropertyTearOff):
(WebCore::SVGStaticListPropertyTearOff::isReadOnly):

Source/WebKit/mac:

* MigrateHeaders.make: Copy DOMSVGViewSpec*.h headers.

LayoutTests:

Re-enable a long disabled test for SVGViewSpec, and make it actually work.
Extend SVGViewSpec test coverage, and rebaseline results that changed due the SVGViewSpec constructor addition.

Make linking-a-03-b-all.svg a reftest, to avoid rebaselines on all platforms.

* platform/chromium-linux/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/chromium-mac/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/chromium-win/fast/js/global-constructors-expected.txt:
* platform/chromium-win/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/chromium-win/svg/custom/linking-a-03-b-all-expected.txt: Removed.
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/gtk/svg/custom/linking-a-03-b-all-expected.txt: Removed.
* platform/mac/fast/js/global-constructors-expected.txt:
* platform/mac/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/mac/svg/custom/linking-a-03-b-all-expected.txt: Removed.
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/svg/custom/linking-a-03-b-all-expected.png: Removed.
* platform/qt/svg/custom/linking-a-03-b-all-expected.txt: Removed.
* platform/win/fast/js/global-constructors-expected.txt:
* svg/custom/global-constructors-expected.txt:
* svg/custom/linking-a-03-b-all-expected.svg: Added.
* svg/dom/SVGViewSpec-defaults-expected.txt: Added.
* svg/dom/SVGViewSpec-defaults.html: Added.
* svg/dom/SVGViewSpec-expected.txt: Added.
* svg/dom/SVGViewSpec.html: Added.
* svg/dom/complex-svgView-specification-expected.html: Added.
* svg/dom/complex-svgView-specification.html: Added.
* svg/dom/resources/viewspec-target.svg: Added.
* svg/dom/script-tests/SVGViewSpec-defaults.js: Added.
* svg/dom/script-tests/SVGViewSpec.js: Added.
(completeTest.script.onload):
(completeTest):
(testFragment):
(matrixToString):
(continueTesting):
* svg/dom/viewspec-parser-expected.txt: Added.
* svg/dom/viewspec-parser.html: Renamed from LayoutTests/svg/dom/viewspec-parser.html-disabled.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Performance] Optimize querySelector() and querySelectorAll() by removing
redundant dummy style sheet creations
https://bugs.webkit.org/show_bug.cgi?id=87627

Reviewed by Antti Koivisto.

This patch improves performance of querySelector("#id") by 4.2% ~ 17.7%
in Safari and Chromium.

Performance tests: https://bugs.webkit.org/attachment.cgi?id=144288

The performance test results in my desktop:

[Safari/Mac]
document.querySelector("#headId") :               13.60 ms =>  12.40 ms  +9.68%
document.querySelector("#duplicatedId") :         14.80 ms =>  14.20 ms  +4.23%
document.querySelector("#tailId") :               13.80 ms =>  12.20 ms  +13.11%
document.querySelectorAll("#headId") :            17.80 ms =>  14.60 ms  +21.92%
document.querySelectorAll("#duplicatedId") :     513.80 ms => 471.60 ms  +8.95%
document.querySelectorAll("#tailId") :            19.20 ms =>  16.40 ms  +17.07%
document.querySelector("h1") :                    14.40 ms =>  13.60 ms  +5.88%
document.querySelector("h2") :                    14.80 ms =>  13.80 ms  +7.25%
document.querySelector("h3") :                   312.00 ms => 306.60 ms  +1.76%
document.querySelectorAll("h1") :                322.00 ms => 314.60 ms  +2.35%
document.querySelectorAll("h2") :                481.00 ms => 420.60 ms  +14.36%
document.querySelectorAll("h3") :                326.80 ms => 315.80 ms  +3.48%
document.querySelector(".headClass") :            16.20 ms =>  15.40 ms  +5.19%
document.querySelector(".duplicatedClass") :      17.00 ms =>  15.40 ms  +10.39%
document.querySelector(".tailClass") :           369.60 ms => 362.60 ms  +1.93%
document.querySelectorAll(".headClass") :        388.20 ms => 377.60 ms  +2.81%
document.querySelectorAll(".duplicatedClass") :  605.00 ms => 581.20 ms  +4.09%
document.querySelectorAll(".tailClass") :        401.60 ms => 391.40 ms  +2.61%

[Chromium/Linux]
ocument.querySelector("#headId") :                16.00 ms =>  13.60 ms  +17.65%
document.querySelector("#duplicatedId") :         16.80 ms =>  15.40 ms  +9.09%
document.querySelector("#tailId") :               16.00 ms =>  13.60 ms  +17.65%
document.querySelectorAll("#headId") :            29.00 ms =>  25.00 ms  +16.00%
document.querySelectorAll("#duplicatedId") :     561.40 ms => 505.20 ms  +11.12%
document.querySelectorAll("#tailId") :            34.00 ms =>  26.80 ms  +26.87%
document.querySelector("h1") :                    18.20 ms =>  15.80 ms  +15.19%
document.querySelector("h2") :                    19.00 ms =>  16.60 ms  +14.46%
document.querySelector("h3") :                   280.40 ms => 274.00 ms  +2.34%
document.querySelectorAll("h1") :                300.20 ms => 365.20 ms  -17.80%
document.querySelectorAll("h2") :                487.60 ms => 504.20 ms  -3.29%
document.querySelectorAll("h3") :                349.40 ms => 324.00 ms  +7.84%
document.querySelector(".headClass") :            18.40 ms =>  16.00 ms  +15.00%
document.querySelector(".duplicatedClass") :      19.40 ms =>  16.20 ms  +19.75%
document.querySelector(".tailClass") :           349.60 ms => 345.40 ms  +1.22%
document.querySelectorAll(".headClass") :        382.80 ms => 378.20 ms  +1.22%
document.querySelectorAll(".duplicatedClass") :  550.80 ms => 574.20 ms  -4.08%
document.querySelectorAll(".tailClass") :        381.00 ms => 387.00 ms  -1.55%

I've found that StyleSheetInternal::create() in CSSParser::parseSelector()
is a bottleneck of querySelector() and querySelectorAll().

void CSSParser::parseSelector(const String& string, CSSSelectorList& selectorList)
{
    RefPtr<StyleSheetInternal> dummyStyleSheet = StyleSheetInternal::create();
    setStyleSheet(dummyStyleSheet.get());
    ...;
}

This patch removes a dummy style sheet. Previously the dummy style sheet
was needed to avoid null checks of m_styleSheet in CSSGrammer.y.
This patch fixes CSSGrammer.y so that it works fine with a null m_styleSheet.

Tests: fast/dom/SelectorAPI/*. No change in the test results.

* css/CSSGrammar.y:
* css/CSSParser.cpp:
(WebCore::CSSParser::parseSelector):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add HTMLIFrameElement.seamless property accessor now that seamless is enabled and works
https://bugs.webkit.org/show_bug.cgi?id=87708

Reviewed by Adam Barth.

Source/WebCore:

Lots of tests in fast/frames/seamless cover this property.

* html/HTMLIFrameElement.idl:

LayoutTests:

* fast/frames/seamless/seamless-basic-expected.txt:
* fast/frames/seamless/seamless-inherited-origin-expected.txt:
* fast/frames/seamless/seamless-nested-expected.txt:
* fast/frames/seamless/seamless-quirks-expected.txt:
* fast/frames/seamless/seamless-sandbox-flag-expected.txt:
* fast/frames/seamless/seamless-sandbox-srcdoc-expected.txt:
* http/tests/security/seamless/seamless-cross-origin-expected.txt:
* http/tests/security/seamless/seamless-sandbox-srcdoc-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening after r118585. Added Qt platform specific expected files.
https://bugs.webkit.org/show_bug.cgi?id=86848

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-05-29

* platform/qt/http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url-expected.txt: Added.
* platform/qt/http/tests/security/contentSecurityPolicy/javascript-url-blocked-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] MathML tests needs rebaseline after r118713
https://bugs.webkit.org/show_bug.cgi?id=87705

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-29

* platform/efl/mathml/presentation/mo-stretch-expected.png:
* platform/efl/mathml/presentation/mo-stretch-expected.txt:
* platform/efl/mathml/presentation/mroot-pref-width-expected.png:
* platform/efl/mathml/presentation/mroot-pref-width-expected.txt:
* platform/efl/mathml/presentation/tables-expected.png:
* platform/efl/mathml/presentation/tables-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use WebSpellCheckClient::spellcheck to retrieve suggestions.
https://bugs.webkit.org/show_bug.cgi?id=87690

Reviewed by Hajime Morita.

This change uses WebSpellCheckClient::spellcheck as a fallback method to
retrieve suggestions when a marker does not have any suggestions. (It consumes
lots of CPU power to get suggestions for misspelled word, i.e. Chromium cannot
afford to attach suggestions to all spelling markers.)

* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Retrieve suggestions if markers do not have any.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test expectation pngs missing checksums are treated as MISSING by bots
https://bugs.webkit.org/show_bug.cgi?id=87552

Unreviewed gardening.

This test was already failing for IMAGE and TEXT reasons prior to r118566.
On r118566, new images were added, probably without an embedded checksum.
It looks like our test infrastructure thinks that these images are MISSING.
Temporarily add MISSING expectations, so that we can proceed with this (failing) test.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: REGRESSION: load heap snapshot doesn't work.
https://bugs.webkit.org/show_bug.cgi?id=87642

Source/WebCore:

HeapSnapshotReceiver interface was introduced.
It declares the API for HeapSnapshotLoader, HeapSnapshotLoaderProxy and HeapSnapshotSaveToFileReceiver.
The HeapProfileHeader was refactored and tests were added.

Reviewed by Yury Semikhatsky.

* inspector/front-end/HeapSnapshotLoader.js:
(WebInspector.HeapSnapshotLoader):
(WebInspector.HeapSnapshotLoader.prototype.startLoading):
(WebInspector.HeapSnapshotLoader.prototype.dispose):
(WebInspector.HeapSnapshotLoader.prototype._reset):
(WebInspector.HeapSnapshotLoader.prototype.finishLoading):
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
(WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
(WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
(WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapSnapshotReceiver):
(WebInspector.HeapSnapshotReceiver.prototype.startLoading):
(WebInspector.HeapSnapshotReceiver.prototype.pushJSONChunk):
(WebInspector.HeapSnapshotReceiver.prototype.finishLoading):
(WebInspector.HeapSnapshotReceiver.prototype.dispose):
(WebInspector.HeapProfileHeader):
(WebInspector.HeapProfileHeader.prototype.load):
(WebInspector.HeapProfileHeader.prototype._setupWorker):
(WebInspector.HeapProfileHeader.prototype.dispose):
(WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
(WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
(WebInspector.HeapProfileHeader.prototype._parsed):
(WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
(WebInspector.HeapProfileHeader.prototype.saveToFile):
(WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
(WebInspector.HeapProfileHeader.prototype.loadFromFile):
(WebInspector.HeapProfileHeader.prototype._loadNextChunk):
(WebInspector.HeapProfileHeader.prototype._nextChunkLoaded):
(WebInspector.HeapProfileHeader.prototype._createFileReader):
(WebInspector.HeapSnapshotSaveToFileReceiver):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype.startLoading):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype.pushJSONChunk):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype.finishLoading):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype.dispose):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype._startSavingSnapshot):
(WebInspector.HeapSnapshotSaveToFileReceiver.prototype._saveStatusUpdate):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype._createFileSelectorElement.onChange):
(WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
(WebInspector.ProfilesPanel.prototype._loadFromFile):

LayoutTests:

HeapSnapshotReceiver interface was introduced.
It declares the API for HSLoader, HSLoaderProxy and HSSaveToFileReceiver.
The HeapProfileHeader was refactored and tests were added.

Reviewed by Yury Semikhatsky.

* inspector/profiler/heap-snapshot-loader-expected.txt:
* inspector/profiler/heap-snapshot-loader.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening after r118618. http/tests/cache/cancel-in-progress-load.html
fails with code 5.
https://bugs.webkit.org/show_bug.cgi?id=35377

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-05-29

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update test expectations.
https://bugs.webkit.org/show_bug.cgi?id=87155

Placeholder-related render dumps need to be udpated.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update test expectations
https://bugs.webkit.org/show_bug.cgi?id=87155

More placehodler tests.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Tabbed Settings Screen
https://bugs.webkit.org/show_bug.cgi?id=87497

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-05-29
Reviewed by Yury Semikhatsky.

Combine settings screen and shortcuts screen
to a single tabbed settings screen.
This will make shortcuts screen more discoverable.

* inspector/front-end/HelpScreen.js:
(WebInspector.HelpScreen): Make titled tamplate optional.
(WebInspector.HelpScreen.prototype._createCloseButton): Extract method.
* inspector/front-end/SettingsScreen.js:
(WebInspector.SettingsScreen): Split initialization and UI construction.
(WebInspector.SettingsScreen.prototype._createSettingsTabView.appendSection):
(WebInspector.SettingsScreen.prototype._createSettingsTabView):
Extract GUI construction method.
(WebInspector.SettingsScreen.prototype._getOrCreateTabbedPane):
Make GUI construction lazy.
(WebInspector.SettingsScreen.prototype.selectTab):
Add method for external tab swithching.
(WebInspector.SettingsScreen.prototype.wasShown):
Make GUI construction lazy.
(WebInspector.SettingsScreenTabbedPane):
Extend class to access protected member.
(WebInspector.SettingsController.prototype._buttonClicked):
Change "showSettingsScreen" visibility and parameters.
(WebInspector.SettingsController.prototype._onHideSettingsScreen):
Preserve settings screen state.
(WebInspector.SettingsController.prototype.showSettingsScreen):
Change method visibility and parameters.
* inspector/front-end/ShortcutsScreen.js:
(WebInspector.ShortcutsScreen): Remove inheritance from HelpScreen.
(WebInspector.ShortcutsScreen.prototype._createShortcutsTabView):
Refactoring of GUI construction.
(WebInspector.ShortcutsSection.prototype.renderSection):
Ditto.
* inspector/front-end/helpScreen.css:
(.help-window-main ::-webkit-scrollbar): Rebind scrollbar settings.
(.help-window-main ::-webkit-resizer): Ditto.
(.help-window-main ::-webkit-scrollbar-thumb:vertical): Ditto.
(.help-window-main ::-webkit-scrollbar-thumb:vertical:active): Ditto.
(.help-window-main ::-webkit-scrollbar-track:vertical): Ditto.
(body:not(.compact) #settings-screen .tabbed-pane): Fix container height.
(#settings-screen .tabbed-pane-header): Ditto.
(#settings-screen .tabbed-pane-header-tabs): Adjust spacing.
(#settings-screen .tabbed-pane-header-tab): Adjust style.
(#settings-screen .help-close-button): Adjust spacing.
(#settings-screen .tabbed-pane-header-tab.selected):
Erase line below active tab.
(#settings-screen .tabbed-pane-content): Adjust spacing.
(#settings-screen .help-content): Ditto.
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown): Use Settings screen to show shortcuts.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@118747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove m_rootNode and m_selectorChecker from SelectorQuery.h
https://bugs.webkit.org/show_bug.cgi?id=87650

Reviewed by Antti Koivisto.

To avoid parsing CSS selectors every time, I am planning to cache
SelectorQuery objects into a HashMap, which will be defined in
Node::querySelector(). To make the size of SelectorQuery small,
this patch removes m_rootNode and m_selectorChecker from SelectorQuery.h.

Tests: fast/dom/SelectorAPI/*. No change in test results.

* dom/Node.cpp:
(WebCore::Node::querySelector):
(WebCore::Node::querySelectorAll):
* dom/SelectorQuery.cpp:
(WebCore::SelectorQuery::SelectorQuery):
(WebCore):
(WebCore::SelectorQuery::queryAll):
(WebCore::SelectorQuery::queryFirst):
* dom/SelectorQuery.h:
(SelectorQuery):


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