1. 14 Mar, 2013 40 commits
    • fpizlo@apple.com's avatar
      JSObject fast by-string access optimizations should work even on the prototype... · 10c38d3c
      fpizlo@apple.com authored
      JSObject fast by-string access optimizations should work even on the prototype chain, and even when the result is undefined
      https://bugs.webkit.org/show_bug.cgi?id=112233
      
      Source/JavaScriptCore: 
      
      Reviewed by Oliver Hunt.
              
      Extended the existing fast access path for String keys to work over the entire prototype chain,
      not just the self access case. This will fail as soon as it sees an object that intercepts
      getOwnPropertySlot, so this patch also ensures that ObjectPrototype does not fall into that
      category. This is accomplished by making ObjectPrototype eagerly reify all of its properties.
      This is safe for ObjectPrototype because it's so common and we expect all of its properties to
      be reified for any interesting programs anyway. A new idiom for adding native functions to
      prototypes is introduced, which ought to work well for any other prototypes that we wish to do
      this conversion for.
              
      This is a >60% speed-up in the case that you frequently do by-string lookups that "miss", i.e.
      they don't turn up anything.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * dfg/DFGOperations.cpp:
      * interpreter/CallFrame.h:
      (JSC::ExecState::objectConstructorTable):
      * jit/JITStubs.cpp:
      (JSC::getByVal):
      * llint/LLIntSlowPaths.cpp:
      (JSC::LLInt::getByVal):
      * runtime/CommonIdentifiers.h:
      * runtime/JSCell.cpp:
      (JSC::JSCell::getByStringSlow):
      (JSC):
      * runtime/JSCell.h:
      (JSCell):
      * runtime/JSCellInlines.h:
      (JSC):
      (JSC::JSCell::getByStringAndKey):
      (JSC::JSCell::getByString):
      * runtime/JSGlobalData.cpp:
      (JSC):
      (JSC::JSGlobalData::JSGlobalData):
      (JSC::JSGlobalData::~JSGlobalData):
      * runtime/JSGlobalData.h:
      (JSGlobalData):
      * runtime/JSObject.cpp:
      (JSC::JSObject::putDirectNativeFunction):
      (JSC):
      * runtime/JSObject.h:
      (JSObject):
      (JSC):
      * runtime/Lookup.cpp:
      (JSC::setUpStaticFunctionSlot):
      * runtime/ObjectPrototype.cpp:
      (JSC):
      (JSC::ObjectPrototype::finishCreation):
      (JSC::ObjectPrototype::create):
      * runtime/ObjectPrototype.h:
      (ObjectPrototype):
      * runtime/PropertyMapHashTable.h:
      (JSC::PropertyTable::findWithString):
      * runtime/Structure.h:
      (Structure):
      * runtime/StructureInlines.h:
      (JSC::Structure::get):
      (JSC):
      
      LayoutTests: 
      
      Reviewed by Oliver Hunt.
      
      * fast/js/regress/script-tests/string-lookup-hit-identifier.js: Added.
      (result):
      * fast/js/regress/script-tests/string-lookup-hit.js: Added.
      (result):
      * fast/js/regress/script-tests/string-lookup-miss.js: Added.
      (result):
      * fast/js/regress/string-lookup-hit-expected.txt: Added.
      * fast/js/regress/string-lookup-hit-identifier-expected.txt: Added.
      * fast/js/regress/string-lookup-hit-identifier.html: Added.
      * fast/js/regress/string-lookup-hit.html: Added.
      * fast/js/regress/string-lookup-miss-expected.txt: Added.
      * fast/js/regress/string-lookup-miss.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      10c38d3c
    • commit-queue@webkit.org's avatar
      Unreviewed. Rolled Chromium DEPS to r188004. Requested by · 367b5105
      commit-queue@webkit.org authored
      "Dana Jansens" <danakj@chromium.org> via sheriffbot.
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-14
      
      * DEPS:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      367b5105
    • commit-queue@webkit.org's avatar
      [BlackBerry] Gradient: don't use the default setPlatformGradientSpaceTransform() · 1dae1cc6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112246
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-14
      Reviewed by Xan Lopez.
      
      BlackBerry has its own implementation.
      
      * platform/graphics/Gradient.cpp:
      (WebCore):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1dae1cc6
    • commit-queue@webkit.org's avatar
      [Qt][WK1] REGRESSION(r145784): Blend tests are failing · 1b40d851
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112333
      
      Patch by Rik Cabanier <cabanier@adobe.com> on 2013-03-14
      Reviewed by Ryosuke Niwa.
      
      Added code to passed compositing prefence to WebCore.
      
      * Api/qwebsettings.cpp:
      (QWebSettingsPrivate::apply):
      (QWebSettings::QWebSettings):
      * Api/qwebsettings.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145833 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b40d851
    • kbr@google.com's avatar
      Unreviewed expectations updates for a couple of failing tests. · 71c5b2f2
      kbr@google.com authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145832 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71c5b2f2
    • commit-queue@webkit.org's avatar
      [GStreamer] simulateAudioInterruption needs to be guarded by ENABLE(VIDEO)" · 77916a04
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112358
      
      Guarded with ENABLE(VIDEO) to prevent problems when it is not
      enabled.
      
      Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-03-14
      Reviewed by Philippe Normand.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77916a04
    • fmalita@chromium.org's avatar
      Tighten up the type bounds for SVGPropertyInfo callback parameters · 709eeba6
      fmalita@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111786
      
      Reviewed by Philip Rogers.
      
      Update SVGPropertyInfo's callbacks to pass SVGElement* parameters instead of void*. This
      allows us to perform some ASSERT-based type checking before downcasting in implementors.
      
      To avoid adding virtual methods unused in release builds to the base class (and overrides
      in descendants), for subtypes lacking polymorphic type markers (isXXX()) the check is
      performed using hasTagName() instead.
      
      The patch is also removing the lookupOrCreateWrapperForAnimatedProperty() SVGPropertyInfo
      callback for SVGViewSpec properties, because
      
        a) it doesn't appear to be reachable (SVGViewSpec doesn't have a backing element and
        thus cannot have an associated animator)
      
        b) it interferes with the parameter specialization described above (SVGViewSpec does not
        inherit from SVGElement)
      
      No new tests, refactoring only.
      
      * svg/SVGElement.cpp:
      (WebCore::SVGElement::synchronizeRequiredFeatures):
      (WebCore::SVGElement::synchronizeRequiredExtensions):
      (WebCore::SVGElement::synchronizeSystemLanguage):
      * svg/SVGElement.h:
      (SVGElement):
      * svg/SVGMarkerElement.cpp:
      (WebCore::SVGMarkerElement::synchronizeOrientType):
      (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
      * svg/SVGMarkerElement.h:
      (SVGMarkerElement):
      (WebCore::toSVGMarkerElement):
      (WebCore):
      * svg/SVGPathElement.cpp:
      (WebCore::SVGPathElement::lookupOrCreateDWrapper):
      (WebCore::SVGPathElement::synchronizeD):
      * svg/SVGPathElement.h:
      (SVGPathElement):
      (WebCore::toSVGPathElement):
      (WebCore):
      * svg/SVGPolyElement.cpp:
      (WebCore::SVGPolyElement::synchronizePoints):
      (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
      * svg/SVGPolyElement.h:
      (SVGPolyElement):
      (WebCore::toSVGPolyElement):
      (WebCore):
      * svg/SVGTextContentElement.cpp:
      (WebCore::SVGTextContentElement::synchronizeTextLength):
      (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
      * svg/SVGTextContentElement.h:
      (SVGTextContentElement):
      (WebCore::toSVGTextContentElement):
      (WebCore):
      Change SVGPropertyInfo callback params to SVGElement* and replace static casts with
      conversion wrappers. Implement conversion wrappers where needed.
      
      * svg/SVGViewSpec.cpp:
      (WebCore::SVGViewSpec::viewBoxPropertyInfo):
      (WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
      (WebCore::SVGViewSpec::transformPropertyInfo):
      (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
      (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
      (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
      * svg/SVGViewSpec.h:
      (SVGViewSpec):
      Remove SVGPropertyInfo-based lookupOrCreate* callbacks and updated the methods' parameters
      to SVGViewSpec*. Remove now-unneeded casts.
      
      * svg/properties/SVGAnimatedPropertyMacros.h:
      (WebCore):
      * svg/properties/SVGPropertyInfo.h:
      (WebCore):
      (SVGPropertyInfo):
      Update callback declarations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      709eeba6
    • commit-queue@webkit.org's avatar
      [chromium] Add tools/protoc_wrapper to directories pulled in Chromium-in-WebKit configuration · 3e4a7e81
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112363
      
      Patch by James Robinson <jamesr@chromium.org> on 2013-03-14
      Reviewed by Kenneth Russell.
      
      Chromium r187704 added a reference to this script to src/gpu/gpu.gyp, which we pull in the Chromium-in-WebKit
      configuration. This adds the script to DEPS so we can roll past that rev.
      
      * DEPS:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e4a7e81
    • fpizlo@apple.com's avatar
      DFG bytecode parser is too aggressive about getting rid of GetLocals on captured variables · a726d9fc
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112287
      <rdar://problem/13342340>
      
      Reviewed by Oliver Hunt.
      
      Source/JavaScriptCore: 
      
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dumpBytecode):
      (JSC::CodeBlock::finalizeUnconditionally):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getLocal):
      
      LayoutTests: 
      
      * fast/js/dfg-captured-var-get-local-expected.txt: Added.
      * fast/js/dfg-captured-var-get-local.html: Added.
      * fast/js/jsc-test-list:
      * fast/js/script-tests/dfg-captured-var-get-local.js: Added.
      (foo):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a726d9fc
    • commit-queue@webkit.org's avatar
      Move platform-specific typedefs to PlatformMenuDescription.h · 289ffb21
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111876
      
      Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-03-14
      Reviewed by Caio Marcelo de Oliveira Filho.
      
      Source/WebCore:
      
      Cross platform Context Menu platform-specific typedefs fit better
      in PlatformMenuDescription.h and should not be part of the classes
      ContextMenu and ContextMenuItem. We have also renamed them to
      PlatformContextMenu and PlatformContextMenuItem instead of NativeMenu
      and NativeMenuItem respectively.
      
      No new tests needed since no behavior has changed.
      
      * platform/ContextMenu.h:
      (ContextMenu):
      * platform/ContextMenuItem.h:
      (ContextMenuItem):
      * platform/PlatformMenuDescription.h:
      (WebCore):
      * platform/efl/ContextMenuEfl.cpp:
      (WebCore::ContextMenu::createPlatformContextMenuFromItems):
      (WebCore::ContextMenu::platformContextMenu):
      * platform/efl/ContextMenuItemEfl.cpp:
      (WebCore::ContextMenuItem::platformContextMenuItem):
      * platform/win/ContextMenuItemWin.cpp:
      (WebCore):
      (WebCore::ContextMenuItem::platformContextMenuItem):
      * platform/win/ContextMenuWin.cpp:
      (WebCore::ContextMenu::createPlatformContextMenuFromItems):
      (WebCore::ContextMenu::platformContextMenu):
      
      Source/WebKit/win:
      
      Rename NativeMenuItem to PlatformContextMenuItem and the getter
      function call.
      
      * WebCoreSupport/WebContextMenuClient.cpp:
      (WebContextMenuClient::customizeMenu):
      (WebContextMenuClient::contextMenuItemSelected):
      * WebView.cpp:
      (WebView::handleContextMenuEvent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145827 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      289ffb21
    • jer.noble@apple.com's avatar
      Crash in DumpRenderTree at com.apple.WebCore:... · c3419e02
      jer.noble@apple.com authored
      Crash in DumpRenderTree at com.apple.WebCore: WebCore::CaptionUserPreferences::captionPreferencesChanged + 185
      https://bugs.webkit.org/show_bug.cgi?id=112051
      
      Reviewed by Eric Carlson.
      
      No new tests; fixes a crash during media/video-controls-captions-trackmenu.html.
      
      Instead of relying on a registration system which can fail when an element's document does not have a page,
      Elements will register for captionPreferencesChanged() notifications directly with their owning Document.
      CaptionUserPreferences, in turn, will notify all Documents in its PageGroup, rather than only directly
      registered listeners.
      
      * dom/Document.cpp:
      (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): Added. Notify the CaptionUserPreferences that someone
          is interested in captionPreferencesChanged notfications.
      (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): Added.
      (WebCore::Document::captionPreferencesChanged): Added. Pass to all registered elements.
      * dom/Document.h:
      * dom/Element.h:
      (WebCore::Element::captionPreferencesChanged): Added. Empty; intended
          to be overridden by subclasses.
      * history/CachedPage.cpp:
      (WebCore::CachedPage::CachedPage): Initialize m_needsCaptionPreferenceChanged member.
      (WebCore::CachedPage::restore): Call captionPreferencesChanged() if necessary.
      * history/CachedPage.h:
      (WebCore::CachedPage::markForCaptionPreferencesChanged): Set the m_needsCaptionPreferenceChanged member.
      * history/PageCache.cpp:
      (WebCore::PageCache::markPagesForCaptionPreferencesChanged): Pass to every CachedPage.
      * history/PageCache.h:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): Register with the Document.
      (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister with same.
      (WebCore::HTMLMediaElement::attach): Remove previous registration call.
      * html/HTMLMediaElement.h:
      * page/CaptionUserPreferences.cpp:
      (WebCore::CaptionUserPreferences::captionPreferencesChanged): Pass to the
          PageGroup.
      * page/CaptionUserPreferences.h:
      (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
          Empty; intended to be overridden by subclasses.
      * page/CaptionUserPreferencesMac.h:
      * page/CaptionUserPreferencesMac.mm:
      (WebCore::CaptionUserPreferencesMac::setInterestedInCaptionPreferenceChanges):
          Renamed from registerForPreferencesChangedCallbacks().
      (WebCore::CaptionUserPreferencesMac::captionPreferencesChanged):
          Replace call to havePreferenceChangeListeners() with m_listeningForPreferenceChanges.
      * page/Page.cpp:
      (WebCore::Page::captionPreferencesChanged):
          Pass to every contained Document.
      * page/Page.h:
      * page/CaptionUserPreferences.cpp:
      (WebCore::CaptionUserPreferences::captionPreferencesChanged): Pass to the PageGroup.
      * page/CaptionUserPreferences.h:
      * page/PageGroup.cpp:
      (WebCore::PageGroup::captionPreferencesChanged): Pass to every page, as well as pages in the PageCache.
      * page/PageGroup.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3419e02
    • dgrogan@chromium.org's avatar
      IndexedDB: Histogram leveldb open errors. · f39d62f8
      dgrogan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112307
      
      Reviewed by Tony Chang.
      
      No new tests, I don't know if there's a good way to test histograms.
      
      * platform/leveldb/LevelDBDatabase.cpp:
      (WebCore::LevelDBDatabase::open):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f39d62f8
    • caseq@chromium.org's avatar
      Unreviewed flakiness fix following r145727: filter out coalescing records... · 0a8f9163
      caseq@chromium.org authored
      Unreviewed flakiness fix following r145727: filter out coalescing records while dumping timeline record structure.
      
      * inspector/timeline/timeline-receive-response-event.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145823 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a8f9163
    • robert@webkit.org's avatar
      REGRESSION(r145305) Performance: 1.3%... · fec05749
      robert@webkit.org authored
      REGRESSION(r145305) Performance: 1.3% mac-release-10.6-webkit-latest/intl2/times/t change after rev 145300
      https://bugs.webkit.org/show_bug.cgi?id=112125
      
      Reviewed by Julien Chaffraix.
      
      When detecting cases where a loaded image may need to move up into the padding created by the row's baseline
      we don't need to do anything if the row doesn't have a baseline yet.
      
      * rendering/RenderTableCell.cpp:
      (WebCore::RenderTableCell::layout):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fec05749
    • beidson@apple.com's avatar
      Add a mode to ResourceLoader that takes SharedBuffers instead of raw pointers and lengths. · 193a0608
      beidson@apple.com authored
      <rdar://problem/13416953> and https://bugs.webkit.org/show_bug.cgi?id=112310
      
      Reviewed by Andy Estes.
      
      No new tests (No independently testable change in behavior).
      
      Many of the tested platforms deliver data buffers to their ResourceHandles from objects
      that encapsulate a data buffer such as NSData (Mac), CFDataRef (CF), or QByteArray (qt).
      
      If those platforms also augmented SharedBuffer to wrap their native object (which Mac/CF do)
      and there existed ResourceLoader callbacks to take that SharedBuffer instead of char* + length,
      then many resource loads could avoid a useless copy.
      
      At least on Mac, there are some extremely important behind-the-scenes optimizations for NS/CFData
      that will be a more important win than simply avoiding a copy.
      
      This patch adds that SharedBuffer-based callback with the hope that all platforms could find a
      way to use a buffer-encapsulating object going forward, and we could therefore deprecate the
      char* + length version of didReceiveData.
      
      * platform/network/ResourceHandleClient.h:
      (WebCore::ResourceHandleClient::didReceiveBuffer): Add a didReceiveBuffer callback that takes
        a SharedBuffer object. The default implementation passes raw bytes + length to didReceiveData.
      
      * loader/ResourceLoader.cpp:
      (WebCore::ResourceLoader::addDataOrBuffer): Replacing addData(), optionally adding the data from
        either a data+length or SharedBuffer
      (WebCore::ResourceLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
      (WebCore::ResourceLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
      (WebCore::ResourceLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data.
      * loader/ResourceLoader.h: Add OVERRIDE to all of the ResourceHandleClient methods to help
        catch future mistakes. Remove "virtual" from methods that didn't need it. Make "addData" into
        "addDataOrBuffer" and make it private.
      
      * loader/NetscapePlugInStreamLoader.cpp:
      (WebCore::NetscapePlugInStreamLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
      (WebCore::NetscapePlugInStreamLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
      (WebCore::NetscapePlugInStreamLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data.
      * loader/NetscapePlugInStreamLoader.h:
      
      * loader/SubresourceLoader.cpp:
      (WebCore::SubresourceLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
      (WebCore::SubresourceLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
      (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data. Also,
        rely on ResourceLoader's base implementation for notifying the ResourceLoadNotifier.
      * loader/SubresourceLoader.h:
      
      * loader/ResourceBuffer.cpp:
      (WebCore::ResourceBuffer::append): Add a mode that appends a SharedBuffer.
      * loader/ResourceBuffer.h:
      
      * platform/cf/SharedBufferCF.cpp:
      (WebCore::SharedBuffer::maybeTransferPlatformData): Fix a bug where appending data to a CFData-backed
        SharedBuffer would re-enter maybeTransferPlatformData and blow out the stack.
      
      * platform/network/mac/ResourceHandleMac.mm:
      (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Send a wrapped NSData
        to didReceiveBuffer() instead of sending its char* and length to didReceiveData()
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      193a0608
    • yurys@chromium.org's avatar
      Web Inspector: nuke bottom up CPU profile calculation on backend · b91ebf19
      yurys@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112351
      
      Reviewed by Pavel Feldman.
      
      Removed code that builds bottom-up CPU profile on the inspector
      backend. Bottom-up view is already built on the front-end from
      the top-down profile data.
      
      * bindings/js/ScriptProfile.cpp:
      * bindings/js/ScriptProfile.h:
      (ScriptProfile):
      * bindings/v8/ScriptProfile.cpp:
      (WebCore::ScriptProfile::buildInspectorObjectForHead):
      * bindings/v8/ScriptProfile.h:
      (ScriptProfile):
      * inspector/Inspector.json:
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::InspectorProfilerAgent::getCPUProfile):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145819 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b91ebf19
    • inferno@chromium.org's avatar
      Replace static_casts with to* helper functions. · 9aa9e8d7
      inferno@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112296
      
      Reviewed by Kentaro Hara.
      
      to* helper functions are preferred over static_cast calls since they
      help to catch bad casts easily on the testing infrastructure.
      
      Source/WebCore:
      
      * accessibility/AXObjectCache.cpp:
      (WebCore::nodeHasRole):
      * accessibility/AccessibilityObject.cpp:
      (WebCore::AccessibilityObject::hasAttribute):
      (WebCore::AccessibilityObject::getAttribute):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::anchorElement):
      (WebCore::AccessibilityRenderObject::helpText):
      (WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
      (WebCore::AccessibilityRenderObject::titleUIElement):
      (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
      (WebCore::AccessibilityRenderObject::accessKey):
      (WebCore::AccessibilityRenderObject::setElementAttributeValue):
      (WebCore::AccessibilityRenderObject::setValue):
      (WebCore::AccessibilityRenderObject::activeDescendant):
      (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
      (WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
      (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
      (WebCore::AccessibilityRenderObject::setAccessibleName):
      (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
      * bindings/gobject/WebKitDOMBinding.cpp:
      (WebKit::createWrapper):
      * bindings/js/JSClipboardCustom.cpp:
      (WebCore::JSClipboard::setDragImage):
      * bindings/js/JSElementCustom.cpp:
      (WebCore::toJSNewlyCreated):
      * bindings/js/JSNodeCustom.cpp:
      (WebCore::createWrapperInline):
      * bindings/v8/custom/V8ClipboardCustom.cpp:
      (WebCore::V8Clipboard::setDragImageMethodCustom):
      * bindings/v8/custom/V8ElementCustom.cpp:
      (WebCore::wrap):
      * bindings/v8/custom/V8NodeCustom.cpp:
      (WebCore::wrap):
      * dom/Document.cpp:
      (WebCore::Document::importNode):
      (WebCore::Document::recalcStyle):
      (WebCore::Document::setFocusedNode):
      (WebCore::Document::updateFocusAppearanceTimerFired):
      * dom/DocumentStyleSheetCollection.cpp:
      (WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):
      * dom/Element.cpp:
      (WebCore::Element::offsetParent):
      (WebCore::Element::boundsInRootViewSpace):
      (WebCore::Element::getBoundingClientRect):
      (WebCore::Element::recalcStyle):
      (WebCore::Element::computeInheritedLanguage):
      (WebCore::Element::lastElementChild):
      * dom/LiveNodeList.cpp:
      (WebCore::LiveNodeList::namedItem):
      * dom/Node.cpp:
      (WebCore::Node::dumpStatistics):
      (WebCore::Node::normalize):
      (WebCore::Node::rootEditableElement):
      (WebCore::Node::isDefaultNamespace):
      (WebCore::Node::ancestorElement):
      (WebCore::appendAttributeDesc):
      * dom/Position.cpp:
      (WebCore::Position::element):
      * dom/Range.cpp:
      (WebCore::Range::getBorderAndTextQuads):
      * dom/SelectorQuery.cpp:
      (WebCore::SelectorDataList::queryFirst):
      (WebCore::SelectorDataList::execute):
      * dom/ShadowRoot.cpp:
      (WebCore::ShadowRoot::recalcStyle):
      * dom/StaticHashSetNodeList.cpp:
      (WebCore::StaticHashSetNodeList::namedItem):
      * editing/ApplyStyleCommand.cpp:
      (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
      (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
      (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
      (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
      * editing/Editor.cpp:
      (WebCore::Editor::applyEditingStyleToBodyElement):
      * editing/FrameSelection.cpp:
      (WebCore::removingNodeRemovesPosition):
      * editing/IndentOutdentCommand.cpp:
      (WebCore::IndentOutdentCommand::outdentParagraph):
      * editing/MarkupAccumulator.cpp:
      (WebCore::MarkupAccumulator::entityMaskForText):
      (WebCore::MarkupAccumulator::appendStartMarkup):
      (WebCore::MarkupAccumulator::appendEndMarkup):
      * editing/ModifySelectionListLevel.cpp:
      (WebCore::IncreaseSelectionListLevelCommand::doApply):
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::haveSameTagName):
      (WebCore::handleStyleSpansBeforeInsertion):
      (WebCore::ReplaceSelectionCommand::doApply):
      * editing/SplitTextNodeContainingElementCommand.cpp:
      (WebCore::SplitTextNodeContainingElementCommand::doApply):
      * editing/TextIterator.cpp:
      (WebCore::TextIterator::advance):
      * editing/htmlediting.cpp:
      (WebCore::unsplittableElementForPosition):
      (WebCore::enclosingTableCell):
      * editing/markup.cpp:
      (WebCore::StyledMarkupAccumulator::wrapWithNode):
      (WebCore::createMarkupInternal):
      (WebCore::createFragmentFromMarkupWithContext):
      (WebCore::isPlainTextMarkup):
      (WebCore::createFragmentFromText):
      * html/HTMLElement.cpp:
      (WebCore::HTMLElement::insertAdjacentElement):
      (WebCore::contextElementForInsertion):
      * html/HTMLFormControlElement.cpp:
      (WebCore::focusPostAttach):
      (WebCore::updateFromElementCallback):
      * html/HTMLFormElement.cpp:
      (WebCore::submitElementFromEvent):
      * html/HTMLObjectElement.cpp:
      (WebCore::HTMLObjectElement::updateDocNamedItem):
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::updateSnapshotInfo):
      * html/HTMLViewSourceDocument.cpp:
      (WebCore::HTMLViewSourceDocument::addRange):
      * html/parser/HTMLTreeBuilder.cpp:
      (WebCore::closestFormAncestor):
      * html/shadow/MediaControlElementTypes.cpp:
      (WebCore::toParentMediaElement):
      * html/shadow/TextFieldDecorationElement.h:
      (WebCore::toTextFieldDecorationElement):
      * inspector/DOMPatchSupport.cpp:
      (WebCore::DOMPatchSupport::createDigest):
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::buildObjectForNode):
      (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::InspectorStyleSheet::inlineStyleSheetText):
      * mathml/MathMLElement.h:
      (WebCore::toMathMLElement):
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      * page/DragController.cpp:
      (WebCore::elementUnderMouse):
      (WebCore::DragController::startDrag):
      * page/FocusController.cpp:
      (WebCore::FocusController::advanceFocusInDocumentOrder):
      * page/Frame.cpp:
      (WebCore::Frame::searchForLabelsBeforeElement):
      * page/FrameView.cpp:
      (WebCore::FrameView::updateWidget):
      * page/SpatialNavigation.cpp:
      (WebCore::rectToAbsoluteCoordinates):
      * page/animation/ImplicitAnimation.cpp:
      (WebCore::ImplicitAnimation::sendTransitionEvent):
      * page/animation/KeyframeAnimation.cpp:
      (WebCore::KeyframeAnimation::KeyframeAnimation):
      (WebCore::KeyframeAnimation::sendAnimationEvent):
      * platform/efl/RenderThemeEfl.cpp:
      (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
      (WebCore::RenderThemeEfl::paintMediaMuteButton):
      * rendering/FilterEffectRenderer.cpp:
      (WebCore::FilterEffectRenderer::buildReferenceFilter):
      * rendering/svg/RenderSVGViewportContainer.cpp:
      (WebCore::RenderSVGViewportContainer::calcViewport):
      * svg/SVGSVGElement.cpp:
      (WebCore::SVGSVGElement::getElementById):
      * svg/SVGUseElement.cpp:
      (WebCore::isDisallowedElement):
      * svg/animation/SVGSMILElement.cpp:
      (WebCore::SVGSMILElement::buildPendingResource):
      * xml/XPathStep.cpp:
      (WebCore::XPath::nodeMatchesBasicTest):
      * xml/parser/XMLDocumentParserQt.cpp:
      (WebCore::XMLDocumentParser::XMLDocumentParser):
      (WebCore::XMLDocumentParser::parseEndElement):
      
      Source/WebKit/blackberry:
      
      * Api/WebPage.cpp:
      (BlackBerry::WebKit::WebPagePrivate::webContext):
      (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
      (BlackBerry::WebKit::WebPage::setNodeFocus):
      (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
      * WebCoreSupport/EditorClientBlackBerry.cpp:
      (WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
      (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
      * WebKitSupport/BackingStoreClient.cpp:
      (BlackBerry::WebKit::BackingStoreClient::absoluteRect):
      * WebKitSupport/DOMSupport.cpp:
      (BlackBerry::WebKit::DOMSupport::toTextControlElement):
      (BlackBerry::WebKit::DOMSupport::selectionContainerElement):
      * WebKitSupport/FatFingers.cpp:
      (BlackBerry::WebKit::FatFingers::getRelevantInfoFromCachedHitTest):
      (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
      * WebKitSupport/InputHandler.cpp:
      (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
      (BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
      * WebKitSupport/SelectionHandler.cpp:
      (BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
      * WebKitSupport/TouchEventHandler.cpp:
      (BlackBerry::WebKit::elementForTapHighlight):
      
      Source/WebKit/chromium:
      
      * src/WebDocument.cpp:
      (WebKit::WebDocument::images):
      * src/WebElement.cpp:
      (WebKit::WebElement::operator PassRefPtr<Element>):
      * src/WebPageSerializer.cpp:
      (WebCore::retrieveResourcesForFrame):
      * src/WebViewImpl.cpp:
      (WebKit::WebViewImpl::setFocus):
      (WebKit::WebViewImpl::clearFocusedNode):
      (WebKit::WebViewImpl::scrollFocusedNodeIntoView):
      (WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
      
      Source/WebKit/gtk:
      
      * webkit/webkitwebview.cpp:
      (webkit_web_view_query_tooltip):
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (applyAppleDictionaryApplicationQuirkNonInlinePart):
      * WebView/WebHTMLRepresentation.mm:
      (searchForLabelsBeforeElement):
      
      Source/WebKit/qt:
      
      * Api/qwebelement.cpp:
      (QWebElement::firstChild):
      (QWebElement::lastChild):
      (QWebElement::nextSibling):
      (QWebElement::previousSibling):
      (QWebElementCollection::at):
      (QWebElementCollection::toList):
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebHitTestResultPrivate::elementForInnerNode):
      
      Source/WebKit/win:
      
      * WebView.cpp:
      (WebView::enterFullscreenForNode):
      
      Source/WebKit2:
      
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      (WebKit::InjectedBundleNodeHandle::elementBounds):
      * WebProcess/WebPage/WebFrame.cpp:
      (WebKit::WebFrame::containsAnyFormElements):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aa9e8d7
    • pfeldman@chromium.org's avatar
      Not reviewed: chromium expectations updated. · 859e3c21
      pfeldman@chromium.org authored
      * platform/chromium/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      859e3c21
    • pfeldman@chromium.org's avatar
      Web Inspector: keep deprecated function stubs in InspectorFrontendHost. · 48fb8fde
      pfeldman@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112347
      
      Reviewed by Vsevolod Vlasov.
      
      In order to open older front-ends in newer hosts, we need to keep stubs
      for deprecated functions. Longer term, we need to wrap all calls to InspectorFrontendHost in the front-end.
      
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::InspectorFrontendHost::canInspectWorkers):
      (WebCore):
      (WebCore::InspectorFrontendHost::hiddenPanels):
      * inspector/InspectorFrontendHost.h:
      (InspectorFrontendHost):
      * inspector/InspectorFrontendHost.idl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48fb8fde
    • commit-queue@webkit.org's avatar
      Fixed styles pane visibility when docked to right. · b122da03
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112348
      
      Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-03-14
      Reviewed by Pavel Feldman.
      
      * inspector/front-end/ElementsPanel.js:
      (WebInspector.ElementsPanel.prototype._splitVertically):
      * inspector/front-end/SidebarPane.js:
      (WebInspector.SidebarPane.prototype.setExpandCallback):
      (WebInspector.SidebarPaneTitle):
      (WebInspector.SidebarTabbedPane.prototype.addPane):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145815 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b122da03
    • commit-queue@webkit.org's avatar
      [BlackBerry] GraphicsContext3D: implement ImageExtractor::extractImage() · 136a44b2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112242
      
      Patch by Alberto Garcia <agarcia@igalia.com> on 2013-03-14
      Reviewed by Rob Buis.
      
      In r136282 GraphicsContext3D::getImageData() was refactored in a
      new class called ImageExtractor.
      
      This patch implements the necessary changes for the BlackBerry
      port, which is still using the old API.
      
      * platform/graphics/GraphicsContext3D.h:
      (ImageExtractor):
      * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
      (WebCore::GraphicsContext3D::ImageExtractor::~ImageExtractor):
      (WebCore):
      (WebCore::GraphicsContext3D::ImageExtractor::extractImage):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      136a44b2
    • hausmann@webkit.org's avatar
      [Qt] Disable DRT on Windows · 9a5b4164
      hausmann@webkit.org authored
      Reviewed by Jocelyn Turcotte.
      
      We don't run and maintain DRT on Windows, so let's not try to maintain the build of it.
      
      * qmake/mkspecs/features/configure.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145813 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a5b4164
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Add an API for adding and removing user style sheets from a page group · 800e3305
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=110728
      
      Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2013-03-14
      Reviewed by Gyuyoung Kim.
      
      Source/WebKit2:
      
      This patch implements EwkPageGroup API to provide the interface of WKPageGroup. Using the EwkPageGroup,
      applications may create the views with a page group for the specific identifier. Also, this patch
      encapsulates the APIs WKPageGroupAddUserStyleSheet and WKPageGroupRemoveAllUserStyleSheets behind
      the EwkPageGroup class for adding and removing user style sheets from a page group. WKArrayCreateWithEinaList()
      is added as a generic WKArray creation API from Eina_List.
      
      * PlatformEfl.cmake:
      * UIProcess/API/C/efl/WKView.cpp:
      (createWKView):
      * UIProcess/API/efl/EWebKit2.h:
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::EwkView):
      (EwkView::createEvasObject):
      * UIProcess/API/efl/EwkView.h:
      (EwkView::ewkPageGroup):
      (EwkView):
      * UIProcess/API/efl/ewk_view.cpp:
      (ewk_view_smart_add):
      (ewk_view_page_group_get):
      * UIProcess/API/efl/ewk_view.h:
      * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
      (EWK2UnitTest::EWK2UnitTestBase::SetUp):
      * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
      (EWK2UnitTest::EWK2UnitTestBase::setWebView):
      * UIProcess/API/efl/tests/test_ewk2_view.cpp:
      (TEST_F):
      * UIProcess/efl/WebInspectorProxyEfl.cpp:
      (WebKit::WebInspectorProxy::platformCreateInspectorPage):
      
      Tools:
      
      Use the page group to create the view object.
      
      * MiniBrowser/efl/main.c:
      (window_create):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      800e3305
    • commit-queue@webkit.org's avatar
      [GStreamer] Stopping playback of html5 media when receiving a higher priority... · 83d72db6
      commit-queue@webkit.org authored
      [GStreamer] Stopping playback of html5 media when receiving a higher priority audio event needs implementation
      https://bugs.webkit.org/show_bug.cgi?id=91611
      
      Source/WebCore:
      
      React to REQUEST_STATE GStreamer message to stop the pipeline when
      a higher priority stream is played. When this happens, states are
      updated accordingly.
      
      A method was added in the MediaPlayer class and internals to allow
      the the test runner to simulate an audio interruption.
      
      Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-03-14
      Reviewed by Philippe Normand.
      
      Test: media/media-higher-prio-audio-stream.html
      
      * platform/graphics/MediaPlayer.h:
      * platform/graphics/MediaPlayer.cpp:
      (WebCore):
      (MediaPlayer):
      (WebCore::MediaPlayer::simulateAudioInterruption): New method
      delegating an audio interruption to the private backend to
      simulate the use-case where an external application needs
      exclusive access to the audio device.
      * platform/graphics/MediaPlayerPrivate.h:
      (MediaPlayerPrivateInterface):
      (WebCore::MediaPlayerPrivateInterface::simulateAudioInterruption):
      Added default empty method in the common private header.
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
      (WebCore):
      (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
      (WebCore::setAudioStreamPropertiesCallback): Hooked to child-added
      signal on the audio sink, delegates on setAudioStreamProperties.
      (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
      Sets the audio stream properties.
      (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
      Initializes the new attribute.
      (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
      Disconnects autoaudiosink signal.
      (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
      Changed logging.
      (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Reacting to
      the REQUEST_STATE message.
      (WebCore::MediaPlayerPrivateGStreamer::simulateAudioInterruption):
      Added. Injects the REQUEST_STATE message to the pipeline.
      (WebCore::MediaPlayerPrivateGStreamer::updateStates): Updating the
      playback state if REQUEST_STATE.
      * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
      (MediaPlayerPrivateGStreamer): Added new method and attribute.
      * testing/Internals.h:
      * testing/Internals.idl:
      * testing/Internals.cpp:
      (WebCore):
      (WebCore::Internals::simulateAudioInterruption): Added to call the
      method to stop the element because of a higher prio stream at the
      tests.
      
      LayoutTests:
      
      Created test, expected result and updated other ports
      expectations.
      
      Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-03-14
      Reviewed by Philippe Normand.
      
      * media/media-higher-prio-audio-stream-expected.txt: Added.
      * media/media-higher-prio-audio-stream.html: Added.
      * platform/chromium/TestExpectations: Skipped the new test.
      * platform/mac/TestExpectations: Skipped the new test.
      * platform/qt/TestExpectations: Skipped the new test for Mac and
      Win.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145811 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83d72db6
    • allan.jensen@digia.com's avatar
      [Qt] Add support for tiled shadow blur · d13e571e
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=90082
      
      Reviewed by Noam Rosenthal.
      
      Use the optimized ShadowBlur::drawRectShadow as long as we do not
      have a rotating transform. Such a transform would go through the
      slow path in ShadowBlur anyway, and would end up using a transformed
      TransparencyLayer with an alphaMap which causes scaling artifacts
      for us.
      
      Tested by fast/canvas/canvas-scale-fillRect-shadow.html
      and fast/canvas/canvas-transforms-fillRect-shadow.html
      
      * platform/graphics/ShadowBlur.cpp:
      (WebCore::ShadowBlur::drawInsetShadowWithTiling):
          Handle scaling transforms when shadows ignore transforms.
      (WebCore::ShadowBlur::drawRectShadowWithTiling):
          Ditto.
      * platform/graphics/qt/GraphicsContextQt.cpp:
      (WebCore::GraphicsContext::fillRect):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d13e571e
    • caseq@chromium.org's avatar
      Web Inspector: do not aggregate non-main thread timeline events, handle them in a generic fashion · f50b52ce
      caseq@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112172
      
      Reviewed by Vsevolod Vlasov.
      
      - build nested event trees for non-main thread events similar to how it's done on the main thread;
      - drop aggregation logic for Rasterize events;
      - extract time conversion logic so that it may be reused in TimelineTraceEventProcessor.
      
      * English.lproj/localizedStrings.js: drive-by: drop duplicate line.
      * inspector/InspectorTimelineAgent.cpp:
      (WebCore::TimelineTimeConverter::reset):
      (WebCore):
      (WebCore::InspectorTimelineAgent::pushGCEventRecords):
      (WebCore::InspectorTimelineAgent::start):
      (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
      (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
      (WebCore::InspectorTimelineAgent::appendRecord):
      (WebCore::InspectorTimelineAgent::sendEvent):
      (WebCore::InspectorTimelineAgent::timestamp):
      * inspector/InspectorTimelineAgent.h:
      (TimelineTimeConverter):
      (WebCore::TimelineTimeConverter::TimelineTimeConverter):
      (WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime):
      (WebCore):
      (InspectorTimelineAgent):
      (WebCore::InspectorTimelineAgent::timeConverter):
      * inspector/TimelineRecordFactory.cpp:
      (WebCore::TimelineRecordFactory::createBackgroundRecord):
      (WebCore):
      * inspector/TimelineRecordFactory.h:
      (TimelineRecordFactory):
      * inspector/TimelineTraceEventProcessor.cpp:
      (WebCore::TimelineRecordStack::TimelineRecordStack):
      (WebCore):
      (WebCore::TimelineRecordStack::addScopedRecord):
      (WebCore::TimelineRecordStack::closeScopedRecord):
      (WebCore::TimelineRecordStack::addInstantRecord):
      (WebCore::TimelineRecordStack::isOpenRecordOfType):
      (WebCore::TimelineRecordStack::send):
      (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
      (WebCore::TimelineTraceEventProcessor::onBeginFrame):
      (WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
      (WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
      (WebCore::TimelineTraceEventProcessor::createRecord):
      * inspector/TimelineTraceEventProcessor.h:
      (TimelineRecordStack):
      (WebCore::TimelineRecordStack::Entry::Entry):
      (Entry):
      (WebCore::TimelineRecordStack::TimelineRecordStack):
      (WebCore):
      (WebCore::TimelineTraceEventProcessor::TimelineThreadState::TimelineThreadState):
      (TimelineThreadState):
      (TimelineTraceEventProcessor):
      (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
      (WebCore::TimelineTraceEventProcessor::TraceEvent::isNull):
      (WebCore::TimelineTraceEventProcessor::threadState):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145809 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f50b52ce
    • commit-queue@webkit.org's avatar
      [GTK] Wrong ASSERT in AudioDestinationGstreamer::stop · 692a6089
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112344
      
      Patch by Xan Lopez <xlopez@igalia.com> on 2013-03-14
      Reviewed by Philippe Normand.
      
      Correct erroneous ASSERT, we want both member variables to exist.
      
      * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
      (WebCore::AudioDestinationGStreamer::stop):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      692a6089
    • loislo@chromium.org's avatar
      Web Inspector: Flame Chart. Support scroll and zoom with help of mouse wheel. · fae30137
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112337
      
      Reviewed by Yury Semikhatsky.
      
      New member variable _xOffset were introduced.
      
      * inspector/front-end/FlameChart.js:
      (WebInspector.FlameChart):
      (WebInspector.FlameChart.prototype._onMouseMove):
      (WebInspector.FlameChart.prototype._adjustXOffset):
      (WebInspector.FlameChart.prototype._adjustXScale):
      (WebInspector.FlameChart.prototype._onMouseWheel):
      (WebInspector.FlameChart.prototype._coordinatesToNodeIndex):
      (WebInspector.FlameChart.prototype.onResize):
      (WebInspector.FlameChart.prototype.draw):
      (WebInspector.FlameChart.prototype._scheduleUpdate):
      (WebInspector.FlameChart.prototype.update):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145807 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fae30137
    • kbalazs@webkit.org's avatar
      [Texmap] Synchronize layers only if the layer has been changed. · bd8ce398
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112095
      
      Patch by No'am Rosenthal <noam@webkit.org> on 2013-03-14
      Reviewed by Allan Sandfeld Jensen.
      
      A regression was introduced in r144787, causing an infinite IPC commitState/renderNextFrame
      loop.
      This patch fixes this by making sure we only commit layer states that have actual pending
      changes.
      
      No new tests, this is an optimization.
      
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
      (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
      (CoordinatedGraphicsLayerState):
      (WebCore::CoordinatedGraphicsLayerState::hasPendingChanges):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd8ce398
    • hausmann@webkit.org's avatar
      [Qt] Improve the handling of mock geolocation, device orientation and motion clients · f54d2522
      hausmann@webkit.org authored
      Reviewed by Tor Arne Vestbø.
      
      The mock versions of these web facing features should be instantiated when
      running in DumpRenderTree only. In order for them to work, no extra Qt modules
      such as QtLocation are actually needed.
      
      This patch decouples enabling device orientation/motion and geolocation from
      the underlying Qt modules and makes them available in developer builds
      (!production_build) and backed by mock backends when running in drt.
      
      So if the Qt 5 modules are available, they'll be used (unless drtRun). For
      developers the web facing features are always enabled (although requests will
      time out) and the mock backends are enabled inside DRT, allowing for the layout
      tests to run with less dependencies.
      
      In addition this also enables the mock device motion client, which was
      previously never instantiated.
      
      .:
      
      * Source/widgetsapi.pri:
      
      Source/WebCore:
      
      * Target.pri:
      * WebCore.pri:
      
      Source/WebKit:
      
      * WebKit1.pri:
      * WebKit1.pro:
      
      Source/WebKit/qt:
      
      * WebCoreSupport/QWebFrameAdapter.cpp:
      (QWebFrameAdapter::_q_orientationChanged):
      * WebCoreSupport/QWebFrameAdapter.h:
      * WebCoreSupport/QWebPageAdapter.cpp:
      (QWebPageAdapter::initializeWebCorePage):
      * WebCoreSupport/QWebPageAdapter.h:
      * WidgetApi/qwebframe.cpp:
      (QWebFrame::QWebFrame):
      * WidgetApi/qwebpage.cpp:
      (QWebPage::setFeaturePermission):
      
      Source/WebKit2:
      
      * Target.pri:
      * UIProcess/qt/WebContextQt.cpp:
      (WebKit::WebContext::platformInitializeWebProcess):
      * UIProcess/qt/WebGeolocationProviderQt.cpp:
      * WebKit2.pri:
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      
      Tools:
      
      * qmake/mkspecs/features/features.prf:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f54d2522
    • zeno.albisser@digia.com's avatar
      [Qt] Removing no-ops and simple setters/getters from TestRunnerQt · 8abe6e20
      zeno.albisser@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112340
      
      Reviewed by Simon Hausmann.
      
      * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
      (DumpRenderTree::dump):
          Replace shouldDumpBackForwardList() with TestController:dumpBackForwardList().
      (DumpRenderTree::dumpApplicationCacheQuota):
      * DumpRenderTree/qt/TestRunnerQt.cpp:
      (TestRunnerQt::reset):
      * DumpRenderTree/qt/TestRunnerQt.h:
      (TestRunnerQt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8abe6e20
    • allan.jensen@digia.com's avatar
      [TexMap] Painting into area of composited tile not cleared · 60d83da0
      allan.jensen@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112268
      
      Reviewed by Kenneth Rohde Christiansen.
      
      Clip painting to the area that has been cleared, so we
      do not accidentally overpaint other areas.
      
      Can be observed in ManualTests/scrollbars/scrollbars-in-composited-layers.html.
      
      * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
      (WebCore::BitmapTextureImageBuffer::updateContents):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60d83da0
    • commit-queue@webkit.org's avatar
      [V8] Store main world and non-main world templates separately. · 03582602
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111724
      
      Patch by Marja Hölttä <marja@chromium.org> on 2013-03-14
      Reviewed by Jochen Eisinger.
      
      This is needed for generating specialized bindings for the main
      world (bug 110874).
      
      Source/WebCore:
      
      No new tests (updated existing bindings tests).
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateHeader):
      (GenerateDomainSafeFunctionGetter):
      (GenerateNormalAttrSetter):
      (GenerateParametersCheckExpression):
      (GenerateParametersCheck):
      (GenerateImplementation):
      (JSValueToNative):
      (CreateCustomSignature):
      * bindings/scripts/test/V8/V8Float64Array.cpp:
      (WebCore::Float64ArrayV8Internal::fooMethod):
      (WebCore::ConfigureV8Float64ArrayTemplate):
      (WebCore::V8Float64Array::GetTemplate):
      (WebCore::V8Float64Array::HasInstance):
      * bindings/scripts/test/V8/V8Float64Array.h:
      (V8Float64Array):
      * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
      (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
      (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
      (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
      (WebCore::V8TestActiveDOMObject::GetTemplate):
      (WebCore::V8TestActiveDOMObject::HasInstance):
      * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
      (V8TestActiveDOMObject):
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
      (WebCore::V8TestCustomNamedGetter::GetTemplate):
      (WebCore::V8TestCustomNamedGetter::HasInstance):
      * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
      (V8TestCustomNamedGetter):
      * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
      (WebCore::V8TestEventConstructor::GetTemplate):
      (WebCore::V8TestEventConstructor::HasInstance):
      * bindings/scripts/test/V8/V8TestEventConstructor.h:
      (V8TestEventConstructor):
      * bindings/scripts/test/V8/V8TestEventTarget.cpp:
      (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
      (WebCore::ConfigureV8TestEventTargetTemplate):
      (WebCore::V8TestEventTarget::GetTemplate):
      (WebCore::V8TestEventTarget::HasInstance):
      * bindings/scripts/test/V8/V8TestEventTarget.h:
      (V8TestEventTarget):
      * bindings/scripts/test/V8/V8TestException.cpp:
      (WebCore::V8TestException::GetTemplate):
      (WebCore::V8TestException::HasInstance):
      * bindings/scripts/test/V8/V8TestException.h:
      (V8TestException):
      * bindings/scripts/test/V8/V8TestInterface.cpp:
      (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
      (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
      (WebCore::ConfigureV8TestInterfaceTemplate):
      (WebCore::V8TestInterface::GetTemplate):
      (WebCore::V8TestInterface::HasInstance):
      * bindings/scripts/test/V8/V8TestInterface.h:
      (V8TestInterface):
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
      (WebCore::V8TestMediaQueryListListener::GetTemplate):
      (WebCore::V8TestMediaQueryListListener::HasInstance):
      * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
      (V8TestMediaQueryListListener):
      * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
      (WebCore::V8TestNamedConstructor::GetTemplate):
      (WebCore::V8TestNamedConstructor::HasInstance):
      * bindings/scripts/test/V8/V8TestNamedConstructor.h:
      (V8TestNamedConstructor):
      * bindings/scripts/test/V8/V8TestNode.cpp:
      (WebCore::V8TestNode::GetTemplate):
      (WebCore::V8TestNode::HasInstance):
      * bindings/scripts/test/V8/V8TestNode.h:
      (V8TestNode):
      * bindings/scripts/test/V8/V8TestObj.cpp:
      (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
      (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
      (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
      (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
      (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
      (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
      (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
      (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
      (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
      (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
      (WebCore::TestObjV8Internal::mutablePointAttrSetter):
      (WebCore::TestObjV8Internal::immutablePointAttrSetter):
      (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
      (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
      (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
      (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
      (WebCore::TestObjV8Internal::overloadedMethod1Method):
      (WebCore::TestObjV8Internal::overloadedMethod2Method):
      (WebCore::TestObjV8Internal::overloadedMethod8Method):
      (WebCore::TestObjV8Internal::overloadedMethodMethod):
      (WebCore::TestObjV8Internal::convert1Method):
      (WebCore::TestObjV8Internal::convert2Method):
      (WebCore::TestObjV8Internal::convert4Method):
      (WebCore::TestObjV8Internal::convert5Method):
      (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
      (WebCore::ConfigureV8TestObjTemplate):
      (WebCore::V8TestObj::GetTemplate):
      (WebCore::V8TestObj::HasInstance):
      * bindings/scripts/test/V8/V8TestObj.h:
      (V8TestObj):
      * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
      (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
      (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
      (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
      (WebCore::TestOverloadedConstructorsV8Internal::constructor):
      (WebCore::V8TestOverloadedConstructors::GetTemplate):
      (WebCore::V8TestOverloadedConstructors::HasInstance):
      * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
      (V8TestOverloadedConstructors):
      * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
      (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
      (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
      * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
      (V8TestSerializedScriptValueInterface):
      * bindings/scripts/test/V8/V8TestTypedefs.cpp:
      (WebCore::TestTypedefsV8Internal::funcMethod):
      (WebCore::ConfigureV8TestTypedefsTemplate):
      (WebCore::V8TestTypedefs::GetTemplate):
      (WebCore::V8TestTypedefs::HasInstance):
      * bindings/scripts/test/V8/V8TestTypedefs.h:
      (V8TestTypedefs):
      * bindings/v8/Dictionary.cpp:
      (WebCore::Dictionary::get):
      * bindings/v8/ScriptProfiler.cpp:
      (WebCore::ScriptProfiler::visitNodeWrappers):
      * bindings/v8/SerializedScriptValue.cpp:
      * bindings/v8/V8AdaptorFunction.cpp:
      (WebCore::V8AdaptorFunction::getTemplate):
      * bindings/v8/V8Binding.cpp:
      (WebCore::toDOMStringList):
      (WebCore::toXPathNSResolver):
      * bindings/v8/V8Binding.h:
      (WebCore):
      (WebCore::toRefPtrNativeArray):
      * bindings/v8/V8Collection.cpp:
      (WebCore::toOptionsCollectionSetter):
      * bindings/v8/V8GCController.cpp:
      * bindings/v8/V8NPObject.cpp:
      (WebCore::npObjectInvokeImpl):
      * bindings/v8/V8PerIsolateData.cpp:
      (WebCore::V8PerIsolateData::reportMemoryUsage):
      (WebCore::V8PerIsolateData::hasPrivateTemplate):
      (WebCore::V8PerIsolateData::privateTemplate):
      (WebCore::V8PerIsolateData::rawTemplate):
      (WebCore::V8PerIsolateData::hasInstance):
      * bindings/v8/V8PerIsolateData.h:
      (WebCore::V8PerIsolateData::rawTemplateMap):
      (V8PerIsolateData):
      (WebCore::V8PerIsolateData::templateMap):
      * bindings/v8/V8Utilities.cpp:
      (WebCore::extractTransferables):
      * bindings/v8/custom/V8ArrayBufferViewCustom.h:
      (WebCore::constructWebGLArray):
      (WebCore::setWebGLArrayHelper):
      * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
      (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
      * bindings/v8/custom/V8BlobCustom.cpp:
      (WebCore::V8Blob::constructorCustom):
      * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
      (WebCore::toCanvasStyle):
      * bindings/v8/custom/V8ClipboardCustom.cpp:
      (WebCore::V8Clipboard::setDragImageMethodCustom):
      * bindings/v8/custom/V8CryptoCustom.cpp:
      (WebCore::V8Crypto::getRandomValuesMethodCustom):
      * bindings/v8/custom/V8DOMFormDataCustom.cpp:
      (WebCore::V8DOMFormData::constructorCustom):
      (WebCore::V8DOMFormData::appendMethodCustom):
      * bindings/v8/custom/V8DataViewCustom.cpp:
      (WebCore::V8DataView::constructorCustom):
      * bindings/v8/custom/V8DocumentCustom.cpp:
      (WebCore::V8Document::evaluateMethodCustom):
      * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
      (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
      * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
      (WebCore::V8HTMLOptionsCollection::addMethodCustom):
      * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
      (WebCore::removeElement):
      * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
      (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
      (WebCore::V8InjectedScriptHost::typeMethodCustom):
      (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
      * bindings/v8/custom/V8LocationCustom.cpp:
      (WebCore::V8Location::reloadAttrGetterCustom):
      (WebCore::V8Location::replaceAttrGetterCustom):
      (WebCore::V8Location::assignAttrGetterCustom):
      * bindings/v8/custom/V8NodeCustom.cpp:
      (WebCore::V8Node::insertBeforeMethodCustom):
      (WebCore::V8Node::replaceChildMethodCustom):
      (WebCore::V8Node::removeChildMethodCustom):
      (WebCore::V8Node::appendChildMethodCustom):
      * bindings/v8/custom/V8NodeListCustom.cpp:
      (WebCore::V8NodeList::opaqueRootForGC):
      * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
      (WebCore::toWebGLUniformLocation):
      (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
      (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
      (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
      (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
      (WebCore::vertexAttribAndUniformHelperf):
      (WebCore::uniformHelperi):
      (WebCore::uniformMatrixHelper):
      * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
      (WebCore::isDocumentType):
      (WebCore::V8XMLHttpRequest::sendMethodCustom):
      
      Source/WebKit/chromium:
      
      * src/WebArrayBuffer.cpp:
      (WebKit::WebArrayBuffer::createFromV8Value):
      * src/WebArrayBufferView.cpp:
      (WebKit::WebArrayBufferView::createFromV8Value):
      * src/WebBindings.cpp:
      (WebKit::getRangeImpl):
      (WebKit::getNodeImpl):
      (WebKit::getElementImpl):
      (WebKit::getArrayBufferImpl):
      (WebKit::getArrayBufferViewImpl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03582602
    • mkwst@chromium.org's avatar
      Explicitly send only one report via XSSAuditorDelegate. · 457c67b5
      mkwst@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111964
      
      Reviewed by Adam Barth.
      
      This patch pulls the XSSAuditor report generation out into a separate
      function in XSSAuditorDelegate::generateViolationReport, and moves the
      call to that function into the "have we already notified folks about
      violations on this page?" block. This both clarifies the flow in
      XSSAuditorDelegate::didBlockScript, and ensures that only one violation
      report will be sent per page, which regressed in r145695.
      
      Existing tests verify that reports are generated and sent correctly.
      
      We have no tests for the latter condition: the XSSAuditor tests
      currently verify that a report showed up, but they can't verify that
      no report appeared without sitting around for a few more than a few
      seconds on every run.
      
      * html/parser/XSSAuditorDelegate.cpp:
      (WebCore::XSSAuditorDelegate::generateViolationReport):
          Pull the report generation logic out to this new function.
      (WebCore::XSSAuditorDelegate::didBlockScript):
          Move the report generation call into the block that ensures it only
          executes for the first violation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      457c67b5
    • zeno.albisser@digia.com's avatar
      [Qt] Port DRT to use TestRunner::dumpAsText() · 48bdcf32
      zeno.albisser@digia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112260
      
      Reviewed by Benjamin Poulain.
      
      * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
      (WebCore::DumpRenderTree::open):
      (WebCore::methodNameStringForFailedTest):
          Change parameter from type TestRunnerQt* to TestRunner*.
      (WebCore::DumpRenderTree::dump):
          TestRunnerQt::shouldDumpPixels() always returned true in our case.
          Instead we should rely on TestRunner::generatePixelResults().
      * DumpRenderTree/qt/TestRunnerQt.cpp:
      (TestRunnerQt::reset):
      * DumpRenderTree/qt/TestRunnerQt.h:
      (TestRunnerQt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48bdcf32
    • zarvai@inf.u-szeged.hu's avatar
      [Qt] Unreviewed gardening. · d854d18d
      zarvai@inf.u-szeged.hu authored
      * platform/qt-5.0-wk1/TestExpectations: Skip failing tests after r145784.
      * platform/qt-5.0-wk2/fast/repaint/focus-ring-expected.txt: Removed.
      * platform/qt/fast/repaint/focus-ring-expected.txt: Rebaselining after r145708.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d854d18d
    • sergio@webkit.org's avatar
      Empty list items after drag&drop in contentEditable divs · 962751c6
      sergio@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=110610
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      Perform a cleanup after moving operations. This will mainly prune
      extra placeholders left by the editing algorithms. Also do not
      leave empty <li> when moving them around inside a list element.
      
      Tests: editing/pasteboard/cleanup-on-move.html
             editing/pasteboard/drag-list-item.html
      
      * editing/MoveSelectionCommand.cpp:
      (WebCore::MoveSelectionCommand::doApply): perform
      cleanupAfterDeletion().
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplaceSelectionCommand::insertAsListItems): do not
      insert an empty list item.
      * editing/MoveSelectionCommand.cpp:
      (WebCore::MoveSelectionCommand::doApply):
      * editing/ReplaceSelectionCommand.cpp:
      (WebCore::ReplaceSelectionCommand::insertAsListItems):
      
      LayoutTests:
      
      Some placeholders should not be left after performing a cleanup in
      move operations, this includes the empty list items generated when
      moving around list items inside a list.
      
      I'm also moving drag-list-item.html to editing/pasteboard because
      it fits much better there than under editing/selection.
      
      * editing/pasteboard/cleanup-on-move-expected.txt: Added.
      * editing/pasteboard/cleanup-on-move.html: Added.
      * editing/pasteboard/drag-list-item-expected.txt: Renamed from LayoutTests/editing/selection/drag-list-item-expected.txt.
      * editing/pasteboard/drag-list-item.html: Renamed from LayoutTests/editing/selection/drag-list-item.html.
      * editing/pasteboard/resources/select-and-drag.js: Added.
      (selectAndDragToTarget): Selects nodes and drops them after a target node.
      * editing/pasteboard/drag-drop-list-expected.txt: Removed an empty <li>.
      * editing/pasteboard/paste-list-004-expected.txt: Removed 2 empty <li>.
      * editing/pasteboard/paste-list-004.html: Ditto.
      * editing/selection/4895428-1-expected.txt: Removed a <br>.
      * editing/selection/4895428-4-expected.txt: Ditto.
      * fast/events/ondragenter-expected.txt: Removed a blank line.
      * platform/chromium/fast/events/ondragenter-expected.txt: Ditto.
      * platform/efl/TestExpectations: Added cleanup-on-move.html to the skipped list.
      * platform/mac-wk2/TestExpectations: Ditto.
      * platform/qt/TestExpectations: Ditto.
      * platform/win/fast/events/ondragenter-expected.txt: Removed a blank line.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      962751c6
    • eric@webkit.org's avatar
      Threaded HTML Parser should limit speculation to avoid using too much memory · bcf72510
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112069
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      This is a speculative fix for memory issues seen in:
      https://code.google.com/p/chromium/issues/detail?id=180819
      
      This also fixed https://bugs.webkit.org/show_bug.cgi?id=110546
      as a side-effect of simplifying the m_currentChunk handling.
      
      We now tell the background html parser every time we start
      a chunk on the main thread (instead of end), which greatly
      simplified the checkpoint cleanup code from:
      https://trac.webkit.org/changeset/145277
      
      The cost for this is now we have more messages going to the
      background thread (and postTask acquires a lock to write to the
      message queue).  Chromium has more advanced (lock-less) primatives
      for message posting, which we'll hopefully add to WebKit in
      furture patches.
      
      The outstanding chunks limit has not been tuned.  But it makes sense that
      we should not keeping infinite speculative tokens around for
      large documents with slow-to-load scripts.
      
      * html/parser/BackgroundHTMLInputStream.cpp:
      (WebCore::BackgroundHTMLInputStream::BackgroundHTMLInputStream):
      (WebCore::BackgroundHTMLInputStream::invalidateCheckpointsBefore):
      (WebCore):
      (WebCore::BackgroundHTMLInputStream::rewindTo):
      * html/parser/BackgroundHTMLInputStream.h:
      (BackgroundHTMLInputStream):
      (WebCore::BackgroundHTMLInputStream::outstandingCheckpointCount):
      (Checkpoint):
      (WebCore::BackgroundHTMLInputStream::Checkpoint::isNull):
      (WebCore::BackgroundHTMLInputStream::Checkpoint::clear):
      * html/parser/BackgroundHTMLParser.cpp:
      (WebCore):
      (WebCore::BackgroundHTMLParser::startedChunkWithCheckpoint):
      (WebCore::BackgroundHTMLParser::pumpTokenizer):
      * html/parser/BackgroundHTMLParser.h:
      (BackgroundHTMLParser):
      * html/parser/HTMLDocumentParser.cpp:
      (WebCore::HTMLDocumentParser::validateSpeculations):
      (WebCore::HTMLDocumentParser::discardSpeculationsAndResumeFrom):
      (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
      (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
      (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
      * html/parser/HTMLDocumentParser.h:
      (HTMLDocumentParser):
      
      LayoutTests:
      
      Test that this fixes https://bugs.webkit.org/show_bug.cgi?id=110546 for the threaded parser.
      Ports using the main-thread parser are expected to fail (ASSERT in Debug).
      
      * fast/parser/document-write-partial-entity-before-load-expected.txt: Added.
      * fast/parser/document-write-partial-entity-before-load.html: Added.
      * fast/parser/external-script-document-write-expected.txt: Added.
      * fast/parser/external-script-document-write.html: Added.
      * fast/parser/resources/external-script-document-write.js: Added.
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bcf72510
    • loislo@chromium.org's avatar
      Web Inspector: Flame Chart. Minor changes for the popover. · e039f588
      loislo@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112331
      
      Reviewed by Yury Semikhatsky.
      
      popover timeout needs to be decreased a bit.
      hidePopover call in onMouseMove doesn't necessary.
      We have to keep anchor element unmodified if the hovered item didn't changed.
      
      * inspector/front-end/FlameChart.js:
      (WebInspector.FlameChart):
      (WebInspector.FlameChart.prototype._onMouseMove):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e039f588
    • commit-queue@webkit.org's avatar
      Fix detection of Intel Mac OS X platform on Intel Mac 64-bit · f0531d7c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112312
      
      Patch by Jonathan Liu <net147@gmail.com> on 2013-03-14
      Reviewed by Simon Hausmann.
      
      Source/WebCore:
      
      * platform/gtk/UserAgentGtk.cpp:
      (WebCore::platformVersionForUAString):
      
      Source/WebKit/efl:
      
      * ewk/ewk_settings.cpp:
      (_ewk_settings_webkit_os_version_get):
      
      Source/WebKit/wx:
      
      * WebKitSupport/FrameLoaderClientWx.cpp:
      (WebCore::agentOS):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f0531d7c