commit-queue@webkit.org [Mon, 4 Mar 2013 13:07:49 +0000 (13:07 +0000)]
[EFL] Build fix when compiling with GLES2 support enabled.
https://bugs.webkit.org/show_bug.cgi?id=111291
Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-03-04
Reviewed by Kenneth Rohde Christiansen.
This patch fixes build issues when compiling with GLES2
support. As part of the fix the patch removes Evas specific
workaround of using GLX with EGL in PlatformContext as GLES2
is the main target with EGL.
* platform/graphics/OpenGLESShims.h:
* platform/graphics/opengl/GLPlatformContext.cpp:
(WebCore::GLCurrentContextWrapper::GLCurrentContextWrapper):
* platform/graphics/texmap/TextureMapper.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Mon, 4 Mar 2013 13:00:36 +0000 (13:00 +0000)]
[chromium] TestWebKitAPI WTF.StringHasher_addCharacters is broken on Chromium Android
https://bugs.webkit.org/show_bug.cgi?id=111284
Disabling the failing two tests on Android.
Reviewed by Jochen Eisinger.
* TestWebKitAPI/Tests/WTF/StringHasher.cpp:
(TestWebKitAPI):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Mon, 4 Mar 2013 12:39:49 +0000 (12:39 +0000)]
Web Inspector: implement Flame Chart for CPU profiler.
https://bugs.webkit.org/show_bug.cgi?id=111162
Reviewed by Yury Semikhatsky.
It is an initial implementation. The next step is to provide
function names and other stats about the hovered item.
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* inspector/compile-front-end.py:
* inspector/front-end/CPUProfileView.js:
(WebInspector.CPUProfileView.prototype._getCPUProfileCallback):
* inspector/front-end/FlameChart.js: Added.
(WebInspector.FlameChart):
(WebInspector.FlameChart.prototype._onMouseMove):
(WebInspector.FlameChart.prototype.findNodeCallback):
(WebInspector.FlameChart.prototype._coordinatesToNode):
(WebInspector.FlameChart.prototype.onResize):
(WebInspector.FlameChart.prototype._rootNodes):
(WebInspector.FlameChart.prototype.draw):
(WebInspector.FlameChart.prototype._drawNode):
(WebInspector.FlameChart.prototype._forEachNode):
(WebInspector.FlameChart.prototype._drawBar):
(WebInspector.FlameChart.prototype.update):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/flameChart.css: Added.
(.flame-chart):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 12:26:53 +0000 (12:26 +0000)]
[V8] Add a "context type" parameter to GetTemplate and ConfigureV8SomethingTemplate functions
https://bugs.webkit.org/show_bug.cgi?id=110875
The parameter will later be used for generating specialized V8
bindings for the 3 different world types (main world, isolated
work, worker).
Patch by Marja Hölttä <marja@chromium.org> on 2013-03-04
Reviewed by Kentaro Hara.
No new tests (no changes in behavior yet).
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateNormalAttrGetter):
(GenerateNamedConstructor):
(GenerateImplementation):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::DOMDataStore):
* bindings/v8/DOMDataStore.h:
(DOMDataStore):
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore):
(WebCore::DOMWrapperWorld::setInitializingWindow):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::DOMWrapperWorld::contextHasCorrectPrototype):
* bindings/v8/DOMWrapperWorld.h:
(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::getWorld):
* bindings/v8/Dictionary.cpp:
(WebCore::Dictionary::get):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::retrieveFrameWithGlobalObjectCheck):
* bindings/v8/V8AdaptorFunction.cpp:
(WebCore::V8AdaptorFunction::getTemplate):
(WebCore::V8AdaptorFunction::wrap):
* bindings/v8/V8AdaptorFunction.h:
(V8AdaptorFunction):
* bindings/v8/V8Binding.cpp:
(WebCore::toDOMWindow):
(WebCore::toScriptExecutionContext):
(WebCore::worldType):
(WebCore):
(WebCore::worldTypeInMainThread):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::installDOMWindow):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::createWrapper):
* bindings/v8/V8Initializer.cpp:
(WebCore::findFrame):
* bindings/v8/V8PerContextData.cpp:
(WebCore::V8PerContextData::constructorForTypeSlowCase):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::WorkerScriptController):
(WebCore::WorkerScriptController::controllerForContext):
* bindings/v8/WrapperTypeInfo.h:
(WebCore::WrapperTypeInfo::getTemplate):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::eventAttrGetterCustom):
(WebCore::V8DOMWindow::eventAttrSetterCustom):
(WebCore::V8DOMWindow::toStringMethodCustom):
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::wrapInShadowObject):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::V8HTMLImageElementConstructor::GetTemplate):
* bindings/v8/custom/V8HTMLImageElementConstructor.h:
(V8HTMLImageElementConstructor):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::createInjectedScriptHostV8Wrapper):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::reloadAttrGetterCustom):
(WebCore::V8Location::replaceAttrGetterCustom):
(WebCore::V8Location::assignAttrGetterCustom):
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::initMessageEventMethodCustom):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kinuko@chromium.org [Mon, 4 Mar 2013 12:13:35 +0000 (12:13 +0000)]
2013-03-04 Kinuko Yasuda <kinuko@chromium.org>
[Chromium] Unreviewed, removing failure test expectations for passing tests.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 11:45:43 +0000 (11:45 +0000)]
Web Inspector: add Ace editor experiment
https://bugs.webkit.org/show_bug.cgi?id=111191
Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-04
Reviewed by Pavel Feldman.
Source/WebCore:
No new tests.
Add Ace text editor experiment.
* WebCore.gypi:
* inspector/front-end/AceTextEditor.js: Added.
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
* inspector/front-end/ace/ace.js: Added.
* inspector/front-end/ace/acedevtools.css: Added.
* inspector/front-end/ace/mode_css.js: Added.
* inspector/front-end/ace/mode_html.js: Added.
* inspector/front-end/ace/mode_javascript.js: Added.
* inspector/front-end/ace/theme_textmate.js: Added.
* inspector/front-end/ace/LICENSE.txt: Added.
Source/WebKit/chromium:
Add target to concatenate js files for Ace Text Editor.
* WebKit.gyp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144615
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 11:40:56 +0000 (11:40 +0000)]
Add build flag for FontLoader
https://bugs.webkit.org/show_bug.cgi?id=111289
Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-03-04
Reviewed by Benjamin Poulain.
Add ENABLE_FONT_LOAD_EVENTS build flag (disabled by default).
.:
* Source/autotools/SetupWebKitFeatures.m4:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/chromium:
* features.gypi:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
Source/WTF:
* wtf/FeatureDefines.h:
Tools:
* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:
WebKitLibraries:
* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144614
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mkwst@chromium.org [Mon, 4 Mar 2013 11:25:13 +0000 (11:25 +0000)]
XSSAuditor should strip dangerous attributes from SMIL animation elements.
https://bugs.webkit.org/show_bug.cgi?id=111071
Reviewed by Adam Barth.
Source/WebCore:
SMIL animation elements can, amusingly enough, animate the 'href' of a
link. This patch teaches XSSAuditor how to deal with the
semicolon-separated 'animation[values]' attribute in order to ensure
that it doesn't contain JavaScript URLs that could be animated into
place for an unsuspecting user to click on.
Test: http/tests/security/xssAuditor/svg-animate.html
* html/parser/XSSAuditor.cpp:
(WebCore::isSemicolonSeparatedAttribute): Added.
This returns true if the given attribute is SVGNames::valuesAttr,
but makes it possible to easily extend the list with additional
attributes with this strange property.
(WebCore::semicolonSeparatedValueContainsJavaScriptURL): Added.
Given a semicolon-separated string, determine if it contains any
JavaScript URLs.
(WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
When looking for dangerousness, determine whether or not we should
be comparing against each member of a semicolon-separated list.
LayoutTests:
* http/tests/security/xssAuditor/resources/echo-intertag.pl:
Add a new mode that dumps an element and its attributes, which is a
bit more robust than adding a new mode for each attribute type we're
interested in.
* http/tests/security/xssAuditor/svg-animate-expected.txt: Added.
* http/tests/security/xssAuditor/svg-animate.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144613
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
anilsson@rim.com [Mon, 4 Mar 2013 11:09:59 +0000 (11:09 +0000)]
[BlackBerry] New files for BlackBerry::Platform::Graphics::GraphicsContext integration
https://bugs.webkit.org/show_bug.cgi?id=111153
Reviewed by Rob Buis.
BlackBerry PR 293208
This patch contains contributions from many members of the BlackBerry
WebKit team:
Rob Buis
Robin Cao
Eli Fidler
Mike Lattanzio
Yong Li
Maxim Mogilnitsky
Joshua Netterfield
Arvid Nilsson
Jakob Petsovits
Konrad Piascik
Jeff Rogers
Artem Simonov
Filip Spacek
George Staikos
Covered by existing tests.
* platform/graphics/blackberry/FontBlackBerry.cpp: Added.
(FSFixedToFloat):
(FloatToFSFixed):
(WebCore):
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
(WebCore::Font::drawGlyphs):
(WebCore::Font::canReturnFallbackFontsForComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::canExpandAroundIdeographsInComplexText):
* platform/graphics/blackberry/FontCacheBlackBerry.cpp: Added.
(WebCore):
(WebCore::FontCache::platformInit):
(WebCore::FontCache::getFontDataForCharacters):
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
(WebCore::FontCache::getTraitsInFamily):
(WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
(WebCore::fontWeightToFontconfigWeight):
(WebCore::FontCache::createFontPlatformData):
* platform/graphics/blackberry/FontCustomPlatformData.h: Added.
(WebCore):
(FontCustomPlatformData):
* platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp: Added.
(WebCore):
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
(WebCore::FontCustomPlatformData::~FontCustomPlatformData):
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::FontCustomPlatformData::supportsFormat):
(WebCore::createFontCustomPlatformData):
* platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp: Added.
(WebCore):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::name):
(WebCore::FontPlatformData::applyState):
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::platformDataAssign):
(WebCore::FontPlatformData::platformIsEqual):
(WebCore::FontPlatformData::description):
(WebCore::FontPlatformData::harfbuzzFace):
(WebCore::FontPlatformData::scaledFont):
(WebCore::FontPlatformData::setFakeBold):
(WebCore::FontPlatformData::setFakeItalic):
(WebCore::FontPlatformData::platformFontHandle):
(WebCore::FontPlatformData::isFixedPitch):
* platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp: Added.
(WebCore):
(WorldTypeScopedPtr):
(WebCore::WorldTypeScopedPtr::WorldTypeScopedPtr):
(WebCore::WorldTypeScopedPtr::~WorldTypeScopedPtr):
(WebCore::WorldTypeScopedPtr::get):
(WebCore::GlyphPage::fill):
* platform/graphics/blackberry/GradientBlackBerry.cpp: Added.
(WebCore):
(WebCore::totalStopsNeeded):
(WebCore::fillStops):
(WebCore::Gradient::platformGradient):
(WebCore::Gradient::platformDestroy):
(WebCore::Gradient::fill):
(WebCore::Gradient::setPlatformGradientSpaceTransform):
* platform/graphics/blackberry/GraphicsContextBlackBerry.cpp: Added.
(WebCore):
(GraphicsContextPlatformPrivate):
(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::platformDestroy):
(WebCore::GraphicsContext::platformContext):
(WebCore::GraphicsContext::savePlatformState):
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::setIsAcceleratedContext):
(WebCore::GraphicsContext::isAcceleratedContext):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::drawEllipse):
(WebCore::GraphicsContext::strokeArc):
(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::drawRect):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::clearRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
(WebCore::GraphicsContext::beginPlatformTransparencyLayer):
(WebCore::GraphicsContext::endPlatformTransparencyLayer):
(WebCore::GraphicsContext::supportsTransparencyLayers):
(WebCore::GraphicsContext::setLineCap):
(WebCore::GraphicsContext::setLineDash):
(WebCore::GraphicsContext::setLineJoin):
(WebCore::GraphicsContext::setMiterLimit):
(WebCore::GraphicsContext::setAlpha):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipOut):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::addRoundedRectClip):
(WebCore::GraphicsContext::clipOutRoundedRect):
(WebCore::GraphicsContext::clipBounds):
(WebCore::GraphicsContext::addInnerRoundedRectClip):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformStrokeStyle):
(WebCore::GraphicsContext::setPlatformStrokeThickness):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformCompositeOperation):
(WebCore::GraphicsContext::setPlatformShouldAntialias):
(WebCore::GraphicsContext::setImageInterpolationQuality):
(WebCore::GraphicsContext::imageInterpolationQuality):
* platform/graphics/blackberry/ITypeUtils.h: Added.
(floatToITypeFixed):
(intToITypeFixed):
(iTypeFixedToFloat):
* platform/graphics/blackberry/ImageBufferBlackBerry.cpp: Added.
(WebCore):
(WebCore::makeBufferCurrent):
(WebCore::getImageDataInternal):
(WebCore::ImageBufferData::getImageData):
(WebCore::flushAndDraw):
(WebCore::ImageBufferData::draw):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):
(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::platformLayer):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::platformTransformColorSpace):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):
* platform/graphics/blackberry/ImageBufferDataBlackBerry.h: Added.
(WebCore):
(ImageBufferData):
* platform/graphics/blackberry/PathBlackBerry.cpp: Added.
(WebCore):
(WebCore::scratchContext):
(WebCore::Path::Path):
(WebCore::Path::~Path):
(WebCore::Path::operator=):
(WebCore::Path::currentPoint):
(WebCore::Path::contains):
(WebCore::Path::strokeContains):
(WebCore::Path::translate):
(WebCore::Path::boundingRect):
(WebCore::Path::strokeBoundingRect):
(WebCore::Path::moveTo):
(WebCore::Path::addLineTo):
(WebCore::Path::addQuadCurveTo):
(WebCore::Path::addBezierCurveTo):
(WebCore::Path::addArcTo):
(WebCore::Path::closeSubpath):
(WebCore::Path::addArc):
(WebCore::Path::addRect):
(WebCore::Path::addEllipse):
(WebCore::Path::platformAddPathForRoundedRect):
(WebCore::Path::clear):
(WebCore::Path::isEmpty):
(WebCore::Path::hasCurrentPoint):
(WebCore::Path::apply):
(WebCore::Path::transform):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::drawLine):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
(WebCore::GraphicsContext::drawLineForText):
(WebCore::GraphicsContext::clip):
(WebCore::GraphicsContext::clipPath):
(WebCore::GraphicsContext::canvasClip):
(WebCore::GraphicsContext::clipOut):
* platform/graphics/blackberry/PatternBlackBerry.cpp: Added.
(WebCore):
(WebCore::Pattern::platformDestroy):
(WebCore::Pattern::platformPattern):
(WebCore::Pattern::setPlatformPatternSpaceTransform):
* platform/graphics/blackberry/PlatformSupport.cpp: Added.
(WebCore):
(WebCore::PlatformSupport::getFontFamilyForCharacters):
* platform/graphics/blackberry/PlatformSupport.h: Added.
(WebCore):
(PlatformSupport):
(FontFamily):
* platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp: Added.
(WebCore):
(WebCore::FSFixedToFloat):
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformCharWidthInit):
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::createScaledFontData):
(WebCore::SimpleFontData::smallCapsFontData):
(WebCore::SimpleFontData::emphasisMarkFontData):
(WebCore::SimpleFontData::containsCharacters):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144612
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Mon, 4 Mar 2013 10:12:29 +0000 (10:12 +0000)]
Unreviewed GTK gardening.
* platform/gtk/TestExpectations: Marking a few layout tests as flaky.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144611
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adam.bergkvist@ericsson.com [Mon, 4 Mar 2013 10:07:39 +0000 (10:07 +0000)]
MediaStream API: local addTrack() and removeTrack() operations should not fire events.
https://bugs.webkit.org/show_bug.cgi?id=111079
Reviewed by Adam Barth.
Source/WebCore:
Removed the scheduling of "addtrack" and "removetrack" events by
addTrack and removeTrack(). Replaced the test since the old test was
driven by the event firing removed by this patch.
Test: fast/mediastream/MediaStream-add-remove-tracks.html
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
LayoutTests:
Replaced the test since the old test was driven by the event firing
removed by this patch.
* fast/mediastream/MediaStream-add-remove-tracks-expected.txt: Added.
* fast/mediastream/MediaStream-add-remove-tracks.html: Added.
* fast/mediastream/MediaStreamTrackList-expected.txt: Removed.
* fast/mediastream/MediaStreamTrackList.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144610
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Mon, 4 Mar 2013 09:36:45 +0000 (09:36 +0000)]
Web Inspector: touchmove not emulated inside iframe
https://bugs.webkit.org/show_bug.cgi?id=111292
Reviewed by Vsevolod Vlasov.
Source/WebCore:
Move fake touch event dispatching from mouseMoved() into handleMouseMoveEvent()
and bail out earlier from dispatchSyntheticTouchEventIfEnabled() when the event
should be dispatched on a subframe.
* page/EventHandler.cpp:
(WebCore::EventHandler::mouseMoved):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
LayoutTests:
* fast/events/touch/emulated-touch-iframe.html:
* fast/events/touch/resources/emulated-touch-iframe2.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144608
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mkwst@chromium.org [Mon, 4 Mar 2013 09:33:46 +0000 (09:33 +0000)]
Long URLs in error messages should be shortened
https://bugs.webkit.org/show_bug.cgi?id=111133
Reviewed by Jochen Eisinger.
When generating console messages, we're often copying the page's URL
in order to add detail about where the error occurred. Generally, this
is fine, but in edge cases (multi-meg 'data:' URLs), we're using far
more memory than we should, and impacting performance.
This patch adds an 'elidedString()' method to KURL for use in this
sort of case; when generating console messages, we should insert the
elided URL rather than the full URL.
This shouldn't change any visible behavior; we're already visually
eliding URLs in console messages for URLs above 150 characters. This
patch simply changes the underlying string to ensure that no URL is
over 1k in length to begin with.
* platform/KURL.cpp:
(WebCore::KURL::elidedString): Added.
* platform/KURL.h:
An exciting new method that gives you the same result as string()
for URLs less than 1k long, and elides the middle of URLs longer
than 1k by replacing everything but the first and last 0.5k with
"...".
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
(WebCore::WebSocket::send):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::send):
(WebCore::WebSocketChannel::fail):
* bindings/ScriptControllerBase.cpp:
(WebCore::ScriptController::canExecuteScripts):
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeScript):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canPlayType):
(WebCore::HTMLMediaElement::isSafeToLoadURL):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
(WebCore::createWindow):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
(WebCore::MainResourceLoader::responseReceived):
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::didReceiveResponse):
(WebCore::ApplicationCacheGroup::didFail):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::canRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::printAccessDeniedMessage):
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
(WebCore::CSPDirectiveList::allowScriptNonce):
(WebCore::CSPDirectiveList::allowPluginType):
Use 'KURL::elidedString()' rather than 'KURL::string()'
* loader/MixedContentChecker.cpp:
(WebCore::MixedContentChecker::logWarning):
Here, we're doing the same as above, but it enables us to throw
away the asUTF8() function entirely by switching to makeString
rather than String::format.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144607
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 08:37:42 +0000 (08:37 +0000)]
Web Inspector: add runtime flag to determine if inspector's source files were flattened.
https://bugs.webkit.org/show_bug.cgi?id=111184
Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-04
Reviewed by Pavel Feldman.
Source/WebCore:
- Add a file "buildSystemOnly.js" which will be included into
devtools.html only by GYP build system. This script sets a single flag
which essentially means that inspector source files were run
through a build system and flattened.
- Update "importScript" and "registerRequiredCSS" functions to correct
paths according to the "flattenImports" flag.
No new tests: no change in behaviour.
* WebCore.gypi:
* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor):
* inspector/front-end/View.js:
(WebInspector.View.prototype.registerRequiredCSS):
* inspector/front-end/buildSystemOnly.js: Added.
* inspector/front-end/utilities.js:
Source/WebKit/chromium:
Included "buildSystemOnly.js" in devtools.html by generate_devtools_html.py script.
* WebKit.gyp:
* scripts/generate_devtools_html.py: Add script tag to include buildSystemOnly.js
(write_devtools_html):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144605
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kadam@inf.u-szeged.hu [Mon, 4 Mar 2013 08:36:11 +0000 (08:36 +0000)]
[Qt] Unreviewed gardening.
https://bugs.webkit.org/show_bug.cgi?id=111290
* platform/qt/TestExpectations: Skipped failing test after r144461.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144604
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Mon, 4 Mar 2013 08:06:50 +0000 (08:06 +0000)]
Web Inspector: Fix front-end compilation
https://bugs.webkit.org/show_bug.cgi?id=111286
Reviewed by Alexander Pavlov.
* inspector/InjectedScriptSource.js:
* inspector/front-end/FileSystemProjectDelegate.js:
* inspector/front-end/NavigatorView.js:
(WebInspector.NavigatorView.prototype.removeUISourceCode):
(WebInspector.NavigatorTreeNode.prototype.reset):
(WebInspector.NavigatorFolderTreeNode.prototype.didAddChild):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144603
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 07:57:44 +0000 (07:57 +0000)]
[EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow.
https://bugs.webkit.org/show_bug.cgi?id=108034
Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-03-03
Reviewed by Laszlo Gombos.
Covered by existing WebGL tests.
Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow
is identified during compile time. This is ok, when using GLX. We might not
have support for XCompositeWindow when using EGL and GLES2.0. This patch
makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds
GLX guard to the parts of code dependent on XCompositeWindow support.
* platform/graphics/opengl/GLPlatformSurface.cpp:
* platform/graphics/surfaces/glx/GLXConfigSelector.h:
(WebCore::GLXConfigSelector::findMatchingConfig):
* platform/graphics/surfaces/glx/X11Helper.cpp:
(WebCore::X11Helper::createOffScreenWindow):
(WebCore::X11Helper::isXRenderExtensionSupported):
* platform/graphics/surfaces/glx/X11Helper.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144602
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Mon, 4 Mar 2013 07:44:50 +0000 (07:44 +0000)]
Web Inspector: [PageAgent] can't find frame by security origin.
https://bugs.webkit.org/show_bug.cgi?id=110849
Use toRawString() in order to compare Frames' SecurityOrigins for storage-related goals.
Reviewed by Vsevolod Vlasov.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::findFrameWithSecurityOrigin):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144601
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
apavlov@chromium.org [Mon, 4 Mar 2013 07:28:53 +0000 (07:28 +0000)]
Unreviewed, rolling out r144455.
http://trac.webkit.org/changeset/144455
https://bugs.webkit.org/show_bug.cgi?id=111165
A simpler solution to the SecurityOrigin -> localStorage
lookup exists
Source/WebCore:
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorage.storageId):
(WebInspector.DOMStorage.prototype.get id):
(WebInspector.DOMStorage.prototype.getItems):
(WebInspector.DOMStorage.prototype.setItem):
(WebInspector.DOMStorage.prototype.removeItem):
(WebInspector.DOMStorageModel.prototype._securityOriginAdded):
(WebInspector.DOMStorageModel.prototype._securityOriginRemoved):
(WebInspector.DOMStorageModel.prototype._storageKey):
* inspector/front-end/ExtensionAuditCategory.js:
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemModel.prototype._reset):
(WebInspector.FileSystemModel.prototype._securityOriginAdded):
(WebInspector.FileSystemModel.prototype._securityOriginRemoved):
(WebInspector.FileSystemModel.prototype._addOrigin):
(WebInspector.FileSystemModel.prototype._removeOrigin):
(WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemModel.prototype._removeFileSystem):
(WebInspector.FileSystemModel.FileSystem.prototype.get name):
* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype._reset):
(WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
(WebInspector.IndexedDBModel.prototype._securityOriginAdded):
(WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
(WebInspector.IndexedDBModel.prototype._addOrigin):
(WebInspector.IndexedDBModel.prototype._removeOrigin):
(WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
(WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
(WebInspector.IndexedDBModel.prototype._loadDatabase):
(WebInspector.IndexedDBModel.prototype.):
(WebInspector.IndexedDBModel.prototype._requestData):
(WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
* inspector/front-end/IndexedDBViews.js:
(WebInspector.IDBDatabaseView.prototype._refreshDatabase):
* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel):
(WebInspector.ResourceTreeModel.prototype._addFrame):
(WebInspector.ResourceTreeModel.prototype._addSecurityOrigin):
(WebInspector.ResourceTreeModel.prototype._removeSecurityOrigin):
(WebInspector.ResourceTreeModel.prototype.securityOrigins):
(WebInspector.ResourceTreeModel.prototype._handleMainFrameDetached):
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
(WebInspector.ResourceTreeModel.prototype._frameDetached):
(WebInspector.ResourceTreeFrame):
(WebInspector.ResourceTreeFrame.prototype._navigate):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.IDBDatabaseTreeElement):
(WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
(WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
(WebInspector.IDBIndexTreeElement.prototype.get itemURL):
(WebInspector.DOMStorageTreeElement):
(WebInspector.DOMStorageTreeElement.prototype.get itemURL):
(WebInspector.FileSystemTreeElement):
LayoutTests:
* http/tests/inspector-enabled/dom-storage-open.html:
* http/tests/inspector/filesystem/delete-entry.html:
* http/tests/inspector/filesystem/request-filesystem-root.html:
* http/tests/inspector/indexeddb/database-data.html:
* http/tests/inspector/indexeddb/database-names.html:
* http/tests/inspector/indexeddb/database-structure.html:
* http/tests/inspector/resource-tree/resource-tree-events.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144600
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Mon, 4 Mar 2013 07:09:14 +0000 (07:09 +0000)]
PDFPlugin: Rename delegate method from openWithPreview to openWithNativeApplication
https://bugs.webkit.org/show_bug.cgi?id=111258
Reviewed by Alexey Proskuryakov.
* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate openWithNativeApplication]):
Rename from openWithPreview to openWithNativeApplication to match PDFKit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144599
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vsevik@chromium.org [Mon, 4 Mar 2013 06:53:18 +0000 (06:53 +0000)]
Web Inspector: Let user know when file system based uiSourceCode was changed on disk.
https://bugs.webkit.org/show_bug.cgi?id=110133
Reviewed by Pavel Feldman.
We now check if file system based uiSourceCode content was updated externally when
UISourceCodeFrame is shown or inspector window is focused.
If there is no working copy being edited right now we replace old content with the new one silently.
Otherwise ask user if he wants to replace his working copy with the new content.
* English.lproj/localizedStrings.js:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.editRange):
* inspector/front-end/FileSystemProjectDelegate.js:
(WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
(WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
(WebInspector.FileSystemProjectDelegate.prototype._contentRequestFinished):
(WebInspector.FileSystemProjectDelegate.prototype.requestUpdatedFileContent):
(WebInspector.FileSystemProjectDelegate.prototype.contentCallback):
(WebInspector.FileSystemProjectDelegate.prototype.searchInFileContent):
* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.wasShown):
(WebInspector.JavaScriptSourceFrame.prototype.willHide):
* inspector/front-end/SimpleWorkspaceProvider.js:
(WebInspector.SimpleProjectDelegate.prototype.requestUpdatedFileContent):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.setContent):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode.prototype.checkContentUpdated.updatedContentLoaded):
(WebInspector.UISourceCode.prototype.checkContentUpdated):
* inspector/front-end/UISourceCodeFrame.js:
(WebInspector.UISourceCodeFrame.prototype.wasShown):
(WebInspector.UISourceCodeFrame.prototype.willHide):
(WebInspector.UISourceCodeFrame.prototype._windowFocused):
(WebInspector.UISourceCodeFrame.prototype._checkContentUpdated):
* inspector/front-end/Workspace.js:
(WebInspector.ProjectDelegate.prototype.requestUpdatedFileContent):
(WebInspector.Project.prototype.requestUpdatedFileContent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144598
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
toyoshim@chromium.org [Mon, 4 Mar 2013 06:34:20 +0000 (06:34 +0000)]
Unreviewed chromium gardening
Remove failure annotation on tests which was already fixed.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144597
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Mon, 4 Mar 2013 06:28:55 +0000 (06:28 +0000)]
[Mac] Get rid of a useless method from DOMHTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=111279
Reviewed by Sam Weinig.
Source/WebKit/mac:
* DOM/WebDOMOperations.mm:
* DOM/WebDOMOperationsPrivate.h:
setValueForUser: is already privately exposed by DOMHTMLInputElement,
no need to have it twice.
Tools:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setValueForUser):
The method _setValueForUser: was added for testing. This feature is already
exposed by DOMHTMLInputElement as a private API and it is how this code is exercised
in real use cases. Get rid of the method created for testing, use the real thing
instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144596
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Mon, 4 Mar 2013 05:51:46 +0000 (05:51 +0000)]
createAttribute/setAttributeNode does not properly normalize case
https://bugs.webkit.org/show_bug.cgi?id=90341
Patch by Arpita Bahuguna <a.bah@samsung.com> on 2013-03-03
Reviewed by Darin Adler.
Source/WebCore:
setAttributeNode() verifies for existing attributes in a case sensitive
manner. Thus, it would add another attribute if specified in a case
different from the existing one. Instead, like setAttribute(), it too
should modify the existing attribute's value.
Test: fast/dom/Element/setAttributeNode-case-insensitivity.html
* dom/Element.cpp:
(WebCore::Element::setAttributeNode):
Made changes to check for an existing attribute by converting the
specified attribute's localName to lowercase.
LayoutTests:
* fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt: Added.
* fast/dom/Element/setAttributeNode-case-insensitivity.html: Added.
Testcase for verifying that setAttributeNode() checks against existing
attributes in a case insensitive manner. It updates the value of an
existing attribute (in lower case) with that of the one set using
setAttributeNode() (in upper case).
The test also verifies the behavior of attributes when specified with
namespace and prefix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144595
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 01:42:53 +0000 (01:42 +0000)]
Unreviewed. Rebaselined run-bindings-tests.
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::indexedSecurityCheck):
(TestActiveDOMObjectV8Internal):
(WebCore::TestActiveDOMObjectV8Internal::namedSecurityCheck):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144594
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 01:39:26 +0000 (01:39 +0000)]
Unreviewed build fix after r144590.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateSecurityCheckFunctions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144593
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 01:36:32 +0000 (01:36 +0000)]
Unreviewed build fix after r144587.
* bindings/v8/V8Binding.cpp:
(WebCore::toV8Context):
* bindings/v8/V8MutationCallback.cpp:
(WebCore::V8MutationCallback::V8MutationCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144592
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 00:16:35 +0000 (00:16 +0000)]
[V8] HTMLDocument.all should have [Replaceable]
https://bugs.webkit.org/show_bug.cgi?id=111230
Reviewed by Adam Barth.
(Although HTMLDocument.all is already removed from the spec,)
it is expected to behave as a [Replaceable] attribute. By adding
a [Replaceable] IDL attribute, we can remove custom implementation
of HTMLDocument.all.
I confimed that exactly the same code is generated for .all getter
and setter.
No tests. No change in behavior.
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
* html/HTMLDocument.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144591
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 00:12:06 +0000 (00:12 +0000)]
[V8] indexedSecurityCheck() and namedSecurityCheck() should be auto-generated
https://bugs.webkit.org/show_bug.cgi?id=111225
Reviewed by Adam Barth.
indexedSecurityCheck() and namedSecurityCheck() should be auto-generated,
except for DOMWindow's ones.
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateSecurityCheckFunctions):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedSecurityCheckCustom):
(WebCore::V8DOMWindow::indexedSecurityCheckCustom):
* bindings/v8/custom/V8HistoryCustom.cpp:
* bindings/v8/custom/V8LocationCustom.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144590
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Mon, 4 Mar 2013 00:11:08 +0000 (00:11 +0000)]
Shrink JSC::HashTable entries.
<http://webkit.org/b/111275>
<rdar://problem/
13333511>
Reviewed by Anders Carlsson.
Move the Intrinsic value out of the function-specific part of the union,
and store it next to m_attributes. Reduces the size of HashEntry by 8 bytes.
990 kB progression on Membuster3. (PTUS: 797 kB)
* runtime/Lookup.h:
(JSC::HashEntry::initialize):
(JSC::HashEntry::intrinsic):
(HashEntry):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144589
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 00:09:26 +0000 (00:09 +0000)]
[V8] Rename $implContentDecls to $implContentInternals in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=111214
Reviewed by Adam Barth.
$implContentDecls stores generated code that is put in a namespace 'XXXV8Internal'.
For clarification, it should be renamed to $implContentInternals.
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateConstructorGetter):
(GenerateNormalAttrGetterCallback):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetterCallback):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetterCallback):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateEventConstructor):
(GenerateTypedArrayConstructor):
(GenerateImplementation):
(WriteData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144588
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Mon, 4 Mar 2013 00:05:48 +0000 (00:05 +0000)]
[V8] Rename getWorld() to isolatedWorld(), and getWorldForEnteredContext() to isolatedWorldForEnteredContext()
https://bugs.webkit.org/show_bug.cgi?id=111212
Reviewed by Adam Barth.
The rename I did in r142424 was wrong. Given that getWorld() returns 0
for the main world, it should be named isolatedWorld(). Similarly,
given that getWorldForEnteredContext() returns 0 for the main world,
it should be named isolatedWorldForEnteredContext().
No tests. No change in behavior.
* bindings/v8/CustomElementHelpers.cpp:
(WebCore::CustomElementHelpers::isFeatureAllowed):
* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::current):
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::makeContextWeak):
* bindings/v8/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::isolatedWorld):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
(WebCore::ScriptController::currentWorldContext):
* bindings/v8/V8Binding.h:
(WebCore::isolatedWorldForEnteredContext):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::WorldContextHandle):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::wrap):
* bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
(WebCore::V8XMLHttpRequest::constructorCustom):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144587
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 3 Mar 2013 23:54:12 +0000 (23:54 +0000)]
[EFL][QT][WK2] Turn on ApplyDeviceScaleFactorInCompositor always.
https://bugs.webkit.org/show_bug.cgi?id=110298
Patch by Huang Dongsung <luxtella@company100.net> on 2013-03-03
Reviewed by Kenneth Rohde Christiansen.
Currently, EFL and Qt turn on ApplyDeviceScaleFactorInCompositor when using
fixed layout, but ApplyDeviceScaleFactorInCompositor is not related to fixed
layout. It is confusing that a platform WebView deals with device view size or
DIP view size case by case. So this patch always turns on
ApplyDeviceScaleFactorInCompositor.
In addition, move the code that turns on ScrollingCoordinatorEnabled to
CoordinatedLayerTreeHost.
* UIProcess/API/efl/EwkView.cpp:
(EwkView::setDeviceScaleFactor):
We should make WebPage know new DIP size.
(EwkView::setSize):
When we set ApplyDeviceScaleFactorInCompositor to true, make WebPage
know the DIP size as a view size.
* UIProcess/efl/WebView.cpp:
(WebKit::WebView::updateViewportSize):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::DrawingAreaImpl):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):
WebPage sends the DIP size to Web Process even when we don't use fixed layout.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144585
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Sun, 3 Mar 2013 23:52:42 +0000 (23:52 +0000)]
[V8] Move HTMLDocument::getNamedProperty() to DOMWindowShell
https://bugs.webkit.org/show_bug.cgi?id=111223
Reviewed by Adam Barth.
HTMLDocument::getNamedProperty() is used by DOMWindowShell.
It can be a static method in DOMWindowShell.
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::getNamedProperty):
(WebCore):
(WebCore::getter):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144584
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sun, 3 Mar 2013 23:19:31 +0000 (23:19 +0000)]
Some perf. tests have variances that differ greatly between runs
https://bugs.webkit.org/show_bug.cgi?id=97510
Reviewed by Benjamin Poulain.
PerformanceTests:
In order to control the number of iterations and processes to use from run-perf-tests, always use 20
iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
to use from run-perf-tests.
* Animation/balls.html:
* DOM/DOMTable.html:
* DOM/resources/dom-perf.js:
(runBenchmarkSuite.PerfTestRunner.measureTime):
* Dromaeo/resources/dromaeorunner.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Layout/subtree-detaching.html:
* Parser/html5-full-render.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:
* resources/results-template.html:
Tools:
Use multiple instances of DumpRenderTree or WebKitTestRunner to amortize the effect of the runtime
environment on test results (we run each instance after one another, not in parallel).
We use 4 instances of the test runner, each executing 5 in-process iterations, for the total of 20
iterations as it was done previously in single process. These values are hard-coded in perftest.py
and runner.js but they are to be configurable in the future.
Set of 5 iterations obtained by the same test runner is treated as an "iteration group" and each
metric now reports an array of the length 4 with each element containing an array of 5 iteration
values obtained by each test runner instance as opposed to a flattened array of 20 iteration values.
Unfortunately, we can use the same trick on Dromaeo because we're already doing only 5 iterations
and repeating the entire Dromaeo 4 times will take too long. We need to disable more Dromaeo tests
as needed. To this end, added SingleProcessPerfTest to preserve the old behavior.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric.append_group): Renamed from append.
(PerfTestMetric.grouped_iteration_values): Added.
(PerfTestMetric.flattened_iteration_values): Renamed from iteration_values.
(PerfTest.__init__): Takes the number of processes (drivers) to run tests with.
This parameter is only used by SingleProcessPerfTest.
(PerfTest.run): Repeat tests using different driver processes.
(PerfTest._run_with_driver): Returns a boolean instead of a list of measured metrics
since metrics are shared between multiple drivers (i.e. multiple calls to _run_with_driver).
We instead use _ensure_metrics to obtain the matched metrics and store the data there.
(PerfTest._ensure_metrics): Added.
(SingleProcessPerfTest): Added. Used to run Dromaeo tests where running it on 4 different
instances of DumpRenderTree/WebKitTestRunner takes too long.
(SingleProcessPerfTest.__init__):
(ReplayPerfTest._run_with_driver): Updated to use _ensure_metrics.
(PerfTestFactory): Use SingleProcessPerfTest to run Dromaeo tests.
* Scripts/webkitpy/performance_tests/perftest_unittest.py: Updated various tests that expect
_run_with_driver to return a list of metrics. Now it returns a boolean indicating whether
the test succeeded or not. Obtain the dictionary of metrics via test._metrics instead.
(TestPerfTestMetric.test_append): Updated per name and added some test cases for
grouped_iteration_values.
(TestPerfTest._assert_results_are_correct):
(TestSingleProcessPerfTest): Added.
(TestSingleProcessPerfTest.test_use_only_one_process):
(TestSingleProcessPerfTest.test_use_only_one_process.run_single):
(TestReplayPerfTest.test_run_with_driver_accumulates_results):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results):
* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Updated values of
sample standard deviations since we're now running tests 4 times.
(MainTest._test_run_with_json_output.mock_upload_json):
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
LayoutTests:
Use dromaeoIterationCount now that we no longer support iterationCount.
* fast/harness/perftests/runs-per-second-iterations.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144583
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aelias@chromium.org [Sun, 3 Mar 2013 22:15:46 +0000 (22:15 +0000)]
[chromium] Remove WebLayerTreeView::setViewportSize call
https://bugs.webkit.org/show_bug.cgi?id=110727
Reviewed by James Robinson.
After https://codereview.chromium.org/
12328080 lands,
setViewportSize is called from the Chromium side. The multiplication
by deviceScaleFactor here was prone to off-by-one errors.
The layoutSize() function was only used here so delete it as well.
DumpRenderTree WebViewHost must now call this method as well.
Source/WebKit/chromium:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):
Tools:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::initializeLayerTreeView):
(WebViewHost::setWindowRect):
(WebViewHost::setDeviceScaleFactor):
(WebViewHost::updateViewportSize):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144581
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 3 Mar 2013 22:15:00 +0000 (22:15 +0000)]
Shared Web Workers have an incorrect visible process name
https://bugs.webkit.org/show_bug.cgi?id=111277
Reviewed by Dan Bernstein.
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::initializeSharedWorkerProcess):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
(WebKit::SharedWorkerProcess::initializeProcessName):
The SharedWorkerProcess is not an internet plug-in!
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 3 Mar 2013 20:43:44 +0000 (20:43 +0000)]
Build fix after r144565. Reverted r144533.
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144579
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 3 Mar 2013 19:57:39 +0000 (19:57 +0000)]
Attempt to fix the Qt build after r144498
https://bugs.webkit.org/show_bug.cgi?id=111272
Reviewed by Eric Seidel.
Update the Qt version of the XML parser to call the new API.
* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::resumeParsing):
(WebCore::XMLDocumentParser::appendFragmentSource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144578
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Sun, 3 Mar 2013 19:36:33 +0000 (19:36 +0000)]
Plug-ins that are appropriately large w.r.t page size should autostart
https://bugs.webkit.org/show_bug.cgi?id=111242
Reviewed by Brady Eidson.
A "full-page" plug-in site should never snapshot. The trick is
how to determine what is full-page. This change implements the
following algorithm.
- The plug-in is in the main frame (not an iframe).
- The plug-in is sized with width and height 100%.
- The displayed area of the plug-in is more than 96% of the viewport area.
This is definitely not foolproof. For example, zombo.com has a slight
border around its plug-in. As the window size gets smaller, the body margin
takes up more than 5% of the width or height, and the plug-in doesn't pass
the tests above.
* html/HTMLPlugInImageElement.cpp:
(WebCore): New static constant: sizingFullPageThresholdPercentage
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Implements
the rules described above.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144577
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sun, 3 Mar 2013 16:16:21 +0000 (16:16 +0000)]
[Win] IDLParser.pm fails to parse OESTextureHalfFloat and causes a build failure
https://bugs.webkit.org/show_bug.cgi?id=111267
Reviewed by Kentaro Hara.
Allow empty definitions.
* bindings/scripts/IDLParser.pm:
(Parse):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144575
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sun, 3 Mar 2013 15:59:17 +0000 (15:59 +0000)]
BUILD FIX: RenderLayerFilterInfo.h needs to include Element.h with ENABLE(SVG)
Fixes the following build failures:
In file included from Source/WebCore/rendering/RenderLayerFilterInfo.cpp:33:
Source/WebCore/rendering/RenderLayerFilterInfo.h:118:19: error: use of undeclared identifier 'Element'
Vector<RefPtr<Element> > m_internalSVGReferences;
^
Source/WebCore/rendering/RenderLayerFilterInfo.h:118:28: error: expected a type
Vector<RefPtr<Element> > m_internalSVGReferences;
^
Source/WebCore/rendering/RenderLayerFilterInfo.h:118:30: error: private field 'm_internalSVGReferences' is not used [-Werror,-Wunused-private-field]
Vector<RefPtr<Element> > m_internalSVGReferences;
^
3 errors generated.
* rendering/RenderLayerFilterInfo.h: Include Element.h within
ENABLE(SVG). Move ENABLE(SVG) block below unconditional
headers.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144574
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sun, 3 Mar 2013 12:05:04 +0000 (12:05 +0000)]
Windows build fix attempt after r144547.
* WebKit.vcproj/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144573
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 3 Mar 2013 11:47:47 +0000 (11:47 +0000)]
Unreviewed, rolling out r144567.
http://trac.webkit.org/changeset/144567
https://bugs.webkit.org/show_bug.cgi?id=111266
Does not compile on apple-win (Requested by abarth on
#webkit).
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-03
.:
* Source/autotools/symbols.filter:
Source/WebCore:
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::iconURLs):
* dom/Document.h:
(Document):
* loader/icon/IconController.cpp:
(WebCore::IconController::iconURL):
(WebCore::IconController::urlsForTypes):
* loader/icon/IconController.h:
(IconController):
* testing/Internals.cpp:
(WebCore::Internals::iconURLs):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit:
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Source/WebKit/chromium:
* public/WebFrame.h:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::iconURLs):
* src/WebFrameImpl.h:
(WebFrameImpl):
Source/WebKit/win:
* WebKit.vcproj/WebKitExports.def.in:
LayoutTests:
* fast/dom/icon-url-change.html:
* fast/dom/icon-url-list-apple-touch-expected.txt: Removed.
* fast/dom/icon-url-list-apple-touch.html: Removed.
* fast/dom/icon-url-list.html:
* fast/dom/icon-url-property.html:
* platform/chromium-android/fast/dom/icon-url-list-apple-touch-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144572
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mkwst@chromium.org [Sun, 3 Mar 2013 11:06:19 +0000 (11:06 +0000)]
CSP 1.1: Support CSP 1.1 directives on the unprefixed header.
https://bugs.webkit.org/show_bug.cgi?id=111254
Reviewed by Adam Barth.
Source/WebCore:
We'd like to ensure that early adopters don't get stuck on a prefixed
header; when CSP 1.1 is baked enough to be supported in multiple
browsers, everything should Just Work™.
This patch changes WebKit's behavior regarding CSP_NEXT features.
Currently, they're only exposed on the prefixed header ('X-WebKit-CSP').
This patch exposes those features on the canonical header, assuming
that the runtime flag is set. This shouldn't have any effect at all on
ports that haven't yet enabled CSP_NEXT, and will simply clear the way
for a clean deployment to a wider audience once the specification
process is further along.
This change shouldn't have any effect on the existing tests: they
should run just as they did before. The next step will be to adjust
the LayoutTests for 1.1 to prefer the canonical header, but I'll do
that in another patch to reduce churn.
Related, the enum names no longer made sense: the difference between the
canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
prefix, not the functionality. This patch renames them for clarity.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
Use the new enum names.
* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::CSPDirectiveList):
(WebCore::CSPDirectiveList::addDirective):
Drop the 'm_experimental' property from CSPDirectiveList; we'll
control the behavior via the runtime flag from now on.
Also, this fixes a small bug in 'addDirective()': we never threw
unrecognized directive errors for users who were sending the
prefixed header. Oops!
(WebCore::ContentSecurityPolicy::deprecatedHeaderType):
Use the new enum names.
* page/ContentSecurityPolicy.h:
Redefine the enum for clarity: 'PrefixedReport' and 'Report'
rather than 'ReportAllDirectives' and 'ReportStableDirectives'.
Source/WebKit/chromium:
The enum names no longer made sense: the difference between the
canonical 'Content-Security-Policy' header and 'X-WebKit-CSP' is the
prefix, not the functionality. This patch renames them for clarity.
* public/WebContentSecurityPolicy.h:
* src/AssertMatchingEnums.cpp:
Rename the Chromium side of the enums.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144571
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sun, 3 Mar 2013 10:47:41 +0000 (10:47 +0000)]
Source/WebCore: Another Windows build fix attempt after r144567.
Try touching the IDL file in a hope it'll regenerate JSInternals.cpp.
* testing/Internals.idl:
Source/WebKit/win: That was a wrong fix. Revert r144569.
* WebKit.vcproj/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144570
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sun, 3 Mar 2013 10:34:03 +0000 (10:34 +0000)]
Windows build fix attempt after r144567.
* WebKit.vcproj/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144569
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 3 Mar 2013 10:12:59 +0000 (10:12 +0000)]
Unreviewed attempted build fix. Adds back some includes removed in
http://trac.webkit.org/changeset/144565.
Source/WebCore:
* Modules/mediastream/RTCPeerConnection.cpp:
* bindings/ScriptControllerBase.cpp:
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
(WebCore):
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/FrameLoader.cpp:
* loader/MainResourceLoader.cpp:
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/cache/CachedResource.cpp:
* loader/icon/IconController.cpp:
* page/DOMWindowExtension.cpp:
* page/Frame.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginView.cpp:
* rendering/HitTestResult.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResource.cpp:
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
(WebCore):
Source/WebKit/chromium:
* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.cpp:
* src/EditorClientImpl.cpp:
* src/SharedWorkerRepository.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebFrameImpl.h:
(WebCore):
* src/WebNode.cpp:
* src/WebSharedWorkerImpl.cpp:
* tests/FrameLoaderClientImplTest.cpp:
Source/WebKit/efl:
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:
Source/WebKit/mac:
* DOM/WebDOMOperations.mm:
* Misc/WebNSPasteboardExtras.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebView/WebRenderLayer.mm:
* WebView/WebRenderNode.mm:
Source/WebKit/qt:
* WebCoreSupport/NotificationPresenterClientQt.cpp:
* WebCoreSupport/QWebPageAdapter.cpp:
Source/WebKit2:
* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/soup/WebProcessSoup.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144568
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 3 Mar 2013 09:54:08 +0000 (09:54 +0000)]
<link rel="apple-touch-icon"> tag is not honored on CNN.com, workflowy.com etc
https://bugs.webkit.org/show_bug.cgi?id=109061
Patch by Ruslan Abdikeev <aruslan@chromium.org> on 2013-03-03
Reviewed by Adam Barth.
.:
* Source/autotools/symbols.filter:
Source/WebCore:
Test: fast/dom/icon-url-list-apple-touch.html
Added iconTypes parameter to Document::iconURLs().
Added Document::shortcutIconURLs() with original semantics of iconURLs().
Fixed IconController.cpp to provide iconTypesMask to iconURLs().
Renamed iconTypes to iconTypesMask to make the meaning clearer.
* WebCore.exp.in:
* dom/Document.cpp:
(WebCore::Document::shortcutIconURLs):
(WebCore):
(WebCore::Document::iconURLs):
* dom/Document.h:
(Document):
* loader/icon/IconController.cpp:
(WebCore::IconController::iconURL):
(WebCore::IconController::urlsForTypes):
* testing/Internals.cpp:
(WebCore::Internals::iconURLs):
(WebCore::Internals::shortcutIconURLs):
(WebCore):
(WebCore::Internals::allIconURLs):
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
Added test for apple-touch-icon in allIconURLs().
Changed iconURLs() to shortcutIconURLs().
* fast/dom/icon-url-change.html:
* fast/dom/icon-url-list-apple-touch-expected.txt: Added.
* fast/dom/icon-url-list-apple-touch.html: Added.
* fast/dom/icon-url-list.html:
* fast/dom/icon-url-property.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144567
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mkwst@chromium.org [Sun, 3 Mar 2013 09:28:53 +0000 (09:28 +0000)]
CSP: Throw a warning when a '*-report-only' header doesn't contain a 'report-uri' directive.
https://bugs.webkit.org/show_bug.cgi?id=111208
Reviewed by Adam Barth.
Source/WebCore:
Developers in the wild have been observed to serve a report-only CSP
header with a policy that doesn't contain a 'report-uri' directive.
This has zero effect, of course, and we should help them understand
that by throwing a warning up on the console.
Test: http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::isReportOnly): Added.
(WebCore::CSPDirectiveList::reportURIs): Added.
(WebCore::CSPDirectiveList::create):
After creating a CSPDirectiveList, check whether it's in
report-only mode without a report-uri. If so, warn the developer.
(WebCore::ContentSecurityPolicy::reportMissingReportURI): Added.
Write an exciting message to the console, warning the developer
about her expensive no-op machine.
LayoutTests:
* http/tests/security/contentSecurityPolicy/report-only-report-uri-missing-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-only-report-uri-missing.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144566
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 3 Mar 2013 09:16:26 +0000 (09:16 +0000)]
Unreviewed rollout of trac.webkit.org/r144530
As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
large number of ASSERTs in chromium-win.
Source/WebCore:
* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/notifications/Notification.cpp:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/ScriptControllerBase.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptSourceCode.h:
(WebCore):
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSCrossfadeValue.h:
(WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
(WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* css/WebKitCSSSVGDocumentValue.h:
(WebCore):
* dom/Clipboard.cpp:
(WebCore::Clipboard::Clipboard):
* dom/ContainerNode.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/HTMLScriptRunner.h:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
(WebCore):
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
(WebCore):
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/CrossOriginAccessControl.h:
(WebCore):
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentThreadableLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
* loader/FrameLoader.h:
(WebCore):
(WebCore::FrameLoader::policyChecker):
* loader/ImageLoader.cpp:
* loader/ImageLoader.h:
* loader/LinkLoader.h:
(WebCore):
* loader/MainResourceLoader.cpp:
* loader/MainResourceLoader.h:
(WebCore):
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/PolicyChecker.h:
(WebCore):
* loader/ProgressTracker.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/TextTrackLoader.cpp:
* loader/TextTrackLoader.h:
(WebCore):
* loader/ThreadableLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
(WebCore):
* loader/appcache/ApplicationCacheHost.cpp:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedFont.h:
(CachedFontClient):
(WebCore::CachedFontClient::~CachedFontClient):
(WebCore::CachedFontClient::expectedType):
(WebCore::CachedFontClient::resourceClientType):
(WebCore::CachedFontClient::fontLoaded):
(WebCore):
* loader/cache/CachedFontClient.h: Removed.
* loader/cache/CachedImage.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedRawResource.h:
(WebCore):
(CachedRawResourceClient):
(WebCore::CachedRawResourceClient::~CachedRawResourceClient):
(WebCore::CachedRawResourceClient::expectedType):
(WebCore::CachedRawResourceClient::resourceClientType):
(WebCore::CachedRawResourceClient::dataSent):
(WebCore::CachedRawResourceClient::responseReceived):
(WebCore::CachedRawResourceClient::dataReceived):
(WebCore::CachedRawResourceClient::redirectReceived):
(WebCore::CachedRawResourceClient::dataDownloaded):
* loader/cache/CachedRawResourceClient.h: Removed.
* loader/cache/CachedResource.cpp:
* loader/cache/CachedResourceHandle.cpp:
(WebCore):
* loader/cache/CachedResourceHandle.h:
(WebCore):
(WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
(WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
* loader/cache/CachedSVGDocument.h:
(CachedSVGDocumentClient):
(WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
(WebCore::CachedSVGDocumentClient::expectedType):
(WebCore::CachedSVGDocumentClient::resourceClientType):
(WebCore):
* loader/cache/CachedSVGDocumentClient.h: Removed.
* loader/cache/CachedSVGDocumentReference.cpp: Removed.
* loader/cache/CachedSVGDocumentReference.h:
(WebCore):
(WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
* loader/cache/CachedStyleSheetClient.h:
(WebCore):
* loader/cache/MemoryCache.h:
(WebCore):
(MemoryCache):
* loader/chromium/CachedRawResourceChromium.cpp:
* loader/icon/IconController.cpp:
* loader/icon/IconLoader.h:
* loader/mac/ResourceLoaderMac.mm:
* page/DOMWindowExtension.cpp:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore):
(WebCore::Frame::reportMemoryUsage):
* page/Frame.h:
(WebCore):
(Frame):
(WebCore::Frame::init):
(WebCore::Frame::loader):
* page/PerformanceNavigation.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/Settings.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/filters/FilterOperation.cpp:
(WebCore):
* platform/graphics/filters/FilterOperation.h:
(WebCore):
(WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
(WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/mac/PasteboardMac.mm:
* platform/network/AuthenticationChallengeBase.cpp:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/mac/CookieStorageMac.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginRequest.h: Removed.
* plugins/PluginStream.h:
(PluginStreamClient):
(WebCore::PluginStreamClient::~PluginStreamClient):
(WebCore::PluginStreamClient::streamDidFinishLoading):
(WebCore):
* plugins/PluginStreamClient.h: Removed.
* plugins/PluginView.cpp:
* plugins/PluginView.h:
(WebCore):
(PluginRequest):
(WebCore::PluginRequest::PluginRequest):
(WebCore::PluginRequest::frameLoadRequest):
(WebCore::PluginRequest::notifyData):
(WebCore::PluginRequest::sendNotification):
(WebCore::PluginRequest::shouldAllowPopups):
* rendering/HitTestResult.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/RenderBox.cpp:
* rendering/RenderEmbeddedObject.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::RenderImageResource):
(WebCore):
* rendering/RenderImageResource.h:
(WebCore::RenderImageResource::image):
(WebCore::RenderImageResource::errorOccurred):
(WebCore::RenderImageResource::usesImageContainerSize):
(WebCore::RenderImageResource::imageHasRelativeWidth):
(WebCore::RenderImageResource::imageHasRelativeHeight):
(WebCore::RenderImageResource::imageSize):
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerFilterInfo.h:
(WebCore):
* rendering/RenderListItem.cpp:
* rendering/RenderListMarker.cpp:
* rendering/RenderSnapshottedPlugIn.cpp:
* rendering/RenderTableCol.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/style/StyleCachedShader.h:
* rendering/style/StyleCustomFilterProgram.cpp: Removed.
* rendering/style/StyleCustomFilterProgram.h:
(WebCore):
(WebCore::StyleCustomFilterProgram::vertexShaderString):
(StyleCustomFilterProgram):
(WebCore::StyleCustomFilterProgram::fragmentShaderString):
(WebCore::StyleCustomFilterProgram::isLoaded):
(WebCore::StyleCustomFilterProgram::willHaveClients):
(WebCore::StyleCustomFilterProgram::didRemoveLastClient):
(WebCore::StyleCustomFilterProgram::notifyFinished):
* svg/SVGFEImageElement.h:
* svg/SVGFontFaceUriElement.h:
(SVGFontFaceUriElement):
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
* svg/graphics/SVGImageCache.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
(WebCore):
* xml/XSLTProcessorLibxslt.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
Source/WebKit/chromium:
* src/ApplicationCacheHost.cpp:
* src/AssociatedURLLoader.cpp:
* src/EditorClientImpl.cpp:
* src/SharedWorkerRepository.cpp:
* src/WebDataSourceImpl.cpp:
* src/WebFrameImpl.h:
(WebCore):
* src/WebNode.cpp:
* src/WebSharedWorkerImpl.cpp:
* tests/FrameLoaderClientImplTest.cpp:
Source/WebKit/efl:
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* ewk/ewk_frame.cpp:
Source/WebKit/gtk:
* webkit/webkitwebpolicydecision.cpp:
Source/WebKit/mac:
* DOM/WebDOMOperations.mm:
* Misc/WebNSPasteboardExtras.mm:
* WebCoreSupport/WebFrameNetworkingContext.mm:
* WebView/WebRenderLayer.mm:
* WebView/WebRenderNode.mm:
Source/WebKit/qt:
* WebCoreSupport/NotificationPresenterClientQt.cpp:
* WebCoreSupport/QWebPageAdapter.cpp:
Source/WebKit2:
* NetworkProcess/HostRecord.h:
* NetworkProcess/NetworkResourceLoadScheduler.h:
* NetworkProcess/NetworkResourceLoader.h:
(WebCore):
* Shared/WebRenderLayer.cpp:
* Shared/WebRenderObject.cpp:
* WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
* WebProcess/Plugins/PluginView.cpp:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
* WebProcess/WebProcess.cpp:
* WebProcess/soup/WebProcessSoup.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144565
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 3 Mar 2013 08:56:45 +0000 (08:56 +0000)]
WebKit API for enabling DOM logging for certain worlds
https://bugs.webkit.org/show_bug.cgi?id=110779
Patch by Ankur Taly <ataly@google.com> on 2013-03-03
Reviewed by Kentaro Hara.
* WebKit.gyp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144564
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Sun, 3 Mar 2013 08:52:17 +0000 (08:52 +0000)]
[V8] Remove TranslateParameter() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=111218
Reviewed by Adam Barth.
TranslateParameter() does nothing. It tries to convert TimeoutHandler to DOMString,
but there is no non-custom method that uses TimeoutHandler.
The only place where TimeoutHandler is used in the WebKit IDL is setTimeout() and setInterval().
However, the latest spec uses 'any' instead of TimeoutHandler.
http://dev.w3.org/html5/spec-LC/timers.html
Thus, this patch updates the IDL declarations of setTimeout() and setInterval()
according to the spec. By this change, TimeoutHandler is gone away from the WebKit IDL.
(Anyway this IDL change has no effect, because setTimeout() and setInterval() are written
in custom bindings.)
No tests. No change in behavior.
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateParametersCheck):
* page/DOMWindow.idl:
* workers/WorkerContext.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144563
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sun, 3 Mar 2013 08:46:03 +0000 (08:46 +0000)]
keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=85642
Source/WebCore:
Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
Patch by James Weatherall <wez@chromium.org> on 2013-03-03
Reviewed by Adam Barth.
* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):
Source/WebKit/chromium:
Add tests to verify that the fixed keys generate the same keyCode values as their equivalents.
Patch by James Weatherall <wez@chromium.org> on 2013-03-03
Reviewed by Adam Barth.
* WebKit.gypi:
* tests/KeyCodeConversionTestGtk.cpp: Added.
(WebCore):
(WebCore::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144562
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 3 Mar 2013 08:33:44 +0000 (08:33 +0000)]
REGRESSION(144520): Does not compile on chromium-win
https://bugs.webkit.org/show_bug.cgi?id=111261
Unreviewed rollout of http://trac.webkit.org/changeset/144520. This
patch does not compile for chromium-win. See the bug for the compile
error.
* rendering/ExclusionShapeInsideInfo.cpp:
* rendering/ExclusionShapeInsideInfo.h:
(WebCore):
(LineSegmentRange):
(WebCore::LineSegmentRange::LineSegmentRange):
(WebCore::ExclusionShapeInsideInfo::isEnabledFor):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed):
(WebCore::RenderBlock::exclusionShapeInsideInfo):
(WebCore):
(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange):
* rendering/RenderBlock.h:
(WebCore):
(RenderBlock):
(RenderBlockRareData):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForLine):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144561
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Sun, 3 Mar 2013 07:13:29 +0000 (07:13 +0000)]
REGRESSION (r144517): IndexedDB layout test failures on GTK
https://bugs.webkit.org/show_bug.cgi?id=111243
Reviewed by Martin Robinson.
Source/WebCore:
Changes to the custom JSC bindings for IDBAny are required after r144517,
specifically the case of IDBAny object having the KeyPathType type has to be covered.
These changes are analogous to those made to the V8 bindings in the mentioned commit.
No new tests - already covered by existing tests.
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
(WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
LayoutTests:
* platform/gtk/TestExpectations: Removing failure expectations for IDB tests that again pass.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144559
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 3 Mar 2013 06:55:45 +0000 (06:55 +0000)]
Another try at fixing the build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144557
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 3 Mar 2013 06:31:24 +0000 (06:31 +0000)]
Try to fix build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144555
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 3 Mar 2013 05:55:53 +0000 (05:55 +0000)]
Cut down the number of source files that depend on Clipboard.h
https://bugs.webkit.org/show_bug.cgi?id=110030
Reviewed by Ryosuke Niwa.
Source/WebCore:
I am doing some work on Clipboard and it's better to recompile 50 files
each time we touch the header instead of 700. Also cut down on includes
of DragState.h.
* WebCore.exp.in: Updated for new MouseEvent::create function.
* dom/ClipboardEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.
* dom/ClipboardEvent.h: Forward declared Clipboard instead of including
Clipboard.h. Also made some overrides private because they can be.
* dom/DataTransferItem.h: Removed unneeded include of Clipboard.h.
* dom/MouseEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.
(WebCore::MouseEvent::create): Made the create function non-inline
since we can't compile it without including Clipboard.h and we don't
want to include Clipboard.h in the header. This is not so commonly
used or so hot that this needs to be inlined.
* dom/MouseEvent.h: Forward declared Clipboard instead of including
Clipboard.h. Made MouseEvent::create a non-inline function and also
used overloading instead of default arguments, since we can't compile
a default argument of type PassRefPtr<Clipboard> without including
Clipboard.h.
* dom/WheelEvent.cpp: Added include of Clipboard.h since we use it
here and the world no longer includes it everywhere.
* dom/WheelEvent.h: Forward declare PlatformWheelEvent since it is used
in this header. Previously we'd get it indirectly from including a header
that included Clipboard.h.
* editing/Editor.cpp: Added include of Clipboard.h since we use it here
and the world no longer includes it everywhere.
* inspector/InspectorDebuggerAgent.cpp: Added include of CachedResource.h.
We used to get this indirectly through Clipboard.h.
* inspector/InspectorFrontendHost.cpp: Added includes of ResourceError.h
and ResourceResponse.h. We used to get these indirectly through Clipboard.h.
Also removed unneeded include of <wtf/RefPtr.h>.
* inspector/NetworkResourcesData.cpp: Added include of CachedResource.h.
We used to get this indirectly through Clipboard.h.
* loader/PingLoader.cpp: Added include of ResourceResponse.h.
We used to get this indirectly through Clipboard.h.
* page/DragController.cpp: Added include of DragState.h.
We used to get this indirectly through EventHandler.h
* page/EventHandler.h: Forward declared DragState and Element instead of
including DragState.h. Also added an include of LayoutPoint.h, which we
used to get indirectly through DragState.h.
Source/WebKit/chromium:
* src/SharedWorkerRepository.cpp: Add include of ResourceResponse.h
here. We used to get this indirectly through Clipboard.h.
Source/WebKit/mac:
* WebView/WebPDFView.mm: Add include of Clipboard.h since we use it
here and the world no longer includes it everywhere.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144553
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 3 Mar 2013 05:47:27 +0000 (05:47 +0000)]
StringHasher functions require alignment that call sites do not all guarantee
https://bugs.webkit.org/show_bug.cgi?id=110171
Reviewed by Benjamin Poulain.
Source/WebCore:
* platform/graphics/WidthCache.h:
(WebCore::WidthCache::SmallStringKey::SmallStringKey): Use the newly added
addCharactersAssumingAligned to make sure we don't slow this call site down.
It's safe since this code always adds characters two at a time.
Source/WTF:
The StringHasher class is optimized for clients who pass it two characters at
a time. However, the function named addCharacters did not make this clear to
clients, and one calculateStringHashAndLengthFromUTF8MaskingTop8Bits got it wrong.
Fix by making addCharacters work regardless of hasher alignment and adding a new
function, addCharactersAssumingAligned, for use when we want a faster path and can
guarantee we are adding characters two at a time.
* wtf/StringHasher.h:
(WTF::StringHasher::addCharactersAssumingAligned): Renamed the addCharacters function
addCharactersAssumingAligned, since it only works if the hasher is currently aligned,
meaning it contains an even number of characters. The function already asserts
that this is true, but the calculateStringHashAndLengthFromUTF8MaskingTop8Bits
function was using it in cases where the assertion could fire. Also updated to
call addCharactersInternal by its new name. Also added some new overloads that take
data pointers and lengths so callers can always use addCharactersAssumingAligned
instead of addCharacters if they know the hasher is aligned.
(WTF::StringHasher::addCharacter): Updated to call the public
addCharactersAssumingAligned function since that's simpler and a bit cleaner.
(WTF::StringHasher::addCharacters): Added functions with this name that handle
the case where the hasher is not aligned. These will be called by existing call sites
that were formerly using the function named addCharactersAssumingAligned above.
Also add an overload that works with the default converter automatically.
(WTF::StringHasher::computeHashAndMaskTop8Bits): Changed to call
addCharactersAssumingAligned to eliminate copied and pasted code. The hasher is empty,
so definitely aligned.
(WTF::StringHasher::computeHash): Ditto.
(WTF::StringHasher::addCharactersInternal): Renamed from addCharactersToHash, since
the former name did not make clear how this differs from the public functions.
The real difference is that this is like addCharactersAssumingAligned, but without
the assertion, so addCharactersAssumingAligned is called instead, even within the
class's implementation.
Tools:
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.gypi:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/WTF.pro:
* TestWebKitAPI/win/TestWebKitAPI.vcproj:
Added the StringHasher.cpp file.
* TestWebKitAPI/Tests/WTF/StringHasher.cpp: Added. Contains a bunch of tests
for the functions in the StringHasher class.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144552
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 3 Mar 2013 02:53:28 +0000 (02:53 +0000)]
WebKit2 is missing the setShowsURLsInToolTips preference
https://bugs.webkit.org/show_bug.cgi?id=111259
<rdar://problem/
12991891>
Reviewed by Maciej Stachowiak.
* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetShowsURLsInToolTipsEnabled):
(WKPreferencesGetShowsURLsInToolTipsEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Pipe it through.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144550
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 3 Mar 2013 01:45:58 +0000 (01:45 +0000)]
XSSAuditor has a subtle race condition when used with the threaded HTML parser
https://bugs.webkit.org/show_bug.cgi?id=111253
Reviewed by Eric Seidel.
We were refing and derefing a StringImpl for a main-thread
AtomicString. Using QualifiedNames on the background thread is very
fragile and we should figure out a more robust solution.
* html/parser/XSSAuditor.cpp:
(WebCore::findAttributeWithName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144549
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sun, 3 Mar 2013 00:57:26 +0000 (00:57 +0000)]
Export a missing symbol after r144547.
Unreviewed.
* WebKit.vcproj/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144548
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sun, 3 Mar 2013 00:08:44 +0000 (00:08 +0000)]
Move computedStyleIncludingVisitedInfo from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=109772
Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-02
Reviewed by Andreas Kling.
Source/WebCore:
The function computedStyleIncludingVisitedInfo() is purely internal to WebCore,
it is better defined on Internals than on TestRunner.
* testing/Internals.cpp:
(WebCore::Internals::computedStyleIncludingVisitedInfo):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit/blackberry:
* WebKitSupport/DumpRenderTreeSupport.cpp:
* WebKitSupport/DumpRenderTreeSupport.h:
(DumpRenderTreeSupport):
Source/WebKit/efl:
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
Source/WebKit/gtk:
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
Source/WebKit/mac:
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
Source/WebKit/qt:
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:
Source/WebKit2:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
* WebProcess/WebPage/WebFrame.cpp:
* WebProcess/WebPage/WebFrame.h:
(WebFrame):
Tools:
* DumpRenderTree/TestRunner.cpp:
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
(TestRunner):
* DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
* DumpRenderTree/efl/TestRunnerEfl.cpp:
* DumpRenderTree/gtk/TestRunnerGtk.cpp:
* DumpRenderTree/mac/TestRunnerMac.mm:
* DumpRenderTree/qt/TestRunnerQt.cpp:
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):
* DumpRenderTree/win/TestRunnerWin.cpp:
* DumpRenderTree/wx/TestRunnerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
LayoutTests:
Update the tests.
* fast/history/multiple-classes-visited.html:
* fast/history/nested-visited-test.html:
* fast/history/self-is-visited.html:
* fast/history/sibling-visited-test.html:
* fast/loader/stateobjects/state-url-sets-links-visited.html:
* platform/win/TestExpectations: unskip the tests.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144547
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 2 Mar 2013 23:42:41 +0000 (23:42 +0000)]
BUILD FIX (r143637): Export ScriptController::javaScriptContext() on iOS
<http://webkit.org/b/106059>
Fixes the following build failure:
Undefined symbols for architecture armv7:
"__ZN7WebCore16ScriptController17javaScriptContextEv", referenced from:
-[WebFrame javaScriptContext] in WebFrame.o
__ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE in WebFrameLoaderClient.o
ld: symbol(s) not found for architecture armv7
* WebCore.exp.in: Export ScriptController::javaScriptContext()
even more unconditionally.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144546
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 2 Mar 2013 23:36:00 +0000 (23:36 +0000)]
BUILD FIX (r143637): Predeclare JSContext as an Objective-C class
<http://webkit.org/b/106059>
Fixes the following build failure:
In file included from Source/WebKit/ios/DefaultDelegates/WebDefaultFrameLoadDelegate.m:11:
In file included from Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h:29:
Source/WebKit/mac/WebView/WebFrameLoadDelegate.h:215:64: error: expected a type
- (void)webView:(WebView *)webView didCreateJavaScriptContext:(JSContext *)context forFrame:(WebFrame *)frame;
^
1 error generated.
* WebView/WebFrameLoadDelegate.h: Add @class JSContext
declaration.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144545
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 2 Mar 2013 21:06:57 +0000 (21:06 +0000)]
Remove two unnecessary mallocs from the main-thread-parser code path
https://bugs.webkit.org/show_bug.cgi?id=111249
Reviewed by Adam Barth.
I noticed these while fixing up our Vector -> String conversions
but never went back to fix the FIXME.
AtomicString(Vector<UChar, capacity>) is smart enough to avoid mallocing
if the represented string is already in the AtomicString table. It
also handles 8bit vs. 16bit and empty() just like nameString() does.
I also removed a 3rd caller to nameString() in the XSSAuditor which
was causing an unnecessary malloc in both the main and background
thread parser paths.
* html/parser/AtomicHTMLToken.h:
(WebCore::AtomicHTMLToken::AtomicHTMLToken):
* html/parser/HTMLToken.h:
* html/parser/XSSAuditor.cpp:
(WebCore):
(WebCore::threadSafeMatch):
(WebCore::hasName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144544
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 2 Mar 2013 18:09:53 +0000 (18:09 +0000)]
constructTreeFromCompactHTMLToken should call clearExternalCharacters
https://bugs.webkit.org/show_bug.cgi?id=111248
Reviewed by Adam Barth.
I don't know how to write a test for this. It's possible characters()
is never accessed from HTMLStackItem::token(), but it's better to be
safe than sorry here.
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::constructTreeFromCompactHTMLToken):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144543
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rwlbuis@webkit.org [Sat, 2 Mar 2013 15:02:45 +0000 (15:02 +0000)]
Text overflow ellipsis wrong color when using webkit-text-fill-color
https://bugs.webkit.org/show_bug.cgi?id=54841
Reviewed by David Hyatt.
Source/WebCore:
Take -webkit-text-fill-color into account for ellipsis painting.
Test: fast/css/text-overflow-ellipsis-color.html
* rendering/EllipsisBox.cpp:
(WebCore::EllipsisBox::paint):
LayoutTests:
Add reftest for using -webkit-text-fill-color in combination with text-overflow:ellipsis.
* fast/css/text-overflow-ellipsis-color-expected.html: Added.
* fast/css/text-overflow-ellipsis-color.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144542
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rakuco@webkit.org [Sat, 2 Mar 2013 14:39:08 +0000 (14:39 +0000)]
[EFL] Unskip some passing tests.
* platform/efl/TestExpectations: Remove tests that pass after
r140006 and r139217.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144541
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 2 Mar 2013 12:36:10 +0000 (12:36 +0000)]
Redo r144538 (after r144530).
* WebCoreSupport/WebFrameNetworkingContext.cpp:
* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebPlatformStrategies.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144540
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 2 Mar 2013 10:14:04 +0000 (10:14 +0000)]
Yet another build fix attempt after r144530.
* WebCoreSupport/WebFrameNetworkingContext.cpp:
* WebCoreSupport/WebPlatformStrategies.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144538
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 2 Mar 2013 09:54:34 +0000 (09:54 +0000)]
Another build fix attempt after r144530.
* WebCoreSupport/WebFrameNetworkingContext.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144537
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 2 Mar 2013 09:07:37 +0000 (09:07 +0000)]
Fix a typo in my previous commit (r144534).
* platform/win/PasteboardWin.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144536
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nayankk@motorola.com [Sat, 2 Mar 2013 09:02:31 +0000 (09:02 +0000)]
[WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView.
https://bugs.webkit.org/show_bug.cgi?id=110818
Reviewed by Kenneth Russell.
As per OES_texture_half_float specification texImage2D and texSubImage2D entry
points taking ArrayBufferView should extended to accept null with the pixel type
HALF_FLOAT_OES.
Source/WebCore:
Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
fast/canvas/webgl/oes-texture-half-float.html
* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::getName):
(WebCore::OESTextureHalfFloat::create):
* html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
(WebCore):
(OESTextureHalfFloat):
* html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texSubImage2D):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
(WebCore::WebGLRenderingContext::validateTexFuncData):
* html/canvas/WebGLRenderingContext.h:
(WebCore):
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl:
* platform/graphics/Extensions3D.h:
(Extensions3D):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsTypes3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::texImage2D):
LayoutTests:
* fast/canvas/webgl/constants.html:
* fast/canvas/webgl/oes-texture-half-float-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Added.
* fast/canvas/webgl/oes-texture-half-float-not-supported.html: Added.
* fast/canvas/webgl/oes-texture-half-float.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144535
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Sat, 2 Mar 2013 08:57:00 +0000 (08:57 +0000)]
Windows build fix attempt after r144530.
* platform/win/PasteboardWin.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144534
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 2 Mar 2013 07:46:51 +0000 (07:46 +0000)]
Tried to fix the build after r144530.
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Include the header for the
base class.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144533
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Sat, 2 Mar 2013 07:00:13 +0000 (07:00 +0000)]
Unreviewed GTK gardening.
* platform/gtk/TestExpectations: Adding failure expectations for IndexedDB tests
that regressed on platforms using JavaScriptCore with r144517.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144532
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tdanderson@chromium.org [Sat, 2 Mar 2013 06:41:41 +0000 (06:41 +0000)]
Remove unused member variable m_useLatchedEventNode from PlatformWheelEvent.h
https://bugs.webkit.org/show_bug.cgi?id=107314
Reviewed by Darin Adler.
EventHandler::handleGestureScrollCore() was removed in http://trac.webkit.org/changeset/140177,
and this was the only place where the member variable |m_useLatchedEventNode| in
PlatformWheelEvent was mutated. This variable is no longer needed and so it should be removed.
No change in behavior, so no new tests needed.
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
(WebCore::PlatformWheelEvent::useLatchedEventNode):
(PlatformWheelEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144531
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 2 Mar 2013 06:36:29 +0000 (06:36 +0000)]
Reduce amount of rebuilding when touching networking headers
https://bugs.webkit.org/show_bug.cgi?id=111035
Reviewed by Eric Seidel.
This uses a number of common unsurprising techniques. One interesting observation
is that including CachedResource related headers is very expensive. We can usually
get away with their Client counterparts, and with CachedResourceHandle.
* page/Frame.cpp:
* page/Frame.h:
Don't include FrameLoader, greatly reducing include graph for most non-loader files.
This required making Frame::init() non-inline - I'm not sure why it ever was.
* loader/FrameLoader.cpp:
* loader/FrameLoader.h:
Even though FrameLoader is logically on loading side of WebCore, it's included in
too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
largest wins. As a future improvement, we should probably convert other members
to OwnPtrs.
* css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
definition of a class it holds, but default construction does not.
* loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
* loader/cache/CachedFont.h:
* loader/cache/CachedFontClient.h: Added.
* loader/cache/CachedRawResource.h:
* loader/cache/CachedRawResourceClient.h: Added.
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedSVGDocumentClient.h: Added.
These types were defining client types in the same headers, making it impossible
to avoid including networking headers through CachedResource. Moved clients into
separate files.
* plugins/PluginStream.h:
* plugins/PluginStreamClient.h: Added.
Similar situation here.
* loader/cache/CachedResourceHandle.cpp:
* loader/cache/CachedResourceHandle.h:
Moved functions that need to know about CachedResource to .cpp file. This is another
huge win. Added a destructor, so that CachedResource woudn't be needed in all files
that include CachedResourceHandle.
* loader/cache/CachedSVGDocumentReference.cpp: Added.
* loader/cache/CachedSVGDocumentReference.h:
Moved constructor and virtual function implementations to a .cpp file - they need
not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
* platform/graphics/filters/FilterOperation.cpp:
* platform/graphics/filters/FilterOperation.h:
Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
rendering code that it seems best to cut any ties with resources and loading.
Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
classes are generally harmful (due to code bloat).
* plugins/PluginRequest.h: Added.
* plugins/PluginView.h:
Moved PluginRequest into a separate file, it was out of place in a view hierarchy
class file.
* rendering/RenderImageResource.cpp:
* rendering/RenderImageResource.h:
Moved definitions of virtual functions to a .cpp file. Thre is no win from having
them inline, and now we don't need CachedImage.h in the header.
* rendering/style/StyleCustomFilterProgram.cpp: Added.
* rendering/style/StyleCustomFilterProgram.h:
Ditto.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
* Modules/notifications/Notification.cpp:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/ScriptControllerBase.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/ScriptController.cpp:
* bindings/js/ScriptSourceCode.h:
* bindings/objc/DOM.mm:
* bindings/v8/ScriptController.cpp:
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/custom/V8DOMWindowCustom.cpp:
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
* css/WebKitCSSSVGDocumentValue.cpp:
* css/WebKitCSSSVGDocumentValue.h:
* dom/Clipboard.cpp:
* dom/ContainerNode.cpp:
* dom/DOMImplementation.cpp:
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
* dom/ScriptElement.h:
* history/CachedFrame.cpp:
* html/DOMURL.cpp:
* html/HTMLAnchorElement.cpp:
* html/HTMLAppletElement.cpp:
* html/HTMLElement.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFrameSetElement.cpp:
* html/HTMLHtmlElement.cpp:
* html/HTMLImageElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLPlugInElement.cpp:
* html/ImageDocument.cpp:
* html/ImageInputType.cpp:
* html/MediaDocument.cpp:
* html/PluginDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
* html/parser/HTMLConstructionSite.cpp:
* html/parser/HTMLParserOptions.cpp:
* html/parser/HTMLScriptRunner.h:
* html/parser/XSSAuditor.cpp:
* html/parser/XSSAuditorDelegate.cpp:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorFileSystemAgent.cpp:
* inspector/InspectorFrontendHost.cpp:
* inspector/InspectorInstrumentation.h:
* inspector/InspectorPageAgent.cpp:
* inspector/NetworkResourcesData.cpp:
* inspector/NetworkResourcesData.h:
* loader/CookieJar.cpp:
* loader/CrossOriginAccessControl.cpp:
* loader/CrossOriginPreflightResultCache.h:
* loader/DocumentThreadableLoader.h:
* loader/ImageLoader.cpp:
* loader/ImageLoader.h:
* loader/LinkLoader.h:
* loader/MainResourceLoader.cpp:
* loader/MainResourceLoader.h:
* loader/MixedContentChecker.cpp:
* loader/PingLoader.cpp:
* loader/PolicyChecker.h:
* loader/ProgressTracker.cpp:
* loader/SubframeLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/TextTrackLoader.cpp:
* loader/TextTrackLoader.h:
* loader/ThreadableLoader.h:
* loader/appcache/ApplicationCacheGroup.cpp:
* loader/appcache/ApplicationCacheGroup.h:
* loader/appcache/ApplicationCacheHost.cpp:
* loader/archive/cf/LegacyWebArchive.cpp:
* loader/cache/CachedFont.cpp:
* loader/cache/CachedImage.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cache/CachedResource.cpp:
* loader/cache/CachedStyleSheetClient.h:
* loader/cache/MemoryCache.cpp:
* loader/cache/MemoryCache.h:
* loader/chromium/CachedRawResourceChromium.cpp:
* loader/icon/IconController.cpp:
* loader/icon/IconLoader.h:
* loader/mac/ResourceLoaderMac.mm:
* page/DOMWindowExtension.cpp:
* page/DragController.cpp:
* page/PerformanceNavigation.cpp:
* page/PerformanceTiming.cpp:
* page/PointerLockController.cpp:
* page/Settings.cpp:
* page/animation/CSSPropertyAnimation.cpp:
* platform/chromium/PasteboardChromium.cpp:
* platform/efl/ErrorsEfl.cpp:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
* platform/gtk/ErrorsGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:
* platform/gtk/PasteboardHelper.h:
* platform/mac/ClipboardMac.h:
* platform/mac/ClipboardMac.mm:
* platform/mac/HTMLConverter.mm:
* platform/mac/PasteboardMac.mm:
* platform/network/AuthenticationChallengeBase.cpp:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/ResourceRequestCFNet.cpp:
* platform/network/mac/CookieStorageMac.mm:
* platform/qt/PasteboardQt.cpp:
* plugins/DOMMimeType.cpp:
* plugins/PluginView.cpp:
* rendering/HitTestResult.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/RenderBox.cpp:
* rendering/RenderEmbeddedObject.cpp:
* rendering/RenderImage.cpp:
* rendering/RenderImageResourceStyleImage.cpp:
* rendering/RenderLayer.cpp:
* rendering/RenderLayerBacking.cpp:
* rendering/RenderLayerFilterInfo.h:
* rendering/RenderListItem.cpp:
* rendering/RenderListMarker.cpp:
* rendering/RenderSnapshottedPlugIn.cpp:
* rendering/RenderTableCol.cpp:
* rendering/RenderTableRow.cpp:
* rendering/RenderTableSection.cpp:
* rendering/style/StyleCachedShader.h:
* svg/SVGFEImageElement.h:
* svg/SVGFontFaceUriElement.h:
* svg/SVGImageLoader.cpp:
* svg/SVGUseElement.cpp:
* svg/SVGUseElement.h:
* svg/graphics/SVGImageCache.cpp:
* testing/MockPagePopupDriver.cpp:
* xml/XSLStyleSheet.h:
* xml/XSLTProcessorLibxslt.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
Many self-evident changes - removing unnecessary header includes, adding smaller
more local ones that are now necessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144530
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 2 Mar 2013 06:14:28 +0000 (06:14 +0000)]
[New Multicolumn] Transformed objects inside fragmented transparent objects don't render
https://bugs.webkit.org/show_bug.cgi?id=111221.
Reviewed by Simon Fraser.
Source/WebCore:
Improve transparencyClipBox so that it understands when moving into descendants
that it does in fact have to break up the transformed clip rect across the
fragments.
Make sure when handling fragmented transforms using multiple paints that
the test that determines the extent of the transform within the fragments
uses transparencyClipBox. This gives us an accurate set of columns that the
final transformed result will paint across.
Tests: fast/multicol/mixed-opacity-fixed-test.html
fast/multicol/mixed-opacity-test.html
fast/multicol/transform-inside-opacity.html
* rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox):
(WebCore::expandClipRectForDescendantsAndReflection):
Break transformed boxes up into fragments when they are
being requested by an ancestor.
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
* rendering/RenderLayer.h:
(RenderLayer):
Modify collectFragments so that we pass in the correct range
within the columns that can possibly cover the fragmented
transformed box.
LayoutTests:
* fast/multicol/mixed-opacity-fixed-test-expected.html: Added.
* fast/multicol/mixed-opacity-fixed-test.html: Added.
* fast/multicol/mixed-opacity-test-expected.html: Added.
* fast/multicol/mixed-opacity-test.html: Added.
* fast/multicol/transform-inside-opacity-expected.html: Added.
* fast/multicol/transform-inside-opacity.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144529
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 05:53:00 +0000 (05:53 +0000)]
Remove call to set task priority of WebKit2 processes on Mac
https://bugs.webkit.org/show_bug.cgi?id=111239
Patch by Kiran Muppala <cmuppala@apple.com> on 2013-03-01
Reviewed by Darin Adler.
Remove call to set task prioirty of WebKit2 processes on Mac as it
is no longer necessary.
* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize): Remove call to setpriority().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144528
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
loislo@chromium.org [Sat, 2 Mar 2013 05:23:18 +0000 (05:23 +0000)]
Web Inspector: Native Memory Instrumentation: do not visit raw pointers by default.
https://bugs.webkit.org/show_bug.cgi?id=110943
Reviewed by Yury Semikhatsky.
Unfortunately in many cases raw pointer may point to an object that has been deleted.
There is no working solution to solve this problem in general.
It could be solved only on case by case basis.
Source/WebCore:
* inspector/HeapGraphSerializer.cpp:
(WebCore::HeapGraphSerializer::HeapGraphSerializer):
(WebCore::HeapGraphSerializer::reportLeaf):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* platform/graphics/BitmapImage.cpp:
(WebCore::FrameData::reportMemoryUsage):
* platform/graphics/skia/MemoryInstrumentationSkia.cpp:
(reportMemoryUsage):
Source/WTF:
* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::addObject):
(WTF::MemoryInstrumentation::MemberTypeTraits::addObject):
(WTF::MemoryClassInfo::addMember):
(WTF::MemoryInstrumentation::addObjectImpl):
* wtf/MemoryInstrumentationString.h:
(WTF::reportMemoryUsage):
Tools:
* TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
* TestWebKitAPI/Tests/WebCore/HeapGraphSerializerTest.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144527
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
haraken@chromium.org [Sat, 2 Mar 2013 05:18:43 +0000 (05:18 +0000)]
Style recalculation takes too long when adding whitespace text nodes
https://bugs.webkit.org/show_bug.cgi?id=110786
Reviewed by Darin Adler.
Source/WebCore:
// This takes 216 msec.
for (var i = 0; i < 1500; ++i) {
document.body.appendChild(document.createTextNode('x'));
document.body.appendChild(document.createElement('div'));
document.body.appendChild(document.createTextNode('x'));
}
// But this takes 25.3 seconds.
for (var i = 0; i < 1500; ++i) {
document.body.appendChild(document.createTextNode(' '));
document.body.appendChild(document.createElement('div'));
document.body.appendChild(document.createTextNode(' '));
}
The reason is that we do not create renderers for empty text
nodes and thus we are hitting the worst O(N^2) case in Node::attach().
(See FIXME in Node::attach().)
This patch adds a logic to bail out the loop to avoid the O(N^2) case.
Specifically, the patch bails out the loop if we encounter a text node
for which we again decided not to create a renderer. This bail out is
reasonable because the fact that we again decided not to create a renderer
for the text node indicates that there will be no affect of the result
of Text::textRendererIsNeeded() of the rest of the sibling nodes.
Performance test: https://bugs.webkit.org/attachment.cgi?id=190545
Performance result in Chromium/Linux: 25.3 sec => 48 msec !
Test: perf/append-text-nodes-without-renderers.html (for performance)
fast/dynamic/create-renderer-for-whitespace-only-text.html (for correctness)
The loop was introduced in r29054. We have to make sure that
all layout tests that were updated in r29054 pass with this patch.
See http://trac.webkit.org/changeset/29054.
* dom/Node.cpp:
(WebCore::Node::attach):
LayoutTests:
* fast/html/details-nested-2-expected.txt: Sometimes anonymous blocks are left without
being cleaned up (for some reason). With this patch, one anonymouse block is removed at
the clean-up phase (for some reason). Anyway the new behavior is an expected behavior.
* platform/chromium-mac/fast/html/details-nested-2-expected.txt: Ditto.
* platform/chromium-win/fast/html/details-nested-2-expected.txt: Ditto.
* platform/efl/fast/html/details-nested-2-expected.txt: Ditto.
* platform/mac/fast/html/details-nested-2-expected.txt: Ditto.
* platform/qt/fast/html/details-nested-2-expected.txt: Ditto.
* perf/append-text-nodes-without-renderers-expected.txt: Added. For performance test.
* perf/append-text-nodes-without-renderers.html: Added. Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144526
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Sat, 2 Mar 2013 05:17:53 +0000 (05:17 +0000)]
Add a missing symbol after r144524.
Unreviewed.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-03-01
* WebKit.vcproj/WebKitExports.def.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144525
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 05:06:30 +0000 (05:06 +0000)]
Source/WebCore: Moved markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
TestRunner framework is an old way of testing webkit, it would be
better to incorporate the testing frame directly into the WebCore itself
as to make it more compatible with WK2.
* testing/Internals.cpp:
(WebCore::Internals::markerTextForListItem):
(WebCore):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit/efl: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
Source/WebKit/gtk: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
Source/WebKit/mac: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* DOM/WebDOMOperations.mm:
* DOM/WebDOMOperationsPrivate.h:
Source/WebKit/qt: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:
Tools: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* 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:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
(TestRunner):
LayoutTests: Move markerTextForListItem from TestRunner to Internals
https://bugs.webkit.org/show_bug.cgi?id=110939
Patch by Jason Anderssen <janderssen@gmail.com> on 2013-03-01
Reviewed by Benjamin Poulain.
* fast/lists/resources/dump-list.js:
(dumpListItemAsHTML):
(testListItemMarkerEqualsListItemText):
* fast/lists/w3-css3-list-styles-numeric.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144524
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 03:44:02 +0000 (03:44 +0000)]
Unreviewed. Rolled Chromium DEPS to r185662. Requested by
"James Robinson" <jamesr@chromium.org> via sheriffbot.
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-01
* DEPS:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144523
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 02:35:53 +0000 (02:35 +0000)]
Don't leak Documents when using MutationObserver from extensions
https://bugs.webkit.org/show_bug.cgi?id=111234
Patch by Elliott Sprehn <esprehn@gmail.com> on 2013-03-01
Reviewed by Adam Barth.
.:
* ManualTests/leak-observer-nonmain-world.html: Added.
Source/WebCore:
MutationObserverCallback holds a WorldContextHandle which secretly isn't
a handle to anything when it's for the main world. When it's for a non-main
world though, like those used in extensions, it becomes a strong reference
to the v8::Context which results in leaks by creating cycles:
MutationObserver -> Callback -> World -> Document -> Node -> MutationObserver.
Instead we should keep a RefPtr to a DOMWrapperWorld in the callback and then
get the v8::Context from that inside handleEvent.
Tests: ManualTests/leak-observer-nonmain-world.html
* bindings/v8/V8Binding.cpp:
(WebCore::toV8Context): Added overload that takes a DOMWrapperWorld.
* bindings/v8/V8Binding.h:
* bindings/v8/V8MutationCallback.cpp:
(WebCore::V8MutationCallback::V8MutationCallback):
(WebCore::V8MutationCallback::handleEvent):
* bindings/v8/V8MutationCallback.h:
(V8MutationCallback):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144522
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 2 Mar 2013 01:31:54 +0000 (01:31 +0000)]
BUILD FIX: testapi should link to Foundation, not CoreFoundation
* JavaScriptCore.xcodeproj/project.pbxproj: Change testapi to
link to Foundation.framework instead of CoreFoundation.framework
since it uses NS types.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144521
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
betravis@adobe.com [Sat, 2 Mar 2013 01:16:29 +0000 (01:16 +0000)]
[css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
https://bugs.webkit.org/show_bug.cgi?id=110995
Reviewed by Julien Chaffraix.
This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
which enables us to move away from the global ExclusionShapeInsideInfo map.
Some additional refactoring was done to remove ExclusionShapeInsideInfo's
dependency on InlineIterator, which depended on RenderBlock. This work required
adding a new LineSegmentIterator struct.
Refactoring, no new tests.
* rendering/ExclusionShapeInsideInfo.cpp:
(WebCore):
(WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
constructor to the .cpp file, as InlineIterator is now forward declared in
the .h file.
(WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
the .cpp file, as RenderBlock is now forward declared in the .h file.
* rendering/ExclusionShapeInsideInfo.h:
(WebCore):
(LineSegmentIterator): A simple struct for containing segment positions for
layout.
(WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
(LineSegmentRange): Transitioning to store LineSegmentIterator.
(WebCore::LineSegmentRange::LineSegmentRange): Ditto.
(ExclusionShapeInsideInfo):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
(WebCore):
(WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
the RenderBlockRareData struct rather than the global map.
* rendering/RenderBlock.h:
(WebCore):
(WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
is present if the shape-inside style is set.
(WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
the current block.
(WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
for the current block.
(RenderBlockRareData): Add the ExclusionShapeInsideInfo member.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
layout based on the stored LineSegmentIterators.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144520
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
tdanderson@chromium.org [Sat, 2 Mar 2013 01:08:22 +0000 (01:08 +0000)]
EventHandler::handleGestureScrollUpdate() should invoke the user-generated scroll routines
so its behavior matches other user-initiated scrolls
https://bugs.webkit.org/show_bug.cgi?id=109769
Reviewed by James Robinson.
Source/WebCore:
To ensure that the scrolling behavior of GestureScrollUpdate events are consistent with
the scrolling behavior of mousewheel events, use the existing user-generated scroll logic
instead of calling into RenderLayer::scrollByRecursively(). This patch fixes the bug
reported in https://bugs.webkit.org/show_bug.cgi?id=109316, where the example page can
be scrolled using touch but cannot be scrolled using mousewheels.
Note that this patch does not use any of the mousewheel event-handling code.
Tests: fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html
fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html
fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html
fast/events/touch/gesture/touch-gesture-noscroll-body.html
* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::handleGestureScrollBegin):
(WebCore::EventHandler::handleGestureScrollUpdate):
(WebCore::EventHandler::sendScrollEventToView):
By calling this function at the start of handleGestureScrollUpdate() in the case
where |m_scrollGestureHandlingNode| is null, we ensure that the scroll updates
can still scroll the page itself, if possible.
(WebCore):
(WebCore::EventHandler::clearGestureScrollNodes):
* page/EventHandler.h:
(EventHandler):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::setHasPreciseScrollingDeltas):
Source/WebKit/chromium:
Clear the nodes corresponding to a fling scroll event when the event ends.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateAnimations):
LayoutTests:
Four new layout tests have been added and touch-gesture-scroll-page.html has been
modified to demonstrate that this patch fixes two existing bugs. See the inline
comments below for details.
Because I am now using the existing user-generated scroll logic, the delta for a single
GestureScrollUpdate event will not be propagated to the parent of the targeted node
unless the targeted node has no remaining scrollable area. So the changes to the
existing layout tests have been made to ensure that the targeted node has been fully
scrolled before subsequent GestureScrollUpdate events will scroll the parent(s) of
the targeted node.
I have also removed the function recordScroll() from the existing layout tests
because this function already exists in the included file resources/gesture-helpers.js.
* fast/events/touch/gesture/touch-gesture-noscroll-body-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-propagated-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-propagated.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-noscroll-body.html: Copied from LayoutTests/fast/events/touch/gesture/touch-gesture-scroll-page.html.
* fast/events/touch/gesture/touch-gesture-scroll-div-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-div-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-div-twice-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-iframe-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-iframe-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page-not-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page-propagated.html:
* fast/events/touch/gesture/touch-gesture-scroll-page.html:
I modified this layout test in order to add test coverage for another bug
which is fixed by this patch: if the hit test performed on a GestureScrollBegin
does not target a specific node, the subsequent GestureScrollUpdate events should
still attempt to scroll the page itself. This is consistent with how mousewheel
events behave.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-propagated-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-xhidden-expected.txt: Added.
* platform/chromium/fast/events/touch/gesture/touch-gesture-noscroll-body-yhidden-expected.txt: Added.
These four new layout tests verify that a non-scrollable body will not scroll,
as reported in https://bugs.webkit.org/show_bug.cgi?id=109316.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144519
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 01:05:07 +0000 (01:05 +0000)]
[chromium] Revert r143827 to restore WebHelperPluginImpl's call to frameDetached()
https://bugs.webkit.org/show_bug.cgi?id=111232
Patch by David Dorwin <ddorwin@chromium.org> on 2013-03-01
Reviewed by Adam Barth.
This patch reverts r143827, which causes a crash in failure conditions:
http://crbug.com/178848
* src/WebHelperPluginImpl.cpp:
(WebKit::WebHelperPluginImpl::destoryPage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144518
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alecflett@chromium.org [Sat, 2 Mar 2013 01:04:29 +0000 (01:04 +0000)]
IndexedDB: Avoid ScriptValue copies in IDBAny
https://bugs.webkit.org/show_bug.cgi?id=111002
Reviewed by Adam Barth.
This avoids some v8 handle thrashing in the long term,
and protects us against some crashes in the short term.
The crashes will be fixed in
https://bugs.webkit.org/show_bug.cgi?id=110206.
* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::createNull):
(WebCore::IDBAny::createString):
(WebCore::IDBAny::IDBAny):
(WebCore::IDBAny::scriptValue):
* Modules/indexeddb/IDBAny.h:
(WebCore::IDBAny::create):
(IDBAny):
(WebCore::IDBAny::keyPath):
* bindings/v8/custom/V8IDBAnyCustom.cpp:
(WebCore::toV8):
(WebCore):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144517
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Sat, 2 Mar 2013 01:01:47 +0000 (01:01 +0000)]
Unreviewed gardening of AppleWin port.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144516
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Sat, 2 Mar 2013 01:00:59 +0000 (01:00 +0000)]
[BlackBerry] Upstream smart selection
https://bugs.webkit.org/show_bug.cgi?id=111226
Patch by Iris Wu <shuwu@rim.com> on 2013-03-01
Reviewed by Rob Buis.
1. Extend the touch hold text selection to next paragraph.
2. Draw and expand overlay over text as touch hold selection expands.
Select paragraph when it's entirely covered by overlay.
3. Start scrolling at a constant rate when the end of
next pargraph is not in the viewport.
Reviewed Internally By Genevieve Mak and Mike Fenton.
PR 217897 238485 258279 279042 299779
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::selectAtDocumentPoint):
(BlackBerry::WebKit::WebPage::expandSelection):
(WebKit):
(BlackBerry::WebKit::WebPage::setOverlayExpansionPixelHeight):
(BlackBerry::WebKit::WebPagePrivate::setOverlayExpansionPixelHeight):
(BlackBerry::WebKit::WebPage::setParagraphExpansionPixelScrollMargin):
* Api/WebPage.h:
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::cancelSelection):
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
(BlackBerry::WebKit::isInvalidLine):
(WebKit):
(BlackBerry::WebKit::isInvalidParagraph):
(BlackBerry::WebKit::SelectionHandler::selectNextParagraph):
(BlackBerry::WebKit::SelectionHandler::drawOverlay):
(BlackBerry::WebKit::SelectionHandler::findNextOverlayRegion):
(BlackBerry::WebKit::SelectionHandler::expandSelection):
(BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
(BlackBerry::WebKit::SelectionHandler::setParagraphExpansionScrollMargin):
(BlackBerry::WebKit::SelectionHandler::expandSelectionToGranularity):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):
(BlackBerry::WebKit::SelectionHandler::setOverlayExpansionHeight):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144515
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Sat, 2 Mar 2013 00:55:29 +0000 (00:55 +0000)]
Unreviewed gardening of AppleWin port.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144514
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
roger_fong@apple.com [Fri, 1 Mar 2013 23:46:55 +0000 (23:46 +0000)]
Unreviewed gardening of AppleWin port.
* platform/win/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144513
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jamesr@google.com [Fri, 1 Mar 2013 23:22:00 +0000 (23:22 +0000)]
[chromium] Mark some software compositing tests as failing before landing anti-aliasing changes
https://bugs.webkit.org/show_bug.cgi?id=111224
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144512
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 1 Mar 2013 22:55:03 +0000 (22:55 +0000)]
Don't use legacy test names when returning results from PerfTest.run
https://bugs.webkit.org/show_bug.cgi?id=111148
Reviewed by Dirk Pranke.
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric.name): Renamed from metric.
(PerfTest.test_name_without_file_extension): Extracted from legacy_chromium_bot_compatible_test_name.
(PerfTest.run): Use metric name instead of the legacy name to store iteration values.
(ChromiumStylePerfTest.parse_and_log_output): Use the metric name to store results as done in PerfTest.run.
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestMetric.test_init_set_time_metric):
(TestPerfTestMetric.legacy_chromium_bot_compatible_test_name): Removed. The integration tests test this.
(TestReplayPerfTest.test_run_with_driver_accumulates_results):
(TestReplayPerfTest.test_run_with_driver_accumulates_memory_results):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
(PerfTestsRunner._generate_results_dict): Updated to iterate over (test, metrics) pair. Use view_source_url
to obtain the trac URL instead of hard coding it.
(PerfTestsRunner._run_tests_set):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enne@google.com [Fri, 1 Mar 2013 22:53:30 +0000 (22:53 +0000)]
[chromium] Mark more flaky tests related to scrollbar ordering
https://bugs.webkit.org/show_bug.cgi?id=111199
Unreviewed gardening.
* platform/chromium/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc