1. 14 Mar, 2013 40 commits
    • mhahnenberg@apple.com's avatar
      Objective-C API: Objective-C functions exposed to JavaScript have the wrong... · 9c4b2105
      mhahnenberg@apple.com authored
      Objective-C API: Objective-C functions exposed to JavaScript have the wrong type (object instead of function)
      https://bugs.webkit.org/show_bug.cgi?id=105892
      
      Reviewed by Geoffrey Garen.
      
      Changed ObjCCallbackFunction to subclass JSCallbackFunction which already has all of the machinery to call
      functions using the C API. Since ObjCCallbackFunction is now a JSCell, we changed the old implementation of
      ObjCCallbackFunction to be the internal implementation and keep track of all the proper data so that we 
      don't have to put all of that in the header, which will now be included from C++ files (e.g. JSGlobalObject.cpp).
      
      * API/JSCallbackFunction.cpp: Change JSCallbackFunction to allow subclassing. Originally it was internally
      passing its own Structure up the chain of constructors, but we now want to be able to pass other Structures as well.
      (JSC::JSCallbackFunction::JSCallbackFunction):
      (JSC::JSCallbackFunction::create):
      * API/JSCallbackFunction.h:
      (JSCallbackFunction):
      * API/JSWrapperMap.mm: Changed interface to tryUnwrapBlock.
      (tryUnwrapObjcObject):
      * API/ObjCCallbackFunction.h:
      (ObjCCallbackFunction): Moved into the JSC namespace, just like JSCallbackFunction.
      (JSC::ObjCCallbackFunction::createStructure): Overridden so that the correct ClassInfo gets used since we have 
      a destructor.
      (JSC::ObjCCallbackFunction::impl): Getter for the internal impl.
      * API/ObjCCallbackFunction.mm:
      (JSC::ObjCCallbackFunctionImpl::ObjCCallbackFunctionImpl): What used to be ObjCCallbackFunction is now 
      ObjCCallbackFunctionImpl. It handles the Objective-C specific parts of managing callback functions.
      (JSC::ObjCCallbackFunctionImpl::~ObjCCallbackFunctionImpl):
      (JSC::objCCallbackFunctionCallAsFunction): Same as the old one, but now it casts to ObjCCallbackFunction and grabs the impl 
      rather than using JSObjectGetPrivate.
      (JSC::ObjCCallbackFunction::ObjCCallbackFunction): New bits to allow being part of the JSCell hierarchy.
      (JSC::ObjCCallbackFunction::create):
      (JSC::ObjCCallbackFunction::destroy):
      (JSC::ObjCCallbackFunctionImpl::call): Handles the actual invocation, just like it used to.
      (objCCallbackFunctionForInvocation):
      (tryUnwrapBlock): Changed to check the ClassInfo for inheritance directly, rather than going through the C API call.
      * API/tests/testapi.mm: Added new test to make sure that doing Function.prototype.toString.call(f) won't result in 
      an error when f is an Objective-C method or block underneath the covers.
      * runtime/JSGlobalObject.cpp: Added new Structure for ObjCCallbackFunction.
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::visitChildren):
      * runtime/JSGlobalObject.h:
      (JSGlobalObject):
      (JSC::JSGlobalObject::objcCallbackFunctionStructure):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9c4b2105
    • commit-queue@webkit.org's avatar
      [CSS Exclusions] shape-outside on floats for rounded rectangle shapes · 19687c9c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100299
      
      Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-03-14
      Reviewed by Dirk Schulze.
      
      Adding tests for rounded rectangles. The code already supports them,
      but that was more of a happy accident. These tests makes it more
      likely to stay that way.
      
      * fast/exclusions/resources/rounded-rectangle.js:
      (xOutset): Function to determine the offset for the outside shape.
      (generateShapeOutsideOnFloat): Generate a shape outside on a float.
      (generateSimulatedShapeOutsideOnFloat): Simulate a shape outside on a
          float using a large number of smaller floats.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle-expected.html: Added.
      * fast/exclusions/shape-outside-floats/shape-outside-floats-simple-rounded-rectangle.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145847 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19687c9c
    • aestes@apple.com's avatar
      [WebKit2] Only preprocess sandbox profiles if we're building for the OS X SDK · 25e4fbbb
      aestes@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112330
      
      Reviewed by David Kilzer.
      
      We shouldn't preprocess sandbox profiles just because the computer
      we're building on is a Mac. We should only do it if we're actually
      building for the OS X SDK.
      
      * DerivedSources.make: Check if $PLATFORM_NAME is macosx rather than if
      $OS is MACOS.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145846 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      25e4fbbb
    • weinig@apple.com's avatar
      Support private browsing on a per-page basis · e2d69322
      weinig@apple.com authored
      <rdar://problem/11969491>
      
      Reviewed by Timothy Horton.
      
      Adds WKPageSetOverridePrivateBrowsingEnabled and WKPageGetOverridePrivateBrowsingEnabled.
      
      * Shared/WebPageCreationParameters.cpp:
      (WebKit::WebPageCreationParameters::encode):
      (WebKit::WebPageCreationParameters::decode):
      * Shared/WebPageCreationParameters.h:
      (WebPageCreationParameters):
      * UIProcess/API/C/WKPage.cpp:
      (WKPageSetOverridePrivateBrowsingEnabled):
      (WKPageGetOverridePrivateBrowsingEnabled):
      * UIProcess/API/C/WKPagePrivate.h:
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::WebPageProxy):
      (WebKit::WebPageProxy::creationParameters):
      (WebKit::WebPageProxy::setOverridePrivateBrowsingEnabled):
      * UIProcess/WebPageProxy.h:
      (WebKit::WebPageProxy::overridePrivateBrowsingEnabled):
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      (WebKit::WebPage::updatePreferences):
      (WebKit::WebPage::setOverridePrivateBrowsingEnabled):
      * WebProcess/WebPage/WebPage.h:
      * WebProcess/WebPage/WebPage.messages.in:
      Pipe through.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2d69322
    • commit-queue@webkit.org's avatar
      [chromium] Short scrollbar has empty track rect even when buttons have no size. · 8e384fbb
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=102580
      
      Patch by Robert Flack <flackr@chromium.org> on 2013-03-14
      Reviewed by James Robinson.
      
      When computing the scrollbar track rect, don't assume the button's height is the track width.
      
      Source/WebCore:
      
      Test: platform/chromium/scrollbars/short-scrollbar.html
      Note however that this doesn't expose the bug on any tested platforms and mock scrollbars
      don't use ScrollbarThemeChromium.cpp. Manually running this test on linux chromiumos will
      show the now present scrollbar track and thumb.
      
      * platform/chromium/ScrollbarThemeChromium.cpp:
      (WebCore::ScrollbarThemeChromium::trackRect):
      
      LayoutTests:
      
      * platform/chromium-linux/fast/forms/basic-textareas-expected.png:
      * platform/chromium-linux/fast/forms/basic-textareas-quirks-expected.png:
      * platform/chromium-linux/fast/overflow/overflow-x-y-expected.png:
      * platform/chromium-linux/fast/parser/open-comment-in-textarea-expected.png:
      * platform/chromium-linux/fast/replaced/width100percent-textarea-expected.png:
      * platform/chromium-linux/platform/chromium/scrollbars/short-scrollbar-expected.png: Added.
      * platform/chromium/scrollbars/short-scrollbar-expected.txt: Added.
      * platform/chromium/scrollbars/short-scrollbar.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145844 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8e384fbb
    • commit-queue@webkit.org's avatar
      Web Inspector: Show syntax highlight for application/javascript in Resource Preview tab · d71c82a5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112355
      
      Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-03-14
      Reviewed by Pavel Feldman.
      
      No new tests.
      
      Return canonical mimeType in requestContent method of
      NetworkRequest.js
      
      * inspector/front-end/NetworkRequest.js:
      (WebInspector.NetworkRequest.prototype.requestContent):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d71c82a5
    • mhahnenberg@apple.com's avatar
      Objective-C API: Nested dictionaries are not converted properly in the Objective-C binding · f1279be1
      mhahnenberg@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112377
      
      Reviewed by Oliver Hunt.
      
      Accidental reassignment of the root task in the container conversion logic was causing the last
      array or dictionary processed to be returned in the case of nested containers.
      
      * API/JSValue.mm:
      (containerValueToObject):
      * API/tests/testapi.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1279be1
    • commit-queue@webkit.org's avatar
      [EFL] Use CROSS_PLATFORM_CONTEXT_MENU · cb6e3470
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111877
      
      Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2013-03-14
      Reviewed by Caio Marcelo de Oliveira Filho.
      
      .:
      
      * Source/cmake/OptionsEfl.cmake: add -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1
      
      Source/WebCore:
      
      Now EFL uses the CROSS_PLATFORM_CONTEXT_MENUS
      USE flag. This flag provides a full cross-platform
      representation of a ContextMenu and a ContextMenuItem.
      The embedder can then decide how to show this and neither
      WebCore nor WebCore/platform need to know any platform
      specific code about the menus, even though they could.
      
      No new tests needed, no behavior changes.
      
      * platform/ContextMenu.h:
      (ContextMenu):
      * platform/ContextMenuItem.h:
      (WebCore):
      * platform/PlatformMenuDescription.h:
      (WebCore):
      * platform/efl/ContextMenuEfl.cpp:
      (WebCore::ContextMenu::ContextMenu):
      (WebCore::ContextMenu::getContextMenuItems):
      (WebCore::ContextMenu::createPlatformContextMenuFromItems):
      (WebCore::ContextMenu::platformContextMenu):
      * platform/efl/ContextMenuItemEfl.cpp:
      (WebCore::ContextMenuItem::platformContextMenuItem):
      
      Source/WebKit/efl:
      
      Adjust ContextMenuClient to use the CROSS_PLATFORM_CONTEXT_MENUS USE flag
      by implementing customizeMenu() instead of getCustomMenuFromDefaultItems()
      and by calling coreMenu->items() instead of coreMenu->platformDescription().
      
      * WebCoreSupport/ContextMenuClientEfl.cpp:
      (WebCore::ContextMenuClientEfl::customizeMenu):
      * WebCoreSupport/ContextMenuClientEfl.h:
      (ContextMenuClientEfl):
      * ewk/ewk_contextmenu.cpp:
      (ewk_context_menu_new):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb6e3470
    • jchaffraix@webkit.org's avatar
      [CSS Grid Layout] resolveContentBasedTrackSizingFunctions should iterate over... · fb7ae575
      jchaffraix@webkit.org authored
      [CSS Grid Layout] resolveContentBasedTrackSizingFunctions should iterate over the grid items not the grid tracks
      https://bugs.webkit.org/show_bug.cgi?id=112299
      
      Reviewed by Tony Chang.
      
      Our initial implementation would iterate over the grid tracks. This was equivalent as no items were spanning but
      once grid items spans, they start to contribute to several grid tracks differently. This change aligns our code
      with what the specification does.
      
      One upside of doing a grid items' iteration is that the complexity should be better in all cases as we don't do
      a full grid walking (which is potentially quadratic), only some extra grid tracks' iteration (which are linear).
      
      Refactoring, there should be no change in behavior.
      
      * rendering/RenderGrid.cpp:
      (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
      Moved the |availableLogicalSpace| update into resolveContentBasedTrackSizingFunctions. This simplifies and consolidate our handling.
      
      (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
      Updated the core loop to iterator over grid items and not grid tracks. This idea is that now resolveContentBasedTrackSizingFunctionsForItems
      uses a filtering function to only process the appropriate grid tracks.
      
      (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
      Updated to filter the grid tracks here (this matches the |TracksForGrowth| spec logic that is merely a filtering function).
      
      * rendering/RenderGrid.h:
      Added a new typedef and updated resolveContentBasedTrackSizingFunctionsForItems to use it.
      
      * rendering/style/GridTrackSize.h:
      (WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth):
      (WebCore::GridTrackSize::hasMaxContentMinTrackBreadth):
      (WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth):
      (WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth):
      Added the following filtering function, which matches the values from |TracksForGrowth| in the specification.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fb7ae575
    • 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