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: http://svn.webkit.org/repository/webkit/trunk@144605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144607 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144608 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Marking a few layout tests as flaky.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@144612 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144613 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144614 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144615 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-03-04  Kinuko Yasuda  <kinuko@chromium.org>

        [Chromium] Unreviewed, removing failure test expectations for passing tests.

        * platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144616 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@144617 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@144618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@144619 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@144620 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Unreviewed. Fix for closure type annotations.

* inspector/front-end/FlameChart.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144621 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Adding new rules broken if a <style> tag is added to document dynamically
https://bugs.webkit.org/show_bug.cgi?id=111299

Reviewed by Pavel Feldman.

Source/WebCore:

The CSSStyleSheet instance should be retrieved directly from the HTMLStyleElement just created,
not from the document.styleSheets list.

Test: inspector/styles/add-new-rule-with-style-after-body.html

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):

LayoutTests:

* inspector/styles/add-new-rule-with-style-after-body-expected.txt: Added.
* inspector/styles/add-new-rule-with-style-after-body.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MediaStream.ended must return true when it is created with ended tracks.
https://bugs.webkit.org/show_bug.cgi?id=111293

Reviewed by Kentaro Hara.

Source/WebCore:

Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#MediaStream-ended
When a MediaStream object is created, its ended attribute must be set to false,
unless it is being created using the MediaStream() constructor whose arguments
are lists of MediaStreamTrack objects that are all ended, in which case the
MediaStream object must be created with its ended attribute set to true.

Test: fast/mediastream/MediaStreamConstructor.html

* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

LayoutTests:

* fast/mediastream/MediaStreamConstructor-expected.txt:
* fast/mediastream/MediaStreamConstructor.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: remove existing LayerTreeAgent protocol APIs
https://bugs.webkit.org/show_bug.cgi?id=111251

Source/WebCore:

In order to eventually provide a more useful API for the LayerTreeAgent
that will be done in followup bugs, we remove the current API exposed by
the agent providing a clean slate that will make future patches easier
to read. Additionally, we remove the "childLayers" property on the Layer
object since we will no longer be providing a hierarchy of layers, but
rather a flat list of layers attached to a node and its descendants.

No new tests since we're removing the APIs exposed by the LayerTreeAgent.
Subsequent patches will add tests as new APIs are added.

Reviewed by Timothy Hatcher.

* inspector/Inspector.json:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
* inspector/InspectorLayerTreeAgent.h:
(InspectorLayerTreeAgent):

LayoutTests:

Remove existing tests since they're testing API that we're
removing.

Reviewed by Timothy Hatcher.

* inspector-protocol/layer-tree-expected.txt: Removed.
* inspector-protocol/layer-tree-generated-content-expected.txt: Removed.
* inspector-protocol/layer-tree-generated-content.html: Removed.
* inspector-protocol/layer-tree.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: CPU Flame Chart: reveal profiler DataGrid node when user clicks on a FlameChart item.
https://bugs.webkit.org/show_bug.cgi?id=111309

Reviewed by Yury Semikhatsky.

* inspector/front-end/CPUProfileView.js:
(WebInspector.CPUProfileView.prototype._revealProfilerNode):
* inspector/front-end/FlameChart.js:
(WebInspector.FlameChart):
(WebInspector.FlameChart.prototype._onClick):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
transition properties can't be found in CSSStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=110011

Reviewed by Antti Koivisto.

Source/WebCore:

The previous approach for handling the unprefixing was to alias the
unprefixed properties with the prefixed ones in CSSPropertyNames.in.
Unfortunately it will alias the properties in the parsing code which will just
identically parse the two versions. This means that when we populate StylePropertySet
we do not have information whether we just parsed the prefixed, the
unprefixed properties or we parsed both. The patch takes another
approach by creating two distinct sets of properties (unprefixed and
prefixed). Each properties have their own id and we now handle them in
the parsing code as disctints properties and add both versions to the
declared style. In order to avoid properties getting out of sync,
this patch adds few facilities to StylePropertySet to update the
prefixed and the unprefixed entries. Finally the style resolution
happens only for the prefixed version (to limit the size of this patch)
and the unprefixed versions are not resolved. This is to avoid creating
the animation objects twice for the resolved style.

Test : transitions/transitions-parsing.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::addPropertyWithPrefixingVariant): Always add the
prefixed and the unprefixed property even if only one is specified.
(WebCore):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseTransitionShorthand): Add both prefixed and
unprefixed longhands to the declarated style.
(WebCore::CSSParser::parseAnimationProperty):
* css/CSSParser.h:
(CSSParser):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSProperty.h:
(WebCore:: prefixingVariantForPropertyId): This function takes a given
property id and returns its prefixed or unprefixed id if it exists. If
not it returns the same id.
(WebCore):
* css/CSSPropertyNames.in:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyValue):
(WebCore::StylePropertySet::removeShorthandProperty):
(WebCore::StylePropertySet::removeProperty):
(WebCore::StylePropertySet::removeProperty): Remove
also the prefixed or unprefixed shorthand if it exists.
(WebCore):
(WebCore::StylePropertySet::setProperty):
(WebCore::StylePropertySet:: appendPrefixingVariantProperty):
(WebCore::StylePropertySet::setPrefixingVariantProperty): If it
exists a unprefixed or prefixed counterpart of the property we're
trying to set, then we update the other one.
(WebCore::StylePropertySet::asText):
(WebCore::StylePropertySet::mergeAndOverrideOnConflict):
* css/StylePropertySet.h:
(StylePropertySet):
* css/StylePropertyShorthand.cpp:
(WebCore::transitionShorthand):
(WebCore):
(WebCore::shorthandForProperty): Define the transitions unprefixed
longhands.
* css/StylePropertyShorthand.h:
(WebCore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty): StyleBuilder will handle the
resolution and the creation of the animations for the style. As the
declarated style now contains declarations for the prefixed and
unprefixed property we do not want to resolve two times and create duplicate animations.
Therefore when we try to resolve the unprefixed version we just bail out.

LayoutTests:

Updated layout test to cover the bug.

* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:


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